Commit Graph

664 Commits

Author SHA1 Message Date
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
Shea Levy
98860f429d Add the addPassthru library function
With multiple outputs, adding attributes to a derivation without
changing the {drv,out}Path is no longer as trivial as simply using the
`//' operator, as we usually want to add the attribute to _each_ output,
and even if we only care about one that one output can be reached via
multiple paths.

For stdenv.mkDerivation, we already had code in place to add passthru
and meta attributes to derivations. This commit simply factors part of
that code out into a lib function addPassthru, which takes a derivation
and an attribute set and appends the attribute set to each output of the
derivation.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-24 08:29:10 -04: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
Vladimír Čunát
637e799ead Merge stdenv-updates-gcc47 into stdenv-updates
Conflicts (simple):
	pkgs/development/libraries/gmp/5.0.5.nix
	pkgs/development/libraries/gmp/5.1.1.nix
	pkgs/top-level/all-packages.nix
2013-03-09 12:01:39 +01:00
Eelco Dolstra
262c21ed46 Enable __ignoreNulls globally 2013-03-07 19:42:01 +01:00
Eelco Dolstra
674c51af3c Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-03-07 19:33:52 +01:00
Shea Levy
0a7d8a5175 stdenv.mkDerivation: Add meta and passthru to all outputs.
Before, only the first output (and not even that when accessed through 'all' or its corresponding attribtue) had meta information and the relevant passthru attributes.

This doesn't change stdenv's hash and the tarball still builds, I'm pretty sure this is safe for master.
2013-03-02 08:34:53 -05:00
Danny Wilson
cbfc76d5ca Add SmartOS native GCC path. 2013-02-28 20:04:04 +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
Danny Wilson
bcaea92a12 Attempt at getting GCC 4.7 compiled on Illumos...
No success yet :-(
2013-02-28 20:04:01 +01:00
Danny Wilson
cf42601f92 Coreutils update and Illumos compatibility fixes.
- GNU Coreutils 8.21
- Add is64Bit checks to stdenv for Solaris.
- Fix OpenSSL Illumos build.
2013-02-28 20:04:01 +01:00
aszlig
82f94df719 stdenv/setup.sh: Always run postPatch hook.
I'm not sure whether this was by intention, but so far postPatch hooks were
silently skipped whenever the patches list was empty. This change could possibly
change the build results of the following packages:

 * gcc
 * cmake (264)
 * systemtap
 * quemu-kvm

These packages all have in common that they have a postPatch hook and the
patches list can be empty when certain conditions are met.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-02-27 15:26:18 +01:00
Eelco Dolstra
2aa6f262cb Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-02-15 13:36:34 +01:00
Lluís Batlle i Rossell
be88539d84 stdenv bootstrap: removing xz override from stdenvLinuxBoot4
Due to xz being override in the last stdenv and also in the previous, the
nixpkgs xz ended up being built by bootstrap-tools, and thus depending on it
through libgcc_so.so.1. That ends up making 'nix' with a runtime
dependency on bootstrap-tools.
2013-01-29 23:39:27 +01:00
Shea Levy
9ac6c53cbf lib.licenses.proprietary is definitely unfree 2013-01-27 18:36:54 -05:00
Lluís Batlle i Rossell
3b26ba7019 Merge remote-tracking branch 'central/master' into stdenv-updates
Conflicts:
	pkgs/os-specific/linux/alsa-utils/default.nix
2013-01-27 11:32:12 +01:00
Eelco Dolstra
d9d9723ca7 With !allowUnfree, reject unfree-redistributable packages as well 2013-01-24 18:27:22 +01:00
Rickard Nilsson
1886d1db6a Merge remote-tracking branch 'upstream/master' into stdenv-updates 2013-01-20 16:53:21 +01:00
Eelco Dolstra
d8e722985b Add config option ‘allowUnfree’
If set to false, mkDerivation will throw an exception if a package has
an unfree license.  ‘release-lib.nix’ uses this to enforce that we
don't build unfree packages as part of the Nixpkgs channel.  Since
this is set through Nixpkgs' ‘config’ argument, it's more finegrained
than $HYDRA_DISALLOW_UNFREE.
2013-01-17 23:41:37 +01:00
Eelco Dolstra
deaef8abaf Pass ‘config’ to stdenv/generic/default.nix
This is a backport of cf8daf6312 in
stdenv-updates (sans the userHook stuff).
2013-01-17 23:24:55 +01:00
Michael Raskin
ed2f075930 ARMv7l fails in strange way with ARMv5 bootstrap but works with ARMv6 bootstrap 2013-01-05 23:28:22 +04:00
Michael Raskin
21e57a0d08 Not all parenthesis are extraneous, after all 2013-01-05 22:49:31 +04:00
Michael Raskin
bbc494644f ARMv7 seems to need special ARM unpacking procedure, too 2013-01-05 22:14:59 +04:00
Lluís Batlle i Rossell
aadf9699cb Merge branch 'stdenv-updates' into stdenv-updates-gcc47 2012-12-31 17:05:51 +01:00
Lluís Batlle i Rossell
d16f4bb3ed Merge branch 'pi-stdenv-updates' into stdenv-updates
This adds raspberry pi support. I've almost tested all.

Should fix https://github.com/NixOS/nixpkgs/issues/234
2012-12-31 16:03:16 +00:00
Lluís Batlle i Rossell
8067f14699 Fixing the gcc47 build in stdenv
gcc 4.7 wants an explicit reference to the system include directory,
and that's guessed through 'stdenv ? glibc'.
2012-12-31 10:13:55 +01:00
Lluís Batlle i Rossell
d8b0834973 unpack-bootstrap-tools: Removing the patch of libstdc++
Although patching it made some programs run (configure tests), some others
crashed with segfault. So I don't think there is any win patching it. The
proper way to solve the bootstrap in the raspberry pi is, as far as I've been
testing, use glibc 2.17 libs in bootstrap-tools with the same ld.so name as the
bootstrapped glibc.

This is a problem inherent in our way to bootstrap, that first replaces
the glibc of a given gcc+glibc (bootstrap-tools) with gcc-wrapper tricks, and
then builds a new gcc. A nicer way would be to build a gcc without glibc,
then the glibc, then the final gcc, as we do with cross-tools.

Some comments about this problem in
https://github.com/NixOS/nixpkgs/issues/234#issuecomment-11764352
2012-12-30 13:53:48 +00:00
Lluís Batlle i Rossell
cfdc532102 Updating bootstrap tools to ones with glibc 2.17
This solves the problem of the change of name in ld.so between
glibc 2.13 and 2.17 (at least for armhf). Some comments about it in
https://github.com/NixOS/nixpkgs/issues/234#issuecomment-11764352

As there says, without this, gmp (after glibc built) tests crashed
- segfault.
2012-12-30 13:50:31 +00:00
Michael Raskin
df65a79bb3 Export shell packages from stdenvLinux
Now that we have a way to alter /bin/sh in chroots on non-NixOS Linux
platforms, it may be useful to have access to stdenv.shell package and to
static bash contained in bootstrap tools. So make them accessible via stdenv
attribute set.
2012-12-30 15:29:02 +04:00
Lluís Batlle i Rossell
0ba8b50e83 Fixing again about libstdc++.
I also move the 'echo patching' lines down, so they are printed
only for files really patched.
2012-12-29 23:46:00 +00:00
Lluís Batlle i Rossell
52ac6f96aa Fix on prev commit: the bootstrap tools don't have libmudflap
Out of glibc libs, only libstdc++ requires ld.so.
2012-12-29 23:31:48 +00:00
Lluís Batlle i Rossell
f050675458 unpack bootstrap tools arm: fix more rpaths
libstdc++ and libmudflapth link to the dynamic loader; if the
bootstrap uses another dynamic loader name, and the rpath of these
libs isn't changed, they will fail to load.
2012-12-29 23:14:25 +00:00
Lluís Batlle i Rossell
f2133155d8 armv6l: new bootstrap-tools
Trying again to get a hardfp compiler.
2012-12-29 07:47:13 +00:00
Lluís Batlle i Rossell
d7fb4db241 armv6l: Updating bootstrap tools to build for harfp 2012-12-28 20:20:18 +00:00
Lluís Batlle i Rossell
2b19eb189d Adapting make-bootstrap-tools-crosspi.nix to crossDrv 2012-12-28 21:22:13 +01:00
Lluís Batlle i Rossell
719ba63004 Merge branch 'stdenv-updates' into pi-stdenv-updates
Conflicts:
	pkgs/development/compilers/gcc/4.6/default.nix
	pkgs/development/compilers/gcc/4.7/default.nix

The 4.7 had some weird parameters added in crossAttrs; I've removed
them, but I don't understand where they come from.
2012-12-28 20:14:01 +00:00
Eelco Dolstra
e2d505b24e More renames 2012-12-28 19:42:10 +01:00
Eelco Dolstra
dcdef5a0fe More random cleanup 2012-12-28 19:37:42 +01:00
Eelco Dolstra
22ba03c123 Random cleanup: use "or" in adapters.nix 2012-12-28 19:35:35 +01:00
Eelco Dolstra
ab3eeabfed Rename buildNativeInputs -> nativeBuildInputs
Likewise for propagatedBuildNativeInputs, etc.  "buildNativeInputs"
sounds like an imperative rather than a noun phrase.
2012-12-28 19:20:09 +01:00
Eelco Dolstra
5be0a9acd7 Rename hostDrv -> crossDrv, buildDrv -> nativeDrv
This is for consistency with terminology in stdenv (and the terms
"hostDrv" and "buildDrv" are not very intuitive, even if they're
consistent with GNU terminology).
2012-12-28 19:08:19 +01:00
Lluís Batlle i Rossell
33d3cf2d1c Fixes in make-bootstrap-tools-crosspi.nix
It doesn't reference <nixpkgs> anymore. And I fixed the indentation.
2012-12-28 16:39:54 +00:00
Eelco Dolstra
f4ed8a3b91 Remove trailing whitespace 2012-12-28 16:41:56 +01:00
Eelco Dolstra
cf8daf6312 Add an option ‘stdenv.userHook’ to set a global stdenv setup hook
This allows various applications.  It allows users to set global
optimisation flags, e.g.

  stdenv.userHook = ''NIX_CFLAGS_COMPILE+=" -funroll-loops"'';

But the impetus is as an alternative to issue #229, allowing impure
stdenv setup for people who want to use distcc:

  stdenv.userHook = "source /my/impure/setup-script.sh";

This is probably a bad idea, but at least now it's a bad idea in
people's configuration and not in Nixpkgs. :-)
2012-12-28 16:36:09 +01:00
Eelco Dolstra
6fd4f63530 Revert "Merge pull request #229 from viric/niximpure2-stdenv-updates"
This reverts commit e04b17bfba, reversing
changes made to 1af2ada7d4.
2012-12-28 15:46:45 +01:00
Lluís Batlle i Rossell
095db9fe3f stdenv: Stripping out/lib32 too
If not, in mips64/n32, lib32/libiberty.a was left without stripping, and
it contained (debug) references to bootstrap-tools.
2012-12-27 23:36:01 +01:00
Lluís Batlle i Rossell
ee2f05d683 Removing unneeded changes in stdenvLinux, for the pi.
I had those changes from the time when I wanted to bootstrap
its stdenvLinux from armv5tel bootstrap-tools. But that
never worked.
2012-12-27 15:19:23 +00:00
Lluís Batlle i Rossell
c41881842b Merge branch 'stdenv-updates' into pi-stdenv-updates 2012-12-27 15:10:55 +00:00
Lluís Batlle i Rossell
120499c03a Setting a public URL for the pi bootstrap tools 2012-12-26 22:42:57 +00:00
Lluís Batlle i Rossell
5258c8a0c6 Going with armv6l-linux bootstrap-tools.
I had lost this change in some branch.
2012-12-26 22:01:41 +00:00
Lluís Batlle i Rossell
764ebc29ab Adding the armv6l bootstrap; I forgot that file in previous commits. 2012-12-26 22:01:36 +00:00
Lluís Batlle i Rossell
50ae899f62 Removing a glibc outdated mention in stdenvLinux 2012-12-26 22:01:31 +00:00
Lluís Batlle i Rossell
4c8bca317b Improving the bootstrap tools (missing libs) 2012-12-26 22:01:08 +00:00
Lluís Batlle i Rossell
eeb9720b92 Fixing the bootstrap-tools-crosspi for gcc47 2012-12-26 22:00:58 +00:00
Lluís Batlle i Rossell
f16193bd99 Setting gcc47 for the cross build tools 2012-12-26 22:00:39 +00:00
Lluís Batlle i Rossell
5b975f3c90 Adding an attempt to crossbuild bootstrap tools for the pi.
Based on the cross/make-bootstrap-tools.nix I had for the sheevaplug
in my nixos.org svn configuration directory.
2012-12-26 22:00:24 +00:00
root
a30086c8d5 Disabling ppl and cloog on gcc for raspberrypi. Shorter stdenv builds. 2012-12-26 21:59:58 +00:00
root
1b29d29c76 First movement to get the raspberrypi stdenv building. 2012-12-26 21:59:54 +00:00
Lluís Batlle i Rossell
b190e6cd93 Fixing problems in the previous commit. It didn't work. 2012-12-26 22:20:43 +01:00
Lluís Batlle i Rossell
635880a17a 2nd approach at getting a check for /niximpure in stdenv-updates 2012-12-26 21:38:58 +01:00
Shea Levy
6d928ab684 Don't preserve timestamps when copying sources to the temporary build directory.
This should fix issues like "ZIP does not support timestamps before 1980"
2012-12-14 13:36:04 -05:00
Eelco Dolstra
5e256ccc88 Merge remote-tracking branch 'origin/master' into stdenv-updates 2012-12-04 17:12:35 +01:00
Eelco Dolstra
72684fb42f Remove support for the obsolete powerpc-darwin and i686-darwin platforms 2012-11-29 14:10:49 +01:00
Peter Simons
f67d5a9a39 Merge branch 'master' into stdenv-updates.
Conflicts have been resolved in:

        pkgs/tools/misc/file/default.nix
        pkgs/top-level/all-packages.nix
        pkgs/top-level/python-packages.nix
2012-11-21 16:20:36 +01:00
Eelco Dolstra
ccd44e84c8 Add a stdenv adapter ‘keepDebugInfo’ to make a debug build
This adapter causes the resulting binaries to have debug info and no
optimisations.  Example use (in all-packages.nix):

  foo = callPackage ./foo.nix {
    stdenv = keepDebugInfo stdenv;
  };
2012-10-31 13:46:51 +01:00
Lluís Batlle i Rossell
9b973e02e1 The loongson2f bootstrap files were already at nixos.org.
I make the nix expression point to them.
2012-10-25 23:22:41 +02:00
Lluís Batlle i Rossell
2ac4ad0c9c Setting the loongson2f bootstrap tools in a public place.
It'd be nice having this in nixos.org though.
2012-10-25 23:16:32 +02:00
Eelco Dolstra
0008138201 checkPhase: Pass VERBOSE=y so that failing tests show something useful 2012-10-16 15:00:51 -04:00
Eelco Dolstra
49c8c2bc72 Update stdenv.is64bit 2012-10-16 13:53:43 -04:00
Eelco Dolstra
b3d20690a1 For consistency, don't use the -v flag when copying a directory $src 2012-09-25 21:31:16 -04:00
Eelco Dolstra
bf2b75ca7e Add hacky way to prevent Hydra from building/distributing unfree packages
If the environment variable HYDRA_DISALLOW_UNFREE is set to "1", then
evaluation of a package with license "unfree" will throw an error.
Thus such packages or any packages that depend on them will fail to
evaluate.
2012-08-22 15:43:18 -04:00
Eelco Dolstra
85047983a1 stdenv/generic/default.nix: Simplify the code using the "or" construct 2012-08-22 15:43:18 -04:00
Ludovic Courtès
f959a26e33 stdenv: Fix typo. 2012-08-21 15:30:50 +02:00
Ludovic Courtès
6adc5cedae stdenv: Add `isGlibc' function. 2012-08-21 15:29:07 +02:00
Eelco Dolstra
5bdea119d4 * Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=33971
2012-05-02 13:19:07 +00:00
Eelco Dolstra
be901fa8be * Add an installCheckPhase.
svn path=/nixpkgs/branches/stdenv-updates/; revision=33967
2012-05-01 21:00:30 +00:00
Ludovic Courtès
29bc53265d Darwin: Use GCC 4.6 in `stdenvNix'.
svn path=/nixpkgs/trunk/; revision=33894
2012-04-23 15:47:37 +00:00
Nicolas Pierron
82b308bf11 Add armv7l support.
svn path=/nixpkgs/trunk/; revision=33798
2012-04-15 23:41:25 +00:00
Shea Levy
6f711ceb01 Revert r33547
svn path=/nixpkgs/branches/stdenv-updates/; revision=33583
2012-04-04 19:45:01 +00:00
Shea Levy
358e51bb6d tar doesn't need -f - to read from stdin
svn path=/nixpkgs/branches/stdenv-updates/; revision=33574
2012-04-04 16:27:04 +00:00
Shea Levy
4a84fd30b5 Don't do verbose unpacking, it's just log noise
svn path=/nixpkgs/branches/stdenv-updates/; revision=33573
2012-04-04 16:25:17 +00:00
Peter Simons
f35cf87600 removed executable bits from Nix files
svn path=/nixpkgs/trunk/; revision=33552
2012-04-03 06:31:19 +00:00
Ludovic Courtès
3214f4a844 Add `stdenv.isGNU'.
svn path=/nixpkgs/trunk/; revision=32836
2012-03-06 21:33:14 +00:00
Shea Levy
483f094acb Honor propagatedUserEnvPackages in setup.sh
svn path=/nixpkgs/branches/stdenv-updates/; revision=32369
2012-02-17 21:37:15 +00:00
Yury G. Kudryashov
5b132f6e96 svn merge ^/nixpkgs/trunk
Conflicts: cups, all-packages.nix (gcc45_debug)

