Commit Graph

559 Commits

Author SHA1 Message Date
Russell O'Connor
5763650f45 adding roconnor to maintainers.
svn path=/nixpkgs/trunk/; revision=24039
2010-10-04 01:22:27 +00:00
Lluís Batlle i Rossell
cd4b54748a Updating from trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=24038
2010-10-03 09:25:34 +00:00
Evgeny Egorochkin
1ba4551be7 Added Karn Kallio to maintainer list
svn path=/nixpkgs/trunk/; revision=23982
2010-09-28 09:33:49 +00:00
Lluís Batlle i Rossell
2c5de61327 Updating from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23840
2010-09-17 19:10:21 +00:00
Eelco Dolstra
2202d32006 * Add stringAfter' as a synonym of fullDepEntry', with the arguments
flipped to denote what it actually does (i.e., a string fragment
  that comes *after* the named fragments).  One day we can have
  `stringBefore'.

svn path=/nixpkgs/trunk/; revision=23761
2010-09-13 15:31:06 +00:00
Nicolas Pierron
7f8037cfd7 Add additional shortcuts frequently used in NixOS.
svn path=/nixpkgs/trunk/; revision=23733
2010-09-10 18:03:16 +00:00
Eelco Dolstra
df1d0752eb * Get rid of the template argument in mkOverride.
svn path=/nixpkgs/trunk/; revision=23709
2010-09-10 09:31:31 +00:00
Michael Raskin
32071d5b4d Adding a list-in-list checker for builderDefs closePropagation
svn path=/nixpkgs/branches/stdenv-updates/; revision=23608
2010-09-03 08:15:45 +00:00
Lluís Batlle i Rossell
641f956581 Setting any stdenv.system references for the loongson2f system to 'mips64-linux'.
(my git-svn info:)
Merge branch 'mips64' into stdenv-updates

Conflicts:
	pkgs/applications/networking/browsers/firefox/3.6.nix
	pkgs/top-level/all-packages.nix

svn path=/nixpkgs/branches/stdenv-updates/; revision=23588
2010-09-01 09:50:12 +00:00
Lluís Batlle i Rossell
f16353b6f2 Updated from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23275
2010-08-20 13:41:12 +00:00
Yury G. Kudryashov
9e4202d273 make makeOverridable noop for functions like a: b: c(a, b)
svn path=/nixpkgs/trunk/; revision=23262
2010-08-19 22:52:53 +00:00
Eelco Dolstra
1ac9dcd24d * Fix eval-release.nix by testing whether all attributes of a
derivation evaluate inside the tryEval.  This catches cases such as
  aufs2-util, which fails due to an assertion in its dependency aufs2.
* Explicitly blacklist "xbursttools" because it gives some
  evaluation error in cross-OpenSSL.  No idea why, probably due to
  some pass-through attribute.

svn path=/nixpkgs/trunk/; revision=23247
2010-08-19 12:37:10 +00:00
Eelco Dolstra
415cf4cd1c * Omit the "Defined by:" elements in the configuration.nix section of
the manual.  While it's a useful feature, it has the unfortunate
  side-effect of causing the manual to be rebuilt every time the user
  adds an option definition to any module (including
  configuration.nix), and rebuilding the manual is rather slow.

svn path=/nixpkgs/trunk/; revision=23110
2010-08-11 11:46:09 +00:00
Lluís Batlle i Rossell
8783e812b5 More changes beyond stdenv-linux for the fuloong2f platform
svn path=/nixpkgs/branches/stdenv-updates/; revision=22973
2010-08-05 18:51:12 +00:00
Sander van der Burg
1e9dc2b254 It seems that lib.zip is already taken from attributesets, therefore renaming it to zipTwoLists
svn path=/nixpkgs/trunk/; revision=22887
2010-08-02 16:48:19 +00:00
Sander van der Burg
beee6e5e1d Moved 'zip' function from nixos/lib/build-vms.nix
svn path=/nixpkgs/trunk/; revision=22882
2010-08-02 16:10:01 +00:00
Eelco Dolstra
fd268b4852 * Add callPackage etc.
svn path=/nixpkgs/trunk/; revision=22876
2010-08-02 13:57:57 +00:00
Eelco Dolstra
acd34843f0 * Move "checker" to lib. It seems to be unused though.
svn path=/nixpkgs/trunk/; revision=22819
2010-07-30 09:24:55 +00:00
Eelco Dolstra
d67aefc19d * Remove `customKernel' which is obsolete as far as I can tell.
* Remove `sumTwoArgs' since it has no remaining callers.

svn path=/nixpkgs/trunk/; revision=22797
2010-07-28 16:09:13 +00:00
Ludovic Courtès
c4d05c0e3e Give Org-Mode a high priority.
svn path=/nixpkgs/trunk/; revision=22694
2010-07-22 08:59:46 +00:00
Lluís Batlle i Rossell
208dd0f5ec Adding armv5tel-linux to the linux platforms.
svn path=/nixpkgs/trunk/; revision=22591
2010-07-13 21:33:20 +00:00
Michael Raskin
aadb898a0b Implementing a fix allowing deepOverride without changing dependency-tree-leaf packages
svn path=/nixpkgs/trunk/; revision=22533
2010-07-08 15:31:59 +00:00
Michael Raskin
ccc497f80d Make WebKit use libsoup 2.31.2 via deepOverride. Edit a few packages that were overridable but did not allow extra arguments. Remove a catch with deepOverride that pkgs.lib had this attribute in a different sense.
svn path=/nixpkgs/trunk/; revision=22529
2010-07-08 13:25:52 +00:00
Michael Raskin
14eea491b8 Adding Redstore HTTP RDF/SPARQL server
svn path=/nixpkgs/trunk/; revision=22428
2010-06-29 22:18:49 +00:00
Evgeny Egorochkin
ae9883bcab First commit! :P
svn path=/nixpkgs/trunk/; revision=22307
2010-06-17 10:18:13 +00:00
Marc Weber
d3341315bd adding gis system grass (graphviz 3d is not supported yet)
svn path=/nixpkgs/trunk/; revision=22131
2010-06-03 15:19:59 +00:00
Eelco Dolstra
bf010ace55 * Remove the mysterious `_args' attribute because it screws up the
manual generation (causes `nixos-rebuild build-vm' evaluation to
  fail in the `networking.ifaces' option).

svn path=/nixpkgs/trunk/; revision=22084
2010-06-01 14:24:16 +00:00
Eelco Dolstra
1ba3165b4e * Allow the default for option values displayed in the manual to be
overriden.  Some defaults should not be evaluated because they cause
  unnecessary evaluation or might cause evaluation errors
  (e.g. assertions).  For instance, the value of the
  `boot.kernelPackages' option is an attribute set.  Some packages in
  that set might not evaluate (e.g. AUFS2 on kernels that don't have
  the AUFS2 patch), and in any case it slows down nixos-rebuild to
  evaluate lots of packages that are not actually used in the
  configuration.

svn path=/nixpkgs/trunk/; revision=22043
2010-05-28 11:20:45 +00:00
David Guibert
6c526f1695 add myself to the maintainers list
svn path=/nixpkgs/trunk/; revision=22007
2010-05-27 19:33:16 +00:00
Marc Weber
bddb72ec8a psotgis:
- 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
2010-05-26 19:01:10 +00:00
Marc Weber
32edcce80b Build a package with debugging information so that you can run it within gdb or run valgrind on it.
Example: xmessageDebug = misc.debugVersion xorg.xmessage

svn path=/nixpkgs/trunk/; revision=21945
2010-05-23 15:54:10 +00:00
Eelco Dolstra
cde9d0fb13 * The old evaluator segfaults if the `outPath' attribute is missing.
Work around it for the moment.

svn path=/nixpkgs/trunk/; revision=21747
2010-05-12 13:24:09 +00:00
Marco Maggesi
d4785a25dd Add myself to nixpkgs/pkgs/lib/maintainers.nix
svn path=/nixpkgs/trunk/; revision=21744
2010-05-12 12:25:23 +00:00
Eelco Dolstra
9ec34da2ee * In the generation of the `options.xml' file used to produce the
NixOS manual and  manpages, remove all derivation attributes except
  the `name' attribute.  This cuts the size of `options.xml' from 7.0
  MiB to 473 KiB, and more importantly, cuts evaluation time of the
  system derivation from 1.63s to 1.10s on my laptop (a 32%
  improvement).

svn path=/nixpkgs/trunk/; revision=21739
2010-05-12 11:07:49 +00:00
Eelco Dolstra
da7e1fbea3 * Do not silently ignore broken "example" and "default" attributes
when generating the documentation.  If they're broken, they should
  be fixed.

svn path=/nixpkgs/trunk/; revision=21738
2010-05-12 09:31:46 +00:00
Eelco Dolstra
5564bd2635 * Make stack traces more consistent.
svn path=/nixpkgs/trunk/; revision=21652
2010-05-07 15:13:43 +00:00
Marc Weber
ae8d4501b6 adding maybeEnv. This will replace from-env.nix in nixos and will be reused in copySystemConfiguration
svn path=/nixpkgs/trunk/; revision=21353
2010-04-27 18:44:23 +00:00
Ludovic Courtès
0e7e20042b Add the GNU Linear Programming Kit (GLPK).
Contributed by Brian Gough <bjg@gnu.org>.

svn path=/nixpkgs/trunk/; revision=21284
2010-04-23 21:15:48 +00:00
Marc Weber
9e59164e57 adding lib function haskell's drop x elements from head of list
svn path=/nixpkgs/trunk/; revision=21141
2010-04-17 18:26:40 +00:00
Yury G. Kudryashov
f26e437b72 Don't depend on X unless djview3 is requested
Also rename option name to "qt3"

svn path=/nixpkgs/trunk/; revision=20908
2010-04-01 12:34:50 +00:00
Eelco Dolstra
7dffd96978 * Allow `overrideDerivation' to work on derivations to which
`makeOverridable' has been applied (!).  Ugly.

svn path=/nixpkgs/trunk/; revision=20591
2010-03-12 00:01:56 +00:00
Ludovic Courtès
4b7ff33c26 options: Learn how to merge identical integer values.
svn path=/nixpkgs/trunk/; revision=20581
2010-03-11 22:03:49 +00:00
Ludovic Courtès
529e1900ca options: Use the built-in type predicates.
svn path=/nixpkgs/trunk/; revision=20580
2010-03-11 22:03:45 +00:00
Eelco Dolstra
a3111812ad * In overrideDerivation, filter out the `type' attribute.
svn path=/nixpkgs/trunk/; revision=20487
2010-03-09 11:57:05 +00:00
Rob Vermaas
7869d22938 i am an idiot, thnx ludo for pointing out my stupidity :-)
svn path=/nixpkgs/trunk/; revision=20309
2010-03-01 14:32:23 +00:00
Rob Vermaas
4d94733de2 typo (lists in list)
svn path=/nixpkgs/trunk/; revision=20303
2010-03-01 12:49:15 +00:00
Rob Vermaas
6dbcd591ef use mesaplatforms from lib
svn path=/nixpkgs/trunk/; revision=20302
2010-03-01 12:32:40 +00:00
Sander van der Burg
a777402b21 Added library general public license (LGPL 2.0). Although LGPL 2.1 is almost the same, I want to be precise
svn path=/nixpkgs/trunk/; revision=20259
2010-02-25 15:44:28 +00:00
Sander van der Burg
05245ea055 Added licenses to the lib attributeset
svn path=/nixpkgs/trunk/; revision=20249
2010-02-25 13:09:08 +00:00
Sander van der Burg
680c80e0b4 Added initial licenses attributeset to specify meta.license attributes more concisely
svn path=/nixpkgs/trunk/; revision=20248
2010-02-25 13:06:17 +00:00
Michael Raskin
89d1b7881f Update SGT puzzles and improve builderDefs processing of propagated(Native)BuildInputs after stdenv merge
svn path=/nixpkgs/trunk/; revision=20093
2010-02-18 10:29:40 +00:00
Marc Weber
4007d19700 fix vim_configurable
svn path=/nixpkgs/trunk/; revision=20084
2010-02-18 01:49:22 +00:00
Peter Simons
200c07d817 pkgs/applications/version-management/git-and-tools/git: added myself to the list of maintainers
svn path=/nixpkgs/trunk/; revision=20082
2010-02-18 00:28:15 +00:00
Eelco Dolstra
f1713f192d * Fix the VM builds. They were broken because a `hostDrv' and
`buildDrv' attribute gets added to every derivation in
  `makeStdenvCross'.  So filter out those attributes.  But the real
  question is why makeStdenvCross is applied when I'm not doing a
  cross compilation.

svn path=/nixpkgs/trunk/; revision=19862
2010-02-08 13:35:38 +00:00
Eelco Dolstra
d8c6bb130c * Sync with the trunk one last time.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19849
2010-02-05 23:06:36 +00:00
Eelco Dolstra
631ea03875 * Fix / disable some packages that give evaluation errors in Hydra.
svn path=/nixpkgs/trunk/; revision=19833
2010-02-05 14:13:25 +00:00
Eelco Dolstra
a617a7c239 * Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19786
2010-02-03 14:23:43 +00:00
Eelco Dolstra
69211adabe * Doh.
svn path=/nixpkgs/trunk/; revision=19732
2010-01-29 12:45:11 +00:00
Eelco Dolstra
c61d1424d0 * Spam everybody with failures of the Nixpkgs tarball so that
hopefully whoever broke it can fix it ;-)

