Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2012-03-01 | Fix an uninitialised variable | Eelco Dolstra | 1 | -0/+1 | |
The variable ‘useChroot’ was not initialised properly. This caused random failures if using the build hook. Seen on Mac OS X 10.7 with Clang. Thanks to KolibriFX for finding this :-) | |||||
2012-02-18 | Fix chroots builds | Eelco Dolstra | 1 | -0/+16 | |
Chroots are initialised by hard-linking inputs from the Nix store to the chroot. This doesn't work if the input has its immutable bit set, because it's forbidden to create hard links to immutable files. So temporarily clear the immutable bit when creating and destroying the chroot. Note that making regular files in the Nix store immutable isn't very reliable, since the bit can easily become cleared: for instance, if we run the garbage collector after running ‘nix-store --optimise’. So maybe we should only make directories immutable. | |||||
2012-02-15 | On Linux, make the Nix store really read-only by using the immutable bit | Eelco Dolstra | 7 | -8/+130 | |
I was bitten one time too many by Python modifying the Nix store by creating *.pyc files when run as root. On Linux, we can prevent this by setting the immutable bit on files and directories (as in ‘chattr +i’). This isn't supported by all filesystems, so it's not an error if setting the bit fails. The immutable bit is cleared by the garbage collector before deleting a path. The only tricky aspect is in optimiseStore(), since it's forbidden to create hard links to an immutable file. Thus optimiseStore() temporarily clears the immutable bit before creating the link. | |||||
2012-02-15 | Fix a broken guard around utime() | Eelco Dolstra | 1 | -2/+5 | |
Because of an outdated check for a timestamp of 0, we were calling utime() even when it wasn't necessary. | |||||
2012-02-15 | Don't use deletePath() to delete a single file | Eelco Dolstra | 1 | -1/+1 | |
2012-02-09 | Fix error message | Eelco Dolstra | 1 | -3/+4 | |
This fixes the error message error: file `' was not found in the Nix search path (add it using $NIX_PATH or -I) | |||||
2012-02-09 | Use data() instead of c_str() where appropriate | Eelco Dolstra | 9 | -18/+18 | |
2012-02-08 | Update .gitignore | Eelco Dolstra | 1 | -108/+9 | |
2012-02-08 | Remove empty ChangeLog file | Eelco Dolstra | 1 | -0/+0 | |
2012-02-08 | Set the versionSuffix to include the Git shortrev | Eelco Dolstra | 1 | -1/+2 | |
2012-02-07 | * Build Nix for the latest Fedora and Ubuntu releases (and drop some | Eelco Dolstra | 1 | -4/+6 | |
old ones). | |||||
2012-02-04 | * Inline some functions and get rid of the indirection through | Eelco Dolstra | 7 | -116/+94 | |
EvalState::eval(). This gives a 12% speedup on ‘nix-instantiate /etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s). | |||||
2012-02-04 | * Print elapsed evaluation time. | Eelco Dolstra | 1 | -1/+9 | |
2012-02-02 | * nix-channel: fail if we don't have write permission to the manifests | Eelco Dolstra | 1 | -13/+7 | |
directory. Previously in this situation we did add the Nix expressions from the channel to allow installation from source, but this doesn't work for binary-only channels and leads to confusing error messages. | |||||
2012-01-26 | * Fix importing a derivation. This gave a segfault. | Eelco Dolstra | 1 | -8/+23 | |
2012-01-26 | * Add a test for importing derivations. | Eelco Dolstra | 3 | -1/+37 | |
2012-01-19 | * Allow comparisons between derivations by comparing the outPath | Eelco Dolstra | 1 | -2/+14 | |
attributes. | |||||
2012-01-19 | * Add some debug output to print the derivation name once it's known. | Eelco Dolstra | 1 | -1/+4 | |
This makes it easier to pinpoint the source of a crash. | |||||
2012-01-19 | * Add a test case for comparing derivations. | Eelco Dolstra | 2 | -0/+11 | |
2012-01-18 | * Don't distribute Store.cc, it's generated automatically by xsubpp. | Eelco Dolstra | 1 | -1/+3 | |
2012-01-18 | * Pass the appropriate flags to GCC when building the Perl bindings. | Eelco Dolstra | 1 | -1/+2 | |
Without these, Nix fails on 32-bit Linux with Perl 5.14, with a rather unhelpful error message: Not a CODE reference at /nix/store/n6kpbacn6nn7i3i735v8j3di8aqyl07v-perl-5.14.2/lib/perl5/5.14.2/i686-linux-thread-multi/DynaLoader.pm This is likely because the lack of -D_FILE_OFFSET_BITS=64 causes various Perl structures to not match what the Perl interpreter expects. | |||||
2012-01-17 | * Added a command ‘nix-store --print-env $drvpath’ that prints out the | Eelco Dolstra | 2 | -0/+39 | |
environment of the given derivation in a format that can be sourced by the shell, e.g. $ eval "$(nix-store --print-env $(nix-instantiate /etc/nixos/nixpkgs -A pkg))" $ NIX_BUILD_TOP=/tmp $ source $stdenv/setup This is especially useful to reproduce the environment used to build a package outside of its builder for development purposes. TODO: add a nix-build option to do the above and fetch the dependencies of the derivation as well. | |||||
2012-01-13 | * nix-build: put the temporary derivation symlink in a temporary | Eelco Dolstra | 3 | -52/+25 | |
directory rather than the current directory. * nix-build: --drv-link now implies --add-drv-link. | |||||
2012-01-12 | * ‘-module’ causes the generated library to have an .so extension on | Eelco Dolstra | 1 | -1/+0 | |
Mac OS X instead of .dylib, so don't do that. | |||||
2012-01-11 | tests: Run `download-using-manifests' via libtool so that dlopening works. | Ludovic Courtès | 3 | -1/+8 | |
2012-01-11 | perl: Build libNixStore.la with `-module'. | Ludovic Courtès | 1 | -1/+2 | |
2012-01-11 | * Figure out the extension of dynamic libraries; don't hard-code .so. | Eelco Dolstra | 2 | -2/+7 | |
2012-01-07 | * Don't create thunks for simple constants (integers, strings, paths) | Eelco Dolstra | 5 | -133/+193 | |
and allocate them only once. * Move Value and related functions into value.hh. | |||||
2012-01-05 | * Doh! | Eelco Dolstra | 1 | -1/+1 | |
2012-01-05 | * Add a -I flag to the Perl bindings to nix-build and some other | Eelco Dolstra | 7 | -11/+15 | |
scripts. * Include the version and architecture in the -I flag so that there is at least a chance that a Nix binary built for one Perl version will run on another version. | |||||
2012-01-04 | * Remove dead code. | Eelco Dolstra | 2 | -4/+0 | |
2012-01-04 | * Don't use dynamic_cast, it's very slow. "nix-instantiate | Eelco Dolstra | 3 | -24/+23 | |
/etc/nixos/nixos -A system" spent about 10% of its time in dynamic_cast. | |||||
2012-01-04 | * Merge the multiple-outputs-sandbox branch (svn merge --reintegrate | Eelco Dolstra | 21 | -125/+343 | |
^/nix/branches/multiple-outputs-sandbox). Multiple output support still isn't complete, but it wasn't complete in the trunk either, so it doesn't hurt. | |||||
2012-01-04 | * Check whether the outputName attribute works. | Eelco Dolstra | 1 | -2/+2 | |
2012-01-04 | * Let --disable-gc work. | Eelco Dolstra | 1 | -2/+2 | |
2012-01-04 | * currentOutput -> outputName. "current" implies some temporal | Eelco Dolstra | 1 | -1/+1 | |
aspect. | |||||
2012-01-04 | * Export the original input attributes of the derivation in | Eelco Dolstra | 1 | -1/+4 | |
‘drvAttrs’. This will simplify the implementation of functions such as ‘overrideDerivation’ in Nixpkgs, which need to filter out any added attributes such as outPath. | |||||
2012-01-04 | * Simplify the implementation of "derivation" a bit: lift out the | Eelco Dolstra | 1 | -18/+11 | |
common attribution so that they're evaluated only once, etc. Note that the default output is now the first element of the "outputs" attribute, rather than the first element of the sorted list of outputs. This seems more user-friendly. | |||||
2012-01-03 | * Drop the inefficient "Path" suffix in output attribute names. | Eelco Dolstra | 2 | -7/+5 | |
2012-01-03 | * Move the implementation of the ‘derivation’ primop into a separate | Eelco Dolstra | 4 | -26/+35 | |
file. | |||||
2012-01-03 | * Sync with the trunk. | Eelco Dolstra | 35 | -243/+242 | |
2012-01-03 | * Ignore missing manifest symlinks. | Eelco Dolstra | 1 | -0/+1 | |
2012-01-03 | * FreeBSD tar defaults to the tape device instead of stdout. | Eelco Dolstra | 1 | -1/+1 | |
2012-01-03 | * Forgot to add. | Eelco Dolstra | 1 | -0/+13 | |
2012-01-03 | * Add a test for nix-channel. | Eelco Dolstra | 13 | -75/+103 | |
* Refactor the nix-channel unpacker a bit. | |||||
2012-01-03 | * Use Nix::Config. | Eelco Dolstra | 4 | -22/+15 | |
2012-01-03 | * Refactoring: Get rid of a few subdirectories in corepkgs/, and some | Eelco Dolstra | 15 | -84/+52 | |
other simplifications. * Use <nix/...> to locate the corepkgs. This allows them to be overriden through $NIX_PATH. * Use bash's pipefail option in the NAR builder so that we don't need to create a temporary file. | |||||
2011-12-30 | * Follow our own coding conventions. | Eelco Dolstra | 3 | -65/+61 | |
2011-12-30 | * Remove a redundant dot (Nicolas Pierron). | Eelco Dolstra | 1 | -1/+1 | |
2011-12-30 | * Support multiple outputs in nix-store (specifically the ‘--query’ | Eelco Dolstra | 1 | -43/+63 | |
and ‘--realise’ actions). |