Commit Graph

741 Commits

Author SHA1 Message Date
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
Will Fancher
8012aee0a7 Don't enableShared in GHC when using android prebuilt 2018-05-07 23:57:31 -04:00
Will Fancher
0afb45d574 Set the C standard when building GHC
Should this be in cc-wrapper?
2018-05-07 23:57:31 -04:00
John Ericson
cf06e42d1c Merge remote-tracking branch 'upstream/master' into staging 2018-05-03 16:35:36 -04:00
Peter Simons
afea46bbc0 ghc-8.4.1: drop obsolete version, we have 8.4.2 now 2018-05-03 14:50:00 +02:00
Matthew Justin Bauer
eeb016e8f0
Merge branch 'staging' into fix-ncurses-darwin-extensions 2018-05-02 15:40:38 -05:00
John Ericson
b9acfb4ecf treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile

(cherry picked from commit ba52ae5048)
2018-04-25 15:50:41 -04:00
John Ericson
ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Jan Malakhovski
7438083a4d tree-wide: disable doCheck and doInstallCheck where it fails (the trivial part) 2018-04-25 04:18:46 +00:00
Peter Simons
651239d5ee ghc: version 8.4.2 is now a proper release 2018-04-20 10:01:31 +02:00
Frederik Rietdijk
23741692fa Merge master into staging 2018-04-04 19:36:39 +02:00
Peter Simons
ed92418b96 ghc: add version 8.4.2-rc1 2018-04-04 15:00:31 +02:00
Shea Levy
fbe8deb282
ghc: Use persistent URL for abi-depends determinism patch. 2018-03-28 12:31:40 -04:00
Matthew Justin Bauer
75616ceb49
Merge pull request #37840 from matthewbauer/unixtools
Cross-platform "unixtools"
2018-03-27 18:43:03 -05:00
Shea Levy
59a53aada0
haskell.compiler.ghc8{22,41}: Fix abi-depends non-determinism.
See https://github.com/haskell/cabal/issues/4728 for symptoms,
https://phabricator.haskell.org/D4159 for the base of the fix.
2018-03-26 10:09:00 -04:00
Tuomas Tynkkynen
a6425fc66d ghc: Disable on AArch64
For some reason compiling the proper GHC from the binary one eventually
segfaults at some point.

Since it has never worked, just disable it and investigate later.
2018-03-24 16:11:31 +02:00
Peter Simons
993bcbb225 ghc: drop all compiler versions prior to 7.10.3
None of these old compilers are used anywhere in Nixpkgs, and keeping those
builds working in the face of regular updates of GCC, binutils, and whatnot is
too much effort for no obvious benefit.
2018-03-17 08:21:22 +01:00
Kosyrev Serge
0145a00d9c
ghc841: fix for the bump-broken integer-gmp: m4 is now a dependency 2018-03-08 04:18:09 +03:00
Kosyrev Serge
6be7d94914
ghc841: bump to 8.4.1-release 2018-03-08 04:18:09 +03:00
Peter Simons
ab7a07f73b
Merge pull request #35321 from ElvishJerricco/fix-haskell-compiler-name-version
Fix haskellCompilerName version.
2018-02-25 19:59:51 +01:00
Kosyrev Serge
624366d407
ghc841: bump to 20180224 2018-02-25 06:59:16 +03:00
Will Fancher
a9646b39cf Fix haskellCompilerName version.
This matters for `callCabal2nix`, when the cabal file has something
like `if impl(ghc >= 7.7)`
2018-02-22 03:11:25 -05:00
Shea Levy
7ac6c77323 ghc: Make deterministic profiling patches opt-in.
The patch changes some pieces of the exposed API, so we can't have our
default GHC changed in this way.
2018-02-10 18:10:44 +01:00
Shea Levy
69b0bc1bdf ghc 8.{2,4}: Add patches for deterministic profiling symbols.
These are taken from https://phabricator.haskell.org/D4388 (which is
against HEAD) and fix an inconsistency when building profiling
libraries on multiple machines that leads to linking failure.
2018-02-10 18:05:29 +01:00
Kosyrev Serge
6419664793
ghc841: bump to alpha3 2018-02-06 21:58:32 +03:00
Peter Simons
72141a630b ghc-8.4.1: un-revert "update to 8.4.1-alpha2"
This commit undoes the revert from a74b0e717d.
See https://github.com/NixOS/nixpkgs/issues/34229 and
https://github.com/NixOS/nixpkgs/pull/34232 for further details about why this
build seemed broken.
2018-01-29 13:01:46 +01:00
Peter Simons
a74b0e717d ghc-8.4.1: revert "update to 8.4.1-alpha2"
This reverts commit d232856846 from
https://github.com/NixOS/nixpkgs/pull/34172. The new version does not compile:
https://nix-cache.s3.amazonaws.com/log/zhxjgmilqh5bnp16rv0fx4b6bcrhxf2a-ghc-61db0b8.drv.
2018-01-26 13:01:12 +01:00
Peter Simons
a45dfaa335 Drop broken Haskell compilers.
- ghc versions 6.10.4, 6.12.3, and 7.2.2 are broken, and 6.10.2-binary is no
   longer necessary after those versions have been dropped

 - halvm version 2.4.0 hasn't compiled in a long time

 - uhc version 1.1.9.4 hasn't compiled in a long time
