You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
902 B
Nix
32 lines
902 B
Nix
{ pkgs ? import <nixpkgs> { config.allowBroken = true; },
|
|
}:
|
|
|
|
with pkgs;
|
|
let
|
|
source = stdenv.mkDerivation {
|
|
name = "matebeamter-source";
|
|
src = <matebeamter>;
|
|
buildInputs = [ cabal2nix ];
|
|
buildPhase = ''
|
|
cabal2nix . > package.nix
|
|
'';
|
|
installPhase = "cp -ar . $out";
|
|
};
|
|
ghcVersions =
|
|
builtins.filter (p:
|
|
p == "ghcHEAD" || builtins.match "ghc[[:digit:]]+" p != null
|
|
) (builtins.attrNames pkgs.haskell.packages);
|
|
matebeamter = haskellPackages: with haskellPackages;
|
|
let
|
|
mateamt = callPackage <mateamt/shell.nix> {
|
|
nixpkgs = pkgs // { inherit haskellPackages; };
|
|
};
|
|
in
|
|
callPackage "${source}/package.nix" { inherit mateamt; };
|
|
in
|
|
builtins.listToAttrs
|
|
(map (ghcVersion: {
|
|
name = "matebeamter-${ghcVersion}";
|
|
value = pkgs.lib.hydraJob (matebeamter (builtins.getAttr ghcVersion haskell.packages));
|
|
}) ghcVersions)
|