triptych.nvim: add plenary-nvim as required dependency (#358924)
[NixPkgs.git] / pkgs / development / haskell-modules / configuration-ghcjs-8.x.nix
blob3f6e399f795b8114a98d805de2bbf9ed74d71323
1 # GHCJS package fixes
3 # Please insert new packages *alphabetically*
4 # in the OTHER PACKAGES section.
5 { pkgs, haskellLib }:
7 let
8   removeLibraryHaskellDepends = pnames: depends:
9     builtins.filter (e: !(builtins.elem (e.pname or "") pnames)) depends;
12 with haskellLib;
14 self: super:
16 ## GENERAL SETUP BASE PACKAGES
18   inherit (self.ghc.bootPkgs)
19     jailbreak-cabal alex happy gtk2hs-buildtools rehoo hoogle;
21   # Test suite fails; https://github.com/ghcjs/ghcjs-base/issues/133
22   ghcjs-base = dontCheck (self.callPackage ../compilers/ghcjs/ghcjs-base.nix {
23     fetchFromGitHub = pkgs.buildPackages.fetchFromGitHub;
24     aeson = self.aeson_1_5_6_0;
25   });
27   # Included in ghcjs itself
28   ghcjs-prim = null;
30   ghcjs-websockets = markUnbroken super.ghcjs-websockets;
32   # GHCJS does not ship with the same core packages as GHC.
33   # https://github.com/ghcjs/ghcjs/issues/676
34   stm = doJailbreak self.stm_2_5_3_1;
35   exceptions = dontCheck self.exceptions_0_10_8;
37 ## OTHER PACKAGES
39   # Runtime exception in tests, missing C API h$realloc
40   base-compat-batteries = dontCheck super.base-compat-batteries;
42   # nodejs crashes during test
43   ChasingBottoms = dontCheck super.ChasingBottoms;
45   # runs forever
46   text-short = dontCheck super.text-short;
48   # doctest doesn't work on ghcjs, but sometimes dontCheck doesn't seem to get rid of the dependency
49   doctest = pkgs.lib.warn "ignoring dependency on doctest" null;
51   ghcjs-dom = overrideCabal (drv: {
52     libraryHaskellDepends = with self; [
53       ghcjs-base ghcjs-dom-jsffi text transformers
54     ];
55     configureFlags = [ "-fjsffi" "-f-webkit" ];
56   }) super.ghcjs-dom;
58   ghcjs-dom-jsffi = overrideCabal (drv: {
59     libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base self.text ];
60     broken = false;
61   }) super.ghcjs-dom-jsffi;
63   # https://github.com/Deewiant/glob/issues/39
64   Glob = dontCheck super.Glob;
66   # Test fails to compile during the hsc2hs stage
67   hashable = dontCheck super.hashable;
69   # uses doctest
70   http-types = dontCheck super.http-types;
72   jsaddle = overrideCabal (drv: {
73     libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ];
74   }) super.jsaddle;
76   # Tests hang, possibly some issue with tasty and race(async) usage in the nonTerminating tests
77   logict = dontCheck super.logict;
79   patch = dontCheck super.patch;
81   # TODO: tests hang
82   pcre-light = dontCheck super.pcre-light;
84   # Terminal test not supported on ghcjs
85   QuickCheck = dontCheck super.QuickCheck;
87   reflex = overrideCabal (drv: {
88     libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ];
89   }) super.reflex;
91   reflex-dom = overrideCabal (drv: {
92     libraryHaskellDepends = removeLibraryHaskellDepends ["jsaddle-webkit2gtk"] (drv.libraryHaskellDepends or []);
93   }) super.reflex-dom;
95   # https://github.com/dreixel/syb/issues/21
96   syb = dontCheck super.syb;
98   # nodejs crashes during test
99   scientific = dontCheck super.scientific;
101   # Tests use TH which gives error
102   tasty-quickcheck = dontCheck super.tasty-quickcheck;
104   temporary = dontCheck super.temporary;
106   # 2 tests fail, related to time precision
107   time-compat = dontCheck super.time-compat;
109   # TODO: The tests have a TH error, which has been fixed in ghc
110   # https://gitlab.haskell.org/ghc/ghc/-/issues/15481 but somehow the issue is
111   # still present here https://github.com/glguy/th-abstraction/issues/53
112   th-abstraction = dontCheck super.th-abstraction;
114   # Need hedgehog for tests, which fails to compile due to dep on concurrent-output
115   zenc = dontCheck super.zenc;
117   hspec = self.hspec_2_7_10;
118   hspec-core = self.hspec-core_2_7_10;
119   hspec-meta = self.hspec-meta_2_7_8;
120   hspec-discover = self.hspec-discover_2_7_10;
122   # ReferenceError: h$primop_ShrinkSmallMutableArrayOp_Char is not defined
123   unordered-containers = dontCheck super.unordered-containers;
125   # Without this revert, test suites using tasty fail with:
126   # ReferenceError: h$getMonotonicNSec is not defined
127   # https://github.com/UnkindPartition/tasty/pull/345#issuecomment-1538216407
128   tasty = appendPatch (pkgs.fetchpatch {
129     name = "tasty-ghcjs.patch";
130     url = "https://github.com/UnkindPartition/tasty/commit/e692065642fd09b82acccea610ad8f49edd207df.patch";
131     revert = true;
132     relative = "core";
133     hash = "sha256-ryABU2ywkVOEPC/jWv8humT3HaRpCwMYEk+Ux3hhi/M=";
134   }) super.tasty;
136   # Tests take unacceptably long.
137   vector = dontCheck super.vector;