summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghcjs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghcjs.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix84
1 files changed, 20 insertions, 64 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index 6f68dec78e4..6e8c0be7d0d 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -1,5 +1,10 @@
 { pkgs }:
 
+let
+  removeLibraryHaskellDepends = pnames: depends:
+    builtins.filter (e: !(builtins.elem (e.pname or "") pnames)) depends;
+in
+
 with import ./lib.nix { inherit pkgs; };
 
 self: super: {
@@ -9,10 +14,6 @@ self: super: {
 
   inherit (pkgs.haskell.packages.ghc7102) jailbreak-cabal alex happy gtk2hs-buildtools;
 
-  # Many packages fail with:
-  #   haddock: internal error: expectJust getPackageDetails
-  mkDerivation = drv: super.mkDerivation (drv // { doHaddock = false; });
-
   # This is the list of packages that are built into a booted ghcjs installation
   # It can be generated with the command:
   # nix-shell -p haskell.packages.ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^    \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'"
@@ -58,7 +59,7 @@ self: super: {
   # These packages are core libraries in GHC 7.10.x, but not here.
   bin-package-db = null;
   haskeline = self.haskeline_0_7_2_1;
-  hoopl = self.hoopl_3_10_2_0;
+  hoopl = self.hoopl_3_10_2_1;
   hpc = self.hpc_0_6_0_2;
   terminfo = self.terminfo_0_4_0_1;
   xhtml = self.xhtml_3000_2_1;
@@ -85,8 +86,10 @@ self: super: {
   });
 
   ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
-    buildDepends = [ self.base self.mtl self.text self.ghcjs-base ];
-    libraryHaskellDepends = [ ];
+    libraryHaskellDepends =
+      removeLibraryHaskellDepends [
+        "glib" "gtk" "gtk3" "webkitgtk" "webkitgtk3"
+      ] drv.libraryHaskellDepends;
   });
 
   ghc-paths = overrideCabal super.ghc-paths (drv: {
@@ -96,72 +99,25 @@ self: super: {
   # reflex 0.3, made compatible with the newest GHCJS.
   reflex = overrideCabal super.reflex (drv: {
     src = pkgs.fetchFromGitHub {
-      owner = "k0001";
+      owner = "ryantrinkle";
       repo = "reflex";
-      rev = "e9b2f777ad07875149614e8337507afd5b1a2466";
-      sha256 = "005hr3s6y369pxfdlixi4wabgav0bb653j98788kq9q9ssgijlwn";
+      rev = "cc62c11a6cde31412582758c236919d4bb766ada";
+      sha256 = "1j4vw0636bkl46lj8ry16i04vgpivjc6bs3ls54ppp1wfp63q7w4";
     };
-    libraryHaskellDepends = [
-      self.base self.containers self.dependent-map_0_1_1_3
-      self.dependent-sum_0_2_0_1 self.exception-transformers self.mtl
-      self.primitive self.ref-tf self.semigroups self.template-haskell
-      self.these self.transformers self.transformers-compat
-    ];
   });
 
   # reflex-dom 0.2, made compatible with the newest GHCJS.
   reflex-dom = overrideCabal super.reflex-dom (drv: {
     src = pkgs.fetchFromGitHub {
-      owner = "k0001";
+      owner = "ryantrinkle";
       repo = "reflex-dom";
-      rev = "a117eae8e101198977611f87605a5cb2ae752fc7";
-      sha256 = "18m8ng2fgsfbqdvx5jxy23ndyyhafnxflq8apg5psdz3aqkfimzh";
+      rev = "639d9ca13c2def075e83344c9afca6eafaf24219";
+      sha256 = "0166ihbh3dbfjiym9w561svpgvj0x4i8i8ws70xaafi0cmpsxrar";
     };
-    libraryHaskellDepends = [
-      self.aeson self.base self.bifunctors self.bytestring self.containers
-      self.data-default self.dependent-map_0_1_1_3 self.dependent-sum_0_2_0_1
-      self.dependent-sum-template self.directory
-      self.exception-transformers self.ghcjs-dom self.lens self.mtl self.ref-tf
-      self.reflex self.safe self.semigroups self.text self.these self.time
-      self.transformers
-    ];
-  });
-
-  # required by reflex, reflex-dom
-  dependent-map_0_1_1_3 = self.callPackage (
-    { mkDerivation, base, containers, dependent-sum_0_2_0_1, stdenv
-    }:
-    mkDerivation {
-      pname = "dependent-map";
-      version = "0.1.1.3";
-      sha256 = "1by83rrv8dfn5lxrpx3qzs1lg31fhnzlqy979h8ampyxd0w93pa4";
-      libraryHaskellDepends = [ base containers dependent-sum_0_2_0_1 ];
-      homepage = "https://github.com/mokus0/dependent-map";
-      description = "Dependent finite maps (partial dependent products)";
-      license = "unknown";
-    }
-  ) {};
-
-  # required by reflex, reflex-dom
-  dependent-sum_0_2_0_1 = self.callPackage (
-    { mkDerivation, base, stdenv
-    }:
-    mkDerivation {
-      pname = "dependent-sum";
-      version = "0.2.1.0";
-      sha256 = "1h6wsrh206k6q3jcfdxvlsswbm47x30psp6x30l2z0j9jyf7jpl3";
-      libraryHaskellDepends = [ base ];
-      homepage = "https://github.com/mokus0/dependent-sum";
-      description = "Dependent sum type";
-      license = stdenv.lib.licenses.publicDomain;
-    }
-  ) {};
-
-  # required by reflex-dom
-  dependent-sum-template = overrideCabal super.dependent-sum-template (drv: {
-    libraryHaskellDepends = [
-      self.base self.dependent-sum_0_2_0_1 self.template-haskell self.th-extras
-    ];
+    libraryHaskellDepends =
+      removeLibraryHaskellDepends [
+        "glib" "gtk3" "webkitgtk3" "webkitgtk3-javascriptcore" "raw-strings-qq" "unix"
+      ] drv.libraryHaskellDepends;
   });
 
 }