svn path=/nixpkgs/trunk/; revision=19731
2010-01-29 12:26:12 +00:00
Lluís Batlle i Rossell
9183f21f7e Merging from trunk.
I fixed conflicts regarding the renaming 'kernel' -> 'linux' in all-packages.
Also a small conflict in all-packages about making openssl overridable.
And I some linux 2.6.31-zen kernel files also marked in conflict.


svn path=/nixpkgs/branches/stdenv-updates/; revision=19438
2010-01-14 14:49:31 +00:00
Alexander Tsamutali
509125bb14 Added myself to the maintainers list.
svn path=/nixpkgs/trunk/; revision=19268
2010-01-06 17:26:44 +00:00
Eelco Dolstra
21358e7ad0 * Support require/imports in top-level anonymous configurations,
i.e. the elements of initModules that are not paths.
* Support a "key" attribute in anonymous configurations to allow
  lazyGenericClosure to distinguish between them.

svn path=/nixpkgs/trunk/; revision=19240
2010-01-05 17:04:55 +00:00
Nicolas Pierron
1e0b14522a * Retrieve the filename of a path.
svn path=/nixpkgs/trunk/; revision=19180
2010-01-03 11:07:05 +00:00
Nicolas Pierron
d311b4e98f * Add a function to take the last element of a list.
svn path=/nixpkgs/trunk/; revision=19179
2010-01-03 11:05:42 +00:00
Lluís Batlle i Rossell
5bae851b1e Merging from trunk. I had to give away some structure to build the native
sheevaplug kernel, so the kernel does not build in the sheevaplug right now.
I will try to fix that in next commits.


