aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-08-10Add a "root" parameter to local storesEelco Dolstra
This makes it easier to create a diverted store, i.e. NIX_REMOTE="local?root=/tmp/root" instead of NIX_REMOTE="local?real=/tmp/root/nix/store&state=/tmp/root/nix/var/nix" NIX_LOG_DIR=/tmp/root/nix/var/log
2016-08-10Remove $NIX_DB_DIREelco Dolstra
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10RemoteStore / nix-daemon: Drop support for Nix < 1.0Eelco Dolstra
2016-08-09nix-build: Port to c++Shea Levy
This was a dumb line-for-line rewrite, because nix build/nix run/etc. will replace it.
2016-07-26makeFixedOutputPath(): Drop superfluous HashType argumentEelco Dolstra
2016-07-26builtins.{fetchurl,fetchTarball}: Support a sha256 attributeEelco Dolstra
Also, allow builtins.{fetchurl,fetchTarball} in restricted mode if a hash is specified.
2016-07-24Merge branch 'find-runtime-roots-c++'Shea Levy
2016-07-23Respect --keep-going when a substituter fails.Shea Levy
Fixes #977
2016-07-21Fix assertion failureEelco Dolstra
2016-07-21Fix random failures caused by CurlDownloader modifying a shared stringEelco Dolstra
2016-07-21NarInfo::NarInfo(): Ensure that we get a NAR size/hashEelco Dolstra
2016-07-21Fix assertion failure in ThreadPool::enqueue()Eelco Dolstra
2016-07-21Store::queryMissing(): Use a thread poolEelco Dolstra
For one particular NixOS configuration, this cut the runtime of "nix-store -r --dry-run" from 6m51s to 3.4s. It also fixes a bug in the size calculation that was causing certain paths to be counted twice, e.g. before: these paths will be fetched (1249.98 MiB download, 2995.74 MiB unpacked): and after: these paths will be fetched (1219.56 MiB download, 2862.17 MiB unpacked):
2016-07-21Store::computeFSClosure(): Use thread poolEelco Dolstra
This speeds up queries against the binary cache.
2016-07-21find-runtime-roots: fold into gc.ccShea Levy
2016-07-13FdSink: Restore move constructor/assignmentShea Levy
2016-07-13Make Buffered{Source,Sink} move-safeShea Levy
2016-07-11Modernize AutoCloseFDShea Levy
2016-06-20Re-implement negative binary cache lookup cachingEelco Dolstra
2016-06-09Run builds in a user namespaceEelco Dolstra
This way, all builds appear to have a uid/gid of 0 inside the chroot. In the future, this may allow using programs like systemd-nspawn inside builds, but that will require assigning a larger UID/GID map to the build. Issue #625.
2016-06-09Use O_CLOEXEC in most placesEelco Dolstra
2016-06-03Fix "creating statement: table ValidPaths has no column named ultimate"Eelco Dolstra
2016-06-03Support sandbox builds by non-root usersEelco Dolstra
This allows an unprivileged user to perform builds on a diverted store (i.e. where the physical store location differs from the logical location). Example: $ NIX_LOG_DIR=/tmp/log NIX_REMOTE="local?real=/tmp/store&state=/tmp/var" nix-build -E \ 'with import <nixpkgs> {}; runCommand "foo" { buildInputs = [procps nettools]; } "id; ps; ifconfig; echo $out > $out"' will do a build in the Nix store physically in /tmp/store but logically in /nix/store (and thus using substituters for the latter).
2016-06-03Consistent quotesEelco Dolstra
2016-06-03Don't call shared_from_this() from a destructorEelco Dolstra
2016-06-03Fix some more references to storeDirEelco Dolstra
2016-06-03Merge pull request #925 from abbradar/masterEelco Dolstra
Show both cycle ends
2016-06-03Show both cycle endsNikolay Amiantov
2016-06-03Fix narrowing conversion from int64_t to boolEelco Dolstra
http://hydra.nixos.org/build/36613774
2016-06-02nix run: Set a reasonable uid/gidEelco Dolstra
2016-06-02Make derivationFromPath work on diverted storesEelco Dolstra
2016-06-02nix run: Handle the case where the /nix/store mount point doesn't existEelco Dolstra
2016-06-02createTempDir(): Don't do a chown on LinuxEelco Dolstra
It's not needed and can cause problems in a user namespace.
2016-06-02nix run: Mount the Nix store in a private namespaceEelco Dolstra
This is a convenience command to allow users who are not privileged to create /nix/store to use Nix with regular binary caches. For example, $ NIX_REMOTE="local?state=$HOME/nix/var&real=/$HOME/nix/store" nix run firefox bashInteractive will download Firefox and bash from cache.nixos.org, then start a shell in which $HOME/nix/store is mounted on /nix/store.
2016-06-02Add basic "nix run" commandEelco Dolstra
2016-06-02LocalStore: Allow the physical and logical store directories to differEelco Dolstra
This is primarily to subsume the functionality of the copy-from-other-stores substituter. For example, in the NixOS installer, we can now do (assuming we're in the target chroot, and the Nix store of the installation CD is bind-mounted on /tmp/nix): $ nix-build ... --option substituters 'local?state=/tmp/nix/var&real=/tmp/nix/store' However, unlike copy-from-other-stores, this also allows write access to such a store. One application might be fetching substitutes for /nix/store in a situation where the user doesn't have sufficient privileges to create /nix, e.g.: $ NIX_REMOTE="local?state=/home/alice/nix/var&real=/home/alice/nix/store" nix-build ...
2016-06-02Respect build-use-substitutesEelco Dolstra
2016-06-02Allow setting the state directory as a store parameterEelco Dolstra
E.g. "local?store=/tmp/store&state=/tmp/var".
2016-06-01<nix/fetchurl.nix>: Use tarballs.nixos.orgEelco Dolstra
This ensures that the disappearance of upstream bootstrap tarballs (e.g. https://github.com/NixOS/nixpkgs-channels/pull/1) doesn't break stdenv rebuilds.
2016-06-01TypoEelco Dolstra
2016-06-01Skip substituters with an incompatible store directoryEelco Dolstra
2016-06-01HttpBinaryCacheStore: Fix caching of WantMassQueryEelco Dolstra
Also, test HttpBinaryCacheStore in addition to LocalBinaryCacheStore.
2016-06-01Make the store directory a member variable of StoreEelco Dolstra
2016-05-31Shut up some clang warningsEelco Dolstra
2016-05-31Fix clang build failureEelco Dolstra
Apparently opinion is divided on whether [[noreturn]] is allowed on a lambda: http://stackoverflow.com/questions/26888805/how-to-declare-a-lambdas-operator-as-noreturn http://hydra.nixos.org/build/36462100
2016-05-31nix-copy-closure / build-remote.pl: Disable signature checkingEelco Dolstra
This restores the Nix 1.11 behaviour.
2016-05-31use $(LIBLZMA_LIBS) instead of -llzmaDmitry Kalinkin
This is needed in case of non-standard lzma installation path that will be specified in pkgconfig manifest as extra -L option for LDFLAGS.
2016-05-30Fix buildEelco Dolstra
2016-05-30Check signatures before downloading the substituteEelco Dolstra
2016-05-30Test the NAR info cacheEelco Dolstra