Skip to content
Snippets Groups Projects
Commit d911d769 authored by Ben Gamari's avatar Ben Gamari :turtle:
Browse files

Flakify

parent 1f8de9ea
No related branches found
No related tags found
No related merge requests found
let
sources = import ./nix/sources.nix;
nixpkgs = import sources.nixpkgs {};
in with nixpkgs;
in
{
pkgs ? import sources.nixpkgs {},
ghc-master ? sources.ghc-master
}:
with pkgs;
let
artefacts = import "${sources.ghc-artefact-nix.outPath}/releases.nix" { baseNixpkgs = pkgs; };
......@@ -612,7 +618,12 @@ let
in
{
inherit nixpkgs join cabal-install ghcs ghcs_make ghcs_hadrian sources;
inherit pkgs join cabal-install ghcs ghcs_make ghcs_hadrian sources;
# Things needed by flake.nix
lib = {
inherit mapNames underscoredVersion;
};
# derivations to be built by CI
ciDrvs = attrs;
......
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"ghc-master": {
"flake": false,
"locked": {
"lastModified": 1679411953,
"narHash": "sha256-dQxVYqgtUKulEU75WTFfopivmaGz+3Cvn9JOI8DHIAM=",
"ref": "refs/heads/master",
"rev": "be1d4be8d09072091b77cb68ccf234434754af00",
"revCount": 60956,
"type": "git",
"url": "https://gitlab.haskell.org/ghc/ghc.git"
},
"original": {
"type": "git",
"url": "https://gitlab.haskell.org/ghc/ghc.git"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1659446231,
"narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "eabc38219184cc3e04a974fe31857d8e0eac098d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"ghc-master": "ghc-master",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.ghc-master = {
url = "git+https://gitlab.haskell.org/ghc/ghc.git";
flake = false;
};
outputs = inputs@{ self, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
x = import ./default.nix {
inherit pkgs;
inherit (inputs) ghc-master;
};
in {
packages = rec {
ghc = x.lib.mapNames x.lib.underscoredVersion x.ghcs;
ghc-make = x.ghcs_make;
ghc-hadrian = x.ghcs_hadrian;
cabal-install = x.cabals;
};
apps =
let
inherit (pkgs) lib;
inherit (flake-utils.lib) mkApp;
ghcAttrs = lib.map (drv: lib.nameValuePair "ghc-${drv.version}" (mkApp {
inherit drv;
exePath = "bin/ghc";
})) self.${system}.packages.ghc;
cabalAttrs = lib.map (drv: lib.nameValuePair "cabal-install-${drv.version}" (mkApp {
inherit drv;
exePath = "bin/cabal";
})) self.${system}.packages.cabal-install;
in lib.listToAttrs (
ghcAttrs ++ cabalAttrs
);
}
);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment