|
|
|
@ -1,9 +1,14 @@ |
|
|
|
|
{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper, tzdata, systemd }: |
|
|
|
|
{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper, tzdata, systemd, icu, pkgconfig }: |
|
|
|
|
|
|
|
|
|
let |
|
|
|
|
|
|
|
|
|
common = { version, sha256, psqlSchema }: |
|
|
|
|
let atLeast = lib.versionAtLeast version; in stdenv.mkDerivation (rec { |
|
|
|
|
let |
|
|
|
|
atLeast = lib.versionAtLeast version; |
|
|
|
|
|
|
|
|
|
# Build with ICU by default on versions that support it |
|
|
|
|
icuEnabled = atLeast "10"; |
|
|
|
|
in stdenv.mkDerivation (rec { |
|
|
|
|
name = "postgresql-${version}"; |
|
|
|
|
inherit version; |
|
|
|
|
|
|
|
|
@ -17,9 +22,12 @@ let |
|
|
|
|
|
|
|
|
|
buildInputs = |
|
|
|
|
[ zlib readline openssl libxml2 makeWrapper ] |
|
|
|
|
++ lib.optionals icuEnabled [ icu ] |
|
|
|
|
++ lib.optionals (atLeast "9.6" && !stdenv.isDarwin) [ systemd ] |
|
|
|
|
++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ]; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = lib.optionals icuEnabled [ pkgconfig ]; |
|
|
|
|
|
|
|
|
|
enableParallelBuilding = !stdenv.isDarwin; |
|
|
|
|
|
|
|
|
|
makeFlags = [ "world" ]; |
|
|
|
@ -37,7 +45,7 @@ let |
|
|
|
|
"--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") |
|
|
|
|
]; |
|
|
|
|
] ++ lib.optionals icuEnabled [ "--with-icu" ]; |
|
|
|
|
|
|
|
|
|
patches = |
|
|
|
|
[ (if atLeast "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch) |
|
|
|
|