58 lines
1.4 KiB
Nix
58 lines
1.4 KiB
Nix
# Creating a separate libpq package is is discussed in
|
|
# https://github.com/NixOS/nixpkgs/issues/61580, but nixpkgs has not moved
|
|
# forward, yet.
|
|
# This package is passed to postgresql-libpq (haskell) which needs to be
|
|
# cross-compiled to the static build and possibly other architectures as
|
|
# as well. To reduce the number of dependencies that need to be built with
|
|
# it, this derivation focuses on building the client libraries only. No
|
|
# server, no tests.
|
|
{ stdenv
|
|
, lib
|
|
, openssl
|
|
, zlib
|
|
, postgresql
|
|
, pkg-config
|
|
, tzdata
|
|
}:
|
|
|
|
stdenv.mkDerivation {
|
|
pname = "libpq";
|
|
inherit (postgresql) src version patches;
|
|
|
|
configureFlags = [
|
|
"--without-gssapi"
|
|
"--without-icu"
|
|
"--without-readline"
|
|
"--with-openssl"
|
|
"--with-system-tzdata=${tzdata}/share/zoneinfo"
|
|
"--sysconfdir=/etc/postgresql"
|
|
];
|
|
|
|
nativeBuildInputs = [ pkg-config tzdata ];
|
|
buildInputs = [ openssl zlib ];
|
|
|
|
buildFlags = [ "submake-libpq" "submake-libpgport" ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
make -C src/bin/pg_config install
|
|
make -C src/common install
|
|
make -C src/include install
|
|
make -C src/interfaces/libpq install
|
|
make -C src/port install
|
|
|
|
rm -rfv $out/share
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
outputs = [ "out" ];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://www.postgresql.org";
|
|
description = "Client API library for PostgreSQL";
|
|
license = licenses.postgresql;
|
|
};
|
|
}
|