Commit Graph

651 Commits

Author SHA1 Message Date
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
John Ericson
a3d86b49b4
Merge pull request #47626 from obsidiansystems/ghc-cross-fixes
ghc: Misc cross fixes
2018-10-01 17:19:31 -04:00
John Ericson
b19113380f ghc 8.2.2: Backport cross fixes from 8.4.3
Other patches are also needed for a working build, but that doesn't mean
these patches are any less necessary.
2018-10-01 20:54:21 +00:00
John Ericson
cb442d9345 ghcHEAD: Copy android hack that other GHCs have
Not sure why this one doesn't
2018-10-01 20:53:46 +00:00
John Ericson
d4b5df711a ghcHEAD: Force INTEGER_LIBRARY like the other GHCs
We really need to abstract to avoid these copy-paste errors.
2018-10-01 20:50:58 +00:00
Tuomas Tynkkynen
f4dd2fed7f ghc: Replace meta.available checks for enableIntegerSimple
This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.
2018-09-28 15:01:00 +03:00
John Ericson
4adf621798 Merge remote-tracking branch 'upstream/master' into haskell-no-rec 2018-09-24 20:09:25 -04:00
John Ericson
e6a476c862 ghc, ghcjs: Get rid of extraneous alex, happy, and hscolour args
The compilers themselves can pull them from `bootPkgs`, where they
should always come from anyways. This enforces that, simplifies that
code, and allows use to avoid more `rec { ... }` too.
2018-09-24 20:00:39 -04:00
Peter Simons
2ffcbeda13 ghc: add release version for 8.6.1 2018-09-22 13:26:33 +02:00
Shea Levy
cd41cad074 haskell.compiler.ghc861: Apply fix to abi-hash with backpack.
See https://phabricator.haskell.org/D5123.
2018-09-12 10:31:10 +02:00
Shea Levy
e6e56bbe32 ghc: Apply fix to abi-hash with backpack.
See https://phabricator.haskell.org/D5123.
2018-09-12 10:31:10 +02:00
John Ericson
0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Matthew Bauer
13c8acc3db Revert "Merge pull request #44767 from obsidiansystems/wrapper-env-var-path"
This reverts commit 89efc27f57, reversing
changes made to d0f11020ca.
2018-08-22 01:14:53 +02:00
Shea Levy
28e51c7cea
ghc: Use stable URL for deterministic profiling patch. 2018-08-21 14:58:14 -04:00
John Ericson
89efc27f57
Merge pull request #44767 from obsidiansystems/wrapper-env-var-path
{cc,bintools}-wrapper, ghc, libgcc: Define wrapper env vars as full paths
2018-08-17 16:12:26 -04:00
Shea Levy
429131ac79
Add back (optional) deterministic profiling patch for GHC 8.4 2018-08-16 11:37:24 -04:00
Vaibhav Sagar
c7596ef742 ghc861: 8.6.1-alpha2 -> 8.6.1-beta1 (#44891) 2018-08-11 19:06:36 +01:00
John Ericson
30ea1bfd22 ghc-*: Tool env vars no longer need to be made full paths 2018-08-08 17:16:16 -04:00
Matthew Bauer
406914934d
Merge pull request #43711 from angerman/feature/ghc-gmp
Feature/ghc gmp
2018-07-23 11:01:56 -04:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Moritz Angermann
c034dea090
Update 8.4.3.nix 2018-07-18 12:04:39 +08:00
Moritz Angermann
3f762923aa
[ghc] Backport gmp stuff 2018-07-18 10:21:38 +08:00
Moritz Angermann
b84ac074fc
[ghc] proper handling of integer libraries 2018-07-18 10:13:28 +08:00
Moritz Angermann
ad8c10e246
[ghc] assert gmp 2018-07-18 10:13:27 +08:00
Vaibhav Sagar
3c3c11031f ghc: 8.6.1-alpha1 -> 8.6.1-alpha2 2018-07-16 15:13:26 +08:00
Will Dietz
2996d29f71 ghc: don't use LLVM w/musl on non-cross
Doesn't appear to be needed on musl-native on x86_64,
and on non-x86(-64) it's included anyway.
2018-07-11 21:34:47 -05:00
Will Dietz
e065779af1 ghc821-binary: avoid mass-rebuild by using old dynamic linker string 2018-07-11 11:16:13 -05:00
Will Dietz
b4c91a3e1a ghc821-binary: disable ld override w/musl
Fixes conftest failure that I believe ends up
using the wrong dynamic linker.
2018-07-11 11:14:18 -05:00
Will Dietz
4a1d311c49 ghc821-binary: use glibc on musl
These prebuilt binaries need to be used with glibc,
it doesn't matter what we're using otherwise.

This may seem a bit strange but has the huge advantage
of not needing to create/host/download musl-specific variants,
and instead continue to use the official ones from upstream.
2018-07-11 11:06:20 -05:00
Will Dietz
773ae700b7 ghc{843,861}: keep '-musleabi' in targets like w/'-gnueabi' 2018-07-10 19:08:56 -05:00
Will Dietz
894f313e3c ghc{843,861}: clone linux-gnu targets so musl variants are available
Fixes build with "muslpi" (armv6l-unknown-linux-musleabihf).

This was done via patch at first but it wouldn't apply to both at once,
and it's probably best to stick to just having musl clones for now
(instead of patching 8.6.1 targets into 8.4.3 and hoping that's okay).
2018-07-10 14:57:41 -05:00
Jude Taylor
6084eacc66 remove redundant patch from GHC 8.6.1 for darwin 2018-07-06 12:00:09 -07:00
Peter Simons
c85f23a82a ghc: add 8.6.1-alpha1 pre-release 2018-07-01 19:22:09 +02:00
Matthew Justin Bauer
09c66f4045
Merge pull request #42412 from obsidiansystems/even-more-android-fixes
Even more android fixes
2018-06-25 19:09:29 -04:00
Matthew Bauer
69cad91b5c ghc843: don’t apply stripping in android
This breaks some library symbols apparently. ARM symbols must be
incorrectly stripped. Also some very weird issues with patchelf.
2018-06-25 17:13:02 -04:00
Matthew Bauer
2c2169c881 ghc: build shared on android
We run into issues otherwise
2018-06-25 17:12:02 -04:00
Will Dietz
0e40e0cc7d ghcHEAD: useLLVM needed for musl here as well 2018-06-25 15:50:36 -05:00
Will Dietz
61e3bd20a0 ghcHEAD: move hardeningDisable definition for cleaner diff against 8.4.3
NFCI (no functionality change intendend)
2018-06-25 15:50:36 -05:00
Will Dietz
449fbec9be ghcHEAD: add musl and cross fixes recently applied to 8.4.3 and 8.2.2 2018-06-25 15:50:27 -05:00
Will Dietz
2052323a78 ghc-8.4.3: minor fixes for cross-musl, same as used with 8.2.2
Patches are no longer needed, seem to be more or less upstreamed.
2018-06-25 13:19:49 -05:00
Will Dietz
3e49430922 ghc822: useLLVM when building against musl too 2018-06-23 12:53:45 -05:00
Will Dietz
ffdf8192b3 ghc843: apparently need LLVM when building against musl too 2018-06-23 12:20:02 -05:00
Frederik Rietdijk
48110c1295 Merge staging into master 2018-06-22 13:20:37 +02:00
John Ericson
e050011aa3
Merge pull request #42311 from obsidiansystems/haskell-enable-shared-defaults
haskell: make generic builder follow compiler’s shared config
2018-06-21 18:07:11 -04:00
Matthew Bauer
9e4aebdd7b ghc8.4: add android triple
The triple is needed for armv7a-android-prebuilt to work (partly) with
GHC.

- also set EXTRA_CC_OPTS for ghc8.2
2018-06-20 22:03:59 -04:00
Matthew Bauer
fd7a6ea0af haskell: make generic builder follow compiler’s shared config
enableShared in generic-builder.nix should default to what the GHC
compiler was compiled with. Add a passthru to all of the GHC compilers
to hold the value of enableShared. If enableShared is not set in the
GHC we just use false as the default value for enableSharedLibraries.

Note: I may have missed some compilers. Only GHC & GHCJS are covered
by this commit but this shouldn’t break evaluation of anything else.
2018-06-20 18:40:53 -04:00
Vladimír Čunát
5039d6ed1f
Merge branch 'master' into staging
~6k rebuilds per platform (mainly haskellPackages, I think).
2018-06-20 18:17:18 +02:00
John Ericson
07ff2c27f1
Merge pull request #37598 from dtzWill/feature/ghc-cross-musl
ghc-{8.2.2,8.4.1}: fixups mostly for 2-stage cross, musl
2018-06-18 17:01:31 -04:00
Peter Simons
b0909cc394 ghc: drop compiler version 8.4.2; we prefer 8.4.3 2018-06-17 10:37:06 +02:00
Matthew Justin Bauer
493ce3b2c4
Merge pull request #42050 from obsidiansystems/fix-ios-ghc
ghc8.4: build statically on prebuilt iOS
2018-06-14 17:37:06 -04:00
Matthew Bauer
3d811ff18b ghc8.4: build statically on prebuilt iOS
Otherwise we run into issues in stage 1 with libffi.dylib unable to be
built. It is probably a similar case to the prebuilt Android.

/cc @ericson2314
2018-06-14 17:31:06 -04:00
Matthew Bauer
7bc2024fb7 ghc8.4.3: add gmp available check
This was left out in 812decd5c1 & should
be therer.
2018-06-14 15:54:25 -04:00
Will Dietz
6cc5483b5e ghc-{8.2.2,8.4.1}: fixups mostly for 2-stage cross, musl
* grab patches from gentoo to fix various 2-stage cross build system
  bugs
* explicitly set CrossCompilePrefix to the expected targetPrefix
  -- ensures everything has expected name and location
  -- fixes lack of prefix'ing when doing glibc -> musl "cross"
* Stage1Only: only set if doing "true" cross
* don't try to specify include/lib dirs for ncurses on cross
  -- only used by terminfo which actually removed the include option,
  and the lib option doesn't seem to do anything other than
  confuse the situation re:cross.

Fixes #37522
2018-06-13 14:41:12 -04:00
John Ericson
812decd5c1 ghc: Default integer-simple usage based one whether GNU MP is available
The user's choice is still always respected
2018-06-11 15:51:57 -04:00
Peter Simons
deeeb5002c ghc: add version 8.4.3 2018-05-30 03:46:16 +02:00
Peter Simons
57fed4f5b5 haskell.compiler.ghcHEAD: disable format hardening 2018-05-30 03:46:16 +02:00
Peter Simons
31706eeb93 haskell.compiler.ghc7103: disable format hardening 2018-05-30 03:46:16 +02:00
Peter Simons
e168ae6a9d ghc: build version >8.4 with hscolour to enable source links
Fixes https://github.com/NixOS/nixpkgs/issues/41179.
2018-05-30 03:46:16 +02:00
Jan Malakhovski
29757f3790 haskell.compiler.ghc842: disable format hardening 2018-05-29 07:35:46 +00:00
Jan Malakhovski
ee5660e7f6 haskell.compiler.ghc802: disable format hardening, else tests will fail 2018-05-29 07:35:39 +00:00
Jan Malakhovski
ad35019501 Merge branch 'master' into staging
Fixed conflicts:
- lib/systems/for-meta.nix: in favor of staging
- pkgs/os-specific/darwin/xcode/default.nix: in favor of master
2018-05-26 00:20:17 +00:00
Robin Gloster
33b8830a85
ghc: disable format hardening 2018-05-24 03:42:43 +02:00
Moritz Angermann
fe1eec9e24 ghc 8.4.2, head: Drop libiconv on windows.
nixpkgs#37012 and  nixpkgs#37707 introduces the setup-hooks for libiconv, which inject `-liconv` into the `NIX_LDFLAGS`. This breaks horribly on windows where the linker end up having no idea how to linke `-liconv`. The configure.ac file specifically ignores libiconv on windows.
2018-05-23 10:41:17 -04:00
John Ericson
c7458ded5c ghc 8.4.2, head: Adjust enableShared enableTerminfo for windows 2018-05-23 10:41:17 -04:00
Moritz Angermann
10b76a4cab ghc: paxmark all unwraped executables across the board
Shell glob works even as the exact set of executable (filenames) varries
beween configuations. Need to skip non ELFs (e.g. shell scripts),
however.
2018-05-23 10:41:15 -04:00
John Ericson
1978115c3b ghc: Handle flavors better 2018-05-23 10:27:42 -04:00
John Ericson
9ce15ea60c ghc: Normalize derivations 2018-05-23 10:27:42 -04:00
John Ericson
18742471af Merge remote-tracking branch 'upstream/master' into staging
Use newer vagrant from master
2018-05-23 09:40:37 -04:00
Peter Simons
5db3a9df5e
Revert "ghc, haskell infra: #40642 direct to master" 2018-05-23 09:36:16 +02:00
Peter Simons
0e35858252
Merge pull request #40929 from obsidiansystems/cross-ghc-for-master
ghc, haskell infra: #40642 direct to master
2018-05-22 20:37:45 +02:00
Tuomas Tynkkynen
f9feacfc7c Merge remote-tracking branch 'upstream/master' into staging 2018-05-22 17:48:29 +03:00
Moritz Angermann
4b2eceaa35 ghc: fix dylib load command limits in compiler version 8.x
See https://phabricator.haskell.org/D4714 for the full details.
This will be part of ghc 8.6.

Closes https://github.com/NixOS/nixpkgs/pull/40877.
2018-05-22 10:32:17 +02:00
John Ericson
d6ecbbe921
Merge branch 'staging' into feature/clean-ghc 2018-05-21 17:43:30 -04:00
Moritz Angermann
4b48094285 ghc 8.4.2, head: Drop libiconv on windows.
nixpkgs#37012 and  nixpkgs#37707 introduces the setup-hooks for libiconv, which inject `-liconv` into the `NIX_LDFLAGS`. This breaks horribly on windows where the linker end up having no idea how to linke `-liconv`. The configure.ac file specifically ignores libiconv on windows.
2018-05-21 15:11:12 -04:00
John Ericson
03602f8162 ghc 8.4.2, head: Adjust enableShared enableTerminfo for windows 2018-05-21 15:11:12 -04:00
Moritz Angermann
6af0c192d1 ghc: paxmark all unwraped executables across the board
Shell glob works even as the exact set of executable (filenames) varries
beween configuations.
2018-05-21 15:11:12 -04:00
John Ericson
8d2ce113d5 ghc: Handle flavors better 2018-05-21 15:11:12 -04:00
John Ericson
6f2f081b90 ghc: Normalize derivations 2018-05-21 15:11:12 -04:00
Vladimír Čunát
392e6de7d0
Merge branch 'master' into staging 2018-05-20 13:20:53 +02:00
Jack Cummings
2fe842a200 fix ghc bootstrap on non-nixos nonstd-storepath
Something goes amiss in the configurePhase and binaries start picking up
system binaries and everything falls apart. Patch the configure script
to use a bourne shell out of the store, and things are happier.

Closes https://github.com/NixOS/nixpkgs/pull/40691.
2018-05-19 22:24:31 +02:00
John Ericson
5e17335bd7 Merge remote-tracking branch 'upstream/staging' into strictDeps 2018-05-14 23:33:03 -04:00
John Ericson
330ca731e8 treewide: Get rid of all uses of crossConfig
The hack of using `crossConfig` to enforce stricter handling of
dependencies is replaced with a dedicated `strictDeps` for that purpose.
(Experience has shown that my punning was a terrible idea that made more
difficult and embarrising to teach teach.)

Now that is is clear, a few packages now use `strictDeps`, to fix
various bugs:

 - bintools-wrapper and cc-wrapper
2018-05-14 23:30:37 -04:00
Frederik Rietdijk
64c8c6dcb3 Merge master into staging 2018-05-10 09:30:56 +02:00
Will Fancher
9dadb9e3cb Fix hsc2hs cross compiler build 2018-05-09 23:53:30 -04:00