Commit Graph

531 Commits

Author SHA1 Message Date
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
Shea Levy
46bec22f66 Revert "Add function to build a ghc standalone archive (OSX/iOS only)"
Partial revert of accidental changes.

This reverts commit 4f9f00fcc9.
2017-01-23 18:37:15 -05:00
Shea Levy
4f9f00fcc9 Add function to build a ghc standalone archive (OSX/iOS only) 2017-01-23 18:35:03 -05:00
Domen Kožar
133ba5f08a
GHC: 8.0.2-rc2 -> 8.0.2 2017-01-07 16:17:54 +01:00
Shea Levy
845dd121f8 ghc-head: Put ./boot into commonPreConfigure 2017-01-06 22:10:29 -05:00
Shea Levy
3c2cbd3259 ghc-head: bump 2017-01-06 08:39:12 -05:00
Peter Simons
494d695b97 Merge pull request #21393 from mpickering/master
Small improvements to development GHC derivations
2017-01-03 14:40:18 +01:00
Laverne Schrock
527468209c ghc-8.0.2: add sphinx to inputs for documentation
Closes https://github.com/NixOS/nixpkgs/pull/21434.
2016-12-28 17:30:16 +01:00
Laverne Schrock
1a78981b2f ghc-8.0.1: switch to sphinx for documentation
Fixes #20281

"Since GHC 8.0, the User’s Guide is authored in ReStructuredText (or ReST
or RST, for short) a rich but light-weight mark-up language aimed at
producing documentation. The Sphinx tool is used to produce the final
PDF and HTML documentation."
- http://ghc.readthedocs.io/en/8.0.1/editing-guide.html
2016-12-28 17:30:16 +01:00
Laverne Schrock
ca41610e8a ghc-8.0.1: enable documentation builds by passing the required XML/XSLT toolchain 2016-12-28 17:30:16 +01:00
Matthew Pickering
9f7c7405fb Remove nokinds GHC build
This work has since been merged into GHC master branch and is enabled
with the TypeInType extension.
2016-12-26 13:30:07 +00:00