about summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorCharles Strahan <charles.c.strahan@gmail.com>2015-03-12 23:20:56 -0400
committerPeter Simons <simons@cryp.to>2015-03-29 03:34:04 +0200
commitd590a0f4b63901766b94ef8691baa389db56d074 (patch)
tree7bf5ab1aa0c0159aeff3ceca338117cc5f6ef5e1 /pkgs/top-level
parent1901f3fe77d24c0eef00f73f73c176fae3bcb44e (diff)
downloadnixlib-d590a0f4b63901766b94ef8691baa389db56d074.tar
nixlib-d590a0f4b63901766b94ef8691baa389db56d074.tar.gz
nixlib-d590a0f4b63901766b94ef8691baa389db56d074.tar.bz2
nixlib-d590a0f4b63901766b94ef8691baa389db56d074.tar.lz
nixlib-d590a0f4b63901766b94ef8691baa389db56d074.tar.xz
nixlib-d590a0f4b63901766b94ef8691baa389db56d074.tar.zst
nixlib-d590a0f4b63901766b94ef8691baa389db56d074.zip
ghcjs: support for Haskell-NG
closes #5828
closes #6786
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix1
-rw-r--r--pkgs/top-level/haskell-defaults.nix91
-rw-r--r--pkgs/top-level/haskell-ng.nix4
-rw-r--r--pkgs/top-level/haskell-packages.nix17
4 files changed, 4 insertions, 109 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e432e24b51c..4e099d17fb10 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3664,7 +3664,6 @@ let
   haskellPackages_ghc784_no_profiling = recurseIntoAttrs haskell.packages_ghc784.noProfiling;
   haskellPackages_ghc784_profiling    = recurseIntoAttrs haskell.packages_ghc784.profiling;
   haskellPackages_ghc784              = recurseIntoAttrs haskell.packages_ghc784.highPrio;
-  haskellPackages_ghcjs = haskell.packages_ghcjs;
   haskellPackages = haskellPackages_ghc784;
 
   haskell-ng = callPackage ./haskell-ng.nix { };
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 204603ddee61..f4d513c0c688 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -17,15 +17,6 @@
   ghcHEADPrefs = self : super : super // {
     cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = null; };
     mtl = self.mtl_2_2_1;
-    ghcjsBase = null;
-    ghcjsDom = with self; super.ghcjsDom.override {
-      cabal = self.cabal.override {
-        extension = self: super: {
-          configureFlags = [ "-f-ghcjs" "-fwebkit" "-f-gtk3" ];
-          buildDepends = [ mtl glib transformers gtk webkit ];
-        };
-      };
-    };
   };
 
   ghc784Prefs = self : super : ghcHEADPrefs self super // {
@@ -200,88 +191,6 @@
                prefFun = ghc784Prefs;
              };
 
-  packages_ghcjs =
-    packages {
-      ghc = pkgs.haskell-ng.compiler.ghc784;
-      prefFun = self : super : super // {
-        ghc = let parent = packages_ghc784; in
-          callPackage ../development/compilers/ghcjs/wrapper.nix {
-            ghc = parent.ghcjs // { inherit parent; };
-          };
-        cabal = self.cabalJs;
-        buildLocalCabalWithArgs = args: super.buildLocalCabalWithArgs (args // {
-          nativePkgs = packages_ghc784;
-        });
-        ghcjsDom = with self; super.ghcjsDom.override {
-          cabal = self.cabal.override {
-            extension = self: super: {
-              configureFlags = [ ];
-              buildDepends = [ mtl ghcjsBase ];
-            };
-          };
-        };
-        # This is the list of packages that are built into a booted ghcjs installation
-        # It can be generated with the command:
-        # nix-shell '<nixpkgs>' -A pkgs.haskellPackages_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;/'"
-        Cabal = null;
-        aeson = null;
-        array = null;
-        async = null;
-        attoparsec = null;
-        base = null;
-        binary = null;
-        rts = null;
-        bytestring = null;
-        caseInsensitive = null;
-        containers = null;
-        deepseq = null;
-        directory = null;
-        dlist = null;
-        extensibleExceptions = null;
-        filepath = null;
-        ghcPrim = null;
-        ghcjsBase = null;
-        ghcjsPrim = null;
-        hashable = null;
-        integerGmp = null;
-        mtl = null;
-        oldLocale = null;
-        oldTime = null;
-        parallel = null;
-        pretty = null;
-        primitive = null;
-        process = null;
-        scientific = null;
-        stm = null;
-        syb = null;
-        templateHaskell = null;
-        text = null;
-        time = null;
-        transformers = null;
-        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"
-            };
-          };
-        };
-      };
-    };
-
   packages_ghc763 =
     packages { ghc = pkgs.haskell-ng.compiler.ghc763;
                prefFun = ghc763Prefs;
diff --git a/pkgs/top-level/haskell-ng.nix b/pkgs/top-level/haskell-ng.nix
index 6a55023d3589..0051c2b3e21f 100644
--- a/pkgs/top-level/haskell-ng.nix
+++ b/pkgs/top-level/haskell-ng.nix
@@ -39,6 +39,9 @@ rec {
     });
     ghc = compiler.ghc784;
 
+    ghcjs = packages.ghc7101.callPackage ../development/compilers/ghcjs {
+      ghc = compiler.ghc7101;
+    };
   };
 
   packages = {
@@ -77,6 +80,7 @@ rec {
       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
     };
     ghcjs = callPackage ../development/haskell-modules {
+      ghc = compiler.ghcjs;
       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index e6c49c1aad87..51141e5ef00f 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -103,15 +103,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     extension = self : super : {};
   };
 
-  cabalJs = callPackage ../build-support/cabal/ghcjs.nix {
-    Cabal = null;               # prefer the Cabal version shipped with the compiler
-    hscolour = self.hscolourBootstrap;
-    inherit enableLibraryProfiling enableCheckPhase
-      enableStaticLibraries enableSharedLibraries enableSharedExecutables;
-    glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null;
-    extension = self : super : {};
-  };
-
   # A variant of the cabal build driver that disables unit testing.
   # Useful for breaking cycles, where the unit test of a package A
   # depends on package B, which has A as a regular build input.
@@ -968,14 +959,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ghcid = callPackage ../development/tools/haskell/ghcid {};
 
-  ghcjs = callPackage ../development/compilers/ghcjs {
-    Cabal = self.Cabal_1_22_0_0;
-    cabalInstall = self.cabalInstall_1_22_0_0;
-    haddock = self.haddock.override {
-      Cabal = null;
-    };
-  };
-
   ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-dom {};
 
   ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {};