Commit Graph

26 Commits

Author SHA1 Message Date
Judah Jacobson
2caa7b88ae Fix use of isDarwin conditionals. 2017-05-05 09:53:08 -07:00
Judah Jacobson
7131e06214 haskell: work around linker limits on Mac OS X Sierra.
The Sierra linker added a limit on the number of paths that any one
dynamic library (`*.dylib`) can reference.  This causes problems when
a Haskell library has many immediate dependencies (#22810).

We follow a similar fix as GHC/Cabal/Stack: for each derivation,
create a new directory with symlinks to all the dylibs of its immediate
dependencies, and patch its package DB to reference that directory
using the new `dynamic-library-dirs` field.

Note that this change is a no-op for older versions of GHC, i.e., they will
continue to fail on some packages as before.

Also note that this change causes the bootstrapped versions of GHC to be
recompiled, since they depend on `hscolour` which is built by
`generic-builder.nix`.

Tested by building the `stack` binary as described in #22810.
2017-05-05 09:26:58 -07: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
Peter Simons
656707ef80 Merge pull request #21916 from Profpatsch/ghcWithPackages-docs
haskell: add doc outputs to with-packages-wrapper.nix
2017-01-16 10:58:06 +01:00
Profpatsch
546d0c0460 haskell: add doc outputs to with-packages-wrapper.nix
We want to have all doc outputs as well (also e.g. ghc documentation).
Adds a bit of documentation to the postInstall script.
2017-01-16 00:13:13 +01:00
Shea Levy
a798850675 ghc with-packages-wrapper: Add support for cross-compiling 2017-01-13 21:21:21 -05:00
Profpatsch
499e4e6393 ghc.withPackages: amend the derviation name
Provide a clear difference between the compiler itself and link farms containing
additional packages.
2016-11-17 16:48:53 +01:00
Nikolay Amiantov
8b7ebaffeb replace makeSearchPath tree-wise to take care of possible multiple outputs 2016-04-13 22:09:41 +03:00
Charles Strahan
3859f7bdab haskell-ng: hoogleLocal support 2015-06-11 20:25:31 -04:00
Charles Strahan
929dc4199a ghcjs: properly wrap binaries in environment
This also:

 1  Builds Setup.hs with ghcjs, which (among other things) defines
    __GHCJS__ and ghcjs_HOST_OS during pre-processing.
 2  Fixes ghc-paths to point at ghcjs and use NIX_GHCJS_* env-vars.
 3  Boots ghcjs into $prefix/lib/$compiler.
2015-05-08 11:33:44 -04:00
Peter Simons
c449a930aa ghcWithPackages: add postBuild hook so that users can mess with the generated environment
postBuild can be used to execute user-specific commands on the generated $out
environment before finalizing the build. For example, this hook can be used to
generate appropriate 'makeWrapper' script for binaries contained in the
environment.
2015-04-28 13:17:44 +02:00
Charles Strahan
3d60f6401f haskell: fix GHC version check for GHCJS
closes #7137
2015-04-03 18:54:18 -04:00
Nikolay Amiantov
8943ffcd2b ghcWithPackages: restore old style (without 'with') 2015-03-29 13:15:39 +03:00
Peter Simons
028779fb40 ghcWithPackages: fix isGhcjs evaluation even some more
This is harder than I would have thought.
2015-03-29 11:02:31 +02:00
Peter Simons
b1e854d660 ghcjs: fix evaluation error in with-packages-wrapper.nix some more 2015-03-29 03:34:04 +02:00
Peter Simons
2502b53743 ghcjs: fix emacs syntax highlighting 2015-03-29 03:34:04 +02:00
Peter Simons
8c16648f56 ghcjs: fix evaluation error in with-packages-wrapper.nix 2015-03-29 03:34:04 +02:00
Charles Strahan
d590a0f4b6 ghcjs: support for Haskell-NG
closes #5828
closes #6786
2015-03-29 03:34:04 +02:00
Nikolay Amiantov
49f3c375b5 ghcWithPackages: add withLLVM 2015-03-26 11:29:05 +01:00
Peter Simons
aeadb16444 ghcWithPackages: don't re-generate the packages.conf.d cache if there are no actual libraries added to the environment
This change resolves https://github.com/NixOS/nixpkgs/issues/6419.
2015-02-22 22:13:10 +01:00
Peter Simons
54bbfd5440 haskell-generic-builder: re-factor for improved modularity 2015-01-17 20:29:00 +01:00
Peter Simons
afca6145d4 haskell-generic-builder: simplify "package.conf.d" management
The builder creates a temporary package.conf.d database in $TMP that
contains everything required to build the current package (i.e. the
transitive closure of the package's propagated build inputs). These
files are no longer installed, however, we just install the package.conf
file for the package we're actually building. This means that
package.conf.d directory in $out won't have collisions anymore, which
simplifies the with-packages-wrapper.nix a bit.
2015-01-10 15:55:47 +01:00
Michael Raskin
e67bb36821 Work around buildEnv sometimes deciding to make bin a symlink 2015-01-09 21:40:06 +03:00
Peter Simons
38e2e8702c ghcWithPackages: call this derivation exactly like the compiler it's based on
Furthermore, export "name" and "version" attributes that match those of the
underlying compiler. These changes make a ghcWithPackages-generated wrapper
look exactly like a normal GHC derivation and it can be used anywhere in
Nixpkgs where a normal GHC would be used.
2015-01-09 19:30:14 +01:00
Peter Simons
54baa53df1 Say hello to our brand-new Haskell infrastructure. 2015-01-07 23:45:21 +01:00