From 114cd6765d9a1dc405af223294657b9e765a6f3d Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 21 Feb 2016 10:15:04 -0800 Subject: [PATCH] haskell: Expose the package set used to build each GHC, where possible Tested to not change hashes --- pkgs/development/compilers/ghc/7.10.2.nix | 7 ++++- pkgs/development/compilers/ghc/7.10.3.nix | 7 ++++- pkgs/development/compilers/ghc/8.0.1.nix | 10 +++++++- pkgs/development/compilers/ghc/head.nix | 11 ++++++-- pkgs/development/compilers/ghc/nokinds.nix | 7 ++++- pkgs/development/compilers/ghcjs/default.nix | 10 +++++--- pkgs/top-level/haskell-packages.nix | 27 ++++++++++++-------- 7 files changed, 59 insertions(+), 20 deletions(-) diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix index 73fcd788c74f..87490842b3b6 100644 --- a/pkgs/development/compilers/ghc/7.10.2.nix +++ b/pkgs/development/compilers/ghc/7.10.2.nix @@ -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 }: let + inherit (bootPkgs) ghc; buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" @@ -60,6 +61,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 88d1bec4d42b..53ba058def4d 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -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 }: let + inherit (bootPkgs) ghc; docFixes = fetchurl { url = "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3a.patch"; @@ -61,6 +62,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix index d24ad4106ee4..00482d013c23 100644 --- a/pkgs/development/compilers/ghc/8.0.1.nix +++ b/pkgs/development/compilers/ghc/8.0.1.nix @@ -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 }: +let + inherit (bootPkgs) ghc; + +in stdenv.mkDerivation rec { version = "8.0.0.20160204"; name = "ghc-${version}"; @@ -51,6 +55,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 9b360b609e43..18e22f0100be 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -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 }: -stdenv.mkDerivation rec { +let + inherit (bootPkgs) ghc; + +in stdenv.mkDerivation rec { version = "7.11.20151216"; name = "ghc-${version}"; rev = "28638dfe79e915f33d75a1b22c5adce9e2b62b97"; @@ -62,6 +65,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/nokinds.nix b/pkgs/development/compilers/ghc/nokinds.nix index 6334759496f0..acaef9c5ab11 100644 --- a/pkgs/development/compilers/ghc/nokinds.nix +++ b/pkgs/development/compilers/ghc/nokinds.nix @@ -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 + inherit (bootPkgs) ghc; buildMK = '' 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 stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg"; diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index 81a8c90b53a7..3aca5f239192 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -20,7 +20,7 @@ , ghcjs-prim , regex-posix -, ghc, gmp +, bootPkgs, gmp , jailbreak-cabal , runCommand @@ -41,8 +41,11 @@ , ghcjsBoot ? import ./ghcjs-boot.nix { inherit fetchgit runCommand; } , shims ? import ./shims.nix { inherit fetchFromGitHub; } }: -let version = "0.2.0"; in -mkDerivation (rec { +let + inherit (bootPkgs) ghc; + version = "0.2.0"; + +in mkDerivation (rec { pname = "ghcjs"; inherit version; src = fetchFromGitHub { @@ -114,6 +117,7 @@ mkDerivation (rec { --with-gmp-libraries ${gmp}/lib ''; passthru = { + inherit bootPkgs; isGhcjs = true; nativeGhc = ghc; inherit nodejs ghcjsBoot; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 2d0151dc5420..2eadcbeefef3 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -34,24 +34,29 @@ rec { ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix { ghc = compiler.ghc742Binary; }; - ghc7102 = callPackage ../development/compilers/ghc/7.10.2.nix { - ghc = compiler.ghc784; inherit (packages.ghc784) hscolour; + ghc7102 = callPackage ../development/compilers/ghc/7.10.2.nix rec { + bootPkgs = packages.ghc784; + inherit (bootPkgs) hscolour; }; - ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix { - ghc = compiler.ghc784; inherit (packages.ghc784) hscolour; + ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec { + bootPkgs = packages.ghc784; + inherit (bootPkgs) hscolour; }; - ghc801 = callPackage ../development/compilers/ghc/8.0.1.nix { - ghc = compiler.ghc7103; inherit (packages.ghc7103) hscolour; + ghc801 = callPackage ../development/compilers/ghc/8.0.1.nix rec { + bootPkgs = packages.ghc7103; + inherit (bootPkgs) hscolour; }; - ghcHEAD = callPackage ../development/compilers/ghc/head.nix { - inherit (packages.ghc784) ghc alex happy; + ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec { + bootPkgs = packages.ghc784; + inherit (bootPkgs) alex happy; }; - ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix { - inherit (packages.ghc784) ghc alex happy; + ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix rec { + bootPkgs = packages.ghc784; + inherit (bootPkgs) alex happy; }; ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs { - ghc = compiler.ghc7103; + bootPkgs = packages.ghc7103; }; jhc = callPackage ../development/compilers/jhc {