diff options
author | Charles Strahan <charles.c.strahan@gmail.com> | 2015-03-12 23:20:56 -0400 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2015-03-29 03:34:04 +0200 |
commit | d590a0f4b63901766b94ef8691baa389db56d074 (patch) | |
tree | 7bf5ab1aa0c0159aeff3ceca338117cc5f6ef5e1 /pkgs/top-level | |
parent | 1901f3fe77d24c0eef00f73f73c176fae3bcb44e (diff) | |
download | nixlib-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.nix | 1 | ||||
-rw-r--r-- | pkgs/top-level/haskell-defaults.nix | 91 | ||||
-rw-r--r-- | pkgs/top-level/haskell-ng.nix | 4 | ||||
-rw-r--r-- | pkgs/top-level/haskell-packages.nix | 17 |
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 {}; |