Commit graph

  • 5744dd5480 * Support the --attr / -A flag in nix-env as well. So now we can do, e.g., Eelco Dolstra 2006-07-25 11:53:22 +0000
  • 7a3a5d1608 * When there is a domain check, we have to evaluate the argument. Can't be lazy! Eelco Dolstra 2006-07-24 16:49:28 +0000
  • f4c5531d92 * New language feature: domain checks, which check whether a function argument has a valid value, i.e., is in a certain domain. E.g., Eelco Dolstra 2006-07-24 16:35:34 +0000
  • 88acffa20a * `touch' might not be in $PATH. Eelco Dolstra 2006-07-24 16:19:08 +0000
  • b545c669a0 * Tests for domain checks. Eelco Dolstra 2006-07-24 15:50:29 +0000
  • 57751fdb55 * Refactoring to support domain checks. Eelco Dolstra 2006-07-24 15:16:03 +0000
  • 9c3099d328 * Purify `make check'. Eelco Dolstra 2006-07-21 13:21:43 +0000
  • 7adaa6d446 * Test for runtime root finding. Eelco Dolstra 2006-07-21 12:46:54 +0000
  • dcded7da47 * Don't try to do DNS lookups. Eelco Dolstra 2006-07-21 12:28:25 +0000
  • a4273156c4 * Use $(libexecdir) to find find-runtime-roots.pl. Eelco Dolstra 2006-07-20 13:21:37 +0000
  • 410760c5ab * Doh. Eelco Dolstra 2006-07-20 12:58:51 +0000
  • ee2cf45d76 * Use debug(). Eelco Dolstra 2006-07-20 12:19:55 +0000
  • eca30e12e1 * svn:ignore. Eelco Dolstra 2006-07-20 12:18:10 +0000
  • c15f544356 * Call find-runtime-roots.pl from the garbage collector to prevent running applications etc. from being garbage collected. Eelco Dolstra 2006-07-20 12:17:25 +0000
  • ebcccbd358 * Added a tool to find additional roots for the garbage collector, such as open files, current directories, mmaped files, etc. This is inherently unportable, but it's easy to adapt this script to other platforms. Currently we call `lsof' and try to read various bits in /proc/NNN. Eelco Dolstra 2006-07-19 16:49:59 +0000
  • 88e54153dc * Add a precise test for hashDerivatioModulo. Eelco Dolstra 2006-07-19 15:49:29 +0000
  • 4f3725b167 * Better error messages (especially wrt types). Eelco Dolstra 2006-07-19 15:36:15 +0000
  • e10b830251 * Doh! Of couse we cannot memoize across scopes. Eelco Dolstra 2006-07-11 10:29:52 +0000
  • 2b4b0658fa * This expression has an undefined variable which isn't detected, so evaluation fails: Eelco Dolstra 2006-07-10 17:35:00 +0000
  • d51aede4af * Allow the canonical system name to be specified at runtime in the Nix config file. Eelco Dolstra 2006-07-06 15:30:37 +0000
  • a945fb7905 * `nix-env --upgrade --eq': only upgrade if the old version is equal to the new version. This is actually useful. Eelco Dolstra 2006-06-27 12:17:25 +0000
  • f4a3a280db * Apply the ATerm aliasing patch so that Nix works correctly with gcc 4.1.x. Eelco Dolstra 2006-06-22 13:01:42 +0000
  • dbf6d7e783 * Concurrent GC on Cygwin. Eelco Dolstra 2006-06-20 17:48:10 +0000
  • cc51f9c539 * Oops. Eelco Dolstra 2006-06-19 16:35:35 +0000
  • 5bb3444032 * _exit() doesn't seem to work right on Cygwin. Eelco Dolstra 2006-06-19 16:24:15 +0000
  • b35735d8b2 * On Windows we cannot delete open (lock) files, so we delete lock files after we've closed them. Since this only succeeds if the lock is no longer opened by any process, the token trick used on Unix is not necessary. Eelco Dolstra 2006-06-19 14:43:13 +0000
  • 0e783e5579 * Write messages to stderr in a slightly more atomic way. Useful when there are several parallel processes. Eelco Dolstra 2006-06-19 14:37:35 +0000
  • d7f40357e3 * Skip this test on Cygwin, too slow (and doesn't test anything Cygwin-specific). Eelco Dolstra 2006-06-16 13:27:36 +0000
  • c937b73622 * Show when we're blocked waiting for a lock. Eelco Dolstra 2006-06-16 10:13:03 +0000
  • 588cb0eade * In `nix-env -i|-u|-e', lock the profile to prevent races between concurrent nix-env operations on the same profile. Fixes NIX-7. Eelco Dolstra 2006-06-15 11:56:49 +0000
  • 49de87132f * Removed. Eelco Dolstra 2006-06-15 09:16:55 +0000
  • 48e4a3231b Eelco Dolstra 2006-06-14 13:31:23 +0000
  • b454977909 * Fix for a problem with BSD's group ownership semantics when the user is not in the "wheel" group. Eelco Dolstra 2006-06-14 11:53:55 +0000
  • 3a68622dda * Oops. Eelco Dolstra 2006-06-14 11:52:22 +0000
  • 370af25eff * Fix for a locking bug in Berkeley DB on Cygwin. Rob Vermaas 2006-06-07 15:27:17 +0000
  • 23960e92df * Minor cleanup. Eelco Dolstra 2006-06-01 18:13:33 +0000
  • 2d456fc35a * On Cygwin, set the system type to i686-cygwin, and disable dynamic linking. Eelco Dolstra 2006-05-31 11:50:14 +0000
  • bb84984f3f * svn:ignore. Eelco Dolstra 2006-05-31 10:58:47 +0000
  • 50fe85f016 * For fixed-output derivations, pass the environment variables listed in the attribute variable `impureEnvVars' from the caller to the builder. Eelco Dolstra 2006-05-31 09:51:45 +0000
  • 04cf72287b * This may be useful in the future. Eelco Dolstra 2006-05-31 09:24:54 +0000
  • 1390ce4142 * Not all platforms have sys/select.h. Eelco Dolstra 2006-05-30 11:37:21 +0000
  • b1c63dc362 * Don't use badTerm, it gives awful error messages. Eelco Dolstra 2006-05-30 11:31:33 +0000
  • c7d9397fc9 * Handle $PATHs with spaces. Eelco Dolstra 2006-05-29 21:53:58 +0000
  • 58b4198ed8 * Disable the concurrent garbage collector on Cygwin for now. Eelco Dolstra 2006-05-29 20:46:51 +0000
  • d764409d97 * Some Cygwin fixes. Eelco Dolstra 2006-05-24 13:23:20 +0000
  • b5988004d6 * Support for srcdir != builddir (NIX-41). Eelco Dolstra 2006-05-12 11:47:45 +0000
  • 9d72bf8835 * 64-bit compatibility fixes (for problems revealed by building on an Athlon 64 running 64-bit SUSE). A patched ATerm library is required to run Nix succesfully. Eelco Dolstra 2006-05-11 02:19:43 +0000
  • e3c07782d1 * Remove old manifests in `nix-channel --update'. Eelco Dolstra 2006-05-08 20:00:28 +0000
  • c54287eafe * GCC 2.95 compatibility. Eelco Dolstra 2006-05-08 15:15:13 +0000
  • 8b5aa91aa7 Eelco Dolstra 2006-05-08 14:00:39 +0000
  • 5cabd47394 * Allow function argument default values to refer to other arguments of the function. Implements NIX-45. Eelco Dolstra 2006-05-08 12:52:47 +0000
  • 310e605995 * Show evaluation stats when NIX_SHOW_STATS=1. Eelco Dolstra 2006-05-08 10:00:37 +0000
  • 0832956089 * Use the new ATermMap. Eelco Dolstra 2006-05-04 12:21:08 +0000
  • 9840368cad * Iterators. Eelco Dolstra 2006-05-04 09:22:29 +0000
  • 6980544467 * Keep some statistics about memory allocation. Eelco Dolstra 2006-05-04 08:32:30 +0000
  • b803fb95cb * Maintain the count field properly. Eelco Dolstra 2006-05-03 23:17:42 +0000
  • db0d865ec4 * New ATermMap, seems more-or-less finished. Eelco Dolstra 2006-05-03 23:07:38 +0000
  • 052cefe1bd * Started hacking on a ATermTable replacement, since ATermTable uses gigantic amounts of memory --- 65536 bytes per table at least --- which makes it unsuitable for representing short-lived substitution tables and attribute sets. Eelco Dolstra 2006-05-03 17:29:48 +0000
  • d300b4383d * Optimise null-ary term builders. Also declare all term builder functions as pure, which might improve performance a bit. Eelco Dolstra 2006-05-02 21:58:46 +0000
  • 68174bdc7d * Use a linked list of substitutions. This reduces the amount of copying. Eelco Dolstra 2006-05-02 21:39:02 +0000
  • c791e94aee * Removed a bunch of ATreverses. Eelco Dolstra 2006-05-02 17:51:50 +0000
  • b52e711910 * Huge reduction in memory use (2/3 or so on large nix-env -qas operations): share ATermMaps between DrvInfos. Eelco Dolstra 2006-05-02 17:12:03 +0000
  • 11ae2d1e7a * Memory reduction: replaced expensive calls to ATmakeApplList by ATmakeApplArray, and got rid of ATreverse in substitute(). Eelco Dolstra 2006-05-02 14:07:28 +0000
  • dc719e6ba5 * Some preliminaries towards NIX-45. Eelco Dolstra 2006-05-02 13:39:55 +0000
  • ae55e79541 * More tests. Eelco Dolstra 2006-05-02 11:20:55 +0000
  • dca43ef795 * Tests for NIX-45. Eelco Dolstra 2006-05-02 11:15:04 +0000
  • 7276e194ee * Disallow unescaped $ in string literals. Eelco Dolstra 2006-05-01 15:29:46 +0000
  • 0064599a27 * String interpolation. Expressions like Eelco Dolstra 2006-05-01 14:01:47 +0000
  • 6cecad2be0 * Allow string concatenations involving derivations, e.g., Eelco Dolstra 2006-05-01 09:56:56 +0000
  • cce31b739c * svn:ignore Eelco Dolstra 2006-04-29 11:54:45 +0000
  • 6fca1b82ae * Change this to LGPL to keep the government happy. Eelco Dolstra 2006-04-25 16:41:06 +0000
  • de8f2d061c * Install only the header file and libraries from Berkeley DB. Eelco Dolstra 2006-04-25 11:52:24 +0000
  • e18c93169c * Create libexec. Eelco Dolstra 2006-04-25 11:33:27 +0000
  • 0748331b70 * Typo. Eelco Dolstra 2006-04-25 10:57:08 +0000
  • 03162f8f47 * Unless --with-bzip2 is specified, use a copy of bzip2 in the externals directory. This is in particular useful because though most systems have bzip2/bunzip2, they don't always have libbz2, which we need for bsdiff/bspatch. Eelco Dolstra 2006-04-25 10:45:53 +0000
  • ef2d4a2da9 * Print a more useful stack trace when an error occurs deep in the derivation dependency graph. Eelco Dolstra 2006-03-24 14:02:44 +0000
  • b69e469328 * In nix-env', look for derivations inside attribute sets that have the recurseForDerivations' attribute set to `true'. Eelco Dolstra 2006-03-23 16:43:07 +0000
  • 49ce8b57dd * Hm. Eelco Dolstra 2006-03-23 16:37:49 +0000
  • 20675feeab * Update copyright. Eelco Dolstra 2006-03-15 12:58:22 +0000
  • 05bb644890 * Allow the resulting symlink of nix-build to be named, e.g., Eelco Dolstra 2006-03-14 16:35:01 +0000
  • fdea084c36 * Allow `make check' to work in directories that have symlink components. Eelco Dolstra 2006-03-10 22:27:26 +0000
  • 37d1b1cafd * nix-env -qa --description' shows human-readable descriptions of packages (provided that they have a meta.description' attribute). E.g., Eelco Dolstra 2006-03-10 16:20:42 +0000
  • a33fb2d287 * Oops. Eelco Dolstra 2006-03-10 16:14:30 +0000
  • 2b3b6c9b34 * In theory, this should reduce the number of ATermMap re-allocations. Eelco Dolstra 2006-03-10 16:14:13 +0000
  • 4ada6db1fc * nix-env -q' now accepts arguments that allow specific derivations to be queried, e.g., nix-env -qa firefox'. This does require the argument '*' to be passed if one wants information about all derivations, so the old nix-env -qa' now is nix-env -qa "*"'. Eelco Dolstra 2006-03-10 10:24:46 +0000
  • 9811815429 * Write messages to stderr, not stdout. Eelco Dolstra 2006-03-10 09:41:28 +0000
  • 18c321308d * Ugh, printHash() was very inefficient because it used ostringstreams. Around 11% of execution time was spent here (now it's 0.5%). Eelco Dolstra 2006-03-09 17:07:25 +0000
  • b90c00e63f * Regression: semantics of the result of getDerivation() changed. Eelco Dolstra 2006-03-09 15:10:01 +0000
  • 922697c8b2 * Big speedup (factor > 2.5) in all nix-env operations that do actual instantiation, e.g. "nix-env -i" and "nix-env -qas" (but not "nix-env -qa"). It turns out that many redundant calls to addToStore(path) were made, which reads and hashes the entire path. For instance, the bash bootstrap binary in Nixpkgs would be read and hashed many times. As a result nix-env would spend around 92% of its time in the function sha256_block (according to callgrind). Some simple memoization fixes this. Eelco Dolstra 2006-03-09 15:09:18 +0000
  • 6dca5c9099 * When obtaining derivations from Nix expressions, ignore all expressions that cause an assertion failure (like `assert system == "i686-linux"'). This allows all-packages.nix in Nixpkgs to be used on all platforms, even if some Nix expressions don't work on all platforms. Eelco Dolstra 2006-03-08 16:03:58 +0000
  • 9088dee9e2 * Some refactoring of the exception handling code so that we can catch Nix expression assertion failures. Eelco Dolstra 2006-03-08 14:11:19 +0000
  • fa72ae1e9c * GCC 4.1 compatibility. Eelco Dolstra 2006-03-06 14:40:10 +0000
  • c8bfb11b34 * `nix-env (-i|-u) --dry-run' now shows exactly which missing paths will be built or substituted. Eelco Dolstra 2006-03-06 11:21:15 +0000
  • 7ba1fd2029 * Regularise help text a bit. Eelco Dolstra 2006-03-06 11:04:39 +0000
  • 120f00c04f * More online help. Eelco Dolstra 2006-03-03 14:25:07 +0000
  • 2d54312f87 * Rewrote nix-build in Perl, since sh is just too limited (turns out that arrays are a bash extension, so it didn't work on FreeBSD). Also fixes NIX-8 (readlink(1) dependency). Eelco Dolstra 2006-03-03 14:15:02 +0000
  • 78d84f5631 * Tests for fixed-output derivations (and attribute selection, incidentally). Eelco Dolstra 2006-03-01 18:26:21 +0000
  • 2167bf6b72 * Tests to prevent a repeat of the parseHash32 debacle. Eelco Dolstra 2006-03-01 18:11:41 +0000
  • 70dee0f8ca * Flags --to-base32' and --to-base16' to convert between hex and base-32 hashes. Eelco Dolstra 2006-03-01 18:05:47 +0000
  • e136532800 * Ouch, parseHash32 was completely broken. All digits >= 4 were parsed as 4. Eelco Dolstra 2006-03-01 17:59:08 +0000