summary refs log tree commit diff
path: root/pkgs/development/dhall-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/dhall-modules')
-rw-r--r--pkgs/development/dhall-modules/Prelude.nix70
-rw-r--r--pkgs/development/dhall-modules/dhall-kubernetes.nix37
-rw-r--r--pkgs/development/dhall-modules/dhall-packages.nix86
-rw-r--r--pkgs/development/dhall-modules/lib.nix25
4 files changed, 89 insertions, 129 deletions
diff --git a/pkgs/development/dhall-modules/Prelude.nix b/pkgs/development/dhall-modules/Prelude.nix
index 6af08edf88a..36bfda403c8 100644
--- a/pkgs/development/dhall-modules/Prelude.nix
+++ b/pkgs/development/dhall-modules/Prelude.nix
@@ -1,59 +1,11 @@
-{ buildDhallGitHubPackage, lib }:
-
-let
-  makePrelude =
-    version: { rev, sha256 }:
-      buildDhallGitHubPackage {
-        name      = "Prelude-${version}";
-        owner     = "dhall-lang";
-        repo      = "dhall-lang";
-        directory = "Prelude";
-        file      = "package.dhall";
-
-        inherit rev sha256;
-      };
-
-in
-  lib.mapAttrs makePrelude {
-    # Prelude versions older than 7.0.0 use old-style union literals, which are
-    # no longer supported by the latest version of the standard
-    "7.0.0" = {
-      rev    = "f0509b403ace4b8a72ebb5fa9c473b9aeabeaf33";
-      sha256 = "00ldlvqfh411vnrnc41zfnlvgfanwfd3l8hdia8kni3r8q9qmd71";
-    };
-
-    "8.0.0" = {
-      rev    = "136a3491753fef251b2087031617d1ee1053f285";
-      sha256 = "0haxd5dhi5bmg06a0hx1blpivmwrcnndydwagibj3zvch4knyi2q";
-    };
-
-    "9.0.0" = {
-      rev    = "6cbf57c946e7e6576babc23a38320e53ecfa6bee";
-      sha256 = "1r06fijszyifq5b4j6libwkm06g8693m9n5c4kq61dvzrjfd2gim";
-    };
-
-    "10.0.0" = {
-      rev    = "ecbf82785cff406bbd162bbabf3df6f817c805e0";
-      sha256 = "0gxkr9649jqpykdzqjc98gkwnjry8wp469037brfghyidwsm021m";
-    };
-
-    "11.0.0" = {
-      rev    = "8098184d17c3aecc82674a7b874077a7641be05a";
-      sha256 = "0rdvyxq7mvas82wsfzzpk6imzm8ax4q58l522mx0ks69pacpr3yi";
-    };
-
-    "11.1.0" = {
-      rev    = "31e90e1996f6c4cb50e03ccb1f3c45beb4bd278c";
-      sha256 = "0rdvyxq7mvas82wsfzzpk6imzm8ax4q58l522mx0ks69pacpr3yi";
-    };
-
-    "12.0.0" = {
-      rev    = "9f248138f69ee5e22192dc3d0417d5c77b189e04";
-      sha256 = "1gbr0376sfamp0ibhcbxz4vaxr6ipv42y42p5wyksfhz3ls9x5ph";
-    };
-
-    "13.0.0" = {
-      rev    = "48db9e1ff1f8881fa4310085834fbc19e313ebf0";
-      sha256 = "0kg3rzag3irlcldck63rjspls614bc2sbs3zq44h0pzcz9v7z5h9";
-    };
-  }
+{ buildDhallGitHubPackage }:
+
+buildDhallGitHubPackage {
+  name      = "Prelude-13.0.0";
+  owner     = "dhall-lang";
+  repo      = "dhall-lang";
+  directory = "Prelude";
+  file      = "package.dhall";
+  rev       = "48db9e1ff1f8881fa4310085834fbc19e313ebf0";
+  sha256    = "0kg3rzag3irlcldck63rjspls614bc2sbs3zq44h0pzcz9v7z5h9";
+}
diff --git a/pkgs/development/dhall-modules/dhall-kubernetes.nix b/pkgs/development/dhall-modules/dhall-kubernetes.nix
index 2de89d63ec3..337ae474daf 100644
--- a/pkgs/development/dhall-modules/dhall-kubernetes.nix
+++ b/pkgs/development/dhall-modules/dhall-kubernetes.nix
@@ -1,27 +1,10 @@
-{ buildDhallGitHubPackage, lib }:
-
-let
-  makeDhallKubernetes =
-    version: { rev, sha256 }:
-      buildDhallGitHubPackage {
-        name  = "dhall-kubernetes-${version}";
-        owner = "dhall-lang";
-        repo  = "dhall-kubernetes";
-        file  = "package.dhall";
-
-        inherit rev sha256;
-      };
-
-in
-  lib.mapAttrs makeDhallKubernetes {
-    # 2.1.0 was the first version to introduce a top-level `package.dhall` file
-    "2.1.0" = {
-      rev    = "bbfec3d8548b605f1c9628f34029ab4a7d928839";
-      sha256 = "10zkigj05khiy6w2sqcm5nw7d47r5k52xq8np8q86h0phy798g96";
-    };
-
-    "3.0.0" = {
-      rev    = "3c6d09a9409977cdde58a091d76a6d20509ca4b0";
-      sha256 = "1r4awh770ghsrwabh5ddy3jpmrbigakk0h32542n1kh71w3cdq1h";
-    };
-  }
+{ buildDhallGitHubPackage }:
+
+buildDhallGitHubPackage {
+  name   = "dhall-kubernetes-3.0.0";
+  owner  = "dhall-lang";
+  repo   = "dhall-kubernetes";
+  file   = "package.dhall";
+  rev    = "3c6d09a9409977cdde58a091d76a6d20509ca4b0";
+  sha256 = "1r4awh770ghsrwabh5ddy3jpmrbigakk0h32542n1kh71w3cdq1h";
+}
diff --git a/pkgs/development/dhall-modules/dhall-packages.nix b/pkgs/development/dhall-modules/dhall-packages.nix
index 866b689e38a..989531db8da 100644
--- a/pkgs/development/dhall-modules/dhall-packages.nix
+++ b/pkgs/development/dhall-modules/dhall-packages.nix
@@ -1,51 +1,51 @@
-{ buildDhallGitHubPackage, dhall-kubernetes, lib, Prelude }:
+{ buildDhallGitHubPackage, dhall-kubernetes, Prelude }:
 
 let
