From e6a476c862953ef9853ae069aed6b3df23906637 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 24 Sep 2018 19:59:17 -0400 Subject: [PATCH] ghc, ghcjs: Get rid of extraneous alex, happy, and hscolour args The compilers themselves can pull them from `bootPkgs`, where they should always come from anyways. This enforces that, simplifies that code, and allows use to avoid more `rec { ... }` too. --- pkgs/development/compilers/ghc/7.10.3.nix | 4 ++-- pkgs/development/compilers/ghc/8.0.2.nix | 4 ++-- pkgs/development/compilers/ghc/8.2.2.nix | 4 ++-- pkgs/development/compilers/ghc/8.4.3.nix | 4 ++-- pkgs/development/compilers/ghc/8.6.1.nix | 4 ++-- pkgs/development/compilers/ghc/head.nix | 4 ++-- .../compilers/ghcjs-ng/default.nix | 11 +++++---- pkgs/top-level/haskell-packages.nix | 24 +++++++------------ 8 files changed, 26 insertions(+), 33 deletions(-) diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 9c87d815b4a9..a4374a452402 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -1,7 +1,7 @@ { stdenv, targetPackages # build-tools -, bootPkgs, hscolour +, bootPkgs , coreutils, fetchurl, perl , docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, libxml2, libxslt @@ -142,7 +142,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 - ghc hscolour + ghc bootPkgs.hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix index 935d09b57446..0946db713783 100644 --- a/pkgs/development/compilers/ghc/8.0.2.nix +++ b/pkgs/development/compilers/ghc/8.0.2.nix @@ -1,7 +1,7 @@ { stdenv, targetPackages # build-tools -, bootPkgs, hscolour +, bootPkgs , coreutils, fetchpatch, fetchurl, perl, sphinx , libiconv ? null, ncurses @@ -144,7 +144,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl sphinx - ghc hscolour + ghc bootPkgs.hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index cf448d8d849a..6a1914a9c2c8 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -1,7 +1,7 @@ { stdenv, targetPackages # build-tools -, bootPkgs, alex, happy, hscolour +, bootPkgs , autoconf, autoreconfHook, automake, coreutils, fetchurl, fetchpatch, perl, python3, sphinx , runCommand @@ -182,7 +182,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf autoreconfHook automake perl python3 sphinx - ghc alex happy hscolour + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghc/8.4.3.nix b/pkgs/development/compilers/ghc/8.4.3.nix index aa9fab184364..7028a78eb21d 100644 --- a/pkgs/development/compilers/ghc/8.4.3.nix +++ b/pkgs/development/compilers/ghc/8.4.3.nix @@ -1,7 +1,7 @@ { stdenv, targetPackages # build-tools -, bootPkgs, alex, happy, hscolour +, bootPkgs , autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4 , libiconv ? null, ncurses @@ -180,7 +180,7 @@ stdenv.mkDerivation (rec { nativeBuildInputs = [ perl autoconf automake m4 python3 - ghc alex happy hscolour + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix index 7fcb52969151..3722b16f6573 100644 --- a/pkgs/development/compilers/ghc/8.6.1.nix +++ b/pkgs/development/compilers/ghc/8.6.1.nix @@ -1,7 +1,7 @@ { stdenv, targetPackages # build-tools -, bootPkgs, alex, happy, hscolour +, bootPkgs , autoconf, automake, coreutils, fetchurl, perl, python3, m4 , libiconv ? null, ncurses @@ -163,7 +163,7 @@ stdenv.mkDerivation (rec { nativeBuildInputs = [ perl autoconf automake m4 python3 - ghc alex happy hscolour + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index ee95bd0f6047..af5efbd7df8c 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,7 +1,7 @@ { stdenv, targetPackages # build-tools -, bootPkgs, alex, happy, hscolour +, bootPkgs , autoconf, automake, coreutils, fetchgit, perl, python3, m4 , libiconv ? null, ncurses @@ -150,7 +150,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl autoconf automake m4 python3 - ghc alex happy hscolour + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix index 5db2777c8bb0..92211042acd9 100644 --- a/pkgs/development/compilers/ghcjs-ng/default.nix +++ b/pkgs/development/compilers/ghcjs-ng/default.nix @@ -4,8 +4,6 @@ , ghcjsSrcJson ? null , ghcjsSrc ? fetchgit (builtins.fromJSON (builtins.readFile ghcjsSrcJson)) , bootPkgs -, alex -, happy , stage0 , haskellLib , cabal-install @@ -24,8 +22,8 @@ let passthru = { configuredSrc = callPackage ./configured-ghcjs-src.nix { - inherit ghcjsSrc alex happy; - inherit (bootPkgs) ghc; + inherit ghcjsSrc; + inherit (bootPkgs) ghc alex happy; }; genStage0 = callPackage ./mk-stage0.nix { inherit (passthru) configuredSrc; }; bootPkgs = bootPkgs.extend (lib.foldr lib.composeExtensions (_:_:{}) [ @@ -34,7 +32,10 @@ let inherit (self) callPackage; }) - (callPackage ./common-overrides.nix { inherit haskellLib alex happy; }) + (callPackage ./common-overrides.nix { + inherit haskellLib; + inherit (bootPkgs) alex happy; + }) ghcjsDepOverrides ]); diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 92fbdd85b359..bbb028ceb4b8 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -47,41 +47,35 @@ in { ghc7103Binary = callPackage ../development/compilers/ghc/7.10.3-binary.nix { }; ghc821Binary = callPackage ../development/compilers/ghc/8.2.1-binary.nix { }; - ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec { + ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix { bootPkgs = packages.ghc7103Binary; - inherit (bootPkgs) hscolour; buildLlvmPackages = buildPackages.llvmPackages_35; llvmPackages = pkgs.llvmPackages_35; }; - ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix rec { + ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix { bootPkgs = packages.ghc7103Binary; - inherit (bootPkgs) hscolour; sphinx = pkgs.python27Packages.sphinx; buildLlvmPackages = buildPackages.llvmPackages_37; llvmPackages = pkgs.llvmPackages_37; }; - ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix rec { + ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix { bootPkgs = packages.ghc821Binary; - inherit (bootPkgs) hscolour alex happy; sphinx = pkgs.python3Packages.sphinx; buildLlvmPackages = buildPackages.llvmPackages_39; llvmPackages = pkgs.llvmPackages_39; }; - ghc843 = callPackage ../development/compilers/ghc/8.4.3.nix rec { + ghc843 = callPackage ../development/compilers/ghc/8.4.3.nix { bootPkgs = packages.ghc821Binary; - inherit (bootPkgs) alex happy hscolour; buildLlvmPackages = buildPackages.llvmPackages_5; llvmPackages = pkgs.llvmPackages_5; }; - ghc861 = callPackage ../development/compilers/ghc/8.6.1.nix rec { + ghc861 = callPackage ../development/compilers/ghc/8.6.1.nix { bootPkgs = packages.ghc822; - inherit (bootPkgs) alex happy hscolour; buildLlvmPackages = buildPackages.llvmPackages_6; llvmPackages = pkgs.llvmPackages_6; }; - ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec { + ghcHEAD = callPackage ../development/compilers/ghc/head.nix { bootPkgs = packages.ghc821Binary; - inherit (bootPkgs) alex happy hscolour; buildLlvmPackages = buildPackages.llvmPackages_5; llvmPackages = pkgs.llvmPackages_5; }; @@ -94,15 +88,13 @@ in { bootPkgs = packages.ghc802; inherit (pkgs) cabal-install; }; - ghcjs82 = callPackage ../development/compilers/ghcjs-ng rec { + ghcjs82 = callPackage ../development/compilers/ghcjs-ng { bootPkgs = packages.ghc822; - inherit (bootPkgs) alex happy; ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.2/git.json; stage0 = ../development/compilers/ghcjs-ng/8.2/stage0.nix; }; - ghcjs84 = callPackage ../development/compilers/ghcjs-ng rec { + ghcjs84 = callPackage ../development/compilers/ghcjs-ng { bootPkgs = packages.ghc843; - inherit (bootPkgs) alex happy; ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.4/git.json; stage0 = ../development/compilers/ghcjs-ng/8.4/stage0.nix; ghcjsDepOverrides = callPackage ../development/compilers/ghcjs-ng/8.4/dep-overrides.nix {};