Commit graph

248 commits

Author SHA1 Message Date
Eelco Dolstra 8893f10d6a ghc: Fix building on Darwin
http://hydra.nixos.org/build/8598783
2014-01-30 13:45:48 +01:00
Peter Simons cb21683794 ghc: disable parallel building
It sucks, I know, but GHC just doesn't compile reliably when built with
some -j<n> option. :-( We have build errors because of apparent race
conditions all over the place on Hydra. This causes so much trouble for
users that it's not worth keeping this option enabled, IMHO.
2014-01-21 20:35:49 +01:00
Vladimír Čunát 2848336491 ghc-7.6.3: disable parallel building (fails on Hydra) 2014-01-17 21:57:30 +01:00
Peter Simons c32bf83301 Merge remote-tracking branch 'origin/master' into stdenv-updates.
Conflicts:
	pkgs/development/interpreters/perl/5.16/default.nix
	pkgs/tools/networking/curl/default.nix
	pkgs/top-level/all-packages.nix
	pkgs/top-level/release-python.nix
	pkgs/top-level/release-small.nix
	pkgs/top-level/release.nix
2013-12-04 18:33:52 +01:00
Peter Simons dc662dcaa2 ghc-head: update to today's git snapshot and arbitrarily dub it version 7.7.20131202 2013-12-03 22:23:20 +01:00
Peter Simons e4d841eef4 Re-implement ghcWithPackagesOld as a variant of ghcWithPackages that ignores collisions.
This change is intended to fix <https://github.com/NixOS/nixpkgs/issues/1161>
and to address some of the concerns that come up during the discussion of
<d64917ad17>.
2013-11-09 20:41:52 +01:00
Peter Simons 981c287355 ghc: several enhancements to the new "with-packages" wrapper
1) The wrapper erroneously used the ghc-pkg flag "--package-db" instead of
    "--global-package-db". The result was that packages installed locally in
    ~/.ghc and ~/.cabal were invisible to GHC. This has been fixed.

 2) The wrapper now deals gracefully with an empty package set: if no package
    is requested to be included in the wrapped environment, the wrapper just
    installs a pristine GHC.

 3) Correctly configure the "docdir" path returned by ghc-paths.

 4) Added some comments that describe the idea behind our ghc-paths patches and
    gives users same sample shell code that can be used to import our special
    environment variables into the currently running shell, so that programs
    outside of the wrapped environment can use them, too.
2013-11-09 20:36:25 +01:00
Peter Simons f92a5cbfc6 pkgs/development/compilers/ghc/with-packages.nix: add 'ignoreCollisions' parameter
The ghcWithPackage expression now has an argument 'ignoreCollisions' that
allows users to disable the path collision check like so:

  (pkgs.haskellPackages.ghcWithPackages (pkgs: with pkgs; [ haskellPlatform ])).override { ignoreCollisions = true; };

See d64917ad17
for a long and detailed discussion of why these path collisions may occur.
2013-11-07 12:14:19 +01:00
Peter Simons 89c566fcfd pkgs/development/compilers/ghc/with-packages.nix: improve recognition of Haskell packages
Haskell packages -- i.e. packages built by our Cabal builder -- invariably have
the attributes 'pname' and 'version'. We use the absence of these attributes to
recognize non-Haskell packages and filter them from the closed package set
generated by closePropagation. We do this so that the generated Haskell
environment won't contain paths like "/lib/libz.a", which are part of the
closure but have nothing to do with Haskell.

The previous scheme used the attribute 'ghc' to accomplish the same thing, but
unfortunately other packages to contain a 'ghc' attribute, too, like the
old-style ghc-wrapper. Including the ghc-wrapper in this environment is
pointless, obviously. The new approach filters the ghc-wrapper successfully.
2013-11-07 12:14:19 +01:00
Peter Simons 0e831bd525 Resurrect the old ghcWithPackages wrapper under the attribute name 'ghcWithPackagesOld'. 2013-11-04 19:42:49 +01:00
Mathijs Kwik 609f8dc04b Merge branch 'master' into stdenv-updates
Conflicts:
	pkgs/top-level/all-packages.nix
