44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ fetchurl, stdenv, lib, tcpWrapper
 | 
						|
, daemonUser ? false, daemonUID ? false, daemonGID ? false }:
 | 
						|
 | 
						|
assert daemonUser -> (!daemonUID && !daemonGID);
 | 
						|
 | 
						|
stdenv.mkDerivation rec {
 | 
						|
  name = "portmap-6.0";
 | 
						|
  
 | 
						|
  src = fetchurl {
 | 
						|
    url = "http://neil.brown.name/portmap/${name}.tgz";
 | 
						|
    sha256 = "1pj13ll4mbfwjwpn3fbg03qq9im6v2i8fcpa3ffp4viykz9j1j02";
 | 
						|
  };
 | 
						|
 | 
						|
  patchPhase = ''
 | 
						|
    substituteInPlace "Makefile" --replace "/usr/share" "" \
 | 
						|
      --replace "install -o root -g root" "install"
 | 
						|
  '';
 | 
						|
 | 
						|
  makeFlags =
 | 
						|
   lib.concatStringsSep " "
 | 
						|
     (lib.optional (daemonUser != false) "RPCUSER=\"${daemonUser}\""
 | 
						|
      ++ lib.optional (daemonUID != false) "DAEMON_UID=${toString daemonUID}"
 | 
						|
      ++ lib.optional (daemonGID != false) "DAEMON_GID=${toString daemonGID}");
 | 
						|
 | 
						|
  buildInputs = [ tcpWrapper ];
 | 
						|
 | 
						|
  installPhase = ''
 | 
						|
    ensureDir "$out/sbin" && ensureDir "$out/man/man8" && \
 | 
						|
    make install BASEDIR=$out
 | 
						|
  '';
 | 
						|
 | 
						|
  meta = {
 | 
						|
    description = "ONC RPC portmapper";
 | 
						|
    longDescription = ''
 | 
						|
      Portmap is part of the ONC RPC software collection implementing
 | 
						|
      remote procedure calls (RPCs) between computer programs.  It is
 | 
						|
      widely used by NFS and NIS, among others.
 | 
						|
    '';
 | 
						|
 | 
						|
    homepage = http://neil.brown.name/portmap/;
 | 
						|
    license = "BSD";
 | 
						|
  };
 | 
						|
}
 |