From 943baed7885c0fd7e841a0c1594ea044bb21e77f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Sun, 21 Jul 2019 21:13:06 +0200 Subject: [PATCH] postgresql: Make systemd support configurable. See #61580. (#61581) On by default, as was before. The systemd dependency means that all libraries or applications using only libpq will also pull systemd into their closures. Further, no application or library using libpq can be built against musl, as systemd relies on glibc-only features and thus does not build with musl. With it being configurable, packages that need only the library can at least turn it off to reduce their closure size. --- pkgs/servers/sql/postgresql/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 774ed62a11a3b..6e2c928837c6a 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -6,6 +6,9 @@ let , glibc, zlib, readline, openssl, icu, systemd, libossp_uuid , pkgconfig, libxml2, tzdata + # This is important to obtain a version of `libpq` that does not depend on systemd. + , enableSystemd ? (lib.versionAtLeast "9.6" version && !stdenv.isDarwin) + # for postgreql.pkgs , this, self, newScope, buildEnv @@ -31,7 +34,7 @@ let buildInputs = [ zlib readline openssl libxml2 makeWrapper ] ++ lib.optionals icuEnabled [ icu ] - ++ lib.optionals (atLeast "9.6" && !stdenv.isDarwin) [ systemd ] + ++ lib.optionals enableSystemd [ systemd ] ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ]; nativeBuildInputs = lib.optionals icuEnabled [ pkgconfig ]; @@ -51,7 +54,7 @@ let "--sysconfdir=/etc" "--libdir=$(lib)/lib" "--with-system-tzdata=${tzdata}/share/zoneinfo" - (lib.optionalString (atLeast "9.6" && !stdenv.isDarwin) "--with-systemd") + (lib.optionalString enableSystemd "--with-systemd") (if stdenv.isDarwin then "--with-uuid=e2fs" else "--with-ossp-uuid") ] ++ lib.optionals icuEnabled [ "--with-icu" ];