Browse Source

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.
pleroma
Niklas Hambüchen 2 years ago
committed by Danylo Hlynskyi
parent
commit
943baed788
  1. 7
      pkgs/servers/sql/postgresql/default.nix

7
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" ];

Loading…
Cancel
Save