Nicolas Pierron
c49dddb1ab
Substitute fixOptionSetsFun by multiple functions which are:
...
- 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
2009-07-06 16:20:05 +00:00
Nicolas Pierron
a89f3bca50
allow the argument set of modules to be defined outside of option.nix file.
...
svn path=/nixpkgs/trunk/; revision=16191
2009-07-06 16:20:00 +00:00
Nicolas Pierron
736523d992
cleanSource: Avoid copying git files.
...
svn path=/nixpkgs/trunk/; revision=16190
2009-07-06 16:19:52 +00:00
Eelco Dolstra
0281a7deb8
svn path=/nixpkgs/trunk/; revision=16131
2009-07-02 08:58:30 +00:00
Ludovic Courtès
7b7ed8f1af
Add `stdenv.lib.maintainers'.
...
Suggested by Eelco Dolstra.
svn path=/nixpkgs/trunk/; revision=16126
2009-07-01 15:38:55 +00:00
Eelco Dolstra
a440fba8e3
* Refactoring: move the types out of options.nix, which is much too
...
big. Also, they could be useful beyond option handling.
svn path=/nixpkgs/trunk/; revision=16055
2009-06-26 13:53:31 +00:00
Nicolas Pierron
dd50af4923
Add a description of values which cause a bad type the failure.
...
svn path=/nixpkgs/trunk/; revision=16054
2009-06-26 12:42:00 +00:00
Nicolas Pierron
6c0912ee9c
- partition based on the content of the properties. (rmProperties * isOption)
...
- Do not eval properties on option declarations.
-> mkIf does not mask option declarations if the condition is evaluated to false.
svn path=/nixpkgs/trunk/; revision=16043
2009-06-25 21:25:33 +00:00
Eelco Dolstra
36b4a9b3f3
* Rename types.enable -> types.bool.
...
svn path=/nixpkgs/trunk/; revision=15955
2009-06-14 11:06:16 +00:00
Nicolas Pierron
6f0b3b683e
option types: Fix the generated template name used for the documentation.
...
svn path=/nixpkgs/trunk/; revision=15938
2009-06-11 16:03:43 +00:00
Nicolas Pierron
8f8971144f
optionAttrSetToDocList: Re-implement with the collect function.
...
Use the option name computed by "handleOptionSets" instead of
computing it a second time. Handle option containing option sets.
svn path=/nixpkgs/trunk/; revision=15937
2009-06-11 16:03:38 +00:00
Nicolas Pierron
0f6a67814a
Add 'collect' a function which recursively collects all attribute values verifying a predicate.
...
svn path=/nixpkgs/trunk/; revision=15936
2009-06-11 16:03:33 +00:00
Nicolas Pierron
b32002c3a3
Add support for a new module syntax.
...
Introduce optional argument to optionSet options.
svn path=/nixpkgs/trunk/; revision=15935
2009-06-11 16:03:26 +00:00
Eelco Dolstra
6408a6a6fd
* Trivial function to create a singleton list. Can reduce unnecessary
...
indentation in expressions like
environent.extraJobs =
[ { name = "foo";
job =
''
bla bla
'';
}
];
which becomes
environent.extraJobs = singleton
{ name = "foo";
job =
''
bla bla
'';
};
svn path=/nixpkgs/trunk/; revision=15892
2009-06-08 22:42:42 +00:00
Eelco Dolstra
ac7eb7d25a
* nix-env gets confused when an attrset contains an attribute named
...
"type".
svn path=/nixpkgs/trunk/; revision=15781
2009-05-29 09:47:55 +00:00
Nicolas Pierron
49b4942f0e
Add option types.
...
svn path=/nixpkgs/trunk/; revision=15749
2009-05-27 20:25:17 +00:00
Eelco Dolstra
ded055c896
* Remove an attrset comparison.
...
svn path=/nixpkgs/trunk/; revision=15736
2009-05-26 16:25:59 +00:00
Eelco Dolstra
8b52e84e1a
* Fix a comparison of function values (disallowed in the Nix trunk).
...
Thanks to Nicolas.
svn path=/nixpkgs/trunk/; revision=15734
2009-05-26 16:00:30 +00:00
Eelco Dolstra
1635ec4bdf
* Put strings-with-deps in lib.
...
svn path=/nixpkgs/trunk/; revision=15729
2009-05-25 18:22:19 +00:00
Eelco Dolstra
8d7bf1a11e
* Typo.
...
svn path=/nixpkgs/trunk/; revision=15699
2009-05-24 18:12:39 +00:00
Marc Weber
ed69e9ed94
getAttr can call builtins.getAttr
...
svn path=/nixpkgs/trunk/; revision=15694
2009-05-24 10:57:49 +00:00
Marc Weber
3157bb1098
removed all __primops from nixpkgs
...
svn path=/nixpkgs/trunk/; revision=15693
2009-05-24 10:57:46 +00:00
Marc Weber
f7f938a1d1
big breaking change: renaming lib.getAttr to lib.attrByPath
...
getAttr was ambiguous. It's also a builtin function
fix
svn path=/nixpkgs/trunk/; revision=15692
2009-05-24 10:57:41 +00:00
Marc Weber
ea3688db98
added documentation illustrating behaviour of the new textClosureMap
...
implementation
svn path=/nixpkgs/trunk/; revision=15663
2009-05-19 23:26:08 +00:00
Marc Weber
52647ea3b0
FullDepEntry -> fullDepEntry, PackEntry -> packEntry
...
svn path=/nixpkgs/trunk/; revision=15662
2009-05-19 23:25:58 +00:00
Nicolas Pierron
1500252e6f
* options.nix:
...
Remove attribute set comparison. Imported attribute sets
are traverse assuming that no duplicate could exists.
svn path=/nixpkgs/trunk/; revision=15659
2009-05-19 23:07:07 +00:00
Nicolas Pierron
47679b20af
Remove unused feature which allowed to add properties on the required elements.
...
svn path=/nixpkgs/trunk/; revision=15658
2009-05-19 23:07:02 +00:00
Nicolas Pierron
36dcabd7be
Add support for require attribute with a filename as argument.
...
svn path=/nixpkgs/trunk/; revision=15657
2009-05-19 23:06:56 +00:00
Eelco Dolstra
b9d560d30e
* Get rid of __primop.
...
* newMergeOptionSets -> mergeOptionSets.
svn path=/nixpkgs/trunk/; revision=15652
2009-05-19 14:54:41 +00:00
Eelco Dolstra
abf71d5352
* textClosure: don't use uniqList, and don't rely on buggy behaviour
...
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
2009-05-11 15:21:42 +00:00
Eelco Dolstra
2f33cdec38
* Die tabs die. Also, renamed FullDepEntry and PackEntry to
...
fullDepEntry and packEntry for consistency.
svn path=/nixpkgs/trunk/; revision=15549
2009-05-11 11:55:05 +00:00
Marc Weber
8cc8965379
enhance escapeShellArg funtion. It should be pretty correct now
...
svn path=/nixpkgs/trunk/; revision=15475
2009-05-06 16:06:41 +00:00
Eelco Dolstra
671d53dd35
* Allow the user to install stdenv (nix-env -i stdenv) and get all the
...
packages in the stdenv as propagated user environment packages.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15300
2009-04-25 14:08:29 +00:00
Eelco Dolstra
730f8c2b4d
* Added a function to make Unix-style search paths. This generalises
...
`makeLibraryPath'.
svn path=/nixpkgs/trunk/; revision=14884
2009-04-05 18:05:11 +00:00
Eelco Dolstra
1f9740e01c
* Added some regression tests for lib that I wrote a while ago but
...
didn't commit. Also, run the tests when making a Nixpkgs tarball.
svn path=/nixpkgs/trunk/; revision=14802
2009-03-31 13:03:50 +00:00
Eelco Dolstra
2405d87230
* Move some functions for manipulating meta and name attributes out of
...
all-packages.nix and into lib.
svn path=/nixpkgs/trunk/; revision=14778
2009-03-30 13:22:19 +00:00
Eelco Dolstra
6b24d7bebe
* mapAttrsRecursiveCond', which is like
mapAttrsRecursive' but takes
...
a predicate to tell it whether to recursive into a given attribute
set.
svn path=/nixpkgs/trunk/; revision=14776
2009-03-30 13:19:57 +00:00
Marc Weber
e06491168b
tidied up pkgs/lib/debug.nix
...
more consistent naming:
debugVal -> traceVal
debugXMLVal -> traceXMLVal
whatis -> showVal
traceWhatis -> traceShowVal
traceMarked -> traceShowValMarked
removed some parenthesis
svn path=/nixpkgs/trunk/; revision=14701
2009-03-25 13:48:55 +00:00
Nicolas Pierron
f624a70ee7
Fix mkThenElse and mkAlways evaluation.
...
svn path=/nixpkgs/trunk/; revision=14528
2009-03-14 07:20:31 +00:00
Eelco Dolstra
b53ef57554
* Moved mapAttrs to attrsets.nix.
...
* 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
2009-03-10 15:18:38 +00:00
Marc Weber
08e1c08bc7
moved debugging functions into lib module "debug"
...
svn path=/nixpkgs/trunk/; revision=14430
2009-03-06 23:21:35 +00:00
Marc Weber
49b115132d
add error context to all top level attr names of all-packages.nix
...
svn path=/nixpkgs/trunk/; revision=14429
2009-03-06 23:21:31 +00:00
Marc Weber
b56ed35851
replacing applyAndFun by lib.defaultOverridableDelayableArgs
...
applyAndFun has a bug resulting in the same arg beeing added more than
once when using a concatenating merge function for the attr set.
I've tried giving the function a name "overridableDelayableArgs" which
resembles its usage much more.
important refactoring:
applyAndFun had .fun and .funMerge only when passing the merge
function lib.mergeOrApply
composableDerivation {
initial = {
...
};
}
to
overridableDelayableArgs has always .replace and .merge
composableDerivation {} {
...
}
svn path=/nixpkgs/trunk/; revision=14428
2009-03-06 23:21:28 +00:00
Marc Weber
51289a41b0
adjust packages to overridableDelayableArgs
...
svn path=/nixpkgs/trunk/; revision=14427
2009-03-06 23:21:24 +00:00
Marc Weber
f1183f33e3
added simple lib test case for overridableDelayableArgs
...
svn path=/nixpkgs/trunk/; revision=14426
2009-03-06 23:21:17 +00:00
Marc Weber
5ddfa7ed64
moved catAttrs, attrVals into attrsets.nix, adding attrValues
...
svn path=/nixpkgs/trunk/; revision=14425
2009-03-06 23:21:14 +00:00
Marc Weber
be3a9f2346
added overridableDelayableArgs replacing applyAndFun
...
svn path=/nixpkgs/trunk/; revision=14424
2009-03-06 23:21:12 +00:00
Marc Weber
e917282535
added eqStrict (deep, strict test for equality)
...
it can replace eqList and can compare attrs as well
svn path=/nixpkgs/trunk/; revision=14423
2009-03-06 23:21:09 +00:00
Nicolas Pierron
e18a10d0ae
* Refactor mkIf to extract the concept of properties.
...
Properties can be delay on any attribute set and have
functions which are used to define the semantic of each
property.
* Introduce the mkOverride property.
svn path=/nixpkgs/trunk/; revision=14285
2009-02-28 18:21:25 +00:00
Michael Raskin
8bf73286a4
add eqStrings back..
...
svn path=/nixpkgs/trunk/; revision=14228
2009-02-24 16:19:08 +00:00