2013-11-01 08:31:54 +01:00
Peter Simons 094edba311 ghc-with-packages.nix: make sure that GHC itself is included in the environment 2013-10-28 17:54:28 +01:00
Peter Simons 9eea6c64fb Merge branch 'origin/master' into stdenv-updates. 2013-10-27 10:58:24 +01:00
Peter Simons f5e8f1ccc1 ghc: update HEAD version to 7.7.20130828 2013-10-27 10:22:21 +01: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 fae8fd8ef1 ghc-wrapper: rename 'ghcVersion' attribute to 'version' for consistency 2013-10-20 15:40:36 +02:00
Peter Simons e9163ad4c9 ghc: configure RPATH that allows ghc's shared libraries to find each other
Prior to this patch, libHSrts.so didn't know how to load libffi.so.
See issue #1081 for further details.
2013-10-18 18:39:04 +02:00
Peter Simons f998111d2c ghc-7.6.3: undo commit 7c8ba75
The change was supposed to trigger a re-build to fix a broken GHC binary
on the Hydra build farm, but now it turns out that the cause for the
errors we're seeing isn't GHC: all kinds of (non-Haskell) packages are
broken.
2013-09-21 09:51:35 +02:00
Peter Simons 7c8ba7557c ghc-7.6.3: cosmetic change to force a re-build 2013-09-20 19:27:22 +02:00
Peter Simons 0d7118814b Merge branch 'origin/master' into stdenv. 2013-08-17 10:00:16 +02:00
Peter Simons 898348a80d ghc-head: update to version 7.7.20130816 2013-08-16 23:47:59 +02:00
Peter Simons 76244ac2e2 Merge branch 'master' into stdenv-updates
Conflicts:
	pkgs/development/compilers/ghc/with-packages.nix
2013-08-16 22:51:13 +02:00
Peter Simons bb312b77b5 ghc-head: update to version 7.7.20130811 2013-08-11 23:50:05 +02:00
Gergely Risko de35a6dbb9 Export ghci config files for ghc-vis and ghc-heap-view 2013-08-11 23:50:04 +02:00
Vladimír Čunát 8ba92b8895 Merge master into stdenv-updates
Conflicts (simple):
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/tools/package-management/disnix/default.nix
	pkgs/top-level/all-packages.nix
2013-07-08 10:48:05 +02:00
Eelco Dolstra acba9240cd nixos.org/tarballs -> tarballs.nixos.org
It's currently the same machine, but tarballs.nixos.org should become
an S3/CloudFront site eventually.
2013-06-25 14:12:16 +02:00
Shea Levy fde3526e7d Merge branch 'master' into stdenv-updates
Conflict in kerberos, which was updated both in master and in
stdenv-updates. Kept the stdenv-updates version, except pulled in the
enableParallelBuilding change from master.

Signed-off-by: Shea Levy <shea@shealevy.com>

Conflicts:
	pkgs/development/libraries/kerberos/krb5.nix
2013-05-04 18:28:48 -04:00
Peter Simons e0b57c9fb9 ghc: bump HEAD compiler to version 7.7 2013-04-24 13:21:05 +02:00
Peter Simons fdf1d45a38 ghc: add version 7.6.3 (and a corresponding package set) 2013-04-21 20:10:27 +02:00
Peter Simons 431b774cc0 ghc: greatly simplify the GHC compiler wrapper
The wrapper script accumulated some cruft over the last couple of months
because we did changes in freaky ways to avoid triggering re-builds of all
Haskell packages. Most of these kludges have been thrown out now.