2018-01-26 13:01:11 +01:00
Kosyrev Serge
d232856846
ghc841: update to 8.4.1-alpha2 2018-01-23 01:40:38 +03:00
Ben Gamari
bf687907d7 haskell lib: Make Cabal compiler names explicit
Cabal2nix expects a --compiler flag that contains a Cabal Compiler description.
We used to use the compiler's derivation name for this, but this breaks when
cross-compiling due to the target suffix. Instead we add an explicit
haskellCompilerName attribute to Haskell compiler derivations.
2018-01-21 23:31:05 -05:00
John Ericson
8560c025bc ghc 8.4.1: Reformat to move rev into src 2018-01-21 23:31:04 -05:00
John Ericson
a2516efb26 ghcHEAD: Bump version ghc-8.5.20180118 2018-01-21 23:31:04 -05:00
John Ericson
23c29ebc90 ghc 8.2.2: Add bgamari's STRIP detection fix 2018-01-21 23:31:04 -05:00
John Ericson
60f45a2af1 ghc 8.0.2: Patch Cabal so --extra-*-dirs works right 2018-01-21 23:31:04 -05:00
Ben Gamari
af03b7746a ghc 8.2.2 & head: Work around ARM bugs in BFD ld by using gold 2018-01-21 23:31:03 -05:00
Ryan Trinkle
bd0de2f1cb ghc: Fix env vars and configure flags to be weird
GHC currently handles this stuff in a quite non-standard way, basically
taking prog var `FOO` to mean `FOO_FROM_TARGET`. It's because it
(wrongly) thinks from stage 2's perspective.
2018-01-21 23:31:03 -05:00
John Ericson
e760de8108 ghc: Predicate libiconv on not using glibc instead of Darwin 2018-01-21 23:31:03 -05:00
John Ericson
398ac54593 ghc: Fix cross compilation to work with new system 2018-01-21 23:31:03 -05:00
John Ericson
bc16cfc009 ghc: Remove old cross work
That way the next commit can apply a similar diff to each GHC.
2018-01-21 23:31:02 -05:00
John Ericson
0eb3acaf38 ghc: echo -n mk/build.mk to avoid extra line 2018-01-21 23:27:38 -05:00
John Ericson
5a6b6b4ac5 ghc: Normalize derivations a bit before cross
These changes will affect the final derivation
2018-01-21 23:27:38 -05:00
Kosyrev Serge
8d027c1113
ghc841: GHC 8.4.1: nix-shell -p haskell.compiler.ghc841 2018-01-19 16:06:02 +03:00
Drew Hess
e4f3fe051e ghc, haskell-modules: ARM cross build fixes.
As requested in #33405.
2018-01-11 10:45:44 -05:00
Drew Hess
8ad5937f90
ghc: 8.2.2 on armv7l doesn't build without explicit use of ld.gold. 2018-01-03 15:59:07 -08:00
Drew Hess
461139e3fa
ghc: ARM builds have an LLVM runtime dependency. 2018-01-03 15:57:23 -08:00
John Ericson
3fb5fd0060 ghc: Normalize derivations in hash-preserving ways 2018-01-03 17:04:19 -05:00
John Ericson
0df29e1259 ghc: Noramlized source URLs 2018-01-03 17:04:19 -05:00
John Ericson
faa4b45a1e ghc 8.2.2, head: Inline common* bindings
Cross case purposely changed as it will be rewritten anyways. But no
native hashes should be changed.
2018-01-02 21:00:23 -05:00
John Ericson
a5cc983c45 ghc: Clean up, and add passthru.targetPrefix, in preparation for cross
No hashes should be changed.
2018-01-02 19:50:38 -05:00
Drew Hess
1e137832b8
ghc: add ARM variants to meta.platforms for new binary versions. 2018-01-02 03:57:12 -08:00
Drew Hess
9c91d0d63c
ghc: fix armv7l-linux support in new binary versions. 2018-01-02 03:36:42 -08:00
Peter Simons
af6f4f0849 ghc: drop obsolete version 7.8.3
We have the newer minor release 7.8.4.
2017-12-30 13:51:07 +01:00
Domen Kožar
695a026f5f
ghc: wire up new binary ghc for bootstrapping
This change brings development feedback loop improvement
from a couple of ghc rebuilds to only one for working on generic
builder.

