nixpkgs/pkgs/development/libraries/ldns/default.nix
Malo Bourgon 9e4be53221 treewide: add meta.mainProgram to some libraries
where a single bin is provided and someone might actually want to run it
2022-05-04 18:11:50 -07:00

52 lines
1.4 KiB
Nix

{ lib, stdenv, fetchurl, openssl, perl, which, dns-root-data }:
stdenv.mkDerivation rec {
pname = "ldns";
version = "1.8.1";
src = fetchurl {
url = "https://www.nlnetlabs.nl/downloads/ldns/${pname}-${version}.tar.gz";
sha256 = "sha256-lYIpq85NOqoZp1wNEnZmVksXIWkCGG6VLKSu9Hxtf6M=";
};
postPatch = ''
patchShebangs doc/doxyparse.pl
'';
outputs = [ "out" "dev" "man" "examples" ];
nativeBuildInputs = [ perl ];
buildInputs = [ openssl ];
configureFlags = [
"--with-ssl=${openssl.dev}"
"--with-trust-anchor=${dns-root-data}/root.key"
"--with-drill"
"--disable-gost"
"--with-examples"
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes"
];
checkInputs = [ which ];
doCheck = false; # fails. missing some files
postInstall = ''
# Only 'drill' stays in $out
# the rest are examples:
moveToOutput "bin/ldns*" "$examples"
# with exception of ldns-config, which goes to $dev:
moveToOutput "bin/ldns-config" "$dev"
'';
meta = with lib; {
description = "Library with the aim of simplifying DNS programming in C";
homepage = "http://www.nlnetlabs.nl/projects/ldns/";
license = licenses.bsd3;
maintainers = with maintainers; [ dtzWill ];
mainProgram = "drill";
platforms = platforms.unix;
};
}