nix lists are not like haskell lists, and tail is an O(n) operation.
This makes recursion using tail less efficient than recursion using
length + elemAt.
Signed-off-by: Shea Levy <shea@shealevy.com>
I'm not wed to the outPath values I chose, other options are probably
valid there too. It would be nice if we could track which file each
merged value came from as well.
Signed-off-by: Shea Levy <shea@shealevy.com>
See #490 discussion.
This reverts commit 1278859d31, reversing
changes made to 0c020c98f9.
Conflicts:
pkgs/desktops/xfce/core/xfce4-session.nix (take master)
pkgs/lib/misc.nix (auto)
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>