To completely eliminate the rebuilds, use two nixpkgs clones
and point boot packages to the unmodified one.
2017-12-28 15:11:50 +00:00
Peter Simons
63a9142279
Merge pull request #33054 from NixOS/ghc-prebuilt
ghc prebuilt: Add 7.8.4, 7.10.3 and 8.2.1, and make consistent style
2017-12-27 21:31:56 +01:00
Peter Simons
e98e7fb329 haskell: drop obsolete GHC version 7.10.2; we have 7.10.3 2017-12-26 11:35:26 +01:00
Domen Kožar
bd7c8ea255
ghc binaries: compile on darwin 2017-12-25 22:56:32 +00:00
Domen Kožar
e4c05ae25a
ghc binaries: fix eval 2017-12-25 18:16:23 +00:00
Domen Kožar
398061dfc5
prebuilt ghcs: correctly handle rpaths 2017-12-25 17:19:43 +00:00
John Ericson
ed93d2d645
ghc-{7.8.4, 7.10.3, 8.2.1}-binary: Init 2017-12-25 16:36:47 +00:00
John Ericson
b6867f71f4
ghc prebuilt: Simplify and harden Darwin fixup
- Patch all executables and libraries, while skipping scripts. Base at
   least uses libiconv, so should need this too---I suspect it wasn't a
   problem before as we got away with the immpurity.

 - Rather than hardcoding the symlinks to add, do one per mach-o as
   needed

TEMP no -L no script
2017-12-25 16:36:47 +00:00
John Ericson
150255e318
ghc binary: Fix interpreter than patch RPATH
The newer to-be-added binaries have relative RPATHs that we'll break if
we try to `patchelf` before installation. We instead us LD_LOAD_LIBRARY
during the installation, which avoids needing to change the RPATH
temporarily.
2017-12-25 16:36:46 +00:00
John Ericson
26a46295eb
ghc prebuilt: Clean up derivations ever so slightly
These changes do break hashes, but are good to have everywhere for
consistency. Plus, changing the bootstrap causes a Haskell mass rebuild
anyways.
2017-12-25 16:36:43 +00:00
Peter Simons
dbc55c11f0 ghc: drop 8.2.1 version; we have 8.2.2 already 2017-12-20 09:17:46 +01:00
Matthew Pickering
e7a327da5c ghcHEAD: 8.3.20170808 -> 8.5.20171208 2017-12-09 11:04:31 +00:00
Peter Simons
8d8061ec20
Revert "Revive multiple outputs for Haskell packages." 2017-12-05 09:36:08 +01:00
Peter Simons
7993e8790f
Merge pull request #32112 from nc6/hask-split-out
Revive multiple outputs for Haskell packages.
2017-12-04 12:36:45 +01:00
Peter Simons
b58cb3fa28 ghc-8.2.2: drop obsolete gold linker patch
Pointed out by @basvandijk in b1a0f91afe.
2017-11-29 10:47:08 +01:00
Nicholas Clarke
d90165c7db Revert "Revert "Merge pull request #27209 from nc6/nc/haskell-multiple-out""
This reverts commit 89f5d52cf4.
2017-11-27 16:05:22 +00:00
Vaibhav Sagar
b1a0f91afe ghc: 8.2.2-rc2 -> 8.2.2 2017-11-22 14:38:54 +08:00
Peter Simons
e876aa4db9 ghc: bump 8.2.2 pre-release to rc3 2017-11-11 17:38:26 +01:00
John Ericson
0101856765
Merge pull request #30549 from obsidiansystems/bintools
treewide: Introduce stdenv.cc.bintools
2017-11-08 14:20:48 -05:00
John Ericson
4d4f94cde4 treewide: Depend on targetPackages.stdenv.cc.bintools instead of binutils directly
One should do this when needed executables at run time. It is more
honest and cross-friendly than refering to binutils directly, if one
neeeds the default binary tools for the target platform, rather than
binutils in particular.
2017-11-05 17:10:53 -05:00
Peter Simons
a09460b827 ghc: add 8.2.2-rc2 2017-11-04 20:02:31 +01:00
John Ericson
2d52156793 ghc prebuilt: Fix indentation
Doing this separately so the other commits are more readable
2017-09-23 12:58:07 -04:00
John Ericson
a8ef3f6742 ghc prebuilt: Clean up syntax, without changes hashes
If I'm going to make a bunch more of these, I think it's a good idea to
make them more uniform first.
2017-09-23 12:58:07 -04:00
John Ericson
17de435533 ghc prebuilt: Don't hardcode the version in a few more places
This removes noise in the diff, making creating new versions easier. No
hashes should be changed.
2017-09-22 19:53:29 -04:00
John Ericson
d72647bc05 ghc-6.10.2-binary: Remove dead Darwin code
This looks like a WIP attempt from 2008
2017-09-22 19:53:28 -04:00
Peter Simons
76519f9299 ghc-7.2.2: record the commit that broke it
git-bisect says the problem is 51cf42ad0d.
2017-09-15 20:52:24 +02:00
Peter Simons
3510197dcc Revert "haskell infra, ghc: Slight cleanup" 2017-09-15 18:45:15 +02:00
John Ericson
2295533f43 Merge pull request #29424 from obsidiansystems/slight-haskell-cleanup
haskell infra, ghc: Slight cleanup
2017-09-15 12:12:47 -04:00
John Ericson
63bf7d002c ghc: Clean up, and add passthru.prefix, in preparation for cross
No hashes should be changed.
2017-09-15 11:37:39 -04:00
Peter Simons
33b09c0f0e ghc-7.2.2 is broken 2017-09-15 13:55:23 +02:00
John Ericson
e916917acf ghc-8.2.1: Get rid of preReleaseName binding now that it is released
No hashes should be changed
2017-09-10 17:35:25 -04:00
Peter Simons
398b36431d ghc: remove obsolete 8.0.1 version 2017-09-10 09:47:52 +02:00
Peter Simons
89f5d52cf4 Revert "Merge pull request #27209 from nc6/nc/haskell-multiple-out"
This reverts commit dfb0f25484, reversing
changes made to 7f8ff02437. These changes broke
the ghcWithPackages wrapper:

    nix-shell -p "haskellPackages.ghcWithPackages (ps: [ps.mtl])" --run "ghc-pkg list mtl"
    /nix/store/szz84j5k1dy3jdashis6ws28d8l8zxxb-ghc-8.0.2-with-packages/lib/ghc-8.0.2/package.conf.d
        (no packages)
