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>
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.
- support older versions (which are used by other distributions)
- give utilyt scripts nicer names
- pg_db_postgis_enable: support loading comments
svn path=/nixpkgs/trunk/; revision=21992
eqStrict now to return false when a b have different types. Passing
string and {} to eqStrict caused coercion failures when running tests
previously
svn path=/nixpkgs/trunk/; revision=18539
- Remove handleOptionSets which used option declarations & definitions
in the same set.
- Add a traversal of modules where "config" and "options" are traverse at
the same time.
This allow to have accruate error messages with the incriminated files
playing a role in the error.
This system add a new restriction compare to the previous system:
- A module with no structure (option definitions & option declarations
& require) should not contain any option declarations. If such module
exists you must convert it to the following form:
{ imports = <content of the require attribute>;
options = <set of option declarations>;
config = <set of option definitions>;
}
svn path=/nixpkgs/trunk/; revision=17163
- well named,
- capable to handle the proposal of Eelco Dolstra { imports= [..]; options = {}; config = {}; } in addition to the current { require = [..]; .. } syntax.
svn path=/nixpkgs/trunk/; revision=16192
in the Nix expression evaluator (namely that comparison of attribute
sets works properly).
* Removed some redundant parentheses in builder-defs.
svn path=/nixpkgs/trunk/; revision=15551
* Added a function mapAttrsRecursive, which is like mapAttrs, but
recursively applies itself to attribute sets.
* Commented and cleaned up some functions.
svn path=/nixpkgs/trunk/; revision=14495
mess. Also cleaned up some functions:
- foldl appeared broken (it recursively called fold).
- Renamed logicalAND/logicalOR to and/or.
- Removed listOfListsToAttrs, eqStrings: obsolete.
- Removed isInList, which does the same thing as elem.
- stringToCharacters: don't return a "" at the end of the list.
- Renamed concatList to concat, as concatList (singular) is a
misnomer: it takes two lists. Likewise, renamed mergeAttr to
mergeAttrs.
misc.nix still contains a lot of stuff that should be refactored and
moved to other files.
svn path=/nixpkgs/trunk/; revision=14013