aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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.
2017-03-15Fix deadlock in runProgram() when input is larger than the pipe buffer sizeEelco Dolstra
2017-03-15Add support for brotli compressionEelco Dolstra
Build logs on cache.nixos.org are compressed using Brotli (since this allows them to be decompressed automatically by Chrome and Firefox), so it's handy if "nix log" can decompress them.
2017-03-15Remove dependency on "curl" binaryEelco Dolstra
2017-03-15BinaryCacheStore: Implement getBuildLog()Eelco Dolstra
We assume that build logs are stored under log/<drv>, e.g. /nix/store/q7ab198v13p0f8x8wgnd75dva7d5mip6-friday-devil-0.1.1.1.drv maps to https://cache.nixos.org/log/q7ab198v13p0f8x8wgnd75dva7d5mip6-friday-devil-0.1.1.1.drv
2017-03-15Add a "nix log" commandEelco Dolstra
This replaces "nix-store --read-log". It checks the local store and any configured substituters for the requested logs.
2017-03-15Store: Add a method for getting build logsEelco Dolstra
This allows various Store implementations to provide different ways to get build logs. For example, BinaryCacheStore can get the build logs from the binary cache. Also, remove the log-servers option since we can use substituters for this.
2017-03-12Merge branch 'configurable-aws-region'Shea Levy
2017-03-09Merge branch 'allow-import-from-derivation' of https://github.com/shlevy/nixEelco Dolstra
2017-03-08Add missing header <sstream>Adrien Devresse
2017-03-08Add option to disable import-from-derivation completely, even if the drv is ↵Shea Levy
already realized
2017-03-06Properly set the caFile for aws-sdk-cpp s3Shea Levy
2017-03-06Revert fa125b9b28bea25a4eeb4d39a71a481563127cb9Eelco Dolstra
This causes quadratic performance.
2017-03-03Add aws-region param to S3 store URLsShea Levy
2017-03-03Cache connection failuresEelco Dolstra
2017-03-03SSHMaster: Make thread-safeEelco Dolstra
2017-03-03build-remote: Don't use a SSH masterEelco Dolstra
This is unnecessary because we make only one connection.
2017-03-03Pool: Don't hang if creating a connection failsEelco Dolstra
2017-03-03Improve SSH handlingEelco Dolstra
* Unify SSH code in SSHStore and LegacySSHStore. * Fix a race starting the SSH master. We now wait synchronously for the SSH master to finish starting. This prevents the SSH clients from starting their own connections. * Don't use a master if max-connections == 1. * Add a "max-connections" store parameter. * Add a "compress" store parameter.
2017-03-03build-remote: Fix passing SSH keyEelco Dolstra
2017-03-03build-remote: Misc cleanupEelco Dolstra
2017-03-03Fix fatal "broken pipe" error when $NIX_BUILD_HOOK is missingEelco Dolstra
2017-03-02builtins.fetchgit: Support pathsEelco Dolstra
2017-03-02builtins.fetchgit: Fix bad format stringEelco Dolstra
2017-03-01TeeSink: Pre-reserve string spaceEelco Dolstra
When receiving a very large file, this can prevent the string from having tobe copied, which temporarily doubles memory consumption.
2017-03-01RemoteStore::addToStore(): Send NAR rather than string containing NAREelco Dolstra
This allows the NAR to be streamed in the future (though we're not doing that yet).
2017-03-01readString(): Read directly into std::stringEelco Dolstra
When reading a huge string, this halves memory consumption. (Strictly speaking, this appears only valid in C++17, but who cares...)
2017-03-01Tweak messageEelco Dolstra
2017-03-01nix-store --import: Fix importing unsigned pathsEelco Dolstra
2017-03-01Fix assertion failure in nix-store --exportEelco Dolstra
Fixes #1173.
2017-03-01Handle importing NARs containing files greater than 4 GiBEelco Dolstra
Also templatize readInt() to work for various integer types.
2017-02-28Fix building against older curl versionsEelco Dolstra
http://hydra.nixos.org/build/49490928
2017-02-28Improve SQLite busy handlingEelco Dolstra
2017-02-28NarInfoDiskCache: Handle SQLite busy errorsEelco Dolstra
2017-02-28In SQLite errors, include the database pathEelco Dolstra
This is necessary because we have multiple SQLite databases (e.g. the binary cache cache).
2017-02-28Support auto-configuration of build-max-jobsEelco Dolstra
"build-max-jobs" and the "-j" option can now be set to "auto" to use the number of CPUs in the system. (Unlike build-cores, it doesn't use 0 to imply auto-configuration, because a) magic values are a bad idea in general; b) 0 is a legitimate value used to disable local building.) Fixes #1198.
2017-02-27_SC_NPROCESSORS_ONLN -> std::thread::hardware_concurrency()Eelco Dolstra
2017-02-27Retry downloads on HTTP/2 stream errorsEelco Dolstra
Issue #1254.
2017-02-24nix-shell: Better error message when the shell can't be startedEelco Dolstra
2017-02-24Register content-addressability assertion for fixed outputsEelco Dolstra