svn path=/nixpkgs/branches/stdenv-updates/; revision=19045
2009-12-19 11:14:16 +00:00
Marc Weber
0888bf7107 remove mapRecordFlatten & fix source autofs
svn path=/nixpkgs/trunk/; revision=18987
2009-12-16 05:52:36 +00:00
Lluís Batlle i Rossell
89fe676bb3 Updating from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18878
2009-12-10 14:48:45 +00:00
Marc Weber
7ef915ebc8 nixpkgs lib: adding haskell's take
svn path=/nixpkgs/trunk/; revision=18848
2009-12-08 21:47:14 +00:00
Lluís Batlle i Rossell
a3403e6828 Finishing the update from trunk, having resolved the eclipse related directory
renaming.
I think directory renaming breaks the usual merges... because it leaves the
'to be removed' directory in the working directory still. A manual 'rm' of the
'to be removed' directory fixed the commit.

svn merge  ^/nixpkgs/trunk


svn path=/nixpkgs/branches/stdenv-updates/; revision=18661
2009-11-26 21:46:08 +00:00
Rob Vermaas
0db7aaca02 add x86_64-darwin as platform
svn path=/nixpkgs/trunk/; revision=18646
2009-11-26 15:03:42 +00:00
Marc Weber
10e806bcef testAllTrue helper function
svn path=/nixpkgs/trunk/; revision=18540
2009-11-22 21:28:46 +00:00
Marc Weber
976def943b nix lib: add nixType returning type of value as string which is used in
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
2009-11-22 21:28:43 +00:00
Marc Weber
88e654b1ed follow runTests change prefixing all tests by "test"
svn path=/nixpkgs/trunk/; revision=18538
2009-11-22 21:28:41 +00:00
Marc Weber
02972b92d5 nix lang runTests: ignore tests which are not prefixed by "test"
svn path=/nixpkgs/trunk/; revision=18537
2009-11-22 21:28:38 +00:00
Marc Weber
715d09d836 add some debugging functions
traceCallXml is used to trace arguments and result

