Skip to content
Snippets Groups Projects
  1. Sep 14, 2016
    • Eelco Dolstra's avatar
      Enable HTTP/2 support · 90ad02bf
      Eelco Dolstra authored
      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.
      90ad02bf
    • Eelco Dolstra's avatar
      Add a toLower utility function · a75d11a7
      Eelco Dolstra authored
      a75d11a7
    • Eelco Dolstra's avatar
      e07c0dcf
  2. Sep 12, 2016
  3. Sep 08, 2016
  4. Sep 07, 2016
  5. Aug 31, 2016
  6. Aug 30, 2016
  7. Aug 29, 2016
  8. Aug 26, 2016
  9. Aug 24, 2016
    • Eelco Dolstra's avatar
      Fix queryPathFromHashPart() · a9d4f2b3
      Eelco Dolstra authored
      The inner lambda was returning a SQLite-internal char * rather than a
      std::string, leading to Hydra errors liks
      
        Caught exception in Hydra::Controller::Root->narinfo "path ‘ø˜£â€™ is not in the Nix store at /nix/store/6mvvyb8fgwj23miyal5mdr8ik4ixk15w-hydra-0.1.1234.abcdef/libexec/hydra/lib/Hydra/Controller/Root.pm line 352."
      a9d4f2b3
  10. Aug 23, 2016
    • Eelco Dolstra's avatar
      nix build: Use Nix search path · d74236d1
      Eelco Dolstra authored
      That is, unless --file is specified, the Nix search path is
      synthesized into an attribute set. Thus you can say
      
        $ nix build nixpkgs.hello
      
      assuming $NIX_PATH contains an entry of the form "nixpkgs=...". This
      is more verbose than
      
        $ nix build hello
      
      but is less ambiguous.
      d74236d1
  11. Aug 17, 2016
    • Jude Taylor's avatar
      iterate through fat_headers correctly · 50c3b5df
      Jude Taylor authored
      50c3b5df
    • Eelco Dolstra's avatar
      Add a mechanism for derivation attributes to reference the derivation's outputs · 22d6e31f
      Eelco Dolstra authored
      For example, you can now say:
      
        configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}";
      
      The strings returned by the ‘placeholder’ builtin are replaced at
      build time by the actual store paths corresponding to the specified
      outputs.
      
      Previously, you had to work around the inability to self-reference by doing stuff like:
      
        preConfigure = ''
          configureFlags+=" --prefix $out --includedir=$dev"
        '';
      
      or rely on ad-hoc variable interpolation semantics in Autoconf or Make
      (e.g. --prefix=\$(out)), which doesn't always work.
      22d6e31f
  12. Aug 16, 2016
Loading