From 8fbd381b8a46988b8e183a3fdd56091b07f26d3a Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 29 Oct 2023 23:24:34 +0100 Subject: [PATCH] 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 --- pkgs/servers/sql/postgresql/default.nix | 36 ++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 6bf881d52815..448715171e41 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -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 [