Commit graph

1118 commits

Author SHA1 Message Date
Vladimír Čunát
263fd55d4b Merge recent staging built on Hydra
http://hydra.nixos.org/eval/1231884
Only Darwin jobs seem to be queued now,
but we can't afford to wait for that single build slave.
2015-12-05 11:11:51 +01:00
Luca Bruno
920b1d3591 Merge branch 'master' into closure-size 2015-11-29 16:50:26 +01:00
Profpatsch
ee07543ccd stdenv: licenseAllowed -> checkValidity
Rename and make it a true function (that can be re-used and could be
moved to the library).
2015-11-27 21:56:28 +01:00
Jude Taylor
f5609a4d2a reintroduce impure host deps to all derivations 2015-11-21 15:51:48 -08:00
Jude Taylor
69e7f3bb74 switch to zero underscores for sandbox profiles; remove generateFrameworkProfile 2015-11-21 12:10:33 -08:00
Jude Taylor
a63346e33c use single underscore for sandboxProfile 2015-11-21 11:17:30 -08:00
Vladimír Čunát
333d69a5f0 Merge staging into closure-size
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
2015-11-20 14:32:58 +01:00
Jude Taylor
131e831cb9 allow networking by default and remove it from derivations 2015-11-19 11:31:06 -08:00
Jude Taylor
163acc0efa remove useless muting lines; they interfere with debugging 2015-11-19 11:31:06 -08:00
Jude Taylor
df80090d09 use per-derivation sandbox profiles 2015-11-19 11:31:06 -08:00
Jude Taylor
914e9baefe start on sandbox stuff 2015-11-19 11:31:06 -08:00
Wout Mertens
774f74b875 Don't fail if env-vars cannot be written to
env-vars is a debugging aid, see
3e5dbb2433
for a rationale for this change.
2015-11-04 16:32:59 +01:00
William A. Kennington III
dd2de66d61 Merge branch 'master.upstream' into staging.upstream 2015-10-30 17:16:07 -07:00
Eelco Dolstra
971430f623 Move stdenv-darwin bootstrap binaries to nixos.org
These are taken from http://hydra.nixos.org/build/27002702.
2015-10-29 22:16:06 +01:00
Jude Taylor
85ba0035bd rebase on eelco's bootstrap-tools changes 2015-10-23 10:27:34 -07:00
Jude Taylor
1ddc52a782 update pure-darwin make-bootstrap-tools 2015-10-23 10:05:19 -07:00
Eelco Dolstra
45c7dd7d98 Add stdenv bootstrap tools generation to release.nix 2015-10-23 13:05:36 +02:00
Vladimír Čunát
4917a4f8b3 Merge master into staging 2015-10-23 01:57:14 +02:00
Eelco Dolstra
764a523cf9 Drop unnecessary __impureHostDeps
<nix/fetchurl.nix> is a builtin derivation so it shouldn't need any
host dependencies.
2015-10-21 15:16:45 +02:00
Jude Taylor
c7cc743b52 inherit system for builtin fetchurl in PD 2015-10-15 18:08:53 -07:00
Jude Taylor
c70ec3ec63 re-fix evaluation of libSystemClosure 2015-10-15 17:19:10 -07:00
Jude Taylor
9685b08db7 fix libSystemClosure on non-darwin machines 2015-10-15 14:09:30 -07:00
William A. Kennington III
8a44a36ca4 Merge branch 'master.upstream' into staging.upstream 2015-10-15 10:22:28 -07:00
Jude Taylor
f4dbf6d7c8 Merge pull request #10187 from NixOS/switch-to-pd
Switch stdenvs to pure-darwin
2015-10-14 16:13:25 -07:00
Vladimír Čunát
99e4371526 curl: split into multiple outputs
Also use pkgconfig to be safer and fix (some) referrers.
2015-10-13 20:18:48 +02:00
Vladimír Čunát
17a3f6a6fa icu: split into multiple outputs 2015-10-13 20:18:44 +02:00
Eelco Dolstra
741bf840da Revert "Merge pull request #9543 from NixOS/staging.post-15.06"
This reverts commit f61176c539, reversing
changes made to a27ca029ee.

Conflicts:
	pkgs/development/libraries/ncurses/default.nix
2015-10-06 15:24:20 +02:00
Jude Taylor
7283bb7466 introduce separate cf-private package to account for no CLT 2015-10-06 00:11:10 -07:00
Jude Taylor
0a32eab91e fix LLVM packages to work in darwin stdenv 2015-10-05 08:46:56 -07:00
Vladimír Čunát
f361938b21 Merge staging into closure-size
This makes gcc5 the default builder, etc.
2015-10-03 15:23:13 +02:00
Vladimír Čunát
5227fb1dd5 Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
William A. Kennington III
ed71860928 Merge branch 'staging.upstream' into staging.post-15.06 2015-10-02 12:41:04 -07:00
Jude Taylor
df3d54e3bb switch stdenvs 2015-10-02 12:26:33 -07:00
Jude Taylor
6367e48225 Revert "pop"
This reverts commit 724e243159.

