dhall-haskell/release.nix
Emery Hemingway 48ca2d2424 Optionally pass Nixpkgs through entry functions (#1409)
The "builtins.fetchTarball" function is not available in some restricted
environments such as build jobs of the latest Hydra. Make it possible to
pass nixpkgs and nixpkgsStaticLinux when evaulating default.nix and
release.nix to avoid importing them internally. This does not change the
result of evaulation if no parameters are passed.
2019-10-17 19:06:21 -07:00

98 lines
2.9 KiB
Nix

let pinned = import ./nix/pinnedNixpkgs.nix;
in { src ? { rev = ""; }
, nixpkgs ? pinned.nixpkgs
, nixpkgsStaticLinux ? pinned.nixpkgsStaticLinux
}:
let
callShared = args:
import ./nix/shared.nix ({ inherit nixpkgs nixpkgsStaticLinux; } // args);
shared_7_10_3 = callShared { compiler = "ghc7103"; };
shared_8_6_1 = callShared { compiler = "ghc861"; };
shared_ghcjs = callShared { compiler = "ghcjs"; };
shared = callShared { };
shared_linux = callShared { system = "x86_64-linux"; };
coverage = callShared { coverage = true; };
in
{ dhall = shared.aggregate
{ name = "dhall";
constituents = [
# Verify that the packages build against the oldest supported version
# of the compiler
shared_7_10_3.dhall
shared_7_10_3.dhall-bash
# shared_7_10_3.dhall-json
# `base-noprelude` depends on a specific version of `base`
# shared_7_10_3.dhall-lsp-server
# `hnix` depends on `lens-family-th`, which doesn't support GHC 7.10.3
# shared_7_10_3.dhall-nix
# Verify that the packages build against the latest supported version
# of the compiler
shared_8_6_1.dhall
shared_8_6_1.dhall-bash
shared_8_6_1.dhall-json
# `base-noprelude` depends on a specific version of `base`
# shared_8_6_1.dhall-lsp-server
# `hnix` depends on `unix-2.7.*` and doesn't work with GHC 8.6
# shared_8_6_1.dhall-nix
# However, we still use GHC 8.4.3 to build the distributed tarballs
# due to a bug in GHC 8.6.1. See:
#
# https://ghc.haskell.org/trac/ghc/ticket/15696
shared.tarball-dhall
shared.tarball-dhall-bash
shared.tarball-dhall-json
shared.tarball-dhall-lsp-server
shared.tarball-dhall-nix
shared_ghcjs.tarball-website
# This is the only `dhall` build that runs the test suite
coverage.dhall
coverage.dhall-json
# Check that the package builds with HTTP support compiled out
shared.dhall-no-http
(shared.trivial src.rev)
];
};
"coverage-dhall" = coverage.dhall;
inherit (shared_ghcjs) tarball-website;
inherit (shared)
tarball-dhall
tarball-dhall-bash
tarball-dhall-json
tarball-dhall-lsp-server
tarball-dhall-nix
;
linux-dhall = shared_linux.possibly-static.dhall;
linux-dhall-bash = shared_linux.possibly-static.dhall-bash;
linux-dhall-json = shared_linux.possibly-static.dhall-json;
linux-dhall-lsp-server = shared_linux.possibly-static.dhall-lsp-server;
linux-dhall-nix = shared_linux.possibly-static.dhall-nix;
inherit (shared_linux)
image-dhall
image-dhall-bash
image-dhall-json
image-dhall-lsp-server
image-dhall-nix
;
}