aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix44
1 files changed, 33 insertions, 11 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix
index 9b33d53e54f1..b6d9eb3448f5 100644
--- a/infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/tools/networking/unbound/default.nix
@@ -1,17 +1,37 @@
-{ stdenv, fetchurl, openssl, nettle, expat, libevent, dns-root-data }:
+{ stdenv
+, lib
+, fetchurl
+, openssl
+, nettle
+, expat
+, libevent
+, dns-root-data
+, pkg-config
+ #
+ # By default unbound will not be built with systemd support. Unbound is a very
+ # commmon dependency. The transitive dependency closure of systemd also
+ # contains unbound.
+ # Since most (all?) (lib)unbound users outside of the unbound daemon usage do
+ # not need the systemd integration it is likely best to just default to no
+ # systemd integration.
+ # For the daemon use-case, that needs to notify systemd, use `unbound-with-systemd`.
+ #
+, withSystemd ? false
+, systemd ? null
+}:
stdenv.mkDerivation rec {
pname = "unbound";
- version = "1.11.0";
+ version = "1.12.0";
src = fetchurl {
url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
- sha256 = "1xqywn2qdmjjq0csrqxh9p2rnizdrr1f99zdx87z7f3fyyc0fbwz";
+ sha256 = "0daqxzvknvcz7sgag3wcrxhp4a39ik93lsrfpwcl9whjg2lm74jv";
};
outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
- buildInputs = [ openssl nettle expat libevent ];
+ buildInputs = [ openssl nettle expat libevent ] ++ lib.optionals withSystemd [ pkg-config systemd ];
configureFlags = [
"--with-ssl=${openssl.dev}"
@@ -25,6 +45,8 @@ stdenv.mkDerivation rec {
"--enable-relro-now"
] ++ stdenv.lib.optional stdenv.hostPlatform.isStatic [
"--disable-flto"
+ ] ++ lib.optionals withSystemd [
+ "--enable-systemd"
];
installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
@@ -33,7 +55,7 @@ stdenv.mkDerivation rec {
make unbound-event-install
'';
- preFixup = stdenv.lib.optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) # XXX: revisit
+ preFixup = lib.optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) # XXX: revisit
# Build libunbound again, but only against nettle instead of openssl.
# This avoids gnutls.out -> unbound.lib -> openssl.out.
# There was some problem with this on Darwin; let's not complicate non-Linux.
@@ -43,17 +65,17 @@ stdenv.mkDerivation rec {
buildPhase
installPhase
''
- # get rid of runtime dependencies on $dev outputs
+ # get rid of runtime dependencies on $dev outputs
+ ''substituteInPlace "$lib/lib/libunbound.la" ''
- + stdenv.lib.concatMapStrings
- (pkg: " --replace '-L${pkg.dev}/lib' '-L${pkg.out}/lib' --replace '-R${pkg.dev}/lib' '-R${pkg.out}/lib'")
- buildInputs;
+ + lib.concatMapStrings
+ (pkg: lib.optionalString (pkg ? dev) " --replace '-L${pkg.dev}/lib' '-L${pkg.out}/lib' --replace '-R${pkg.dev}/lib' '-R${pkg.out}/lib'")
+ (builtins.filter (p: p != null) buildInputs);
- meta = with stdenv.lib; {
+ meta = with lib; {
description = "Validating, recursive, and caching DNS resolver";
license = licenses.bsd3;
homepage = "https://www.unbound.net";
maintainers = with maintainers; [ ehmry fpletz globin ];
- platforms = stdenv.lib.platforms.unix;
+ platforms = platforms.unix;
};
}