Commit Graph

928 Commits

Author SHA1 Message Date
sternenseemann
f06a4d73c0 haskell.compiler: clean up unused patches 2022-08-22 22:31:11 +02:00
sternenseemann
970a97f973 haskell.compiler: ghc941 -> ghc942 2022-08-22 22:27:22 +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
Malte Brandy
44c848bc02 haskell.compilers.ghc941: 9.4.0.20220721 -> 9.4.1
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2022-08-13 20:55:30 +02:00
sternenseemann
4e7c3b9828 haskell.compiler.ghc941: apply fix for racy build system
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8751
https://gitlab.haskell.org/ghc/ghc/-/issues/21934

Hopefully this patch fixes the problem we experienced on Hydra once (out
of three builds).
2022-08-04 15:15:55 +02: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
Vladimír Čunát
c869aa9ac9
Merge branch 'master' into staging-next
The purpose is to integrate the usual Haskell rebuild.
2022-07-07 18:50:02 +02:00
Adam Joseph
86c7c0917f
haskell.compiler.ghc865Binary: add powerpc64le bootstrap 2022-07-01 13:05:30 +02:00
Dennis Gosnell
c9e0650b51
Merge pull request #177948 from lf-/apply-haddock-hyperlinking-patch
ghc8107-ghc923: patch haddock to generate correct source links
2022-06-28 15:30:49 +09: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
Jade Lovelace
2cf08210fd ghc8107-ghc923: patch haddock to generate correct source links
Previously links to external modules were jacked because haddock was
doing them wrong. I fixed this upstream in early May 2022 but it's not
out yet.
2022-06-16 16:39:42 -07:00
Jade Lovelace
fc1548e597 ghc8.10.7-ghc9.2.3: hyperlink sources in base lib haddocks
This was disabled basically by accident before.

The links are jacked, but that was is true for every package; it is not
unique to this PR. I fixed it upstream here:
https://github.com/haskell/haddock/pull/1482
but it's not in any release distributions yet I don't think.

Fixes #171841
2022-06-16 15:04:26 -07:00
Sergei Trofimovich
849d47a928 ghc: use CXX=c++, not CXX=cxx
Otherwise attempt to build ghcHEAD from local checkout fails as:

    $ nix build -L --impure --expr 'with import ~/nm {}; haskell.compiler.ghcHEAD.overrideAttrs (oa: { src = ./.; patches = []; nativeBuildInputs = oa.nativeBuildInputs ++ [ git ]; })' --keep-failed
    ...
    ghc> checking C++ standard library flavour... ./configure: line 11487: /nix/store/r7r10qvsqlnvbzjkjinvscjlahqbxifl-gcc-wrapper-11.3.0/bin/cxx: No such file or directory

I think 'cxx' is not provided by stdenv.
2022-05-29 20:02:53 +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
Adam Joseph
c0085404bd lib/systems/inspect.nix: remove isPowerPC
Very confusingly, the `isPowerPC` predicate in
`lib/systems/inspect.nix` does *not* match `powerpc64le`!

This is because `isPowerPC` is defined as

  isPowerPC      = { cpu = cpuTypes.powerpc; };

Where `cpuTypes.powerpc` is:

  { bits = 32; significantByte = bigEndian; family = "power"; };

This means that the `isPowerPC` predicate actually only matches the
subset of machines marketed under this name which happen to be 32-bit
and running in big-endian mode which is equivalent to:

  with stdenv.hostPlatform; isPower && isBigEndian && is32bit

This seems like a sharp edge that people could easily cut themselves
on.  In fact, that has already happened: in
`linux/kernel/common-config.nix` there is a test which will always
fail:

  (stdenv.hostPlatform.isPowerPC && stdenv.hostPlatform.is64bit)

A more subtle case of the strict isPowerPC being used instead of the
moreg general isPower accidentally are the GHC expressions:

  Update pkgs/development/compilers/ghc/8.10.7.nix
  Update pkgs/development/compilers/ghc/8.8.4.nix
  Update pkgs/development/compilers/ghc/9.2.2.nix
  Update pkgs/development/compilers/ghc/9.0.2.nix
  Update pkgs/development/compilers/ghc/head.nix

