diff --git a/CHANGELOG.md b/CHANGELOG.md index b54256e552..8263822853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - #3149, Misleading "Starting PostgREST.." logs on schema cache reloading - @steve-chavez + - #2815, Build static executable with GSSAPI support - @wolfgangwalther ### Deprecated diff --git a/nix/libpq.nix b/nix/libpq.nix index ba82d65da1..c45956cbcc 100644 --- a/nix/libpq.nix +++ b/nix/libpq.nix @@ -25,12 +25,13 @@ stdenv.mkDerivation { "--without-gssapi" "--without-icu" "--without-readline" + "--with-gssapi" "--with-openssl" "--with-system-tzdata=${tzdata}/share/zoneinfo" ]; nativeBuildInputs = [ pkg-config tzdata ]; - buildInputs = [ openssl zlib ]; + buildInputs = [ libkrb5 openssl zlib ]; buildFlags = [ "submake-libpq" "submake-libpgport" ]; @@ -48,6 +49,12 @@ stdenv.mkDerivation { runHook postInstall ''; + # To avoid linking errors in the static build with gssapi + postInstall = '' + substituteInPlace $out/lib/pkgconfig/libpq.pc\ + --replace "Requires.private:" "Requires.private: krb5-gssapi," + ''; + outputs = [ "out" ]; meta = with lib; { diff --git a/nix/static.nix b/nix/static.nix index 636134208e..0d14583d10 100644 --- a/nix/static.nix +++ b/nix/static.nix @@ -36,8 +36,11 @@ let # static libs for libpq. nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [ pkgs.pkgsStatic.pkg-config ]; - buildInputs = [ - pkgsStatic.openssl + buildInputs = prevAttrs.buildInputs ++ [ + (pkgsStatic.libkrb5.overrideAttrs (finalAttrs: prevAttrs: { + # disable keyutils dependency, to avoid linking errors + configureFlags = prevAttrs.configureFlags ++ [ "--without-keyutils" ]; + })) ]; }); });