Commit Graph

31 Commits

Author SHA1 Message Date
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
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
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
Will Dietz
708070d232 7.4.2-binary: paxmark ghc binary 2016-12-19 10:55:29 +01:00
Tuomas Tynkkynen
51ad423716 treewide: Use makeLibraryPath in 'patchelf --set-rpath' calls 2016-08-23 00:04:39 +03:00
Tuomas Tynkkynen
8ee0e105c9 ghc: Make various binary GHCs use ncurses5
Fixes #17008: GHC bootstrapping broken by ncurses update.
2016-07-16 23:47:28 +03:00
Vladimír Čunát
99e68e7c83 ghc-*: fix evaluation when using single-output gmp 2016-05-19 10:04:42 +02:00
Tuomas Tynkkynen
47c45e2041 treewide: Make explicit that 'dev' output of gmp is used 2016-05-19 10:00:36 +02:00
Robin Gloster
9820cb1bf2 use dontBuild instead of hacks
changes:
 * buildPhase = "true"
 * buildPhase = ":"
2016-05-04 10:11:04 +00:00
Thomas Tuegel
3ef7671cea ncurses: combine $lib and $out outputs
The $lib output refers to the terminfo database in $out, which is about
10x larger than the ncurses shared library. Splitting these outputs
saves a small amount of space for any derivations that use the terminfo
database but not the ncurses library, but we do not have evidence that
any such exist.
2016-03-08 11:35:24 -06:00
Tuomas Tynkkynen
df8495fb18 treewide: Mass replace 'gmp}/lib' to refer the 'out' output 2016-01-24 10:03:35 +02:00
Vladimír Čunát
91407a8bdf ncurses: split into multiple outputs
Some programs (e.g. tput) might better be moved somewhere else than
$dev/bin, but that can be improved later if need be.
2015-10-13 20:18:44 +02:00
Vladimír Čunát
8f33b8cc93 mass rewrite of find parameters to cross-platform style
Fixes #9044, close #9667. Thanks to @taku0 for suggesting this solution.
Now we have no modes starting with `/` or `+`.

Rewrite the `-perm` parameters of find:
 - completely safe: rewrite `/0100` and `+100` to `-0100`,
 - slightly semantics-changing: rewrite `+111` to `-0100`.
I cross-verified the `find` manual pages for Linux, Darwin, FreeBSD.
2015-09-06 10:26:30 +02:00
Vladimír Čunát
a64cee8c78 ghc-7.4.2-binary: fix on i686 after 6c4364041
I'm not sure what was the compatibility problem before that commit,
but ghc at least builds now on both x86 Linux platforms
(and this commit doesn't cause a rebuild on x86_64-linux).
2015-08-17 10:36:36 +02:00
William A. Kennington III
6c43640410 ghc: Fix compatability with new versions of ncurses 2015-08-11 12:17:35 -07:00
Peter Simons
85ae0cb070 ghc: move gcc-clang-wrapper.sh script into the ghc directory tree since it's the only user of that script 2015-06-12 10:54:02 +02:00
Peter Simons
eb4f75a868 ghc: remove obsolete "i686-darwin" from meta.platforms 2015-03-26 11:29:05 +01:00
Joel Taylor
db4cb021c0 Add purity to GHC builds on Darwin. 2015-02-10 22:08:01 +01:00
Peter Simons
d1fc5370e9 ghc: pass explicit 'ncurses' path to ./configure instead of finding through the environment
Fixes https://github.com/NixOS/nixpkgs/issues/5616. For real this time!
2015-01-17 20:29:00 +01:00
Peter Simons
1912736a86 ghc-7.8.4: re-implement "fix build on Darwin" to avoid re-builds on Linux
Originally, I thought that I can commit a "clean" patch -- even if it
triggers re-builds -- because those re-builds were triggered by the
ncurses patch to GHC anyway . That patch had to be reverted, though, so
now I'm rewriting this patch to avoid re-builds on Linux.

What a mess. :-(
2015-01-15 00:06:06 +01:00
Eric Seidel
a92afcd34a ghc-7.8.4: fix build on Darwin
https://github.com/NixOS/nixpkgs/pull/5746
2015-01-14 11:24:59 +01:00
John Wiegley
28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
Joel Taylor
3e8344d334 suitable clang stdenv 2014-09-09 13:54:24 -07:00
Peter Simons
d64917ad17 Back-port Haskell-related improvements from stdenv-updates.
* There now is full support for building Haskell packages as shared libraries
   for GHC versions 7.4.2 or later. The Cabal builder recognizes the following
   attributes:

    - enableSharedLibraries configures Cabal to build of shared libraries in
      addition to static ones. This option requires that all dependencies of
      the package have been compiled for use in shared libraries, too.

    - enableSharedExecutables configures Cabal to prefer shared libraries when
      linking executables.

   The default values for these attributes are arguments to the haskellPackages
   expression.

 * Haskell builds now run in a LANG="en_US.UTF-8" environment to avoid plenty
   of build and test suite errors. Without this setting, GHC seems unable to
   deal with the UTF-8 character encoding that's generally considered standard
   in the Haskell world.

 * The Cabal builder supports a new attribute 'testTarget' to specify the exact
   set of tests to be run during the check phase.

 * The ghc-wrapper attribute ghcVersion has been removed. Instead, we use the
   ghc.version attribute, which exists in unwrapped GHC derivations, too.
2013-10-27 10:09:36 +01:00
Peter Simons
83d0a3a37c ghc: add meta.license attribute to all compiler versions 2013-03-23 15:58:14 +01:00
Peter Simons
b1169e5509 ghc-*-binary: remove redundant assertion
Any attempt to instantiate these expressions on an unsupported platform is
going to 'throw' an error. The call to 'assert' doesn't add any value to
that (and generates less readable error messages, too). Further details are
available at <https://github.com/NixOS/nix/issues/56>.
2012-10-12 15:23:05 +02:00
Peter Simons
52454d7593 ghc-7.4.2: add binary snapshot required for bootstrapping ghc 7.7.x 2012-09-13 15:49:42 +02:00