Commit Graph

856 Commits

Author SHA1 Message Date
Peter Simons
270b858905 pkgs/build-support/cabal: updated recognition of Haskell packages for the directory new layout used in the stdenv-updates branch 2013-03-28 14:25:51 +01:00
Peter Simons
fdbe2878f0 Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-03-28 14:02:56 +01:00
Peter Simons
0e1dfe702d pkgs/build-support/cabal: strip unnecessary --extra-lib-dir arguments for haskell packages
Packages that are registered in the ghc-pkg database don't need any
extra flags passed for Cabal to recognize them.
2013-03-28 12:58:10 +01: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
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
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
Danny Wilson
d007a78ccb Merge remote-tracking branch 'origin/stdenv-updates' into illumos
Conflicts:
	pkgs/development/libraries/gmp/5.1.1.nix
	pkgs/development/libraries/mpc/default.nix
	pkgs/development/libraries/mpfr/default.nix
	pkgs/development/libraries/ppl/default.nix
	pkgs/tools/misc/coreutils/default.nix
2013-03-17 13:22:24 +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
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
Danny Wilson
15e865ac09 GCC 4.7.2 + updated libraries compiles on Illumos/SmartOS!
- Add solaris native ld support to GCC build wrapper
- Add solaris ld wrapper that fixes -L argument order
2013-02-28 20:04:02 +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