svn path=/nixpkgs/trunk/; revision=18536
2009-11-22 21:28:36 +00:00
Eelco Dolstra
11c3e92738 * Bring back Emacs 22 by request from Ludovic.
svn path=/nixpkgs/trunk/; revision=18529
2009-11-22 16:29:15 +00:00
Lluís Batlle i Rossell
e85500987b Merging from trunk. I had to do two manual merges, quite trivial I think.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18472
2009-11-19 19:09:10 +00:00
Eelco Dolstra
81c5c44ddb * Move makeOverridable out of all-packages.nix.
svn path=/nixpkgs/trunk/; revision=18469
2009-11-19 17:30:21 +00:00
Nicolas Pierron
56ed820f84 Add systems.nix give more control over the increasing list of supported
systems.  This is not yet used because it has to be integrated with the
current system.

svn path=/nixpkgs/branches/stdenv-updates/; revision=18468
2009-11-19 17:19:39 +00:00
Eelco Dolstra
519e7870b6 * Move `modifyDerivation' from build-support/vm to lib and rename it
to `overrideDerivation'.

svn path=/nixpkgs/trunk/; revision=18466
2009-11-19 16:43:58 +00:00
Eelco Dolstra
aa392c3aa7 * Move functions like `runCommand' out of all-packages.nix and into
build-support/.

svn path=/nixpkgs/trunk/; revision=18465
2009-11-19 16:07:47 +00:00
Eelco Dolstra
aed79cca1a * Another unused function.
svn path=/nixpkgs/trunk/; revision=18391
2009-11-17 15:36:48 +00:00
Eelco Dolstra
a56509c0db * Remove some more unused functions.
svn path=/nixpkgs/trunk/; revision=18390
2009-11-17 15:31:48 +00:00
Eelco Dolstra
802fa4ba0b * Remove sumArgs and its few remaining uses. Idem for composedArgs.
svn path=/nixpkgs/trunk/; revision=18388
2009-11-17 15:26:22 +00:00
Nicolas Pierron
da1311b893 * Add the Go Programming Language compiler.
svn path=/nixpkgs/trunk/; revision=18348
2009-11-14 20:14:28 +00:00
Nicolas Pierron
7482474aef * Improve showVal: handle integer and strings.
svn path=/nixpkgs/trunk/; revision=18346
2009-11-14 20:14:15 +00:00
Nicolas Pierron
d791b830aa * Fix typo and clarify why you should not use "mkFixStrictness" on top of
plain list or attribute set.

svn path=/nixpkgs/trunk/; revision=18260
2009-11-07 16:24:11 +00:00
Nicolas Pierron
b901c0e808 * Add an awful hack to bypass the strictness of isType operators for
option definitions.

svn path=/nixpkgs/trunk/; revision=18259
2009-11-07 16:09:04 +00:00
Nicolas Pierron
8b47086b85 * Change the check function to accept sub-modules with arguments in
option definitions.

svn path=/nixpkgs/trunk/; revision=18252
2009-11-07 12:15:39 +00:00
Nicolas Pierron
bb077b253f * Add a function to sort a list.
* Add a new property to order NixOS definitions without creating
  dependencies between snippets.
* Add mkHeader & mkFooter properties (special case of mkOrder).

svn path=/nixpkgs/trunk/; revision=18242
2009-11-07 01:59:55 +00:00
Nicolas Pierron
88f113d032 * Add a function to replace "pkgs.checker". The function checkModule does a
traversal of all definitions and also check definitions contained inside
  sub-modules.

svn path=/nixpkgs/trunk/; revision=18241
2009-11-07 01:59:50 +00:00
Nicolas Pierron
233d72e4fb * Add "_args" to all sub-module configurations result. This attribute
enable argument introspection outside of the scope of each sub-module.

svn path=/nixpkgs/trunk/; revision=18240
2009-11-07 01:59:45 +00:00
Nicolas Pierron
10d74af2f6 * Add a type to handle environment variables with the usual string
separator ":".

svn path=/nixpkgs/trunk/; revision=18239
2009-11-07 01:58:56 +00:00
Nicolas Pierron
09bed4bffc * Report file locations in the stack-trace when multiple option
declarations cannot be merged.

svn path=/nixpkgs/trunk/; revision=18149
2009-11-05 16:36:03 +00:00
Nicolas Pierron
d8bbae877a * Add a type for read-only options. Options which are only declared
are used when a module produces read-only data for other modules.

svn path=/nixpkgs/trunk/; revision=18148
2009-11-05 15:39:45 +00:00
Nicolas Pierron
5684506470 * Add isDefined to each options. This will clean-up NixOS introspection.
svn path=/nixpkgs/trunk/; revision=18147
2009-11-05 15:39:39 +00:00
Eelco Dolstra
374bb28dd8 * The libx86 package refers to platforms.netbsd, so add it.
svn path=/nixpkgs/trunk/; revision=17987
2009-10-28 12:25:06 +00:00
Eelco Dolstra
a565a82e4e svn path=/nixpkgs/trunk/; revision=17934 2009-10-23 07:34:56 +00:00
Michael Raskin
a9a462f13d Try to add missing flip function for NixOS
svn path=/nixpkgs/trunk/; revision=17933
2009-10-23 07:00:15 +00:00
Nicolas Pierron
b15cbb639e Refactor a bit to add names to intermediate computations. Add a cross
temporary result to fetch information from the evaluation to make them
available inside the option declaration.

Add: isNotDefined flag inside the option.

svn path=/nixpkgs/trunk/; revision=17766
2009-10-12 17:51:21 +00:00
Nicolas Pierron
81694a7f54 * modules.nix: use catAttrs function instead of hand made code.
svn path=/nixpkgs/trunk/; revision=17760
2009-10-12 15:50:59 +00:00
Nicolas Pierron
19648abc05 Revert previous commit because this is implicit. Fix property evaluation
error which arose when one module define a value with "mkDefaultValue"
and another module define its value with "mkIf <false>".

svn path=/nixpkgs/trunk/; revision=17759
2009-10-12 15:16:22 +00:00
Nicolas Pierron
e82843144c do not delay mkOverride on options which are does not have sub modules.
svn path=/nixpkgs/trunk/; revision=17758
2009-10-12 15:07:31 +00:00
Nicolas Pierron
03eab95618 Only allow properties with a onGlobalEval function to go through specific
types.

svn path=/nixpkgs/trunk/; revision=17756
2009-10-12 13:37:00 +00:00
Nicolas Pierron
926f20a1ee Revert "* Revert the last two commits ..." (rev 17738) & Fix.
svn path=/nixpkgs/trunk/; revision=17740
2009-10-09 23:03:24 +00:00
Eelco Dolstra
037a777b7d * Enable builds on OpenBSD.
svn path=/nixpkgs/trunk/; revision=17739
2009-10-09 19:42:59 +00:00
Eelco Dolstra
24b50e92ee * Revert the last two commits since they break every job in the
buildfarm ("undefined variable `delayPropertiesTemplate'").

