dhall-haskell/release.nix

108 lines
3.2 KiB
Nix

let pinned = import ./nix/pinnedNixpkgs.nix;
in { src ? { rev = ""; }
, nixpkgs ? pinned.nixpkgs
, nixpkgsStaticLinux ? pinned.nixpkgsStaticLinux
, dhallLang ? null
, system ? builtins.currentSystem
}:
let
callShared = args:
import ./nix/shared.nix ({ inherit nixpkgs nixpkgsStaticLinux dhallLang system; } // 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
# `HsYAML-aeson` requires Cabal >= 2.2
# shared_7_10_3.dhall-yaml
# `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
shared_8_6_1.dhall-yaml
# `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.tarball-dhall-yaml
shared_ghcjs.tarball-website
# This is the only `dhall` build that runs the test suite
coverage.dhall
coverage.dhall-json
coverage.dhall-yaml
# 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
tarball-dhall-yaml
;
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;
linux-dhall-yaml = shared_linux.possibly-static.dhall-yaml;
inherit (shared_linux)
image-dhall
image-dhall-bash
image-dhall-json
image-dhall-lsp-server
image-dhall-nix
image-dhall-yaml
;
}