Merge pull request #53978 from ElvishJerricco/ghcjs-8.4-8.6-fixes

GHCJS: Fix 8.4 and add 8.6
This commit is contained in:
Peter Simons 2019-02-01 13:37:02 +01:00 committed by GitHub
commit 5649eb713e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 63 additions and 54 deletions

View File

@ -1,6 +0,0 @@
{
"url": "https://github.com/ghcjs/ghcjs",
"rev": "0cff73c3ee13b464adba90f308b77751c75b9f26",
"sha256": "1shg34zi6ryaihar62qdkkalv8dsrsqbv58jzkhk9in38sdfkjxv",
"fetchSubmodules": true
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -0,0 +1,6 @@
{
"url": "https://github.com/ghcjs/ghcjs",
"rev": "75c61af32d73def4409d1fe7b64659c1d28cd075",
"sha256": "18pixn6xdz6qp941yhxfnmwi463jnpskmg473lv07vvgy4hpgjhj",
"fetchSubmodules": true
}

View File

@ -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)";

View File

@ -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

View File

@ -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];
}

View File

@ -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;
}

View File

@ -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.