svn path=/nixpkgs/trunk/; revision=17738
2009-10-09 19:34:28 +00:00
Nicolas Pierron
d11481e9bf Add mkOverrideTemplate (currently the same as mkOverride).
svn path=/nixpkgs/trunk/; revision=17737
2009-10-09 18:11:36 +00:00
Nicolas Pierron
bb16a7f08d Replace a counter intuitive behaviour of module evaluations.
- types.nix:
Introduce a new flag named "delayProperties" which define either that
properties should be evaluated (when false) or that they should be delaied
through the type structure.

- properties.nix:
Generalized the delayProperties function to make it work with the iter
functions of option types.

- modules.nix:
Replace evalProperties by a condition based on the value of the
"delayProperties" flag of the option type.  If the flag does not exists or
if it is false, then the system behaves as always.  Otherwise it delays
the properties from the current value to each values contained inside it.

svn path=/nixpkgs/trunk/; revision=17736
2009-10-09 18:11:30 +00:00
Nicolas Pierron
fd0396037a extract function unifyOptionModule from moduleMerge. This function is
used to convert option sets, provided inside option declarations, to a
module.

svn path=/nixpkgs/trunk/; revision=17735
2009-10-09 18:11:24 +00:00
Marc Weber
0e6c476d60 fix some typos in comments
svn path=/nixpkgs/trunk/; revision=17708
2009-10-08 00:54:26 +00:00
Nicolas Pierron
e528b920bb Add the reverseList function.
svn path=/nixpkgs/trunk/; revision=17676
2009-10-06 13:36:46 +00:00
Nicolas Pierron
088e6995a2 Improve the efficiency of stringToCharacters.
svn path=/nixpkgs/trunk/; revision=17671
2009-10-06 09:21:58 +00:00
Nicolas Pierron
915fa6a08f introduce the stringAsChars ans replaceChars functions.
svn path=/nixpkgs/trunk/; revision=17670
2009-10-06 09:21:52 +00:00
Nicolas Pierron
bbb4ce1dd7 Extract the path done inside the iteration process of the option type and
give it as argument to each sub-module.

