This patch introduces mergeAttrsByVersion to lib.
In some cases it does make sense to keep "experimental" and "older" versions of
the same package in one file because it follows the "do it once only" principle.
Very often many versions share their build instructions - so even though I
understand Eelcos opinion that different versions should be put into their own
.nix files - its my feeling telling me that this is fastest for most cases.
I agree with Eelco that if tweaks for individual versions become too much they
should be split into individual files.
See comments above mergeAttrsByVersion learn about its usage.
Signed-off-by: Marc Weber <marco-oweber@gmx.de>
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
This breaks NixOS, and I don't actually need it, so someone who needs it
can bring this back without breaking NixOS :)
This reverts commit 2742087bdd.
Signed-off-by: Shea Levy <shea@shealevy.com>
Most of the stuff was duplicated (headers, the core library).
The new solution makes the _qt4 package use the _glib one,
because it depended on glib through cairo anyway
(and _glib bindings themselves are just ~350kB).
This also fixes a problem that mergeAttrsByFuncDefaultsClean
didn't merge patches, which affected dbus.libs.
- rename to zc_builout* while keeping alias back to buildout (opening ticket
later to remove it)
- meta: adding zpl licenses
- meta: adding me maintainer
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>
x-updates is supposed to merge after stdenv-updates, so let's test it
Conflicts:
pkgs/development/libraries/gtk+/2.x.nix (both updated, taking newer)
pkgs/development/libraries/mesa/default.nix (taking nativeBuildInputs)
This is like types.string, but values are merged by putting a newline
in between them. This is mostly useful for configuration file
options, where we don't want values accidentally ending up on the same
line.
Note that almost all options with string type in NixOS should either
be unmergable (i.e. should be marked with ‘types.uniq’) or should
actually be of type ‘lines’. So it might make sense to remove the
merge function for the ‘string’ type eventually.
Might come in handy to actually know when things going to break.
In case you're wondering: Yes, "aszlig" is the name everyone uses in real life
(even my family uses it) and is my pending stage name (not _yet_ officially).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>