Commit Graph

1034 Commits

Author SHA1 Message Date
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
sternenseemann
54e1d5a3e6 haskell.compiler.ghc865Binary: mark as broken when built with musl
The musl support for binary GHC 8.6.5 relied on ABI compat between musl
and glibc which is no longer the case: https://github.com/NixOS/nixpkgs/issues/129247

Since there is no upstream musl (alpine) bindist for GHC 8.6.5, we can
only accept that binary 8.6.5 is not possible with musl.
2021-07-13 14:36:42 +02:00
Niklas Hambüchen
63b1e6e489 ghc*-binary: Remove no-op --with-gmp-libraries 2021-07-10 02:49:42 +02:00
Niklas Hambüchen
c6a77590e3 haskell.compiler.ghc8102Binary: Split ghcBinDists set into default and musl.
This allows to implement the "HACK" mentioned in the commit to
build `pkgsMusl` GHCs on Hydra without failing evaluation on Darwin.

Reference of the discussion:
https://github.com/NixOS/nixpkgs/pull/129289#discussion_r663956747

Patch contributed by @sterni.
2021-07-10 02:49:42 +02: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
Niklas Hambüchen
8b15fccf8a pkgsMuslhaskell.compiler.{ghc884,ghc8104}: Use GHC 8.10 as bootstrap compiler.
This addresses the fact that `ghc865Binary` segfaults on musl
(see #118731) because of the glibc+musl mix used in there.

With the previous commits, `ghc8102Binary` was changed to use
the musl-based bindist from GHC HQ instead, which works.

With this change, all nix Haskell compilers builds on musl:

    NIX_PATH=nixpkgs=. nix-build --no-link --expr 'with import <nixpkgs> {}; { inherit (pkgsMusl.haskell.compiler) ghc884 ghc8104 ghc901 ghcHEAD; }'
2021-07-10 02:49:42 +02:00
Niklas Hambüchen
f154c3adde haskell.compiler.ghc865Binary: Disable "pie" hardening. See #129247
While this does not fix `ghc865Binary` with musl, it at least prevents
that the other, newer errors are shadowed (see #129247).
2021-07-10 02:49:42 +02:00
Niklas Hambüchen
c866b8a13b haskell.compiler.ghc8102Binary: find -executable -> -perm -0100 2021-07-10 02:49:42 +02:00
Niklas Hambüchen
da1cf8cb90 pkgsMusl.haskell.compiler.ghc8102Binary: Fix musl segfault. Fixes #118731 #129247.
This commit replaces the musl + glibc hackery in the GHC bindist
compiler by using the new musl based bindist that GHC HQ provides
(built on Alpine).
We could alternatively also use a nix-built musl boostrap compiler,
but it seems nicer to use the GHC HQ one for now.

This fixes the compiler built by
`pkgsMusl.haskell.compiler.ghc8102Binary` segfaulting (#118731)
since the commit

    5e2311d2f - musl: 1.2.1 -> 1.2.2

concretely, musl commit

    01c7920f - remove redundant pthread struct members repeated for layout purposes

which I suspect breaks some glibc/musl ABI compatibility that may have
existed accidentally until then.

The added

    lib.optional stdenv.targetPlatform.isMusl "pie";

also fixes that the packaged bindist compiler cannot create a binary
in its `installCheck` phase (and overall); see detail explanation
in #129247.
2021-07-10 02:49:41 +02:00
Niklas Hambüchen
5777bd3d56 haskell.compiler.ghc8102Binary: Remove sed of /usr/bin/* commands.
None of the current bindists appear to contain these paths in their
`ghc-stage2` binary.
2021-07-10 02:49:41 +02:00
Niklas Hambüchen
1326009806 haskell.compiler.ghc8102Binary: Add check for arch-specific libraries.
With this check, we no longer don't notice when the upstream bindist
changes its dependencies (e.g. because a newer Debian version is used
that uses a new `ncurses` version).
2021-07-10 02:49:41 +02:00
Niklas Hambüchen
8a2de701f7 haskell.compiler.ghc8102Binary: Fix build on i686.
The library override that was present in the code referred to a
name that isn't even used in current GHC bindists.

Tested with:

    NIX_PATH=nixpkgs=. nix-build --no-link -A haskell.compiler.ghc8102Binary --argstr system i686-linux
2021-07-05 16:38:24 +02:00
Niklas Hambüchen
67e8744ef8 ghc: Refactor: Extract ghcBinDists 2021-07-05 16:38:24 +02:00
Niklas Hambüchen
947f757bba haskell.packages.ghc8102Binary: Add comments 2021-07-05 16:38:24 +02:00
Niklas Hambüchen
8d11c1380a pkgsMusl.haskell.compiler.ghc901: Fix evaluation with musl
`glibcLocales` only exists when glibc is used.

Similar to commit:

    8727284a - haskell: only use glibcLocales when using glibc
2021-07-04 22:15:59 +00:00
sternenseemann
cd33c34578 haskell.compiler.ghc884: patch for sphinx >= 4.0
With sphinx 4, interpreting the conf.py fails due to a decode
error: https://gitlab.haskell.org/ghc/ghc/-/issues/19962
The fix is an one line change which we have to backport from GHC
master.

9.2 and 8.10.6 will have a fix for this, GHC 9.0.1 and ghcHEAD
already have and GHC 8.10.4 has been patched in nixpkgs already.
2021-06-22 13:42:55 +02:00
sternenseemann
a8c2421e5b haskell.compiler.ghc8104: patch for sphinx >= 4.0
With sphinx 4, interpreting the conf.py fails due to a decode
error: https://gitlab.haskell.org/ghc/ghc/-/issues/19962

The fix is an one line change which we have to backport from GHC master.
Thus ghcHEAD is not affected by this problem.

9.2 and 8.10.6 will most likely have a fix for this.

TODO: Patch 8.8.4 and 9.0.1
2021-06-22 13:42:55 +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
Guillaume Bouchard
81c8d158a8 ghc: add missing meta data
`haskellCompilerName` in cabal2nix and hence ghc 8.10.2 and 8.6.5
"-binary" were not working correctly in this context.
2021-06-01 12:46:55 +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
Silvan Mosberger
08d94fd2b0
Merge pull request #114374 from oxalica/lib/platform-support-check
lib.meta: introduce `availableOn` to check package availability on given platform
2021-05-08 03:54:36 +02:00
maralorn
8b7d34d89e
Merge pull request #122026 from sternenseemann/ghc-binary-no-aarch64-hydra
haskell.compiler: misc cleanups for hydra aarch64 builds
2021-05-07 20:15:44 +02:00
sternenseemann
355b55d00b ghc8102Binary, ghc865Binary: don't build aarch64 on hydra
Unfortunately these compiler's normal binary versions exceed the maximum
output size on hydra and thus can't be built on there.

See also https://gitlab.haskell.org/ghc/ghc/-/issues/17051
2021-05-07 15:09:08 +02:00
sternenseemann
952a2866a2 haskell.compiler.ghc*Binary: update source URLs
The tarball download URLs seem to have changed, so we adjust them in
case anyone wants to reproduce the source of ghc8102Binary and
ghc865Binary.

Tested for x86_64-linux, i686-linux, aarch64-linux, x86_64-darwin.

Resolves #121804.
2021-05-07 11:20:19 +02:00
oxalica
354d262db8
lib.meta: introduce availableOn 2021-04-02 19:20:23 +08:00
Peter Simons
021b8328ce ghc: drop obsolete compiler version 8.10.3 2021-03-12 21:23:15 +01:00
Peter Simons
822fc150a1 ghc: drop obsolete compiler version 8.10.2 2021-03-12 21:18:48 +01:00
Peter Simons
d0ac5c04e0 ghc: drop obsolete compiler version 8.10.1 2021-03-12 21:17:50 +01:00
Peter Simons
a7932e3f14 ghc: drop obsolete compiler version 8.8.3 2021-03-12 21:16:35 +01:00
Peter Simons
f189465dce ghc: drop obsolete compiler version 8.8.2 2021-03-12 21:16:09 +01:00
Peter Simons
0886f5bad8 ghc: drop unused binary compiler version 8.2.2 2021-03-12 21:10:19 +01:00
Peter Simons
cb4346597f ghc: drop obsolete version 8.6.5 2021-03-12 21:05:31 +01:00
(cdep)illabout
b0a16b29e2 haskell.compiler.ghc8104: add ghc-8.10.4 2021-02-12 20:35:21 +01:00
Peter Simons
0b626654ad ghc: update the 9.0.1 version to the official release tarball 2021-02-05 23:05:20 +01:00
Peter Simons
b1d2e3b10f ghc-8.10.3: don't use obsolete stdenv.lib
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-02-05 23:04:46 +01:00
Cheng Shao
643169bbb4 Fix ar command path in GHC.
Previously, the "ar command" in the global config of GHC in nixpkgs is
simply "ar" instead of a proper absolute path in the nix store. This
will result in an "ar: command not found" error when using GHC and cabal
in a pure nix shell. This commit adds the patch and applies to all
pre-9.0 versions.

See output of ghc --info for "ar command" value.
2021-02-05 22:54:09 +01: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
Peter Simons
8a21e02e31 ghc-9.0.1: set utf-8 locale during the build so that Haddock succeeds 2021-01-02 19:58:19 +01:00
Peter Simons
bf5e99fc7a ghc-9.0.1: avoid use of tabs in the expression 2021-01-02 19:58:19 +01:00
Peter Simons
61a785ccd9 ghc: update 9.0.1 compiler from alpha-1 to rc-1 2021-01-02 19:58:19 +01:00
Peter Simons
1998b95adc haskellPackages: update default compiler from ghc 8.10.2 to version 8.10.3 2020-12-25 20:41:54 +01:00
Joe Hermaszewski
15b3bc3306 ghc865-binary: Use binary distribution which links against ncurses6 for
x86_64-linux

Ben Gamari's patch from #85924.

Fixes #85924, allowing one to bootstrap GHC in `pkgsMusl`

`nix-build -A pkgsMusl.haskellPackages.hello` succeeds with this patch.
2020-11-28 20:19:05 +08:00
Frederik Rietdijk
587538d087 Merge staging-next into staging 2020-11-23 18:10:33 +01:00
Mario Rodas
888b9587ed haskellPackages.ghc8102: add patch to allow Block.h compile with c++ compilers 2020-11-22 04:20:00 +00:00
Scott Worley
5354cd0a16 ghc: Use a real URL for D5123.diff
Please do not use tarballs.nixos.org in src URLs.  tarballs.nixos.org is
a cache, not an authority.

This patch differs from the one in tarballs.nixos.org only in source code
comments.
2020-11-19 20:12:32 +01:00
Frederik Rietdijk
8aaf2e60e5 Merge staging-next into staging 2020-11-09 14:49:10 +01:00
Robert Hensing
7ac71d78a3 ghc8102: Fix whitespace 2020-11-06 11:35:19 +01:00
Robert Hensing
6057cb9786 ghc*: Increase build timeout to 1 day
The default of 10 hours is insufficient for some of the slower
platforms like macOS and aarch64.
2020-11-06 11:07:48 +01:00
Robert Hensing
6b377f2968 ghc8102Binary*: simplify meta
Not distributing dependencies via hydraPlatforms does not work,
so we keep meta simple.

(cherry picked from commit 4643796794)
2020-11-04 23:47:38 +01:00
Robert Hensing
dda47e489a ghc8102BinaryMinimal: Re-add docs, remove more profiling files
(cherry picked from commit 7bd21d3e2d)
2020-11-04 23:47:38 +01:00
Robert Hensing
f8ad73b9d8 haskell.compiler.ghc8102BinaryMinimal: init
To stay within hydra limit of 2^31 output size on aarch64-linux
2020-11-03 12:01:41 +01:00
Will Young
1c2ee215ab ghc:8.10.2Binary bootstrap for 8.8 on aarch64 (NixOS#97407) 2020-10-21 21:13:22 +02:00
Peter Simons
518338f7f7 ghc: add alpha-1 release of version 9.0.1 2020-09-29 12:06:53 +02:00
Richard Marko
73825262f9 Revert "haskell.ghc8102Binary: fix extra inputs"
This reverts commit fb719d957f.
2020-09-26 12:18:00 -07:00
Richard Marko
b9377e0950 ghc8102Binary: add numactl to libPath on aarch64
Fixes:

utils/ghc-cabal/dist-install/build/tmp/ghc-cabal:
  error while loading shared libraries: libnuma.so.1:
    cannot open shared object file: No such file or directory
2020-09-26 18:04:31 +02:00
Jonathan Ringer
fb719d957f haskell.ghc8102Binary: fix extra inputs 2020-09-25 15:22:54 -07:00
Richard Marko
0d4f3ef1ab ghc8102Binary: init, enable armv7l 2020-09-24 12:26:35 +02: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
Jan Tojnar
58377555ed
Merge branch 'staging-next' into staging 2020-08-23 02:18:27 +02:00
Domen Kožar
f9b57fd66a
#95747: fix build of GHC 8.10.2 2020-08-18 15:56:45 +02:00
Matthew Bauer
c5617381bc ghc: document Stage1Only setting 2020-08-17 23:51:59 -05: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
ca9e5d0bb1 ghc-{8.8.2, 8.10.1}: make download URL consistent with other versions 2020-08-08 22:32:58 +02:00
Gabor Greif
621e26fe80 ghc-8.10.x: add v8.10.2
https://mail.haskell.org/pipermail/ghc-devs/2020-August/019131.html
2020-08-08 22:32:58 +02:00
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
Gabor Greif
7b3dbe3dd3 ghc-{8.8.3, 8.8.4, 8.10.1}: fix typos 2020-08-07 20:34:42 +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
Domen Kožar
1353355a63
ghc 8.8.4/8.10.1: fix PEBKAC 2020-08-01 16:27:12 +02:00
Domen Kožar
6d54b2f918 ghc 8.8.4, 8.10.1: disable profiled builds on aarch64 to avoid 2GB output limit 2020-07-24 13:07:34 +02:00
Peter Simons
f1182ecc91 ghc: drop obsolete 8.4.x version
We generally keep only the last 3 major releases of GHC.
2020-07-24 13:02:55 +02:00
Gabor Greif
dd6ce8c879 ghc: add new version 8.8.4 2020-07-24 13:02:55 +02:00
Domen Kožar
1f6f0c9b3a
ghc: don't build with profiling on aarch64 #66277
This makes ghc output be lower than 2GB limit.

Also enable aarch64 build parallelism now that it's fixed in GHC 8.6
2020-07-21 20:23:07 +02:00
Domen Kožar
b930b2df8a
haskell.compiler.ghc865-binary: strip to fix aarch64 2020-06-23 14:59:07 +02: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
a634bd0fd7 ghc: drop 8.8.1 2020-04-24 21:48:28 +02:00
Gabor Greif
daf79ea7c7 compilers/ghc: apply structuredAttrs patch to other ghcs
Ported from:

> [haskell-updates c8aa986440] ghc883: fix structuredAttrs build
>  Author: Robin Gloster <mail@glob.in>
>  Date: Sat Apr 4 19:21:31 2020 +0200
>  1 file changed, 3 insertions(+), 3 deletions(-)
2020-04-24 21:48:28 +02:00
Gabor Greif
0e82313c07 compilers/ghc: fix a few typos 2020-04-24 21:48:28 +02:00
Vladimír Čunát
d96487b9ca
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1582510
2020-04-18 07:42:26 +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
Jan Tojnar
a04625379a
Merge branch 'master' into staging-next 2020-04-13 18:50:35 +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
Robin Gloster
fb015f809a ghc883: fix structuredAttrs build 2020-04-05 13:06:57 +02:00
Joachim Breitner
29ca177c68 Use .diff, not .patch, and fix sha hashes 2020-03-29 21:07:48 +02:00
Joachim Breitner
b872b8a200 ghc-8.4.4.nix: Do not use git.haskell.org
which was deprecated in 2018 and is now gone for good. I guess many
won’t notice because the nix-cache kept the files around?

This fetches the patches from github. Unfortunately it seems that the
sha256 hashes (calculated with `nix-prefetch-url`) have been modified.

Alternatively, if someone has the old patches around they could arguably
be added to `tarballs.nixos.org` (it seems they are not there right
now).
2020-03-29 18:52:41 +02:00
Andrew Childs
5180ec3506 ghc865Binary: aarch64 support 2020-03-27 20:56:52 +01:00
Gabor Greif
f6d2dce2bf ghc-8.10.1: reformat to minimize diff with 8.8.3.nix 2020-03-27 20:56:41 +01:00
Andrew Childs
3c7ef6bcd8 ghc: 8.6.3-binary -> 8.6.5-binary 2020-03-27 20:54:27 +01:00
Domen Kožar
59c58f3360
ghc: 8.10.0.20200123 -> 8.10.1 2020-03-26 17:47:06 +01:00
Domen Kožar
00373dacd3
Merge pull request #80355 from thefloweringash/ghc-aarch64-llvm
haskell.compiler.ghc822Binary: propagate llvm dependency
2020-03-26 15:18:30 +01:00
Andrew Childs
31f557c88f haskell.compiler.ghc822Binary: propagate llvm dependency
Fixes the following error when attempting to build packages using this
compiler:

  <no location info>: error:
      Warning: Couldn't figure out LLVM version!
               Make sure you have installed LLVM 3.9

  <no location info>: error: ghc: could not execute: opt
2020-03-21 21:27:23 +09:00
Benjamin Hipple
072a3bda78 ghc: consistent downloads.haskell.org src URLs
Consistency is good in general and these seem to work just as well as the
others, but it also helps with blacklisting package updates, as in:
https://github.com/ryantm/nixpkgs-update/pull/160
2020-03-07 10:28:06 -05:00
Gabor Greif
ff6aeefb91 ghc-8.8.3: really use ld.gold (port #80466) 2020-02-28 21:17:10 +01:00
Gabor Greif
c8554c0574 ghc: add 8.8.3
https://mail.haskell.org/pipermail/ghc-devs/2020-February/018643.html
2020-02-28 20:42:25 +01:00
Adam Sandberg Ericsson
9a5ecf1212 ghc: really use ld.gold 2020-02-28 20:29:33 +01:00
Gabor Greif
6bedeceb8a ghc: update 8.10.1 pre-release to announced rc1
https://mail.haskell.org/pipermail/ghc-devs/2020-January/018530.html

The version previously fetched was `8.10.0.20200108`.
2020-01-31 21:05:55 +01:00
Luka Blaskovic
b57464448b haskell.compiler.ghc863Binary: remove llvm from buildInput
Aarch64 binary is not used.
2020-01-30 18:35:29 -05:00
Luka Blaskovic
f6160bc6eb haskell.compiler.ghc822Binary: use default llvm version on aarch64 2020-01-30 18:35:29 -05:00
Gabor Greif
42fd1d0727 ghc: 8.8.2-rc1 -> 8.8.2
https://www.haskell.org/ghc/blog/20200116-ghc-8.8.2-released.html
2020-01-18 22:32:24 +01:00
Frederik Rietdijk
ed1b0d0bac Merge master into staging-next 2020-01-13 16:08:59 +01:00
Peter Simons
74e5314b29 ghc: update 8.10.1 pre-release from alpha2 to rc1 2020-01-13 10:28:51 +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
Robin Gloster
760e23136a
treewide: *inputs are lists 2019-12-31 01:09:25 +01:00
Robin Gloster
8a227a2341
treewide: fix nested lists in *buildInputs 2019-12-31 00:57:57 +01:00
Peter Simons
525b8cd3f6 ghc: add 8.10.1-alpha2 2019-12-27 20:58:23 +01:00
Peter Simons
56f1127a42 ghc: add 8.8.2-rc1 2019-12-27 20:43:35 +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
John Ericson
b55854c0b4 ghcHEAD: 8.9.20190601 -> 8.9.20190924
Also close pointless diff with 8.8.1.
2019-09-27 17:00:59 +00:00
Peter Simons
8dcaebfe3b ghc: drop unused abi-depends-determinism.nix patch 2019-09-18 18:30:31 +02:00
Peter Simons
1f157b8cf8 ghc: drop obsolete 8.2.2 version
We keep the last 3 major releases of GHC around, which are
versions 8.8.1, 8.6.5, and 8.4.4.
2019-09-18 18:28:11 +02:00
Peter Simons
ddb77f3437 ghc: drop obsolete 8.6.4 version
The latest version in the 8.6.x branch is 8.6.5.
2019-09-18 18:24:42 +02:00
Peter Simons
2c70934263 ghc: revert "compile with DWARF support by default"
This reverts commits 2021578686 and
f4316473d9.

Fixes https://github.com/NixOS/nixpkgs/issues/69023.
2019-09-18 15:18:20 +00:00
Matthew Bauer
2021578686 ghc: don’t use dwarf on windows
elfutils don’t work on windows

https://hydra.nixos.org/eval/1541857#tabs-removed

/cc @domenkozar
2019-09-13 16:00:30 -04:00
Domen Kožar
f4316473d9 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 #15960
(Using -g causes differences in generated core) is fixed.
2019-09-11 10:52:04 +02:00
Frederik Rietdijk
66bc7fc1b3 Merge master into staging-next 2019-09-06 22:46:05 +02:00
Vladimír Čunát
4179ba049c
ghc on aarch64: try to work around #66277 2019-09-06 22:32:40 +02:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Frederik Rietdijk
5061fe0c2c Merge staging-next into staging 2019-08-28 08:26:42 +02:00
volth
35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Peter Simons
7bf8d783f8 The proper release of ghc-8.8.1 is out. 2019-08-26 14:30:38 +02:00
Peter Simons
f10881af6b ghc-8.8.1: update alpha-2 to rc-1 2019-08-15 16:04:33 +02:00
Mario Rodas
639c8c1f6a
ghc: use ld.gold only on Linux
partly reverts commit 29f2f04ded.
2019-08-07 22:05:26 -05:00
Alp Mestanogullari
29f2f04ded ghc: always use ld.gold
gold is known to speed up GHC builds considerably, saving up to many seconds
when linking large Haskell applications, so this patch configures all
non-binary GHC derivations to use gold.
2019-08-05 07:50:26 +02:00
Peter Simons
895fb1629d
Merge pull request #64371 from mpickering/strip-ghc
ghc: Don't strip compilers
2019-07-06 12:54:31 +02:00
Matthew Pickering
b1e3d0737a ghc: Don't strip compilers
To test this I built a version of the compiler with `dontStrip = True`
and the vanilla version. The size of the result is both 1.4gb which
indicates that the stripping doesn't do anything meaningful.

Not stripping means that the debug rts is properly packages as it
contains DWARF information and unused debugging symbols.

Fixes #63511
2019-07-06 10:02:03 +01:00
Peter Simons
52b3ae8cb8 ghc-8.8.x: bump version to alpha 2 2019-06-19 17:19:48 +02:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Silvan Mosberger
c382915e28
haskell.compiler.ghcHEAD: 20190115 -> 20190601 2019-06-12 00:20:35 +02:00
Matthew Bauer
48ba8a4fb5 ghc: add bash to buildInputs
Fixes #62417.
Closes #62553.
2019-06-07 10:07:39 +02:00
Matthew Bauer
8a52658918 ghc: use ncg for cross buildsystem
We can use ncg for all x86 builds.

Fixes #61262
2019-05-12 00:22:01 -04:00
Peter Simons
894e102c84 ghc: add alpha-1 pre-release for version 8.8.1
The patches for https://phabricator.haskell.org/D5123 and
https://github.com/haskell/haddock/issues/900 no longer
apply and have been dropped.
2019-04-30 11:43:44 +00:00
Peter Simons
ceb9440dfb ghc: update 8.6.5-rc1 to 8.6.5 2019-04-30 11:43:44 +00:00
Peter Simons
66c25cff94 ghc: add release candidate for 8.6.5 and a corresponding package set 2019-04-13 12:16:34 +02:00
Nathan van Doorn
a184604edf ghc-8.6.4: patch to fix haddock bug with typechecker plugins
Closes https://github.com/NixOS/nixpkgs/pull/59317.
2019-04-13 12:16:33 +02:00
rnhmjoj
5ea4160b33
treewide: fixup bcf54ce
fix the executable bit for scripts installed with substituteAll
and some remaining shebangs.
2019-04-12 09:09:22 +02:00
Matthew Bauer
6da1a83d4d ghc8.6.4: use targetPackages for getting libffi 2019-04-03 16:45:59 -04:00
Luis Pedro Coelho
da402892dc ghc: make disableLargeAddressSpace configurable
Even on Linux/NixOS, it can be useful to have a compiler without the
large address space as it creates issues in some contexts.
2019-04-02 09:52:47 +02:00
John Ericson
655a29ff9c ghc, go, guile: Use new pkgs*
`pkgsBuildTarget` allows us to avoid repeated and confusing conditions.
The others merely provide clarity for one the foreign package set's
target platform matters.
2019-03-24 22:12:15 -04:00
Will Dietz
93e3eecdb3 ghc*Binary: use $OBJCOPY when invoking objcopy (touchup musl fix) 2019-03-18 02:00:39 -05:00
Will Dietz
9a10434f4d ghc{822,863}Binary: fix to work w/musl again, __strdup -> strdup 2019-03-17 05:23:11 -05:00
Peter Simons
93e4a90502 ghc: switch our default compiler to version 8.6.4
Also, drop obsolete 8.6.x minor releases 8.6.1, 8.6.2, and 8.6.3.

(cherry picked from commit 7fde42b8eb)
2019-03-16 20:30:58 +01:00
Peter Simons
68be6bbc31 ghc: add new 8.6.4 version 2019-03-06 08:13:56 +01:00
Peter Simons
456f09d76f ghc: Drop outdated compiler versions 8.6.1 and 8.6.2. We have 8.6.3. 2019-03-05 11:13:52 +01:00
Matthew Bauer
1f212565d2 ghc863: dont add extra libs
Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.

Merged in pull request #56795 from @matthewbauer.
2019-03-05 11:13:52 +01:00
Sebastian Graf
cbaec5abc9 Fix include path of libffi used in GHC build 2019-03-01 11:30:05 +01:00
Frederik Rietdijk
7257dedd7c Merge master into staging-next 2019-02-13 12:33:29 +01:00
Guillaume Bouchard
a7c774300b ghc-8.6.3: use system libffi
Use the system `libffi` (`ie` nixpkgs's) instead of built-in libffi
from ghc source tree.

This will prevent library conflict when ghc dynamically links haskell
packages (linked with ghc built-in libffi) and any external library
which uses nixpkgs `libffi`.

Closes https://github.com/NixOS/nixpkgs/pull/55208.
2019-02-12 13:40:59 +01:00
Vladimír Čunát
8ba516664b
Merge branch 'staging-next' into staging 2019-02-01 09:42:53 +01:00
Kosyrev Serge
ea19a8ed1e ghcHEAD: update to 8.7 2019-01-27 10:26:07 +01:00
Kosyrev Serge
c92101bc32 ghc-8.6.3-binary 2019-01-27 10:26:07 +01:00
rnhmjoj
bcf54ce5bb
treewide: use ${stdenv.shell} instead of /bin/sh where possible 2019-01-16 20:37:15 +01:00
Yegor Timoshenko
bb1cb2a332
ghc844: update hash for d8495549ba9d194815c2d0eaee6797fc7c00756a patch 2019-01-11 20:06:22 +03:00
Jörg Thalheim
1b146a8c6f
treewide: remove paxutils from stdenv
More then one year ago we removed grsecurity kernels from nixpkgs:
https://github.com/NixOS/nixpkgs/pull/25277

This removes now also paxutils from stdenv.
2018-12-22 12:55:05 +01:00
Frederik Rietdijk
df304abd27 Merge staging-next into staging 2018-12-08 12:50:38 +01:00
Peter Simons
c37ae1dcf6 ghc: add new compiler version 8.6.3 2018-12-08 11:46:20 +01:00
Matthew Bauer
7a00e80329 ghc: don’t add libiconv automatically
ghc needs it to fail to correctly detect it for later.
2018-12-05 13:17:40 -06:00
John Ericson
62a1bc0031
Merge pull request #51307 from expipiplus1/ghc-arm
ghc-8.4: fix build targeting arm
2018-12-01 02:23:43 -05:00
Joe Hermaszewski
7fa0befcc7 ghc-8.4: fix build targeting arm
Fixes https://ghc.haskell.org/trac/ghc/ticket/15780
2018-12-01 12:09:05 +08:00
Craig Younkins
a655fb9fbd ghc: Adding sphinx as build dependency to build man pages
Fixes https://github.com/NixOS/nixpkgs/issues/49627.
Closes https://github.com/NixOS/nixpkgs/pull/50920.
2018-11-25 09:43:34 +01:00
Benjamin Hipple
a4758050a3 ghc bootstrap binary: 8.2.1 -> 8.2.2
If the nix store lives on NFS, `ghc 8.2.1` is unable to build a package
database. This bug was fixed by @bgamari in `ghc 8.2.2` here:
https://ghc.haskell.org/trac/ghc/ticket/13945

This commit upgrades the unpacked bootstrap GHC version, so that we can build
newer versions of GHC even if the store is on NFS.
2018-11-21 16:06:22 +01:00
Matthew Bauer
5f575e7339 ghc: perl is needed at runtime
ghc-split is a script that is written in perl. We need to have a perl interpreter around to use it.

Fixes #50569
2018-11-18 18:47:02 -06:00
Will Dietz
6ebb2c385b ghc: disable pie, for now limit to musl since not default yet elsewhere 2018-11-15 21:55:08 -06:00
Peter Simons
357554ae89 ghc: drop unused 7.10.3-binary compiler 2018-11-08 17:39:13 +01:00
Peter Simons
8d81cf6201 ghc: add new version 8.6.2 2018-11-06 10:35:02 +01:00
Renato Alves
3bcdb3945a ghc-8.2.1-binary: Patch shebang causing failures in Centos 6 2018-11-05 14:05:50 +01:00
Peter Simons
2f0de54ddb Drop obsolete GHC versions 7.10.3, 8.0.2, and 8.4.3.
We keep the latest minor release of each one of the last 3 major releases,
which currently are GHC versions 8.2.2, 8.4.4, and 8.6.1. We also have
ghc-HEAD, but this doesn't count.

Dropping these compilers implied that we have to drop the corresponding
versions of ghcjs, too. We can also drop a shitload of obsolete compiler
patches that newer versions no longer need.

At some point, we can probably simplify the generic builder, too.
2018-11-02 20:13:55 +01:00
Guillaume Bouchard
55a82ffcd3
ghc: fix typo in 8.6.1 compiler name 2018-10-24 21:29:15 +02:00
Peter Simons
069bf7aee3 ghc: add new 8.4.4 version 2018-10-15 11:55:19 +02:00
Drew Hess
a1600d0aa8
ghc: enable parallel building of GHC on aarch64.
Note: this only affects GHC, not haskellPackages, which still suffers
from https://ghc.haskell.org/trac/ghc/ticket/15449.
2018-10-14 18:00:06 -04:00
Drew Hess
4babe7f799
haskell: re-enable aarch64, but disable parallel builds on that arch.
This is a workaround for unreliable parallel Haskell builds on
aarch64. See https://ghc.haskell.org/trac/ghc/ticket/15449
2018-10-05 01:28:42 -04:00
John Ericson
e1605d9b21
Merge pull request #47647 from obsidiansystems/ghc-8.2.2-change-patch
ghc-8.2.2: Oops, added adjacent patch to the one I wanted for master
2018-10-02 01:47:53 -04:00
John Ericson
bfef8113f6 ghc-8.2.2: Oops, added adjacent patch the one I wanted 2018-10-02 05:41:54 +00:00
John Ericson
e231a374b8
Merge pull request #47644 from obsidiansystems/ghc-8.2-hsc2hs
ghc-8.2.2: Fix which hsc2hs is installed on cross
2018-10-02 01:10:47 -04:00
John Ericson
4f5d9996a6 ghc-8.2.2: Fix which hsc2hs is installed on cross
These commits all ended up on later GHCs, and are already being patched
in for ghc-8.4.3 in nixpkgs.
2018-10-02 00:33:30 -04:00