diff options
author | Divam <dfordivam@gmail.com> | 2021-08-25 19:55:30 +0900 |
---|---|---|
committer | Divam <dfordivam@gmail.com> | 2021-09-15 12:51:34 +0900 |
commit | ba25b274f4bb0240a8ffa71e41b55712930af3d8 (patch) | |
tree | da9d2a0d94135903fc1b9278bfd13ca85f91766f /pkgs/development/haskell-modules/configuration-ghcjs.nix | |
parent | feac31b1f05bf8be4681b461987f26a37a47c60f (diff) | |
download | nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.tar nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.tar.gz nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.tar.bz2 nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.tar.lz nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.tar.xz nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.tar.zst nixpkgs-ba25b274f4bb0240a8ffa71e41b55712930af3d8.zip |
ghcjs: init at 8.10.7
The src points to the obsidiansystems repo as it has the ghcjs ported from 8.10.5 to 8.10.7, and a bunch of other fixes (#812, #811, #809)
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghcjs.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-ghcjs.nix | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix new file mode 100644 index 00000000000..d4e443d6bea --- /dev/null +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -0,0 +1,109 @@ +# GHCJS package fixes +# +# Please insert new packages *alphabetically* +# in the OTHER PACKAGES section. +{ pkgs, haskellLib }: + +let + removeLibraryHaskellDepends = pnames: depends: + builtins.filter (e: !(builtins.elem (e.pname or "") pnames)) depends; +in + +with haskellLib; + +self: super: + +## GENERAL SETUP BASE PACKAGES +{ + inherit (self.ghc.bootPkgs) + jailbreak-cabal alex happy gtk2hs-buildtools rehoo hoogle; + + ghcjs-base = dontCheck (self.callPackage ../compilers/ghcjs/ghcjs-base.nix { + fetchgit = pkgs.buildPackages.fetchgit; + }); + + # GHCJS does not ship with the same core packages as GHC. + # https://github.com/ghcjs/ghcjs/issues/676 + stm = doJailbreak self.stm_2_5_0_1; + exceptions = dontCheck self.exceptions_0_10_4; + +## OTHER PACKAGES + + # Runtime exception in tests, missing C API h$realloc + base-compat-batteries = dontCheck super.base-compat-batteries; + + # nodejs crashes during test + ChasingBottoms = dontCheck super.ChasingBottoms; + + # doctest doesn't work on ghcjs, but sometimes dontCheck doesn't seem to get rid of the dependency + doctest = pkgs.lib.warn "ignoring dependency on doctest" null; + + ghcjs-dom = overrideCabal super.ghcjs-dom (drv: { + libraryHaskellDepends = with self; [ + ghcjs-base ghcjs-dom-jsffi text transformers + ]; + configureFlags = [ "-fjsffi" "-f-webkit" ]; + }); + + ghcjs-dom-jsffi = overrideCabal super.ghcjs-dom-jsffi (drv: { + libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base self.text ]; + broken = false; + }); + + # https://github.com/Deewiant/glob/issues/39 + Glob = dontCheck super.Glob; + + # Test fails to compile during the hsc2hs stage + hashable = dontCheck super.hashable; + + # uses doctest + http-types = dontCheck super.http-types; + + jsaddle = overrideCabal super.jsaddle (drv: { + libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ]; + }); + + # Tests hang, possibly some issue with tasty and race(async) usage in the nonTerminating tests + logict = dontCheck super.logict; + + patch = dontCheck super.patch; + + # TODO: tests hang + pcre-light = dontCheck super.pcre-light; + + # Terminal test not supported on ghcjs + QuickCheck = dontCheck super.QuickCheck; + + reflex = overrideCabal super.reflex (drv: { + libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ]; + }); + + reflex-dom = overrideCabal super.reflex-dom (drv: { + libraryHaskellDepends = removeLibraryHaskellDepends ["jsaddle-webkit2gtk"] (drv.libraryHaskellDepends or []); + }); + + # https://github.com/dreixel/syb/issues/21 + syb = dontCheck super.syb; + + # nodejs crashes during test + scientific = dontCheck super.scientific; + + # Tests use TH which gives error + tasty-quickcheck = dontCheck super.tasty-quickcheck; + + temporary = dontCheck super.temporary; + + # 2 tests fail, related to time precision + time-compat = dontCheck super.time-compat; + + # TODO: The tests have a TH error, which has been fixed in ghc + # https://gitlab.haskell.org/ghc/ghc/-/issues/15481 but somehow the issue is + # still present here https://github.com/glguy/th-abstraction/issues/53 + th-abstraction = dontCheck super.th-abstraction; + + # https://github.com/haskell/vector/issues/410 + vector = appendPatch super.vector (../compilers/ghcjs/patches/vector-ghcjs-storable-set.patch) ; + + # Need hedgehog for tests, which fails to compile due to dep on concurrent-output + zenc = dontCheck super.zenc; +} |