2017-09-06 10:19:18 +02:00
Nicholas Clarke
8c642d5937 Provide hscolour, happy, alex bin to buildInputs.
Use stdenv.lib.getBin instead of `.bin`
2017-09-04 12:35:57 +01:00
Peter Simons
8c3cc7c7c4 pkgs/development/compilers/ghc: drop un-referenced patch files 2017-08-26 13:49:18 +02:00
Peter Simons
c0944b9db0 ghc-6.10.4: mark build as broken
The build calls ar(1) in a way the tool doesn't like:

    ar q cru .libs/libffi.a  src/debug.o src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/x86/ffi64.o src/x86/unix64.o src/x86/ffi.o src/x86/sysv.o
    ar: creating cru
    ar: .libs/libffi.a: No such file or directory
    make[4]: *** [Makefile:717: libffi.la] Error 1

This may have become an issue after some recent binutils update; I'm not sure.
2017-08-23 19:53:12 +02:00
Tuomas Tynkkynen
1ff422aa23 treewide: Add man & info outputs where necessary (instead of doc)
Because man & info pages won't be going to $doc after the next commit.
Scripted change for the files having one-package-per-file.
2017-08-11 21:32:54 +03:00
Matthew Pickering
770743bd91 Bump ghc HEAD version ghc-8.3.20170808 2017-08-08 17:32:32 +00:00
Matthew Pickering
4021d4d5ee Make version a parameter in GHC HEAD derivation
If you want to override the source but the major version changes (ie 8.1
-> 8.3) then you also have to modify the version. Otherwise the build
will fail with difficult to understand errors, making version a
parameter makes it easy to override.
2017-08-08 17:19:02 +00:00
Silvan Mosberger
f5fa5fa4d6 pkgs: refactor needless quoting of homepage meta attribute (#27809)
* pkgs: refactor needless quoting of homepage meta attribute

A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.

* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit

* Fixed some instances
2017-08-01 22:03:30 +02:00
Domen Kožar
aafe3d29c1 ghc: apply a patch to fix common gold linker problem
It would otherwise result into undefined referenecs for some functions
in the base when using the gold linker:

   error: undefined reference to 'sqrt'

Fixes https://github.com/bos/double-conversion/pull/17

Previously ghc option -optl=-lm was used for packages depending on
such functions, but that could result into

   fatal error: cannot mix -r with dynamic object /nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25/lib/libm.so.6

in some situations like profiling builds.

Patch was prepared by Michael Bishop and Niklas Hambüchen.

Closes https://github.com/NixOS/nixpkgs/pull/27584.
2017-07-26 10:19:57 +02:00
Domen Kožar
407acb80fc
ghc821: 8.2.1-rc3 -> 8.2.1
(cherry picked from commit 0901dd50a2ed0d12b2bee8fdb147fdce5c1c5d69)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-07-23 16:36:37 +02:00
Peter Simons
1f779011e9 ghc-8.2.1: update snapshot to release candidate 3 2017-07-06 15:28:19 +02:00
John Ericson
12795a7068 misc: Remove almost all uses of stdenv.{ccCross,binutils} 2017-06-22 17:53:52 -04:00
John Ericson
594d264205 cross stdenv adaptor: Support --host --build --target across the board
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.

rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building
2017-06-22 17:52:28 -04:00
John Ericson
8f970d09fe ghcHEAD: Actually split docs into their own output
I put `outputs = ...` in the wrong spot in the last PR, oops. Sorry
about that.
2017-06-22 16:56:58 -04:00
John Ericson
dd99d1f8d0 ghcHEAD: Split docs into their own output
This ghc was forgetten from 2089dd4ab6
2017-06-17 15:13:43 -04:00
Renzo Carbonara
5f94d85e5e ghc821: init at 8.2.1-rc2 (a.k.a., 8.2.0.20170507)
The approach taken to add this package was to port over the definitions
currently existing for HEAD, and making the necessesary changes to get
this building.

The Haskell package set associated with this compiler doesn't yet
guarantee that all or most of the packages successfully build with this
new compiler, but that will improve over time after this GHC 8.2.1
is officially released and the ecosystem catches up.
2017-06-15 19:59:38 +02:00
Lukasz Czyzykowski
d45aff5327 Adds ghc version to the patch file 2017-06-11 21:52:41 +02:00
Lukasz Czyzykowski
2ae46bc163 ghc: 8.0.2 without link warnings
Fixes NixOS/nixpkgs#25139 by backporting patch applied in ghc trunk:
https://phabricator.haskell.org/D2823
2017-05-22 20:06:52 +02:00
Peter Simons
a1b6c5f5d6 Revert "Use consistent package naming for HEAD.nix files" for GHC and GHCjs.
This reverts commit 31b0e34d1d. The version
numbers used in that commit were no improvement.
2017-05-09 17:59:28 +02:00
rht
31b0e34d1d
Use consistent package naming for HEAD.nix files 2017-05-09 10:31:15 +07:00
John Ericson
295315cc87 binutilsCross: Remove and use binutils instead always
See previous commit for what was done to `binutils` to make this
possible.

There were some uses of `forcedNativePackages` added. The
combination of overrides with that attribute is highly spooky: it's
often important that if an overridden package comes from it, the
replaced arguments for that package come from it. Long term this
package set and all the spookiness should be gone and irrelevant:

  "Move along, nothing to see here!"

No hashes should be changed with this commit
2017-04-25 21:36:19 -04:00
David Johnson
26623240e9 Init HaLVM at 2.4.0 2017-03-10 19:31:12 -06:00
3noch
4b77d425aa
Fix GHCJS HEAD patch; support GHCJS libdir link; use full ghcEnv for GHCJS
Original:
f3110651c8

(With some tweaks from @cstrahan)

closes #23199
2017-03-02 11:35:11 -05:00
3noch
7d356ff696
Disable large address space in GHC iOS X compiler
Original:
17cea33d1a
2017-03-02 11:34:15 -05:00
Bas van Dijk
dfcc9e2994 ghc: support building with integer-simple and provide package sets for it
If the flag enableIntegerSimple is true GHC will be build with the GPL-free but
slower integer-simple library instead of the faster but GPLed integer-gmp
library.

The attribute `pkgs.haskell.compiler.integer-simple."${ghcVersion}"` provides a
GHC compiler build with `integer-simple`.

Similarly, the attribute `pkgs.haskell.packages.integer-simple."${ghcVersion}"`
provides a package set supporting `integer-simple`.

Closes https://github.com/NixOS/nixpkgs/pull/22121.
Closes https://github.com/NixOS/nixpkgs/issues/5493.
2017-02-02 10:57:00 +01:00
Bas van Dijk
a96b6e64fb ghc-8.0.2: remove unused fetchFilteredPatch function 2017-01-24 23:34:40 +01:00
John Ericson
a1a798f017 top-level: crossSystem is no longer exposed to packages. Use *Platform. 2017-01-24 11:37:56 -05:00