about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorWolfgang Walther <walther@technowledgy.de>2024-02-29 14:05:47 +0100
committerWolfgang Walther <walther@technowledgy.de>2024-03-15 18:51:02 +0100
commit62635c9643b6b44d621508324fdc200d46222382 (patch)
treec41d825ad1535676d2ef15803469ac566978047e /pkgs/servers
parent1d9f2bd7266d46b2f3abaefb5fadba26f0eb8e1a (diff)
downloadnixlib-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.nix62
-rw-r--r--pkgs/servers/sql/postgresql/generic.nix2
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