about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-07-23 Respect --keep-going when a substituter fails.Shea Levy1-2/+4
Fixes #977
2016-07-21 Fix assertion failureEelco Dolstra1-1/+1
2016-07-21 Fix random failures caused by CurlDownloader modifying a shared stringEelco Dolstra1-1/+1
2016-07-21 NarInfo::NarInfo(): Ensure that we get a NAR size/hashEelco Dolstra2-2/+3
2016-07-21 Fix assertion failure in ThreadPool::enqueue()Eelco Dolstra2-2/+6
2016-07-21 Store::queryMissing(): Use a thread poolEelco Dolstra1-85/+104
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-21 Store::computeFSClosure(): Use thread poolEelco Dolstra1-27/+48
This speeds up queries against the binary cache.
2016-07-13 FdSink: Restore move constructor/assignmentShea Levy1-0/+2
2016-07-13 Make Buffered{Source,Sink} move-safeShea Levy2-27/+12
2016-07-11 Modernize AutoCloseFDShea Levy11-151/+137
2016-06-20 Re-implement negative binary cache lookup cachingEelco Dolstra2-15/+22
2016-06-09 Run builds in a user namespaceEelco Dolstra1-14/+65
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-09 Use O_CLOEXEC in most placesEelco Dolstra8-18/+22
2016-06-03 Fix "creating statement: table ValidPaths has no column named ultimate"Eelco Dolstra1-41/+29
2016-06-03 Support sandbox builds by non-root usersEelco Dolstra3-53/+69
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-03 Consistent quotesEelco Dolstra1-1/+1
2016-06-03 Don't call shared_from_this() from a destructorEelco Dolstra1-1/+1
2016-06-03 Fix some more references to storeDirEelco Dolstra1-2/+2
2016-06-03 Merge pull request #925 from abbradar/masterEelco Dolstra1-5/+5
Show both cycle ends
2016-06-03 Show both cycle endsNikolay Amiantov1-5/+5
2016-06-03 Fix narrowing conversion from int64_t to boolEelco Dolstra1-1/+1
http://hydra.nixos.org/build/36613774
2016-06-02 nix run: Set a reasonable uid/gidEelco Dolstra1-0/+7
2016-06-02 Make derivationFromPath work on diverted storesEelco Dolstra5-18/+27
2016-06-02 nix run: Handle the case where the /nix/store mount point doesn't existEelco Dolstra1-2/+39
2016-06-02 createTempDir(): Don't do a chown on LinuxEelco Dolstra1-0/+2
It's not needed and can cause problems in a user namespace.
2016-06-02 nix run: Mount the Nix store in a private namespaceEelco Dolstra2-1/+25
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-02 Add basic "nix run" commandEelco Dolstra1-0/+62
2016-06-02 LocalStore: Allow the physical and logical store directories to differEelco Dolstra5-54/+68
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-02 Respect build-use-substitutesEelco Dolstra2-1/+3
2016-06-02 Allow setting the state directory as a store parameterEelco Dolstra13-77/+112
E.g. "local?store=/tmp/store&state=/tmp/var".
2016-06-01 <nix/fetchurl.nix>: Use tarballs.nixos.orgEelco Dolstra1-20/+35
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-01 TypoEelco Dolstra1-1/+1
2016-06-01 Skip substituters with an incompatible store directoryEelco Dolstra2-0/+7
2016-06-01 HttpBinaryCacheStore: Fix caching of WantMassQueryEelco Dolstra5-20/+25
Also, test HttpBinaryCacheStore in addition to LocalBinaryCacheStore.
2016-06-01 Make the store directory a member variable of StoreEelco Dolstra33-292/+312
2016-05-31 Shut up some clang warningsEelco Dolstra4-10/+12
2016-05-31 Fix clang build failureEelco Dolstra1-1/+2
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-31 nix-copy-closure / build-remote.pl: Disable signature checkingEelco Dolstra9-13/+16
This restores the Nix 1.11 behaviour.
2016-05-31 use $(LIBLZMA_LIBS) instead of -llzmaDmitry Kalinkin1-1/+1
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-30 Fix buildEelco Dolstra1-1/+1
2016-05-30 Check signatures before downloading the substituteEelco Dolstra2-0/+11
2016-05-30 Test the NAR info cacheEelco Dolstra1-0/+7
2016-05-30 Re-implement binary cache signature checkingEelco Dolstra2-0/+9
This is now done in LocalStore::addToStore(), rather than in the binary cache substituter (which no longer exists).
2016-05-30 LocalStore::addToStore: Verify hash of the imported pathEelco Dolstra1-0/+5
2016-05-30 Re-implement the WantMassQuery property of binary cachesEelco Dolstra8-8/+40
2016-05-30 Fix repair during substitutionEelco Dolstra3-4/+5
2016-05-30 BinaryCacheStore: Remove buildPaths() / ensurePath()Eelco Dolstra6-83/+20
2016-05-04 Make the aws-cpp-sdk dependency optionalEelco Dolstra2-1/+11
2016-05-04 Cleanup: Remove singleton()Eelco Dolstra9-35/+23
2016-05-04 Do compression in a sinkEelco Dolstra6-137/+206