about summary refs log tree commit diff
path: root/src/libstore/builtins.cc
AgeCommit message (Collapse)AuthorFilesLines
2016-09-14 Enable HTTP/2 supportEelco Dolstra1-4/+6
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-06-01 <nix/fetchurl.nix>: Use tarballs.nixos.orgEelco Dolstra1-20/+35
This ensures that the disappearance of upstream bootstrap tarballs (e.g. https://github.com/NixOS/nixpkgs-channels/pull/1) doesn't break stdenv rebuilds.
2016-06-01 TypoEelco Dolstra1-1/+1
2016-06-01 Make the store directory a member variable of StoreEelco Dolstra1-1/+0
2016-05-04 Add a Store::addToStore() variant that accepts a NAREelco Dolstra1-1/+1
As a side effect, this ensures that signatures are propagated when copying paths between stores. Also refactored import/export to make use of this.
2016-04-29 BinaryCacheStore: Support "none" compression methodEelco Dolstra1-1/+1
2016-04-15 BinaryCacheStore::readFile(): Return a shared_ptr to a stringEelco Dolstra1-4/+5
This allows readFile() to indicate that a file doesn't exist, and might eliminate some large string copying.
2016-02-29 Add an HTTP binary cache storeEelco Dolstra1-2/+2
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
2015-10-30 <nix/fetchurl.nix>: Support xz-compressed NARsEelco Dolstra1-0/+3
2015-10-30 <nix/fetchurl.nix>: Support downloading and unpacking NARsEelco Dolstra1-3/+14
This removes the need to have multiple downloads in the stdenv bootstrap process (like a separate busybox binary for Linux, or curl/mkdir/sh/bzip2 for Darwin). Now all those files can be combined into a single NAR.
2015-10-21 Show progress indicator for builtin fetchurlEelco Dolstra1-2/+4
2015-10-21 Disable TLS verification for builtin fetchurlEelco Dolstra1-1/+7
This makes it consistent with the Nixpkgs fetchurl and makes it work in chroots. We don't need verification because the hash of the result is checked anyway.
2015-07-23 Fix fetchurl of executable fileEelco Dolstra1-1/+1
Pointed out by @cstrahan, thanks!
2015-07-20 Make <nix/fetchurl.nix> a builtin builderEelco Dolstra1-0/+24
This ensures that 1) the derivation doesn't change when Nix changes; 2) the derivation closure doesn't contain Nix and its dependencies; 3) we don't have to rely on ugly chroot hacks.