This patch doesn't change the behavior of the wrapper except for one thing: the
internal helper scripts "ghc-get-packages.sh" and "ghc-packages.sh" are no
longer installed in the bin directory of the generated derivation.
2013-04-20 23:28:53 +02:00
Peter Simons 4dd05a51ed ghc-binary: don't refer to /bin/sh 2013-04-20 23:28:11 +02:00
Peter Simons 2ffd0b6dac Merge changes from branch 'origin/master' into stdenv-updates. 2013-04-20 22:19:39 +02:00
Patrick John Wheeler 3bf0d2b960 ghc-wrapper: install the GHC documentation into the user's profile
The freaky implementation was done that way in order to avoid unnecessary
re-builds of all Haskell packages by changing the wrapper script used
internally in those builds.

See <https://github.com/NixOS/nixpkgs/pull/466> for further details.
2013-04-20 22:14:44 +02:00
Peter Simons 0823aea0a6 Merge branch 'master' into stdenv-updates.
Conflicts:
	pkgs/development/libraries/libxslt/default.nix

Commit 1764ea2b0a introduced changes to libxslt
in an awkward way to avoid re-builds on Linux. This patch has been simplified
during this merge.
2013-03-25 13:43:45 +01:00
Peter Simons 83d0a3a37c ghc: add meta.license attribute to all compiler versions 2013-03-23 15:58:14 +01:00
Peter Simons 264ac17a0f ghc-with-packages: set NIX_GHC_XXX variables for runhaskell and runghc, too 2013-03-21 16:26:18 +01:00
Peter Simons 459234db20 ghc-with-packages: include only derivations in the generated environment that have a ghc attribute
This predicate filters out packages that weren't created by the Cabal builder.
Doing that greatly reduces the likelihood of file collisions in the generated
environment, because Haskell packages tend to have a lot of propagated build
inputs.

For example, both zeromq 2.x and 3.x use the same names for their header files.
Users of haskell-zeromq don't need those headers, so we just don't include them
in the generated environment to avoid the collision that would otherwise occur
when haskell-zeromq 2.x and 3.x are installed into the same environment.
2013-03-21 16:25:50 +01:00
Peter Simons 90fc42c2f2 pkgs/development/compilers/ghc/with-packages.nix: simply this wrapper on top of buildenv 2013-03-15 21:11:31 +01:00
Peter Simons d09269a22e Use the same directory layout for user-installed Haskell libraries that GHC
uses for its core libraries, so that these files integrate seamlessly into one
profile, living right next to each other. This change is eventually going to
simply our with-packages wrapper quite a bit.
2013-03-15 20:38:15 +01:00
Peter Simons 893c684e99 pkgs/development/compilers/ghc/with-packages.nix: include share/emacs/site-lisp in the generated environment
This change allows 'ghc-mod' to be included in such a GHC environment,
which is important because the tool is GHC version-specific.
2013-03-15 19:58:08 +01:00
Andres Loeh 54e0fe3ec1 ghc: update HEAD snapshot 2013-03-10 21:14:45 +01:00
Peter Simons 97faa4c319 ghc-with-packages.nix: include man pages in the generated profile 2013-02-11 23:26:06 +01:00
Peter Simons f929eecfa7 ghc-7.6.2: cosmetic, no functional change 2013-01-30 17:30:51 +01:00
Peter Simons 7848756283 Parallel building is enabled again in GHC 7.6.2, because we hope the issues
we've had with earlier versions have been remedied. If anyone experiences build
errors with this package, please file issue at Github!
2013-01-30 17:30:25 +01:00
Peter Simons 75fcdfbb9e ghc-head: update to snapshot version 7.7.20121213 2013-01-30 12:25:38 +01:00
Aristid Breitkreuz 3a68505c6e GHC 7.6.2 2013-01-29 20:42:28 +01:00
Andres Loeh d068aa9861 Patch ghc-paths to interact better with ghcWithPackages.
When the ghc-paths library is compiled, the paths of the
compiler it is compiled with are being hardcoded in the
library (and can then be queried from other applications
using the library).

