blob: 4cd6e98499b2e82a7e69da0ba68406198142ab6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
let sources = import ./nix/sources.nix; in
{ nixpkgs ? (import sources.nixpkgs {}) }:
with nixpkgs;
let
fetch-gitlab-artifacts = nixpkgs.callPackage ./fetch-gitlab-artifacts {};
mk-ghcup-metadata = nixpkgs.callPackage ./mk-ghcup-metadata { fetch-gitlab=fetch-gitlab-artifacts;};
bindistPrepEnv = pkgs.buildFHSUserEnv {
name = "enter-fhs";
targetPkgs = pkgs: with pkgs; [
# all
gcc binutils gnumake gmp ncurses5 git elfutils
# source-release.sh
xorg.lndir curl python3 which automake autoconf m4 file
haskell.compiler.ghc8107 haskellPackages.happy haskellPackages.alex
];
runScript = "$SHELL -x";
};
scripts = stdenv.mkDerivation {
name = "rel-eng-scripts";
nativeBuildInputs = [ makeWrapper ];
preferLocalBuild = true;
buildCommand = ''
mkdir -p $out/bin
makeWrapper ${./upload.sh} $out/bin/upload.sh \
--prefix PATH : ${moreutils}/bin \
--prefix PATH : ${lftp}/bin \
--prefix PATH : ${lzip}/bin \
--prefix PATH : ${zip}/bin \
--prefix PATH : ${s3cmd}/bin \
--prefix PATH : ${gnupg}/bin \
--prefix PATH : ${pinentry}/bin \
--prefix PATH : ${parallel}/bin \
--prefix PATH : ${python3}/bin \
--set ENTER_FHS_ENV ${bindistPrepEnv}/bin/enter-fhs \
--set BASH ${bash}/bin/bash
makeWrapper ${./upload_ghc_libs.py} $out/bin/upload-ghc-libs
'';
};
in
symlinkJoin {
name = "ghc-rel-eng";
preferLocalBuild = true;
paths = [
scripts
fetch-gitlab-artifacts
mk-ghcup-metadata
];
}
|