about summary refs log tree commit diff
path: root/pkgs/servers/sql/postgresql/default.nix
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2018-11-27 19:16:21 +0000
committerDomen Kožar <domen@dev.si>2018-11-27 19:16:21 +0000
commitd04fedd71500703e86486f31e4a1b1289fb7c081 (patch)
tree6551295e9bf1456d81fc0d370a0d21b38e5c06ae /pkgs/servers/sql/postgresql/default.nix
parentb3fb2d5c1c871a3c154037e14fa0815d1d0891ba (diff)
downloadnixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.tar
nixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.tar.gz
nixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.tar.bz2
nixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.tar.lz
nixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.tar.xz
nixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.tar.zst
nixlib-d04fedd71500703e86486f31e4a1b1289fb7c081.zip
postgresql: Enable systemd integration for 9.6+
This allows, finally, proper detection when postgresql is ready to
accept connections. Until now, it was possible that services depending
on postgresql would fail in a race condition trying to connect
to postgresql.
Diffstat (limited to 'pkgs/servers/sql/postgresql/default.nix')
-rw-r--r--pkgs/servers/sql/postgresql/default.nix6
1 files changed, 4 insertions, 2 deletions
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index dce158ebed9d..c91a9bb8b9ab 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -1,10 +1,11 @@
-{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper, tzdata }:
+{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper, tzdata, systemd }:
 
 let
 
   common = { version, sha256, psqlSchema }:
    let atLeast = lib.versionAtLeast version; in stdenv.mkDerivation (rec {
     name = "postgresql-${version}";
+    inherit version;
 
     src = fetchurl {
       url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
@@ -15,7 +16,7 @@ let
     setOutputFlags = false; # $out retains configureFlags :-/
 
     buildInputs =
-      [ zlib readline openssl libxml2 makeWrapper ]
+      [ zlib readline openssl libxml2 makeWrapper systemd ]
       ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];
 
     enableParallelBuilding = true;
@@ -33,6 +34,7 @@ let
       "--sysconfdir=/etc"
       "--libdir=$(lib)/lib"
       "--with-system-tzdata=${tzdata}/share/zoneinfo"
+      (lib.optionalString (atLeast "9.6" && !stdenv.isDarwin) "--with-systemd")
       (if stdenv.isDarwin then "--with-uuid=e2fs" else "--with-ossp-uuid")
     ];