With the type "types.attrsOf types.optionSet", you will obtain the name of
the attribute in which the sub-modules are contained.

svn path=/nixpkgs/trunk/; revision=17669
2009-10-06 09:21:46 +00:00
Nicolas Pierron
1f68748a8b Add removePrefix function.
svn path=/nixpkgs/trunk/; revision=17667
2009-10-06 09:21:39 +00:00
Nicolas Pierron
c3d328ca48 Fix sub-module argument manipulation: Avoid using an empty set to check
the type of the module.

svn path=/nixpkgs/trunk/; revision=17666
2009-10-06 09:21:17 +00:00
Nicolas Pierron
ba09982edb Fix merge function of types.
svn path=/nixpkgs/trunk/; revision=17649
2009-10-05 18:10:42 +00:00
Nicolas Pierron
3872882e93 Fix collect example.
svn path=/nixpkgs/trunk/; revision=17510
2009-09-29 15:34:19 +00:00
Nicolas Pierron
00127bef3f Move zip & zipWithNames from misc.nix to attrsets.nix and rename them to
zipAttrs*.

Add recursiveUpdate functions based on zipAttrs.

svn path=/nixpkgs/trunk/; revision=17506
2009-09-29 14:57:00 +00:00
Nicolas Pierron
4c43afbaf6 export definitions to be used in conjunctions with extraConfigs. With such
method, properties evaluated at the evaluation time are still on the values
which makes this interresting to use in conjunction with extraConfigs.
The extraConfigs values are merged with the other values and then the
properties gets evaluated.

