diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 0f013ec00f36..127a346dbf14 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -641,76 +641,84 @@ let f: let installedExtensions = f postgresql.pkgs; - finalPackage = buildEnv { - name = "${postgresql.pname}-and-plugins-${postgresql.version}"; - paths = installedExtensions ++ [ - # consider keeping in-sync with `postBuild` below - postgresql - postgresql.man # in case user installs this into environment - ]; + finalPackage = + (buildEnv { + name = "${postgresql.pname}-and-plugins-${postgresql.version}"; + paths = installedExtensions ++ [ + # consider keeping in-sync with `postBuild` below + postgresql + postgresql.man # in case user installs this into environment + ]; - pathsToLink = [ - "/" - "/bin" - "/share/postgresql/extension" - # Unbreaks Omnigres' build system - "/share/postgresql/timezonesets" - "/share/postgresql/tsearch_data" - ]; + pathsToLink = [ + "/" + "/bin" + "/share/postgresql/extension" + # Unbreaks Omnigres' build system + "/share/postgresql/timezonesets" + "/share/postgresql/tsearch_data" + ]; - nativeBuildInputs = [ makeBinaryWrapper ]; - postBuild = - let - args = lib.concatMap (ext: ext.wrapperArgs or [ ]) installedExtensions; - in - '' - wrapProgram "$out/bin/postgres" ${lib.concatStringsSep " " args} + nativeBuildInputs = [ makeBinaryWrapper ]; + postBuild = + let + args = lib.concatMap (ext: ext.wrapperArgs or [ ]) installedExtensions; + in + '' + wrapProgram "$out/bin/postgres" ${lib.concatStringsSep " " args} - mkdir -p "$out/nix-support" - substitute "${lib.getDev postgresql}/nix-support/pg_config.env" "$out/nix-support/pg_config.env" \ - --replace-fail "${postgresql}" "$out" \ - --replace-fail "${postgresql.man}" "$out" - ''; + mkdir -p "$dev/nix-support" + substitute "${lib.getDev postgresql}/nix-support/pg_config.env" "$dev/nix-support/pg_config.env" \ + --replace-fail "${postgresql}" "$out" \ + --replace-fail "${postgresql.man}" "$out" + ''; - passthru = { - inherit installedExtensions; - inherit (postgresql) - pkgs - psqlSchema - version - ; - - pg_config = postgresql.pg_config.override { inherit finalPackage; }; - - withJIT = postgresqlWithPackages { - inherit - buildEnv - lib - makeBinaryWrapper - postgresql + passthru = { + inherit installedExtensions; + inherit (postgresql) + pkgs + psqlSchema + version ; - } (_: installedExtensions ++ [ postgresql.jit ]); - withoutJIT = postgresqlWithPackages { - inherit - buildEnv - lib - makeBinaryWrapper - postgresql - ; - } (_: lib.remove postgresql.jit installedExtensions); - withPackages = - f': - postgresqlWithPackages { + pg_config = postgresql.pg_config.override { inherit finalPackage; }; + + withJIT = postgresqlWithPackages { inherit buildEnv lib makeBinaryWrapper postgresql ; - } (ps: installedExtensions ++ f' ps); - }; - }; + } (_: installedExtensions ++ [ postgresql.jit ]); + withoutJIT = postgresqlWithPackages { + inherit + buildEnv + lib + makeBinaryWrapper + postgresql + ; + } (_: lib.remove postgresql.jit installedExtensions); + + withPackages = + f': + postgresqlWithPackages { + inherit + buildEnv + lib + makeBinaryWrapper + postgresql + ; + } (ps: installedExtensions ++ f' ps); + }; + }).overrideAttrs + { + # buildEnv doesn't support passing `outputs`, so going via overrideAttrs. + outputs = [ + "out" + "dev" + ]; + }; in finalPackage;