Commit graph

21 commits

Author SHA1 Message Date
Shea Levy
6b0e94a516 overrideDerivation: Re-attatch passthru and meta to all outputs
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-03 09:12:55 -04:00
Shea Levy
c2b1ca0296 Revert "Revert "overrideDerivation: Simplify""
Now that `drv.passthru' actually is meaningful, this works.

This reverts commit d21bfddc57.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-03 09:09:58 -04:00
Eelco Dolstra
d21bfddc57 Revert "overrideDerivation: Simplify"
This reverts commit 6640000cb7, which
caused passthru attributes not to be passed correctly after calling
overrideDerivation.  E.g. in the evaluation of the Nix jobset:

at `deb_ubuntu1004i386' [officialRelease = false, nix = ...]:
attribute `fullName' missing
2013-05-03 11:50:39 +02:00
Shea Levy
6640000cb7 overrideDerivation: Simplify
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>
2013-04-11 17:02:19 -04:00
Shea Levy
98860f429d Add the addPassthru library function
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>
2013-03-24 08:29:10 -04:00
Eelco Dolstra
5be0a9acd7 Rename hostDrv -> crossDrv, buildDrv -> nativeDrv
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).
2012-12-28 19:08:19 +01:00
Ludovic Courtès
5cd82587aa overrideDerivation: Check whether hostDrv' and buildDrv' are present.
svn path=/nixpkgs/trunk/; revision=31727
2012-01-19 22:29:26 +00:00
Ludovic Courtès
08439eb00a overrideDerivation: Override hostDrv' and buildDrv' too.
svn path=/nixpkgs/trunk/; revision=31706
2012-01-19 16:44:17 +00:00
Eelco Dolstra
7fcf771c2a * Handle the attributes added by the multiple outputs branch.
svn path=/nixpkgs/trunk/; revision=31278
2012-01-04 15:06:21 +00:00
Yury G. Kudryashov
e76aee9d2f Make it possible to call 'callPackage function'
svn path=/nixpkgs/trunk/; revision=25657
2011-01-21 08:25:06 +00:00
Yury G. Kudryashov
9e4202d273 make makeOverridable noop for functions like a: b: c(a, b)
svn path=/nixpkgs/trunk/; revision=23262
2010-08-19 22:52:53 +00:00
Eelco Dolstra
1ac9dcd24d * Fix eval-release.nix by testing whether all attributes of a
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
2010-08-19 12:37:10 +00:00
Eelco Dolstra
fd268b4852 * Add callPackage etc.
svn path=/nixpkgs/trunk/; revision=22876
2010-08-02 13:57:57 +00:00
Michael Raskin
aadb898a0b Implementing a fix allowing deepOverride without changing dependency-tree-leaf packages
svn path=/nixpkgs/trunk/; revision=22533
2010-07-08 15:31:59 +00:00
Michael Raskin
ccc497f80d Make WebKit use libsoup 2.31.2 via deepOverride. Edit a few packages that were overridable but did not allow extra arguments. Remove a catch with deepOverride that pkgs.lib had this attribute in a different sense.
svn path=/nixpkgs/trunk/; revision=22529
2010-07-08 13:25:52 +00:00
Marc Weber
32edcce80b Build a package with debugging information so that you can run it within gdb or run valgrind on it.
Example: xmessageDebug = misc.debugVersion xorg.xmessage

svn path=/nixpkgs/trunk/; revision=21945
2010-05-23 15:54:10 +00:00
Eelco Dolstra
7dffd96978 * Allow `overrideDerivation' to work on derivations to which
`makeOverridable' has been applied (!).  Ugly.

svn path=/nixpkgs/trunk/; revision=20591
2010-03-12 00:01:56 +00:00
Eelco Dolstra
a3111812ad * In overrideDerivation, filter out the `type' attribute.
svn path=/nixpkgs/trunk/; revision=20487
2010-03-09 11:57:05 +00:00
Eelco Dolstra
f1713f192d * Fix the VM builds. They were broken because a `hostDrv' and
`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
2010-02-08 13:35:38 +00:00
Eelco Dolstra
81c5c44ddb * Move makeOverridable out of all-packages.nix.
svn path=/nixpkgs/trunk/; revision=18469
2009-11-19 17:30:21 +00:00
Eelco Dolstra
519e7870b6 * Move `modifyDerivation' from build-support/vm to lib and rename it
to `overrideDerivation'.

svn path=/nixpkgs/trunk/; revision=18466
2009-11-19 16:43:58 +00:00