nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, lib, fetchurl, gnum4 }:
2
3stdenv.mkDerivation rec {
4 pname = "adns";
5 version = "1.6.0";
6
7 src = fetchurl {
8 urls = [
9 "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-${version}.tar.gz"
10 "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
11 "mirror://gnu/adns/adns-${version}.tar.gz"
12 ];
13 sha256 = "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv";
14 };
15
16 nativeBuildInputs = [ gnum4 ];
17
18 configureFlags = lib.optional stdenv.hostPlatform.isStatic "--disable-dynamic";
19
20 preConfigure =
21 lib.optionalString stdenv.isDarwin "sed -i -e 's|-Wl,-soname=$(SHLIBSONAME)||' configure";
22
23 # Autogenerated headers miss interdependencies in Makefile, fail parallel build:
24 # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51329
25 enableParallelBuilding = false;
26
27 # https://www.mail-archive.com/nix-dev@cs.uu.nl/msg01347.html for details.
28 doCheck = false;
29
30 postInstall = let suffix = lib.versions.majorMinor version;
31 in lib.optionalString stdenv.isDarwin ''
32 install_name_tool -id $out/lib/libadns.so.${suffix} $out/lib/libadns.so.${suffix}
33 '';
34
35 # darwin executables fail, but I don't want to fail the 100-500 packages depending on this lib
36 doInstallCheck = !stdenv.isDarwin;
37 installCheckPhase = ''
38 set -eo pipefail
39
40 for prog in $out/bin/*; do
41 $prog --help > /dev/null && echo $(basename $prog) shows usage
42 done
43 '';
44
45 meta = with lib; {
46 homepage = "http://www.chiark.greenend.org.uk/~ian/adns/";
47 description = "Asynchronous DNS Resolver Library";
48 license = licenses.lgpl2;
49
50 platforms = platforms.unix;
51 };
52}