diff options
Diffstat (limited to 'pkgs/development/dhall-modules')
-rw-r--r-- | pkgs/development/dhall-modules/Prelude.nix | 77 | ||||
-rw-r--r-- | pkgs/development/dhall-modules/default.nix | 9 | ||||
-rw-r--r-- | pkgs/development/dhall-modules/dhall-kubernetes.nix | 54 | ||||
-rw-r--r-- | pkgs/development/dhall-modules/dhall-packages.nix | 71 | ||||
-rw-r--r-- | pkgs/development/dhall-modules/prelude/v3.nix | 25 |
5 files changed, 202 insertions, 34 deletions
diff --git a/pkgs/development/dhall-modules/Prelude.nix b/pkgs/development/dhall-modules/Prelude.nix new file mode 100644 index 00000000000..53f6bace41c --- /dev/null +++ b/pkgs/development/dhall-modules/Prelude.nix @@ -0,0 +1,77 @@ +{ buildDhallPackage, fetchFromGitHub, lib }: + +let + makePrelude = + version: + lib.makeOverridable + ( { rev, sha256, file ? "package.dhall" }: + buildDhallPackage { + name = "Prelude-${version}"; + + code = + let + src = fetchFromGitHub { + owner = "dhall-lang"; + + repo = "dhall-lang"; + + inherit rev sha256; + }; + + in + "${src}/Prelude/${file}"; + } + ); + +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"; + }; + } diff --git a/pkgs/development/dhall-modules/default.nix b/pkgs/development/dhall-modules/default.nix deleted file mode 100644 index b6632a86f31..00000000000 --- a/pkgs/development/dhall-modules/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs }: - -# TODO: add into the toplevel fixpoint instead of using rec -rec { - - prelude = prelude_3_0_0; - prelude_3_0_0 = pkgs.callPackage ./prelude/v3.nix {}; - -} diff --git a/pkgs/development/dhall-modules/dhall-kubernetes.nix b/pkgs/development/dhall-modules/dhall-kubernetes.nix new file mode 100644 index 00000000000..5bc0e08c69b --- /dev/null +++ b/pkgs/development/dhall-modules/dhall-kubernetes.nix @@ -0,0 +1,54 @@ +{ buildDhallPackage, fetchFromGitHub, lib }: + +let + makeDhallKubernetes = + version: + lib.makeOverridable + ( { rev + , sha256 + + # The version of the Kubernetes OpenAPI spec to use. + # + # This defaults to the latest supported Kubernetes if left unspecified. + # + # This is only supported by dhall-kubernetes version 3.0.0 or newer. + , kubernetesVersion ? null + + , file ? "package.dhall" + }: + buildDhallPackage { + name = "dhall-kubernetes-${version}"; + + code = + let + src = fetchFromGitHub { + owner = "dhall-lang"; + + repo = "dhall-kubernetes"; + + inherit rev sha256; + }; + + prefix = + if kubernetesVersion == null then "" else "${kubernetesVersion}/"; + + in + "${src}/${prefix}${file}"; + } + ); + +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"; + }; + } diff --git a/pkgs/development/dhall-modules/dhall-packages.nix b/pkgs/development/dhall-modules/dhall-packages.nix new file mode 100644 index 00000000000..659c582f3c1 --- /dev/null +++ b/pkgs/development/dhall-modules/dhall-packages.nix @@ -0,0 +1,71 @@ +{ buildDhallPackage, dhall-kubernetes, fetchFromGitHub, lib, Prelude }: + +let + makeDhallPackages = + version: + lib.makeOverridable + ( { rev + , sha256 + , dependencies + }: + buildDhallPackage { + name = "dhall-packages-${version}"; + + inherit dependencies; + + code = + let + src = fetchFromGitHub { + owner = "EarnestResearch"; + + repo = "dhall-packages"; + + inherit rev sha256; + }; + + in + "${src}/package.dhall"; + } + ); + +in + lib.mapAttrs makeDhallPackages { + "0.11.1" = + let + k8s_6a47bd = dhall-kubernetes."3.0.0".override { + rev = "6a47bd50c4d3984a13570ea62382a3ad4a9919a4"; + + sha256 = "1azqs0x2kia3xw93rfk2mdi8izd7gy9aq6qzbip32gin7dncmfhh"; + }; + + k8s_4ad581 = dhall-kubernetes."3.0.0".override { + rev = "4ad58156b7fdbbb6da0543d8b314df899feca077"; + + sha256 = "12fm70qbhcainxia388svsay2cfg9iksc6mss0nvhgxhpypgp8r0"; + }; + + k8s_fee24c = dhall-kubernetes."3.0.0".override { + rev = "fee24c0993ba0b20190e2fdb94e386b7fb67252d"; + + sha256 = "11d93z8y0jzrb8dl43gqha9z96nxxqkl7cbxpz8hw8ky9x6ggayk"; + }; + + in + { rev = "8d228f578fbc7bb16c04a7c9ac8c6c7d2e13d1f7"; + + sha256 = "1v4y1x13lxy6cxf8xqc6sb0mc4mrd4frkxih95v9q2wxw4vkw2h7"; + + dependencies = [ + (k8s_6a47bd.override { kubernetesVersion = "1.14"; }) + (k8s_6a47bd.override { kubernetesVersion = "1.15"; }) + (k8s_6a47bd.override { kubernetesVersion = "1.16"; }) + (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"; }) + ]; + }; + } diff --git a/pkgs/development/dhall-modules/prelude/v3.nix b/pkgs/development/dhall-modules/prelude/v3.nix deleted file mode 100644 index ef673310ceb..00000000000 --- a/pkgs/development/dhall-modules/prelude/v3.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, lib, fetchFromGitHub }: - -stdenv.mkDerivation { - name = "dhall-prelude"; - - src = fetchFromGitHub { - owner = "dhall-lang"; - repo = "dhall-lang"; - # Commit where the v3.0.0 prelude folder was merged into dhall-lang - # and a LICENSE file has been added. - rev = "f6aa9399f1ac831d66c34104abe6856023c5b2df"; - sha256 = "0kqjgh3y1l3cb3rj381j7c09547g1vh2dsfzpm08y1qajhhf9vgf"; - }; - - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - cp -r Prelude $out - ''; - - meta = { - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ Profpatsch ]; - }; -} |