Commit graph

319 commits

Author SHA1 Message Date
Eelco Dolstra d7d80e8fdc * Typos.
svn path=/nixpkgs/trunk/; revision=17182
2009-09-16 11:37:07 +00:00
Nicolas Pierron 0c16b00cbd Replace the traversal of modules:
- 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
2009-09-15 13:36:30 +00:00
Nicolas Pierron 37ce2ca949 Handles cases where developers ""cannot"" put their initial modules in
other files.

Imports of imported attribute set are not working anymore because this
feature is hard to maintain and because this a potential source of error.

Imports are only accepted inside named modules where the system has some
control over mutual inclusion.

svn path=/nixpkgs/trunk/; revision=17144
2009-09-15 00:21:39 +00:00
Michael Raskin b98b622ef0 Fix NixOS evaluation. As I understand, configuration gets added to the list of modules as an attrSet (not as a file name). Just add a trivial check to passthrough such modules.
svn path=/nixpkgs/trunk/; revision=17116
2009-09-14 20:10:41 +00:00
Nicolas Pierron 1557cfd0c6 split moduleClosure in two parts:
* unifyModuleSyntax: handle all kind of module syntax to convert them into
  a module which has the following form:

  {
    imports = [ <paths> ];
    options = <attribute set of options declarations>;
    config = <attribute set (with properties) of option definitions>;
  }

  This function assume that there is at most one imported attribute set which
  correspond to option declarations.

