summary refs log blame commit diff
path: root/pkgs/servers/portmap/default.nix
blob: e53690ebc1131ff9f7555e84d56dee5675dddd65 (plain) (tree)
1
2
3
4
5
6
7
8
                                     
                                                             




                                                
  




                                                                    


                                     




                                                            


                                                                            
 
                                 

                   
                                        



                             






                                                                     

                                               
                                           

    
{ fetchurl, stdenv, lib, tcp_wrappers
, 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";
  };

  patches = [ ./reuse-socket.patch ];

  postPatch = ''
    substituteInPlace "Makefile" --replace "/usr/share" "" \
      --replace "install -o root -g root" "install"
  '';

  makeFlags =
    lib.optional (daemonUser != false) "RPCUSER=\"${daemonUser}\""
    ++ lib.optional (daemonUID != false) "DAEMON_UID=${toString daemonUID}"
    ++ lib.optional (daemonGID != false) "DAEMON_GID=${toString daemonGID}";

  buildInputs = [ tcp_wrappers ];

  installPhase = ''
    mkdir -p "$out/sbin" "$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";
    platforms = stdenv.lib.platforms.linux;
  };
}