From 14b3ea2789ef6b8bfb39553919708b6b5672ff67 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 2 Mar 2024 14:04:06 +0100 Subject: postgresql: refactor to pass jitSupport/llvm via scope instead of passthru This makes it less error-prone to use the llvm package in extensions, because it will always match the package used by the postgresql derivation itself. Previously, you could've accidentally used llvm instead of postgresql.llvm with a different result. --- pkgs/servers/sql/postgresql/ext/anonymizer.nix | 4 ++-- pkgs/servers/sql/postgresql/ext/plv8/default.nix | 3 ++- pkgs/servers/sql/postgresql/ext/postgis.nix | 4 +++- pkgs/servers/sql/postgresql/generic.nix | 5 ++--- 4 files changed, 9 insertions(+), 7 deletions(-) (limited to 'pkgs') diff --git a/pkgs/servers/sql/postgresql/ext/anonymizer.nix b/pkgs/servers/sql/postgresql/ext/anonymizer.nix index 430911d40108..b6ec0256ae09 100644 --- a/pkgs/servers/sql/postgresql/ext/anonymizer.nix +++ b/pkgs/servers/sql/postgresql/ext/anonymizer.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, pg-dump-anon, postgresql, runtimeShell }: +{ lib, stdenv, pg-dump-anon, postgresql, runtimeShell, jitSupport, llvm }: stdenv.mkDerivation (finalAttrs: { pname = "postgresql_anonymizer"; @@ -6,7 +6,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (pg-dump-anon) version src passthru; buildInputs = [ postgresql ]; - nativeBuildInputs = [ postgresql ] ++ lib.optional postgresql.jitSupport postgresql.llvm; + nativeBuildInputs = [ postgresql ] ++ lib.optional jitSupport llvm; strictDeps = true; diff --git a/pkgs/servers/sql/postgresql/ext/plv8/default.nix b/pkgs/servers/sql/postgresql/ext/plv8/default.nix index 241aa610c8f9..fa2f1b7ad2d8 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8/default.nix +++ b/pkgs/servers/sql/postgresql/ext/plv8/default.nix @@ -4,6 +4,7 @@ , v8 , perl , postgresql +, jitSupport # For test , runCommand , coreutils @@ -138,6 +139,6 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ marsam ]; platforms = [ "x86_64-linux" "aarch64-linux" ]; license = licenses.postgresql; - broken = postgresql.jitSupport; + broken = jitSupport; }; }) diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 87333fe97504..f069a1b7e90d 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -13,6 +13,8 @@ , libiconv , pcre2 , nixosTests +, jitSupport +, llvm }: let @@ -31,7 +33,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 postgresql geos proj gdal json_c protobufc pcre2.dev ] ++ lib.optional stdenv.isDarwin libiconv; - nativeBuildInputs = [ perl pkg-config ] ++ lib.optional postgresql.jitSupport postgresql.llvm; + nativeBuildInputs = [ perl pkg-config ] ++ lib.optional jitSupport llvm; dontDisableStatic = true; # postgis config directory assumes /include /lib from the same root for json-c library diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index cdcffc5f135c..052460da27b2 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -221,7 +221,6 @@ let }; in { - inherit jitSupport; psqlSchema = lib.versions.major version; withJIT = if jitSupport then this else jitToggle; @@ -231,6 +230,8 @@ let pkgs = let scope = { + inherit jitSupport; + inherit (llvmPackages) llvm; postgresql = this; stdenv = stdenv'; buildPgxExtension = buildPgxExtension.override { @@ -257,8 +258,6 @@ let } // lib.optionalAttrs jitSupport { postgresql-jit = nixosTests.postgresql-jit.${thisAttr}; }; - } // lib.optionalAttrs jitSupport { - inherit (llvmPackages) llvm; }; meta = with lib; { -- cgit 1.4.1