Commit graph

614 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