on iko/ghcjs-patch-master help sign in
Fixing emcc usage in haskell.nix ghcjs (#1064)

* Use emscripten branch of GHCJS for 8.6 * Adds release-linux-only.nix (for hydra with no mac builders) * Sets HOME to a temp dir once per derivation to help performance of emcc * Updates materialization * Uses symlinks to reduce ghc derivation size for wrapped ghcjs * Removes compiler-nix-name test This test checked that the default compiler was overridden by the compiler-nix-name arg. There is no default any more. The GHCJS branches used include fixes for: * hs$ret_1 typo (should be hs$ret1) * A bignum issue

commit4d700cf15592d65f4251d67cc6f8abe8e8aa6c48 authorHamish Mackenzie <Hamish.Mackenzie@iohk.io> dateFri 12 Mar 2021, 12:21 (6 years ago) parent5363271
24 files changed+848−1098
builder/comp-builder.nix+4 compiler/ghcjs/ghcjs-src.json+2−2 compiler/ghcjs/ghcjs.nix+23−15 compiler/ghcjs/ghcjs88-src.json+2−2 lib/ghcjs-project.nix+5−24 materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.5-x86_64-linux/ghc-pkg/dump-global+2−65 materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.5-x86_64-linux/ghc/info+18−17 materialized/ghcjs/alex/ghc865/default.nix−2 materialized/ghcjs/alex/ghc884/default.nix−2 materialized/ghcjs/cabal/ghc865/default.nix+8−9 materialized/ghcjs/cabal/ghc884/default.nix+8−9 materialized/ghcjs/happy/ghc865/default.nix−12 materialized/ghcjs/happy/ghc884/default.nix−12 materialized/ghcjs865/.plan.nix/ghc-api-ghcjs.nix−589 materialized/ghcjs865/.plan.nix/ghcjs.nix+712−56 materialized/ghcjs865/.plan.nix/haddock-api-ghcjs.nix−184 materialized/ghcjs865/default.nix+16−21 overlays/bootstrap.nix+13−16 overlays/emscripten.nix+31−3 release-linux-only.nix+4 test/compiler-nix-name/Main.hs−5 test/compiler-nix-name/compiler-nix-name.cabal−11 test/compiler-nix-name/default.nix−41 test/default.nix−1
builder/comp-builder.nix+4
@@ -329,6 +329,10 @@ let
329329 ++ (lib.optional keepSource "source");
330330
331331 configurePhase =
332+ # emcc is very slow if it cannot cache stuff in $HOME
333+ (lib.optionalString (stdenv.hostPlatform.isGhcjs) ''
334+ export HOME=$(mktemp -d)
335+ '') +
332336 (lib.optionalString (!canCleanSource) ''
333337 echo "Cleaning component source not supported, leaving it un-cleaned"
334338 '') +
compiler/ghcjs/ghcjs-src.json+2−2
@@ -1,6 +1,6 @@
11{
22 "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "31a54f7320b1f9700eb6389c2eb2d50c712e8371",
4− "sha256": "1cj1gfqcj0ygc23xj5gbm0ym9wmh8ini57zlgd6s25avgjbrwga6",
3+ "rev": "30706cd687a301776ba4c1efd3db442fa9c78883",
4+ "sha256": "sha256-7mJ/y6l89Rq/rIvZLZAOGpHsiBJ5BPCUuZIu2nxc6Dk=",
55 "fetchSubmodules": true
66}
compiler/ghcjs/ghcjs.nix+23−15
@@ -1,7 +1,7 @@
11{ pkgs
22, ghcjsSrcJson ? ./ghcjs-src.json
33, ghcjsSrc ? pkgs.buildPackages.fetchgit (builtins.fromJSON (builtins.readFile ghcjsSrcJson))
4−, ghcjsVersion ? "8.6.0.1"
4+, ghcjsVersion ? "8.6.0.0.10"
55, ghcVersion ? "8.6.5"
66, compiler-nix-name ? if builtins.compareVersions ghcjsVersion "8.8.0.0" > 0
77 then "ghc884"
@@ -24,21 +24,25 @@ let
2424 all-ghcjs = pkgs.buildPackages.symlinkJoin {
2525 name = "ghcjs-${ghcjsVersion}-symlinked";
2626 paths = [
27− (ghcjs.getComponent "exe:ghcjs")
28− (ghcjs.getComponent "exe:ghcjs-pkg")
2927 (ghcjs.getComponent "exe:ghcjs-boot")
30− (ghcjs.getComponent "exe:ghcjs-dumparchive")
3128 ] ++ (if isGhcjs88
3229 then [
30+ (ghcjs.getComponent "exe:ghcjs")
31+ (ghcjs.getComponent "exe:ghcjs-pkg")
32+ (ghcjs.getComponent "exe:private-ghcjs-hsc2hs")
3333 (ghcjs.getComponent "exe:haddock")
34+ (ghcjs.getComponent "exe:ghcjs-dumparchive")
3435 (ghcjs.getComponent "exe:private-ghcjs-run")
3536 (ghcjs.getComponent "exe:private-ghcjs-unlit")
36− (ghcjs.getComponent "exe:private-ghcjs-hsc2hs")
3737 ]
3838 else [
39− (ghcjs.getComponent "exe:haddock-ghcjs")
40− (ghcjs.getComponent "exe:hsc2hs-ghcjs")
41− (ghcjs.getComponent "exe:ghcjs-run")
39+ (ghcjs.getComponent "exe:private-ghcjs-ghcjs")
40+ (ghcjs.getComponent "exe:private-ghcjs-ghcjs-pkg")
41+ (ghcjs.getComponent "exe:private-ghcjs-run")
42+ (ghcjs.getComponent "exe:private-ghcjs-unlit")
43+ (ghcjs.getComponent "exe:private-ghcjs-hsc2hs")
44+ (ghcjs.getComponent "exe:private-ghcjs-haddock")
45+ (ghcjs.getComponent "exe:private-ghcjs-ghcjs-dumparchive")
4246 ]);
4347 };
4448 libexec = "libexec/${builtins.replaceStrings ["darwin" "i686"] ["osx" "i386"] pkgs.stdenv.buildPlatform.system}-${ghc.name}/ghcjs-${ghcVersion}";
@@ -77,13 +81,17 @@ let
7781 wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/package.conf.d"
7882 ''
7983 else ''
80− mkdir -p $out/bin
84+ mkdir -p $out
85+ lndir ${all-ghcjs} $out
8186 mkdir -p $out/lib/ghcjs-${ghcVersion}
82− lndir ${all-ghcjs}/${libexec} $out/bin
87+ rm $out/bin/ghcjs-boot
88+ cp ${ghcjs.getComponent "exe:ghcjs-boot"}/bin/ghcjs-boot $out/bin
89+ wrapProgram $out/bin/ghcjs-boot --set ghcjs_libexecdir $out/bin
90+ mv $out/${libexec}/* $out/bin
8391
84− wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib/ghcjs-${ghcVersion}"
85− wrapProgram $out/bin/haddock-ghcjs --add-flags "-B$out/lib/ghcjs-${ghcVersion}"
86− wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/ghcjs-${ghcVersion}/package.conf.d"
92+ wrapProgram $out/bin/private-ghcjs-ghcjs --add-flags "-B$out/lib"
93+ wrapProgram $out/bin/private-ghcjs-haddock --add-flags "-B$out/lib"
94+ wrapProgram $out/bin/private-ghcjs-ghcjs-pkg --add-flags "--global-package-db=$out/lib/package.conf.d"
8795 ''
8896 }
8997 # Avoid timeouts while unix package runs hsc2hs (it does not print anything
@@ -101,12 +109,12 @@ let
101109 # Unsets NIX_CFLAGS_COMPILE so the osx version of iconv.h is not used by mistake
102110 ''
103111 env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
104− PYTHON=${pkgs.buildPackages.python3}/bin/python3 \
105112 $out/bin/ghcjs-boot -j1 --with-emsdk=${project.emsdk} --no-prof --no-haddock \
106113 || (echo failed > $TMP/done; false)
107114 ''
108115 else ''
109− env PATH=$out/bin:$PATH $out/bin/ghcjs-boot -j1 --with-ghcjs-bin $out/bin \
116+ env -u NIX_CFLAGS_COMPILE PATH=$out/bin:$PATH \
117+ $out/bin/ghcjs-boot -j1 --with-ghcjs-libdir=$out --with-emsdk=${project.emsdk} \
110118 || (echo failed > $TMP/done; false)
111119 ''
112120 }
compiler/ghcjs/ghcjs88-src.json+2−2
@@ -1,6 +1,6 @@
11{
22 "url": "https://github.com/ghcjs/ghcjs",
3− "rev": "23e75593937dc15eaee73bed1443450fc68bd277",
4− "sha256": "1cj4q2rx3xs8zfkpjjwfdfadidg0wgn3qisffiikxmgf41b4a760",
3+ "rev": "1af48a877fdf1f647a3b81e828a1e61adb0baceb",
4+ "sha256": "sha256-B4LFpd1nl96SO6/gsTjkizMGSglMkrujmwgXVjahC68=",
55 "fetchSubmodules": true
66}
lib/ghcjs-project.nix+5−24
@@ -62,17 +62,9 @@ let
6262 alex
6363 cabal-install
6464 ];
65− # nixpkgs does not have an emsdk, this derivation uses symlinks to make something
66− # that matches enought for `ghcjs-boot` to work
67− emscriptenupstream = pkgs.buildPackages.emscriptenupstream;
68− emscripten = pkgs.buildPackages.emscripten.override {
69− emscriptenBackend = emscriptenupstream;
70− };
71− emsdk = pkgs.linkFarm "emsdk" [
72− { name = "upstream/bin"; path = emscriptenupstream + "/bin"; }
73− { name = "upstream/emscripten"; path = emscripten + "/bin"; }
74− { name = "share"; path = emscripten + "/share"; }
75− ];
65+
66+ inherit (pkgs.buildPackages) emscriptenupstream emscripten emsdk;
67+
7668 # Inputs needed to boot the GHCJS compiler
7769 bootInputs = with pkgs.buildPackages; [
7870 nodejs
@@ -81,11 +73,7 @@ let
8173 gmp
8274 pkgconfig
8375 ]
84− ++ [ ghc cabal-install ]
85− ++ lib.optionals stdenv.isDarwin [
86− pkgs.buildPackages.gcc # https://github.com/ghcjs/ghcjs/issues/663
87− ]
88− ++ lib.optional isGhcjs88 [ emsdk ];
76+ ++ [ ghc cabal-install emsdk ];
8977 # Configured the GHCJS source
9078 configured-src = pkgs.runCommand "configured-ghcjs-src" {
9179 buildInputs = configureInputs;
@@ -123,14 +111,7 @@ let
123111 sed -i 's/gcc /cc /g' utils/makePackages.sh
124112 ./utils/makePackages.sh copy
125113
126− ${
127− # nuke the HsBaseConfig.h from base.buildinfo.in; this will
128− # prevent it from being installed and provide incorrect values.
129− pkgs.lib.optionalString (!isGhcjs88) ''
130− echo " build-tool-depends: alex:alex, happy:happy <= 1.19.9" >> lib/ghc-api-ghcjs/ghc-api-ghcjs.cabal
131− sed -i 's/HsBaseConfig.h//g' lib/boot/pkg/base/base.buildinfo.in
132− ''
133− }'';
114+ '';
134115 # see https://github.com/ghcjs/ghcjs/issues/751 for the happy upper bound.
135116
136117 ghcjsProject = pkgs.haskell-nix.cabalProject' (
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.5-x86_64-linux/ghc-pkg/dump-global+2−65
@@ -741,8 +741,6 @@ exposed-modules:
741741 GHC.Integer.Logarithms.Internals
742742hidden-modules: GHC.Integer.Type
743743hs-libraries: HSinteger-gmp-1.0.2.0-6GHJbRN6krEDXGMaCSGBVX
744−extra-libraries:
745− gmp
746744depends:
747745 ghc-prim-0.5.3-D5yTV0DK5iW2rkul1Hko6R
748746---
@@ -890,70 +888,11 @@ key: rts
890888license: BSD-3-Clause
891889maintainer: glasgow-haskell-users@haskell.org
892890exposed: True
893−hs-libraries: HSrts
891+hs-libraries: HSrts Cffi
894892extra-libraries:
895− m rt dl ffi numa pthread
893+ m dl
896894includes:
897895 Stg.h
898−ld-options: "-Wl,-u,base_GHCziTopHandler_runIO_closure"
899− "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
900− "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
901− "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
902− "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
903− "-Wl,-u,base_GHCziPack_unpackCString_closure"
904− "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
905− "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
906− "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
907− "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
908− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
909− "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
910− "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
911− "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
912− "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
913− "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
914− "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
915− "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
916− "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
917− "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
918− "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
919− "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
920− "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
921− "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
922− "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
923− "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
924− "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
925− "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
926− "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
927− "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
928− "-Wl,-u,base_GHCziPtr_Ptr_con_info"
929− "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
930− "-Wl,-u,base_GHCziInt_I8zh_con_info"
931− "-Wl,-u,base_GHCziInt_I16zh_con_info"
932− "-Wl,-u,base_GHCziInt_I32zh_con_info"
933− "-Wl,-u,base_GHCziInt_I64zh_con_info"
934− "-Wl,-u,base_GHCziWord_W8zh_con_info"
935− "-Wl,-u,base_GHCziWord_W16zh_con_info"
936− "-Wl,-u,base_GHCziWord_W32zh_con_info"
937− "-Wl,-u,base_GHCziWord_W64zh_con_info"
938− "-Wl,-u,base_GHCziStable_StablePtr_con_info"
939− "-Wl,-u,hs_atomic_add8" "-Wl,-u,hs_atomic_add16"
940− "-Wl,-u,hs_atomic_add32" "-Wl,-u,hs_atomic_add64"
941− "-Wl,-u,hs_atomic_sub8" "-Wl,-u,hs_atomic_sub16"
942− "-Wl,-u,hs_atomic_sub32" "-Wl,-u,hs_atomic_sub64"
943− "-Wl,-u,hs_atomic_and8" "-Wl,-u,hs_atomic_and16"
944− "-Wl,-u,hs_atomic_and32" "-Wl,-u,hs_atomic_and64"
945− "-Wl,-u,hs_atomic_nand8" "-Wl,-u,hs_atomic_nand16"
946− "-Wl,-u,hs_atomic_nand32" "-Wl,-u,hs_atomic_nand64"
947− "-Wl,-u,hs_atomic_or8" "-Wl,-u,hs_atomic_or16"
948− "-Wl,-u,hs_atomic_or32" "-Wl,-u,hs_atomic_or64"
949− "-Wl,-u,hs_atomic_xor8" "-Wl,-u,hs_atomic_xor16"
950− "-Wl,-u,hs_atomic_xor32" "-Wl,-u,hs_atomic_xor64"
951− "-Wl,-u,hs_cmpxchg8" "-Wl,-u,hs_cmpxchg16" "-Wl,-u,hs_cmpxchg32"
952− "-Wl,-u,hs_cmpxchg64" "-Wl,-u,hs_atomicread8"
953− "-Wl,-u,hs_atomicread16" "-Wl,-u,hs_atomicread32"
954− "-Wl,-u,hs_atomicread64" "-Wl,-u,hs_atomicwrite8"
955− "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32"
956− "-Wl,-u,hs_atomicwrite64"
957896---
958897name: template-haskell
959898version: 2.14.0.0
@@ -1175,8 +1114,6 @@ hidden-modules: System.Posix.Directory.Common
11751114 System.Posix.IO.Common System.Posix.Process.Common
11761115 System.Posix.Terminal.Common
11771116hs-libraries: HSunix-2.7.2.2-JxmyTgtpFqj7lvsQuv62w2
1178−extra-libraries:
1179− rt util dl pthread
11801117includes:
11811118 HsUnix.h execvpe.h
11821119depends:
materialized/dummy-ghc/js-unknown-ghcjs-js-unknown-ghcjs-ghc-8.6.5-x86_64-linux/ghc/info+18−17
@@ -1,31 +1,33 @@
11 [("Project name","The Glorious Glasgow Haskell Compilation System for JavaScript")
22 ,("Project version","8.6.5")
3− ,("Native Too","NO")
43 ,("GCC extra via C opts"," -fwrapv -fno-builtin")
5− ,("C compiler flags"," -fno-stack-protector")
4+ ,("C compiler flags","")
65 ,("C compiler link flags"," ")
7− ,("C compiler supports -no-pie","YES")
8− ,("Haskell CPP flags","-E -undef -traditional")
6+ ,("C compiler supports -no-pie","NO")
7+ ,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs")
8+ ,("ld command","ld")
99 ,("ld flags","")
1010 ,("ld supports compact unwind","YES")
11− ,("ld supports build-id","YES")
12− ,("ld supports filelist","NO")
13− ,("ld is GNU ld","YES")
14− ,("ar flags","q")
15− ,("ar supports at file","YES")
11+ ,("ld supports build-id","NO")
12+ ,("ld supports filelist","YES")
13+ ,("ld is GNU ld","NO")
14+ ,("ar flags","qcls")
15+ ,("ar supports at file","NO")
1616 ,("touch command","touch")
1717 ,("dllwrap command","/bin/false")
1818 ,("windres command","/bin/false")
1919 ,("libtool command","libtool")
20− ,("cross compiling","NO")
21− ,("target os","OSLinux")
22− ,("target arch","ArchX86_64")
23− ,("target word size","8")
24− ,("target has GNU nonexec stack","True")
20+ ,("perl command","/usr/bin/perl")
21+ ,("cross compiling","YES")
22+ ,("target os","OSUnknown")
23+ ,("target arch","ArchJavaScript")
24+ ,("Target platform","wasm32-unknown-none")
25+ ,("target word size","4")
26+ ,("target has GNU nonexec stack","False")
2527 ,("target has .ident directive","True")
26− ,("target has subsections via symbols","False")
28+ ,("target has subsections via symbols","True")
2729 ,("target has RTS linker","YES")
28− ,("Unregisterised","NO")
30+ ,("Unregisterised","YES")
2931 ,("LLVM llc command","llc")
3032 ,("LLVM opt command","opt")
3133 ,("LLVM clang command","clang")
@@ -34,7 +36,6 @@
3436 ,("Stage","2")
3537 ,("Build platform","x86_64-unknown-linux")
3638 ,("Host platform","x86_64-unknown-linux")
37− ,("Target platform","x86_64-unknown-linux")
3839 ,("Have interpreter","YES")
3940 ,("Object splitting supported","YES")
4041 ,("Have native code generator","YES")
materialized/ghcjs/alex/ghc865/default.nix−2
@@ -12,7 +12,6 @@
1212 "base".revision = (((hackage."base")."4.12.0.0").revisions).default;
1313 "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
1414 "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
15− "process".revision = (((hackage."process")."1.6.5.0").revisions).default;
1615 "array".revision = (((hackage."array")."0.5.3.0").revisions).default;
1716 "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
1817 };
@@ -30,7 +29,6 @@
3029 "base" = "4.12.0.0";
3130 "time" = "1.8.0.2";
3231 "filepath" = "1.4.2.1";
33− "process" = "1.6.5.0";
3432 "array" = "0.5.3.0";
3533 "integer-gmp" = "1.0.2.0";
3634 };
materialized/ghcjs/alex/ghc884/default.nix−2
@@ -12,7 +12,6 @@
1212 "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
1313 "time".revision = (((hackage."time")."1.9.3").revisions).default;
1414 "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
15− "process".revision = (((hackage."process")."1.6.9.0").revisions).default;
1615 "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
1716 "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
1817 };
@@ -30,7 +29,6 @@
3029 "base" = "4.13.0.0";
3130 "time" = "1.9.3";
3231 "filepath" = "1.4.2.1";
33− "process" = "1.6.9.0";
3432 "array" = "0.5.4.0";
3533 "integer-gmp" = "1.0.2.0";
3634 };
materialized/ghcjs/cabal/ghc865/default.nix+8−9
@@ -2,7 +2,8 @@
22 pkgs = hackage:
33 {
44 packages = {
5− "cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.101.0").revisions).default;
5+ "cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.102.0").revisions).default;
6+ "cryptohash-sha256".flags.use-cbits = true;
67 "cryptohash-sha256".flags.exe = false;
78 "binary".revision = (((hackage."binary")."0.8.6.0").revisions).default;
89 "tar".revision = (((hackage."tar")."0.5.1.1").revisions).default;
@@ -13,8 +14,8 @@
1314 "stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
1415 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
1516 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
16− "network-uri".revision = (((hackage."network-uri")."2.6.3.0").revisions).default;
17− "zlib".revision = (((hackage."zlib")."0.6.2.2").revisions).default;
17+ "network-uri".revision = (((hackage."network-uri")."2.6.4.1").revisions).default;
18+ "zlib".revision = (((hackage."zlib")."0.6.2.3").revisions).default;
1819 "zlib".flags.non-blocking-ffi = false;
1920 "zlib".flags.bundled-c-zlib = false;
2021 "zlib".flags.pkg-config = false;
@@ -23,10 +24,10 @@
2324 "random".revision = (((hackage."random")."1.1").revisions).default;
2425 "network".revision = (((hackage."network")."3.1.2.1").revisions).default;
2526 "network".flags.devel = false;
26− "async".revision = (((hackage."async")."2.2.2").revisions).default;
27+ "async".revision = (((hackage."async")."2.2.3").revisions).default;
2728 "async".flags.bench = false;
2829 "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
29− "echo".revision = (((hackage."echo")."0.1.3").revisions).default;
30+ "echo".revision = (((hackage."echo")."0.1.4").revisions).default;
3031 "echo".flags.example = false;
3132 "hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
3233 "hsc2hs".flags.in-ghc-tree = false;
@@ -41,13 +42,11 @@
4142 "base64-bytestring".revision = (((hackage."base64-bytestring")."1.2.0.1").revisions).default;
4243 "base".revision = (((hackage."base")."4.12.0.0").revisions).default;
4344 "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
45+ "th-compat".revision = (((hackage."th-compat")."0.1.1").revisions).default;
4446 "base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.7").revisions).default;
4547 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
46− "hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
47− "hashable".flags.sse2 = true;
48+ "hashable".revision = (((hackage."hashable")."1.3.1.0").revisions).default;
4849 "hashable".flags.integer-gmp = true;
49− "hashable".flags.sse41 = false;
50− "hashable".flags.examples = false;
5150 "HTTP".revision = (((hackage."HTTP")."4000.3.15").revisions).default;
5251 "HTTP".flags.mtl1 = false;
5352 "HTTP".flags.conduit10 = false;
materialized/ghcjs/cabal/ghc884/default.nix+8−9
@@ -2,7 +2,8 @@
22 pkgs = hackage:
33 {
44 packages = {
5− "cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.101.0").revisions).default;
5+ "cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.102.0").revisions).default;
6+ "cryptohash-sha256".flags.use-cbits = true;
67 "cryptohash-sha256".flags.exe = false;
78 "binary".revision = (((hackage."binary")."0.8.7.0").revisions).default;
89 "tar".revision = (((hackage."tar")."0.5.1.1").revisions).default;
@@ -13,8 +14,8 @@
1314 "stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
1415 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
1516 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
16− "network-uri".revision = (((hackage."network-uri")."2.6.3.0").revisions).default;
17− "zlib".revision = (((hackage."zlib")."0.6.2.2").revisions).default;
17+ "network-uri".revision = (((hackage."network-uri")."2.6.4.1").revisions).default;
18+ "zlib".revision = (((hackage."zlib")."0.6.2.3").revisions).default;
1819 "zlib".flags.non-blocking-ffi = false;
1920 "zlib".flags.bundled-c-zlib = false;
2021 "zlib".flags.pkg-config = false;
@@ -23,10 +24,10 @@
2324 "random".revision = (((hackage."random")."1.1").revisions).default;
2425 "network".revision = (((hackage."network")."3.1.2.1").revisions).default;
2526 "network".flags.devel = false;
26− "async".revision = (((hackage."async")."2.2.2").revisions).default;
27+ "async".revision = (((hackage."async")."2.2.3").revisions).default;
2728 "async".flags.bench = false;
2829 "parsec".revision = (((hackage."parsec")."3.1.14.0").revisions).default;
29− "echo".revision = (((hackage."echo")."0.1.3").revisions).default;
30+ "echo".revision = (((hackage."echo")."0.1.4").revisions).default;
3031 "echo".flags.example = false;
3132 "hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
3233 "hsc2hs".flags.in-ghc-tree = false;
@@ -41,13 +42,11 @@
4142 "base64-bytestring".revision = (((hackage."base64-bytestring")."1.2.0.1").revisions).default;
4243 "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
4344 "time".revision = (((hackage."time")."1.9.3").revisions).default;
45+ "th-compat".revision = (((hackage."th-compat")."0.1.1").revisions).default;
4446 "base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.7").revisions).default;
4547 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
46− "hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
47− "hashable".flags.sse2 = true;
48+ "hashable".revision = (((hackage."hashable")."1.3.1.0").revisions).default;
4849 "hashable".flags.integer-gmp = true;
49− "hashable".flags.sse41 = false;
50− "hashable".flags.examples = false;
5150 "HTTP".revision = (((hackage."HTTP")."4000.3.15").revisions).default;
5251 "HTTP".flags.mtl1 = false;
5352 "HTTP".flags.conduit10 = false;
materialized/ghcjs/happy/ghc865/default.nix−12
@@ -3,18 +3,12 @@
33 {
44 packages = {
55 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
76 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
87 "rts".revision = (((hackage."rts")."1.0").revisions).default;
98 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
10− "directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
119 "containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
12− "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
1310 "base".revision = (((hackage."base")."4.12.0.0").revisions).default;
14− "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
1511 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
16− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
17− "process".revision = (((hackage."process")."1.6.5.0").revisions).default;
1812 "array".revision = (((hackage."array")."0.5.3.0").revisions).default;
1913 "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
2014 };
@@ -23,18 +17,12 @@
2317 nix-name = "ghc865";
2418 packages = {
2519 "ghc-prim" = "0.5.3";
26− "unix" = "2.7.2.2";
2720 "mtl" = "2.2.2";
2821 "rts" = "1.0";
2922 "deepseq" = "1.4.4.0";
30− "directory" = "1.3.3.0";
3123 "containers" = "0.6.0.1";
32− "bytestring" = "0.10.8.2";
3324 "base" = "4.12.0.0";
34− "time" = "1.8.0.2";
3525 "transformers" = "0.5.6.2";
36− "filepath" = "1.4.2.1";
37− "process" = "1.6.5.0";
3826 "array" = "0.5.3.0";
3927 "integer-gmp" = "1.0.2.0";
4028 };
materialized/ghcjs/happy/ghc884/default.nix−12
@@ -3,18 +3,12 @@
33 {
44 packages = {
55 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
6− "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
76 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
87 "rts".revision = (((hackage."rts")."1.0").revisions).default;
98 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
10− "directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
119 "containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
12− "bytestring".revision = (((hackage."bytestring")."0.10.10.1").revisions).default;
1310 "base".revision = (((hackage."base")."4.13.0.0").revisions).default;
14− "time".revision = (((hackage."time")."1.9.3").revisions).default;
1511 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
16− "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
17− "process".revision = (((hackage."process")."1.6.9.0").revisions).default;
1812 "array".revision = (((hackage."array")."0.5.4.0").revisions).default;
1913 "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
2014 };
@@ -23,18 +17,12 @@
2317 nix-name = "ghc884";
2418 packages = {
2519 "ghc-prim" = "0.5.3";
26− "unix" = "2.7.2.2";
2720 "mtl" = "2.2.2";
2821 "rts" = "1.0";
2922 "deepseq" = "1.4.4.0";
30− "directory" = "1.3.6.0";
3123 "containers" = "0.6.2.1";
32− "bytestring" = "0.10.10.1";
3324 "base" = "4.13.0.0";
34− "time" = "1.9.3";
3525 "transformers" = "0.5.6.2";
36− "filepath" = "1.4.2.1";
37− "process" = "1.6.9.0";
3826 "array" = "0.5.4.0";
3927 "integer-gmp" = "1.0.2.0";
4028 };
materialized/ghcjs865/.plan.nix/ghc-api-ghcjs.nixdeleted−589
@@ -1,589 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = {
12− debug = false;
13− ghci = true;
14− stage1 = false;
15− stage2 = true;
16− stage3 = false;
17− terminfo = true;
18− use-host-template-haskell = false;
19− };
20− package = {
21− specVersion = "2.0";
22− identifier = { name = "ghc-api-ghcjs"; version = "8.6.5"; };
23− license = "BSD-3-Clause";
24− copyright = "";
25− maintainer = "glasgow-haskell-users@haskell.org";
26− author = "The GHC Team";
27− homepage = "http://www.haskell.org/ghc/";
28− url = "";
29− synopsis = "The GHC API (customized for GHCJS)";
30− description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.";
31− buildType = "Simple";
32− isLocal = true;
33− detailLevel = "FullDetails";
34− licenseFiles = [ "LICENSE" ];
35− dataDir = ".";
36− dataFiles = [];
37− extraSrcFiles = [
38− "compiler/utils/md5.h"
39− "compiler/Unique.h"
40− "compiler/HsVersions.h"
41− "compiler/nativeGen/NCG.h"
42− "compiler/parser/cutils.h"
43− "compiler/utils/md5.h"
44− "includes/CodeGen.Platform.hs"
45− "autogen/Config.hs"
46− "autogen/864/Config.hs"
47− "autogen/863/Config.hs"
48− "includes/GHCConstantsHaskellExports.hs"
49− "includes/GHCConstantsHaskellType.hs"
50− "includes/GHCConstantsHaskellWrappers.hs"
51− "includes/*.h"
52− "includes/*.hs-incl"
53− "includes/rts/*.h"
54− "includes/rts/storage/*.h"
55− "includes/stg/*.h"
56− ];
57− extraTmpFiles = [];
58− extraDocFiles = [];
59− };
60− components = {
61− "library" = {
62− depends = ([
63− (hsPkgs."base" or (errorHandler.buildDepError "base"))
64− (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
65− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
66− (hsPkgs."process" or (errorHandler.buildDepError "process"))
67− (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
68− (hsPkgs."binary" or (errorHandler.buildDepError "binary"))
69− (hsPkgs."time" or (errorHandler.buildDepError "time"))
70− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
71− (hsPkgs."array" or (errorHandler.buildDepError "array"))
72− (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
73− (hsPkgs."hpc" or (errorHandler.buildDepError "hpc"))
74− (hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
75− (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
76− (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
77− (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
78− ] ++ (if flags.use-host-template-haskell || compiler.isGhcjs && true
79− then [
80− (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
81− (hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
82− ]
83− else [
84− (hsPkgs."template-haskell-ghcjs" or (errorHandler.buildDepError "template-haskell-ghcjs"))
85− (hsPkgs."ghci-ghcjs" or (errorHandler.buildDepError "ghci-ghcjs"))
86− ])) ++ (if system.isWindows
87− then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
88− else [
89− (hsPkgs."unix" or (errorHandler.buildDepError "unix"))
90− ] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (errorHandler.buildDepError "terminfo")));
91− build-tools = [
92− (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
93− (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex")))
94− (hsPkgs.buildPackages.alex.components.exes.alex or (pkgs.buildPackages.alex or (errorHandler.buildToolDepError "alex:alex")))
95− (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
96− ];
97− buildable = true;
98− modules = [
99− "GhcPrelude"
100− "Ar"
101− "FileCleanup"
102− "DriverBkp"
103− "BkpSyn"
104− "NameShape"
105− "RnModIface"
106− "Avail"
107− "AsmUtils"
108− "BasicTypes"
109− "ConLike"
110− "DataCon"
111− "PatSyn"
112− "Demand"
113− "Debug"
114− "Exception"
115− "FieldLabel"
116− "GhcMonad"
117− "Hooks"
118− "Id"
119− "IdInfo"
120− "Lexeme"
121− "Literal"
122− "Llvm"
123− "Llvm/AbsSyn"
124− "Llvm/MetaData"
125− "Llvm/PpLlvm"
126− "Llvm/Types"
127− "LlvmCodeGen"
128− "LlvmCodeGen/Base"
129− "LlvmCodeGen/CodeGen"
130− "LlvmCodeGen/Data"
131− "LlvmCodeGen/Ppr"
132− "LlvmCodeGen/Regs"
133− "LlvmMangler"
134− "MkId"
135− "Module"
136− "Name"
137− "NameEnv"
138− "NameSet"
139− "OccName"
140− "RdrName"
141− "NameCache"
142− "SrcLoc"
143− "UniqSupply"
144− "Unique"
145− "Var"
146− "VarEnv"
147− "VarSet"
148− "UnVarGraph"
149− "BlockId"
150− "CLabel"
151− "Cmm"
152− "CmmBuildInfoTables"
153− "CmmPipeline"
154− "CmmCallConv"
155− "CmmCommonBlockElim"
156− "CmmImplementSwitchPlans"
157− "CmmContFlowOpt"
158− "CmmExpr"
159− "CmmInfo"
160− "CmmLex"
161− "CmmLint"
162− "CmmLive"
163− "CmmMachOp"
164− "CmmMonad"
165− "CmmSwitch"
166− "CmmNode"
167− "CmmOpt"
168− "CmmParse"
169− "CmmProcPoint"
170− "CmmSink"
171− "CmmType"
172− "CmmUtils"
173− "CmmLayoutStack"
174− "EnumSet"
175− "MkGraph"
176− "PprBase"
177− "PprC"
178− "PprCmm"
179− "PprCmmDecl"
180− "PprCmmExpr"
181− "Bitmap"
182− "CodeGen/Platform"
183− "CodeGen/Platform/ARM"
184− "CodeGen/Platform/ARM64"
185− "CodeGen/Platform/NoRegs"
186− "CodeGen/Platform/PPC"
187− "CodeGen/Platform/PPC_Darwin"
188− "CodeGen/Platform/SPARC"
189− "CodeGen/Platform/X86"
190− "CodeGen/Platform/X86_64"
191− "CgUtils"
192− "StgCmm"
193− "StgCmmBind"
194− "StgCmmClosure"
195− "StgCmmCon"
196− "StgCmmEnv"
197− "StgCmmExpr"
198− "StgCmmForeign"
199− "StgCmmHeap"
200− "StgCmmHpc"
201− "StgCmmArgRep"
202− "StgCmmLayout"
203− "StgCmmMonad"
204− "StgCmmPrim"
205− "StgCmmProf"
206− "StgCmmTicky"
207− "StgCmmUtils"
208− "StgCmmExtCode"
209− "SMRep"
210− "CoreArity"
211− "CoreFVs"
212− "CoreLint"
213− "CorePrep"
214− "CoreSubst"
215− "CoreOpt"
216− "CoreSyn"
217− "TrieMap"
218− "CoreTidy"
219− "CoreUnfold"
220− "CoreUtils"
221− "CoreMap"
222− "CoreSeq"
223− "CoreStats"
224− "MkCore"
225− "PprCore"
226− "PmExpr"
227− "TmOracle"
228− "Check"
229− "Coverage"
230− "Desugar"
231− "DsArrows"
232− "DsBinds"
233− "DsCCall"
234− "DsExpr"
235− "DsForeign"
236− "DsGRHSs"
237− "DsListComp"
238− "DsMonad"
239− "DsUsage"
240− "DsUtils"
241− "ExtractDocs"
242− "Match"
243− "MatchCon"
244− "MatchLit"
245− "HsBinds"
246− "HsDecls"
247− "HsDoc"
248− "HsExpr"
249− "HsImpExp"
250− "HsLit"
251− "PlaceHolder"
252− "HsExtension"
253− "HsInstances"
254− "HsPat"
255− "HsSyn"
256− "HsTypes"
257− "HsUtils"
258− "HsDumpAst"
259− "BinIface"
260− "BinFingerprint"
261− "BuildTyCl"
262− "IfaceEnv"
263− "IfaceSyn"
264− "IfaceType"
265− "ToIface"
266− "LoadIface"
267− "MkIface"
268− "TcIface"
269− "FlagChecker"
270− "Annotations"
271− "CmdLineParser"
272− "CodeOutput"
273− "Config"
274− "Constants"
275− "DriverMkDepend"
276− "DriverPhases"
277− "PipelineMonad"
278− "DriverPipeline"
279− "DynFlags"
280− "ErrUtils"
281− "Finder"
282− "GHC"
283− "GhcMake"
284− "GhcPlugins"
285− "DynamicLoading"
286− "HeaderInfo"
287− "HscMain"
288− "HscStats"
289− "HscTypes"
290− "InteractiveEval"
291− "InteractiveEvalTypes"
292− "PackageConfig"
293− "Packages"
294− "PlatformConstants"
295− "Plugins"
296− "TcPluginM"
297− "PprTyThing"
298− "StaticPtrTable"
299− "SysTools"
300− "SysTools/BaseDir"
301− "SysTools/Terminal"
302− "SysTools/ExtraObj"
303− "SysTools/Info"
304− "SysTools/Process"
305− "SysTools/Tasks"
306− "Elf"
307− "TidyPgm"
308− "Ctype"
309− "HaddockUtils"
310− "Lexer"
311− "OptCoercion"
312− "Parser"
313− "RdrHsSyn"
314− "ApiAnnotation"
315− "ForeignCall"
316− "KnownUniques"
317− "PrelInfo"
318− "PrelNames"
319− "PrelRules"
320− "PrimOp"
321− "TysPrim"
322− "TysWiredIn"
323− "CostCentre"
324− "CostCentreState"
325− "ProfInit"
326− "RnBinds"
327− "RnEnv"
328− "RnExpr"
329− "RnHsDoc"
330− "RnNames"
331− "RnPat"
332− "RnSource"
333− "RnSplice"
334− "RnTypes"
335− "RnFixity"
336− "RnUtils"
337− "RnUnbound"
338− "CoreMonad"
339− "CSE"
340− "FloatIn"
341− "FloatOut"
342− "LiberateCase"
343− "OccurAnal"
344− "SAT"
345− "SetLevels"
346− "SimplCore"
347− "SimplEnv"
348− "SimplMonad"
349− "SimplUtils"
350− "Simplify"
351− "SimplStg"
352− "StgStats"
353− "StgCse"
354− "UnariseStg"
355− "RepType"
356− "Rules"
357− "SpecConstr"
358− "Specialise"
359− "CoreToStg"
360− "StgLint"
361− "StgSyn"
362− "CallArity"
363− "DmdAnal"
364− "Exitify"
365− "WorkWrap"
366− "WwLib"
367− "FamInst"
368− "Inst"
369− "TcAnnotations"
370− "TcArrows"
371− "TcBinds"
372− "TcSigs"
373− "TcClassDcl"
374− "TcDefaults"
375− "TcDeriv"
376− "TcDerivInfer"
377− "TcDerivUtils"
378− "TcEnv"
379− "TcExpr"
380− "TcForeign"
381− "TcGenDeriv"
382− "TcGenFunctor"
383− "TcGenGenerics"
384− "TcHsSyn"
385− "TcHsType"
386− "TcInstDcls"
387− "TcMType"
388− "TcValidity"
389− "TcMatches"
390− "TcPat"
391− "TcPatSyn"
392− "TcRnDriver"
393− "TcBackpack"
394− "TcRnExports"
395− "TcRnMonad"
396− "TcRnTypes"
397− "TcRules"
398− "TcSimplify"
399− "TcHoleErrors"
400− "TcErrors"
401− "TcTyClsDecls"
402− "TcTyDecls"
403− "TcTypeable"
404− "TcType"
405− "TcEvidence"
406− "TcEvTerm"
407− "TcUnify"
408− "TcInteract"
409− "TcCanonical"
410− "TcFlatten"
411− "TcSMonad"
412− "TcTypeNats"
413− "TcSplice"
414− "Class"
415− "Coercion"
416− "DsMeta"
417− "THNames"
418− "FamInstEnv"
419− "FunDeps"
420− "InstEnv"
421− "TyCon"
422− "CoAxiom"
423− "Kind"
424− "Type"
425− "TyCoRep"
426− "Unify"
427− "Bag"
428− "Binary"
429− "BooleanFormula"
430− "BufWrite"
431− "Digraph"
432− "Encoding"
433− "FastFunctions"
434− "FastMutInt"
435− "FastString"
436− "FastStringEnv"
437− "Fingerprint"
438− "FiniteMap"
439− "FV"
440− "GraphBase"
441− "GraphColor"
442− "GraphOps"
443− "GraphPpr"
444− "IOEnv"
445− "Json"
446− "ListSetOps"
447− "ListT"
448− "Maybes"
449− "MonadUtils"
450− "OrdList"
451− "Outputable"
452− "Pair"
453− "Panic"
454− "PprColour"
455− "Pretty"
456− "State"
457− "Stream"
458− "StringBuffer"
459− "UniqDFM"
460− "UniqDSet"
461− "UniqFM"
462− "UniqMap"
463− "UniqSet"
464− "Util"
465− "Hoopl/Block"
466− "Hoopl/Collections"
467− "Hoopl/Dataflow"
468− "Hoopl/Graph"
469− "Hoopl/Label"
470− "AsmCodeGen"
471− "TargetReg"
472− "NCGMonad"
473− "Instruction"
474− "Format"
475− "Reg"
476− "RegClass"
477− "PIC"
478− "Platform"
479− "CPrim"
480− "X86/Regs"
481− "X86/RegInfo"
482− "X86/Instr"
483− "X86/Cond"
484− "X86/Ppr"
485− "X86/CodeGen"
486− "PPC/Regs"
487− "PPC/RegInfo"
488− "PPC/Instr"
489− "PPC/Cond"
490− "PPC/Ppr"
491− "PPC/CodeGen"
492− "SPARC/Base"
493− "SPARC/Regs"
494− "SPARC/Imm"
495− "SPARC/AddrMode"
496− "SPARC/Cond"
497− "SPARC/Instr"
498− "SPARC/Stack"
499− "SPARC/ShortcutJump"
500− "SPARC/Ppr"
501− "SPARC/CodeGen"
502− "SPARC/CodeGen/Amode"
503− "SPARC/CodeGen/Base"
504− "SPARC/CodeGen/CondCode"
505− "SPARC/CodeGen/Gen32"
506− "SPARC/CodeGen/Gen64"
507− "SPARC/CodeGen/Sanity"
508− "SPARC/CodeGen/Expand"
509− "RegAlloc/Liveness"
510− "RegAlloc/Graph/Main"
511− "RegAlloc/Graph/Stats"
512− "RegAlloc/Graph/ArchBase"
513− "RegAlloc/Graph/ArchX86"
514− "RegAlloc/Graph/Coalesce"
515− "RegAlloc/Graph/Spill"
516− "RegAlloc/Graph/SpillClean"
517− "RegAlloc/Graph/SpillCost"
518− "RegAlloc/Graph/TrivColorable"
519− "RegAlloc/Linear/Main"
520− "RegAlloc/Linear/JoinToTargets"
521− "RegAlloc/Linear/State"
522− "RegAlloc/Linear/Stats"
523− "RegAlloc/Linear/FreeRegs"
524− "RegAlloc/Linear/StackMap"
525− "RegAlloc/Linear/Base"
526− "RegAlloc/Linear/X86/FreeRegs"
527− "RegAlloc/Linear/X86_64/FreeRegs"
528− "RegAlloc/Linear/PPC/FreeRegs"
529− "RegAlloc/Linear/SPARC/FreeRegs"
530− "Dwarf"
531− "Dwarf/Types"
532− "Dwarf/Constants"
533− "Convert"
534− "ByteCodeTypes"
535− "ByteCodeAsm"
536− "ByteCodeGen"
537− "ByteCodeInstr"
538− "ByteCodeItbls"
539− "ByteCodeLink"
540− "Debugger"
541− "Linker"
542− "RtClosureInspect"
543− "GHCi"
544− ];
545− cSources = [
546− "compiler/parser/cutils.c"
547− "compiler/ghci/keepCAFsForGHCi.c"
548− "compiler/cbits/genSym.c"
549− ];
550− hsSourceDirs = [
551− "compiler/backpack"
552− "compiler/basicTypes"
553− "compiler/cmm"
554− "compiler/codeGen"
555− "compiler/coreSyn"
556− "compiler/deSugar"
557− "compiler/ghci"
558− "compiler/hsSyn"
559− "compiler/iface"
560− "compiler/llvmGen"
561− "compiler/main"
562− "compiler/nativeGen"
563− "compiler/parser"
564− "compiler/prelude"
565− "compiler/profiling"
566− "compiler/rename"
567− "compiler/simplCore"
568− "compiler/simplStg"
569− "compiler/specialise"
570− "compiler/stgSyn"
571− "compiler/stranal"
572− "compiler/typecheck"
573− "compiler/types"
574− "compiler/utils"
575− ] ++ (if compiler.isGhc && (compiler.version).eq "8.6.3"
576− then [ "autogen/863" ]
577− else if compiler.isGhc && (compiler.version).eq "8.6.4"
578− then [ "autogen/864" ]
579− else [ "autogen" ]);
580− includeDirs = [
581− "compiler"
582− "compiler/parser"
583− "compiler/utils"
584− "includes"
585− "autogen"
586− ];
587− };
588− };
589− } // rec { src = (pkgs.lib).mkDefault ../lib/ghc-api-ghcjs; }
materialized/ghcjs865/.plan.nix/ghcjs.nix+712−56
@@ -13,7 +13,13 @@
1313 no-wrapper-install = false;
1414 disable-optimizer = false;
1515 runtime-assertions = false;
16− use-host-template-haskell = false;
16+ use-host-template-haskell = true;
17+ debug = false;
18+ ghci = true;
19+ stage1 = false;
20+ stage2 = true;
21+ stage3 = false;
22+ terminfo = true;
1723 };
1824 package = {
1925 specVersion = "2.0";
@@ -31,12 +37,6 @@
3137 setup-depends = [
3238 (hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.setupDepError "base")))
3339 (hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.setupDepError "Cabal")))
34− (hsPkgs.buildPackages.containers or (pkgs.buildPackages.containers or (errorHandler.setupDepError "containers")))
35− (hsPkgs.buildPackages.filepath or (pkgs.buildPackages.filepath or (errorHandler.setupDepError "filepath")))
36− (hsPkgs.buildPackages.directory or (pkgs.buildPackages.directory or (errorHandler.setupDepError "directory")))
37− (hsPkgs.buildPackages.process or (pkgs.buildPackages.process or (errorHandler.setupDepError "process")))
38− (hsPkgs.buildPackages.template-haskell or (pkgs.buildPackages.template-haskell or (errorHandler.setupDepError "template-haskell")))
39− (hsPkgs.buildPackages.transformers or (pkgs.buildPackages.transformers or (errorHandler.setupDepError "transformers")))
4040 ];
4141 detailLevel = "FullDetails";
4242 licenseFiles = [ "LICENSE" ];
@@ -53,19 +53,45 @@
5353 "README.markdown"
5454 "test/LICENSE"
5555 "test/ghcjs-testsuite.cabal"
56− "stack.yaml"
56+ "ghc/compiler/Unique.h"
57+ "ghc/compiler/HsVersions.h"
58+ "ghc/compiler/nativeGen/NCG.h"
59+ "ghc/compiler/parser/cutils.h"
60+ "ghc/compiler/utils/md5.h"
61+ "ghc/includes/CodeGen.Platform.hs"
62+ "lib/ghc-api-ghcjs/autogen/Config.hs"
63+ "lib/ghc-api-ghcjs/autogen/864/Config.hs"
64+ "lib/ghc-api-ghcjs/autogen/863/Config.hs"
65+ "lib/ghc-api-ghcjs/includes/GHCConstantsHaskellExports.hs"
66+ "lib/ghc-api-ghcjs/includes/GHCConstantsHaskellType.hs"
67+ "lib/ghc-api-ghcjs/includes/GHCConstantsHaskellWrappers.hs"
68+ "lib/ghc-api-ghcjs/includes/*.h"
69+ "lib/ghc-api-ghcjs/includes/*.hs-incl"
70+ "ghc/includes/rts/*.h"
71+ "ghc/includes/rts/storage/*.h"
72+ "ghc/includes/MachDeps.h"
73+ "ghc/includes/Rts.h"
74+ "ghc/includes/RtsAPI.h"
75+ "ghc/includes/Stg.h"
76+ "ghc/includes/HsFFI.h"
77+ "ghc/includes/Cmm.h"
78+ "ghc/includes/stg/*.h"
79+ "ghc/utils/unlit/fs.h"
80+ "ghc/driver/utils/cwrapper.h"
81+ "ghc/driver/utils/getLocation.h"
82+ "utils/wrapper/getline.h"
5783 ];
5884 extraTmpFiles = [];
5985 extraDocFiles = [];
6086 };
6187 components = {
6288 "library" = {
63− depends = [
89+ depends = (([
6490 (hsPkgs."base" or (errorHandler.buildDepError "base"))
6591 (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
66− (hsPkgs."ghc-api-ghcjs" or (errorHandler.buildDepError "ghc-api-ghcjs"))
67− (hsPkgs."ghcjs-th" or (errorHandler.buildDepError "ghcjs-th"))
6892 (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
93+ (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
94+ (hsPkgs."ghc-compact" or (errorHandler.buildDepError "ghc-compact"))
6995 (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
7096 (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
7197 (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
@@ -102,15 +128,46 @@
102128 (hsPkgs."parsec" or (errorHandler.buildDepError "parsec"))
103129 (hsPkgs."haskell-src-exts" or (errorHandler.buildDepError "haskell-src-exts"))
104130 (hsPkgs."haskell-src-meta" or (errorHandler.buildDepError "haskell-src-meta"))
131+ (hsPkgs."base" or (errorHandler.buildDepError "base"))
132+ (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
133+ (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
134+ (hsPkgs."process" or (errorHandler.buildDepError "process"))
135+ (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
136+ (hsPkgs."binary" or (errorHandler.buildDepError "binary"))
137+ (hsPkgs."time" or (errorHandler.buildDepError "time"))
138+ (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
139+ (hsPkgs."array" or (errorHandler.buildDepError "array"))
140+ (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
141+ (hsPkgs."hpc" or (errorHandler.buildDepError "hpc"))
142+ (hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
143+ (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
144+ (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
145+ (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
105146 ] ++ (if flags.use-host-template-haskell
106147 then [ (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) ]
107148 else [
108149 (hsPkgs."template-haskell-ghcjs" or (errorHandler.buildDepError "template-haskell-ghcjs"))
109150 (hsPkgs."ghci-ghcjs" or (errorHandler.buildDepError "ghci-ghcjs"))
110− ]);
151+ ])) ++ (if flags.use-host-template-haskell || compiler.isGhcjs && true
152+ then [
153+ (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
154+ (hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
155+ ]
156+ else [
157+ (hsPkgs."template-haskell-ghcjs" or (errorHandler.buildDepError "template-haskell-ghcjs"))
158+ (hsPkgs."ghci-ghcjs" or (errorHandler.buildDepError "ghci-ghcjs"))
159+ ])) ++ (if system.isWindows
160+ then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
161+ else [
162+ (hsPkgs."unix" or (errorHandler.buildDepError "unix"))
163+ ] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (errorHandler.buildDepError "terminfo")));
164+ build-tools = [
165+ (hsPkgs.buildPackages.happy.components.exes.happy or (pkgs.buildPackages.happy or (errorHandler.buildToolDepError "happy:happy")))
166+ ];
111167 buildable = true;
112168 modules = [
113169 "Paths_ghcjs"
170+ "GhcPrelude"
114171 "Gen2/Generator"
115172 "Gen2/Profiling"
116173 "Gen2/Floater"
@@ -146,22 +203,514 @@
146203 "Compiler/Plugins"
147204 "Compiler/Program"
148205 "Compiler/GhcjsProgram"
206+ "Compiler/Platform"
149207 "Compiler/Settings"
150208 "Compiler/Utils"
151209 "Compiler/Variants"
152210 "Compiler/JMacro"
153211 "Compiler/JMacro/Base"
154212 "Compiler/JMacro/Lens"
155− "Compiler/JMacro/QQ"
156213 "Compiler/JMacro/ParseTH"
214+ "Compiler/JMacro/QQ"
157215 "Compiler/JMacro/Util"
216+ "Compiler/JMacro/Combinators"
217+ "Compiler/JMacro/Symbols"
158218 "GHCJS"
219+ "GHCJS/Prim/TH/Eval"
220+ "GHCJS/Prim/TH/Serialized"
221+ "GHCJS/Prim/TH/Types"
222+ "Ar"
223+ "FileCleanup"
224+ "DriverBkp"
225+ "BkpSyn"
226+ "NameShape"
227+ "RnModIface"
228+ "Avail"
229+ "AsmUtils"
230+ "BasicTypes"
231+ "ConLike"
232+ "DataCon"
233+ "PatSyn"
234+ "Demand"
235+ "Debug"
236+ "Exception"
237+ "FieldLabel"
238+ "GhcMonad"
239+ "Hooks"
240+ "Id"
241+ "IdInfo"
242+ "Lexeme"
243+ "Literal"
244+ "Llvm"
245+ "Llvm/AbsSyn"
246+ "Llvm/MetaData"
247+ "Llvm/PpLlvm"
248+ "Llvm/Types"
249+ "LlvmCodeGen"
250+ "LlvmCodeGen/Base"
251+ "LlvmCodeGen/CodeGen"
252+ "LlvmCodeGen/Data"
253+ "LlvmCodeGen/Ppr"
254+ "LlvmCodeGen/Regs"
255+ "LlvmMangler"
256+ "MkId"
257+ "Module"
258+ "Name"
259+ "NameEnv"
260+ "NameSet"
261+ "OccName"
262+ "RdrName"
263+ "NameCache"
264+ "SrcLoc"
265+ "UniqSupply"
266+ "Unique"
267+ "Var"
268+ "VarEnv"
269+ "VarSet"
270+ "UnVarGraph"
271+ "BlockId"
272+ "CLabel"
273+ "Cmm"
274+ "CmmBuildInfoTables"
275+ "CmmPipeline"
276+ "CmmCallConv"
277+ "CmmCommonBlockElim"
278+ "CmmImplementSwitchPlans"
279+ "CmmContFlowOpt"
280+ "CmmExpr"
281+ "CmmInfo"
282+ "CmmLex"
283+ "CmmLint"
284+ "CmmLive"
285+ "CmmMachOp"
286+ "CmmMonad"
287+ "CmmSwitch"
288+ "CmmNode"
289+ "CmmOpt"
290+ "CmmParse"
291+ "CmmProcPoint"
292+ "CmmSink"
293+ "CmmType"
294+ "CmmUtils"
295+ "CmmLayoutStack"
296+ "EnumSet"
297+ "MkGraph"
298+ "PprBase"
299+ "PprC"
300+ "PprCmm"
301+ "PprCmmDecl"
302+ "PprCmmExpr"
303+ "Bitmap"
304+ "CodeGen/Platform"
305+ "CodeGen/Platform/ARM"
306+ "CodeGen/Platform/ARM64"
307+ "CodeGen/Platform/NoRegs"
308+ "CodeGen/Platform/PPC"
309+ "CodeGen/Platform/PPC_Darwin"
310+ "CodeGen/Platform/SPARC"
311+ "CodeGen/Platform/X86"
312+ "CodeGen/Platform/X86_64"
313+ "CgUtils"
314+ "StgCmm"
315+ "StgCmmBind"
316+ "StgCmmClosure"
317+ "StgCmmCon"
318+ "StgCmmEnv"
319+ "StgCmmExpr"
320+ "StgCmmForeign"
321+ "StgCmmHeap"
322+ "StgCmmHpc"
323+ "StgCmmArgRep"
324+ "StgCmmLayout"
325+ "StgCmmMonad"
326+ "StgCmmPrim"
327+ "StgCmmProf"
328+ "StgCmmTicky"
329+ "StgCmmUtils"
330+ "StgCmmExtCode"
331+ "SMRep"
332+ "CoreArity"
333+ "CoreFVs"
334+ "CoreLint"
335+ "CorePrep"
336+ "CoreSubst"
337+ "CoreOpt"
338+ "CoreSyn"
339+ "TrieMap"
340+ "CoreTidy"
341+ "CoreUnfold"
342+ "CoreUtils"
343+ "CoreMap"
344+ "CoreSeq"
345+ "CoreStats"
346+ "MkCore"
347+ "PprCore"
348+ "PmExpr"
349+ "TmOracle"
350+ "Check"
351+ "Coverage"
352+ "Desugar"
353+ "DsArrows"
354+ "DsBinds"
355+ "DsCCall"
356+ "DsExpr"
357+ "DsForeign"
358+ "DsGRHSs"
359+ "DsListComp"
360+ "DsMonad"
361+ "DsUsage"
362+ "DsUtils"
363+ "ExtractDocs"
364+ "Match"
365+ "MatchCon"
366+ "MatchLit"
367+ "HsBinds"
368+ "HsDecls"
369+ "HsDoc"
370+ "HsExpr"
371+ "HsImpExp"
372+ "HsLit"
373+ "PlaceHolder"
374+ "HsExtension"
375+ "HsInstances"
376+ "HsPat"
377+ "HsSyn"
378+ "HsTypes"
379+ "HsUtils"
380+ "HsDumpAst"
381+ "BinIface"
382+ "BinFingerprint"
383+ "BuildTyCl"
384+ "IfaceEnv"
385+ "IfaceSyn"
386+ "IfaceType"
387+ "ToIface"
388+ "LoadIface"
389+ "MkIface"
390+ "TcIface"
391+ "FlagChecker"
392+ "Annotations"
393+ "CmdLineParser"
394+ "CodeOutput"
395+ "Config"
396+ "Constants"
397+ "DriverMkDepend"
398+ "DriverPhases"
399+ "PipelineMonad"
400+ "DriverPipeline"
401+ "DynFlags"
402+ "ErrUtils"
403+ "Finder"
404+ "GHC"
405+ "GhcMake"
406+ "GhcPlugins"
407+ "DynamicLoading"
408+ "HeaderInfo"
409+ "HscMain"
410+ "HscStats"
411+ "HscTypes"
412+ "InteractiveEval"
413+ "InteractiveEvalTypes"
414+ "PackageConfig"
415+ "Packages"
416+ "PlatformConstants"
417+ "Plugins"
418+ "TcPluginM"
419+ "PprTyThing"
420+ "StaticPtrTable"
421+ "SysTools"
422+ "SysTools/BaseDir"
423+ "SysTools/Terminal"
424+ "SysTools/ExtraObj"
425+ "SysTools/Info"
426+ "SysTools/Process"
427+ "SysTools/Tasks"
428+ "Elf"
429+ "TidyPgm"
430+ "Ctype"
431+ "HaddockUtils"
432+ "Lexer"
433+ "OptCoercion"
434+ "Parser"
435+ "RdrHsSyn"
436+ "ApiAnnotation"
437+ "ForeignCall"
438+ "KnownUniques"
439+ "PrelInfo"
440+ "PrelNames"
441+ "PrelRules"
442+ "PrimOp"
443+ "TysPrim"
444+ "TysWiredIn"
445+ "CostCentre"
446+ "CostCentreState"
447+ "ProfInit"
448+ "RnBinds"
449+ "RnEnv"
450+ "RnExpr"
451+ "RnHsDoc"
452+ "RnNames"
453+ "RnPat"
454+ "RnSource"
455+ "RnSplice"
456+ "RnTypes"
457+ "RnFixity"
458+ "RnUtils"
459+ "RnUnbound"
460+ "CoreMonad"
461+ "CSE"
462+ "FloatIn"
463+ "FloatOut"
464+ "LiberateCase"
465+ "OccurAnal"
466+ "SAT"
467+ "SetLevels"
468+ "SimplCore"
469+ "SimplEnv"
470+ "SimplMonad"
471+ "SimplUtils"
472+ "Simplify"
473+ "SimplStg"
474+ "StgStats"
475+ "StgCse"
476+ "UnariseStg"
477+ "RepType"
478+ "Rules"
479+ "SpecConstr"
480+ "Specialise"
481+ "CoreToStg"
482+ "StgLint"
483+ "StgSyn"
484+ "CallArity"
485+ "DmdAnal"
486+ "Exitify"
487+ "WorkWrap"
488+ "WwLib"
489+ "FamInst"
490+ "Inst"
491+ "TcAnnotations"
492+ "TcArrows"
493+ "TcBinds"
494+ "TcSigs"
495+ "TcClassDcl"
496+ "TcDefaults"
497+ "TcDeriv"
498+ "TcDerivInfer"
499+ "TcDerivUtils"
500+ "TcEnv"
501+ "TcExpr"
502+ "TcForeign"
503+ "TcGenDeriv"
504+ "TcGenFunctor"
505+ "TcGenGenerics"
506+ "TcHsSyn"
507+ "TcHsType"
508+ "TcInstDcls"
509+ "TcMType"
510+ "TcValidity"
511+ "TcMatches"
512+ "TcPat"
513+ "TcPatSyn"
514+ "TcRnDriver"
515+ "TcBackpack"
516+ "TcRnExports"
517+ "TcRnMonad"
518+ "TcRnTypes"
519+ "TcRules"
520+ "TcSimplify"
521+ "TcHoleErrors"
522+ "TcErrors"
523+ "TcTyClsDecls"
524+ "TcTyDecls"
525+ "TcTypeable"
526+ "TcType"
527+ "TcEvidence"
528+ "TcEvTerm"
529+ "TcUnify"
530+ "TcInteract"
531+ "TcCanonical"
532+ "TcFlatten"
533+ "TcSMonad"
534+ "TcTypeNats"
535+ "TcSplice"
536+ "Class"
537+ "Coercion"
538+ "DsMeta"
539+ "THNames"
540+ "FamInstEnv"
541+ "FunDeps"
542+ "InstEnv"
543+ "TyCon"
544+ "CoAxiom"
545+ "Kind"
546+ "Type"
547+ "TyCoRep"
548+ "Unify"
549+ "Bag"
550+ "Binary"
551+ "BooleanFormula"
552+ "BufWrite"
553+ "Digraph"
554+ "Encoding"
555+ "FastFunctions"
556+ "FastMutInt"
557+ "FastString"
558+ "FastStringEnv"
559+ "Fingerprint"
560+ "FiniteMap"
561+ "FV"
562+ "GraphBase"
563+ "GraphColor"
564+ "GraphOps"
565+ "GraphPpr"
566+ "IOEnv"
567+ "Json"
568+ "ListSetOps"
569+ "ListT"
570+ "Maybes"
571+ "MonadUtils"
572+ "OrdList"
573+ "Outputable"
574+ "Pair"
575+ "Panic"
576+ "PprColour"
577+ "Pretty"
578+ "State"
579+ "Stream"
580+ "StringBuffer"
581+ "UniqDFM"
582+ "UniqDSet"
583+ "UniqFM"
584+ "UniqMap"
585+ "UniqSet"
586+ "Util"
587+ "Hoopl/Block"
588+ "Hoopl/Collections"
589+ "Hoopl/Dataflow"
590+ "Hoopl/Graph"
591+ "Hoopl/Label"
592+ "AsmCodeGen"
593+ "TargetReg"
594+ "NCGMonad"
595+ "Instruction"
596+ "Format"
597+ "Reg"
598+ "RegClass"
599+ "PIC"
600+ "Platform"
601+ "CPrim"
602+ "X86/Regs"
603+ "X86/RegInfo"
604+ "X86/Instr"
605+ "X86/Cond"
606+ "X86/Ppr"
607+ "X86/CodeGen"
608+ "PPC/Regs"
609+ "PPC/RegInfo"
610+ "PPC/Instr"
611+ "PPC/Cond"
612+ "PPC/Ppr"
613+ "PPC/CodeGen"
614+ "SPARC/Base"
615+ "SPARC/Regs"
616+ "SPARC/Imm"
617+ "SPARC/AddrMode"
618+ "SPARC/Cond"
619+ "SPARC/Instr"
620+ "SPARC/Stack"
621+ "SPARC/ShortcutJump"
622+ "SPARC/Ppr"
623+ "SPARC/CodeGen"
624+ "SPARC/CodeGen/Amode"
625+ "SPARC/CodeGen/Base"
626+ "SPARC/CodeGen/CondCode"
627+ "SPARC/CodeGen/Gen32"
628+ "SPARC/CodeGen/Gen64"
629+ "SPARC/CodeGen/Sanity"
630+ "SPARC/CodeGen/Expand"
631+ "RegAlloc/Liveness"
632+ "RegAlloc/Graph/Main"
633+ "RegAlloc/Graph/Stats"
634+ "RegAlloc/Graph/ArchBase"
635+ "RegAlloc/Graph/ArchX86"
636+ "RegAlloc/Graph/Coalesce"
637+ "RegAlloc/Graph/Spill"
638+ "RegAlloc/Graph/SpillClean"
639+ "RegAlloc/Graph/SpillCost"
640+ "RegAlloc/Graph/TrivColorable"
641+ "RegAlloc/Linear/Main"
642+ "RegAlloc/Linear/JoinToTargets"
643+ "RegAlloc/Linear/State"
644+ "RegAlloc/Linear/Stats"
645+ "RegAlloc/Linear/FreeRegs"
646+ "RegAlloc/Linear/StackMap"
647+ "RegAlloc/Linear/Base"
648+ "RegAlloc/Linear/X86/FreeRegs"
649+ "RegAlloc/Linear/X86_64/FreeRegs"
650+ "RegAlloc/Linear/PPC/FreeRegs"
651+ "RegAlloc/Linear/SPARC/FreeRegs"
652+ "Dwarf"
653+ "Dwarf/Types"
654+ "Dwarf/Constants"
655+ "Convert"
656+ "ByteCodeTypes"
657+ "ByteCodeAsm"
658+ "ByteCodeGen"
659+ "ByteCodeInstr"
660+ "ByteCodeItbls"
661+ "ByteCodeLink"
662+ "Debugger"
663+ "Linker"
664+ "RtClosureInspect"
665+ "GHCi"
666+ ];
667+ cSources = [
668+ "ghc/compiler/parser/cutils.c"
669+ "ghc/compiler/cbits/genSym.c"
670+ ];
671+ hsSourceDirs = [
672+ "lib/ghcjs-th"
673+ "src"
674+ "lib/ghc-api-ghcjs/autogen"
675+ "ghc/compiler/backpack"
676+ "ghc/compiler/basicTypes"
677+ "ghc/compiler/cmm"
678+ "ghc/compiler/codeGen"
679+ "ghc/compiler/coreSyn"
680+ "ghc/compiler/deSugar"
681+ "ghc/compiler/ghci"
682+ "ghc/compiler/hsSyn"
683+ "ghc/compiler/iface"
684+ "ghc/compiler/llvmGen"
685+ "ghc/compiler/main"
686+ "ghc/compiler/nativeGen"
687+ "ghc/compiler/parser"
688+ "ghc/compiler/prelude"
689+ "ghc/compiler/profiling"
690+ "ghc/compiler/rename"
691+ "ghc/compiler/simplCore"
692+ "ghc/compiler/simplStg"
693+ "ghc/compiler/specialise"
694+ "ghc/compiler/stgSyn"
695+ "ghc/compiler/stranal"
696+ "ghc/compiler/typecheck"
697+ "ghc/compiler/types"
698+ "ghc/compiler/utils"
699+ "lib/ghc-api-ghcjs/autogen"
700+ ] ++ (if system.isWindows
701+ then [ "src-platform/windows" ]
702+ else [ "src-platform/unix" ]);
703+ includeDirs = [
704+ "ghc/compiler"
705+ "ghc/compiler/parser"
706+ "ghc/compiler/utils"
707+ "lib/ghc-api-ghcjs/includes"
708+ "lib/ghc-api-ghcjs/autogen"
709+ "ghc/includes"
159710 ];
160− hsSourceDirs = [ "src" ];
161− includeDirs = [ "include" ];
162711 };
163712 exes = {
164− "ghcjs" = {
713+ "private-ghcjs-ghcjs" = {
165714 depends = [
166715 (hsPkgs."base" or (errorHandler.buildDepError "base"))
167716 (hsPkgs."ghcjs" or (errorHandler.buildDepError "ghcjs"))
@@ -170,39 +719,7 @@
170719 hsSourceDirs = [ "src-bin" ];
171720 mainPath = [ "Main.hs" ];
172721 };
173− "haddock-ghcjs" = {
174− depends = [
175− (hsPkgs."ghc-api-ghcjs" or (errorHandler.buildDepError "ghc-api-ghcjs"))
176− (hsPkgs."haddock-api-ghcjs" or (errorHandler.buildDepError "haddock-api-ghcjs"))
177− (hsPkgs."base" or (errorHandler.buildDepError "base"))
178− (hsPkgs."process" or (errorHandler.buildDepError "process"))
179− (hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
180− (hsPkgs."transformers-compat" or (errorHandler.buildDepError "transformers-compat"))
181− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
182− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
183− (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
184− (hsPkgs."ghcjs" or (errorHandler.buildDepError "ghcjs"))
185− ];
186− buildable = true;
187− modules = [ "ResponseFile" ];
188− hsSourceDirs = [ "src-bin" "src-bin/haddock" ];
189− mainPath = [
190− "Haddock.hs"
191− ] ++ (pkgs.lib).optional (system.isWindows) "";
192− };
193− "hsc2hs-ghcjs" = {
194− depends = [
195− (hsPkgs."base" or (errorHandler.buildDepError "base"))
196− (hsPkgs."ghcjs" or (errorHandler.buildDepError "ghcjs"))
197− (hsPkgs."process" or (errorHandler.buildDepError "process"))
198− ];
199− buildable = true;
200− hsSourceDirs = [ "src-bin" ];
201− mainPath = [
202− "Hsc2Hs.hs"
203− ] ++ (pkgs.lib).optional (system.isWindows) "";
204− };
205− "ghcjs-pkg" = {
722+ "private-ghcjs-ghcjs-pkg" = {
206723 depends = [
207724 (hsPkgs."ghcjs" or (errorHandler.buildDepError "ghcjs"))
208725 (hsPkgs."base" or (errorHandler.buildDepError "base"))
@@ -251,13 +768,12 @@
251768 (hsPkgs."unix-compat" or (errorHandler.buildDepError "unix-compat"))
252769 (hsPkgs."executable-path" or (errorHandler.buildDepError "executable-path"))
253770 ];
254− buildable = if flags.compiler-only then false else true;
771+ buildable = true;
772+ modules = [ "Paths_ghcjs" ];
255773 hsSourceDirs = [ "src-bin" ];
256− mainPath = ([
257− "Boot.hs"
258− ] ++ (pkgs.lib).optional (flags.compiler-only) "") ++ (pkgs.lib).optional (system.isWindows) "";
774+ mainPath = [ "Boot.hs" ] ++ (pkgs.lib).optional (system.isWindows) "";
259775 };
260− "ghcjs-run" = {
776+ "private-ghcjs-run" = {
261777 depends = [
262778 (hsPkgs."base" or (errorHandler.buildDepError "base"))
263779 (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
@@ -270,11 +786,151 @@
270786 "Run.hs"
271787 ] ++ (pkgs.lib).optional (flags.compiler-only) "") ++ (pkgs.lib).optional (system.isWindows) "";
272788 };
273− "ghcjs-dumparchive" = {
789+ "private-ghcjs-wrapper" = {
790+ buildable = if flags.compiler-only || !system.isWindows
791+ then false
792+ else true;
793+ cSources = [
794+ "ghc/driver/utils/getLocation.c"
795+ "ghc/driver/utils/cwrapper.c"
796+ "utils/wrapper/getline.c"
797+ ];
798+ hsSourceDirs = [ "utils/wrapper" ];
799+ includeDirs = [ "ghc/driver/utils" ];
800+ includes = [
801+ "ghc/driver/utils/cwrapper.h"
802+ "ghc/driver/utils/getLocation.h"
803+ "utils/wrapper/getline.h"
804+ ];
805+ mainPath = [
806+ "wrapper.c"
807+ ] ++ (pkgs.lib).optional (flags.compiler-only || !system.isWindows) "";
808+ };
809+ "private-ghcjs-unlit" = {
810+ buildable = if flags.compiler-only then false else true;
811+ cSources = [ "ghc/utils/unlit/fs.c" ];
812+ hsSourceDirs = [ "ghc/utils/unlit" ];
813+ includes = [ "ghc/utils/unlit/fs.h" ];
814+ mainPath = [
815+ "unlit.c"
816+ ] ++ (pkgs.lib).optional (flags.compiler-only) "";
817+ };
818+ "private-ghcjs-touchy" = {
819+ buildable = if flags.compiler-only || !system.isWindows
820+ then false
821+ else true;
822+ hsSourceDirs = [ "ghc/utils/touchy" ];
823+ mainPath = [
824+ "touchy.c"
825+ ] ++ (pkgs.lib).optional (flags.compiler-only || !system.isWindows) "";
826+ };
827+ "private-ghcjs-hsc2hs" = {
828+ depends = [
829+ (hsPkgs."base" or (errorHandler.buildDepError "base"))
830+ (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
831+ (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
832+ (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
833+ (hsPkgs."process" or (errorHandler.buildDepError "process"))
834+ ];
835+ buildable = if flags.compiler-only then false else true;
836+ modules = [
837+ "C"
838+ "Common"
839+ "CrossCodegen"
840+ "DirectCodegen"
841+ "Flags"
842+ "HSCParser"
843+ "ATTParser"
844+ "UtilsCodegen"
845+ "Compat/ResponseFile"
846+ "Paths_ghcjs"
847+ ];
848+ hsSourceDirs = [ "ghc/utils/hsc2hs" ];
849+ mainPath = [
850+ "Main.hs"
851+ ] ++ (pkgs.lib).optional (flags.compiler-only) "";
852+ };
853+ "private-ghcjs-haddock" = {
854+ depends = [
855+ (hsPkgs."base" or (errorHandler.buildDepError "base"))
856+ ] ++ (pkgs.lib).optionals true [
857+ (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
858+ (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
859+ (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
860+ (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
861+ (hsPkgs."array" or (errorHandler.buildDepError "array"))
862+ (hsPkgs."xhtml" or (errorHandler.buildDepError "xhtml"))
863+ (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
864+ (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
865+ (hsPkgs."ghcjs" or (errorHandler.buildDepError "ghcjs"))
866+ (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
867+ (hsPkgs."parsec" or (errorHandler.buildDepError "parsec"))
868+ (hsPkgs."text" or (errorHandler.buildDepError "text"))
869+ (hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
870+ ];
871+ buildable = if flags.compiler-only then false else true;
872+ modules = (pkgs.lib).optionals true [
873+ "Documentation/Haddock/Parser"
874+ "Documentation/Haddock/Parser/Monad"
875+ "Documentation/Haddock/Types"
876+ "Documentation/Haddock/Doc"
877+ "Documentation/Haddock/Utf8"
878+ "Documentation/Haddock/Parser/Util"
879+ "Documentation/Haddock/Markup"
880+ "Documentation/Haddock"
881+ "Haddock"
882+ "Haddock/Interface"
883+ "Haddock/Interface/Json"
884+ "Haddock/Interface/Rename"
885+ "Haddock/Interface/Create"
886+ "Haddock/Interface/AttachInstances"
887+ "Haddock/Interface/LexParseRn"
888+ "Haddock/Interface/ParseModuleHeader"
889+ "Haddock/Interface/Specialize"
890+ "Haddock/Parser"
891+ "Haddock/Utils"
892+ "Haddock/Utils/Json"
893+ "Haddock/Backends/Xhtml"
894+ "Haddock/Backends/Xhtml/Decl"
895+ "Haddock/Backends/Xhtml/DocMarkup"
896+ "Haddock/Backends/Xhtml/Layout"
897+ "Haddock/Backends/Xhtml/Meta"
898+ "Haddock/Backends/Xhtml/Names"
899+ "Haddock/Backends/Xhtml/Themes"
900+ "Haddock/Backends/Xhtml/Types"
901+ "Haddock/Backends/Xhtml/Utils"
902+ "Haddock/Backends/LaTeX"
903+ "Haddock/Backends/HaddockDB"
904+ "Haddock/Backends/Hoogle"
905+ "Haddock/Backends/Hyperlinker"
906+ "Haddock/Backends/Hyperlinker/Ast"
907+ "Haddock/Backends/Hyperlinker/Parser"
908+ "Haddock/Backends/Hyperlinker/Renderer"
909+ "Haddock/Backends/Hyperlinker/Types"
910+ "Haddock/Backends/Hyperlinker/Utils"
911+ "Haddock/ModuleTree"
912+ "Haddock/Types"
913+ "Haddock/Doc"
914+ "Haddock/Version"
915+ "Haddock/InterfaceFile"
916+ "Haddock/Options"
917+ "Haddock/GhcUtils"
918+ "Haddock/Syb"
919+ "Haddock/Convert"
920+ "Paths_ghcjs"
921+ ];
922+ hsSourceDirs = [ "src-bin" ] ++ (pkgs.lib).optionals true [
923+ "ghc/utils/haddock/haddock-api/src"
924+ "ghc/utils/haddock/haddock-library/src"
925+ ];
926+ mainPath = ([
927+ "HaddockDriver.hs"
928+ ] ++ (pkgs.lib).optional (flags.compiler-only) "") ++ (pkgs.lib).optional true "";
929+ };
930+ "private-ghcjs-ghcjs-dumparchive" = {
274931 depends = [
275932 (hsPkgs."base" or (errorHandler.buildDepError "base"))
276933 (hsPkgs."text" or (errorHandler.buildDepError "text"))
277− (hsPkgs."ghc-api-ghcjs" or (errorHandler.buildDepError "ghc-api-ghcjs"))
278934 (hsPkgs."ghcjs" or (errorHandler.buildDepError "ghcjs"))
279935 (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
280936 (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
materialized/ghcjs865/.plan.nix/haddock-api-ghcjs.nixdeleted−184
@@ -1,184 +0,0 @@
1−{ system
2− , compiler
3− , flags
4− , pkgs
5− , hsPkgs
6− , pkgconfPkgs
7− , errorHandler
8− , config
9− , ... }:
10− {
11− flags = {};
12− package = {
13− specVersion = "2.0";
14− identifier = { name = "haddock-api-ghcjs"; version = "2.20.0"; };
15− license = "BSD-3-Clause";
16− copyright = "(c) Simon Marlow, David Waern";
17− maintainer = "Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
18− author = "Simon Marlow, David Waern";
19− homepage = "http://www.haskell.org/haddock/";
20− url = "";
21− synopsis = "A documentation-generation tool for Haskell libraries";
22− description = "Haddock is a documentation-generation tool for Haskell\nlibraries";
23− buildType = "Simple";
24− isLocal = true;
25− detailLevel = "FullDetails";
26− licenseFiles = [ "LICENSE" ];
27− dataDir = "resources";
28− dataFiles = [
29− "html/quick-jump.min.js"
30− "html/haddock-bundle.min.js"
31− "html/quick-jump.css"
32− "html/solarized.css"
33− "html/highlight.js"
34− "html/Classic.theme/haskell_icon.gif"
35− "html/Classic.theme/minus.gif"
36− "html/Classic.theme/plus.gif"
37− "html/Classic.theme/xhaddock.css"
38− "html/Ocean.std-theme/hslogo-16.png"
39− "html/Ocean.std-theme/minus.gif"
40− "html/Ocean.std-theme/ocean.css"
41− "html/Ocean.std-theme/plus.gif"
42− "html/Ocean.std-theme/synopsis.png"
43− "latex/haddock.sty"
44− ];
45− extraSrcFiles = [ "CHANGES.md" ];
46− extraTmpFiles = [];
47− extraDocFiles = [];
48− };
49− components = {
50− "library" = {
51− depends = [
52− (hsPkgs."base" or (errorHandler.buildDepError "base"))
53− (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
54− (hsPkgs."ghc-api-ghcjs" or (errorHandler.buildDepError "ghc-api-ghcjs"))
55− (hsPkgs."ghc-paths" or (errorHandler.buildDepError "ghc-paths"))
56− (hsPkgs."haddock-library-ghcjs" or (errorHandler.buildDepError "haddock-library-ghcjs"))
57− (hsPkgs."xhtml" or (errorHandler.buildDepError "xhtml"))
58− (hsPkgs."array" or (errorHandler.buildDepError "array"))
59− (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
60− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
61− (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
62− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
63− (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
64− (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
65− (hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
66− ];
67− buildable = true;
68− modules = [
69− "Haddock"
70− "Haddock/Interface"
71− "Haddock/Interface/Rename"
72− "Haddock/Interface/Create"
73− "Haddock/Interface/AttachInstances"
74− "Haddock/Interface/Json"
75− "Haddock/Interface/LexParseRn"
76− "Haddock/Interface/ParseModuleHeader"
77− "Haddock/Interface/Specialize"
78− "Haddock/Parser"
79− "Haddock/Utils"
80− "Haddock/Utils/Json"
81− "Haddock/Backends/Xhtml"
82− "Haddock/Backends/Xhtml/Decl"
83− "Haddock/Backends/Xhtml/DocMarkup"
84− "Haddock/Backends/Xhtml/Layout"
85− "Haddock/Backends/Xhtml/Meta"
86− "Haddock/Backends/Xhtml/Names"
87− "Haddock/Backends/Xhtml/Themes"
88− "Haddock/Backends/Xhtml/Types"
89− "Haddock/Backends/Xhtml/Utils"
90− "Haddock/Backends/LaTeX"
91− "Haddock/Backends/HaddockDB"
92− "Haddock/Backends/Hoogle"
93− "Haddock/Backends/Hyperlinker"
94− "Haddock/Backends/Hyperlinker/Ast"
95− "Haddock/Backends/Hyperlinker/Parser"
96− "Haddock/Backends/Hyperlinker/Renderer"
97− "Haddock/Backends/Hyperlinker/Types"
98− "Haddock/Backends/Hyperlinker/Utils"
99− "Haddock/ModuleTree"
100− "Haddock/Types"
101− "Haddock/Doc"
102− "Haddock/Version"
103− "Haddock/InterfaceFile"
104− "Haddock/Options"
105− "Haddock/GhcUtils"
106− "Haddock/Syb"
107− "Haddock/Convert"
108− "Paths_haddock_api_ghcjs"
109− "Documentation/Haddock"
110− ];
111− hsSourceDirs = [ "src" ];
112− };
113− tests = {
114− "spec" = {
115− depends = [
116− (hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
117− (hsPkgs."ghc-api-ghcjs" or (errorHandler.buildDepError "ghc-api-ghcjs"))
118− (hsPkgs."ghc-paths" or (errorHandler.buildDepError "ghc-paths"))
119− (hsPkgs."haddock-library-ghcjs" or (errorHandler.buildDepError "haddock-library-ghcjs"))
120− (hsPkgs."xhtml" or (errorHandler.buildDepError "xhtml"))
121− (hsPkgs."hspec" or (errorHandler.buildDepError "hspec"))
122− (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
123− (hsPkgs."base" or (errorHandler.buildDepError "base"))
124− (hsPkgs."array" or (errorHandler.buildDepError "array"))
125− (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
126− (hsPkgs."containers" or (errorHandler.buildDepError "containers"))
127− (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
128− (hsPkgs."directory" or (errorHandler.buildDepError "directory"))
129− (hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
130− (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
131− (hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
132− ];
133− build-tools = [
134− (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover")))
135− ];
136− buildable = true;
137− modules = [
138− "Haddock"
139− "Haddock/Backends/Hoogle"
140− "Haddock/Backends/Hyperlinker"
141− "Haddock/Backends/Hyperlinker/Ast"
142− "Haddock/Backends/Hyperlinker/Renderer"
143− "Haddock/Backends/Hyperlinker/Utils"
144− "Haddock/Backends/LaTeX"
145− "Haddock/Backends/Xhtml"
146− "Haddock/Backends/Xhtml/Decl"
147− "Haddock/Backends/Xhtml/DocMarkup"
148− "Haddock/Backends/Xhtml/Layout"
149− "Haddock/Backends/Xhtml/Meta"
150− "Haddock/Backends/Xhtml/Names"
151− "Haddock/Backends/Xhtml/Themes"
152− "Haddock/Backends/Xhtml/Types"
153− "Haddock/Backends/Xhtml/Utils"
154− "Haddock/Convert"
155− "Haddock/Doc"
156− "Haddock/GhcUtils"
157− "Haddock/Interface"
158− "Haddock/Interface/AttachInstances"
159− "Haddock/Interface/Create"
160− "Haddock/Interface/Json"
161− "Haddock/Interface/LexParseRn"
162− "Haddock/Interface/ParseModuleHeader"
163− "Haddock/Interface/Rename"
164− "Haddock/Interface/Specialize"
165− "Haddock/InterfaceFile"
166− "Haddock/ModuleTree"
167− "Haddock/Options"
168− "Haddock/Parser"
169− "Haddock/Syb"
170− "Haddock/Types"
171− "Haddock/Utils"
172− "Haddock/Utils/Json"
173− "Haddock/Version"
174− "Paths_haddock_api_ghcjs"
175− "Haddock/Backends/Hyperlinker/ParserSpec"
176− "Haddock/Backends/Hyperlinker/Parser"
177− "Haddock/Backends/Hyperlinker/Types"
178− ];
179− hsSourceDirs = [ "test" "src" ];
180− mainPath = [ "Spec.hs" ];
181− };
182− };
183− };
184− } // rec { src = (pkgs.lib).mkDefault ../lib/haddock-api-ghcjs; }
materialized/ghcjs865/default.nix+16−21
@@ -69,6 +69,7 @@
6969 "zlib".flags.pkg-config = false;
7070 "rts".revision = (((hackage."rts")."1.0").revisions).default;
7171 "easy-file".revision = (((hackage."easy-file")."0.2.2").revisions).default;
72+ "ghci".revision = (((hackage."ghci")."8.6.5").revisions).default;
7273 "th-expand-syns".revision = (((hackage."th-expand-syns")."0.4.6.0").revisions).default;
7374 "regex-posix".revision = (((hackage."regex-posix")."0.96.0.0").revisions).default;
7475 "regex-posix".flags._regex-posix-clib = false;
@@ -82,8 +83,6 @@
8283 "cryptonite".flags.support_pclmuldq = false;
8384 "cryptonite".flags.check_alignment = false;
8485 "cryptonite".flags.old_toolchain_inliner = false;
85− "alex".revision = (((hackage."alex")."3.2.5").revisions).default;
86− "alex".flags.small_base = true;
8786 "clock".revision = (((hackage."clock")."0.8").revisions).default;
8887 "clock".flags.llvm = false;
8988 "system-fileio".revision = (((hackage."system-fileio")."0.3.16.4").revisions).default;
@@ -128,6 +127,7 @@
128127 "websockets".flags.example = false;
129128 "conduit".revision = (((hackage."conduit")."1.3.3").revisions).default;
130129 "constraints".revision = (((hackage."constraints")."0.12").revisions).default;
130+ "ghc-compact".revision = (((hackage."ghc-compact")."0.1.0.0").revisions).default;
131131 "semigroups".revision = (((hackage."semigroups")."0.19.1").revisions).default;
132132 "semigroups".flags.bytestring = true;
133133 "semigroups".flags.unordered-containers = true;
@@ -150,11 +150,9 @@
150150 "hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
151151 "hsc2hs".flags.in-ghc-tree = false;
152152 "directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
153− "yaml".revision = (((hackage."yaml")."0.10.4.0").revisions).default;
153+ "yaml".revision = (((hackage."yaml")."0.11.5.0").revisions).default;
154154 "yaml".flags.no-exe = true;
155155 "yaml".flags.no-examples = true;
156− "yaml".flags.system-libyaml = false;
157− "yaml".flags.no-unicode = false;
158156 "transformers-compat".revision = (((hackage."transformers-compat")."0.6.6").revisions).default;
159157 "transformers-compat".flags.five = false;
160158 "transformers-compat".flags.generic-deriving = true;
@@ -303,8 +301,11 @@
303301 "kan-extensions".revision = (((hackage."kan-extensions")."5.2.1").revisions).default;
304302 "wai-logger".revision = (((hackage."wai-logger")."2.3.6").revisions).default;
305303 "th-lift".revision = (((hackage."th-lift")."0.8.2").revisions).default;
304+ "libyaml".revision = (((hackage."libyaml")."0.1.2").revisions).default;
305+ "libyaml".flags.system-libyaml = false;
306+ "libyaml".flags.no-unicode = false;
306307 "resourcet".revision = (((hackage."resourcet")."1.2.4.2").revisions).default;
307− "webdriver".revision = (((hackage."webdriver")."0.8.5").revisions).default;
308+ "webdriver".revision = (((hackage."webdriver")."0.9.0.1").revisions).default;
308309 "webdriver".flags.network-uri = true;
309310 "webdriver".flags.developer = false;
310311 "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
@@ -347,7 +348,9 @@
347348 "ghc-heap" = "8.6.5";
348349 "mtl" = "2.2.2";
349350 "rts" = "1.0";
351+ "ghci" = "8.6.5";
350352 "deepseq" = "1.4.4.0";
353+ "ghc-compact" = "0.1.0.0";
351354 "parsec" = "3.1.13.0";
352355 "directory" = "1.3.3.0";
353356 "template-haskell" = "2.14.0.0";
@@ -375,10 +378,8 @@
375378 packages = {
376379 haddock-library-ghcjs = ./.plan.nix/haddock-library-ghcjs.nix;
377380 ghcjs-th = ./.plan.nix/ghcjs-th.nix;
378− ghc-api-ghcjs = ./.plan.nix/ghc-api-ghcjs.nix;
379381 ghci-ghcjs = ./.plan.nix/ghci-ghcjs.nix;
380382 ghcjs = ./.plan.nix/ghcjs.nix;
381− haddock-api-ghcjs = ./.plan.nix/haddock-api-ghcjs.nix;
382383 template-haskell-ghcjs = ./.plan.nix/template-haskell-ghcjs.nix;
383384 };
384385 };
@@ -390,28 +391,22 @@
390391 "ghcjs-th" = {
391392 flags = { "use-host-template-haskell" = lib.mkOverride 900 false; };
392393 };
393− "ghc-api-ghcjs" = {
394− flags = {
395− "stage1" = lib.mkOverride 900 false;
396− "stage2" = lib.mkOverride 900 true;
397− "debug" = lib.mkOverride 900 false;
398− "stage3" = lib.mkOverride 900 false;
399− "use-host-template-haskell" = lib.mkOverride 900 false;
400− "ghci" = lib.mkOverride 900 true;
401− "terminfo" = lib.mkOverride 900 true;
402− };
403− };
404394 "ghci-ghcjs" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
405395 "ghcjs" = {
406396 flags = {
407397 "compiler-only" = lib.mkOverride 900 false;
398+ "stage1" = lib.mkOverride 900 false;
408399 "runtime-assertions" = lib.mkOverride 900 false;
409400 "no-wrapper-install" = lib.mkOverride 900 false;
410− "use-host-template-haskell" = lib.mkOverride 900 false;
401+ "stage2" = lib.mkOverride 900 true;
402+ "debug" = lib.mkOverride 900 false;
403+ "stage3" = lib.mkOverride 900 false;
404+ "use-host-template-haskell" = lib.mkOverride 900 true;
411405 "disable-optimizer" = lib.mkOverride 900 false;
406+ "ghci" = lib.mkOverride 900 true;
407+ "terminfo" = lib.mkOverride 900 true;
412408 };
413409 };
414− "haddock-api-ghcjs" = { flags = {}; };
415410 "template-haskell-ghcjs" = { flags = {}; };
416411 };
417412 })
overlays/bootstrap.nix+13−16
@@ -463,9 +463,10 @@ in {
463463 ghc865 = let buildGHC = final.buildPackages.haskell-nix.compiler.ghc865;
464464 in let ghcjs865 = final.callPackage ../compiler/ghcjs/ghcjs.nix {
465465 ghcjsSrcJson = ../compiler/ghcjs/ghcjs-src.json;
466− ghcjsVersion = "8.6.0.1";
466+ ghcjsVersion = "8.6.0.0.10";
467467 ghc = buildGHC;
468468 }; in let targetPrefix = "js-unknown-ghcjs-"; in final.runCommand "${targetPrefix}ghc-8.6.5" {
469+ nativeBuildInputs = [ final.xorg.lndir ];
469470 passthru = {
470471 inherit targetPrefix;
471472 version = "8.6.5";
@@ -476,9 +477,7 @@ in {
476477 extraConfigureFlags = [
477478 "--ghcjs"
478479 "--with-ghcjs=${targetPrefix}ghc" "--with-ghcjs-pkg=${targetPrefix}ghc-pkg"
479− # setting gcc is stupid. non-emscripten ghcjs has no cc.
480− # however cabal insists on compiling the c sources. m(
481− "--with-gcc=${final.buildPackages.stdenv.cc}/bin/cc"
480+ "--with-gcc=${final.buildPackages.emscripten}/bin/emcc"
482481 ];
483482 };
484483 # note: we'll use the buildGHCs `hsc2hs`, ghcjss wrapper just horribly breaks in this nix setup.
@@ -489,9 +488,9 @@ in {
489488 ln -s ${ghcjs865}/bin/ghcjs-pkg ${targetPrefix}ghc-pkg
490489 ln -s ${buildGHC}/bin/hsc2hs ${targetPrefix}hsc2hs
491490 cd ..
492− mkdir lib
491+ mkdir -p lib/${targetPrefix}ghc-8.6.5
493492 cd lib
494− cp -R ${ghcjs865}/lib/ghcjs-8.6.5 ${targetPrefix}ghc-8.6.5
493+ lndir ${ghcjs865}/lib ${targetPrefix}ghc-8.6.5
495494 '' + installDeps targetPrefix);
496495 ghc883 = let buildGHC = final.buildPackages.haskell-nix.compiler.ghc883;
497496 in let ghcjs883 = final.callPackage ../compiler/ghcjs/ghcjs.nix {
@@ -501,6 +500,7 @@ in {
501500 ghcVersion = "8.8.3";
502501 compiler-nix-name = "ghc883";
503502 }; in let targetPrefix = "js-unknown-ghcjs-"; in final.runCommand "${targetPrefix}ghc-8.8.3" {
503+ nativeBuildInputs = [ final.xorg.lndir ];
504504 passthru = {
505505 inherit targetPrefix;
506506 version = "8.8.3";
@@ -511,9 +511,7 @@ in {
511511 extraConfigureFlags = [
512512 "--ghcjs"
513513 "--with-ghcjs=${targetPrefix}ghc" "--with-ghcjs-pkg=${targetPrefix}ghc-pkg"
514− # setting gcc is stupid. non-emscripten ghcjs has no cc.
515− # however cabal insists on compiling the c sources. m(
516− "--with-gcc=${final.buildPackages.stdenv.cc}/bin/cc"
514+ "--with-gcc=${final.buildPackages.emscripten}/bin/emcc"
517515 ];
518516 };
519517 # note: we'll use the buildGHCs `hsc2hs`, ghcjss wrapper just horribly breaks in this nix setup.
@@ -524,9 +522,9 @@ in {
524522 ln -s ${ghcjs883}/bin/ghcjs-pkg ${targetPrefix}ghc-pkg
525523 ln -s ${buildGHC}/bin/hsc2hs ${targetPrefix}hsc2hs
526524 cd ..
527− mkdir lib
525+ mkdir -p lib/${targetPrefix}ghc-8.8.3
528526 cd lib
529− cp -R ${ghcjs883}/lib ${targetPrefix}ghc-8.8.3
527+ lndir ${ghcjs883}/lib ${targetPrefix}ghc-8.8.3
530528 '' + installDeps targetPrefix);
531529 ghc884 = let buildGHC = final.buildPackages.haskell-nix.compiler.ghc884;
532530 in let ghcjs884 = final.callPackage ../compiler/ghcjs/ghcjs.nix {
@@ -536,6 +534,7 @@ in {
536534 ghcVersion = "8.8.4";
537535 compiler-nix-name = "ghc884";
538536 }; in let targetPrefix = "js-unknown-ghcjs-"; in final.runCommand "${targetPrefix}ghc-8.8.4" {
537+ nativeBuildInputs = [ final.xorg.lndir ];
539538 passthru = {
540539 inherit targetPrefix;
541540 version = "8.8.4";
@@ -546,9 +545,7 @@ in {
546545 extraConfigureFlags = [
547546 "--ghcjs"
548547 "--with-ghcjs=${targetPrefix}ghc" "--with-ghcjs-pkg=${targetPrefix}ghc-pkg"
549− # setting gcc is stupid. non-emscripten ghcjs has no cc.
550− # however cabal insists on compiling the c sources. m(
551− "--with-gcc=${final.buildPackages.stdenv.cc}/bin/cc"
548+ "--with-gcc=${final.buildPackages.emscripten}/bin/emcc"
552549 ];
553550 };
554551 # note: we'll use the buildGHCs `hsc2hs`, ghcjss wrapper just horribly breaks in this nix setup.
@@ -559,9 +556,9 @@ in {
559556 ln -s ${ghcjs884}/bin/ghcjs-pkg ${targetPrefix}ghc-pkg
560557 ln -s ${buildGHC}/bin/hsc2hs ${targetPrefix}hsc2hs
561558 cd ..
562− mkdir lib
559+ mkdir -p lib/${targetPrefix}ghc-8.8.4
563560 cd lib
564− cp -R ${ghcjs884}/lib ${targetPrefix}ghc-8.8.4
561+ lndir ${ghcjs884}/lib ${targetPrefix}ghc-8.8.4
565562 '' + installDeps targetPrefix);
566563 }))));
567564
overlays/emscripten.nix+31−3
@@ -1,8 +1,8 @@
1−final: prev: {
1+final: prev: let
22 # GHCJS currently requires an old version of emscripten. Overriding to build the older version doesn't
33 # work straightforwardly on 20.09 anymore, so we use an ugly hack and pull emscripten from 20.03.
44 # In future, we'll just fix GHCJS to work with the newer emscripten.
5− inherit (import final.haskell-nix.sources.nixpkgs-2003 {
5+ pkgs-2003 = import final.haskell-nix.sources.nixpkgs-2003 {
66 system = final.stdenv.system;
77 overlays = [(final: prev: with final; {
88 binaryen = callPackage ./emscripten/binaryen.nix {};
@@ -23,5 +23,33 @@ final: prev: {
2323
2424 emscriptenStdenv = stdenv // { mkDerivation = buildEmscriptenPackage; };
2525 })];
26− }) emscripten emscriptenupstream;
26+ };
27+
28+in {
29+ # nixpkgs does not have an emsdk, this derivation uses symlinks to make something
30+ # that matches enought for `ghcjs-boot` to work
31+ emscriptenupstream = pkgs-2003.emscriptenupstream;
32+ emscripten = (pkgs-2003.emscripten.override {
33+ emscriptenBackend = pkgs-2003.emscriptenupstream;
34+ }).overrideAttrs (attrs: {
35+ buildInputs = attrs.buildInputs or [] ++ [ final.makeWrapper ];
36+ buildCommand = attrs.buildCommand or "" + ''
37+ for f in $(find $out/bin/ -type l -executable ! -name "*.py"); do
38+ if [[ -e "$f.py" ]]; then
39+ rm "$f"
40+ echo '#!'${final.runtimeShell} > "$f"
41+ echo 'if [[ ! -d $HOME ]]; then' >> "$f"
42+ echo ' export HOME=$(mktemp -d)' >> "$f"
43+ echo 'fi' >> "$f"
44+ echo 'exec "'$f.py'" "$@"' >> "$f"
45+ chmod +x "$f"
46+ fi
47+ done
48+ '';
49+ });
50+ emsdk = final.linkFarm "emsdk" [
51+ { name = "upstream/bin"; path = final.emscriptenupstream + "/bin"; }
52+ { name = "upstream/emscripten"; path = final.emscripten + "/bin"; }
53+ { name = "share"; path = final.emscripten + "/share"; }
54+ ];
2755}
release-linux-only.nixnew file+4
@@ -0,0 +1,4 @@
1+{ supportedSystems ? [ "x86_64-linux" ]
2+, ifdLevel ? 3
3+, checkMaterialization ? false }:
4+import ./release.nix { inherit supportedSystems ifdLevel checkMaterialization; }
test/compiler-nix-name/Main.hsdeleted−5
@@ -1,5 +0,0 @@
1−{-# LANGUAGE CPP #-}
2−module Main where
3−
4−main :: IO ()
5−main = putStr $ show __GLASGOW_HASKELL__
test/compiler-nix-name/compiler-nix-name.cabaldeleted−11
@@ -1,11 +0,0 @@
1−cabal-version: >=1.10
2−name: compiler-nix-name
3−version: 0.1.0.0
4−license: PublicDomain
5−author: Hamish Mackenzie
6−build-type: Simple
7−
8−executable compiler-nix-name
9− main-is: Main.hs
10− build-depends: base >=4.13 && <4.14
11− default-language: Haskell2010
test/compiler-nix-name/default.nixdeleted−41
@@ -1,41 +0,0 @@
1−{ stdenv, lib, haskell-nix, recurseIntoAttrs, testSrc }:
2−
3−with lib;
4−
5−let
6− project = haskell-nix.cabalProject' {
7− src = testSrc "compiler-nix-name";
8− compiler-nix-name = "ghc884";
9− };
10−
11− packages = project.hsPkgs;
12− compiler-nix-name =
13− packages.compiler-nix-name.components.exes.compiler-nix-name;
14−
15−in recurseIntoAttrs {
16− ifdInputs = {
17− inherit (project) plan-nix;
18− };
19−
20− run = stdenv.mkDerivation {
21− name = "compiler-nix-name-test";
22−
23− buildCommand = ''
24− exe="${compiler-nix-name.exePath}"
25− ver="$(${toString compiler-nix-name.config.testWrapper} $exe)"
26− if [[ "$ver" != "808" ]]; then
27− echo "Unexpected GHC version (expected 808, but got $ver)" >& 2
28− false
29− else
30− touch $out
31− fi
32− '';
33−
34− meta.platforms = platforms.all;
35−
36− passthru = {
37− # Used for debugging with nix repl
38− inherit project packages;
39− };
40− };
41−}
test/default.nix−1
@@ -180,7 +180,6 @@ let
180180 exe-only = callTest ./exe-only { inherit util compiler-nix-name; };
181181 stack-source-repo = callTest ./stack-source-repo {};
182182 extra-hackage = callTest ./extra-hackage { inherit compiler-nix-name; };
183− compiler-nix-name = callTest ./compiler-nix-name {};
184183 hls-cabal = callTest ./haskell-language-server/cabal.nix { inherit compiler-nix-name; };
185184 hls-stack = callTest ./haskell-language-server/stack.nix { inherit compiler-nix-name; };
186185 cabal-hpack = callTest ./cabal-hpack { inherit util compiler-nix-name; };