aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-08Process nix.conf options in "new" nix commands, add test.Will Dietz
Without this (minor) change, the options set using "--option" or read from nix.conf were parsed but not used.
2017-04-07Merge pull request #1306 from copumpkin/retry-on-ssl-errorEelco Dolstra
Retry downloads on transient SSL errors too
2017-04-06Retry downloads on transient SSL errors tooDan Peebles
2017-04-06Implement RemoteStore::queryMissing()Eelco Dolstra
This provides a significant speedup, e.g. 64 s -> 12 s for nix-build --dry-run -I nixpkgs=channel:nixos-16.03 '<nixpkgs/nixos/tests/misc.nix>' -A test on a cold local and CloudFront cache. The alternative is to use lots of concurrent daemon connections but that seems wasteful.
2017-04-06Fix bogus "unexpected Nix daemon error: interrupted by the user"Eelco Dolstra
2017-04-06Add a method to allow hydra-queue-runner to flush the path info cacheEelco Dolstra
2017-04-06nix-daemon: Disable path info cacheEelco Dolstra
This is useless because the client also caches path info, and can cause problems for long-running clients like hydra-queue-runner (i.e. it may return cached info about paths that have been garbage-collected).
2017-04-04Allow default sandbox paths to be overridenEelco Dolstra
E.g. you can now redirect /etc/resolv.conf to a different file.
2017-04-04Make /var/run/nscd/socket optionalEelco Dolstra
Not every distribution uses nscd.
2017-04-03Really fix the RPM buildEelco Dolstra
2017-03-31Maybe fix the RPM buildEelco Dolstra
http://hydra.nixos.org/build/51095532
2017-03-31Sandbox: Fix /dev/ptmx on recent kernelsEelco Dolstra
This fixes "No such file or directory" when opening /dev/ptmx (e.g. http://hydra.nixos.org/build/51094249). The reason appears to be some changes to /dev/ptmx / /dev/pts handling between Linux 4.4 and 4.9. See https://patchwork.kernel.org/patch/7832531/. The fix is to go back to mounting a proper /dev/pts instance inside the sandbox. Happily, this now works inside user namespaces, even for unprivileged users. So NIX_REMOTE=local?root=/tmp/nix nix-build \ '<nixpkgs/nixos/tests/misc.nix>' -A test works for non-root users. The downside is that the fix breaks sandbox builds on older kernels (probably pre-4.6), since mounting a devpts fails inside user namespaces for some reason I've never been able to figure out. Builds on those systems will fail with error: while setting up the build environment: mounting /dev/pts: Invalid argument Ah well.
2017-03-31builtins.exec: Make the argument just a listShea Levy
2017-03-31Merge branch 'builtins.exec'Shea Levy
2017-03-31Fix evaluation errorEelco Dolstra
2017-03-31Retry curl error 16Eelco Dolstra
2017-03-31Fix perl buildEelco Dolstra
2017-03-31Merge branch 'remove-perl' of https://github.com/shlevy/nixEelco Dolstra
2017-03-30Remove tabsShea Levy
2017-03-30Add exec primop behind allow-unsafe-native-code-during-evaluation.Shea Levy
Execute a given program with the (optional) given arguments as the user running the evaluation, parsing stdout as an expression to be evaluated. There are many use cases for nix that would benefit from being able to run arbitrary code during evaluation, including but not limited to: * Automatic git fetching to get a sha256 from a git revision * git rev-parse HEAD * Automatic extraction of information from build specifications from other tools, particularly language-specific package managers like cabal or npm * Secrets decryption (e.g. with nixops) * Private repository fetching Ideally, we would add this functionality in a more principled way to nix, but in the mean time 'builtins.exec' can be used to get these tasks done. The primop is only available when the 'allow-unsafe-native-code-during-evaluation' nix option is true. That flag also enables the 'importNative' primop, which is strictly more powerful but less convenient (since it requires compiling a plugin against the running version of nix).
2017-03-28Ignore broken "Deriver: unknown-deriver" fields in .narinfoEelco Dolstra
These were generated by a legacy tool.
2017-03-24use std::tuple for ValueMap allocatorDaiderd Jordan
2017-03-22Merge pull request #1287 from mattaudesse/readme-grammar-its-typoEelco Dolstra
Fix minor grammatical nitpick ("it's" vs. "its") in `README.md`.
2017-03-22Fix minor grammatical nitpick ("it's" vs. "its") in `README.md`.Matt Audesse
See: http://data.grammarbook.com/blog/pronouns/1-grammar-error/
2017-03-22Fix xz decompressionEelco Dolstra
Fixes #1285.
2017-03-21LocalFSStore::getBuildLog(): Handle corrupted logsEelco Dolstra
2017-03-21Don't hang in decompression if bzip2 data ends prematurelyEelco Dolstra
2017-03-21Fix tests to reflect the signed-binary-caches default changeEelco Dolstra
2017-03-21Only use cache.nixos.org when the store is /nix/storeEelco Dolstra
This is consistent with the behaviour of the old download-from-binary-cache substituter.
2017-03-21Require signatures by defaultEelco Dolstra
This corresponds to the NixOS default.
2017-03-21Restore cache.nixos.org as the default substituterEelco Dolstra
Fixes #1283.
2017-03-21Don't make brotli a hard dependencyEelco Dolstra
2017-03-21Move istringstream_nocopy to a separate fileEelco Dolstra
2017-03-21Honor $NIX_SSHOPTS againEelco Dolstra
NixOps needs this.
2017-03-20Merge branch 'darwin-s3-binary-cache-store' of https://github.com/shlevy/nixEelco Dolstra
2017-03-20Merge pull request #1275 from steveeJ/patch-1Eelco Dolstra
nix-shell/pure: keep environment variable SHLVL
2017-03-16nix copy: Make -r option use the "from" storeEelco Dolstra
Previously, we tried to compute the closure in the local store, which obviously doesn't work.
2017-03-16ssh:// -> ssh-ng://, legacy-ssh:// -> ssh://Eelco Dolstra
2017-03-16copyPaths(): Use queryValidPaths() to reduce SSH latencyEelco Dolstra
2017-03-16copyPaths(): Don't query path info for a path the target already hasEelco Dolstra
For example, this cuts "nix-copy-closure --from" on a NixOS system closure from 15.9s to 0.5s.
2017-03-16LegacySSHStore: Provide a faster implementation of computeFSClosure()Eelco Dolstra
This avoids the latency of the standard implementation, which can make a huge difference (e.g. 16.5s -> 0.5s on a NixOS system closure).
2017-03-16Fix nix-copy-closure --toEelco Dolstra
2017-03-16Remove "killing process <pid>" messagesEelco Dolstra
They convey no useful information.
2017-03-16nix-copy-closure: Fix assertion failureEelco Dolstra
$ ./inst/bin/nix-copy-closure --to bla $(type -p firefox) nix-copy-closure: src/libstore/store-api.cc:80: std::__cxx11::string nix::storePathToHash(const Path&): Assertion `base.size() >= storePathHashLen' failed.
2017-03-15More precise compression settingsEelco Dolstra
2017-03-15runProgram(): Distinguish between empty input and no inputEelco Dolstra
For example, if we call brotli with an empty input, it shouldn't read from the caller's stdin.
2017-03-15Compress NAR listings using the "text-compression" methodEelco Dolstra
So if "text-compression=br", the .ls file in S3 will get a Content-Encoding of "br". Brotli appears to compress better than xz for this kind of file and is natively supported by browsers.
2017-03-15S3BinaryCacheStore: Set Content-TypeEelco Dolstra
This is necessary for serving log files to browsers.
2017-03-15S3BinaryCacheStore: Support compression of narinfo and log filesEelco Dolstra
You can now set the store parameter "text-compression=br" to compress textual files in the binary cache (i.e. narinfo and logs) using Brotli. This sets the Content-Encoding header; the extension of compressed files is unchanged. You can separately specify the compression of log files using "log-compression=br". This is useful when you don't want to compress narinfo files for backward compatibility.
2017-03-15Fix assertion failure on SIGINTEelco Dolstra
nix: src/libutil/compression.cc:142: virtual nix::XzSink::~XzSink(): Assertion `finished' failed.