Commit graph

225 commits

Author SHA1 Message Date
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
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
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
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 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 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
Guillaume Bouchard 5c1d3b7944 ghc: add guibou as maintainers for all ghc compilers 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
(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
Niklas Hambüchen f4e62a996f pkgsMusl.haskell.compiler.ghc{8104,884,901,HEAD}: Disable sphinx for musl
Adds new package options:

* enableDocs
* enableHaddockProgram

to control whether to build Sphinx docs, and GHC haddocks and the
haddock program.

Unfortunately currently the building of the `haddock `program
and generating GHC docs are mixed into one option, see:
https://gitlab.haskell.org/ghc/ghc/-/issues/20077

Making Sphinx docs disableable, and disabling them by default
for Musl and cross builds, makes it much easier to provide these
builds without having to support Sphinx's enormous dependency
tree for those ways of building.
2021-07-10 02:49:42 +02:00
Niklas Hambüchen 8adcd39504 ghc: Add comments about hardeningDisable pie for musl 2021-07-10 02:49:42 +02:00
John Ericson 4f97d78936
Merge pull request #126205 from sternenseemann/ghc-linker-checks
ghc: check for targetPlatform.linker to determine if gold is available
2021-06-08 16:42:13 -04:00
sternenseemann 036eef1d1e haskell.compiler.*: use gold based on targetPlatform.linker
useLdGold previously just checked for useLLVM which (currently) implies
`linker == "lld"`. However more accurate is to check the `linker` of the
`targetPlatform` as it actually tells us which bintools package we can
expect.

`linker == "bfd"` implies that we are using the `binutils` package, so
gold is available, so we can use it unless musl is the libc. `linker ==
"gold"` implies that gold is the default linker already and we should
absolutely use it.
2021-06-08 22:17:24 +02:00
sternenseemann 118b28a127 haskell.compiler.*: pull in unwrapped bintools for darwin
GHC calls otool on darwin which is contained in the
stdenv.cc.bintools.bintools derivation and thus needs adding to the
runtime PATH of GHC. Since this is toolchain specific technically, we
check for cctools instead of darwin (although I don't know if GHC
or nixpkgs work on macOS without cctools).

This fixes usage of GHC in an environment where otool is not available
and more specifically in stdenvNoCC which is used by writers.writeHaskell.
Resolves #123228.
2021-06-08 14:20:09 +02:00
(cdep)illabout 721c8ab307
haskell.compiler.ghcHEAD: disable Hydra build on aarch64-linux 2021-05-19 10:30:23 +09:00
sternenseemann f90244c970 haskell.compiler.ghcHEAD: disable DWARF on non x86
The broken build of ghcHEAD on aarch64-linux results from rts/Libdw.c
not supporting that platform. Seemingly this particular file is only
relevant for DWARF support in GHC, so we disable that on unsupported
platforms.
2021-05-17 17:22:47 +02:00
(cdep)illabout d1de348fdc
haskell.compiler.ghcHEAD: mark broken on aarch64 2021-05-16 16:52:08 +09:00
sternenseemann b4c069dc11 haskell.compiler.ghcHEAD: 8.11.20200824 -> 9.3.20210504 2021-05-08 13:03:55 +02:00
oxalica 354d262db8
lib.meta: introduce availableOn 2021-04-02 19:20:23 +08:00
Ben Siraphob acc5f7b18a pkgs/development/compilers: stdenv.lib -> lib 2021-01-23 08:57:37 +07:00
zowoq 31f5dd3f36 treewide: editorconfig fixes
- remove trailing whitespace
- use spaces for indentation
2021-01-20 09:11:11 +10:00
Matthew Bauer d0e52b6b32
Merge pull request #95309 from obsidiansystems/mobile-fixes
Support Android 29 in cross-compilation
2020-08-28 14:59:37 -05:00
Peter Simons 24cd70f14a Merge remote-tracking branch 'origin/master' into haskell-updates 2020-08-27 14:26:14 +02:00
Utku Demir fae83ef189
ghcHEAD: 8.11.20200731 -> 8.11.20200824 2020-08-24 11:06:36 +12:00
Matthew Bauer 0be29459d6 ghc: set Stage1Only = YES on iOS
We want stage1Only here even if system == system, since we can’t run
the native arch simulator binaries locally.
2020-08-17 23:51:59 -05:00
Divam Narula 818d24c9db
Merge branch 'staging' into upstream-wasm-cross-nixpkgs-4 2020-08-16 10:13:57 +05:30
Gabor Greif b18829ff92 Disable profiling builds for AArch64
see also 1353355a63
2020-08-07 20:53:37 +02:00
Utku Demir ed1623421f ghcHEAD: 8.11.20200505 -> 8.11.20200731 2020-08-07 20:34:52 +02:00
Divam 95a5a19658 Enable dontStrip for wasm 2020-08-05 20:17:14 +09:00
Divam a9ac31c299 Set the STRIP_CMD to ':' for dontStrip
(as mentioned in mk/build.mk.sample)
2020-08-05 20:08:37 +09:00
Gabor Greif d4d7223eb0 Nail a few typos 2020-05-08 21:11:46 +02:00
Gabor Greif dec283b463 ghcHEAD: 20200403 -> 20200505 2020-05-08 21:11:46 +02:00
Gabor Greif 7932fb22cb ghcHEAD: bump to 8.11.20200403 (#84217)
* ghcHEAD: bump to 8.11.20200403

* ghcHead: reduce diff vs. 8.10.1

dontAddExtraLibs was removed by accident (IMO) in ea19a8ed1e

* ghcHEAD: add ability to use system libffi

- enable nixpkgs' libffi
- minimise diffs against 8.10.1
- remove patching

* remove configure warning about --with-curses-includes

configure: WARNING: unrecognized options: --with-curses-includes
2020-04-17 20:50:48 +02:00
Adam Sandberg Ericsson 08a9d51699 ghc: mention why ld.gold is disabled for musl libc 2020-04-10 20:56:39 +02:00
Adam Sandberg Ericsson 4675649d9c ghc: don't use ld.gold with musl libc (fixes #84670)
ld.gold doesn't play well with musl as is documented in #49071 and
https://sourceware.org/bugzilla/show_bug.cgi?id=23856
2020-04-10 20:56:38 +02:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Adam Sandberg Ericsson 9a5ecf1212 ghc: really use ld.gold 2020-02-28 20:29:33 +01:00
Matthew Bauer 04000331c1
Merge pull request #74284 from matthewbauer/ios-with-xcode-11
Update iOS for XCode 11
2020-01-03 15:35:41 -05:00
Matthew Bauer 9c1a2ac51e Merge remote-tracking branch 'origin/master' into ios-with-xcode-11 2020-01-03 15:34:20 -05:00
Matthew Bauer 036cef9473 ghc: always use llvm with iOS
Even when building for the simulator.
2020-01-03 15:19:37 -05:00
Robin Gloster f6a3f5af36
treewide: structured-attrs fixes 2019-12-31 01:39:53 +01:00
Maximilian Bosch 15468f9a4b
ghc*: fix for structured attrs
configureFlags must be a flat list.
2019-12-31 01:31:19 +01:00
Robin Gloster 006242fd5a
treewide: fix types for mkDerivation params 2019-12-31 01:23:19 +01:00
John Ericson 9a080ceff2
Merge pull request #74922 from matthewbauer/ghc-no-gold-with-llvm
ghc: don’t use gold when useLLVM = true
2019-12-03 17:35:57 -05:00
Matthew Bauer 00cdf80d6a ghc: don’t use gold when useLLVM = true
When using the llvm-based linker, we don’t have a .gold flavor to
pick. So just fall back to the normal “ld” command.
2019-12-03 11:15:20 -05:00
Domen Kožar 7217090464
ghc: compile with DWARF support by default
This allows our GHCs to build programs with DWARF debug information
when -g is passed, see https://ghc.haskell.org/trac/ghc/wiki/DWARF.

Compiling with debug symbols is off by default until GHC ticket
https://gitlab.haskell.org/ghc/ghc/issues/15960
(Using -g causes differences in generated core) is fixed.
2019-11-20 15:35:25 +01:00