aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-07-24* New language feature: domain checks, which check whether a functionEelco Dolstra
argument has a valid value, i.e., is in a certain domain. E.g., { foo : [true false] , bar : ["a" "b" "c"] }: ... This previously could be done using assertions, but domain checks will allow the buildfarm to automatically extract the configuration space from functions.
2006-07-24* Refactoring to support domain checks.Eelco Dolstra
2006-07-20* Use $(libexecdir) to find find-runtime-roots.pl.Eelco Dolstra
2006-07-20* Use debug().Eelco Dolstra
2006-07-20* Call find-runtime-roots.pl from the garbage collector to preventEelco Dolstra
running applications etc. from being garbage collected.
2006-07-19* Better error messages (especially wrt types).Eelco Dolstra
2006-07-11* Doh! Of couse we cannot memoize across scopes.Eelco Dolstra
2006-07-06* Allow the canonical system name to be specified at runtime in theEelco Dolstra
Nix config file.
2006-06-27* `nix-env --upgrade --eq': only upgrade if the old version is equalEelco Dolstra
to the new version. This is actually useful.
2006-06-20* Concurrent GC on Cygwin.Eelco Dolstra
2006-06-19* Oops.Eelco Dolstra
2006-06-19* _exit() doesn't seem to work right on Cygwin.Eelco Dolstra
2006-06-19* On Windows we cannot delete open (lock) files, so we delete lockEelco Dolstra
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.
2006-06-19* Write messages to stderr in a slightly more atomic way. Useful whenEelco Dolstra
there are several parallel processes.
2006-06-16* Show when we're blocked waiting for a lock.Eelco Dolstra
2006-06-15* In `nix-env -i|-u|-e', lock the profile to prevent races betweenEelco Dolstra
concurrent nix-env operations on the same profile. Fixes NIX-7.
2006-06-14* Fix for a problem with BSD's group ownership semantics when the user Eelco Dolstra
is not in the "wheel" group.
2006-06-01* Minor cleanup.Eelco Dolstra
2006-05-31* For fixed-output derivations, pass the environment variables listedEelco Dolstra
in the attribute variable `impureEnvVars' from the caller to the builder.
2006-05-30* Not all platforms have sys/select.h.Eelco Dolstra
2006-05-30* Don't use badTerm, it gives awful error messages.Eelco Dolstra
2006-05-29* Disable the concurrent garbage collector on Cygwin for now.Eelco Dolstra
2006-05-24* Some Cygwin fixes.Eelco Dolstra
2006-05-12* Support for srcdir != builddir (NIX-41).Eelco Dolstra
2006-05-11* 64-bit compatibility fixes (for problems revealed by building on an AthlonEelco Dolstra
64 running 64-bit SUSE). A patched ATerm library is required to run Nix succesfully.
2006-05-08* GCC 2.95 compatibility.Eelco Dolstra
2006-05-08* Allow function argument default values to refer to other argumentsEelco Dolstra
of the function. Implements NIX-45.
2006-05-08* Show evaluation stats when NIX_SHOW_STATS=1.Eelco Dolstra
2006-05-04* Use the new ATermMap.Eelco Dolstra
2006-05-02* Optimise null-ary term builders. Also declare all term builderEelco Dolstra
functions as pure, which might improve performance a bit.
2006-05-02* Use a linked list of substitutions. This reduces the amount ofEelco Dolstra
copying.
2006-05-02* Removed a bunch of ATreverses.Eelco Dolstra
2006-05-02* Huge reduction in memory use (2/3 or so on large nix-env -qasEelco Dolstra
operations): share ATermMaps between DrvInfos.
2006-05-02* Memory reduction: replaced expensive calls to ATmakeApplList byEelco Dolstra
ATmakeApplArray, and got rid of ATreverse in substitute().
2006-05-02* Some preliminaries towards NIX-45.Eelco Dolstra
2006-05-01* Disallow unescaped $ in string literals.Eelco Dolstra
2006-05-01* String interpolation. Expressions likeEelco Dolstra
"--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
configureFlags = "--with-freetype2-library=" + freetype + "/lib";
2006-03-24* Print a more useful stack trace when an error occurs deep in theEelco Dolstra
derivation dependency graph.
2006-03-23* In `nix-env', look for derivations inside attribute sets that haveEelco Dolstra
the `recurseForDerivations' attribute set to `true'.
2006-03-23* Hm.Eelco Dolstra
2006-03-10* Allow `make check' to work in directories that have symlinkEelco Dolstra
components.
2006-03-10* `nix-env -qa --description' shows human-readable descriptions ofEelco Dolstra
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 ATermMapEelco Dolstra
re-allocations.
2006-03-10* `nix-env -q' now accepts arguments that allow specific derivationsEelco Dolstra
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 usedEelco Dolstra
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
2006-03-09* Big speedup (factor > 2.5) in all nix-env operations that do actualEelco Dolstra
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 allEelco Dolstra
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 catchEelco Dolstra
Nix expression assertion failures.