But on Nix, packages are compiled with ghc-wrapper, and
subsequently possibly used with a special version of ghc
generated for a particular environment of packages. So
one version of ghc-paths may potentially end up being
used by lots of different instances of ghc. The hardcoding
approach fails.

As a work-around, we now patch ghc-paths so that it allows
setting the paths that can be queried via environment
variables. Specific GHC environments can then set these
environment variables in the wrapper shell script that
invokes GHC.

This should at least partially solve issue #213.
2012-12-16 14:25:15 +01:00
Andres Loeh 8c4f5d02aa Updating ghc HEAD snapshot. 2012-11-07 14:45:32 +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 3a34ac175f pkgs/development/compilers/ghc/with-packages.nix: include bash completion files in the generated environment 2012-09-25 15:05:49 +02:00
Peter Simons 33e67e8394 ghc-head: update to version 7.7.20120912 2012-09-13 15:50:15 +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
Peter Simons eb288cf12e ghc-wrapper: choose '-package-conf' or '-package-db' flag depending on the version of GHC that's being wrapped 2012-09-13 15:13:00 +02:00
Peter Simons 13be1ff86e ghc-wrapper.nix: cosmetic 2012-09-13 15:12:43 +02:00
Peter Simons 15df3d131a ghc-7.6.1: parallel builds of this package fail
I got the following error in 4 consecutive attempts:

  building rts/dist/build/AutoApply.debug_o
  building rts/dist/build/AutoApply.thr_o
    rts_dist_HC rts/dist/build/AutoApply.debug_o
  /nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a/bin/ld: cannot find libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers_o_split/gmp-wrappers__1.o
  collect2: ld returned 1 exit status
  make[1]: *** [libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.p_o] Error 1
2012-09-10 12:28:25 +02:00
Peter Simons 64c0d7a490 ghc: bump 7.6.1-rc1 to version 7.6.1 2012-09-10 11:30:12 +02:00
Andres Loeh e093d7ea38 ghc-7.6.1-rc1: Add release candidate. 2012-08-13 16:29:01 +02:00
Andres Loeh 83505f15b2 ghc-head: bump snapshot version 2012-07-18 11:02:00 +02:00
Andres Loeh 945a3480d4 ghc-HEAD: update to a new snapshot 2012-07-11 20:04:15 +02:00
Peter Simons 09321105f1 ghc: added version 7.4.2
svn path=/nixpkgs/trunk/; revision=34460
2012-06-11 16:25:45 +00:00
Andres Löh 789df7619e Updated GHC HEAD snapshot.
svn path=/nixpkgs/trunk/; revision=34379
2012-06-08 08:25:30 +00:00
Andres Löh e5e2432277 Upgrade ghc stable snapshot to 7.4.2rc1.
svn path=/nixpkgs/trunk/; revision=34137
2012-05-16 12:00:05 +00:00
Ludovic Courtès d44d30b0ba GHC 7.4.2: Remove `darwinInstallNameToolUtility'.
svn path=/nixpkgs/trunk/; revision=33897
2012-04-23 16:28:10 +00:00
Ludovic Courtès 04600bbec1 Darwin: Add mig', lipo', etc. to `stdenvNative'.
Consequently, remove `darwinLipoUtility', `darwinArchUtility', etc.

