From 549ad30497e4f8afdf88d7d36878961848585384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Thu, 16 May 2019 05:16:00 +0200 Subject: [PATCH] postgresql: Make systemd support configurable. See #61580. 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 6e62aee137520..eea94c9c8aed2 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" ];