From 459cf94991754d391f7808bbc306f52653298ada Mon Sep 17 00:00:00 2001 From: Gabriel Gonzalez Date: Sat, 9 May 2020 19:16:06 -0700 Subject: 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 --- pkgs/development/dhall-modules/Prelude.nix | 31 +++++++++++------------------- 1 file changed, 11 insertions(+), 20 deletions(-) (limited to 'pkgs/development/dhall-modules/Prelude.nix') diff --git a/pkgs/development/dhall-modules/Prelude.nix b/pkgs/development/dhall-modules/Prelude.nix index c689f7156fb4..6af08edf88a7 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 { -- cgit 1.4.1