| Commit message (Collapse) | Author | Age |
... | |
| | | | | |
|
| | |\| |
| | | | |
| | | | | |
stdenv: Fix doCheck and doInstallCheck logic
|
| | | | |
| | | | |
| | | | |
| | | | | |
It's host != build, not host != target
|
| | |\| |
| | | | |
| | | | | |
stdenv: Force `doCheck` to be false when we are cross compiling
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
compiling
I hope this will be a temporary measure. If there is consensus around
issue #33599, then we can follow an explicit `dontCheck`, but default to
not checking during cross builds when none is given.
|
| | |/ |
|
| | | |
|
| |\ \
| | |/
| |/| |
clang: add lib output
|
| | | |
|
| | | |
|
| |\ \
| | | |
| | | | |
Make cross compilation elegant
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- All deps go on the PATH
- CC and Bintools wrappers with their host != depender's host still get their
setup hooks run.
- Environment hooks get applied to all packages
This isn't so elegent, but eases the transition on a very significant
PR.
|
| | | |
| | | |
| | | |
| | | | |
libgcc.a and similar
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We now have the information to properly determine the role the
cc-wrapper dependency has, by taking advantage of `offset`. No longer
use the soon-to-be-deprecated crossConfig environment variable, the
temp hack used before this change.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4 far-reaching changes: Smaller PATH, New vars, different propagation
logic, and different hook logic
Smaller PATH
------------
`buildInputs` no longer go on the PATH at build time, as they cannot be
run when cross compiling and we don't want to special case. Simply make
a `nativeBuildInput` too if one needs them on the PATH. Fixes #21191.
Many new depedendency variables
-------------------------------
See the stdenv chapter of the nixpkgs manual. I pulled out the existing
documentation of dependency specification into a new section, and added
language for these two (and their propagated equivalents) along side
the others'.
More complex propagation logic
------------------------------
Before a propagated*XXX*Input always acted as if it was specified
directly as a *XXX*Input downstream. That's simple enough, but violates
the intended roles of each sort of dep, which has functional and not
just stylistic consequences.
The new algorithm is detailed in the manual, and ensures everything
ends up in the right place. I tried to give both an informal and formal
description, but I suspect in practice it will not make much sense
until one tries cross compiling, after which it will immediately make
sense as the only sane option.
Simplified hook logic
---------------------
Rather than `envHook` and `crossEnvHook`, whose behavior differs
depending on whether we are cross compiling or not, there is now one
hook per sort (or rather non-propagated and propagated pair of sorts)
of dependency. These new hooks have the same meaning regardless of
cross compilation. See the setup hook section of stdenv chapter of the
Nixpkgs manual for more details.
|
| |\| |
| | | |
| | | | |
binutils: Fix cross, again
|
| | | |
| | | |
| | | |
| | | | |
Binutils is patched so we don't rely on `--rpath-link`.
|
| |\ \ \
| | |/ /
| |/| /
| | |/ |
|
| | |
| | |
| | |
| | | |
/cc #29785. Otherwise we would have to put the lib in, etc.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
stdenvNoCC should not inject any C++ standard library, just as it
doesn't inject any C standard library. stdenv still does, but only
indirectly through stdenv.cc. Wrapped clangs can be simplified now that
they don't need to worry about clobbering CoreFoundation when replacing
the C++ standard library implementation.
This generally-good cleanup should assist with debugging some C++
failures in #26805.
|
| |\ |
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- tracing seems annoying enough
- we get errors for all packages instead of aborting on the first one
- easier to differentiate from unwanted packages (broken, unfree, etc.)
|
| | |
| | |
| | |
| | | |
for some reason we were checking allowUnfreePredicate instead
|
| | | |
|
| | | |
|
| |/ |
|
| |\
| | |
| | | |
stdenv setup: Always use both propagated files
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This continues #23374, which always kept around both attributes, by
always including both propagated files: `propgated-native-build-inputs`
and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still
defined as before, however, so this change should only barely
observable.
This is an incremental step to fully keeping the dependencies separate
in all cases.
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* master: (293 commits)
go_1_9: skip flaky TestServerCancelsReadTimeoutWhenIdle
qsyncthingtray: fix build
qt56.qtwebengine: fix build
stdman: d860212 -> 2017.04.02
jackett: use mono50
hg-git: disable with python3
hg-git: 0.8.5 -> 0.8.10
xfce4-settings: enable parallel building
gcc-snapshot: mark as broken
heaptrack: 2017-02-14 -> 2017-10-30
nixos-container: Modify existing test to cover show-ip command
nixos-container: Make show-ip work together with ipv4 + netmask
linux-copperhead: 4.13.12.a -> 4.13.13.a
matterbridge: 1.1.0 -> 1.4.1
nixos/nghttpx: add module for the nghttpx proxy server (#31680)
mattermost: 4.3.0 -> 4.4.0
breakpad: delete
simp_le: 0.2.0 -> 0.6.1
certbot: 0.11.1 -> 0.19.0
afl: 2.51b -> 2.52b
...
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |/
| | |/| |
stdenv setup: Run setup hooks and other processing after accumulating deps
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I find the separation of concerns, accumulating, then processing, easier
to follow. Also, with my yet-to-be-merged cross work, the accumulation
part will become more complex.
|
| | | | |
|
| |\| |
| | | |
| | | | |
bfd, opcodes: Init separate derivations for binutils libraries
|
| | |/ |
|
| | | |
|
| |/
| |
| |
| | |
This is the first step to getting a sandboxable nixpkgs
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
directly
One should do this when needed executables at run time. It is more
honest and cross-friendly than refering to binutils directly, if one
neeeds the default binary tools for the target platform, rather than
binutils in particular.
|
| | |
|
| |
| |
| |
| |
| |
| | |
This requires some small changes in the stdenv, then working around the
weird choice LLVM made to hardcode @rpath in its install name, and then
lets us remove a ton of annoying workaround hacks in many of our Go
packages. With any luck this will mean less hackery going forward.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
cc-wrapper may wrap a cc-compiler, but it doesn't need one to build
itself. (c.f. expand-response-params is a separate derivation.) This
helps avoid cycles on the cross stuff, in addition to removing a
useless dependency edge.
I could have been super careful with overrides in the stdenv to avoid
the mass rebuild, but I don't think it's worth it.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Why 6? It seems a decently high number, giving us room for more degrees
of debugging before the `set -x` sledgehammer without incurring a
mass-rebuild.
|
| | | |
|