Commit graph

  • 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
  • 74166f2f44 * db.hh shouldn't depend on the Berkeley DB headers. Eelco Dolstra 2006-03-01 17:44:28 +0000
  • 1bdceb421f * Doh! Eelco Dolstra 2006-03-01 16:52:55 +0000
  • d822bf32e4 * Close the database before the destructor runs. Eelco Dolstra 2006-03-01 16:36:35 +0000
  • fa95f4be3f * More test coverage. Eelco Dolstra 2006-03-01 16:26:13 +0000
  • 80b5c71684 * Doh! Eelco Dolstra 2006-03-01 16:03:32 +0000
  • e3daee919d * Test `nix-store -q --binding'. Eelco Dolstra 2006-03-01 15:46:22 +0000
  • ea9c35d3cc * Test nix-store --add' and nix-store -q --hash'. Eelco Dolstra 2006-03-01 15:43:37 +0000
  • 30d051ff14 * New suppressions. Eelco Dolstra 2006-03-01 15:40:01 +0000
  • b6780b9e10 * Uninitialised variable. Fixes the --delete test. Eelco Dolstra 2006-03-01 14:39:42 +0000
  • b602d2dfdf * Wrong delete. Thanks valgrind. Eelco Dolstra 2006-03-01 14:39:10 +0000
  • b90787290d * TDD! Woohoo! Eelco Dolstra 2006-03-01 14:26:03 +0000
  • 089c41a0c2 * Oops! Eelco Dolstra 2006-03-01 14:17:00 +0000
  • ca0b23c831 * Test the nix-store --gc subflags. Eelco Dolstra 2006-03-01 14:00:27 +0000
  • 5cb6c42088 * Test nix-build. This also tests indirect roots. Eelco Dolstra 2006-03-01 13:49:12 +0000
  • 8cd646b6af * Clear the substitutes prior to running the test. Eelco Dolstra 2006-03-01 13:33:12 +0000
  • e48bd8c8b5 * Add a test for nix-log2xml. Eelco Dolstra 2006-03-01 13:25:08 +0000
  • 458820df6c * Generate valid HTML. Eelco Dolstra 2006-03-01 13:24:47 +0000
  • 6b8bb8d74a * Remove dead code. Eelco Dolstra 2006-03-01 12:51:39 +0000
  • 84c4631221 * Simplification. Eelco Dolstra 2006-03-01 12:51:18 +0000
  • a4c63c6e8e * Make it easy to run individual tests from the command line. Eelco Dolstra 2006-03-01 12:15:33 +0000
  • 85793fa438 * Remove debug statement. Eelco Dolstra 2006-02-24 17:10:38 +0000
  • e2f16b9cae * A script to remove from a manifest those patches whose base or target no longer applies to any available release. This is a partial fix for NIX-34 (when producing linear patch sequences between releases, the number of patches grows without bound). Eelco Dolstra 2006-02-24 16:05:55 +0000
  • 5168f9bb00 * Canonicalise manifests a bit by sorting them. Eelco Dolstra 2006-02-24 16:02:36 +0000
  • 9d3bee50ad * Aha! Eelco Dolstra 2006-02-22 15:20:11 +0000
  • 17f39049cf * WTF? Eelco Dolstra 2006-02-22 15:09:47 +0000
  • 43fa1c20e7 * Separate the cache reading code. Eelco Dolstra 2006-02-22 14:35:19 +0000
  • 928cce5922 * Directory for nix.cs.uu.nl manifest / cache maintenance scripts. Eelco Dolstra 2006-02-22 14:13:02 +0000
  • fcec32a2c5 * Use right directories for NAR files and patches. * Print errors to STDERR. Eelco Dolstra 2006-02-22 14:10:02 +0000
  • f0d6318dd1 * More tests. Eelco Dolstra 2006-02-22 14:02:44 +0000
  • ddb78dfc3d * Check whether "nix-store -q --graph" generates a valid dot graph. * Test "nix-store -q --tree" as well. Eelco Dolstra 2006-02-22 13:55:41 +0000
  • 46f0cb0869 * In "nix-env -i", print a warning if there are multiple derivations with the same name *and* version number, and pick the first one (this means that the order in which channels appear in ~/.nix-channels matters). E.g.: Eelco Dolstra 2006-02-17 18:11:45 +0000
  • 7a3e715980 * Fix for NIX-31: "nix-env -i foo" installing all derivations named foo. Now it will only install the one with the highest version number. Eelco Dolstra 2006-02-17 17:47:54 +0000
  • 58fc420b36 * And another test. Eelco Dolstra 2006-02-17 17:05:34 +0000
  • 4ddd5ff39c * Regression test for NIX-31. Eelco Dolstra 2006-02-17 17:03:19 +0000
  • 889ef564fd * Fix the infamous NIX-17: nix-env -i prints misleading messages ("installing foo'" followed by "uninstalling foo'"). Eelco Dolstra 2006-02-17 16:26:28 +0000
  • 345a95afe9 * Allow the size of the GC reserved file to be specified in nix.conf through the new `gc-reserved-space' option. Eelco Dolstra 2006-02-16 13:58:10 +0000
  • 651ab439cf * A simple hack to fix NIX-18: the garbage collector cannot run when the disk is full (because to delete something from the Nix store, we need a Berkeley DB transaction, which takes up disk space). Under normal operation, we make sure that there exists a file /nix/var/nix/db/reserved of 1 MB. When running the garbage collector, we delete that file before we open the Berkeley DB environment. Eelco Dolstra 2006-02-16 13:19:15 +0000
  • d6f586d0ea * Optional switch "--with-openssl=<PATH>" to use OpenSSL's implementations of MD5, SHA-1 and SHA-256. The main benefit is that we get assembler-optimised implementations of MD5 and SHA-1 (though not SHA-256 (at least on x86), unfortunately). OpenSSL's SHA-1 implementation on Intel is twice as fast as ours. Eelco Dolstra 2006-02-13 19:52:43 +0000
  • e8475bbd5b * Use a union. Eelco Dolstra 2006-02-13 18:00:08 +0000
  • 2d2e28d02c * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemory on the Bison parse stack. Otherwise, a garbage collect during parsing could lead to a crash. Eelco Dolstra 2006-02-13 13:09:23 +0000
  • 0ca0a4da9f * Valgrind suppressions for the ATerm library. The ATerm library uses a conservative garbage collector that scans the stack and parts of the heap for pointers to ATerms. This scan can touch uninitialised memory, which is harmless. Use: Eelco Dolstra 2006-02-13 12:48:59 +0000