Commit graph

854 commits

Author SHA1 Message Date
Peter Simons
944ae2e5ff pkgs/build-support/cabal: disable split-objects for GHC 7.7 builds to work around broken compiler 2013-04-24 13:21:05 +02:00
Peter Simons
6f1cec9acb haskell-packages.nix: fix the implementation of 'cabalNoTest'
The previous implementation used the following tying-the-knot trickery to
override 'doCheck' to false for the given build:

  cabalNoTest = {
    mkDerivation = x: rec {
      final = self.cabal.mkDerivation (self: (x final) // { doCheck = false; });
    }.final;
  };

That seemed to work, but for some reason it caused trouble with some builds --
not all -- that use jailbreakCabal. The problem was the 'stdenv' attribute
couldn't be evaluated properly anymore:

  $ nix-build ~/pkgs/top-level/release-haskell.nix -A optparseApplicative.ghc6104.x86_64-linux --show-trace
  error: while evaluating the attribute `drvPath' at `/nix/store/qkj5cxknwspz8ak0ganm97zfr2bhksgn-nix-1.5.2pre3082_2398417/share/nix/corepkgs/derivation.nix:19:9':
  while evaluating the builtin function `derivationStrict':
  while instantiating the derivation named `haskell-optparse-applicative-ghc6.10.4-0.5.2.1' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:40:13':
  while evaluating the derivation attribute `configurePhase' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:107:13':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/strings.nix:55:26':
  while evaluating the attribute `outPath' at `/nix/store/qkj5cxknwspz8ak0ganm97zfr2bhksgn-nix-1.5.2pre3082_2398417/share/nix/corepkgs/derivation.nix:18:9':
  while evaluating the builtin function `getAttr':
  while evaluating the builtin function `derivationStrict':
  while instantiating the derivation named `jailbreak-cabal-1.1' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:40:13':
  while evaluating the derivation attribute `nativeBuildInputs' at `/home/simons/.nix-defexpr/pkgs/stdenv/generic/default.nix:76:17':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/lists.nix:135:21':
  while evaluating the attribute `buildInputs' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:22:17':
  while evaluating the builtin function `filter':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:22:60':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/top-level/haskell-packages.nix:119:17':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/customisation.nix:61:22':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/customisation.nix:56:24':
  while evaluating the builtin function `isAttrs':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/development/libraries/haskell/Cabal/1.14.0.nix:1:1':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/top-level/haskell-packages.nix:113:20':
  while evaluating the attribute `final' at `/home/simons/.nix-defexpr/pkgs/top-level/haskell-packages.nix:114:7':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:9:5':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/stdenv/generic/default.nix:51:24':
  while evaluating the attribute `meta.license' at `/home/simons/.nix-defexpr/pkgs/development/libraries/haskell/Cabal/1.14.0.nix:17:5':
  infinite recursion encountered

I tried to figure out why this happens, but eventually gave up. The new
implementation passes an argument called 'enableCheckPhase' to the Cabal
builder, which determines whether the user-specified doCheck value has any
effect or not. Now, a normal override can be used to disable unit testing.
2013-04-19 10:46:18 +02:00
Peter Simons
fd76a89bcb pkgs/build-support/release/nix-build.nix: unconfuse syntax highlighting 2013-04-18 12:18:39 +02:00
Lluís Batlle i Rossell
9ce7b29393 gcc-wrapper: avoiding one glibc rebuild, for gcc.crossDrv
In fact 'glibc.crossDrv' didn't work. I'm not sure it should work; I think it
isn't required for much.
2013-04-10 18:26:42 +02:00
Michael Ashton
8c63762d64 - fetchbzr and nix-prefetch-bzr now only export, instead of cloning
- The option for cloning in nix-prefetch-bzr is removed
- ssl certificates are now ignored by fetchbzr

This means that no .bzr directory is downloaded.  Without this change, the
hash of the result is unpredictable, probably because of timestamping in the
.bzr directory.

Currently, the only package using fetchbzr is kicad.
2013-03-31 19:16:18 -07:00
aszlig
463378f7cc
fetchsvn: Add ignoreExternals attribute.
There are some SVN repositories out there which don't have revision information
tied to externals. By using ignoreExternals, fetchsvn won't fetch these
externals anymore, so the fetch won't fail with a checksum mismatch, should
there be some changes in some of those external repositories.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-27 00:26:55 +01:00
Eelco Dolstra
b38647766d releaseTools: Add ‘aggregate’ function
An aggregate is a trivial build that depends on other builds.  This is
intended to provide a declarative replacement of Hydra's "view"
mechanism.

For instance, you can define an aggregate named "critical" that
depends on a selected set of jobs:

  critical = releaseTools.aggregate
    { name = "foo-${tarball.version}";
      members =
        [ tarball
          build.x86_64-linux
          ...
        ];
      meta.description = "Release-critical builds";
    };

The "critical" build will only succeed if all its members
(dependencies) succeed.
2013-03-26 11:58:59 +01:00
Peter Simons
32fb6ed5e3 pkgs/build-support/cabal: disable doCheck by default on GHC 7.0.x platforms
Trying to run the unit tests with GHC 7.0.4 causes so many builds to
fail that it's probably not worth-while.
2013-03-23 18:44:44 +01:00
Eelco Dolstra
fb600a5d99 Debian VM image: Update to 6.0.7 2013-03-15 12:48:35 +01:00
Peter Simons
ffd11da9d9 pkgs/build-support/cabal: enable 'doCheck' only on GHC versions 7.x or later
Older GHC's come with a version of Cabal that doesn't even understand the
--{enable,disable}-tests command line arguments.
2013-03-11 12:25:53 +01:00
Michael Raskin
5ec1806564 Adding ZPAQ archiver 2013-03-09 16:33:14 +04:00
Shea Levy
1670244f80 Merge branch 'vlada/xfce-notg' of git://github.com/vcunat/nixpkgs
This branch refactors xfce and updates it to 4.10. I had been hoping to
find someone besides Vlada to test this (I don't use xfce), but no one
has come forward yet in 2 weeks so if this breaks something they can
make an issue or fix it. It all looks good by inspection.
2013-03-08 17:03:22 -05:00
Peter Simons
fcd895afb3 pkgs/build-support/cabal: disable the split objects feature on Darwin by default
According to <http://hackage.haskell.org/trac/ghc/ticket/4013>, this
feature won't work with XCode versions older than 3.2.

This means that Mac users will have considerably larger binaries because
some build-time dependencies (such as HTTP) will be mis-detected as
run-time dependencies.
2013-03-08 13:37:57 +01:00
Eelco Dolstra
674c51af3c Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-03-07 19:33:52 +01:00
Eelco Dolstra
85d464a031 Remove some hackery 2013-03-06 16:57:57 +01:00
Vladimír Čunát
26af997d41 Merge branch 'master' into stdenv-updates
Conflicts (simple):
	pkgs/applications/networking/browsers/chromium/default.nix
	pkgs/development/libraries/libsoup/default.nix
	pkgs/os-specific/linux/kernel/manual-config.nix
	pkgs/os-specific/linux/qemu-kvm/default.nix
2013-03-02 10:41:53 +01:00
Eelco Dolstra
a1c5d6642b build-support/release: Simplify meta.description
Phrases like "Build of a ..." are redundant because everything is a
build.
2013-03-01 12:50:29 +01:00
Peter Simons
d0bfd6936e pkgs/build-support/cabal: add 'testDepends' to 'extraBuildInputs' if 'doCheck' is set to 'true' 2013-02-25 00:32:40 +01:00
Peter Simons
d8974b47cb pkgs/build-support/cabal: filter 'doCheck=false' field from the expression to avoid unnecessary hash changes
In the master branch, doCheck defaults to 'false', which means that no package
will change its hash unless its doCheck field is set to 'true' explicitly. In
the stdenv-updates branch, however, all Haskell packages have a default setting
of 'doCheck=true'. Once that branch has been merged, filtering doCheck is no
longer necessary.
2013-02-24 23:43:34 +01:00
Peter Simons
c18e2ea902 pkgs/build-support/cabal: filter internal 'testDepends' field from the expression to avoid unnecessary hash changes 2013-02-24 23:41:08 +01:00
Peter Simons
e779adc607 pkgs/build-support/cabal: set 'checkPhase' only if 'doCheck' is true 2013-02-24 21:48:36 +01:00
Peter Simons
1dba3fe14a pkgs/build-support/cabal: enable 'doCheck=true' by default 2013-02-24 21:15:43 +01:00
Peter Simons
bf5ac53073 pkgs/build-support/cabal: add 'testDepends' field to specify build-time dependencies that are required only for running the test suites 2013-02-24 21:15:25 +01:00
Peter Simons
26b192edcc pkgs/build-support/cabal: unify all non-user-specified configure flags in the internal 'extraConfigureFlags' variable 2013-02-24 21:14:01 +01:00
Peter Simons
5f32207dfc Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-02-24 19:27:08 +01:00
Peter Simons
074137a19b pkgs/build-support/cabal/default.nix: add support for running test suites via Cabal
Set 'doCheck = true' to enable building and running of the test suite.
2013-02-22 16:53:23 +01:00
Shea Levy
acd4299e75 Merge branch 'master' into stdenv-updates
Conflicts:
	pkgs/applications/networking/browsers/chromium/default.nix
	pkgs/top-level/all-packages.nix

Merge conflicts seemed trivial, but a look from viric and aszlig would be nice.
2013-02-21 11:13:30 -05:00
Vladimír Čunát
e979d7ad2f vlada/xfce
Major Xfce refactoring, also adding versions 4.10.*

Signed-off-by: Vladimír Čunát <vcunat@gmail.com>
2013-02-21 12:16:51 +01:00
Shea Levy
79c3f992b4 makeInitrd: Make the compressor configurable 2013-02-19 11:49:31 -05:00
Shea Levy
aacca1902c Merge branch 'upstream-master' into stdenv-updates 2013-02-19 10:09:39 -05:00
Eelco Dolstra
19ab71ff7a releaseTools.nixBuild: Put hydra-build-products in each output
Putting a single hydra-build-products in $out can cause $out to have
unnecessary dependencies on other outputs.
2013-02-18 13:57:02 +01:00
Peter Simons
dd13aa9c94 pkgs/build-support/cabal: add 'enableSplitObjs' field to enable/disable object splitting
This patch configures all Cabal builds with '--enable-split-objs' unless the
Nix expression explicitly sets "enableSplitObjs = false". The Cabal manual [1]
describes this option as follows:

 | The GHC -split-objs reduces the final size of the executables that use the
 | library by allowing them to link with only the bits that they use rather
 | than the entire library. The downside is that building the library takes
 | longer and uses considerably more memory.

One immediate benefit of this change is that the 'darcs' closure defined in the
top-level no longer refers to GHC. The same is probably true with other
executable packages.

[1] http://www.haskell.org/cabal/users-guide/installing-packages.html#setup-configure
2013-02-18 12:32:15 +01:00
Eelco Dolstra
2aa6f262cb Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-02-15 13:36:34 +01:00
Eelco Dolstra
a0a6f0edfd releaseTools.nixBuild: Support builds with multiple outputs 2013-02-13 13:54:32 +01:00
Eelco Dolstra
04765da09a fetchurl: Don't wait too long for the hashed mirrors
If the hashed mirror (nixos.org/tarballs) doesn't respond in 15
seconds, give up and try the original URL.
2013-02-06 15:15:28 +01:00
Eelco Dolstra
f337ab4430 fetchurl: Remove some compatibility hacks 2013-02-06 15:00:33 +01:00
Peter Simons
e5b51648b1 Move "darwin-native-x11-and-opengl" package into the "os-specific" hierarchy. 2013-01-30 14:53:04 +01:00
Peter Simons
e460a3f37c pkgs/build-support/native-darwin-x11-and-opengl: lift native X11 and OpenGL implementation from Darwin into the Nix store 2013-01-28 19:30:32 +01:00
Eelco Dolstra
d8f8a29758 gcc-upc: Remove
This version (4.0) is obsolete.  And UPC will be merged in GCC 4.8
anyway.
2013-01-28 17:19:04 +01:00
Eelco Dolstra
5bb548d2e4 Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-01-17 14:19:14 +01:00
Rob Vermaas
a049615e91 source-tarball.nix: try src.revCount when src.rev is not available. 2013-01-15 15:04:38 +01:00
Eelco Dolstra
7fd42a8380 Get rid of the "sf" alias for "sourceforge" 2013-01-14 12:00:32 +01:00
Shea Levy
553e1b16f0 replace-dependency: Eelco has ruled, lowerCamelCase > dash-case :( 2013-01-13 11:15:01 -05:00
Shea Levy
96a834d42a replace-dependency: Better function names 2013-01-11 16:16:20 -05:00
Shea Levy
5dd1b8f204 replace-dependency: Don't strictly require that drv, old-dependency, and new-dependency be derivations 2013-01-11 16:13:58 -05:00
Shea Levy
779c74f795 Remove some artifacts of a failed attempt from replace-dependency 2013-01-11 16:09:07 -05:00
Shea Levy
d1662d7155 Add the replace-dependency build support function.
The use case is to do a deep replacement of a dependency without rebuilding the entire tree.
For example, suppose a security hole is found in glibc and a patch released. Ideally, you'd
just rebuild everything, but that takes time, space, and CPU that you might not have, so in
the mean time you could build a safe version of, say, firefox with:

  firefox-safe = replace-dependency { drv = firefox; old-dependency = glibc; new-dependency = patched-glibc; };

Building firefox-safe will rebuild glibc, but only do a simple copy/string replacement on all other dependencies
of firefox. On my system (MBP 13" mid-2012), after a new glibc had been build building firefox took around 11 seconds.

See the comments in the file for more details.
2013-01-11 14:42:09 -05:00
Lluís Batlle i Rossell
eb0422e4c1 Merge branch 'stdenv-updates' into pi-stdenv-updates 2012-12-29 14:18:43 +00:00
Lluís Batlle i Rossell
29fdf278ce Enabling support of ld-linux-armhf.so.3 ld.so, in ARM
I use wildcards.
2012-12-29 14:14:53 +00:00
Lluís Batlle i Rossell
b8c0279b9f Unifying buildergo.sh and builder.sh into one. 2012-12-29 15:11:32 +01:00