Thus, we can keep properties like mkOverride with this method.

svn path=/nixpkgs/trunk/; revision=17482
2009-09-28 18:22:55 +00:00
Nicolas Pierron
33d43ac18b Add extraConfigs attribute inside options. This attribute is used to
insert definitions from an external location.  As opposed to other
defintions, these definitions are always embedded into a list which allow
to add multiple definitions with one module.

!!! This feature _should not_ be used as a new mean to define options.

svn path=/nixpkgs/trunk/; revision=17481
2009-09-28 18:22:49 +00:00
Nicolas Pierron
b3b40ebf79 Add setAttrByPath:
- used to defined an attribute with its path as a list of attribute names.

svn path=/nixpkgs/trunk/; revision=17480
2009-09-28 18:22:44 +00:00
Nicolas Pierron
7ff2778cc6 Add splitString:
splitString "." "foo.bar.baz"  returns  ["foo" "bar" "baz"]

svn path=/nixpkgs/trunk/; revision=17479
2009-09-28 18:22:37 +00:00
Nicolas Pierron
b0f639844a the tryEval builtin does not have a strict evaluation. Add the toXML
builtin to force the evaluation of the configuration value.  Thus the
success flag returned by tryEval corespond to the success of the
whole evaluation.

svn path=/nixpkgs/trunk/; revision=17478
2009-09-28 18:22:31 +00:00
Nicolas Pierron
fad1b41fe4 externals argumental are now taking precedence over the result of
moduleMerge because we may need to alter the result of the configuration
before using it inside other options.