svn path=/nixpkgs/branches/stdenv-updates/; revision=31863
2012-01-26 15:27:03 +00:00
Lluís Batlle i Rossell
4a1c721c01 Changing every reference from mips64-linux to mips64el-linux. That's
what the new nix thinks the fuloong is.

Anyone having the old nix should use a nixpkgs previous to this change to build
the new nix. And then, with the new nix, he can use any newer nixpkgs revision.

svn path=/nixpkgs/trunk/; revision=31751
2012-01-21 00:34:51 +00:00
Eelco Dolstra
94c7bec49d * Call all the stdenvs "stdenv" (rather than e.g. "stdenv-linux")
so that "nix-env -i stdenv" does the expected.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31742
2012-01-20 16:47:54 +00:00
Eelco Dolstra
14aab94aef * Oops.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31734
2012-01-20 10:55:45 +00:00
Eelco Dolstra
b27b5dfd75 * Doh.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31726
2012-01-19 22:18:34 +00:00
Eelco Dolstra
3980444b2b * Reuse packages in the Darwin stdenv to prevent unnecessary rebuilds.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31710
2012-01-19 18:25:35 +00:00
Eelco Dolstra
61d0c5d931 * Don't rely on tar knowing about .xz.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31708
2012-01-19 17:33:33 +00:00
Eelco Dolstra
e1f901c117 * Build ‘xz’ during the stdenvNative bootstrap, since we really can't
rely on it being present.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31707
2012-01-19 16:50:09 +00:00
Eelco Dolstra
6b8e8bfedb * "sed -i" isn't very portable, so don't use it here.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31705
2012-01-19 16:23:14 +00:00
Eelco Dolstra
698c4d296b * "test" -> "[ ... ]" (style cleanup).
svn path=/nixpkgs/branches/stdenv-updates/; revision=31704
2012-01-19 16:14:09 +00:00
Eelco Dolstra
ee45e160b1 * Prepend the "prehook" rather than sourcing it.
* Don't call xargs with the -r flag in the Darwin bootstrap.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31703
2012-01-19 15:56:17 +00:00
Eelco Dolstra
6208059079 * The postHook substitution is not used anywhere, so get rid of it.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31702
2012-01-19 15:39:12 +00:00
Eelco Dolstra
b31df26cea * Remove an unnecessary check.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31701
2012-01-19 15:31:56 +00:00
Eelco Dolstra
0d71e75222 * Get rid of params1-5, they're obsolete.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31700
2012-01-19 15:29:20 +00:00
Eelco Dolstra
0e6fa321bb * Don't use the "replace-literal" command in stdenv; instead use
bash's pattern replacement feature.  "replace-literal" is an
  uncommon command so it was a headache during the bootstrap.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31681
2012-01-19 13:47:26 +00:00
Eelco Dolstra
fc89eefa50 * Seems that bash 3.2 on Mac OS X doesn't know the \e
escape, so use \033 instead.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31680
2012-01-19 10:24:26 +00:00