aboutsummaryrefslogtreecommitdiff
path: root/src/nix-channel
AgeCommit message (Collapse)Author
2018-05-09make sure not to use cached channels for nix-channel --updateYorick van Pelt
fixes #1964
2018-04-21Fix library ordering in MakefilesAndrew Dunham
The existing ordering linked `libutil` before `libstore`, which causes link failures when building statically. This is due to `libstore` using functions from `libutil`, and the fact that symbol resolution works "forward" - i.e. if you pass `-lfoo -lbar -lbaz`, any symbols that `libbar` uses from `libbaz` will be resolved, but symbols from `libfoo` will not since it comes first in the command line. All this to say: this commit reorders the libraries which fixes the link errors.
2018-03-20Remove unused channel-cache directoryEelco Dolstra
2018-03-20Style fixEelco Dolstra
2018-02-08Add plugins to make Nix more extensible.Shea Levy
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2017-07-30Replace Unicode quotes in user-facing strings by ASCIIJörg Thalheim
Relevant RFC: NixOS/rfcs#4 $ ag -l | xargs sed -i -e "/\"/s/’/'/g;/\"/s/‘/'/g"
2017-05-16Improve progress indicatorEelco Dolstra
2017-05-05Figure out the user's home directory if $HOME is not setEelco Dolstra
2017-04-10nix-channel: error out if direct tarball unpack fails.Shea Levy
It's very unlikely a path ending in .tar.gz is a directory Fixes #1318
2016-11-26Revert "Get rid of unicode quotes (#1140)"Eelco Dolstra
This reverts commit f78126bfd6b6c8477fcdbc09b2f98772dbe9a1e7. There really is no need for such a massive change...
2016-11-25Get rid of unicode quotes (#1140)Guillaume Maudoux
2016-11-21nix-channel: Fix --update <CHANNELS>Eelco Dolstra
This unbreaks "nixos-rebuild --upgrade".
2016-09-14Enable HTTP/2 supportEelco Dolstra
The binary cache store can now use HTTP/2 to do lookups. This is much more efficient than HTTP/1.1 due to multiplexing: we can issue many requests in parallel over a single TCP connection. Thus it's no longer necessary to use a bunch of concurrent TCP connections (25 by default). For example, downloading 802 .narinfo files from https://cache.nixos.org/, using a single TCP connection, takes 11.8s with HTTP/1.1, but only 0.61s with HTTP/2. This did require a fairly substantial rewrite of the Downloader class to use the curl multi interface, because otherwise curl wouldn't be able to do multiplexing for us. As a bonus, we get connection reuse even with HTTP/1.1. All downloads are now handled by a single worker thread. Clients call Downloader::enqueueDownload() to tell the worker thread to start the download, getting a std::future to the result.
2016-08-31download.hh: Fix conflicts from nix-channel-c++ mergeShea Levy
2016-08-11nix-channel: implement in c++Shea Levy