Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-04-29 | Eliminate the substituter mechanism | Eelco Dolstra | 1 | -0/+12 | |
Substitution is now simply a Store -> Store copy operation, most typically from BinaryCacheStore to LocalStore. | |||||
2016-04-25 | Improved logging abstraction | Eelco Dolstra | 5 | -168/+165 | |
This also gets rid of --log-type, since the nested log type isn't useful in a multi-threaded situation, and nobody cares about the "pretty" log type. | |||||
2016-04-22 | Factor out parallel processing of work items that have dependencies | Eelco Dolstra | 1 | -0/+60 | |
2016-04-22 | ThreadPool: Start doing work as soon as work items are enqueued | Eelco Dolstra | 2 | -59/+84 | |
2016-04-22 | Make compression interruptible | Eelco Dolstra | 1 | -1/+3 | |
2016-04-21 | nix --help: Show short flags | Eelco Dolstra | 2 | -4/+6 | |
2016-04-20 | Cache path info lookups in SQLite | Eelco Dolstra | 4 | -7/+52 | |
This re-implements the binary cache database in C++, allowing it to be used by other Store backends, in particular the S3 backend. | |||||
2016-04-19 | Move path info caching from BinaryCacheStore to Store | Eelco Dolstra | 2 | -0/+12 | |
Caching path info is generally useful. For instance, it speeds up "nix path-info -rS /run/current-system" (i.e. showing the closure sizes of all paths in the closure of the current system) from 5.6s to 0.15s. This also eliminates some APIs like Store::queryDeriver() and Store::queryReferences(). | |||||
2016-04-15 | BinaryCacheStore::readFile(): Return a shared_ptr to a string | Eelco Dolstra | 2 | -4/+6 | |
This allows readFile() to indicate that a file doesn't exist, and might eliminate some large string copying. | |||||
2016-04-08 | Make LocalStore thread-safe | Eelco Dolstra | 1 | -3/+3 | |
Necessary for multi-threaded commands like "nix verify-paths". | |||||
2016-03-31 | Add missing -pthread | Eelco Dolstra | 1 | -1/+1 | |
https://hydra.nixos.org/build/33908385 | |||||
2016-03-29 | Improve SIGINT handling in multi-threaded programs | Eelco Dolstra | 3 | -5/+10 | |
The flag remembering whether an Interrupted exception was thrown is now thread-local. Thus, all threads will (eventually) throw Interrupted. Previously, one thread would throw Interrupted, and then the other threads wouldn't see that they were supposed to quit. | |||||
2016-03-29 | Add "nix verify-paths" command | Eelco Dolstra | 4 | -2/+135 | |
Unlike "nix-store --verify-path", this command verifies signatures in addition to store path contents, is multi-threaded (especially useful when verifying binary caches), and has a progress indicator. Example use: $ nix verify-paths --store https://cache.nixos.org -r $(type -p thunderbird) ... [17/132 checked] checking ‘/nix/store/rawakphadqrqxr6zri2rmnxh03gqkrl3-autogen-5.18.6’ | |||||
2016-03-15 | Fix Darwin build | Eelco Dolstra | 1 | -0/+1 | |
http://hydra.nixos.org/build/33279996 | |||||
2016-03-04 | Eliminate some large string copying | Eelco Dolstra | 2 | -3/+5 | |
2016-03-02 | Fix reading symlinks | Eelco Dolstra | 1 | -1/+1 | |
The st_size field of a symlink doesn't have to be correct, e.g. for /dev/fd symlinks. | |||||
2016-03-02 | FdSource: track number of bytes read | Eelco Dolstra | 2 | -5/+8 | |
2016-02-25 | Merge branch 'master' into new-cli | Eelco Dolstra | 1 | -0/+1 | |
2016-02-25 | Add NAR / Store accessor abstraction | Eelco Dolstra | 1 | -0/+1 | |
This is primary to allow hydra-queue-runner to extract files like "nix-support/hydra-build-products" from NARs in binary caches. | |||||
2016-02-25 | Fix short boolean flags | Eelco Dolstra | 1 | -1/+1 | |
2016-02-25 | Merge branch 'master' into new-cli | Eelco Dolstra | 13 | -97/+515 | |
2016-02-24 | deletePath(): Succeed if path doesn't exist | Eelco Dolstra | 2 | -6/+10 | |
Also makes it robust against concurrent deletions. | |||||
2016-02-24 | BinaryCacheStore: Implement addToStore() | Eelco Dolstra | 2 | -4/+16 | |
So now you can do $ NIX_REMOTE=file:///tmp/binary-cache nix-instantiate '<nixpkgs>' -A hello and lots of other operations. | |||||
2016-02-24 | Typo | Eelco Dolstra | 1 | -2/+2 | |
2016-02-24 | Move BinaryCacheStore / LocalBinaryCacheStore from Hydra | Eelco Dolstra | 1 | -0/+84 | |
So you can now do: $ NIX_REMOTE=file:///tmp/binary-cache nix-store -qR /nix/store/... | |||||
2016-02-24 | std::condition_variable_any -> std::condition_variable | Eelco Dolstra | 2 | -11/+11 | |
The latter is supposed to be more efficient. | |||||
2016-02-24 | C++ templates are just a glorified macro facility | Eelco Dolstra | 1 | -2/+2 | |
2016-02-24 | Remove bad daemon connections from the pool | Eelco Dolstra | 3 | -13/+50 | |
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-23 | Pool<T>: Allow a maximum pool size | Eelco Dolstra | 1 | -15/+54 | |
2016-02-23 | RemoteStore: Make thread-safe | Eelco Dolstra | 2 | -0/+180 | |
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-23 | Move ref<t> into a separate header | Eelco Dolstra | 2 | -59/+69 | |
2016-02-15 | Add xz compression function | Eelco Dolstra | 2 | -0/+42 | |
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-15 | decompressXZ: Ensure that lzma_end() is called | Eelco Dolstra | 1 | -12/+21 | |
Otherwise we might leak memory. | |||||
2016-02-12 | Merge pull request #762 from ctheune/ctheune-floats | Eelco Dolstra | 1 | -0/+8 | |
Implement floats | |||||
2016-02-11 | ref<T>: Add cast operator | Eelco Dolstra | 1 | -13/+6 | |
2016-02-09 | Start of new Nix command-line interface | Eelco Dolstra | 1 | -0/+2 | |
2016-02-09 | New command line parsing infrastructure | Eelco Dolstra | 2 | -0/+339 | |
2016-02-04 | Eliminate the "store" global variable | Eelco Dolstra | 2 | -0/+77 | |
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-01-27 | Define HashType's size to allow it to be forward-declared | Eelco Dolstra | 1 | -1/+1 | |
2016-01-27 | Trivia | Eelco Dolstra | 1 | -1/+2 | |
2016-01-27 | Make hashLength32() a method of Hash | Eelco Dolstra | 2 | -12/+15 | |
2016-01-20 | string2Int: Barf on negative numbers for unsigned types | Eelco Dolstra | 1 | -1/+3 | |
2016-01-05 | Fix compilation | Eelco Dolstra | 1 | -1/+7 | |
2016-01-05 | Merge pull request #685 from vizanto/master | Eelco Dolstra | 2 | -1/+7 | |
POSIX compliant directory access (fixes build on Solaris) | |||||
2016-01-05 | Fixed unresolved 'BUFSIZ' | FrankHB | 1 | -0/+1 | |
`BUFSIZ` is defined in header `<cstdio>`. | |||||
2016-01-05 | First hit at providing support for floats in the language. | Christian Theune | 1 | -0/+8 | |
2015-12-10 | Build sandbox support etc. unconditionally on Linux | Eelco Dolstra | 1 | -5/+5 | |
Also, use "#if __APPLE__" instead of "#if SANDBOX_ENABLED" to prevent ambiguity. | |||||
2015-11-25 | Use DT_UNKNOWN when dirent d_type extension is not supported. | Danny Wilson | 1 | -5/+1 | |
edolstra: “…since callers of readDirectory have to handle the possibility of DT_UNKNOWN anyway, and we don't want to do a stat call for every directory entry unless it's really needed.” | |||||
2015-11-16 | Default arguments belong at declaration, not definition | Shea Levy | 1 | -1/+1 | |
2015-11-16 | Fix copy-paste error | Shea Levy | 1 | -1/+1 | |