aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-22Merge branch 'docs' of git://github.com/joelmo/nixShea Levy
2016-02-22Merge branch 'patch-1' of git://github.com/dckc/nixShea Levy
2016-02-19Merge branch 'master' of git://github.com/stepcut/nixShea Levy
2016-02-19JSONObject: Support floats and booleansEelco Dolstra
2016-02-18context for introducing runtime dependenciesDan Connolly
The first occurrence of "runtime dependencies" wasn't related to the surrounding narrative.
2016-02-18Document IN_NIX_SHELL variableJoel Moberg
2016-02-17Drop all distros that are not down with C++11Eelco 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-16nix-profile.sh.in: find ca-bundle.pem on openSUSE Tumbleweed machinesPeter Simons
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-15Fix nix-copy-closureEelco Dolstra
http://hydra.nixos.org/build/32005971
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-15Fix test broken by #762Eelco Dolstra
2016-02-15Add function to extract hash part of a store pathEelco Dolstra
2016-02-13Merge branch 'patch-1' of https://github.com/tsion/nixShea Levy
Typo fix
2016-02-13Fix typo in nix-shell command reference.Scott Olson
2016-02-12nix-profile.sh.in: quote use of $HOME in shell argumentsPeter Simons
All other places in the script do this already, so let's be consistent.
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-10Check shell profile is writeable before modifyingAlex Cruice
The `set -e` at the top of the script causes the installation to fail to complete if the shell profile is not writeable. Checking file existence only is not enough.
2016-02-04More of the sameEelco Dolstra
2016-02-04StoreAPI -> StoreEelco Dolstra
Calling a class an API is a bit redundant...
2016-02-04Eliminate the "store" global variableEelco Dolstra
Also, move a few free-standing functions into StoreAPI and Derivation. Also, introduce a non-nullable smart pointer, ref<T>, which is just a wrapper around std::shared_ptr ensuring that the pointer is never null. (For reference-counted values, this is better than passing a "T&", because the latter doesn't maintain the refcount. Usually, the caller will have a shared_ptr keeping the value alive, but that's not always the case, e.g., when passing a reference to a std::thread via std::bind.)
2016-02-01Remove tests/lexer.shEelco Dolstra
"tests/lang.sh" can handle this.
2016-01-31Add build mode to compute fixed-output derivation hashesEelco Dolstra
For example, $ nix-build --hash -A nix-repl.src will build the fixed-output derivation nix-repl.src (a fetchFromGitHub call), but instead of *verifying* the hash given in the Nix expression, it prints out the resulting hash, and then moves the result to its content-addressed location in the Nix store. E.g build produced path ‘/nix/store/504a4k6zi69dq0yjc0bm12pa65bccxam-nix-repl-8a2f5f0607540ffe56b56d52db544373e1efb980-src’ with sha256 hash ‘0cjablz01i0g9smnavhf86imwx1f9mnh5flax75i615ml71gsr88’ The goal of this is to make all nix-prefetch-* scripts unnecessary: we can just let Nix run the real thing (i.e., the corresponding fetch* derivation). Another example: $ nix-build --hash -E 'with import <nixpkgs> {}; fetchgit { url = "https://github.com/NixOS/nix.git"; sha256 = "ffffffffffffffffffffffffffffffffffffffffffffffffffff"; }' ... git revision is 9e7c1a4bbdbe6129dd9dc385776612c307d3d1bb ... build produced path ‘/nix/store/gmsnh9i7x4mb7pyd2ns7n3c9l90jfsi1-nix’ with sha256 hash ‘1188xb621diw89n25rifqg9lxnzpz7nj5bfh4i1y3dnis0dmc0zp’ (Having to specify a fake sha256 hash is a bit annoying...)
2016-01-31Use the daemon when we don't have write access to the Nix databaseEelco Dolstra