haskell: Expose the package set used to build each GHC, where possible

Tested to not change hashes
This commit is contained in:
John Ericson 2016-02-21 10:15:04 -08:00
parent e6d3a4e7d1
commit 114cd6765d
7 changed files with 59 additions and 20 deletions

View File

@ -1,8 +1,9 @@
{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils { stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
}: }:
let let
inherit (bootPkgs) ghc;
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
@ -60,6 +61,10 @@ stdenv.mkDerivation rec {
done done
''; '';
passthru = {
inherit bootPkgs;
};
meta = { meta = {
homepage = "http://haskell.org/ghc"; homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler"; description = "The Glasgow Haskell Compiler";

View File

@ -1,8 +1,9 @@
{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils { stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
}: }:
let let
inherit (bootPkgs) ghc;
docFixes = fetchurl { docFixes = fetchurl {
url = "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3a.patch"; url = "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3a.patch";
@ -61,6 +62,10 @@ stdenv.mkDerivation rec {
done done
''; '';
passthru = {
inherit bootPkgs;
};
meta = { meta = {
homepage = "http://haskell.org/ghc"; homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler"; description = "The Glasgow Haskell Compiler";

View File

@ -1,7 +1,11 @@
{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils { stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
, hscolour , hscolour
}: }:
let
inherit (bootPkgs) ghc;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "8.0.0.20160204"; version = "8.0.0.20160204";
name = "ghc-${version}"; name = "ghc-${version}";
@ -51,6 +55,10 @@ stdenv.mkDerivation rec {
done done
''; '';
passthru = {
inherit bootPkgs;
};
meta = { meta = {
homepage = "http://haskell.org/ghc"; homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler"; description = "The Glasgow Haskell Compiler";

View File

@ -1,8 +1,11 @@
{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils { stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
, autoconf, automake, happy, alex , autoconf, automake, happy, alex
}: }:
stdenv.mkDerivation rec { let
inherit (bootPkgs) ghc;
in stdenv.mkDerivation rec {
version = "7.11.20151216"; version = "7.11.20151216";
name = "ghc-${version}"; name = "ghc-${version}";
rev = "28638dfe79e915f33d75a1b22c5adce9e2b62b97"; rev = "28638dfe79e915f33d75a1b22c5adce9e2b62b97";
@ -62,6 +65,10 @@ stdenv.mkDerivation rec {
done done
''; '';
passthru = {
inherit bootPkgs;
};
meta = { meta = {
homepage = "http://haskell.org/ghc"; homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler"; description = "The Glasgow Haskell Compiler";

View File

@ -1,6 +1,7 @@
{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }: { stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }:
let let
inherit (bootPkgs) ghc;
buildMK = '' buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
@ -66,6 +67,10 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort # that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
passthru = {
inherit bootPkgs;
};
meta = { meta = {
homepage = "http://haskell.org/ghc"; homepage = "http://haskell.org/ghc";
description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg"; description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg";

View File

@ -20,7 +20,7 @@
, ghcjs-prim , ghcjs-prim
, regex-posix , regex-posix
, ghc, gmp , bootPkgs, gmp
, jailbreak-cabal , jailbreak-cabal
, runCommand , runCommand
@ -41,8 +41,11 @@
, ghcjsBoot ? import ./ghcjs-boot.nix { inherit fetchgit runCommand; } , ghcjsBoot ? import ./ghcjs-boot.nix { inherit fetchgit runCommand; }
, shims ? import ./shims.nix { inherit fetchFromGitHub; } , shims ? import ./shims.nix { inherit fetchFromGitHub; }
}: }:
let version = "0.2.0"; in let
mkDerivation (rec { inherit (bootPkgs) ghc;
version = "0.2.0";
in mkDerivation (rec {
pname = "ghcjs"; pname = "ghcjs";
inherit version; inherit version;
src = fetchFromGitHub { src = fetchFromGitHub {
@ -114,6 +117,7 @@ mkDerivation (rec {
--with-gmp-libraries ${gmp}/lib --with-gmp-libraries ${gmp}/lib
''; '';
passthru = { passthru = {
inherit bootPkgs;
isGhcjs = true; isGhcjs = true;
nativeGhc = ghc; nativeGhc = ghc;
inherit nodejs ghcjsBoot; inherit nodejs ghcjsBoot;

View File

@ -34,24 +34,29 @@ rec {
ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix { ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix {
ghc = compiler.ghc742Binary; ghc = compiler.ghc742Binary;
}; };
ghc7102 = callPackage ../development/compilers/ghc/7.10.2.nix { ghc7102 = callPackage ../development/compilers/ghc/7.10.2.nix rec {
ghc = compiler.ghc784; inherit (packages.ghc784) hscolour; bootPkgs = packages.ghc784;
inherit (bootPkgs) hscolour;
}; };
ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix { ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec {
ghc = compiler.ghc784; inherit (packages.ghc784) hscolour; bootPkgs = packages.ghc784;
inherit (bootPkgs) hscolour;
}; };
ghc801 = callPackage ../development/compilers/ghc/8.0.1.nix { ghc801 = callPackage ../development/compilers/ghc/8.0.1.nix rec {
ghc = compiler.ghc7103; inherit (packages.ghc7103) hscolour; bootPkgs = packages.ghc7103;
inherit (bootPkgs) hscolour;
}; };
ghcHEAD = callPackage ../development/compilers/ghc/head.nix { ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
inherit (packages.ghc784) ghc alex happy; bootPkgs = packages.ghc784;
inherit (bootPkgs) alex happy;
}; };
ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix { ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix rec {
inherit (packages.ghc784) ghc alex happy; bootPkgs = packages.ghc784;
inherit (bootPkgs) alex happy;
}; };
ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs { ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs {
ghc = compiler.ghc7103; bootPkgs = packages.ghc7103;
}; };
jhc = callPackage ../development/compilers/jhc { jhc = callPackage ../development/compilers/jhc {