aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-03-02Force stack trace for boost format errorsEelco Dolstra
2016-03-02Add an HTTP binary cache storeEelco Dolstra
Allowing stuff like NIX_REMOTE=https://cache.nixos.org nix-store -qR /nix/store/x1p1gl3a4kkz5ci0nfbayjqlqmczp1kq-geeqie-1.1 or NIX_REMOTE=https://cache.nixos.org nix-store --export /nix/store/x1p1gl3a4kkz5ci0nfbayjqlqmczp1kq-geeqie-1.1 | nix-store --import
2016-03-02Eliminate local-binary-cache-store.hhEelco Dolstra
2016-03-02Make store implementations pluggableEelco Dolstra
This for instance allows hydra-queue-runner to add the S3 backend at runtime.
2016-03-02Fix reading symlinksEelco Dolstra
The st_size field of a symlink doesn't have to be correct, e.g. for /dev/fd symlinks.
2016-03-02Remove bad assertionEelco Dolstra
2016-03-02FdSource: track number of bytes readEelco Dolstra
2016-03-02importPaths(): Optionally add NARs to binary cache accessorEelco Dolstra
This enables an optimisation in hydra-queue-runner, preventing a download of a NAR it just uploaded to the cache when reading files like hydra-build-products.
2016-02-25nix: Add commands to query contents of NARs / binary cachesEelco Dolstra
For example, $ NIX_REMOTE=file:///my-cache nix ls-store -lR /nix/store/f4kbgl8shhyy76rkk3nbxr0lz8d2ip7q-binutils-2.23.1 dr-xr-xr-x 0 ./bin -r-xr-xr-x 30748 ./bin/addr2line -r-xr-xr-x 66973 ./bin/ar ... Similarly, "nix ls-nar" lists the contents of a NAR file, "nix cat-nar" extracts a file from a NAR file, and "nix cat-store" extract a file from a Nix store.
2016-02-25Merge branch 'master' into new-cliEelco Dolstra
2016-02-25Add NAR / Store accessor abstractionEelco Dolstra
This is primary to allow hydra-queue-runner to extract files like "nix-support/hydra-build-products" from NARs in binary caches.
2016-02-25Fix short boolean flagsEelco Dolstra
2016-02-25Fix buildEelco Dolstra
2016-02-25Merge branch 'master' into new-cliEelco Dolstra
2016-02-24deletePath(): Succeed if path doesn't existEelco Dolstra
Also makes it robust against concurrent deletions.
2016-02-24Eliminate reserveSpace flagEelco Dolstra
2016-02-24LocalStore::addTextToStore(): Don't read the path we just wroteEelco Dolstra
This eliminates some unnecessary (presumably cached) I/O.
2016-02-24BinaryCacheStore: Implement addToStore()Eelco Dolstra
So now you can do $ NIX_REMOTE=file:///tmp/binary-cache nix-instantiate '<nixpkgs>' -A hello and lots of other operations.
2016-02-24openStoreAt(): Initialise the binary cacheEelco Dolstra
2016-02-24Show a proper error message for unimplemented binary cache operationsEelco Dolstra
2016-02-24TypoEelco Dolstra
2016-02-24Move BinaryCacheStore / LocalBinaryCacheStore from HydraEelco Dolstra
So you can now do: $ NIX_REMOTE=file:///tmp/binary-cache nix-store -qR /nix/store/...
2016-02-24Merge pull request #816 from tsion/incomplete-parseEelco Dolstra
Throw a specific error for incomplete parse errors.
2016-02-24std::condition_variable_any -> std::condition_variableEelco Dolstra
The latter is supposed to be more efficient.
2016-02-24C++ templates are just a glorified macro facilityEelco Dolstra
2016-02-24Remove bad daemon connections from the poolEelco Dolstra
This is necessary for long-running processes like hydra-queue-runner: if a nix-daemon worker is killed, we need to stop reusing that connection.
2016-02-24Throw a specific error for incomplete parse errors.Scott Olson
`nix-repl` will use this for deciding whether to keep waiting for input or error out right away.
2016-02-23Pool<T>: Allow a maximum pool sizeEelco Dolstra
2016-02-23RemoteStore: Make thread-safeEelco Dolstra
This allows a RemoteStore object to be used safely from multiple threads concurrently. It will make multiple daemon connections if necessary. Note: pool.hh and sync.hh have been copied from the Hydra source tree.
2016-02-23Move ref<t> into a separate headerEelco Dolstra
2016-02-22DohEelco Dolstra
2016-02-22Make OpenSSL usage thread-safeEelco Dolstra
OpenSSL can randomly segfault unless we register a callback function to do locking. https://www.openssl.org/docs/manmaster/crypto/threads.html
2016-02-22curl: Set CURLOPT_NOSIGNALEelco Dolstra
Otherwise using curl is not safe in multi-threaded applications because it installs a SIGALRM handler.
2016-02-19JSONObject: Support floats and booleansEelco Dolstra
2016-02-17Fix build without sodiumEelco Dolstra
http://hydra.nixos.org/build/32085949
2016-02-16Add C++ functions for .narinfo processing / signingEelco Dolstra
This is currently only used by the Hydra queue runner rework, but like eff5021eaa6dc69f65ea1a8abe8f3ab11ef5eb0a it presumably will be useful for the C++ rewrite of nix-push and download-from-binary-cache. (@shlevy)
2016-02-16Rename ValidPathInfo::hash -> narHash for consistencyEelco Dolstra
2016-02-16Fix to-base16 descriptionTristan Hume
2016-02-15Add xz compression functionEelco Dolstra
This is used by the Hydra queue runner, but since it may also be useful for the C++ rewrite of nix-push, I'm putting it here.
2016-02-15decompressXZ: Ensure that lzma_end() is calledEelco Dolstra
Otherwise we might leak memory.
2016-02-15Expose the export magic value and move LocalStore::queryReferences to StoreEelco Dolstra
2016-02-15Fix broken number parsing in fromJSONEelco Dolstra
The call to tmp_number.append had its arguments mixed up. Also, JSON does not allow a trailing "," after array/object members.
2016-02-15Add function to extract hash part of a store pathEelco Dolstra
2016-02-12Merge pull request #762 from ctheune/ctheune-floatsEelco Dolstra
Implement floats
2016-02-11Move addPermRoot into StoreEelco Dolstra
2016-02-11ref<T>: Add cast operatorEelco Dolstra
2016-02-09Add basic "nix build" commandEelco Dolstra
Currently only builds by attribute from <nixpkgs> or the specified file, e.g. "nix build hello".
2016-02-09Start of new Nix command-line interfaceEelco Dolstra
2016-02-09New command line parsing infrastructureEelco Dolstra
2016-02-04More of the sameEelco Dolstra