summaryrefslogtreecommitdiffstats
path: root/pkgs/development/compilers/ghcjs
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2022-04-11 01:26:04 +0200
committersternenseemann <sternenseemann@systemli.org>2022-04-11 01:26:04 +0200
commitfde2e98a0116ddba74569d11f281cd87fbdf13ab (patch)
tree163be4ceaa2ccf4b69128961c0af27089cbc71b9 /pkgs/development/compilers/ghcjs
parent7ae9629cedec5270f5ab42fb08b2f44321602a9b (diff)
haskell.compiler.ghcjs: fix build with aeson 2.0
Diffstat (limited to 'pkgs/development/compilers/ghcjs')
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/common-overrides.nix35
-rw-r--r--pkgs/development/compilers/ghcjs/8.10/default.nix3
2 files changed, 34 insertions, 4 deletions
diff --git a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
index a83795635b90..e1671d01ffe7 100644
--- a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
+++ b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix
@@ -1,8 +1,37 @@
-{ haskellLib }:
+{ haskellLib, fetchpatch, buildPackages }:
-let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak;
+let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak markUnbroken overrideCabal;
in self: super: {
- ghcjs = doJailbreak (super.ghcjs.overrideScope (self: super: {
+ ghcjs = overrideCabal (drv: {
+ # Jailbreak and patch can be dropped after https://github.com/ghcjs/ghcjs/pull/833
+ jailbreak = true;
+ patches = drv.patches or [] ++ [
+ (fetchpatch {
+ name = "ghcjs-aeson-2.0.patch";
+ url = "https://github.com/ghcjs/ghcjs/commit/9ef1f92d740e8503d15d91699f57db147f0474cc.patch";
+ sha256 = "0cgxcy6b5870bv4kj54n3bzcqinh4gl4w4r78dg43h2mblhkzbnj";
+ })
+ ];
+ }) (super.ghcjs.overrideScope (self: super: {
optparse-applicative = self.optparse-applicative_0_15_1_0;
+ webdriver = overrideCabal (drv: {
+ patches = drv.patches or [] ++ [
+ # Patch for aeson 2.0 which adds a lower bound on it, so we don't apply it globally
+ # Pending https://github.com/kallisti-dev/hs-webdriver/pull/183
+ (fetchpatch {
+ name = "webdriver-aeson-2.0.patch";
+ url = "https://github.com/georgefst/hs-webdriver/commit/90ded63218da17fc0bd9f9b208b0b3f60b135757.patch";
+ sha256 = "1xvkk51r2v020xlmci5n1fd1na8raa332lrj7r9f0ijsyfvnqlv0";
+ excludes = [ "webdriver.cabal" ];
+ })
+ ];
+ # Fix line endings so patch applies
+ prePatch = drv.prePatch or "" + ''
+ find . -name '*.hs' | xargs "${buildPackages.dos2unix}/bin/dos2unix"
+ '';
+
+ jailbreak = true;
+ broken = false;
+ }) super.webdriver;
}));
}
diff --git a/pkgs/development/compilers/ghcjs/8.10/default.nix b/pkgs/development/compilers/ghcjs/8.10/default.nix
index 2fbf7ded9c40..78d757efee3c 100644
--- a/pkgs/development/compilers/ghcjs/8.10/default.nix
+++ b/pkgs/development/compilers/ghcjs/8.10/default.nix
@@ -2,6 +2,7 @@
, pkgsHostHost
, callPackage
, fetchgit
+, fetchpatch
, ghcjsSrcJson ? null
, ghcjsSrc ? fetchgit (lib.importJSON ghcjsSrcJson)
, bootPkgs
@@ -36,7 +37,7 @@ let
})
(callPackage ./common-overrides.nix {
- inherit haskellLib;
+ inherit haskellLib fetchpatch buildPackages;
})
ghcjsDepOverrides
]);