Since we're just calling derivation again, drvAttrs is exactly what we
want to pass, and we can get rid of the complicated "drop" logic. As a
bonus, this actually makes it correct, since before "drop" removed the
attribute named passthru but not actually the attributes added to the
top-level attrset via passthru.
Signed-off-by: Shea Levy <shea@shealevy.com>
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>
This is for consistency with terminology in stdenv (and the terms
"hostDrv" and "buildDrv" are not very intuitive, even if they're
consistent with GNU terminology).
derivation evaluate inside the tryEval. This catches cases such as
aufs2-util, which fails due to an assertion in its dependency aufs2.
* Explicitly blacklist "xbursttools" because it gives some
evaluation error in cross-OpenSSL. No idea why, probably due to
some pass-through attribute.
svn path=/nixpkgs/trunk/; revision=23247
`buildDrv' attribute gets added to every derivation in
`makeStdenvCross'. So filter out those attributes. But the real
question is why makeStdenvCross is applied when I'm not doing a
cross compilation.
svn path=/nixpkgs/trunk/; revision=19862