Commit graph

855 commits

Author SHA1 Message Date
Bjørn Forsman ae5664cc5e mirrors.nix: add http://backpan.perl.org/ for old CPAN modules
It seems only the latest version of perl modules are in CPAN(?). The
BackPan claims to have a complete history of CPAN.
2013-05-03 10:59:36 +02:00
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