svn path=/nixpkgs/trunk/; revision=17477
2009-09-28 18:22:24 +00:00
Nicolas Pierron
e6399964cb Add the zipLists and zipListsWith functions.
svn path=/nixpkgs/trunk/; revision=17476
2009-09-28 18:22:14 +00:00
Nicolas Pierron
13f467fc84 Remove values coming from the original sources because this may cause the evaluation of unsafe code.
Instead add the computed value under tryEval to catch bad evaluations.

svn path=/nixpkgs/trunk/; revision=17453
2009-09-26 23:01:35 +00:00
Marc Weber
15afc2fa04 fix mergeAttrsWithFunc (also merge in names which are only in the snd attrs)
svn path=/nixpkgs/trunk/; revision=17406
2009-09-24 18:22:33 +00:00
Eelco Dolstra
b7a90c11d3 * selectMaintained (renamed): don't use meta.maintainer, just use
meta.platforms.
* Valgrind *should* work on Darwin now, except that our GCC doesn't
  recognise the -arch flag.

svn path=/nixpkgs/trunk/; revision=17372
2009-09-23 19:45:02 +00:00
Eelco Dolstra
12395c36a9 * Typos.
svn path=/nixpkgs/trunk/; revision=17348
2009-09-22 09:26:18 +00:00
Marc Weber
88e66ae7f4 rename mapRecordFlatten to mapAttrsFlatten
svn path=/nixpkgs/trunk/; revision=17315
2009-09-20 21:54:20 +00:00
Nicolas Pierron
dc8f469349 Fix the merge function of the "attrsOf" type: handle multiple of the same
attribute name.

svn path=/nixpkgs/trunk/; revision=17297
2009-09-20 10:29:06 +00:00
Lluís Batlle i Rossell
8515a7fa68 Adding me as a maintainer, with a pair of packages.
svn path=/nixpkgs/trunk/; revision=17295
2009-09-20 09:37:55 +00:00
Nicolas Pierron
6041b78fa4 Report bad default values which would have cause a build failure if they
were used to build a NixOS system.

svn path=/nixpkgs/trunk/; revision=17286
2009-09-19 22:10:11 +00:00
Nicolas Pierron
5f138aebde Fix: Use the check function defined in the option declaration if it exists.
svn path=/nixpkgs/trunk/; revision=17277
2009-09-19 16:49:31 +00:00
Eelco Dolstra
1885909e93 * More typos.
svn path=/nixpkgs/trunk/; revision=17257
2009-09-18 15:18:23 +00:00
Nicolas Pierron
c6267a8c9d Add declarations and definitions to options. This allow you to retrieve
the location of the definition with the defined value.

Filter the source location for the documentation.

svn path=/nixpkgs/trunk/; revision=17253
2009-09-18 15:10:11 +00:00
Nicolas Pierron
e07f5d2a2c Add location to declared sub-modules.
svn path=/nixpkgs/trunk/; revision=17252
2009-09-18 15:10:05 +00:00
Michael Raskin
a9dc68b1ea Specify some obvious platform sets
svn path=/nixpkgs/trunk/; revision=17205
2009-09-16 15:12:24 +00:00
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