postgresql_jit: fix build

Failing Hydra build: https://hydra.nixos.org/build/239477682/nixlog/1

This got fixed upstream already in the release branches, applying the
patches here solves the issue.

This skips v11 since there's no patch available and it will be dropped
soon anyways[1].

[1] #264250
This commit is contained in:
Maximilian Bosch 2023-10-29 23:24:34 +01:00
parent 571f1df5e4
commit 8fbd381b8a
No known key found for this signature in database
GPG Key ID: 9A6EEA275CA5BE0A

View File

@ -37,6 +37,8 @@ let
pname = "postgresql";
stdenv' = if jitSupport then llvmPackages.stdenv else stdenv;
majorVersion = lib.versions.major version;
in stdenv'.mkDerivation (finalAttrs: {
inherit pname version;
@ -110,8 +112,36 @@ let
src = ./locale-binary-path.patch;
locale = "${if stdenv.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale";
})
] ++ lib.optionals stdenv'.hostPlatform.isMusl (
] ++ (let
llvmJITPatches = {
"12" = {
rev = "15ddc9725eb73d97a16652c7c90d993302773544";
hash = "sha256-3dsaN/YTmc9JfIO/eXTr6tUqxMXHih58yhhtCW6Cz4E=";
};
"13" = {
rev = "f28956b239f19858e7c429d3065678ce79c5104b";
hash = "sha256-C31RF6sPYr0iSmGBjKWIq9oPMpLkZ1FIkPGhGANJecU=";
};
"14" = {
rev = "82d9a782a29633a7d2c8c0785e4162a46f93d23b";
hash = "sha256-qDStZ2fQyTnng3sjf502aNLIsqRsa59bpaZLY3cE2BY=";
};
"15" = {
rev = "eed1feb3fee1a558b67b04cbd709f31142f071d5";
hash = "sha256-IflqFi93Pyr/VfgS+jMdI/lYu4ISrgVlInWKueYqpZc=";
};
"16" = {
rev = "74d19ec096dfbda5782e62892de7e86a104f8265";
hash = "sha256-VB1Uc5waS8u5LjtvjLfeZcrHPSxmP2PyRVpMhK9+Xgc=";
};
};
in lib.optional
(jitSupport && llvmJITPatches?${majorVersion})
(fetchpatch {
url = "https://github.com/postgres/postgres/commit/${llvmJITPatches.${majorVersion}.rev}.patch";
inherit (llvmJITPatches.${majorVersion}) hash;
})
) ++ lib.optionals stdenv'.hostPlatform.isMusl (
let
self = {
"12" = {
@ -151,7 +181,7 @@ let
};
};
patchesForVersion = self.${lib.versions.major version} or (throw "no musl patches for postgresql ${version}");
patchesForVersion = self.${majorVersion} or (throw "no musl patches for postgresql ${version}");
in
lib.attrValues patchesForVersion
) ++ lib.optionals stdenv'.isLinux [