diff options
author | Gabriel Gonzalez <Gabriel439@gmail.com> | 2020-05-09 19:16:06 -0700 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2020-06-17 15:57:21 +0200 |
commit | 459cf94991754d391f7808bbc306f52653298ada (patch) | |
tree | 63793bfff1d73bde5a11205e601a6ecf7f38a1bb /pkgs/development/dhall-modules | |
parent | 2ee84ca8e2adb0ef5b5ea52ad38fe0e107893d3e (diff) | |
download | nixpkgs-459cf94991754d391f7808bbc306f52653298ada.tar nixpkgs-459cf94991754d391f7808bbc306f52653298ada.tar.gz nixpkgs-459cf94991754d391f7808bbc306f52653298ada.tar.bz2 nixpkgs-459cf94991754d391f7808bbc306f52653298ada.tar.lz nixpkgs-459cf94991754d391f7808bbc306f52653298ada.tar.xz nixpkgs-459cf94991754d391f7808bbc306f52653298ada.tar.zst nixpkgs-459cf94991754d391f7808bbc306f52653298ada.zip |
Nixpkgs support for `dhall-to-nixpkgs`
The motivation for this change is to enable a new Dhall command-line utility called `dhall-to-nixpkgs` which converts Dhall packages to buildable Nix packages. You can think of `dhall-to-nixpkgs` as the Dhall analog of `cabal2nix`. You can find the matching pull request for `dhall-to-nixpkgs` here: https://github.com/dhall-lang/dhall-haskell/pull/1826 The two main changes required to support `dhall-to-nixpkgs` are: * Two new `buildDhall{Directory,GitHub}Package` utilities are added `dhall-to-nixpkgs` uses these in the generated output * `pkgs.dhallPackages` now selects a default version for each package using the `prefer` utility All other versions are still buildable via a `passthru` attribute
Diffstat (limited to 'pkgs/development/dhall-modules')
-rw-r--r-- | pkgs/development/dhall-modules/Prelude.nix | 31 | ||||
-rw-r--r-- | pkgs/development/dhall-modules/dhall-kubernetes.nix | 31 | ||||
-rw-r--r-- | pkgs/development/dhall-modules/dhall-packages.nix | 39 |
3 files changed, 32 insertions, 69 deletions
diff --git a/pkgs/development/dhall-modules/Prelude.nix b/pkgs/development/dhall-modules/Prelude.nix index c689f7156fb..6af08edf88a 100644 --- a/pkgs/development/dhall-modules/Prelude.nix +++ b/pkgs/development/dhall-modules/Prelude.nix @@ -1,26 +1,17 @@ -{ buildDhallPackage, fetchFromGitHub, lib }: +{ buildDhallGitHubPackage, 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}"; - } - ); + 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 { diff --git a/pkgs/development/dhall-modules/dhall-kubernetes.nix b/pkgs/development/dhall-modules/dhall-kubernetes.nix index 23a1123eacb..2de89d63ec3 100644 --- a/pkgs/development/dhall-modules/dhall-kubernetes.nix +++ b/pkgs/development/dhall-modules/dhall-kubernetes.nix @@ -1,29 +1,16 @@ -{ buildDhallPackage, fetchFromGitHub, lib }: +{ buildDhallGitHubPackage, lib }: let makeDhallKubernetes = - version: - lib.makeOverridable - ( { rev - , sha256 - , file ? "package.dhall" - }: - buildDhallPackage { - name = "dhall-kubernetes-${version}"; + version: { rev, sha256 }: + buildDhallGitHubPackage { + name = "dhall-kubernetes-${version}"; + owner = "dhall-lang"; + repo = "dhall-kubernetes"; + file = "package.dhall"; - code = - let - src = fetchFromGitHub { - owner = "dhall-lang"; - repo = "dhall-kubernetes"; - - inherit rev sha256; - }; - - in - "${src}/${file}"; - } - ); + inherit rev sha256; + }; in lib.mapAttrs makeDhallKubernetes { diff --git a/pkgs/development/dhall-modules/dhall-packages.nix b/pkgs/development/dhall-modules/dhall-packages.nix index 34ebbed6869..866b689e38a 100644 --- a/pkgs/development/dhall-modules/dhall-packages.nix +++ b/pkgs/development/dhall-modules/dhall-packages.nix @@ -1,47 +1,32 @@ -{ buildDhallPackage, dhall-kubernetes, fetchFromGitHub, lib, Prelude }: +{ buildDhallGitHubPackage, dhall-kubernetes, lib, Prelude }: let makeDhallPackages = - version: - lib.makeOverridable - ( { rev - , sha256 - , dependencies - }: - buildDhallPackage { - name = "dhall-packages-${version}"; + version: { rev, sha256, dependencies }: + buildDhallGitHubPackage { + name = "dhall-packages-${version}"; + owner = "EarnestResearch"; + repo = "dhall-packages"; + file = "package.dhall"; - inherit dependencies; - - code = - let - src = fetchFromGitHub { - owner = "EarnestResearch"; - repo = "dhall-packages"; - - inherit rev sha256; - }; - - in - "${src}/package.dhall"; - } - ); + inherit rev sha256 dependencies; + }; in lib.mapAttrs makeDhallPackages { "0.11.1" = let - k8s_6a47bd = dhall-kubernetes."3.0.0".override { + k8s_6a47bd = dhall-kubernetes.override { rev = "6a47bd50c4d3984a13570ea62382a3ad4a9919a4"; sha256 = "1azqs0x2kia3xw93rfk2mdi8izd7gy9aq6qzbip32gin7dncmfhh"; }; - k8s_4ad581 = dhall-kubernetes."3.0.0".override { + k8s_4ad581 = dhall-kubernetes.override { rev = "4ad58156b7fdbbb6da0543d8b314df899feca077"; sha256 = "12fm70qbhcainxia388svsay2cfg9iksc6mss0nvhgxhpypgp8r0"; }; - k8s_fee24c = dhall-kubernetes."3.0.0".override { + k8s_fee24c = dhall-kubernetes.override { rev = "fee24c0993ba0b20190e2fdb94e386b7fb67252d"; sha256 = "11d93z8y0jzrb8dl43gqha9z96nxxqkl7cbxpz8hw8ky9x6ggayk"; }; |