From bbce88302a98338f014e7978e128f438dec3cc2d Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Wed, 17 Feb 2016 22:07:32 -0500 Subject: ghcjs: fix building with cabal-install-1.22.8.0 --- .../haskell-modules/configuration-ghcjs.nix | 44 +++++++++++----------- 1 file changed, 23 insertions(+), 21 deletions(-) (limited to 'pkgs/development/haskell-modules/configuration-ghcjs.nix') diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix index dd51b99bf93..dfdad72cd3d 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -7,54 +7,56 @@ in with import ./lib.nix { inherit pkgs; }; -self: super: { +self: super: + # The stage 2 packages. Regenerate with ./ghcjs/gen-stage2.rb + let stage2 = + (import ./ghcjs/stage2.nix { + inherit (self) callPackage; + inherit (self.ghc) ghcjsBoot; + }); in stage2 // { + + old-time = overrideCabal stage2.old-time (drv: { + postPatch = '' + ${pkgs.autoconf}/bin/autoreconf --install --force --verbose + ''; + }); + + mkDerivation = drv: super.mkDerivation (drv // { + # Need Cabal lib to be available. + libraryHaskellDepends = drv.libraryHaskellDepends + # Be careful not to end up in infinite recursion! + ++ pkgs.lib.optional (!(builtins.elem drv.pname ["Cabal" "hscolour"])) self.Cabal; + }); # LLVM is not supported on this GHC; use the latest one. inherit (pkgs) llvmPackages; inherit (pkgs.haskell.packages.ghc7103) jailbreak-cabal alex happy gtk2hs-buildtools rehoo hoogle; - # This is the list of packages that are built into a booted ghcjs installation + # This is the list of the Stage 1 packages that are built into a booted ghcjs installation # It can be generated with the command: # nix-shell -p haskell.packages.ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'" - Cabal = null; - aeson = null; array = null; - async = null; - attoparsec = null; base = null; binary = null; rts = null; bytestring = null; - case-insensitive = null; containers = null; deepseq = null; directory = null; - dlist = null; - extensible-exceptions = null; filepath = null; ghc-prim = null; - ghcjs-base = null; ghcjs-prim = null; - hashable = null; integer-gmp = null; - mtl = null; old-locale = null; - old-time = null; - parallel = null; pretty = null; primitive = null; process = null; - scientific = null; - stm = null; - syb = null; template-haskell = null; - text = null; time = null; transformers = null; unix = null; - unordered-containers = null; - vector = null; + integer-simple = null; # These packages are core libraries in GHC 7.10.x, but not here. bin-package-db = null; @@ -105,7 +107,7 @@ self: super: { }) {}; ghcjs-dom = overrideCabal super.ghcjs-dom (drv: { - libraryHaskellDepends = + libraryHaskellDepends = [ self.ghcjs-base ] ++ removeLibraryHaskellDepends [ "glib" "gtk" "gtk3" "webkitgtk" "webkitgtk3" ] drv.libraryHaskellDepends; -- cgit 1.4.1