diff --git a/pkgs/development/compilers/ghcjs-ng/8.2/git.json b/pkgs/development/compilers/ghcjs-ng/8.2/git.json deleted file mode 100644 index efe7794a103..00000000000 --- a/pkgs/development/compilers/ghcjs-ng/8.2/git.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "url": "https://github.com/ghcjs/ghcjs", - "rev": "0cff73c3ee13b464adba90f308b77751c75b9f26", - "sha256": "1shg34zi6ryaihar62qdkkalv8dsrsqbv58jzkhk9in38sdfkjxv", - "fetchSubmodules": true -} diff --git a/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix b/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix index 2d0ed55c6cd..efba0dc8634 100644 --- a/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix +++ b/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix @@ -2,6 +2,8 @@ let inherit (haskellLib) dontCheck doJailbreak; in self: super: { - haddock-library-ghcjs = dontCheck super.haddock-library-ghcjs; + haddock-library-ghcjs = doJailbreak (dontCheck super.haddock-library-ghcjs); haddock-api-ghcjs = doJailbreak super.haddock-api-ghcjs; + + template-haskell-ghcjs = doJailbreak super.template-haskell-ghcjs; } diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix b/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix new file mode 100644 index 00000000000..8681aceacd7 --- /dev/null +++ b/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix @@ -0,0 +1,7 @@ +{ haskellLib }: + +let inherit (haskellLib) dontCheck doJailbreak dontHaddock; +in self: super: { + haddock-library-ghcjs = doJailbreak super.haddock-library-ghcjs; + haddock-api-ghcjs = doJailbreak (dontHaddock super.haddock-api-ghcjs); +} diff --git a/pkgs/development/compilers/ghcjs-ng/8.6/git.json b/pkgs/development/compilers/ghcjs-ng/8.6/git.json new file mode 100644 index 00000000000..37861b96e7a --- /dev/null +++ b/pkgs/development/compilers/ghcjs-ng/8.6/git.json @@ -0,0 +1,6 @@ +{ + "url": "https://github.com/ghcjs/ghcjs", + "rev": "75c61af32d73def4409d1fe7b64659c1d28cd075", + "sha256": "18pixn6xdz6qp941yhxfnmwi463jnpskmg473lv07vvgy4hpgjhj", + "fetchSubmodules": true +} diff --git a/pkgs/development/compilers/ghcjs-ng/8.2/stage0.nix b/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix similarity index 82% rename from pkgs/development/compilers/ghcjs-ng/8.2/stage0.nix rename to pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix index 0680ff156e1..4e5d656cb06 100644 --- a/pkgs/development/compilers/ghcjs-ng/8.2/stage0.nix +++ b/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix @@ -20,7 +20,7 @@ }: mkDerivation { pname = "ghcjs"; - version = "8.2.0.1"; + version = "8.6.0.1"; src = configuredSrc + /.; isLibrary = true; isExecutable = true; @@ -60,17 +60,17 @@ ghc-api-ghcjs = callPackage ({ mkDerivation, array, base, binary, bytestring, containers - , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghci-ghcjs - , hoopl, hpc, process, stdenv, template-haskell-ghcjs, terminfo - , time, transformers, unix + , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghc-heap + , ghci-ghcjs, hpc, process, stdenv, template-haskell-ghcjs + , terminfo, time, transformers, unix }: mkDerivation { pname = "ghc-api-ghcjs"; - version = "8.2.2"; + version = "8.6.2"; src = configuredSrc + /lib/ghc-api-ghcjs; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath - ghc-boot ghc-boot-th ghci-ghcjs hoopl hpc process + ghc-boot ghc-boot-th ghc-heap ghci-ghcjs hpc process template-haskell-ghcjs terminfo time transformers unix ]; homepage = "http://www.haskell.org/ghc/"; @@ -80,16 +80,16 @@ ghci-ghcjs = callPackage ({ mkDerivation, array, base, binary, bytestring, containers - , deepseq, filepath, ghc-boot, ghc-boot-th, stdenv + , deepseq, filepath, ghc-boot, ghc-boot-th, ghc-heap, stdenv , template-haskell-ghcjs, transformers, unix }: mkDerivation { pname = "ghci-ghcjs"; - version = "8.2.2"; + version = "8.6.1"; src = configuredSrc + /lib/ghci-ghcjs; libraryHaskellDepends = [ array base binary bytestring containers deepseq filepath ghc-boot - ghc-boot-th template-haskell-ghcjs transformers unix + ghc-boot-th ghc-heap template-haskell-ghcjs transformers unix ]; description = "The library supporting GHC's interactive interpreter (customized for GHCJS)"; license = stdenv.lib.licenses.bsd3; @@ -119,7 +119,7 @@ }: mkDerivation { pname = "haddock-api-ghcjs"; - version = "2.18.1"; + version = "2.20.0"; src = configuredSrc + /lib/haddock-api-ghcjs; enableSeparateDataOutput = true; libraryHaskellDepends = [ @@ -128,25 +128,33 @@ xhtml ]; testHaskellDepends = [ - base containers ghc-api-ghcjs hspec QuickCheck + array base bytestring Cabal containers deepseq directory filepath + ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs hspec + QuickCheck transformers xhtml ]; testToolDepends = [ hspec-discover ]; homepage = "http://www.haskell.org/haddock/"; - description = "A documentation-generation tool for Haskell libraries (customized for GHCJS)"; + description = "A documentation-generation tool for Haskell libraries"; license = stdenv.lib.licenses.bsd3; }) {}; haddock-library-ghcjs = callPackage - ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec - , hspec-discover, QuickCheck, stdenv, transformers + ({ mkDerivation, base, base-compat, bytestring, containers, deepseq + , directory, filepath, haddock-library, hspec, hspec-discover + , optparse-applicative, parsec, QuickCheck, stdenv, text + , transformers, tree-diff }: mkDerivation { pname = "haddock-library-ghcjs"; - version = "1.4.4"; + version = "1.6.0"; src = configuredSrc + /lib/haddock-library-ghcjs; - libraryHaskellDepends = [ base bytestring deepseq transformers ]; + libraryHaskellDepends = [ + base bytestring containers parsec text transformers + ]; testHaskellDepends = [ - base base-compat bytestring deepseq hspec QuickCheck transformers + base base-compat bytestring containers deepseq directory filepath + haddock-library hspec optparse-applicative parsec QuickCheck text + transformers tree-diff ]; testToolDepends = [ hspec-discover ]; homepage = "http://www.haskell.org/haddock/"; @@ -158,7 +166,7 @@ ({ mkDerivation, base, ghc-boot-th, pretty, stdenv }: mkDerivation { pname = "template-haskell-ghcjs"; - version = "2.12.0.0"; + version = "2.14.0.0"; src = configuredSrc + /lib/template-haskell-ghcjs; libraryHaskellDepends = [ base ghc-boot-th pretty ]; description = "Support library for Template Haskell (customized for GHCJS)"; diff --git a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix index df1394e4a24..56b69ea267f 100644 --- a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix +++ b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix @@ -43,6 +43,8 @@ runCommand "configured-ghcjs-src" { # TODO: How to actually fix this? # Seems to work fine and produce the right files. touch ghc/includes/ghcautoconf.h + mkdir -p ghc/compiler/vectorise + mkdir -p ghc/utils/haddock/haddock-library/vendor patchShebangs . ./utils/makePackages.sh copy diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix index 6fd844adbe5..14a21078389 100644 --- a/pkgs/development/compilers/ghcjs-ng/default.nix +++ b/pkgs/development/compilers/ghcjs-ng/default.nix @@ -104,7 +104,5 @@ in stdenv.mkDerivation { inherit passthru; meta.platforms = passthru.bootPkgs.ghc.meta.platforms; - meta.hydraPlatforms = []; - meta.broken = true; # does not compile: https://hydra.nixos.org/build/88052615 - + meta.maintainers = [lib.maintainers.elvishjerricco]; } diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index 04e0a755d10..bd51e4f6c85 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -76,4 +76,7 @@ self: super: { haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1); })); + # cabal2nix doesn't list this because of a conditional on the GHC version. + aeson = addBuildDepend super.aeson self.contravariant; + } diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 2b8078a7fa9..15d4cf3f213 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -9,8 +9,8 @@ let "ghc863Binary" "ghc844" "ghcjs" - "ghcjs82" "ghcjs84" + "ghcjs86" "integer-simple" ]; @@ -83,18 +83,19 @@ in { buildLlvmPackages = buildPackages.llvmPackages_6; llvmPackages = pkgs.llvmPackages_6; }; - ghcjs = compiler.ghcjs84; - ghcjs82 = callPackage ../development/compilers/ghcjs-ng { - bootPkgs = packages.ghc822; - ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.2/git.json; - stage0 = ../development/compilers/ghcjs-ng/8.2/stage0.nix; - }; + ghcjs = compiler.ghcjs86; ghcjs84 = callPackage ../development/compilers/ghcjs-ng { bootPkgs = packages.ghc844; ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.4/git.json; stage0 = ../development/compilers/ghcjs-ng/8.4/stage0.nix; ghcjsDepOverrides = callPackage ../development/compilers/ghcjs-ng/8.4/dep-overrides.nix {}; }; + ghcjs86 = callPackage ../development/compilers/ghcjs-ng { + bootPkgs = packages.ghc863; + ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.6/git.json; + stage0 = ../development/compilers/ghcjs-ng/8.6/stage0.nix; + ghcjsDepOverrides = callPackage ../development/compilers/ghcjs-ng/8.6/dep-overrides.nix {}; + }; # The integer-simple attribute set contains all the GHC compilers # build with integer-simple instead of integer-gmp. @@ -155,31 +156,19 @@ in { ghc = bh.compiler.ghcHEAD; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { }; }; - ghcjs = packages.ghcjs84; - ghcjs710 = callPackage ../development/haskell-modules rec { - buildHaskellPackages = ghc.bootPkgs; - ghc = bh.compiler.ghcjs710; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { }; - packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; - }; - ghcjs80 = callPackage ../development/haskell-modules rec { - buildHaskellPackages = ghc.bootPkgs; - ghc = bh.compiler.ghcjs80; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { }; - packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; - }; - ghcjs82 = callPackage ../development/haskell-modules rec { - buildHaskellPackages = ghc.bootPkgs; - ghc = bh.compiler.ghcjs82; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { }; - packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; - }; + ghcjs = packages.ghcjs86; ghcjs84 = callPackage ../development/haskell-modules rec { buildHaskellPackages = ghc.bootPkgs; ghc = bh.compiler.ghcjs84; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { }; packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; }; + ghcjs86 = callPackage ../development/haskell-modules rec { + buildHaskellPackages = ghc.bootPkgs; + ghc = bh.compiler.ghcjs86; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; + packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; + }; # The integer-simple attribute set contains package sets for all the GHC compilers # using integer-simple instead of integer-gmp.