summary refs log tree commit diff
path: root/pkgs/top-level/haskell-defaults.nix
diff options
context:
space:
mode:
authorRyan Trinkle <ryan.trinkle@gmail.com>2015-01-02 14:19:17 -0500
committerRyan Trinkle <ryan.trinkle@gmail.com>2015-01-02 14:25:16 -0500
commite50802323c3ae38ef7ecce2d438c365bde6c6b0e (patch)
tree527242e72ca6abf3311f781de65b82eac2d2667a /pkgs/top-level/haskell-defaults.nix
parentca9d370f5604d76da19d10a4b669c851fc39d889 (diff)
downloadnixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.tar
nixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.tar.gz
nixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.tar.bz2
nixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.tar.lz
nixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.tar.xz
nixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.tar.zst
nixpkgs-e50802323c3ae38ef7ecce2d438c365bde6c6b0e.zip
Work around issues that appear when compiling the 'split' and 'dependent-map' packages with ghcjs
Diffstat (limited to 'pkgs/top-level/haskell-defaults.nix')
-rw-r--r--pkgs/top-level/haskell-defaults.nix18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 9851a0fcdf3..2c97feca6c0 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -303,6 +303,24 @@
         unix = null;
         unorderedContainers = null;
         vector = null;
+
+        # GHCJS-specific workarounds
+        split = super.split.override {
+          cabal = self.cabal.override {
+            extension = self: super: {
+              doCheck = false; # Under ghcjs, the tests hang
+            };
+          };
+        };
+        dependentMap = super.dependentMap.override {
+          cabal = self.cabal.override {
+            extension = self: super: {
+              preConfigure = ''
+                sed -i 's/^.*ghc-options:.*$//' *.cabal
+              ''; # Without this, we get "target ‘base’ is not a module name or a source file"
+            };
+          };
+        };
       };
     };