* moduleClosure: handle a list of module's paths which are converted with
  the previous function to do the closure of the imports with the function
  lazyGenericClosure (which does the same as builtins.genericClosure except
  that it doesn't evaluate the content of modules).  The "key" and "paths"
  attributes are left to be used as debug information in futur
  implementation(s).

svn path=/nixpkgs/trunk/; revision=17108
2009-09-14 13:19:00 +00:00
Ludovic Courtès b7fa5f13c9 Add gnu' as an alias for linux'.
The rationale is that usually applications don't care about the kernel
but rather about the C library, tool chain, and standard utilities,
which are GNU, not Linux.

svn path=/nixpkgs/trunk/; revision=17069
2009-09-12 18:46:04 +00:00
Marc Weber 60aa746f6b removing dropPath. It's used once and in that case it behaves like
builtins.dropPath

svn path=/nixpkgs/trunk/; revision=17018
2009-09-10 16:57:26 +00:00
Eelco Dolstra 5b7f46ea43 * A utility function `optionalAttrs', similar to optional and
optionalString but for attribute sets.

svn path=/nixpkgs/trunk/; revision=17002
2009-09-10 10:52:51 +00:00
Michael Raskin a1ea759dd9 Adding libev - an even loop library remotely similar to libevent
svn path=/nixpkgs/trunk/; revision=16877
2009-08-27 07:17:57 +00:00
Eelco Dolstra 921de5b511 * Remove the warning, it's rather annoying.
svn path=/nixpkgs/trunk/; revision=16862
2009-08-26 14:13:05 +00:00
Michael Raskin 9e928bb1e9 Adding eProver to buildfarm via maintanership
svn path=/nixpkgs/trunk/; revision=16854
2009-08-25 08:28:08 +00:00
Marc Weber 3235c889b9 fix of warning. It should be correct now
svn path=/nixpkgs/trunk/; revision=16813
2009-08-22 18:13:56 +00:00
Marc Weber 9c49ad9f70 trace warning when using attrs for textClosureList
svn path=/nixpkgs/trunk/; revision=16810
2009-08-22 09:35:59 +00:00
Marc Weber e7dc062579 adding xapian and xapian-bindings
svn path=/nixpkgs/trunk/; revision=16788
2009-08-20 20:18:58 +00:00
Eelco Dolstra 9f59fb9377 * findFirst is used by the LaTeX function. Forgot to commit.
svn path=/nixpkgs/trunk/; revision=16438
2009-07-22 14:43:39 +00:00
Eelco Dolstra 10c4ec0ed8 svn path=/nixpkgs/trunk/; revision=16412 2009-07-17 12:04:34 +00:00
Eelco Dolstra 80cab44fce * Options / config: these should be attrsets, not lists (IMHO).
svn path=/nixpkgs/trunk/; revision=16359
2009-07-14 16:22:42 +00:00
Nicolas Pierron b09382fcd1 Extract properties.nix and modules.nix from options.nix.
svn path=/nixpkgs/trunk/; revision=16339
2009-07-13 16:18:52 +00:00
Andres Löh 9f9ec8d2c6 Added myself as a maintainer.
svn path=/nixpkgs/trunk/; revision=16327
2009-07-10 19:50:04 +00:00
Nicolas Pierron 5cd8eefb26 Allow to set priority which are below the default priority level.
This help to define default values which can be override without any extra syntax.

svn path=/nixpkgs/trunk/; revision=16304
2009-07-10 09:44:09 +00:00
Marc Weber 07df330fd5 maintainers + marcweber
svn path=/nixpkgs/trunk/; revision=16294
2009-07-09 22:23:56 +00:00
Sander van der Burg 9c2379e263 Added myself (sander) to the maintainers list
svn path=/nixpkgs/trunk/; revision=16275
2009-07-09 13:42:22 +00:00
Marc Weber 6abf8471fb fix sourceWithTagsDerivation, myhasktags now based on current haskell derivations
svn path=/nixpkgs/trunk/; revision=16263
2009-07-09 03:50:47 +00:00
Eelco Dolstra edd198ee8b * Doh.
svn path=/nixpkgs/trunk/; revision=16259
2009-07-08 16:14:51 +00:00
Eelco Dolstra 73ac7f5876 svn path=/nixpkgs/trunk/; revision=16256 2009-07-08 15:56:05 +00:00
Michael Raskin dd89941fb2 Added myself as the maintainer of some packages
svn path=/nixpkgs/trunk/; revision=16221
2009-07-07 15:05:15 +00:00
Nicolas Pierron aec4341cb4 Fix: (in moduleClosure) remove key attribute of inlined sets.
svn path=/nixpkgs/trunk/; revision=16198
2009-07-06 23:20:14 +00:00
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
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
Michael Raskin 97e15cc2b8 Noticed an associativity direction problem
svn path=/nixpkgs/trunk/; revision=12664
2008-08-20 06:45:14 +00:00
Michael Raskin 69e4f17372 Added null recognition to whatis
svn path=/nixpkgs/trunk/; revision=12663
2008-08-20 04:34:28 +00:00
Marc Weber 6394358c9a fix of cosmetic commit (sry)
svn path=/nixpkgs/trunk/; revision=12646
2008-08-17 07:40:35 +00:00
Marc Weber bab435592b cosmetic var name change
svn path=/nixpkgs/trunk/; revision=12644
2008-08-17 00:06:01 +00:00
Michael Raskin 99c46f200c Forgot to make composedArgsAndFun support function overrides in addition to attrSet-merging ones.
svn path=/nixpkgs/trunk/; revision=12627
2008-08-14 22:12:50 +00:00
Michael Raskin f1f9e38e94 Big breaking change. I have radically reduced number of nulls used in all-packages.nix and generally switched to composedArgsAndFun which simply adds .meta.function to everything that has come through it.. I have not tested the build, because OO.o has to be updated...
svn path=/nixpkgs/trunk/; revision=12625
2008-08-14 22:04:30 +00:00
Michael Raskin eb50dd2c0d Added StumpWM
svn path=/nixpkgs/trunk/; revision=12566
2008-08-09 20:21:33 +00:00
Nicolas Pierron 692c5a62a4 Use "abort" instead of "throw" when option values cannot be merged.
Fix mergeListOption.
Add error support in mergeEnableOption.

svn path=/nixpkgs/trunk/; revision=12522
2008-08-06 19:24:36 +00:00
Nicolas Pierron 0ce4cafd88 * Do not always use the current result as argument.
* "filterOptionSets" returns the only option per attribute instead of a list of options.

svn path=/nixpkgs/trunk/; revision=12520
2008-08-06 18:34:11 +00:00
Nicolas Pierron 0e25bb67cf Add a new way to handle option sets.
svn path=/nixpkgs/trunk/; revision=12505
2008-08-05 17:16:35 +00:00
Eelco Dolstra fc5eebdf8b * Merged the stdenv branch
(https://svn.nixos.org/repos/nix/nixpkgs/branches/stdenv-updates
  -r10966:12061).

svn path=/nixpkgs/trunk/; revision=12073
2008-06-13 11:46:39 +00:00
Michael Raskin e8e0d1665c traceWhatIs works for empty lists
svn path=/nixpkgs/trunk/; revision=12046
2008-06-12 06:58:07 +00:00
Eelco Dolstra dcf01e5925 * A convenience function `makeLibraryPath' that adds "/lib" to each
element of a list and concatenates them separated by colons.

svn path=/nixpkgs/branches/stdenv-updates/; revision=11970
2008-06-04 09:56:11 +00:00
Marc Weber e17c96c881 Support for profiling (all libraries) enabled by custom config
moved flapjax to ghcExecutables
added haskelldb mysql
added ghc darcs build (left in comments)

svn path=/nixpkgs/trunk/; revision=11742
2008-04-28 22:27:03 +00:00
Michael Raskin 55f4987f42 Added optionalString (similar to optional)
svn path=/nixpkgs/trunk/; revision=11733
2008-04-27 23:17:24 +00:00
Marc Weber 772fd74b99 Updated my ghc stuff.
New is the file containing executables (such as alex/ happy)
some new libraries
The wrapper no longer installs tags by default. You have to add it to your config
So I'm ready to start merging

svn path=/nixpkgs/trunk/; revision=11554
2008-04-11 00:40:10 +00:00
Michael Raskin 003a6d10b5 Added CDDA support to MPlayer
svn path=/nixpkgs/trunk/; revision=10978
2008-03-06 09:34:36 +00:00
Marc Weber a277b420ee annotatedDerivation removed
svn path=/nixpkgs/trunk/; revision=10975
2008-03-06 02:48:09 +00:00
Michael Raskin d02d11636b Fixed a typo in lib/default.nix
svn path=/nixpkgs/trunk/; revision=10904
2008-03-02 14:26:40 +00:00
Eelco Dolstra e12b421add * Merged most of the stdenv-updates branch. Some stuff didn't
merge cleanly right away (kde-4, kernel stuff) so it should be
  merged later.  But the stdenv stuff is all there.

svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10793
2008-02-20 23:02:41 +00:00
Michael Raskin ca34aa0514 Forward port of lib
svn path=/nixpkgs/branches/stdenv-updates/; revision=10700
2008-02-15 08:41:31 +00:00
Eelco Dolstra 329cf0523e * Doh.
svn path=/nixpkgs/trunk/; revision=10685
2008-02-14 13:34:55 +00:00
Eelco Dolstra 3be8e7c28e * Function concatMapStrings.
svn path=/nixpkgs/trunk/; revision=10681
2008-02-14 13:16:22 +00:00
Marc Weber 9c211b094e added whatis, traceWhatis, subsetmap, escapeShellArg, stringToCharacters, defineShList
stringToCharacters is only used by escapeShellArg and should be implemented as primop

svn path=/nixpkgs/trunk/; revision=10655
2008-02-13 10:09:29 +00:00
Marc Weber 260c0c9c96 new version - annotated derivation proposal - used to install addtiontal /src
and /tag/ source code which to build up develop environments more easily ( TODO
make this optional for ghcWrapper )

svn path=/nixpkgs/trunk/; revision=10648
2008-02-12 16:24:02 +00:00