first
This commit is contained in:
commit
5323992f5b
11 changed files with 292 additions and 0 deletions
27
apps/multi-ghc.nix
Normal file
27
apps/multi-ghc.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ pkgs ? import <nixpkgs> {},
|
||||
versions ? [ "8.10" "9.0" "9.2" "9.4" "9.6" "9.8" "9.10" "9.12" ],
|
||||
}:
|
||||
let
|
||||
inherit (builtins) attrValues replaceStrings;
|
||||
inherit (pkgs) lib stdenv haskell;
|
||||
|
||||
toPkg = version:
|
||||
"ghc" + replaceStrings ["."] [""] version;
|
||||
|
||||
ghcs = lib.genAttrs versions
|
||||
(v: haskell.compiler.${toPkg v});
|
||||
|
||||
mkLinkCmd = version: pkg: ''
|
||||
ln -s ${pkg}/bin/ghc $out/bin/ghc-${version}
|
||||
ln -s ${pkg}/bin/ghci $out/bin/ghci-${version}
|
||||
ln -s ${pkg}/bin/ghc-pkg $out/bin/ghc-pkg-${version}
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "multi-ghc";
|
||||
buildInputs = attrValues ghcs;
|
||||
dontUnpack = true;
|
||||
installPhase = lib.concatLines
|
||||
([ "mkdir -p $out/bin" ] ++
|
||||
lib.mapAttrsToList mkLinkCmd ghcs);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue