Commit graph

2614 commits

Author SHA1 Message Date
sternenseemann a05354790b haskell.compiler.ghcHEAD: use LLVM 14
This will be required for the JavaScript backend to work.
2023-01-03 22:42:57 +01:00
sternenseemann 9e8a483770 haskell.compiler.ghc94: 9.4.2 -> 9.4.4
https://www.haskell.org/ghc/blog/20221103-ghc-9.4.3-released.html
https://www.haskell.org/ghc/blog/20221224-ghc-9.4.4-released.html
2022-12-29 13:49:47 +01:00
sternenseemann 11882a0bde haskell.packages.ghc92: revert to 9.2.4
Due to https://gitlab.haskell.org/ghc/ghc/-/issues/22425,
we'll tentatively stay with 9.2.4 for now. If you need
9.2.5, it is available via haskell.packages.ghc925.
2022-11-09 23:44:01 +01:00
sternenseemann 3d361be06a haskell.packages.ghc94: revert to 9.4.2
Due to https://gitlab.haskell.org/ghc/ghc/-/issues/22425, we'll
tentatively stay with 9.4.2 for now. 9.4.3 is available explicitly
via haskell.packagse.ghc943 if you need it (e.g. on aarch64).
2022-11-09 23:44:01 +01:00
sternenseemann c7a0d75bd1 haskell.compiler.ghc92: 9.2.4 -> 9.2.5 2022-11-07 17:29:47 +01:00
sternenseemann 677ff51cfa haskell.compiler: ghc942 -> ghc943
https://www.haskell.org/ghc/download_ghc_9_4_3.html

Dropping GHC 9.4.2, since there is no Stackage snapshot which uses GHC 9.4.*,
so the stack Nix integration should not get any ideas.
2022-11-04 17:56:41 +01:00
sternenseemann b4429529f5 haskell.compiler: upgrade to 9.2.4 for 9.2.* binary compiler 2022-09-26 18:02:02 +02:00
sternenseemann da60f2dc9c haskell.compiler.ghcHEAD: 9.3.20220406 -> 9.5.20220921
Initial port of our GHC Nix expressions to the new hadrian build system,
as it has become required after 9.4. Unfortunately there are some
regressions affecting us, namely the inability to install a GHC
cross-compiler at the moment (see issue linked in relevant error
message). This means that a lot of specific configuration snippets for
cross-platforms and static compilation have been ported from make
speculatively, as we are unable to test them for the moment.
2022-09-22 16:18:17 +02:00
maralorn 413c67c96d haskell.compiler.native-bignum: Readd missing minor versions 2022-09-21 17:10:59 +02:00
maralorn fae2ff5c03 haskell.{compiler,packages}: Add aliases without minor versions 2022-09-21 05:51:28 +02:00
sternenseemann 970a97f973 haskell.compiler: ghc941 -> ghc942 2022-08-22 22:27:22 +02:00
sternenseemann ddada35b50 haskell.compiler.ghc941: bootstrap using GHC 9.0.2 on arm
text.cabal has the following snippet mandating this:

    -- GHC 8.10 has linking issues (probably TH-related) on ARM.
    if (arch(aarch64) || arch(arm)) && impl(ghc == 8.10.*)
      build-depends: base < 0

Since we're now testing 9.0.2 for bootstrapping on Hydra, we can also
use the proper GHC version for powerpc64le.
2022-08-14 17:33:45 +02:00
sternenseemann d0706da55e haskell.compiler.ghc941: bootstrap using (binary) GHC 8.10.7
This shortens the bootstrap chain for 9.4.1 and should be kinder on
rebuilds. It requires some messing around in the configure file, since
it is not officially supported by upstream (but known to work). For now
it saves us the hassle of adding another bindist to nixpkgs. When we
support hadrian, we'll be able to use the already packaged 9.2.2
bindist.
2022-08-13 20:55:30 +02:00
github-actions[bot] eb9760b8f7
Merge master into haskell-updates 2022-07-31 00:15:01 +00:00
Alyssa Ross 5330c0a1af
treewide: use isAarch where appropriate 2022-07-30 16:18:27 +00:00
sternenseemann 7f909b041b haskell.compiler: ghc923 -> ghc924
https://www.haskell.org/ghc/download_ghc_9_2_4.html
2022-07-28 18:09:33 +02:00
sternenseemann 078346d55e haskell.compiler.ghc941: init at 9.4.0.20220721 2022-07-26 21:09:03 +02:00
Adam Joseph 86c7c0917f
haskell.compiler.ghc865Binary: add powerpc64le bootstrap 2022-07-01 13:05:30 +02:00
Sandro Jäckel 4650f24496
Revert "ghc: Work around broken pyopenssl on aarch64-darwin"
This reverts commit 7898af7d3a.
2022-06-29 02:48:55 +02:00
Bernardo Meurer 131b7603cc
Merge pull request #179181 from hercules-ci/fix-ghc-aarch64-darwin-pyopenssl
ghc: Work around broken pyopenssl on aarch64-darwin
2022-06-27 10:58:58 -07:00
Robert Hensing 7898af7d3a ghc: Work around broken pyopenssl on aarch64-darwin 2022-06-26 20:13:13 +02:00
sternenseemann 1216772f5d haskell.compiler.ghc922Binary: init at 9.2.2
Since the musl / alpine bindist now uses the GMP backend, we need to
learn to tell Hadrian bindists about GMP. Hadrian bindists no longer
have the buildinfo files, instead we need to patch the package db before
installing and recache it afterwards which is not too hard, luckily.
Same goes for libiconv and base as well as libffi and rts on
darwin (those bindists are all produced using hadrian).

See also: https://gitlab.haskell.org/ghc/ghc/-/issues/21554#note_431000

Note that pkgsMusl.haskell.compiler.ghc922Binary still has severe
issues: It can't produce shared libraries because the bindist ships
none (and using the GMP backend has a hard requirement for shared
objects, apparently) and ghci segfaults for unknown reasons at the
moment. However, I've successfully compiled hadrian with it so far, so
perhaps it's good enough.
2022-06-26 13:50:16 +02:00
sternenseemann 90099ac5fa haskell.compiler: ghc922 -> ghc923
https://www.haskell.org/ghc/download_ghc_9_2_3.html

Since the tarball is generated by Hadrian, neither autoreconf nor ./boot
is executed so ./configure and ghc.mk is missing.
2022-05-28 21:11:07 +02:00
sternenseemann 471653824c pkgsMusl.haskell.compiler.ghc884: bootstrap using normal binary ghc
On non-arm platforms there's no reason to use the minimal GHC for musl
bootstrapping, as it doesn't hit the size limit. Additionally this serves
as a wonky workaround for ghc#21402 [1], as the minimal GHC 8.10.2
binary currently contains `xxx` in its `outPath`.

[1]: https://gitlab.haskell.org/ghc/ghc/-/issues/21402
2022-04-19 12:02:01 +02:00
Dennis Gosnell 1be5cae549
haskell: remove override of integer-gmp
It appears that integer-gmp is already set to null for all compilers,
so there is no need to explicitly set it to null in the integer-simple
and native-bignum package sets.
2022-04-12 14:15:05 +09:00
Dennis Gosnell 49d146101a
haskell: don't lose packageOverrides for native-bignum 2022-04-09 11:14:56 +09:00
sternenseemann 47f837f5e8 haskell.compiler: ghc921 -> ghc922
https://www.haskell.org/ghc/download_ghc_9_2_2.html
2022-03-09 16:42:07 +01:00
Moritz Kiefer fa2bec27de haskell.compiler.ghc902: Switch to LLVM 12
Currently, the build on MacOS ARM64 is broken because LLVM 9 (or more
specifically compiler-rt) is broken (and is marked broken). Both
8.10.7 and 9.2.1 are already set to LLVM 12 so this PR adjusts this to
also use LLVM 12 for GHC 9.0.2 which seems to get things building for me.
2022-02-02 20:27:32 +01:00
Moritz Kiefer f82aeba582 haskell.compiler.ghc{902,921}: Switch GHC 9.0/9.2 to bignum-native
Neither of them support integer-simple anymore.

fixes #153742
2022-01-31 19:12:51 +01:00
sternenseemann 767fefc21c haskell.lib: move lib.nix into same directory as compose.nix 2022-01-22 21:38:03 +01:00
sternenseemann 41eef0059d haskell.compiler: ghc901 -> ghc902
https://www.haskell.org/ghc/download_ghc_9_0_2.html
2021-12-26 10:00:37 +01:00
sternenseemann a6f258f49f Merge remote-tracking branch 'origin/master' into haskell-updates 2021-11-25 09:28:37 +01:00
sternenseemann 156d8d619c haskell.compiler.*: be clear about LLVM build->target role
Since LLVM itself doesn't depend on target at all, this doesn't change
anything *in effect* (i. e. rebuild count should be zero), but it is
more clear about the intention and what LLVM is used for here (i. e. in
depsBuildTarget).
2021-11-24 13:48:37 +01:00
sternenseemann 9e1f438a76 haskell.compiler.*: upgrade to latest supported LLVM version
Source:

* (8.6.5: https://www.haskell.org/ghc/download_ghc_8_6_5.html)
* (8.8.4: https://www.haskell.org/ghc/download_ghc_8_8_4.html)
* (8.10.2: https://www.haskell.org/ghc/download_ghc_8_10_2.html)
* 8.10.7: https://www.haskell.org/ghc/download_ghc_8_10_7.html
* (9.0.1: https://www.haskell.org/ghc/download_ghc_9_0_1.html)
* 9.2.1: https://www.haskell.org/ghc/download_ghc_9_2_1.html
* HEAD: 3ab3631f41/configure.ac (L674)
2021-11-23 16:46:18 +01:00
sternenseemann 5a568ea36f haskell.compiler.ghc901: drop LLVM version to 9
GHC 9.0.1 only supports LLVM 9 and spews a lot of warnings about LLVM 10
when using the LLVM backend atm.

See also: https://www.haskell.org/ghc/download_ghc_9_0_1.html
2021-11-23 16:46:18 +01:00
sternenseemann e191321866 haskell.compiler.ghc865Binary: build with correct LLVM version
See https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler/backends/llvm/installing#llvm-support
2021-11-23 16:46:13 +01:00
sternenseemann 607dd14964 haskell.compiler.ghcHEAD: bootstrap using 8.10.7 binary
This should shorten the bootstrapping part (not requiring an
intermediate 9.0.1 build). Seems like 8.10.7 is still supported for
bootstrapping for the moment and allows compiling for aarch64-darwin.
2021-11-15 21:01:17 +01:00
Domen Kožar 07715e7876
Merge pull request #145128 from prusnak/ghc-921-aarch64-darwin
haskell.compiler.ghc{901,921,HEAD}: fix aarch64-darwin build
2021-11-14 08:43:48 -06:00
Pavol Rusnak 155b7f0114
haskell.compiler.ghcHEAD: apply autoSignDarwinBinariesHook 2021-11-09 20:30:08 +01:00
Pavol Rusnak 3b9e94dc6c
haskell.compiler.ghc901: fix aarch64-darwin build
by applying autoSignDarwinBinariesHook
2021-11-09 12:23:43 +01:00
Pavol Rusnak 044e860242
haskell.compiler.ghc921: fix aarch64-darwin build
by applying autoSignDarwinBinariesHook
2021-11-09 12:23:43 +01:00
Ellie Hermaszewska 15ae25f36c
haskell: switch from haskell.lib to haskell.lib.compose 2021-11-07 20:18:45 +08:00
sternenseemann 2034c06a0a haskell.compiler.ghc884: revert to reverse bootstraping using 8.10.2
Reverse bootstrapping is not supported by GHC upstream. In the case of
8.8.4 it just happens to work using 8.10.2, with later versions,
specifically 8.10.7 there seems to be some digressions in the generated /
used C code which cause 8.8.4 to fail to compile [1].

Thus we revert to using 8.10.2 for aarch64 and Musl which means: Still
no integer-simple and musl at the same time (however all other GHCs have
it, so it's probably not a problem) and no aarch64-darwin (GHC 8.8.4
can't target that architecture anyways). In short, the situation stays
the same.

[1]: https://github.com/NixOS/nixpkgs/pull/138523#issuecomment-927339953
2021-09-26 19:40:56 +02:00
sternenseemann 628d864ba2 haskell.compiler.ghc8107: always self-bootstrap
Allows us to get rid of the musl special-casing.
2021-09-23 20:38:36 +02:00
Niklas Hambüchen c57ad7ccb9 haskell.compiler.ghc*: Use 8.10.7 bindist for bootstrapping.
This fixes musl+integer-simple, see #130441.

Co-Authored-By: sternenseemann <sternenseemann@systemli.org>
2021-09-23 20:38:36 +02:00
Divam ba25b274f4 ghcjs: init at 8.10.7
The src points to the obsidiansystems repo as it has the ghcjs ported from
8.10.5 to 8.10.7, and a bunch of other fixes (#812, #811, #809)
2021-09-15 12:51:34 +09:00
Domen Kožar 6f1242469a ghc: 8.10.5-binary -> 8.10.7-binary 2021-08-29 15:29:27 +02:00
sternenseemann a008c419dd haskell.compiler.ghc921: provide xattr on darwin
GHC 9.2.1-rc1 needs to run xattr in ghc.mk unconditionally. The fix for
this and support for the XATTR environment variable have only been added
to the GHC 8.10 series so far.
2021-08-28 16:17:21 +02:00
sternenseemann b756d62d8d haskell.compiler.ghcHEAD: provide xattr on darwin
This darwin specific tool is required for GHC on master
nowadays. Unfortunately the XATTR environment variable only works in the
GHC 8.10 series.
2021-08-28 16:17:21 +02:00
sternenseemann a0142cc3cc Merge remote-tracking branch 'origin/master' into haskell-updates 2021-08-28 14:45:41 +02:00