Commit Graph

144 Commits

Author SHA1 Message Date
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
Eelco Dolstra
f9b9844949 * Doh.
svn path=/nixpkgs/trunk/; revision=14014
2009-02-09 17:03:18 +00:00
Eelco Dolstra
599015e8b0 * Split lib/default.nix into several files, as it had become a big
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
2009-02-09 16:51:03 +00:00
Eelco Dolstra
6ed4aa7ecb * Qt updated to 4.4.3 in preparation of upgrading KDE to 4.2.
svn path=/nixpkgs/trunk/; revision=13974
2009-02-03 16:32:56 +00:00
Nicolas Pierron
74630be169 Replace addLocation by addErrorContext.
pkgs.lib.addErrorContext add a new line inside the stack trace if this is supported by your nix version.

svn path=/nixpkgs/trunk/; revision=13886
2009-01-27 14:46:41 +00:00
Nicolas Pierron
aa27e34a2e Remove python reference from comment.
svn path=/nixpkgs/trunk/; revision=13883
2009-01-27 14:08:49 +00:00
Nicolas Pierron
a130392234 Suggest nice/readable example first for composableDerivation.
svn path=/nixpkgs/trunk/; revision=13882
2009-01-27 14:01:00 +00:00
Nicolas Pierron
c333a6ab6b Add missing arguments to the "notHandle" functions of mergeOptionSets and filterOptionSets.
svn path=/nixpkgs/trunk/; revision=13872
2009-01-25 22:37:10 +00:00
Nicolas Pierron
74df154f73 Fix previous commit.
svn path=/nixpkgs/trunk/; revision=13870
2009-01-25 22:25:38 +00:00
Nicolas Pierron
c2be87e132 Remove support for merge function with name argument.
svn path=/nixpkgs/trunk/; revision=13869
2009-01-25 21:23:47 +00:00
Nicolas Pierron
c1b9946c28 Name argument of option's merge functions are now obsolete.
svn path=/nixpkgs/trunk/; revision=13842
2009-01-25 00:31:43 +00:00
Nicolas Pierron
daa6f9c7ef Add a common merge function. (mergeOneOption)
This merge function allow only one definition for an option.

svn path=/nixpkgs/trunk/; revision=13841
2009-01-25 00:31:38 +00:00
Nicolas Pierron
9581664fb9 Add the "notdef" value when no else-part is defined.
Remove the "notdef" values from the user-defined values.

svn path=/nixpkgs/trunk/; revision=13840
2009-01-25 00:31:33 +00:00
Nicolas Pierron
57f66db54c Remove extra arguments from uniqFlatten.
Clean-up fixOptionSetsFun.

svn path=/nixpkgs/trunk/; revision=13839
2009-01-25 00:31:29 +00:00
Nicolas Pierron
13d5c8923d factor mergeOptionSets and filterOptionSets into the function handleOptionSets.
svn path=/nixpkgs/trunk/; revision=13838
2009-01-25 00:31:23 +00:00
Michael Raskin
c87887ddd0 Oops. A typo fix
svn path=/nixpkgs/trunk/; revision=13727
2009-01-08 23:04:18 +00:00
Michael Raskin
46fec9e4c9 Add a (failure-prone) last-chance string merger
svn path=/nixpkgs/trunk/; revision=13726
2009-01-08 23:02:44 +00:00
Marc Weber
5638574907 fixes for previous commit
svn path=/nixpkgs/trunk/; revision=13662
2008-12-20 02:15:26 +00:00
Marc Weber
e996113be7 removed mkDerivationByConfiguration, using composableDerivation instead
qgis, vim_configurable both work now

svn path=/nixpkgs/trunk/; revision=13661
2008-12-20 01:20:35 +00:00
Nicolas Pierron
071c62a942 Rewrite uniqFlattenAttr to handle any type of elements with associated keys.
Keys are introduced because manipulated sets cannot be compared safely.

svn path=/nixpkgs/trunk/; revision=13574
2008-12-03 18:56:00 +00:00
Marc Weber
a7e33ec60c updates: istanbul starts without errors. But no window appears.
svn path=/nixpkgs/trunk/; revision=13554
2008-12-02 12:28:45 +00:00
Marc Weber
9e7846d214 added Haskell's foldl
svn path=/nixpkgs/trunk/; revision=13553
2008-12-02 12:28:21 +00:00
Marc Weber
d8e1f6c976 adding lib function composableDerivation
providing easy setups of flags and configurations for derivations.
configuration is passed via passthru automatically,
additional names can be merged with final attrs in an automatic sensible way
even supporting fix.
fun and funMerge idea by Michael Raskin

