nixpkgs/pkgs
John Ericson 7f3ca3e21a stdenv: Fix handling of dependencies and hooks
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.
2017-12-30 22:04:21 -05:00
..
applications kmime, colord-kde: ki18n should be *run*-time dependency 2017-12-29 17:20:20 -05:00
build-support bintools-wrapper: Define fallback default emulation 2017-12-29 17:32:28 -05:00
common-updater
data Merge pull request #32745 from davidak/elementary-xfce 2017-12-18 16:13:49 +00:00
desktops xfdesktop: fix #12832 GTK 2.24.31 regression 2017-12-18 18:17:51 +00:00
development boost: Clean, reducing duplication 2017-12-30 19:17:53 -05:00
games scummvm: fix eval 2017-12-18 15:44:06 +00:00
misc vim-rhubarb: init at 2017-06-28 2017-12-17 17:45:57 +01:00
os-specific Merge branch 'mingw32-w64-fix' into ericson2314-cross-base 2017-12-29 15:46:02 -05:00
servers uchiwa: 0.26.3 -> 1.1.0 2017-12-18 14:00:50 +08:00
shells nix-bash-completions: lazy load aware install 2017-12-10 14:07:13 +00:00
stdenv stdenv: Fix handling of dependencies and hooks 2017-12-30 22:04:21 -05:00
test Add clang multilib variants (x64_64-only, 64/32bit), basic multilib tests 2017-12-05 07:17:14 -06:00
tools kmime, colord-kde: ki18n should be *run*-time dependency 2017-12-29 17:20:20 -05:00
top-level top-level: Splice in more package sets for new types of deps 2017-12-30 22:04:20 -05:00