With multiple outputs, adding attributes to a derivation without
changing the {drv,out}Path is no longer as trivial as simply using the
`//' operator, as we usually want to add the attribute to _each_ output,
and even if we only care about one that one output can be reached via
multiple paths.
For stdenv.mkDerivation, we already had code in place to add passthru
and meta attributes to derivations. This commit simply factors part of
that code out into a lib function addPassthru, which takes a derivation
and an attribute set and appends the attribute set to each output of the
derivation.
Signed-off-by: Shea Levy <shea@shealevy.com>
First, pass in `self' again so that overriding works properly (thanks
for pointing that out, @edolstra)
Second, instead of having linuxPackages*.kernel mean something different
inside the set and out, add a new attribute linuxPackages*.kernelDev,
which for the generic kernel is simply linuxPackages*.kernel but for the
manual-config kernel is the `dev' output (which has the build tree,
source tree, etc.)
The second change required trivial modifications in a bunch of
expressions, I verified that all of the linuxPackages* sets defined in
all-packages.nix have the same drv paths before and after the change.
Signed-off-by: Shea Levy <shea@shealevy.com>
I'm not entirely sure what the appropriate license attribute for this
package is. The license [1] says:
| 2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms of
| Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or
| FreeBSD operating systems, or other operating systems derived from
| the source code to these operating systems, may be copied and
| redistributed, provided that the binary files thereof are not
| modified in any way (except for unzipping of compressed files).
It sounds to me like this gives NixOS the right to re-distribute the
files (because we don't modify them). The 'proprietary' license sort-of
fits that. On the other hand, we seem to assume that proprietary
software cannot be redistributed, which doesn't apply here.
[1] http://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us
they need an older version of test-framework
using jailbreak didn't work in this case so for now, disabling tests
is the easiest solution until upstream upgrades its test-framework