svn path=/nixpkgs/trunk/; revision=13546
2008-12-02 12:26:53 +00:00
Marc Weber
429df4f864 added prepareDerivationArgs
svn path=/nixpkgs/trunk/; revision=13545
2008-12-02 12:26:43 +00:00
Marc Weber
570a103136 adding mergeAttrsByFunc function - its easiy to customize how a name should be merged - the merge function is passed by the attr set itself (and can be overridden/ extended this way) This code can probably be shortened using zip and the like as proposed by Nicolas Pierron (mailinglist)
svn path=/nixpkgs/trunk/; revision=13544
2008-12-02 12:26:36 +00:00
Marc Weber
55976c6f8d depreceating functions which have been sud by me only replacements are in the following commits.. I still have to remove and adopt the code using them
svn path=/nixpkgs/trunk/; revision=13543
2008-12-02 12:26:28 +00:00
Marc Weber
bd0b75fe28 added mergeAttr and concatList functions giving // and ++ a name
svn path=/nixpkgs/trunk/; revision=13542
2008-12-02 12:26:20 +00:00
Marc Weber
1f69d4d1eb enhancing whatis trace function
svn path=/nixpkgs/trunk/; revision=13541
2008-12-02 12:26:12 +00:00
Marc Weber
01fc783e7f added debug functions tracing function arguments and result
svn path=/nixpkgs/trunk/; revision=13540
2008-12-02 12:26:05 +00:00
Nicolas Pierron
53e6c77aca Fix previous commit.
svn path=/nixpkgs/trunk/; revision=13373
2008-11-23 01:23:32 +00:00
Nicolas Pierron
249a3a314f Add: Handle a way to factor conditions.
mkIf config.foo.enable {
  require = [ .. ];

  environment = {
    // infer the else part.
    extraPackages = [pkgs.foo];
    etc = mkThenElse {
      thenPart = { .. };
      elsePart = { .. };
    };
  };
}

Fix: UniqFlattenAttr compare configuration without the "require" attribute.

svn path=/nixpkgs/trunk/; revision=13372
2008-11-23 00:19:18 +00:00
Nicolas Pierron
0f2bd6c305 mergeDefaultOption: handle boolean values.
svn path=/nixpkgs/trunk/; revision=13371
2008-11-23 00:19:12 +00:00
Nicolas Pierron
b62298f7c7 Add a common pattern used in jobs definition.
svn path=/nixpkgs/trunk/; revision=13370
2008-11-23 00:19:06 +00:00
Nicolas Pierron
34f916700d Add mergeStringOption and factor mergeSomethingOption by introducing mergeTypedOption.
svn path=/nixpkgs/trunk/; revision=13310
2008-11-16 19:23:00 +00:00
Nicolas Pierron
b196bab378 Remove obsolete functions.
svn path=/nixpkgs/trunk/; revision=13309
2008-11-16 19:22:55 +00:00
Nicolas Pierron
08b583682a Handle apply attribute for each option declared with MkOption.
This is similar to the new-proposal in upstart-jobs except that the default value is also processed with this function. (the existing merge function acts only on extra values).

svn path=/nixpkgs/trunk/; revision=13308
2008-11-16 19:22:47 +00:00
Marc Weber
2bf82b4470 added examples for composedArgsAndFun, introducing setAttrMerge
svn path=/nixpkgs/trunk/; revision=13193
2008-11-04 21:40:51 +00:00
Michael Raskin
c5363217ad meta.function -> passthru.function, not killing other contents of passthru
svn path=/nixpkgs/trunk/; revision=13190
2008-11-04 21:24:10 +00:00
Marc Weber
1bdbe847f7 removed finalReference not beeing used anywhere
svn path=/nixpkgs/trunk/; revision=13137
2008-10-28 14:20:52 +00:00
Marc Weber
a9b19788fb simplified isOption reusing typeOf
svn path=/nixpkgs/trunk/; revision=13119
2008-10-26 17:44:23 +00:00
Marc Weber
892db3bb8c update bleeding edge repo management
it now figures out the dist name from the url and the revision is added to the url
This way a new version doesn't override the old one and you can keep multiple dist tar.gz files

svn path=/nixpkgs/trunk/; revision=13065
2008-10-14 14:01:00 +00:00
Michael Raskin
29149e5385 The even more incredibly verbose debugging machine...
svn path=/nixpkgs/trunk/; revision=12758
2008-08-27 21:23:49 +00:00
Michael Raskin
c406fcf194 Some diagnostics for NixOS manual helper
svn path=/nixpkgs/trunk/; revision=12756
2008-08-27 21:19:03 +00:00
Nicolas Pierron
042bc846df Handle new configuration file argument notation:
{pkgs, config, ...}:

svn path=/nixpkgs/trunk/; revision=12753
2008-08-27 17:54:24 +00:00
Nicolas Pierron
ae163f596e Replace "finalReference" prefix by "fix".
svn path=/nixpkgs/trunk/; revision=12740
2008-08-27 13:58:36 +00:00
Michael Raskin
d7acaeb096 Refactorings and removing hard-coded assumptions
svn path=/nixpkgs/trunk/; revision=12668
2008-08-20 11:20:32 +00:00
Michael Raskin
a921f752b8 Saner tracing of booleans
svn path=/nixpkgs/trunk/; revision=12667
2008-08-20 08:41:53 +00:00
Michael Raskin
ff0d85fdc8 Added traceMarked; it is traceWhatis with the extra (first) argument to distinguish the output of that exat statement.
svn path=/nixpkgs/trunk/; revision=12666
2008-08-20 08:21:54 +00:00
Michael Raskin
a8da119da4 Silly mistake fixed
svn path=/nixpkgs/trunk/; revision=12665
2008-08-20 07:17:55 +00:00