svn path=/nixpkgs/trunk/; revision=33893
2012-04-23 15:47:31 +00:00
Andres Löh 1a355ca2ea Updated the GHC HEAD snapshot.
svn path=/nixpkgs/trunk/; revision=33879
2012-04-22 16:31:21 +00:00
Peter Simons f412a1fbe7 development/compilers/ghc/head.nix: fixed sha256 hash
svn path=/nixpkgs/trunk/; revision=33863
2012-04-20 20:17:07 +00:00
Andres Löh 8915da0a6b New GHC snapshots.
svn path=/nixpkgs/trunk/; revision=33858
2012-04-20 12:22:23 +00:00
Peter Simons 3fbeca3ebc pkgs/development/compilers/ghc/wrapper.nix: removed extraneous closing bracket that broke the script
svn path=/nixpkgs/trunk/; revision=33371
2012-03-23 11:26:28 +00:00
Shea Levy 6aa06a6699 ghc-packages: Darwin's native readlink doesn't support -f
svn path=/nixpkgs/trunk/; revision=33366
2012-03-23 03:01:58 +00:00
Peter Simons 115b3d943a pkgs/development/compilers/ghc/with-packages.nix: renamed this expression from "ghc-${ghc.version}-linkdir" to "haskell-env-${ghc.name}"
This change allows use of the with-packages wrapper in user profiles that are
being updated with "nix-env -u \*". The previous name this expression generated
was considered by Nix to be an older version of "ghc-7.0.4-wrapper", because
that name has a higher priority.

svn path=/nixpkgs/trunk/; revision=33325
2012-03-21 11:46:15 +00:00
Peter Simons d8e65ee71d pkgs/development/compilers/ghc/with-packages.nix: trivial changes to fix syntax highlighting in Emacs
svn path=/nixpkgs/trunk/; revision=33324
2012-03-21 11:46:12 +00:00
Andres Löh ec99325d80 Explicitly set platforms for 7.4.1 rather than inheriting them.
I hope this will enable darwin builds for 7.4.1 on Hydra.

svn path=/nixpkgs/trunk/; revision=32903
2012-03-08 16:22:01 +00:00
Yury G. Kudryashov 215a07c1a9 svn merge ^/nixpkgs/trunk
Merge conflicts:
* unzip (almost trivial)
* dvswitch (trivial)
* gmp (copied result of `git merge`)

The last item introduced gmp-5.0.3, thus full rebuild.
+ensureDir->mkdir -p in TeX packages was catched by git but not svn.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32091
2012-02-06 23:03:12 +00:00
Andres Löh b66db5ca13 Add ghc-7.4.1. Remove Hydra building for the 7.2.* series.
svn path=/nixpkgs/trunk/; revision=31989
2012-02-02 21:08:30 +00:00
Andres Löh a819ccf030 Updated GHC snapshot to ghc-7.4.1-rc2.
svn path=/nixpkgs/trunk/; revision=31910
2012-01-28 15:34:53 +00:00
Eelco Dolstra c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Andres Löh 8af094c99f Updated ghc HEAD snapshot to ghc-7.4.1-rc1.
svn path=/nixpkgs/trunk/; revision=31066
2011-12-25 00:12:52 +00:00
Andres Löh c11749dcd6 Updated the GHC HEAD snapshot.
svn path=/nixpkgs/trunk/; revision=30937
2011-12-16 18:11:23 +00:00
Andres Löh 64c0b00bbd Linking the complete topdir of GHC in ghc-with-packages.
svn path=/nixpkgs/trunk/; revision=30826
2011-12-11 17:19:36 +00:00
Andres Löh de5d98eff8 Prevent link collisions by linking only Haskell packages.
svn path=/nixpkgs/trunk/; revision=30727
2011-12-04 17:45:12 +00:00
Andres Löh f237a3a418 Extended ghcWithPackages to link binaries.
svn path=/nixpkgs/trunk/; revision=30726
2011-12-04 16:07:39 +00:00
Andres Löh ecf037f2f7 Added a wrapper function to produce a GHC with a predefined set of packages.
svn path=/nixpkgs/trunk/; revision=30716
2011-12-03 16:19:43 +00:00
Peter Simons 66bd9580f0 Added GHC 7.2.2.
svn path=/nixpkgs/trunk/; revision=30398
2011-11-12 22:19:03 +00:00
Andres Löh 829a5e3209 Bump GHC HEAD snapshot.
svn path=/nixpkgs/trunk/; revision=29164
2011-09-11 09:14:22 +00:00
Andres Löh 51124b08b5 Bumping the GHC HEAD snapshot.
svn path=/nixpkgs/trunk/; revision=29026
2011-09-05 13:29:33 +00:00
Peter Simons feff68214e pkgs/development/compilers/ghc/7.0.4.nix: hard-code list of supported platforms
I assumed that Hydra would arrive at that result anyway, but apparently
it doesn't: no x86_64-darwin builds have occurred despite the fact that
we can bootstrap on that architecture now.