-  makeDhallPackages =
-    version: { rev, sha256, dependencies }:
-      buildDhallGitHubPackage {
-        name  = "dhall-packages-${version}";
-        owner = "EarnestResearch";
-        repo  = "dhall-packages";
-        file  = "package.dhall";
+  Prelude_12_0_0 = Prelude.overridePackage {
+    name = "Prelude-12.0.0";
+    rev    = "9f248138f69ee5e22192dc3d0417d5c77b189e04";
+    sha256 = "1gbr0376sfamp0ibhcbxz4vaxr6ipv42y42p5wyksfhz3ls9x5ph";
+  };
 
-        inherit rev sha256 dependencies;
-      };
+  kubernetes = {
+    "6a47bd" = dhall-kubernetes.overridePackage {
+      name   = "dhall-kubernetes-6a47bd";
+      rev    = "6a47bd50c4d3984a13570ea62382a3ad4a9919a4";
+      sha256 = "1azqs0x2kia3xw93rfk2mdi8izd7gy9aq6qzbip32gin7dncmfhh";
+    };
 
-in
-  lib.mapAttrs makeDhallPackages {
-    "0.11.1" =
-      let
-        k8s_6a47bd = dhall-kubernetes.override {
-          rev    = "6a47bd50c4d3984a13570ea62382a3ad4a9919a4";
-          sha256 = "1azqs0x2kia3xw93rfk2mdi8izd7gy9aq6qzbip32gin7dncmfhh";
-        };
-
-        k8s_4ad581 = dhall-kubernetes.override {
-          rev    = "4ad58156b7fdbbb6da0543d8b314df899feca077";
-          sha256 = "12fm70qbhcainxia388svsay2cfg9iksc6mss0nvhgxhpypgp8r0";
-        };
+    "4ad581" = dhall-kubernetes.overridePackage {
+      name   = "dhall-kubernetes-4ad581";
+      rev    = "4ad58156b7fdbbb6da0543d8b314df899feca077";
+      sha256 = "12fm70qbhcainxia388svsay2cfg9iksc6mss0nvhgxhpypgp8r0";
+    };
 
-        k8s_fee24c = dhall-kubernetes.override {
-          rev    = "fee24c0993ba0b20190e2fdb94e386b7fb67252d";
-          sha256 = "11d93z8y0jzrb8dl43gqha9z96nxxqkl7cbxpz8hw8ky9x6ggayk";
-        };
+    "fee24c" = dhall-kubernetes.overridePackage {
+      name   = "dhall-kubernetes-fee24c";
+      rev    = "fee24c0993ba0b20190e2fdb94e386b7fb67252d";
+      sha256 = "11d93z8y0jzrb8dl43gqha9z96nxxqkl7cbxpz8hw8ky9x6ggayk";
+    };
+  };
 
-      in
-        { rev    = "8d228f578fbc7bb16c04a7c9ac8c6c7d2e13d1f7";
-          sha256 = "1v4y1x13lxy6cxf8xqc6sb0mc4mrd4frkxih95v9q2wxw4vkw2h7";
+in
+  buildDhallGitHubPackage {
+    name   = "dhall-packages-0.11.1";
+    owner  = "EarnestResearch";
+    repo   = "dhall-packages";
+    file   = "package.dhall";
+    rev    = "8d228f578fbc7bb16c04a7c9ac8c6c7d2e13d1f7";
+    sha256 = "1v4y1x13lxy6cxf8xqc6sb0mc4mrd4frkxih95v9q2wxw4vkw2h7";
 
-          dependencies = [
-            (k8s_6a47bd.override { file = "1.14/package.dhall"; })
-            (k8s_6a47bd.override { file = "1.15/package.dhall"; })
-            (k8s_6a47bd.override { file = "1.16/package.dhall"; })
-            (k8s_4ad581.override { file = "types.dhall"; })
-            (k8s_fee24c.override { file = "types/io.k8s.api.core.v1.ServiceSpec.dhall"; })
-            (k8s_fee24c.override { file = "types/io.k8s.api.core.v1.PodTemplateSpec.dhall"; })
-            Prelude."12.0.0"
-            (Prelude."12.0.0".override { file = "JSON/package.dhall"; })
-            (Prelude."12.0.0".override { file = "JSON/Type"; })
-            (Prelude."12.0.0".override { file = "Map/Type"; })
-          ];
-        };
+    dependencies = [
+      (kubernetes."6a47bd".overridePackage { file = "1.14/package.dhall"; })
+      (kubernetes."6a47bd".overridePackage { file = "1.15/package.dhall"; })
+      (kubernetes."6a47bd".overridePackage { file = "1.16/package.dhall"; })
+      (kubernetes."4ad581".overridePackage { file = "types.dhall"; })
+      (kubernetes."fee24c".overridePackage { file = "types/io.k8s.api.core.v1.ServiceSpec.dhall"; })
+      (kubernetes."fee24c".overridePackage { file = "types/io.k8s.api.core.v1.PodTemplateSpec.dhall"; })
+      Prelude_12_0_0
+      (Prelude_12_0_0.overridePackage { file = "JSON/package.dhall"; })
+      (Prelude_12_0_0.overridePackage { file = "JSON/Type"; })
+      (Prelude_12_0_0.overridePackage { file = "Map/Type"; })
+    ];
   }
diff --git a/pkgs/development/dhall-modules/lib.nix b/pkgs/development/dhall-modules/lib.nix
new file mode 100644
index 00000000000..c1993d0af02
--- /dev/null
+++ b/pkgs/development/dhall-modules/lib.nix
@@ -0,0 +1,25 @@
+{ lib }:
+
+let
+  # This is essentially the same thing as `lib.makeOverridable`, except storing
+  # the override method in a method named `overridePackage` so that it's not
+  # shadowed by the `override` method added by `callPackage`
+  makePackageOverridable = f: args:
+    let
+      result = lib.makeOverridable f args;
+
+      copyArgs = g: lib.setFunctionArgs g (lib.functionArgs f);
+
+      overrideWith =
+        update: args // (if lib.isFunction update then update args else update);
+
+      overridePackage =
+        copyArgs (update: makePackageOverridable f (overrideWith update));
+
+    in
+      result // { inherit overridePackage; };
+
+in
+  lib // {
+    inherit makePackageOverridable;
+  }