John Ericson
3cb745d5a6
stdenv: Store one package per line in nix-support/propagated-*
...
This makes those files a bit easier to read. Also, for what it's worth,
it brings us one baby step closer to handling spaces in store paths.
Also, I optimized handling of many transitive deps with read. Probably,
not very beneficial, but nice to enforce the pkg-per-line structure.
Doing so let me find much dubious code and fix it.
Two misc notes:
- `propagated-user-env-packages` also needed to be adjusted as
sometimes it is copied to/from the propagated input files.
- `local fd` should ensure that file descriptors aren't clobbered
during recursion.
2017-07-10 13:32:13 -04:00
John Ericson
5896d84dbb
stdenv: Stop reversing the list of sandbox stuff
...
We're breaking hashes anyways
2017-07-10 11:25:51 -04:00
John Ericson
2f198956c7
stdenv: Make separate-debug-info.sh a nativeBuildInput
2017-07-10 11:25:51 -04:00
Vladimír Čunát
bfb7ef86f3
Merge branch 'master' into staging
...
Mass rebuilds incoming. The mass-rebuild situation got really messy
this weekend.
2017-07-09 18:07:52 +02:00
Daiderd Jordan
980346592c
Merge branch 'staging' into master
2017-07-08 22:22:17 +02:00
John Ericson
a302d7360f
top-level: {build,host,target}Platform are defined in the stdenv instead
...
See #27069 for a discussion of this
2017-07-07 12:55:02 -04:00
John Ericson
f5364122b5
Merge pull request #27215 from obsidiansystems/stdenv-harden
...
Harden stdenv in two misc ways
2017-07-07 12:48:51 -04:00
John Ericson
afc2023993
stdenv: Have mkDerivation pull the "extra" arguments from stdenv instead
...
Something more elaborate is needed for the "*Platform" arguments.
2017-07-07 12:16:51 -04:00
John Ericson
4cf4d7180d
stdenv: Conservatively move mkDerivation
into it's own file
2017-07-07 12:16:51 -04:00
Vladimír Čunát
e8e57452f4
stdenv: separate all meta-checking code (~200 lines)
...
Only cosmetic changes are done otherwise.
Real refactoring is left for later.
There's a small slow-down on my machine:
$ time nix-env -qa -P >/dev/null
gets from ~2.8 to ~3.5 seconds (negligible change in RAM).
That's most likely caused by sharing less computation between different
mkDerivation calls, and I plan to improve that soon.
2017-07-07 12:16:26 -04:00
Vladimír Čunát
dfc004e69c
lib.lists.mutuallyExclusive: add function
2017-07-07 12:02:29 -04:00
Vladimír Čunát
5afcdc88fa
stdenv: simple refactor to get rid of pos'
...
Suggested by Ericson2314.
2017-07-07 12:02:29 -04:00
Vladimír Čunát
7fdf18e892
stdenv: refactor (no change in semantics)
...
This just moves some expressions around in preparation to further changes.
2017-07-07 12:02:29 -04:00
John Ericson
e57a220f81
stdenv, swift: Use local fd
in is* bash functions for hygiene
2017-07-07 11:40:07 -04:00
John Ericson
a14cf06182
stdenv: Harden hook runners
...
Instead of eval, use a "nameref" to get the name of the array and
iterate with that. Also, make the for-loop parameter a local variable,
too.
2017-07-07 11:35:09 -04:00
Ryan Trinkle
7004641566
Merge pull request #26974 from obsidiansystems/response-file-parsing-speed
...
cc-wrapper: improve response file parsing speed
2017-07-05 16:18:22 -04:00
Vladimír Čunát
5328aac7be
Merge branch 'staging'
...
Comparison looks OK; I'll try some fixes on master directly.
http://hydra.nixos.org/eval/1372577?compare=1372497
2017-07-05 08:55:26 +02:00
Tim Steinbach
d788244423
stdenv / booter: imap -> imap1
...
Fix the usage of imap as a follow-up to #25543
2017-07-04 21:04:13 -04:00
Orivej Desh
2bc7b4e134
cc-wrapper: simplify expandResponseParams parser
...
Import from b2446902fe
2017-07-03 21:51:23 +00:00
Ryan Trinkle
d07f30f628
cc-wrapper: improve response file parsing speed
2017-06-30 15:20:53 -04:00
John Ericson
d61c22341b
Merge accepted cross compilation PRs into staging
2017-06-29 18:07:13 -04:00
John Ericson
ad8d8fb2f5
stdenv: Simplify dependency code
...
This is a bit simpler now, but more importantly it scales better when I
double the number of sorts of dependencies as part of my cross
compilation work.
2017-06-29 17:45:08 -04:00
Daiderd Jordan
d76bc8ed15
Merge pull request #26818 from LnL7/llvm-manpages
...
llvm-packages: get rid of extra build depedencies for manpages
2017-06-26 21:40:55 +02:00
Daiderd Jordan
f65b5365bb
darwin-stdenv: remove llvm/clang manpage overrides from
2017-06-26 20:24:17 +02:00
David McFarland
f81117e324
stdenv: remove leftover 'system' reference
...
the rest were removed in 1dc6f15de9
2017-06-26 09:33:28 -03:00
David McFarland
cdc5cf52c1
cygwin: rebase fixes
...
- use fixupOutputsHook to find libs in all outputs
- don't rebase symlinks
2017-06-26 09:26:10 -03:00
John Ericson
e0492d58a6
cross stdenv adaptor: Disable checkPhase by default
...
Before gcc-cross-wrapper did this unconditionally
2017-06-22 17:52:28 -04:00
John Ericson
594d264205
cross stdenv adaptor: Support --host --build --target across the board
...
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.
rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building
2017-06-22 17:52:28 -04:00
John Ericson
9bfd03eff7
cross stdenv adaptor: Remove ccCross
binutils
attrs and binutils extra buildDepends
...
It now has the correct wrapped tools and nothing else is needed.
2017-06-22 17:52:28 -04:00
John Ericson
459f1c60f5
cc-wrapper: Learn about target prefixes
...
This is first step towards getting rid of gcc-wrapper-cross
2017-06-22 17:52:27 -04:00
John Ericson
c4ba2e3ef6
cc-wrapper: Remove stdenv.is*
for targetPlatform.is*
...
Modify bootstrapping stdenvs to make sure `targetPlatform` also passed.
2017-06-22 17:52:27 -04:00
Daiderd Jordan
9e2aba3572
darwin-stdenv: remove python-sphinx and a bunch of other dependencies from the stdenv
2017-06-01 23:23:56 +02:00
Vladimír Čunát
538aa0f808
Merge branch 'staging' (early part)
...
The comparison looks nice on Hydra.
2017-05-30 16:08:21 +02:00
John Ericson
20e756a093
lib: Consolidate platform configurations (used for crossSystem)
...
This is good for maintenance and education.
2017-05-29 18:56:03 -04:00
Daiderd Jordan
db4ff1d305
Merge pull request #26091 from LnL7/darwin-cf-10.10
...
CoreFounation: 10.9 -> 10.10
2017-05-28 20:38:16 +02:00
Daiderd Jordan
779ec14402
Merge pull request #25921 from dtzWill/feature/llvm-manpages
...
llvm-4/clang-4: Build and install man pages
2017-05-28 20:29:21 +02:00
Daiderd Jordan
077840e528
darwin-stdenv: use darwin.ICU instread of icu
2017-05-27 23:19:49 +02:00
Vladimír Čunát
8004e79415
Merge branch 'master' into staging
2017-05-24 03:24:06 +02:00
John Ericson
eaa509f33a
stdenv: Rename isGNU
to isHurd
as GNU is a userland
...
Elsewhere, things called GNU indeed includes GNU/Linux or GNU/Hurd, but this
predicate was defined excluding Linux regardless of userland.
2017-05-22 13:55:26 -04:00
Frederik Rietdijk
99cfab07b9
Merge remote-tracking branch 'upstream/master' into HEAD
2017-05-22 09:21:40 +02:00
John Ericson
1dc6f15de9
stdenv: define is* predicates with hostPlatform.is*
...
This is a saner default until stdenv's are removed altogether
2017-05-22 00:25:02 -04:00
John Ericson
c5c6606048
lib: Infer libc
field of platform if not specified
...
This is especially useful when not cross compiling. It means we can
remove the `stdenv.isGlibc` predicate too.
Additionally, use this to simplify the logic to choose the
appropriate libiconv derivation.
2017-05-22 00:25:02 -04:00
Daiderd Jordan
1e23b49f46
darwin-stdenv: allow clang-unwrapped.man
2017-05-21 12:40:07 +02:00
John Ericson
7e096024d7
glibc: Fix for cross
2017-05-19 18:44:24 -04:00
Vladimír Čunát
e9aeb55f3b
Merge branch 'master' into staging
2017-05-18 11:24:18 +02:00
John Ericson
bfa8f30499
linux cross stdenv: Use the cross stdenv and nativeBuildInputs
...
This is a cross derivation---it's built on one platform to run on
another---so let's structure it like all the other cross derivations.
2017-05-17 15:33:05 -04:00
John Ericson
5870795cc6
linux cross stdenv: Fix eval errors
...
`pkgsNoParams` was removed by me, but then #25035 was merged using it,
leading to an unbound identifier.
It would be nice to get travis to do build release-cross.nix or
something to catch these things.
2017-05-17 13:42:51 -04:00
Vladimír Čunát
fa5d543770
Merge branch 'master' into staging
2017-05-06 13:24:28 +02:00
Vladimír Čunát
ef5844be6c
stdenv: disable audit-tmpdir on non-Linux for now
...
Without changing any hashes.
2017-05-06 13:19:07 +02:00
Dan Peebles
c217f59344
darwin.make-bootstrap-tools.test: fix build breakage
...
In the extremely unlikely case that our store hash path ends in several
digits (as is the case right now), the Darwin ld will try to interpret
those digits as a version number and barf. To avoid that, we pass in the
SDK version explicitly to stop it from trying to figure it out from iffy
context.
2017-05-05 21:34:28 -04:00