aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-13SSL_CERT_FILE -> NIX_SSL_CERT_FILEEelco Dolstra
This prevents collisions with the "native" OpenSSL, in particular on OS X. Fixes #921.
2016-10-12Shut up some warningsEelco Dolstra
2016-10-12Add some functions needed by hydraEelco Dolstra
2016-10-07querySubstitutablePaths(): Don't query paths for which we already have a ↵Eelco Dolstra
substituter
2016-10-07LocalStore::querySubstitutablePaths(): Implement using queryValidPaths()Eelco Dolstra
2016-10-07Store::queryValidPaths(): Use async queryPathInfo()Eelco Dolstra
This allows the binary cache substituter to pipeline requests.
2016-10-07Implement generic Store::queryValidPaths()Eelco Dolstra
2016-10-07Add copyClosure utility function for HydraEelco Dolstra
2016-10-07importPaths(): Fix accessor support for HydraEelco Dolstra
2016-10-06toJSON(): Support some more typesEelco Dolstra
2016-10-06Fix getS3Stats()Eelco Dolstra
2016-10-06Merge pull request #998 from veprbl/rx_chmod_fixEelco Dolstra
override rx directory permissions in deletePath()
2016-10-05Use std::random_deviceEelco Dolstra
2016-10-04Fix build with older versions of libcurlEelco Dolstra
2016-09-22Handle the case where signed-binary-caches consists of whitespaceEelco Dolstra
2016-09-22<nix/fetchurl.nix>: Support nix-prefetch-urlEelco Dolstra
2016-09-21Add sandbox-dev-shm-size optionEelco Dolstra
Fixes #1069.
2016-09-21nix-build, nix-shell: Don't print error message if nix-store/nix-instantiate ↵Eelco Dolstra
fails
2016-09-21printMsg(lvlError, ...) -> printError(...) etc.Eelco Dolstra
2016-09-21Some notational convenience for formatting stringsEelco Dolstra
We can now write throw Error("file '%s' not found", path); instead of throw Error(format("file '%s' not found") % path); and similarly printError("file '%s' not found", path); instead of printMsg(lvlError, format("file '%s' not found") % path);
2016-09-21Merge pull request #1068 from zimbatm/doc-set-toStringEelco Dolstra
Document the { __toString } interface
2016-09-21Document the { __toString } interfacezimbatm
2016-09-20Merge pull request #1066 from adevress/disable-docEelco Dolstra
Add a new option to disable documentation generation at configure time
2016-09-20TweakEelco Dolstra
2016-09-20Improve robustnessEelco Dolstra
2016-09-20Fix "Promise already satisfied" errorEelco Dolstra
2016-09-20Add a new option to disable documentation generation at configure timeAdrien Devresse
2016-09-20nix-shell: Fix $PATH handling in the impure caseEelco Dolstra
We were passing "p=$PATH" rather than "p=$PATH;", resulting in some invalid shell code. Also, construct a separate environment for the child rather than overwriting the parent's.
2016-09-20nix-shell: Restore CPU affinityEelco Dolstra
Otherwise the shell and its children will be bound to one CPU core...
2016-09-16armv5tel can be built by armv6l and armv7l (#1063)Eric Litak
2016-09-16Make computeFSClosure() single-threaded againEelco Dolstra
The fact that queryPathInfo() is synchronous meant that we needed a thread for every concurrent binary cache lookup, even though they end up being handled by the same download thread. Requiring hundreds of threads is not a good idea. So now there is an asynchronous version of queryPathInfo() that takes a callback function to process the result. Similarly, enqueueDownload() now takes a callback rather than returning a future. Thus, a command like nix path-info --store https://cache.nixos.org/ -r /nix/store/slljrzwmpygy1daay14kjszsr9xix063-nixos-16.09beta231.dccf8c5 that returns 4941 paths now takes 1.87s using only 2 threads (the main thread and the downloader thread). (This is with a prewarmed CloudFront.)
2016-09-16printMsg(): Don't check for interruptsEelco Dolstra
Having the logger function potentially throw exceptions is Heisenbuggy.
2016-09-14nix path-info: Add some more examplesEelco Dolstra
2016-09-14Revive binary-caches-parallel-connectionsEelco Dolstra
It's a slight misnomer now because it actually limits *all* downloads, not just binary cache lookups. Also add a "enable-http2" option to allow disabling use of HTTP/2 (enabled by default).
2016-09-14Enable HTTP/2 supportEelco Dolstra
The binary cache store can now use HTTP/2 to do lookups. This is much more efficient than HTTP/1.1 due to multiplexing: we can issue many requests in parallel over a single TCP connection. Thus it's no longer necessary to use a bunch of concurrent TCP connections (25 by default). For example, downloading 802 .narinfo files from https://cache.nixos.org/, using a single TCP connection, takes 11.8s with HTTP/1.1, but only 0.61s with HTTP/2. This did require a fairly substantial rewrite of the Downloader class to use the curl multi interface, because otherwise curl wouldn't be able to do multiplexing for us. As a bonus, we get connection reuse even with HTTP/1.1. All downloads are now handled by a single worker thread. Clients call Downloader::enqueueDownload() to tell the worker thread to start the download, getting a std::future to the result.
2016-09-14Add a toLower utility functionEelco Dolstra
2016-09-14Move some .drv parsing functions out of utilEelco Dolstra
2016-09-12Fix gc-runtime testEelco Dolstra
It was failing on some platforms. http://hydra.nixos.org/build/39538866
2016-09-12Fix build on GCC 4.9Eelco Dolstra
GCC 4.9 doesn't like reassigning a std::stringstream. http://hydra.nixos.org/build/40371644
2016-09-12Write "T x" instead of "auto x = T"Eelco Dolstra
That's just silly. Hopefully this also fixes the Debian build failure: http://hydra.nixos.org/build/40371644
2016-09-08Fix test failureEelco Dolstra
2016-09-08Don't run builds as root in the user namespaceEelco Dolstra
This largely reverts c68e5913c71badc89ff346d1c6948517ba720c93. Running builds as root breaks "cp -p", since when running as root, "cp -p" assumes that it can succesfully chown() files. But that's not actually the case since the user namespace doesn't provide a complete uid mapping. So it barfs with a fatal error message ("cp: failed to preserve ownership for 'foo': Invalid argument").
2016-09-08Give a better error message if a path in build-sandbox-paths is invalidEelco Dolstra
2016-09-08Fix assertion failure after early build setup failureEelco Dolstra
2016-09-08Fix early removal of rc-file for nix-shellShea Levy
BASH_ENV causes all non-interactive shells called via eg. /etc/bashrc to remove the rc-file before the main shell gets to run it. Completion scripts will often do this. Fixes #976. Adapted from and fixes #1034.
2016-09-07upload-release.pl: Update NixpkgsEelco Dolstra
2016-08-31Merge branch 'nix-build-c++'Shea Levy
2016-08-31nix-build: Clean up a bitShea Levy
2016-08-31download.hh: Fix conflicts from nix-channel-c++ mergeShea Levy
2016-08-31Merge branch 'nix-channel-c++'Shea Levy