Commit graph

119 commits

Author SHA1 Message Date
Gergely Risko 1f2b636ff6 Fix zlib handling in stdenvLinux
Previously stdenv depended on two different zlibs and there was a third
one in the top-level package set for other purposes.  This commit merges
all this zlibs to one.
2014-08-26 17:17:13 +02:00
Eelco Dolstra f5d648e27d Fix evaluation 2014-08-25 09:35:06 +02:00
Eelco Dolstra 27d3984935 Indentation 2014-08-24 18:08:23 +02:00
Gergely Risko ea65229f70 Refactor stages to only ever refer to the previous stage
This commit doesn't change the outhash (or drvhash) of the stdenv.
2014-08-24 17:10:55 +02:00
Gergely Risko 49e5837780 Move wrapGCC helper up
This commit doesn't change the outhash (or drvhash) of the stdenv.
2014-08-24 17:10:53 +02:00
Gergely Risko 350022247a Refactor stage handling in stdenvLinux
Make stages explicit and generalize the pattern of having an stdenv and
a pkgs collection for all stages to a common stage generating function
called stageFun.

Rewrite all stage handling with this new function.

This commit doesn't change the outhash (or drvhash) of the stdenv.
2014-08-24 17:10:50 +02:00
Gergely Risko 142970b9eb Refactor wrapGCC in stdenvLinux
Don't use default parameter values, to make the callsites more readable
and for easier debuggability/changability.  Also reordered the
callsites' parameter ordering for consistency.

In the final stdenv don't repeat the name of the shell.

This commit doesn't change the outhash (or drvhash) of the stdenv.
2014-08-24 17:10:37 +02:00
Gergely Risko 8a445f9237 Refactor fetchurl handling in stdenvLinux
All the different stages of stdenv had the fetchurl inherited anyways,
so make this generic in stdenvBootFun.

This commit doesn't change the outhash (or drvhash) of the stdenv.
2014-08-24 17:10:05 +02:00
Ricardo M. Correia 8d5ce245a2 grsecurity: Add paxctl, paxmark and stdenv.needsPax to stdenv 2014-05-15 13:25:46 +02:00
Eelco Dolstra b614ea22d4 Move files 2014-04-20 01:27:15 +02:00
Eelco Dolstra d4f44d6db3 Move stdenv bootstrap binaries out of the tree
Commit 986f361946 started to use
<nix/fetchurl.nix> to "download" the bootstrap binaries from the
Nixpkgs tree, using the file:/// scheme. This has really bad
consequences:

* It makes any derivation depend on the path of the Nixpkgs tree. So
  evaluating a package will produce a different .drv file when run
  from different locations. No wonder Hydra evaluation has been so
  slow lately: for every Nixpkgs evaluation, it had to create tens of
  thousands of .drv files, even if nothing had changed.

* It requires the builder to have file system access to the Nixpkgs
  tree. So if your tree is in your home directory, the stdenv
  bootstrap would probably fail.

So now the binaries are downloaded from tarballs.nixos.org.

Also dropped PowerPC "support".
2014-04-20 01:16:12 +02:00
Eelco Dolstra c49404547b Use <nix/fetchurl.nix> to download the bootstrap tools 2014-04-20 00:54:09 +02:00
Eelco Dolstra 7703f04b75 Add a stdenv adapter ‘useGoldLinker’ to force use of Gold 2014-02-05 19:18:33 +01:00
Eelco Dolstra a8a5a59059 stdenv-linux: Fix binutils override
This ensures that pkgs.binutils equals the binutils used in the final
stdenv, as intended.
2014-01-28 15:23:57 +01:00
Eelco Dolstra 860c681fb3 stdenv-linux: Prevent dependency on bootstrap-tools in the final binutils
Binutils nowadays contains ld.gold, which depends on libstdc++.  So it
needs to be built with the new GCC rather than the one from
bootstrap-tools.

Issue #1469.
2014-01-07 17:50:12 +01:00
Eelco Dolstra 320209a618 Merge deterministicStdenv into the default stdenv
This means that (on Linux) strip uses
"--enable-deterministic-archives" and ld uses the
BFD_DETERMINISTIC_OUTPUT flag.
2014-01-07 13:57:42 +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
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
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
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 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 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 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 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 50ae899f62 Removing a glibc outdated mention in stdenvLinux 2012-12-26 22:01:31 +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
Nicolas Pierron 82b308bf11 Add armv7l support.
svn path=/nixpkgs/trunk/; revision=33798
2012-04-15 23:41:25 +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 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 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 c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Eelco Dolstra cfde88976b * Streamline the stdenv bootstrap and resulting closure by removing
some redundant builds (e.g., GMP was built three times).
* Updated GMP to 5.0.2.
* Updated PPL to 0.11.2.
* Remove ad hoc flags to build GCC's dependencies statically.
  Instead, use the ‘makeStaticLibraries’ stdenv adapter.
* Build GMP with C++ support by default.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
2011-12-14 14:31:56 +00:00
Eelco Dolstra 3ea1c30846 * Remove the NIX_STRIP_DEBUG flag. It was undocumented and confusing
in its interaction with the ‘dontStrip’ attribute.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30848
2011-12-12 14:02:12 +00:00
Ludovic Courtès e2e7a6f1ce Add XZ to stdenv.
svn path=/nixpkgs/branches/stdenv-updates/; revision=29847
2011-10-14 21:56:11 +00:00
Lluís Batlle i Rossell bff99fe8b5 Making gcc 4.6 that of stdenv.
svn path=/nixpkgs/branches/stdenv-updates/; revision=28958
2011-09-01 14:28:13 +00:00
Shea Levy 4d70ba6cc9 Merge from trunk up through r28790
svn path=/nixpkgs/branches/stdenv-updates/; revision=28792
2011-08-24 19:16:43 +00:00