Commit graph

  • d6db574ec1 * Check exit status of pipe elements. Eelco Dolstra 2004-11-08 11:32:10 +0000
  • b8aaef5e4e * Documented the standard environment, including the generic builder. Eelco Dolstra 2004-11-07 22:12:16 +0000
  • 2c3b29c5ca * Everything you always wanted to know about functions and derivations but were afraid to ask. Eelco Dolstra 2004-11-07 20:36:45 +0000
  • ea6581b691 * Drop the grammar appendix. Eelco Dolstra 2004-11-07 20:36:10 +0000
  • 09e7f06818 * Put something in here. Eelco Dolstra 2004-11-07 20:30:02 +0000
  • 1bac7a10e6 * Operators, comments. Eelco Dolstra 2004-11-07 18:58:49 +0000
  • 55b35d6d77 * Lets, inheritance, assertions. Eelco Dolstra 2004-11-07 13:53:07 +0000
  • 0b1ee4802b * Typo fix. Eelco Dolstra 2004-11-05 21:12:23 +0000
  • 5f0300d18c * Generic builders. Eelco Dolstra 2004-11-05 21:11:01 +0000
  • 3e9d2038b4 * Start of language reference. Eelco Dolstra 2004-11-05 15:39:30 +0000
  • 6ca9c7f0a9 * Finished GNU Hello walkthrough. Eelco Dolstra 2004-11-05 13:10:08 +0000
  • 8b934694f2 * Manual: writing Nix expressions. Eelco Dolstra 2004-11-04 20:21:08 +0000
  • feb3ceaee0 * Better error messages. Eelco Dolstra 2004-11-04 20:20:39 +0000
  • cb7ccb528b * string2ATerm -> overloaded toATerm. Eelco Dolstra 2004-11-03 18:12:03 +0000
  • 4cbd845aa4 * Don't propagate our CFLAGS to the ATerm library since it breaks at -O2. Eelco Dolstra 2004-11-03 16:51:09 +0000
  • 5f2c5a306c * chapter -> appendix. Eelco Dolstra 2004-11-02 08:25:29 +0000
  • 0913f5a615 * Section about channels. Eelco Dolstra 2004-11-01 16:21:37 +0000
  • ee5dcfade2 * Section about garbage collection. Eelco Dolstra 2004-11-01 16:03:35 +0000
  • cbe8de592d * Profiles section. Eelco Dolstra 2004-11-01 12:02:44 +0000
  • b05a596d61 * Document setuid Nix installs. Eelco Dolstra 2004-10-31 17:08:48 +0000
  • 0d80d237c5 * Add figures to make install' / make dist'. Eelco Dolstra 2004-10-31 16:13:25 +0000
  • 2aa1f4717b * Fix File exists' errors if the result' symlink exists but is dangling. Eelco Dolstra 2004-10-31 12:01:16 +0000
  • f8ac8d1ec8 * Began adding build farm docs. Eelco Dolstra 2004-10-29 15:26:26 +0000
  • a69534fc21 * Drop ATmake / ATMatcher also in handling store expressions. Eelco Dolstra 2004-10-29 11:22:49 +0000
  • ed09821859 * Use atdiff' instead of cmp' for checking test output. * Don't use local file names in tests since they will produce different parse trees depending on the current directory. Eelco Dolstra 2004-10-27 13:12:58 +0000
  • 3277c9432a * Bug fix in parsing of /* ... */ comments; due to longest match regexp there could be only one such comment per file. Eelco Dolstra 2004-10-27 13:00:31 +0000
  • 463e2817c5 * Remove ancient Fix tests. * Add automated Nix expression language tests. Eelco Dolstra 2004-10-27 12:41:53 +0000
  • f09618b63a * Turn on read-only mode in queries. This prevents redundant store I/O. Eelco Dolstra 2004-10-27 10:24:44 +0000
  • c7bea941b0 * Oops, I did it again. Eelco Dolstra 2004-10-27 10:05:51 +0000
  • 210ab0296d * Add file to `make dist'. Eelco Dolstra 2004-10-27 00:02:31 +0000
  • c52dda95a6 * Bug: check that term is an application. Eelco Dolstra 2004-10-26 23:30:18 +0000
  • 5fe9222b36 * Don't use ATmake / ATmatch anymore, nor the ATMatcher class. Instead we generate data bindings (build and match functions) for the constructors specified in `constructors.def'. In particular this removes the conversions between AFuns and strings, and Nix expression evaluation now seems 3 to 4 times faster. Eelco Dolstra 2004-10-26 22:54:26 +0000
  • eb8284ddaa * Evaluate argument to `import'. Eelco Dolstra 2004-10-26 17:10:09 +0000
  • 033d7c6593 * Doh! Eelco Dolstra 2004-10-26 17:04:55 +0000
  • 9fa07b376d * String/path concatenation operator (`+'). Eelco Dolstra 2004-10-26 17:01:35 +0000
  • ee401afad8 * Mode --parse-only' to parse the input (on stdin, -'), and print out the AST as an ATerm. * Mode `--eval-only' to parse and evaluate the input, and print the resulting normal form as an ATerm. Eelco Dolstra 2004-10-26 16:59:36 +0000
  • 37d7abd694 * New language feature: with expressions. Eelco Dolstra 2004-10-25 16:54:56 +0000
  • f4d44a0026 * Allow certain operations to succeed even if we don't have write permission to the Nix store or database. E.g., nix-env -qa' will work, but nix-env -qas' won't (the latter needs DB access). The option `--readonly-mode' forces this mode; otherwise, it's only activated when the database cannot be opened. Eelco Dolstra 2004-10-25 14:38:23 +0000
  • 3ade3e7721 * Revert r1594 - it didn't solve the problem. Instead add svn-revision to distributions, which should fix it. Eelco Dolstra 2004-10-25 13:51:34 +0000
  • 2248becfd3 * Make sure that the prerelease version is included in `--version'. Eelco Dolstra 2004-10-25 12:15:50 +0000
  • 50b9caac14 * Updated NEWS for the upcoming 0.6 release. Eelco Dolstra 2004-10-21 09:22:16 +0000
  • 2155c0a673 * Register channels as roots of the garbage collector (in $(localstatedir)/nix/gcroots/channels). * In setuid installations, create gcroots/tmp and gcroots/channels group-writable. Eelco Dolstra 2004-10-20 14:42:38 +0000
  • 88888160d2 * Fix nix-prefetch-url in setuid Nix installations. Eelco Dolstra 2004-10-20 14:40:54 +0000
  • 99da51d4de * Show error messages from curl. Eelco Dolstra 2004-10-20 14:05:48 +0000
  • 2cd590d96c * Instead of — use the actual Unicode character. By the way, to edit the manual, you should have something like Eelco Dolstra 2004-10-18 12:22:14 +0000
  • 692204e0c5 * Rewrite of package management stuff. Eelco Dolstra 2004-10-14 16:43:09 +0000
  • d830b2c1df * In `nix-env -q', sort derivations by name *without* case sensitivity. Eelco Dolstra 2004-10-14 15:09:55 +0000
  • febd8bed1b * Split overview chapter into a chapter on package management and a chapter on writing Nix expressions. Eelco Dolstra 2004-10-14 11:55:12 +0000
  • 98c69e5172 * Unindent. Eelco Dolstra 2004-10-14 11:54:41 +0000
  • 371c57d8a7 * Updated the quick start section. Use channels instead of downloading Nix expressions and calling nix-pull. This is so user-friendly that even a Mac user can do it! :-) Eelco Dolstra 2004-10-13 15:35:47 +0000
  • 2b20701f78 * Better introduction. * Set notes in a different color than warnings. Eelco Dolstra 2004-10-13 15:08:35 +0000
  • 1317242780 * Make store objects created by substitutes read-only. Eelco Dolstra 2004-09-22 12:15:04 +0000
  • 995d08208e * prevent collision on log directory Niels Janssen 2004-09-19 15:53:37 +0000
  • b357284a32 * Fallback didn't work for subderivations of an unnormalised the main derivation, since NormalisationGoal would first run a NormalisationGoal on the subderivation (a no-op, since in a situation where we need fallback the successor is known), and then runs a RealisationGoal on the normal form, which then cannot do a fallback because it doesn't know the derivation expression for which it is a normal form. Eelco Dolstra 2004-09-12 19:08:57 +0000
  • dcc433de47 * Operation --delete-generations' to delete generations of a profile. Arguments are either generation number, or old' to delete all non-current generations. Typical use: Eelco Dolstra 2004-09-10 13:32:08 +0000
  • c16be6ac92 * Remove write permission from store objects after they have been added to the store. Bug reported by Martin. Eelco Dolstra 2004-09-09 21:19:20 +0000
  • 47f87072ad * A very dirty hack to make setuid installations a bit nicer to use. Previously there was the problem that all files read by nix-env etc. should be reachable and readable by the Nix user. So for instance building a Nix expression in your home directory meant that the home directory should have at least g+x or o+x permission so that the Nix user could reach the Nix expression. Now we just switch back to the original user just prior to reading sources and the like. The places where this happens are somewhat arbitrary, however. Any scope that has a live SwitchToOriginalUser object in it is executed as the original user. Eelco Dolstra 2004-09-09 21:12:53 +0000
  • 5396304c73 * Use setre[ug]id() instead of setres[ug]id(), since the former is more common than the latter (which exists only on Linux and FreeBSD). We don't really care about dropping the saved IDs since there apparently is no way to quiry them in any case, so it can't influence the build (unlike the effective IDs which are checked by Perl for instance). Eelco Dolstra 2004-09-09 15:55:31 +0000
  • e043fc7d0b * Set the umask to known value (0022). This is important in a setuid installation, since the calling user may have a more fascist umask (say, 0077), which would cause the store objects built by Nix to be unreadable to anyone other than the Nix user. Eelco Dolstra 2004-09-09 14:16:02 +0000
  • 550d960586 * Hack for perl(readmanifest) dependency. Eelco Dolstra 2004-09-08 12:07:19 +0000
  • 17c8252fc9 * Spec file options to create the Nix user and group in the RPM pre-install script. By default this is turned off; you should edit the spec file to enable it. Eelco Dolstra 2004-09-06 10:05:21 +0000
  • fb28cfc86d * Add some variability to RPM spec files: allow setuid options to be set on the rpmbuild command line. Eelco Dolstra 2004-09-06 08:17:55 +0000
  • 5c443b6550 * Main the `substitutes-rev' table again, but now in a way that doesn't take \Theta(n^2) space/time complexity. Eelco Dolstra 2004-08-31 16:13:10 +0000
  • c25f2883b1 * Quadruple the Berkeley DB locking limits to get rid of out of memory errors while running `nix-store --verify'. Eelco Dolstra 2004-08-31 10:50:08 +0000
  • fe122c5a15 * Removed nrWaitees field. It was redundant with waitees.size() and could get out of sync if multiple input derivations mapped to the same closure expression (since waitees is a set). Eelco Dolstra 2004-08-30 11:51:36 +0000
  • eb233e728f * --min-age' flag in nix-store and nix-collect-garbage to only delete unreachable paths that haven't been used for N hours. For instance, nix-collect-garbage --min-age 168' only deletes paths that haven't been accessed in the last week. Eelco Dolstra 2004-08-25 16:54:08 +0000
  • fdec72c6cc * nix-collect-garbage' now actually performs a garbage collection, it doesn't just print the set of paths that should be deleted. So there is no more need to pipe the result into nix-store --delete' (which doesn't even exist anymore). Eelco Dolstra 2004-08-25 15:39:13 +0000
  • 818047881e * Put the garbage collector in nix-store: operation --gc', suboperations --print-live', --print-dead', and --delete'. The roots are not determined by nix-store; they are read from standard input. This is to make it easy to customise what the roots are. Eelco Dolstra 2004-08-25 11:43:49 +0000
  • 9994c1dd9f * Validate derivation names. In particular don't allow spaces. * Drop support for the outPath attribute in derivations. Eelco Dolstra 2004-08-24 11:46:05 +0000
  • 8f58733ef1 * The gid should also match. Eelco Dolstra 2004-08-20 15:47:58 +0000
  • 1c90fabccc * Unbreak programs that are not setuid (such as nix-hash). Eelco Dolstra 2004-08-20 15:31:46 +0000
  • e77fbe0fa2 * On systems that have the setresuid() and setresgid() system calls to set the real uid and gid to the effective uid and gid, the Nix binaries can be installed as owned by the Nix user and group instead of root, so no root involvement of any kind is necessary. Eelco Dolstra 2004-08-20 15:22:33 +0000
  • 2d35116c13 * Setuid support for sharing a Nix installation between multiple users. Eelco Dolstra 2004-08-20 14:49:05 +0000
  • 8f1dcdfc0a * Make sure that no build hook is set by default in the tests. * Don't use `seq' - some primitive, obsolete operating systems (Darwin) don't have it. Eelco Dolstra 2004-08-19 09:09:09 +0000
  • 1eddee59f2 * The default verbosity level of all Nix commands is now lvlInfo. * Builder output is written to standard error by default. * The option -B' is gone. * The option -Q' suppresses builder output. Eelco Dolstra 2004-08-18 12:19:06 +0000
  • 937ce0cd21 * Flag `--no-link' suppresses symlinking to the output path. * Handle multiple derivations correctly. Eelco Dolstra 2004-08-18 12:11:31 +0000
  • 966bd9d19f * WTF? More canonical system name problems ("athlon-linux" instead of "i686-linux"). Eelco Dolstra 2004-08-13 09:57:51 +0000
  • 62fe5c4a22 * The predecessor of a successor need not be present. This in particular happens on distributed builds or when using push/pull. Eelco Dolstra 2004-08-11 19:03:13 +0000
  • ae1a1efa41 * Clean up the temporary directory for hook communication (and don't print out incorrect "build failed" messages). Eelco Dolstra 2004-08-05 14:53:27 +0000
  • d8989b1fb4 * Every real language has a `map' function. Eelco Dolstra 2004-08-04 11:27:53 +0000
  • bbfdd64741 * Allow primops with more that 1 arguments. Eelco Dolstra 2004-08-04 10:59:20 +0000
  • e3a50f7e25 * Creating a file nix-support/no-scan in the output path of a derivation disables scanning for dependencies. Use at your own risk. This is a quick hack to speed up UML image generation (image are very big, say 1 GB). Eelco Dolstra 2004-08-04 09:25:21 +0000
  • 18ebd7b030 * Doh! Eelco Dolstra 2004-07-30 14:18:48 +0000
  • 5373aed1a8 * Use ATerm 2.2. * Include bootstrap.sh in dist. Eelco Dolstra 2004-07-30 14:17:05 +0000
  • 16c8b4c8e5 * A script to generate the Auto* stuff. Eelco Dolstra 2004-07-30 13:45:13 +0000
  • e8a95108c0 * Nix-build places a symlink `result' in the current directory to the store object just built. Eelco Dolstra 2004-07-28 13:32:45 +0000
  • 9bf7a5f516 * Don't pass `--with-system'. Eelco Dolstra 2004-07-18 21:08:24 +0000
  • 39eaecbc98 * Slightly better heuristic for picking the canonical system type. Now SuSE and Red Hat should yield the same type (i686-linux'). Mac OS X should now give powerpc-darwin' (i.e., the version number is gone). Eelco Dolstra 2004-07-18 21:07:27 +0000
  • 064a36cb54 * Hardcode the system id to be `i686-linux'. Eelco Dolstra 2004-07-09 13:06:12 +0000
  • c1a18f543e * Fixed format string error. Eelco Dolstra 2004-07-06 11:21:34 +0000
  • 056cd1d3b7 * Don't go into a (sometimes infinite) loop calling the build hook. Eelco Dolstra 2004-07-01 16:24:35 +0000
  • 638ce339a5 * Nix-instantiate now accepts sets of derivations (just like nix-env). Eelco Dolstra 2004-07-01 14:25:26 +0000
  • 292d6468ec * Nix-env operations now by default filter out any derivations for system types other than the current system. I.e., nix-env -i' won't install derivations for other system types, and nix-env -q' won't show them. The flag --system-filter SYSTEM' can be used to override the system type used for filtering (but not for building!). The value *' can be used not to filter anything. Eelco Dolstra 2004-07-01 13:56:56 +0000
  • 8f6254e823 * Align the columns in the output of `nix-env -q'. Eelco Dolstra 2004-07-01 13:35:10 +0000
  • 593bc23d8b * Allow the system attribute of derivations to be queried in nix-env -q'. * Queries can now be combined, e.g., nix-env -q --status --system'. Eelco Dolstra 2004-07-01 13:13:37 +0000
  • b584253af4 * Include some missing headers. Eelco Dolstra 2004-07-01 11:11:16 +0000
  • f5d5ffe536 * Write build logs to disk again. Eelco Dolstra 2004-06-29 09:41:50 +0000
  • 00aadf478b * Use ATerm 2.1. Eelco Dolstra 2004-06-28 14:51:42 +0000
  • 151e61fa5a * By default, nix-env -i' now deletes previously installed derivations with names matching the derivations being installed. The option --preserve-installed / -P' overrides this behaviour. Eelco Dolstra 2004-06-28 14:40:26 +0000
  • 4d2946c516 * In a realisation goal, check the result of the corresponding normalisation goal. Eelco Dolstra 2004-06-28 13:51:24 +0000