From 774253e56b3ef493266cd0b00f6e8ef0ab837f32 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Sun, 1 Apr 2018 23:25:37 -0400 Subject: [PATCH] Fix GHCJS 7.10 --- pkgs/development/compilers/ghcjs/default.nix | 1 - .../haskell-modules/configuration-ghc-7.10.x.nix | 11 +++++++++++ .../haskell-modules/configuration-ghcjs.nix | 13 ------------- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index b5a7a7f7cfc..7f3cc944001 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -2,5 +2,4 @@ bootPkgs.callPackage ./base.nix { inherit bootPkgs cabal-install; - broken = true; # https://hydra.nixos.org/build/70552553 } diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index c7e8d1798d2..15220c24b4f 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -219,4 +219,15 @@ self: super: { chr-pretty = doJailbreak super.chr-pretty; chr-parse = doJailbreak super.chr-parse; + # The autogenerated Nix expressions don't take into + # account `if impl(ghc >= x.y)`, which is a common method to depend + # on `semigroups` or `fail` when building with GHC < 8.0. + system-filepath = addBuildDepend super.system-filepath self.semigroups; + haskell-src-exts = addBuildDepend super.haskell-src-exts self.semigroups; + free = addBuildDepend super.free self.fail; + + # Newer versions don't build without base-4.9 + resourcet = self.resourcet_1_1_11; + conduit = self.conduit_1_2_13_1; + } diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix index bd35c1cb3ae..7a6416b9e13 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -53,19 +53,6 @@ self: super: terminfo = self.terminfo_0_4_0_2; xhtml = self.xhtml_3000_2_1; - # Cabal isn't part of the stage1 packages which form the default package-db - # that GHCJS provides. - # Almost all packages require Cabal to build their Setup.hs, - # but usually they don't declare it explicitly as they don't need to for normal GHC. - # To account for that we add Cabal by default. - mkDerivation = args: super.mkDerivation (args // { - setupHaskellDepends = (args.setupHaskellDepends or []) ++ - (if args.pname == "Cabal" then [ ] - # Break the dependency cycle between Cabal and hscolour - else if args.pname == "hscolour" then [ (dontHyperlinkSource self.Cabal) ] - else [ self.Cabal ]); - }); - ## OTHER PACKAGES # haddock throws the error: No input file(s).