This (clearly) should never have been committed, and is probably due to a failed stash pop
on my part.
2015-09-28 09:41:02 -07:00
William A. Kennington III
d3f4ba9d6f Merge branch 'master.upstream' into staging.upstream 2015-09-23 14:44:21 -07:00
Drew Hess
3c8b92f4b3 Workaround for getcwd configure test on 10.11.
See https://openradar.appspot.com/22671534 for a description of the
problem.
2015-09-23 14:41:41 -07:00
Jude Taylor
724e243159 pop 2015-09-22 16:27:51 -07:00
Eelco Dolstra
2a28bc6691 separateDebugInfo: Assert Linux
Also remove some unintended setting of separateDebugInfo.
2015-09-22 20:21:10 +02:00
William A. Kennington III
8b670fba26 Merge branch 'staging.upstream' into staging.post-15.06 2015-09-19 14:39:57 -07:00
Eelco Dolstra
ec5b66eb4a Enable separate debug info
You can now pass

  separateDebugInfo = true;

to mkDerivation. This causes debug info to be separated from ELF
binaries and stored in the "debug" output. The advantage is that it
enables installing lean binaries, while still having the ability to
make sense of core dumps, etc.
2015-09-17 15:56:33 +02:00
William A. Kennington III
f4a42ae509 gcc: Make 5.x the default 2015-09-15 12:14:12 -07:00
William A. Kennington III
5ca1c32a9d Merge branch 'master.upstream' into staging.upstream 2015-08-28 17:55:20 -07:00
Eelco Dolstra
f15270833a Don't barf JSON at users in error messages 2015-08-27 15:32:45 +02:00
Jude Taylor
c1f2fd4619 update pure-darwin bootstrap tools with new hash 2015-08-25 11:12:09 -07:00
William A. Kennington III
4f22eadf2c Merge branch 'master.upstream' into staging.upstream 2015-08-19 20:52:17 -07:00
Peter Simons
81ce9be104 Revert "Move licenseAllowed check into the builder attribute (fixes #7541)"
This reverts commit 4d6452ba. The change affects Hydra in a way we didn't
expect: https://github.com/NixOS/nixpkgs/pull/9305#issuecomment-132791730.
2015-08-19 23:37:45 +02:00
William A. Kennington III
901482ad99 Merge branch 'master.upstream' into staging.upstream 2015-08-19 13:54:48 -07:00
Mathnerd314
4d6452bab9 Move licenseAllowed check into the builder attribute (fixes #7541) 2015-08-17 10:54:38 -06:00
William A. Kennington III
952def0e3c Merge branch 'master.upstream' into staging.upstream 2015-08-13 11:55:02 -07:00
Jude Taylor
ef95107ddc make isClang work the way a user might expect 2015-08-12 11:27:54 -07:00
Vladimír Čunát
5ad448df3a enableDebugging: use more suitable gcc flags
-ggdb is supposed to provide better symbol information when used with gdb
-Og is the recommended optimization level for debugging purposes
2015-08-10 09:11:30 +02:00
Eelco Dolstra
32caa604e3 Force Nixpkgs rebuild
Gratuitous change to force Hydra to rebuild Nixpkgs after some
derivations had their references corrupted by a Hydra bug
(ff3f5eb4d8).
2015-08-03 20:03:11 +02:00
Jude Taylor
fa6c8445c7 make libcxxStdenv work on both darwin and linux 2015-07-27 14:25:40 -07:00
Jude Taylor
a2b3fe28a8 make bootstrap files buildable in sandbox 2015-07-10 14:00:47 -07:00
Jude Taylor
cb3e282cda unique host deps, otherwise we get 600000 char derivations 2015-07-08 14:15:03 -07:00
Jude Taylor
14d83e9565 add gnused to impure darwin stdenv 2015-06-19 22:08:01 -07:00
Jude Taylor
3790cb7d43 fix nonexistent cc path in bootstrap stdenv 2015-06-18 13:44:40 -07:00
Vladimír Čunát
61596bf405 Merge #8363: pure-darwin stdenv 2015-06-18 22:38:08 +02:00
Jude Taylor
fe75f16032 move pure stdenv into a new directory, bring back the old one
remove __impure from non-darwin OSes
2015-06-18 13:19:34 -07:00
Jude Taylor
87bca3698a remove sort and unique from stdenv 2015-06-18 12:37:42 -07:00
Jude Taylor
fa9c81f694 pure darwin stdenv 2015-06-18 12:37:41 -07:00
Eelco Dolstra
d72538be8d Don't include /no-such-path in buildInputs 2015-06-15 19:26:52 +02:00
Eelco Dolstra
42d94b6f15 Barf on non-existant build inputs
Previously saying

  buildInputs = [ "bla" ];

was quietly ignored. Now it's a fatal error.
2015-06-15 11:24:55 +02:00
Eelco Dolstra
41e1900ea1 Define closeNest before exitHandler
This prevents "closeNest: command not found" messages if setup fails
early.
2015-06-15 11:24:11 +02:00
Tuomas Tynkkynen
99a7bc241d stdenv/linux: Link statically against isl & cloog
Otherwise this fails on ARM:

/nix/store/jipqp9739n7wrjz40igbk85pqk13s0ad-binutils-2.23.1/bin/ld: /nix/store/92pdpqrqkdf8wjciq1cisvsp8kdz8p2i-gmp-5.1.3/lib/libgmp.a(mp_get_fns.o): relocation R_ARM_MOVW_ABS_NC against `__gmp_allocate_func' can not be used when making a shared object; recompile with -fPIC
/nix/store/92pdpqrqkdf8wjciq1cisvsp8kdz8p2i-gmp-5.1.3/lib/libgmp.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libisl.la] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/tmp/nix-build-isl-0.11.1.drv-3/isl-0.11.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/nix-build-isl-0.11.1.drv-3/isl-0.11.1'
make: *** [all] Error 2
builder for ‘/nix/store/a8ghniifd8d8agqx0cqsh41daa08v11c-isl-0.11.1.drv’ failed with exit code 2
2015-06-12 01:38:47 +02:00
Eelco Dolstra
4970574409 Merge remote-tracking branch 'origin/gcc-4.9' into staging
Conflicts:
	pkgs/development/libraries/wayland/default.nix
2015-06-11 00:23:03 +02:00
Eelco Dolstra
cde5053d9a Revert "curl: Modernize build"
This reverts commit 5e3fe3916a.
2015-06-04 14:54:52 +02:00
Eelco Dolstra
3096d03435 Revert "Refactor mkFlag / shouldUsePkg into the nixpkgs libraries"
This reverts commit 25a148fa19.
2015-06-04 14:54:48 +02:00
Eelco Dolstra
553abf71ba Merge remote-tracking branch 'origin/staging' into gcc-4.9
Conflicts:
	pkgs/build-support/cc-wrapper/default.nix
	pkgs/development/libraries/wayland/default.nix
	pkgs/development/tools/build-managers/cmake/default.nix
	pkgs/top-level/all-packages.nix
2015-06-01 20:08:43 +02:00
Florian Friesdorf
88e58a4fa2 cygwin: stdenv 2015-05-28 10:53:34 +02:00
William A. Kennington III
25a148fa19 Refactor mkFlag / shouldUsePkg into the nixpkgs libraries 2015-05-22 13:26:55 -07:00
Eelco Dolstra
24aa3551b0 Fix stdenv build 2015-05-13 18:17:25 +02:00
Eelco Dolstra
9ae86dc3fc Ensure that errexit is honoured in hooks
Partial fix for #7524.
2015-05-13 18:17:25 +02:00
Eric Seidel
395829686d add is{GNU,Clang} attrs to cc-wrapper.
These will be more pleasant to use than the existing

    (cc.cc.isClang or false)

nonsense we currently do.
2015-05-11 14:39:36 -07:00
viric
1b982918f5 Merge pull request #7740 from dezgeg/arm
ARM changes for the Jetson TK1 (and other multiplatform boards)
2015-05-07 20:53:07 +02:00
William A. Kennington III
074c4a7f78 Merge remote-tracking branch 'upstream/master' into staging 2015-05-07 01:44:49 -07:00
Tuomas Tynkkynen
a7c4aba896 ARM: Assume armv7l-hf-multiplatform instead of beaglebone
Several places in the tree associate the ARMv7 system
with the beaglebone platform. Change them to point to
armv7l-hf-multiplatform as it supports several boards (including the
beaglebone as well)
2015-05-07 06:04:10 +03:00
William A. Kennington III
874fa4d8a3 busybox: 1.22.1 -> 1.23.2
Also use musl as libc since it is just as small as uclibc, usually more
performant, and regularly makes releases.
2015-05-06 00:15:16 -07:00
Vladimír Čunát
3b9ef2c71b fix "libc}/lib" and similar references
Done mostly without any verification.
I didn't bother with libc}/include, as the path is still correct.
2015-05-05 11:52:08 +02:00
Vladimír Čunát
375bc8def7 Merge staging into closure-size 2015-05-05 11:49:03 +02:00
Eelco Dolstra
a58356c953 useGoldLinker: Fix appending to $NIX_CFLAGS_LINK 2015-05-04 14:00:45 +02:00
William A. Kennington III
5e3fe3916a curl: Modernize build 2015-05-01 15:57:14 -07:00
Vladimír Čunát
30f31c9afc Merge 'master' into staging
(relatively simple conflicts)
2015-04-26 22:52:08 +02:00
William A. Kennington III
232b71c6e8 Fix some platforms 2015-04-25 21:27:53 -07:00
Vladimír Čunát
a99e543c36 bzip2: split into multiple outputs, refactor 2015-04-18 19:32:52 +02:00
Vladimír Čunát
d484c392aa stdenv multiple-outputs: change propagation rules
Now development stuff is propagated from the first output,
and userEnvPkgs from the one with binaries.

Also don't move *.la files (yet). It causes problems, and they're small.
2015-04-18 19:30:28 +02:00
Vladimír Čunát
bf414c9d4f Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
2015-04-18 11:22:20 +02:00
William A. Kennington III
7ccccc15ba Merge branch 'master' into staging 2015-03-27 16:03:03 -07:00
Eelco Dolstra
5c0eb64d43 Set more precise meta.position for Haskell packages 2015-03-27 16:17:48 +01:00
Eelco Dolstra
8b2f209838 mkDerivation: Use function arguments 2015-03-27 16:17:48 +01:00
William A. Kennington III
afa998eb32 stdenv: Substitute correctly chmods instead of .tmp which never exists 2015-03-26 15:44:54 -07:00
William A. Kennington III
767c179a94 Merge branch 'master' into staging 2015-03-26 14:44:05 -07:00
Eric Seidel
7f5367c69d darwin: add apple cli-tools to initialPath so we can handle overrideCC
fixes #6934
2015-03-24 17:33:27 -07:00
Thomas Tuegel
8fd5dd89ac Merge branch 'master' into staging 2015-03-24 17:49:30 -05:00
Eelco Dolstra
bda440a7b3 substitute: Fix "No such file or directory" message on Darwin
On Darwin, "chmod -f" does not suppress an error message if the file
doesn't exist. So just check if the file exists.
2015-03-24 14:12:24 +01:00
Eelco Dolstra
d3756e162c stdenv-darwin: Auto-detect the "right" SDK version 2015-03-23 16:46:41 +01:00
Eelco Dolstra
ead7762573 stdenv-darwin: Use --sdk macosx10.9
Otherwise builds fail on Mac OS X 10.9 with Xcode 6.1. This is because
"xcrun --show-sdk-version" returns 10.10, which doesn't work.
2015-03-23 16:04:37 +01:00
Eelco Dolstra
a89c14dc3c No camelCase in filenames 2015-03-23 12:03:01 +01:00
Eelco Dolstra
8470b03db2 Remove unused file 2015-03-23 12:02:13 +01:00
Eelco Dolstra
692ed0882a Fix eval-release.nix evaluation 2015-03-06 15:09:51 +01:00
Eric Seidel
3ea2aa4136 stdenv/darwin: choose sdkroot based xcrun default 2015-03-04 21:36:09 -08:00
codyopel
e29b0da9c7 remove stdenv.isBSD 2015-02-24 22:15:51 -05:00
Dan Peebles
025f87f79a Bootstrap tools for the upcoming new darwin stdenv (not working yet in this stdenv, but will soon) 2015-02-18 00:24:34 -05:00
Dan Peebles
ecf662efc6 Flip cctools and cctools cross 2015-02-18 00:24:33 -05:00
Lluís Batlle i Rossell
6790caf713 I add back the arm unpack script
The unified made by ambro doesn't work for me in the sheevaplug.
2015-02-09 22:36:10 +01:00
Lluís Batlle i Rossell
2b7aace1ae Renaming make-bootstrap-tools-crosspi to cross.
It can build more than the raspberrypi bootstrap tools.
2015-02-05 23:32:09 +01:00
Lluís Batlle i Rossell
a761b33d8c Using fixed bootstraptools.
Built natively with latest fixes.
2015-02-05 23:00:08 +01:00
Lluís Batlle i Rossell
389d0f668e Bootstrap tools armv5tel
Conflicts:
	pkgs/stdenv/linux/default.nix
	pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh
2015-02-05 22:42:58 +01:00
Lluís Batlle i Rossell
6944b15d88 Fix busybox stdenv?
(cherry picked from commit db8668c0bb0dc8feb4929867adf1b60f7025a925)
2015-02-05 22:41:07 +01:00
Ambroz Bizjak
ef9c21a0e2 Adding the sheevaplug to make-bootstrap-tools-cross 2015-02-05 21:37:29 +01:00
Ambroz Bizjak
93e018cbe9 Make the bootstrap-tools test use the real unpacking derivation. 2015-02-05 21:29:02 +01:00
Ambroz Bizjak
810b416d89 Consolidate the unpack scripts for the bootstrap tools. 2015-02-05 21:27:12 +01:00
Ambroz Bizjak
8fb7d8bede Fix building and unpacking of the ARM boostrap tools.
NOTE: This is incomplete - the tools need to be built, uploaded and the references fixed.
2015-02-05 21:26:55 +01:00
Ambroz Bizjak
0a8ca604b4 Fix cross compiling regression due to gcc->cc renaming. 2015-02-05 21:25:25 +01:00
Eric Seidel
4a467ec02b move libcxx[abi] into llvm tree 2015-02-03 14:58:10 -08:00
Eric Seidel
92188d9d17 new darwin stdenv 2015-02-03 14:05:22 -08:00
Shea Levy
c45372f038 Merge commit 'cfb29ab882323d379aba20a95020c7c24f883eae'
Partial staging merge, including cc-wrapper fixes

Conflicts:
	pkgs/applications/audio/spotify/default.nix
	pkgs/build-support/cc-wrapper/default.nix
	pkgs/development/compilers/cryptol/1.8.x.nix
2015-02-02 21:14:28 -05:00
Wout Mertens
ef2e0ffdea stdenv: fix eval - the return 2015-01-29 10:54:07 +01:00
Wout Mertens
006769be70 stdenv: fix eval
silly 💩
2015-01-29 10:46:35 +01:00
Wout Mertens
0feb19b6b4 stdenv: take license parameter checks out of mkDerivation path 2015-01-29 10:38:33 +01:00
Matthias Beyer
aca361fa49 Add (optional) license white/blacklisting 2015-01-24 17:28:50 +01:00
Wout Mertens
4b82bd683e Merge pull request #5714 from vcunat/p/stdenv-subst
stdenv substitute: avoid using a temporary file
2015-01-23 23:15:16 +01:00
Vladimír Čunát
a0bf07827b mpc: also rename the attribute to libmpc
Attrnames and package names should be as close as possible to avoid confusion.
I took care not to confuse the two mpc things during the mass-replace,
so hopefully I suceeded (tarball still builds).
2015-01-17 09:55:32 +01:00
Vladimír Čunát
88089559b9 Merge #5676: gcc-wrapper -> cc-wrapper and related 2015-01-17 08:43:04 +01:00
Eric Seidel
88eae46455 rename occurrences of gcc.gcc to gcc.cc 2015-01-14 20:47:49 -08:00
Shea Levy
16fe4be790 Add isGNU attribute to gccs 2015-01-14 20:26:57 -08:00
Eric Seidel
48f63c2f2e rename gcc-wrapper to cc-wrapper.
also makes cc-wrapper compatible with clang in the darwin fork.
2015-01-14 20:26:56 -08:00
Vladimír Čunát
1575bc652e Merge branch 'master' into staging
Conflicts (simple):
	pkgs/os-specific/linux/util-linux/default.nix

It seems this merge creates a new stdenv hash,
because we had changes on both branches :-/
2015-01-13 18:07:11 +01:00
Vladimír Čunát
2533a11241 stdenv substitute: avoid using a temporary file
- IMO using a temporary is not needed here (anymore),
- temporary at that location can cause a problem (in a specific case):
for example, when using the substituteAll function from nixpkgs
on a single file directly under /nix/store/ (or ./foo-file),
the stdenv's substitute tries to create a temporary directly under
/nix/store, which causes problems on chrooted darwin
(according to @copumpkin earlier today on IRC)
2015-01-13 10:53:57 +01:00
Eelco Dolstra
71c3c19638 stdenv: Remove redundant "building ..." message
Nix already shows what paths are being built.
2015-01-12 13:04:26 +01:00
Vladimír Čunát
e98a443e71 stdenv: improve message on evaluation check (no hash changes) 2015-01-11 21:38:19 +01:00
Vladimír Čunát
123a8bf9a5 stdenv: refactor code for evaluation errors (no hash changes) 2015-01-11 21:37:50 +01:00
Shea Levy
77a448e96f restore pkgs.gcc = stdenv.cc 2015-01-03 09:54:02 -05:00
Daniel Peebles
8df8943b92 I think this should fix the evaluation errors in hydra 2014-12-27 12:02:58 -05:00
Vladimír Čunát
becf038336 Merge branch 'staging' 2014-12-26 22:41:19 +01:00
Shea Levy
bbd2be6075 Restore accidentally-dropped stdenv adapter 2014-12-26 12:38:18 -05:00
John Wiegley
28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
Eelco Dolstra
a5aa8f3efa Use updated bootstrap binaries
Fixes #5335.
2014-12-18 15:04:40 +01:00
Jaka Hudoklin
3d7f66e955 boostrap-tools: fix curl not finding libnss* and libresolv 2014-12-15 03:33:28 +01:00
Eelco Dolstra
5a0b79f955 Merge remote-tracking branch 'origin/bash-4.3' into staging 2014-11-16 22:18:08 +01:00
Eelco Dolstra
a0f3faf34e Merge remote-tracking branch 'origin/glibc-2.20' into staging 2014-11-16 22:17:36 +01:00
Eelco Dolstra
cef0bcefc6 linux-headers: Update to 3.12.32
We can do this because bootstrap-tools contains an unxz program now
(via busybox).
2014-11-15 21:49:57 +01:00
Vladimír Čunát
b4af993c3f Merge branch 'master' into staging
Conflicts (simple):
	pkgs/development/lisp-modules/clwrapper/setup-hook.sh
2014-11-14 14:28:23 +01:00
Ricardo M. Correia
e9affb4274 nixos: Add system-wide option to set the hostid
The old boot.spl.hostid option was not working correctly due to an
upstream bug.

Instead, now we will create the /etc/hostid file so that all applications
(including the ZFS kernel modules, ZFS user-space applications and other
unrelated programs) pick-up the same system-wide host id. Note that glibc
(and by extension, the `hostid` program) also respect the host id configured in
/etc/hostid, if it exists.

The hostid option is now mandatory when using ZFS because otherwise, ZFS will
require you to force-import your ZFS pools if you want to use them, which is
undesirable because it disables some of the checks that ZFS does to make sure it
is safe to import a ZFS pool.

The /etc/hostid file must also exist when booting the initrd, before the SPL
kernel module is loaded, so that ZFS picks up the hostid correctly.

The complexity in creating the /etc/hostid file is due to having to
write the host ID as a 32-bit binary value, taking into account the
endianness of the machine, while using only shell commands and/or simple
utilities (to avoid exploding the size of the initrd).
2014-11-12 22:31:49 +01:00
Eelco Dolstra
7a05d33386 useGoldLinker: Don't set dontStrip
Probably caused by a bad cut&paste...
2014-11-12 15:10:54 +01:00
Eelco Dolstra
1455ecee73 Ensure a correct value for $BASH
Previously it was set to /run/current-system/sw/sbin/nologin or
similar.
2014-11-10 14:09:53 +01:00
Eelco Dolstra
78b01de68d substituteAll: Enumerate environment variables more reliably
Getting the names of all environment variables is tricky. The previous
implementation easily got confused by multi-line variables. The new
one is more reliable but not still not perfect.

This works around a segfault in Bash 4.3, where the expression
"${!var}" (where var="-9") crashes under certain conditions.

http://hydra.nixos.org/build/16693445
2014-11-10 13:35:09 +01:00
Eelco Dolstra
e3ef797901 Fix stdenv allowedRequisites check
It has to include the default build inputs now (like
"compress-man-pages.sh").
2014-11-06 15:33:36 +01:00
Eelco Dolstra
328f7a621e stdenv: Remove propagatedUserEnvPkgs
Stdenv is not really intended as an installable package. Nowadays it's
much better to use "nix-shell -p" to get a build environment.
2014-11-06 12:15:08 +01:00
Eelco Dolstra
1014620bce stdenv: Statically include the default build inputs
Otherwise, stdenv won't have a reference to e.g. patchelf on Linux
(because it was passed in by mkDerivation). This causes the installer
tests to fail, because having "stdenv" in the installation CD closure
is not enough to pull in all stdenv packages.

http://hydra.nixos.org/build/16546643
2014-11-06 12:10:28 +01:00
Eelco Dolstra
8e9e4b05f7 Fix running preHook
Accidentally (?) lost in e3875297fa.
2014-11-06 11:26:09 +01:00
Eelco Dolstra
0518ccf5af Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/stdenv/generic/default.nix
2014-11-06 10:16:39 +01:00
Eelco Dolstra
af0557cf82 Allow marking licenses as unfree
This allows licenses like the Amazon Software License to be identified
properly while still preventing packages with those licenses from
being distributed in the Nixpkgs/NixOS channels.
2014-11-05 15:15:00 +01:00
Eelco Dolstra
e575d739da Set SDKROOT etc. in stdenvNative
Fixes a build failure in gawk with Xcode 6.1 on 10.9.
2014-11-04 16:35:13 +01:00
Eelco Dolstra
7495c61d49 Merge remote-tracking branch 'origin/darwin-clang-stdenv' into staging
Conflicts:
	pkgs/applications/editors/vim/macvim.nix
2014-11-04 14:30:43 +01:00
Eelco Dolstra
899d81b37b Set MACOSX_DEPLOYMENT_TARGET to 10.9
This makes stuff build with Xcode 6.1 on Mac OS X 10.9 (where we got
errors like "ld: file not found:
/usr/lib/system/libsystem_coreservices.dylib for architecture x86_64" due to the use of the 10.10 SDK).
2014-11-04 13:28:31 +01:00
Eelco Dolstra
97e9d2b351 Remove dead code 2014-11-04 13:26:51 +01:00
Eelco Dolstra
3bd2cfa853 Update bootstrap tools with the fix for GCC bug 61801 2014-11-03 18:51:25 +01:00
Wout Mertens
c04e492898 stdenv: Prevent issues like #4266
Don't preserve hardlinks, and instead use reflinks if they're available.
2014-10-31 11:13:03 +01:00
Eelco Dolstra
119ce1ab03 Update the stdenv-linux bootstrap tools 2014-10-29 17:26:29 +01:00
Eelco Dolstra
41a479b15f busybox: Optionally use uclibc 2014-10-29 14:44:56 +01:00
Eelco Dolstra
e8992c5084 Update the stdenv bootstrap tools generator
The static curl program is gone, replaced by curl inside of the
bootstrap tools tarball. Also, we generate a .tar.xz archive rather
than .cpio.bz2, making the download smaller. The separate
{sh,cpio,mkdir,ln,bzip2} programs have been replaced by a single
busybox program.
2014-10-29 13:43:01 +01:00
Eelco Dolstra
d135422009 Remove obsolete useKlibc stdenv adapter 2014-10-29 13:43:00 +01:00
Eelco Dolstra
5cc92eb0d8 Remove obsolete useDietLibC stdenv adapter 2014-10-29 13:43:00 +01:00
Eelco Dolstra
54e727133a Remove tabs/whitespace 2014-10-29 13:42:59 +01:00
Eelco Dolstra
3a0db27b90 Fix indent 2014-10-26 01:59:05 +02:00
Eelco Dolstra
9a979af1d3 stdenv-darwin: Revert to clang 3.3
In 3.3, a C++ class defined in a header will get a typeinfo symbol
like this (e.g. in Nix's src/libutil/util.o):

  (__DATA,__datacoal_nt) weak external typeinfo for nix::BaseError

But in 3.4, this has changed to:

  (__DATA,__datacoal_nt) weak external automatically hidden typeinfo for nix::BaseError

This causes the linker to change the symbol to:

  (__DATA,__data) non-external (was signed char private external) typeinfo for nix::BaseError

i.e. losing its weak linkage. But without weak linkage, dynamic_cast
and other RTTI-based mechanisms (such as catching an exception of a
certain type) don't work across shared libraries / executables.

The clang compiler in the SDK doesn't have this behaviour, but it's
not clear exactly which version it is (it just says "based on LLVM
3.4svn").
2014-10-15 01:15:31 +02:00
Eelco Dolstra
7aacca25df stdenv-darwin: Pass through libcxx/libcxxabi 2014-10-14 16:36:44 +02:00
Eelco Dolstra
79d0d7b437 Unify gcc-wrapper and clang-wrapper 2014-10-11 22:26:39 +02:00
Eelco Dolstra
ffbdcbfe29 gcc-wrapper: Wrap ld.gold
This ensures that gcc's ‘-fuse-ld=gold’ flag works.
2014-10-10 14:55:17 +02:00
Nikolay Amiantov
66d89ef2a4 stdenv: Use "pipefail" in setup.sh 2014-10-10 14:02:15 +04:00
Nikolay Amiantov
ca3ecb56ae stdenv: change 'echo -n' to 'printf "%s"'
[Bjørn: rationale is portability, "echo -n" isn't in POSIX]
2014-10-09 22:15:07 +02:00
Nikolay Amiantov
2ec4704961 stdenv: Fix handling spaces in 'substitute' 2014-10-09 22:15:07 +02:00
Nikolay Amiantov
d59327b938 stdenv: added escaping for patches 2014-10-09 22:15:05 +02:00
Nikolay Amiantov
d15e52f25f stdenv: fail if the patch does not exist 2014-10-09 22:14:38 +02:00
Eelco Dolstra
811de3bfaa Merge remote-tracking branch 'origin/staging' into darwin-clang-stdenv
Conflicts:
	pkgs/tools/security/gnupg/default.nix
2014-10-09 10:57:57 +02:00
Eelco Dolstra
51f1b4ec48 Automatically move stuff in lib64 to lib 2014-10-07 15:04:13 +02:00
Eelco Dolstra
ab04b7d0bb Automatically move programs in sbin to bin
This should fix the OpenJDK build, which was failing because paxctl is
in sbin and therefore not automatically added to $PATH.

http://hydra.nixos.org/build/15658346
2014-10-07 14:43:56 +02:00
Eelco Dolstra
a85dcf4a00 Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/development/libraries/libav/default.nix
	pkgs/shells/bash/bash-4.2-patches.nix
	pkgs/stdenv/generic/default.nix
2014-10-07 00:09:37 +02:00
Eelco Dolstra
14d6454b9a stdenv-linux: Turn allowedRequisites back on 2014-10-06 22:11:05 +02:00
Eelco Dolstra
2bb69fcedd pcre: Update to 8.36 2014-10-06 20:49:10 +02:00
Eelco Dolstra
c34932ef86 Merge remote-tracking branch 'origin/staging' into darwin-clang-stdenv 2014-10-06 20:14:26 +02:00
Eelco Dolstra
b891f05a6a stdenv-linux: Disable use of allowedRequisites
Sadly, it breaks stdenv adapters like overrideGCC and useGoldLinker.
2014-10-06 20:13:29 +02:00
Eelco Dolstra
ce61353a9f Eliminate some optionals/optionalAttrs calls on the hot path 2014-10-05 01:59:24 +02:00
Eelco Dolstra
8c3ddec416 Merge remote-tracking branch 'origin/staging' into darwin-clang-stdenv 2014-10-03 15:49:20 +02:00
Eelco Dolstra
a1bb914f71 Fix gcc.override (required by stdenv adapters like useGoldLinker) 2014-10-03 15:21:00 +02:00
Eelco Dolstra
250c7682e1 Remove broken libunwindNative package
Copying /usr/lib/system/libunwind.dylib at evaluation time doesn't
work (e.g. on Hydra). And copying binary system libraries is a bad
idea anyway for license reasons.
2014-09-29 19:58:09 +02:00
Eelco Dolstra
1e6dfdf29c clang-wrapper: Remove explicit dependency on libc++
Now libc++ is just another build input propagated from clang-wrapper.
2014-09-24 17:55:05 +02:00
Eelco Dolstra
84a586fa9e stdenvDarwin: Do not wrap clang twice 2014-09-24 16:54:43 +02:00
Eelco Dolstra
66dedaa6ee gcc-wrapper: Remove NIX_GCC_NEEDS_GREP
This is not needed on any currently supported platform.
2014-09-23 19:43:38 +02:00
Eelco Dolstra
cd71f7a2e6 Merge branch 'darwin-stdenv' of github.com:joelteon/nixpkgs into staging
Conflicts:
	pkgs/development/interpreters/ruby/ruby-19.nix
	pkgs/development/libraries/libc++/default.nix
	pkgs/development/libraries/libc++abi/default.nix
	pkgs/tools/text/sgml/opensp/default.nix
2014-09-23 11:27:53 +02:00
Gergely Risko
6fe1ac69f9 Cleanup legacy settings in stdenvLinux
This causes a mass rebuild, because it changes the hashes of
stdenvLinux, as it enable tests for coreutils.
2014-09-14 21:57:00 +02:00
Gergely Risko
c5df246ba9 Cleanup perl logic in stdenvLinux
Make thread disabling explicit.  This changes the semantics of the perl
derivation, so on other platforms it may require setting

  enableThreading = false

This commit doesn't change the derivation or out hash of stdenvLinux.
2014-09-14 21:36:14 +02:00
Gergely Risko
fca5d864b6 pkgs/stdenv/linux: stageFun refactoring
The stage3.extraAttrs.glibc argument was required for this whole build
procedure to correctly work and it was very-very hard to see why (the
comment said something about gcc47, but we're using gcc48 now).

This stage3.extraAttrs.glibc goes into stage3.stdenv.glibc after some
arg passing, and in pkgs/development/compiler/gcc an (stdenv ? glibc)
boolean expression decides to override /usr/include during the GCC
build.

All of our stages are built with glibc, so this refactoring moves this
repeating specification of glibc (once for gcc wrapper and once here for
extraAttrs) to stageFun, by getting rid of wrapGCC, as we were using
that in all of the stages anyways.

Incidentally it turned out, that this stdenv.glibc inconsistency caused
some random other stuff to behave differently:
  - stage1.pkgs.perl has threading disabled,
  - stage4.pkgs.coreutils (the production coreutils) has testing disabled.

Leave this historical accidents as they are in this commit, so the scope
of this commit can stay as a refactoring only, these issues will be
fixed in separate commits.

This commit doesn't change the derivation or the output hash of
stdenvLinux.
2014-09-14 21:35:54 +02:00
Gergely Risko
efcb00d002 Do allowed requisites check in stdenv/linux
Use the new allowedRequisites feature in stdenvLinux.

This way we properly check that the end-result stdenv of the quite
complicated multi-stage stdenvLinux building procedure is sane, and only
depends on the stuff that we know about.

Alternative would be to just disallowRequisites bootstrapTools, which is
the most common offender, but we have had other offenders in the past.

For these checks to actually fire, you currently have to use nixUnstable,
as the necessary feature will be released in Nix 1.8.
2014-09-14 21:14:41 +02:00
Gergely Risko
0a3d811e42 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.

Actually this have been committed once as 1f2b636, but then got lost
while resolving merge conflicts.  Hopefully it survives this time.
2014-09-14 19:37:51 +02:00
Gergely Risko
4ac4af08f2 Cosmetic renaming: extraPath -> extraBuildInputs 2014-09-14 19:37:32 +02:00
Gergely Risko
034b07e6ff Remove gcc and zlib dependency on bootstrap-tools
The 82797f98f2 merge caused this
issue while trying to merge the staging refactorings with
the modular-stdenv feature branch.
2014-09-14 19:32:58 +02:00
Gergely Risko
18592c78fc Cosmetic fix in pkgs/stdenv/linux/default.nix
Keep the rule that every stage only refers to the previous stage
for clarity.

This commit doesn't change derivation or output hashes.
2014-09-11 00:39:08 +02:00
Gergely Risko
f2c5125e82 Fix testability of pkgs/stdenv/linux/default.nix
The point here is that it's always possible to debug this staging
logic by using `nix-repl pkgs/stdenv/linux'. The modular-stdenv
change introduced the lib dependency, which we now default to
../../../lib.

No derivation or out hashes of stdenvLinux is changed by this commit.
2014-09-11 00:24:03 +02:00