diff --git a/pkgs/tools/networking/nss-mdns/default.nix b/pkgs/tools/networking/nss-mdns/default.nix new file mode 100644 index 000000000000..1aaf0dc5f41d --- /dev/null +++ b/pkgs/tools/networking/nss-mdns/default.nix @@ -0,0 +1,33 @@ +{ fetchurl, stdenv, avahi }: + +stdenv.mkDerivation rec { + name = "nss-mdns-0.10"; + src = fetchurl { + url = "http://0pointer.de/lennart/projects/nss-mdns/${name}.tar.gz"; + sha256 = "0vgs6j0qsl0mwzh5a0m0bykr7x6bx79vnbyn0r3q289rghp3qs0y"; + }; + + configureFlags = "--enable-avahi"; + + # Note: Although `nss-mdns' works by talking to `avahi-daemon', it + # doesn't depend on the Avahi libraries. Instead, it contains + # hand-written D-Bus code to talk to the Avahi daemon. + + buildInput = [ avahi ]; + + patchPhase = '' + substituteInPlace "src/Makefile.in" \ + --replace 'AVAHI_SOCKET=\"$(localstatedir)/run/avahi-daemon/socket\"' \ + 'AVAHI_SOCKET=\"${avahi}/run/avahi-daemon/socket\"' + ''; + + meta = { + description = ''`nss-mdns' is a plugin for the GNU Name Service Switch + (NSS) functionality of the GNU C Library (glibc) providing + host name resolution via Multicast DNS (mDNS), effectively + allowing name resolution by common Unix/Linux programs in + the ad-hoc mDNS domain `.local'.''; + homepage = http://0pointer.de/lennart/projects/nss-mdns/; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0334c0cced54..04675a9463f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -814,6 +814,10 @@ rec { inherit fetchurl stdenv libcap; }; + nssmdns = import ../tools/networking/nss-mdns { + inherit fetchurl stdenv avahi; + }; + openssh = import ../tools/networking/openssh { inherit fetchurl stdenv zlib openssl pam perl; pamSupport = true;