nixpkgs/pkgs/development/compilers/ghc
sternenseemann 6392c21c1f haskell.compiler.ghcHEAD: allow building the JavaScript backend
This is now possible by building a cross compiler for js-unknown-ghjs
using `pkgsCross.ghcjs.buildPackages.haskell.compiler.ghcHEAD`.

To allow this, the following things needed to be done:

* Disable dependencies that wouldn't work:

  - Don't pull in ncurses for terminfo
  - Don't pull in libffi
  - Don't pull in libiconv
  - Don't enable the LLVM backend
  - Enable gmp-less native-bignum backend

* Use emscripten instead of a C compiler. The way this works is inspired
  by emscriptenPackages, but avoids the following flaws:

  - Instead of using a custom configurePhase, just set
    `configureScript = "emconfigure ./configure";` which is much simpler.

  - Create writable EM_CACHE before configuring, as configure scripts
    want to compile test programs.

  Additionally, we need to disable the targetCC check, as it is not
  applicable with emscripten which never appears as part of stdenv.

* Use generic $configureScript in installPhase to be able to work with
  our emconfigure trick.

Note that the corresponding Haskell package set does not work yet. Cabal
doesn't seem to like GHC 9.7 yet and the generic-builder is clueless
about the JS backend.
2023-01-04 00:02:29 +01:00
..
8.6.5-binary.nix haskell.compiler.ghc865Binary: add powerpc64le bootstrap 2022-07-01 13:05:30 +02:00
8.8.4.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
8.10.2-binary.nix haskell.compiler: fix binary GHCs with store paths containing "xxx" 2022-04-22 14:25:53 +02:00
8.10.7-binary.nix haskell.compiler: fix binary GHCs with store paths containing "xxx" 2022-04-22 14:25:53 +02:00
8.10.7.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
9.0.2.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
9.2.4-binary.nix haskell.compiler: upgrade to 9.2.4 for 9.2.* binary compiler 2022-09-26 18:02:02 +02:00
9.2.4.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
9.2.5.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
9.4.2.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
9.4.3.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
9.4.4.nix haskell.compiler: also check targetPlatform for gmp compat 2023-01-04 00:01:25 +01:00
cabal-paths.patch haskell.compiler.ghc8107: fix seperate bin outputs on aarch64-darwin 2022-01-21 15:34:05 +00:00
common-hadrian.nix haskell.compiler.ghcHEAD: allow building the JavaScript backend 2023-01-04 00:02:29 +01:00
gcc-clang-wrapper.sh treewide: use ${stdenv.shell} instead of /bin/sh where possible 2019-01-16 20:37:15 +01:00
head.nix haskell.compiler.ghcHEAD: 9.5.20220921 -> 9.7.20221224 2023-01-03 15:23:53 +01:00
rename-numa-api-call.patch ghc8.8.4: fix mingw build 2021-09-09 03:35:17 +01:00
respect-ar-path.patch Fix ar command path in GHC. 2021-02-05 22:54:09 +01:00
sphinx-4-configuration.patch haskell.compiler.ghc8104: patch for sphinx >= 4.0 2021-06-22 13:42:55 +02:00