diff options
author | Wolfgang Walther <walther@technowledgy.de> | 2024-02-29 14:05:47 +0100 |
---|---|---|
committer | Wolfgang Walther <walther@technowledgy.de> | 2024-03-15 18:51:02 +0100 |
commit | 62635c9643b6b44d621508324fdc200d46222382 (patch) | |
tree | c41d825ad1535676d2ef15803469ac566978047e /pkgs/servers | |
parent | 1d9f2bd7266d46b2f3abaefb5fadba26f0eb8e1a (diff) | |
download | nixlib-62635c9643b6b44d621508324fdc200d46222382.tar nixlib-62635c9643b6b44d621508324fdc200d46222382.tar.gz nixlib-62635c9643b6b44d621508324fdc200d46222382.tar.bz2 nixlib-62635c9643b6b44d621508324fdc200d46222382.tar.lz nixlib-62635c9643b6b44d621508324fdc200d46222382.tar.xz nixlib-62635c9643b6b44d621508324fdc200d46222382.tar.zst nixlib-62635c9643b6b44d621508324fdc200d46222382.zip |
postgresql: refactor mkPackages in default.nix
Refactors some low hanging fruit in default.nix to make it easier to add new versions later on. Pure refactor, not changing any derivations. This change makes it easier to add new versions in default.nix without messing up - and also prevents us from adding version-specific arguments in default.nix by accident in the future. Those should be put in the versioned .nix files instead.
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/sql/postgresql/default.nix | 62 | ||||
-rw-r--r-- | pkgs/servers/sql/postgresql/generic.nix | 2 |
2 files changed, 23 insertions, 41 deletions
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index fc242d08ec0b..d8acae8787a6 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -1,43 +1,25 @@ +self: let - mkPackages = self: { - postgresql_12 = import ./12.nix { - this = self.postgresql_12; - thisAttr = "postgresql_12"; - inherit self; - }; - - postgresql_13 = import ./13.nix { - this = self.postgresql_13; - thisAttr = "postgresql_13"; - inherit self; - }; - - postgresql_14 = import ./14.nix { - this = self.postgresql_14; - thisAttr = "postgresql_14"; - inherit self; - }; - - postgresql_15 = import ./15.nix { - this = self.postgresql_15; - thisAttr = "postgresql_15"; - inherit self; - }; - - postgresql_16 = import ./16.nix { - this = self.postgresql_16; - thisAttr = "postgresql_16"; - inherit self; - }; + versions = { + postgresql_12 = ./12.nix; + postgresql_13 = ./13.nix; + postgresql_14 = ./14.nix; + postgresql_15 = ./15.nix; + postgresql_16 = ./16.nix; }; -in self: - let packages = mkPackages self; in - packages - // self.lib.mapAttrs' - (attrName: postgres: self.lib.nameValuePair "${attrName}_jit" (postgres.override rec { - jitSupport = true; - thisAttr = "${attrName}_jit"; - this = self.${thisAttr}; - })) - packages + mkAttributes = jitSupport: + self.lib.mapAttrs' (version: path: + let + attrName = if jitSupport then "${version}_jit" else version; + in + self.lib.nameValuePair attrName (import path { + inherit jitSupport self; + thisAttr = attrName; + this = self.${attrName}; + }) + ) versions; + +in +# variations without and with JIT +(mkAttributes false) // (mkAttributes true) diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 2e8054060a3a..f2f13a5fadba 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -21,7 +21,7 @@ let , testers, nixosTests, thisAttr # JIT - , jitSupport ? false + , jitSupport , nukeReferences, patchelf, llvmPackages , makeRustPlatform, buildPgxExtension, cargo, rustc |