about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-03-16 nix-copy-closure: Fix assertion failureEelco Dolstra1-1/+5
$ ./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-15 More precise compression settingsEelco Dolstra1-5/+8
2017-03-15 runProgram(): Distinguish between empty input and no inputEelco Dolstra5-15/+30
For example, if we call brotli with an empty input, it shouldn't read from the caller's stdin.
2017-03-15 Compress NAR listings using the "text-compression" methodEelco Dolstra2-3/+3
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-15 S3BinaryCacheStore: Set Content-TypeEelco Dolstra5-13/+25
This is necessary for serving log files to browsers.
2017-03-15 S3BinaryCacheStore: Support compression of narinfo and log filesEelco Dolstra5-8/+71
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-15 Fix assertion failure on SIGINTEelco Dolstra1-2/+0
nix: src/libutil/compression.cc:142: virtual nix::XzSink::~XzSink(): Assertion `finished' failed.
2017-03-15 Fix deadlock in runProgram() when input is larger than the pipe buffer sizeEelco Dolstra1-3/+9
2017-03-15 Add support for brotli compressionEelco Dolstra3-2/+28
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-15 Remove dependency on "curl" binaryEelco Dolstra1-2/+0
2017-03-15 BinaryCacheStore: Implement getBuildLog()Eelco Dolstra3-1/+31
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-15 Add a "nix log" commandEelco Dolstra1-0/+57
This replaces "nix-store --read-log". It checks the local store and any configured substituters for the requested logs.
2017-03-15 Store: Add a method for getting build logsEelco Dolstra7-63/+49
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-12 Merge branch 'configurable-aws-region'Shea Levy3-7/+11
2017-03-09 Merge branch 'allow-import-from-derivation' of https://github.com/shlevy/nixEelco Dolstra3-0/+7
2017-03-08 Add missing header <sstream>Adrien Devresse1-0/+1
2017-03-08 Add option to disable import-from-derivation completely, even if the drv is ↵Shea Levy3-0/+7
already realized
2017-03-06 Properly set the caFile for aws-sdk-cpp s3Shea Levy4-2/+6
2017-03-06 Revert fa125b9b28bea25a4eeb4d39a71a481563127cb9Eelco Dolstra1-6/+0
This causes quadratic performance.
2017-03-03 Add aws-region param to S3 store URLsShea Levy3-7/+11
2017-03-03 Cache connection failuresEelco Dolstra2-1/+18
2017-03-03 SSHMaster: Make thread-safeEelco Dolstra2-17/+29
2017-03-03 build-remote: Don't use a SSH masterEelco Dolstra3-1/+9
This is unnecessary because we make only one connection.
2017-03-03 Pool: Don't hang if creating a connection failsEelco Dolstra1-0/+1
2017-03-03 Improve SSH handlingEelco Dolstra7-113/+185
* 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-03 build-remote: Fix passing SSH keyEelco Dolstra1-1/+1
2017-03-03 build-remote: Misc cleanupEelco Dolstra1-48/+41
2017-03-03 Fix fatal "broken pipe" error when $NIX_BUILD_HOOK is missingEelco Dolstra1-27/+39
2017-03-02 builtins.fetchgit: Support pathsEelco Dolstra1-3/+5
2017-03-02 builtins.fetchgit: Fix bad format stringEelco Dolstra1-1/+1
2017-03-01 TeeSink: Pre-reserve string spaceEelco Dolstra3-10/+21
When receiving a very large file, this can prevent the string from having tobe copied, which temporarily doubles memory consumption.
2017-03-01 RemoteStore::addToStore(): Send NAR rather than string containing NAREelco Dolstra5-37/+21
This allows the NAR to be streamed in the future (though we're not doing that yet).
2017-03-01 readString(): Read directly into std::stringEelco Dolstra1-3/+3
When reading a huge string, this halves memory consumption. (Strictly speaking, this appears only valid in C++17, but who cares...)
2017-03-01 Tweak messageEelco Dolstra1-1/+1
2017-03-01 nix-store --import: Fix importing unsigned pathsEelco Dolstra1-1/+1
2017-03-01 Fix assertion failure in nix-store --exportEelco Dolstra1-0/+3
Fixes #1173.
2017-03-01 Handle importing NARs containing files greater than 4 GiBEelco Dolstra7-81/+84
Also templatize readInt() to work for various integer types.
2017-02-28 Fix building against older curl versionsEelco Dolstra1-1/+4
http://hydra.nixos.org/build/49490928
2017-02-28 Improve SQLite busy handlingEelco Dolstra2-30/+42
2017-02-28 NarInfoDiskCache: Handle SQLite busy errorsEelco Dolstra1-104/+115
2017-02-28 In SQLite errors, include the database pathEelco Dolstra1-4/+8
This is necessary because we have multiple SQLite databases (e.g. the binary cache cache).
2017-02-28 Support auto-configuration of build-max-jobsEelco Dolstra2-2/+12
"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 Dolstra1-7/+3
2017-02-27 Retry downloads on HTTP/2 stream errorsEelco Dolstra1-1/+3
Issue #1254.
2017-02-24 nix-shell: Better error message when the shell can't be startedEelco Dolstra1-2/+4
2017-02-24 Register content-addressability assertion for fixed outputsEelco Dolstra1-1/+4
2017-02-24 Verify content-addressability assertions at registration timeEelco Dolstra1-0/+2
2017-02-24 nix-shell: Overwrite environment variablesEelco Dolstra1-1/+1
Need to remember that std::map::insert() and emplace() don't overwrite existing entries... This fixes a regression relative to 1.11 that in particular triggers in nested nix-shells. Before: $ nativeBuildInputs=/foo nix-shell -p hello --run 'hello' build input /foo does not exist After: $ nativeBuildInputs=/foo nix-shell -p hello --run 'hello' Hello, world!
2017-02-22 RemoteStore::addToStore(): Pass content-addressability assertionEelco Dolstra6-3/+16
... and use this in Downloader::downloadCached(). This fixes $ nix-build https://nixos.org/channels/nixos-16.09-small/nixexprs.tar.xz -A hello error: cannot import path ‘/nix/store/csfbp1s60dkgmk9f8g0zk0mwb7hzgabd-nixexprs.tar.xz’ because it lacks a valid signature
2017-02-21 Handle CURLE_RECV_ERROR as a transient errorEelco Dolstra1-1/+1
This fixes unable to download ‘https://cache.nixos.org/nar/077h8ji74y9b0qx7rjk71xd80vjqp6q5gy137r553jlvdlxdcdlk.nar.xz’: HTTP error 200 (curl error: Failure when receiving data from the peer)