svn path=/nixpkgs/trunk/; revision=28882
2011-08-29 20:09:57 +00:00
Shea Levy 3fe371b856 ghc/7.0.4-binary.nix: Remove comments about wrapper scripts
svn path=/nixpkgs/trunk/; revision=28869
2011-08-29 08:09:27 +00:00
Shea Levy 9381f1a419 ghc-7.0.4-binary.nix: don't wrap the binaries on darwin
ghc-7.0.4 fails at configure with the wrapped binaries and builds fine with the unwrapped binaries.

svn path=/nixpkgs/trunk/; revision=28868
2011-08-29 08:00:55 +00:00
Peter Simons f990dd30f7 pkgs/development/compilers/ghc/7.0.4-binary.nix: added (untested) support for i686-darwin
svn path=/nixpkgs/trunk/; revision=28866
2011-08-29 07:49:35 +00:00
Peter Simons 8286d30453 pkgs/development/compilers/ghc/7.0.4.nix: add myself as a maintainer
svn path=/nixpkgs/trunk/; revision=28863
2011-08-29 07:39:29 +00:00
Peter Simons 33597eee35 pkgs/development/compilers/ghc/7.0.4-binary.nix: pass "$@" in double quotes to avoid issues with arguments that contain whitespace
svn path=/nixpkgs/trunk/; revision=28861
2011-08-29 07:32:37 +00:00
Peter Simons e9c8a9307b pkgs/development/compilers/ghc/7.0.4-binary.nix: support linux, too
svn path=/nixpkgs/trunk/; revision=28860
2011-08-29 07:25:56 +00:00
Shea Levy 346481f483 Add GHC 7.0.4 binary for x86_64-darwin
svn path=/nixpkgs/trunk/; revision=28859
2011-08-29 01:20:12 +00:00
Peter Simons c6f12a23e6 pkgs/development/compilers/ghc/wrapper.nix: stripped trailing whitespace
svn path=/nixpkgs/trunk/; revision=28609
2011-08-16 13:03:38 +00:00
Peter Simons 611501c349 pkgs/development/compilers/ghc/7.2.1.nix: updated to the final release version
svn path=/nixpkgs/trunk/; revision=28463
2011-08-10 16:55:54 +00:00
Peter Simons 9502aedde3 pkgs/development/compilers/ghc/6.10.2-binary.nix: we have no binary for Darwin
svn path=/nixpkgs/trunk/; revision=28414
2011-08-09 08:17:39 +00:00
Peter Simons d3df8772c1 pkgs/development/compilers/ghc: changed all GHC versions to use re-use the meta.platforms attribute of their bootstrap compiler
svn path=/nixpkgs/trunk/; revision=28409
2011-08-09 07:42:05 +00:00
Peter Simons 0be3dae42f pkgs/development/compilers/ghc/*-binary.nix: added a meta.platforms attribute to all ghc bootstrap versions
svn path=/nixpkgs/trunk/; revision=28408
2011-08-09 07:41:10 +00:00
Peter Simons 98b321e99b pkgs/development/compilers/ghc: strip trailing whitespace
svn path=/nixpkgs/trunk/; revision=28402
2011-08-08 19:47:31 +00:00
Peter Simons e2cfe51f21 pkgs/development/compilers/ghc: move the homepage attribute into the meta section
svn path=/nixpkgs/trunk/; revision=28401
2011-08-08 19:47:21 +00:00