diff --git a/pkgs/development/compilers/ghcjs/head_stage2.nix b/pkgs/development/compilers/ghcjs/head_stage2.nix index 5808891d4303..d4247f51b3e3 100644 --- a/pkgs/development/compilers/ghcjs/head_stage2.nix +++ b/pkgs/development/compilers/ghcjs/head_stage2.nix @@ -382,7 +382,6 @@ version = "1.24.0.0"; src = "${ghcjsBoot}/boot/cabal/Cabal"; doCheck = false; - hyperlinkSource = false; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath pretty process time unix diff --git a/pkgs/development/compilers/ghcjs/stage2.nix b/pkgs/development/compilers/ghcjs/stage2.nix index b88051113b55..8c68b6f15a67 100644 --- a/pkgs/development/compilers/ghcjs/stage2.nix +++ b/pkgs/development/compilers/ghcjs/stage2.nix @@ -327,7 +327,6 @@ version = "1.22.8.0"; src = "${ghcjsBoot}/boot/cabal/Cabal"; doCheck = false; - hyperlinkSource = false; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath pretty process time unix diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix index d6d7277cc9d9..fd7f15008d26 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -58,9 +58,13 @@ self: super: # 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: - if args.pname == "Cabal" then super.mkDerivation args else super.mkDerivation (args // - { setupHaskellDepends = (args.setupHaskellDepends or []) ++ [ self.Cabal ]; }); + 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