Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2006-05-02 | * Optimise null-ary term builders. Also declare all term builder | Eelco Dolstra | 3 | -7/+16 | |
functions as pure, which might improve performance a bit. | |||||
2006-05-02 | * Use a linked list of substitutions. This reduces the amount of | Eelco Dolstra | 4 | -19/+54 | |
copying. | |||||
2006-05-02 | * Removed a bunch of ATreverses. | Eelco Dolstra | 2 | -17/+20 | |
2006-05-02 | * Huge reduction in memory use (2/3 or so on large nix-env -qas | Eelco Dolstra | 3 | -9/+12 | |
operations): share ATermMaps between DrvInfos. | |||||
2006-05-02 | * Memory reduction: replaced expensive calls to ATmakeApplList by | Eelco Dolstra | 1 | -11/+16 | |
ATmakeApplArray, and got rid of ATreverse in substitute(). | |||||
2006-05-02 | * Some preliminaries towards NIX-45. | Eelco Dolstra | 3 | -10/+35 | |
2006-05-01 | * Disallow unescaped $ in string literals. | Eelco Dolstra | 1 | -4/+1 | |
2006-05-01 | * String interpolation. Expressions like | Eelco Dolstra | 5 | -13/+78 | |
"--with-freetype2-library=" + freetype + "/lib" can now be written as "--with-freetype2-library=${freetype}/lib" An arbitrary expression can be enclosed within ${...}, not just identifiers. * Escaping in string literals: \n, \r, \t interpreted as in C, any other character following \ is interpreted as-is. * Newlines are now allowed in string literals. | |||||
2006-05-01 | * Allow string concatenations involving derivations, e.g., | Eelco Dolstra | 5 | -14/+125 | |
configureFlags = "--with-freetype2-library=" + freetype + "/lib"; | |||||
2006-03-24 | * Print a more useful stack trace when an error occurs deep in the | Eelco Dolstra | 1 | -4/+10 | |
derivation dependency graph. | |||||
2006-03-23 | * In `nix-env', look for derivations inside attribute sets that have | Eelco Dolstra | 2 | -1/+16 | |
the `recurseForDerivations' attribute set to `true'. | |||||
2006-03-23 | * Hm. | Eelco Dolstra | 1 | -2/+1 | |
2006-03-10 | * Allow `make check' to work in directories that have symlink | Eelco Dolstra | 2 | -23/+22 | |
components. | |||||
2006-03-10 | * `nix-env -qa --description' shows human-readable descriptions of | Eelco Dolstra | 5 | -23/+69 | |
packages (provided that they have a `meta.description' attribute). E.g., $ ./src/nix-env/nix-env -qa --description gcc gcc-4.0.2 GNU Compiler Collection, 4.0.x (cross-compiler for sparc-linux) gcc-4.0.2 GNU Compiler Collection, 4.0.x (cross-compiler for mips-linux) gcc-4.0.2 GNU Compiler Collection, 4.0.x (cross-compiler for arm-linux) gcc-4.0.2 GNU Compiler Collection, 4.0.x | |||||
2006-03-10 | * In theory, this should reduce the number of ATermMap | Eelco Dolstra | 2 | -3/+4 | |
re-allocations. | |||||
2006-03-10 | * `nix-env -q' now accepts arguments that allow specific derivations | Eelco Dolstra | 1 | -23/+27 | |
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 "*"'. | |||||
2006-03-09 | * Ugh, printHash() was very inefficient because it used | Eelco Dolstra | 1 | -5/+7 | |
ostringstreams. Around 11% of execution time was spent here (now it's 0.5%). | |||||
2006-03-09 | * Regression: semantics of the result of getDerivation() changed. | Eelco Dolstra | 1 | -2/+2 | |
2006-03-09 | * Big speedup (factor > 2.5) in all nix-env operations that do actual | Eelco Dolstra | 2 | -3/+14 | |
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. | |||||
2006-03-08 | * When obtaining derivations from Nix expressions, ignore all | Eelco Dolstra | 3 | -70/+98 | |
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. Not sure if this is a good idea; it's a bit hacky. In particular, due to laziness some derivations might appear in `nix-env -qa' but disappear in `nix-env -qas' or `nix-env -i'. Commit 5000! | |||||
2006-03-08 | * Some refactoring of the exception handling code so that we can catch | Eelco Dolstra | 5 | -22/+45 | |
Nix expression assertion failures. | |||||
2006-03-06 | * GCC 4.1 compatibility. | Eelco Dolstra | 1 | -1/+1 | |
2006-03-06 | * `nix-env (-i|-u) --dry-run' now shows exactly which missing paths | Eelco Dolstra | 9 | -22/+120 | |
will be built or substituted. | |||||
2006-03-06 | * Regularise help text a bit. | Eelco Dolstra | 4 | -4/+4 | |
2006-03-01 | * Flags `--to-base32' and `--to-base16' to convert between hex and | Eelco Dolstra | 1 | -2/+19 | |
base-32 hashes. | |||||
2006-03-01 | * Ouch, parseHash32 was completely broken. All digits >= 4 were | Eelco Dolstra | 1 | -1/+1 | |
parsed as 4. For a moment I worried that printHash32 was broken, and that would have been really, *really* bad ;-) | |||||
2006-03-01 | * db.hh shouldn't depend on the Berkeley DB headers. | Eelco Dolstra | 5 | -3/+13 | |
2006-03-01 | * Close the database before the destructor runs. | Eelco Dolstra | 4 | -0/+15 | |
2006-03-01 | * Uninitialised variable. Fixes the --delete test. | Eelco Dolstra | 1 | -1/+1 | |
2006-03-01 | * Wrong delete. Thanks valgrind. | Eelco Dolstra | 1 | -1/+1 | |
2006-03-01 | * Generate valid HTML. | Eelco Dolstra | 1 | -15/+22 | |
2006-03-01 | * Remove dead code. | Eelco Dolstra | 1 | -30/+0 | |
2006-02-17 | * In "nix-env -i", print a warning if there are multiple derivations | Eelco Dolstra | 1 | -24/+16 | |
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.: $ nix-env ii aterm warning: there are multiple derivations named `aterm-2.4.2'; using the first one installing `aterm-2.4.2' | |||||
2006-02-17 | * Fix for NIX-31: "nix-env -i foo" installing all derivations named | Eelco Dolstra | 1 | -8/+62 | |
foo. Now it will only install the one with the highest version number. | |||||
2006-02-17 | * Fix the infamous NIX-17: nix-env -i prints misleading messages | Eelco Dolstra | 1 | -7/+9 | |
("installing `foo'" followed by "uninstalling `foo'"). | |||||
2006-02-16 | * Allow the size of the GC reserved file to be specified in nix.conf | Eelco Dolstra | 3 | -9/+18 | |
through the new `gc-reserved-space' option. | |||||
2006-02-16 | * A simple hack to fix NIX-18: the garbage collector cannot run when | Eelco Dolstra | 3 | -4/+24 | |
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. | |||||
2006-02-13 | * Optional switch "--with-openssl=<PATH>" to use OpenSSL's | Eelco Dolstra | 6 | -40/+48 | |
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. | |||||
2006-02-13 | * Use a union. | Eelco Dolstra | 1 | -2/+1 | |
2006-02-13 | * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemory | Eelco Dolstra | 1 | -0/+20 | |
on the Bison parse stack. Otherwise, a garbage collect during parsing could lead to a crash. | |||||
2006-02-10 | * Enable the --attr in nix-build as well (and add -A as an alias). | Eelco Dolstra | 1 | -1/+1 | |
Example: $ nix-build ./all-packages.nix -A xlibs.libX11 So finally it's easy to perform a test build of a Nix expression! | |||||
2006-02-10 | * In nix-instantiate, allow us to specify a "path" to the | Eelco Dolstra | 3 | -31/+87 | |
derivation(s) we're interested, e.g., $ nix-instantiate ./all-packages.nix --attr xlibs.libX11 List elements can also be selected: $ nix-instantiate ./build-for-release.nix --attr 0.subversion This allows a non-ambiguous specification of a derivation. Of course, this should also be added to nix-env and nix-build. | |||||
2006-02-10 | * Make --parse-only work when *not* reading from stdin. | Eelco Dolstra | 1 | -2/+4 | |
2006-02-10 | * Cleanup: use the code shared with nix-env. | Eelco Dolstra | 1 | -64/+15 | |
2006-02-08 | * When querying all derivations, filter out syntactically equal derivations. | Eelco Dolstra | 1 | -12/+36 | |
2006-02-08 | * When evaluating, automatically call functions with default arguments. | Eelco Dolstra | 1 | -4/+23 | |
2006-02-08 | * Oops, fix breakage. | Eelco Dolstra | 1 | -0/+2 | |
2006-02-08 | * Refactoring: move derivation evaluation to libexpr. | Eelco Dolstra | 4 | -187/+209 | |
2006-02-03 | * Use setsid instead of setpgrp in child processes. This not only | Eelco Dolstra | 1 | -6/+8 | |
creates a new process group but also a new session. New sessions have no controlling tty, so child processes like ssh cannot open /dev/tty (which is bad). | |||||
2006-02-02 | * When killing a build hook, kill the entire process group (as | Eelco Dolstra | 1 | -0/+1 | |
intended). This ensures that any ssh child processes to remote machines are also killed, and thus the Nix process on the remote machine also exits. Without this, the remote Nix process will continue until it exists or until its stdout buffer gets full and it locks up. (Partially fixes NIX-35.) |