Since the remaining legitimate use sites of isPowerPC are so few, remove
the isPowerPC predicate completely. The alternative expression above is
noted in the release notes as an alternative.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2022-05-25 09:45:42 +02:00
github-actions[bot]
2541ef4282
Merge master into haskell-updates 2022-04-24 00:12:40 +00:00
sternenseemann
9cba3bc856
Merge pull request #167934 from sternenseemann/aarch64-darwin-cabal-patches-target
haskell.compiler: check targetPlatform for Cabal Paths module patch
2022-04-23 18:54:56 +02:00
sternenseemann
d331463a2c haskell.compiler: fix binary GHCs with store paths containing "xxx"
At some point in hadrian's installation Makefile used for e.g. alpine
bindists 'xxx' is used as a placeholder for three spaces and later
substituted back. This breaks if the store path itself contains 'xxx'.
We adapt an upstream patch which will be part of 9.4 (and presumably
9.0.3 and 9.2.3) as a workaround for this issue for 8.10.2 and 8.10.7
which are the binary GHCs in nixpkgs affected.
2022-04-22 14:25:53 +02:00
sternenseemann
f2f10367b9 haskell.compiler.ghc8107Binary: build on aarch64 on Hydra
According to local testing, the bindist is below 1GB on
aarch64-linux which is below the Hydra output limit.
2022-04-09 13:42:14 +02:00
github-actions[bot]
d685083974
Merge master into haskell-updates 2022-04-09 00:12:38 +00:00
sternenseemann
4eeab0f0ab haskell.compiler.ghcHEAD: 9.3.20211111 -> 9.3.20220406 2022-04-09 00:34:46 +02:00
sternenseemann
eb286631b4 haskell.compiler: check targetPlatform for Cabal Paths module patch
The issue we are working around is concerned with the lack of dead
code elimination in the aarch64-darwin LLVM codegen backend. Thus
the relevant condition is the target platform, not the host
platform as checked previously.
2022-04-09 00:26:05 +02:00
Matthew Leach
8cb7f599f9 haskell.compiler.ghc902: fix seperate bin outputs on aarch64-darwin 2022-04-08 16:26:54 +01:00
Robert Hensing
76be6eaf29 haskell.compiler.ghc902: Backport -fcompact-unwind 2022-03-31 13:48:17 +02:00
rnhmjoj
654940f36b haskellPackages.mkDerivation: check haddock availability
This change makes the haskell builder run the haddockPhase only if the
haddock program is availble (for example, it's not when cross-compiling).
2022-03-17 19:43:04 +01:00
rnhmjoj
4884fcc0d2 ghc: enable static RTS
This change allows loading statically compiled libreries into a running
GHC, thus fixing the build of haskell packages that use TemplateHaskell.
See [1] for the details.

Fixes issue #61575, #124284.

[1]: https://www.tweag.io/blog/2020-09-30-bazel-static-haskell/
2022-03-17 19:43:04 +01: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
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
Ben Siraphob
e68cbf0c04
Merge pull request #154046 from hexagonal-sun/ghc-fix-bin-outputs-on-aarch64-darwin
ghc8107: fix seperate bin outputs on aarch64-darwin
2022-01-30 20:21:51 +00:00
Matthew Leach
b0dcd7fa34 haskell.compiler.ghc8107: fix seperate bin outputs on aarch64-darwin 2022-01-21 15:34:05 +00:00
sternenseemann
e3c61654ca haskell.compiler.*: disable large address space only on iOS
The condition used in the past to detect iOS was "is this
aarch64-darwin"? Since we have aarch64-darwin devices running macOS
nowadays which do allow large address space, let's use the more accurate
flag.
2022-01-04 12:10:00 +01:00
sternenseemann
b2cecf1509 Merge #152136: haskell.compiler: ghc901 -> ghc902 2021-12-27 16:17:51 +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
Ryan Burns
fd421a9fd5 haskell.packages.ghcHEAD: refine enableDwarf platform condition for darwin
enableDwarf requires elfutils on the host, which doesn't support darwin.

Instead of hardcoded isDarwin/isWindows, switch to self-documenting
availableOn conditional for elfutils.

Fixes ghcHEAD cross-compilation when build = host = darwin,
target = linux.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2021-12-25 21:49:44 +01:00
sternenseemann
c610be58c0 haskell.compiler.*: use build->target LLVM in build
This is no substantial change, as we already assert that the
build->target and host->target LLVM are the same, but this brings the
terminology in the file in a more consistent order, since we use
build->target for CC/CXX and bintools already.

In fact we should be passing build->target to configure always,
host->target would come into play when updating GHC's settings file
after installing.
2021-12-01 18:37:24 +01:00
sterni
c85d141221
Merge pull request #148079 from sternenseemann/ghc-set-clang-only-if-use-llvm
haskell.compiler.*: only set CLANG to match llc/opt
2021-12-01 17:34:38 +01:00
sternenseemann
0f5a723dd1 Merge remote-tracking branch 'origin/master' into haskell-updates 2021-12-01 17:31:16 +01:00
sternenseemann
6daa4a5c04 haskell.compiler.*: use wrapped darwin bintools on aarch64
On aarch64-darwin we have additional wrappers for install_name_tool and
strip to deal with codesigning requirements (e. g. updating the
signature / checksum after changing a binary). These wrappers don't
exist on x86_64-darwin which is why the unwrapped versions were used
before, causing the kernel to kill (some) executables produced by GHC.
2021-12-01 17:29:12 +01:00
sternenseemann
c23e14e33f haskell.compiler.*: assert that host->target == build->target tools
CC, CXX, LD, AR, …, LLC, OPT and CLANG will be invoked by GHC's build
system at build time in the build->target role. However, since we are
passing absolute paths, they will get saved in GHC's settings file and
later invoked at runtime, when they should be host->target. This means
that the build->target and host->target tools need to be the same for
our built GHC to work properly which is what we guard using these new
asserts.

Being able to drop these asserts would be a step towards cross-compiling
GHC (as opposed to building a GHC cross-compiler which still works).
2021-11-30 23:06:44 +01:00
sternenseemann
19fc229294 haskell.compiler.*: use targetCC for hasGold check
This is a bit shorter and more consistent with the rest of the file.
2021-11-30 23:00:11 +01:00
sternenseemann
c876c7498e haskell.compiler.*: only set CLANG to match llc/opt
* By taking clang from llvmPackages we make sure there is no version
  mismatch between LLVM (where llc and opt come from) and clang (which
  previously would be taken from stdenv on darwin for example).

* Only pass CLANG if useLLVM is true. Previously we also set this if
  targetCC was clang. This would cause potentially confusing behavior if
  llc and opt as well as clang are provided via PATH (and GHC is
  compiled with useLLVM == false), because clang from PATH would be
  ignored, but not llc and opt.
2021-11-30 22:55:19 +01:00
sternenseemann
b2e4708105 haskell.compiler.ghc921: check if ld.gold is available in useLdGold
Since 4c75874560 it is possible to
introspect if ld.gold is contained in the used bintools, so we can also
check if it is available before deciding to use it as done in the other
GHC derivations in 0908812372.
2021-11-30 22:22:30 +01:00
sternenseemann
8f1a52ac33 haskell.compiler.*: disable useLLVM also for SPARC and PowerPC
These targets also have NCG support, but they are tested less (in fact
SPARC seems to be untested atm) and may have issues. In such cases being
able to fallback to -fllvm without rebuilding the compiler could be
useful. OTOH GHC will default to -fasm and the backends probably work
well enough in most cases.
2021-11-28 17:14:18 +01:00
sternenseemann
17b8b5a4dc haskell.compiler.*: pass runtime dependencies via configure script
GHC can actually accept absolute paths for its runtime tools (except for
touch) at configure time which are then saved in
`$out/lib/ghc-${version}/settings`. This allows us to drop the wrapper
entirely if we assume that a POSIX compliant touch is in PATH when we
run GHC later.

The touch problem can presumably be fixed by either patching the
configure file of GHC (although we need to take care not to change the
touch GHC uses during its compilation) or messing with the settings file
after installation.

The rationale for dropping the wrapper PATH entry completely is that
it's always possible to invoke GHC via its library which will bypass the
wrapper completely, leading to subtly different behavior.

Binary GHCs are not touched in this commit, but ideally they'll get a
similar treatment as well, so they are more robust, although we
generally don't need to use them as a library.

Note that GHC 8.8.4 doesn't care about install_name_tool or otool, so
the respective environment variables are not set.
2021-11-27 14:39:22 +01:00
sternenseemann
ef081bf305 haskell.compiler.*: don't useLLVM if aarch64-darwin NCG is available
aarch64-darwin NCG was added in 9.2.1 which makes it unnecessary to
include LLVM in the wrapper.
2021-11-25 19:30:05 +01:00
sternenseemann
a7c564596e haskell.compiler.*: use isScript over grepping for #! 2021-11-25 16:48:56 +01:00
sternenseemann
f5c3b6523c haskell.compiler.*: move propagatedBuildInputs into runtimeDeps
This has two main benefits:

* GHC will work reliably outside of stdenv, even when using -fllvm since
  everything it'll call at runtime will be provided in PATH via the
  wrapper scripts.

* LLVM will no longer leak into haskell packages' configure
  scripts. This was an issue with llvm-hs which fails to build if the
  LLVM version of the compiler since the propagatedBuildInputs of GHC
  take precedence over the nativeBuildInputs added in the derivation.
2021-11-25 16:47:51 +01:00
sternenseemann
035f20bc6b haskell.compiler.*: prefix PATH with runtimeDeps
This will prevent freak accidents where the wrong tools are used because
they are in PATH by chance.
2021-11-25 16:42:47 +01:00
sternenseemann
5384a35a0c haskell.compiler.ghc*Binary: add all missing runtimeDeps to PATH
This brings the binary GHCs on parity with the source built ones in
terms of the wrapper. The upshot of this is that compiling something
using the binary GHCs no longer depends on PATH being populated with
the tools included in stdenv at all. We can even test this by running
the installCheck with an empty environment (via `env -i`).
2021-11-25 15:42:47 +01:00
sternenseemann
579bc49e94 haskell.compiler.ghc*Binary: don't propagate LLVM, use wrapper
Copy the approach from the normal GHC derivations for adding an
`export PATH` into the scripts in `$out/bin` and use it to put the
specific LLVM version of the binary GHC into its PATH. This will
prevent the LLVM version of the GHC we are building later to take
precedence over the LLVM version this GHC needs.
2021-11-25 14:53:07 +01:00
sternenseemann
a6f258f49f Merge remote-tracking branch 'origin/master' into haskell-updates 2021-11-25 09:28:37 +01:00
sternenseemann
b2c2215f60 pkgsMusl.haskell.compiler.ghc884: return accurate platforms 2021-11-24 17:07:57 +01:00
sternenseemann
55b8d8c1bf haskell.compiler.ghc884: re-enable aarch64-linux
Since we inherit the platform list from the bootstrap GHC, we get
differing lists depending on which platform we evaluate the platform
list on (depending on whether 8.10.2 or 8.6.5 is used). This leads to
Hydra thinking aarch64-linux is not supported as it evaluates on
x86_64-linux usually.
2021-11-24 15:14:54 +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
b9f1582106 haskell.compiler.ghc865Binary: remove aarch64-linux from platforms
GHC 8.6.5 will always segfault on aarch64-linux and at this point
it's not realistic we'll ever fix this.
2021-11-24 13:28:28 +01:00
sternenseemann
d7ff8061be haskellPackages: always inherit llvmPackages from ghc's passthru
This means we only have to update the llvmPackages attribute in one
place now and should prevent situations like with 8.6.5 where different
versions would be used in the package set compared to the compiler
build.

Drop comments in the configuration-ghc-X.Y.x.nix files as well, since
LLVM version isn't tied to the compiler minor version at
all (e. g. 8.10.2 and 8.10.7 have different support ranges).
2021-11-23 16:46:18 +01:00
Alexandre Esteves
8c17cc993b ghcHEAD: fix mingw build 2021-11-22 02:49:30 +00:00
sternenseemann
c28ddd3fd5 haskell.compiler.ghcHEAD: 9.3.20210913 -> 9.3.20211111 2021-11-15 21:01:17 +01: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
sternenseemann
1d4787f14d haskell.compiler.ghc921: 9.2.0.20210821 -> 9.2.1
https://mail.haskell.org/pipermail/glasgow-haskell-users/2021-October/027082.html

Also fixes a bug affecting the behavior of streaming-commons and text:
https://gitlab.haskell.org/ghc/ghc/-/issues/20526

Co-authored-by: Guillaume Bouchard <guillaum.bouchard@gmail.com>
2021-10-29 21:32:52 +02: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
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
Niklas Hambüchen
998e40ce38 haskell.compiler.ghc*: Add variantSuffix.
When debugging musl builds, I often have to sift through thousands of lines
of `nix-store -q --tree` or `nix-store -qR` output.
Until now, `pkgsMusl` and normal `pkgs` GHCs looked exactly the same in
there, making that task tough.

Same for `integer-simple`, which makes debugging `gmp` issues easier.

This commit introduces a suffix to tell them apart easily.

Note that this is different from `targetPrefix` which is for
cross-compilation, which `pkgsMusl` does not do.

For GHC HEAD, integer-simple no longer exists, instead we now have a
“bignum backend”, so we just call the integer-simple successor
native-bignum.

Co-Authored-By: sternenseemann <sternenseemann@systemli.org>
2021-09-23 16:41:49 +02:00
sternenseemann
3bdb476804 haskell.compiler.ghc*: use pname instead of name
This also means the -binary suffix is moved *before* the version which
prevents builtins.parseDrvName from interpreting it as part of the version.
2021-09-23 16:41:49 +02:00
Niklas Hambüchen
14d020bf06 pkgsMusl.haskell.compiler.ghc8107Binary: Remove now-incorrect gmp dependency.
GHC HQ switched the musl bindists from gmp to `integer-simple`
with GHC >= 8.10.6, but this was not reflected in the nixpkgs update:

* commit 6f1242469a: ghc: 8.10.5-binary -> 8.10.7-binary
  From PR #135453

See also #130441.
2021-09-23 15:12:45 +02:00
sternenseemann
de37be3299 haskell.compiler.ghc921: update comments for darwin 2021-09-23 11:34:56 +02:00
sternenseemann
2a1e089550 haskell.compiler.ghc921: fix build on darwin
See https://gitlab.haskell.org/ghc/ghc/-/issues/19950#note_377768
2021-09-22 19:11:43 +02:00
sternenseemann
d7a393dc6b haskell.compiler.ghcHEAD: 9.3.20210806 -> 9.3.20210913
Mainly gives us the forward port of the XATTR environment variable, so
we can make this expression more consistent with GHC 8.10.7.
2021-09-16 13:16:06 +02:00
github-actions[bot]
b7d0ebd8f8
Merge master into haskell-updates 2021-09-16 00:06:30 +00:00
Divam
feac31b1f0 ghc: add the Cabal ghcjs support patch 2021-09-15 12:51:34 +09:00
Alyssa Ross
56314db098
Merge remote-tracking branch 'nixpkgs/master' into staging-next
Conflicts:
	pkgs/development/compilers/ghc/8.10.7.nix
	pkgs/development/compilers/ghc/8.8.4.nix

I've removed the isWindows check from useLdGold in ghc, since that should
be covered by the new hasGold check.
2021-09-11 10:49:13 +00:00
Alexandre Esteves
bd5f47022c ghc8.8.4: fix mingw build 2021-09-09 03:35:17 +01:00
Alexandre Esteves
eea8e3eace ghc8.10.7: fix mingw build 2021-09-09 03:35:07 +01:00
Vladimír Čunát
dbc3228248
Merge branch 'master' into staging-next
(It's a little older version of master, to bring haskell updates now.)
2021-09-07 08:21:02 +02:00
(cdep)illabout
89c37a0988
haskell.compiler.ghc921: remove darwin from hydraPlatforms since it is broken
This was marked broken in 6f1a319c45.
2021-09-07 09:49:54 +09:00
Alyssa Ross
071a7a4583
Merge remote-tracking branch 'nixpkgs/master' into staging-next 2021-09-03 18:23:45 +00:00
sternenseemann
791f39c668 haskell.compiler.*: clean up maintainer sets
Let's remove peti (retired) as well Marc, Andres and Will who haven't
been active lately. Feel free to re-add yourself, but this should at
least lessen the GitHub notifications for now.

Add lib.teams.haskell to every maintainer list additionally. I've also
added Domen and Pavol to GHC 8.10.7 binary since they are the only ones
working on aarch64-darwin so far. Let me know if that is alright with
you.
2021-09-01 16:49:18 +02:00
sternenseemann
6f1a319c45 haskell.compiler.ghc921: mark as broken on darwin
Seems like there is either a fundamental issue with how our derivation
works or an upstream bug prevent GHC 9.2.1 from compiling on macOS using
nixpkgs. Until someone fixes that or rc2 comes around, we can save the
build time.
2021-09-01 14:22:49 +02:00
sternenseemann
3ff0594935 haskell.compiler.ghc884: remove big-parallel
GHC 8.8.4 seems to be quite susceptible to flaky build failures when
using more cores. Since we don't care about speed too much with this
one, let's disable big-parallel again.
2021-08-30 12:17:09 +02: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
github-actions[bot]
dbad333a72
Merge master into staging-next 2021-08-28 12:01:06 +00:00
Pavol Rusnak
e0b89affa0 haskellPackages: fix ghc build on aarch64-darwin
by adding autoSignDarwinBinariesHook to nativeBuildInputs
2021-08-28 12:54:06 +02:00
sternenseemann
9eca744cc0 ghc: 8.10.6 -> 8.10.7
https://www.haskell.org/ghc/download_ghc_8_10_7.html
2021-08-27 00:42:51 +02:00
Pavol Rusnak
02c5e5173f
haskellPackages: introduce ghc8105Binary to enable aarch64-darwin bootstrap 2021-08-24 18:49:25 +02:00
sternenseemann
b4f66903e3 haskell.compiler.*: make big-parallel
Compiling GHC on Hydra takes 3h or more (with -j2) whereas even on an
outdated CPU GHC can be compiled in under an hour with -j4. To get a
higher NIX_BUILD_CORES value at build time, we'll have to mark GHC
big-parallel.
2021-08-24 00:57:19 +02:00
Jan Tojnar
4ff3577f25 Merge branch 'staging-next' into staging 2021-08-23 14:19:54 +02:00
Guillaume Bouchard
5c1d3b7944 ghc: add guibou as maintainers for all ghc compilers 2021-08-23 12:40:11 +02:00
Guillaume Bouchard
e0f7b04c2e ghc: add 9.2.1 (rc1) 2021-08-23 12:40:11 +02:00
John Ericson
7195e6008a
Merge pull request #132538 from sternenseemann/has-gold
binutils-unwrapped: expose if built with ld.gold
2021-08-20 21:12:20 -04:00
sternenseemann
0908812372 haskell.compiler.*: check bintools.hasGold before enabling ld.gold 2021-08-18 01:21:44 +02:00
sternenseemann
cb330ce4f0 ghc: 8.10.4 -> 8.10.6
The only big change is required for darwin since GHC 8.10.5 now
runs xattr in the install phase on darwin:

* 11e1dcde0d
* ec451cac39

Unfortunately, it uses the host /usr/bin/xattr by default which is
present in the build due to a lack of sandboxing on darwin. That xattr
version however still requires Python 2.7 whereas Python 3.8 is in PATH
in our build. We solve this by setting the XATTR environment variable.

We can't use python3Packages.xattr since GHC expects Apple's fork of
xattr which provides some extra flags to utilize.

Co-authored-by: Cheng Shao <cheng.shao@tweag.io>
2021-08-14 17:12:39 +02:00
(cdep)illabout
2d1b5aa1fe
haskell.compiler.ghcHEAD: increase Hydra timeout because Darwin builds were timing out
Building `haskell.compiler.ghcHEAD` on Hydra on Darwin seemed to cause
frequent timeouts.

Here's an example of a timeout: https://hydra.nixos.org/build/149762652

This commit raises the timeout time on Hydra for ghcHEAD.  The other
GHC derivations have this set, so it makes sense to set this here
as well.
2021-08-11 13:21:02 +09:00
Utku Demir
a794c51c07
haskell.compiler.ghcHEAD: 9.3.20210504 -> 9.3.20210806 2021-08-10 08:28:41 +12:00
(cdep)illabout
be8d8a9efb
ghc: mark integer-simple builds as broken when hostplatform is musl 2021-07-24 21:13:02 +09:00