Skip to content
Snippets Groups Projects
  1. Jan 06, 2021
  2. Nov 21, 2020
  3. Sep 17, 2020
    • Eelco Dolstra's avatar
      Remove corepkgs/config.nix · c9f51e87
      Eelco Dolstra authored
      This isn't used anywhere except in the configure script of the Perl
      bindings. I've changed the latter to use the C++ API's Settings object
      at runtime.
      c9f51e87
  4. Aug 08, 2020
  5. Aug 05, 2020
  6. Jul 28, 2020
  7. Jul 13, 2020
  8. Jul 12, 2020
  9. Jul 08, 2020
  10. Jul 05, 2020
  11. Jul 03, 2020
  12. Jun 19, 2020
  13. Jun 18, 2020
  14. Jun 03, 2020
  15. Mar 30, 2020
  16. Mar 29, 2020
  17. Mar 10, 2020
  18. Dec 10, 2019
    • Eelco Dolstra's avatar
      Make the Store API more type-safe · bbe97dff
      Eelco Dolstra authored
      Most functions now take a StorePath argument rather than a Path (which
      is just an alias for std::string). The StorePath constructor ensures
      that the path is syntactically correct (i.e. it looks like
      <store-dir>/<base32-hash>-<name>). Similarly, functions like
      buildPaths() now take a StorePathWithOutputs, rather than abusing Path
      by adding a '!<outputs>' suffix.
      
      Note that the StorePath type is implemented in Rust. This involves
      some hackery to allow Rust values to be used directly in C++, via a
      helper type whose destructor calls the Rust type's drop()
      function. The main issue is the dynamic nature of C++ move semantics:
      after we have moved a Rust value, we should not call the drop function
      on the original value. So when we move a value, we set the original
      value to bitwise zero, and the destructor only calls drop() if the
      value is not bitwise zero. This should be sufficient for most types.
      
      Also lots of minor cleanups to the C++ API to make it more modern
      (e.g. using std::optional and std::string_view in some places).
      bbe97dff
  19. Nov 26, 2019
  20. Nov 07, 2019
  21. Jul 03, 2019
  22. Mar 25, 2019
  23. May 30, 2018
    • Eelco Dolstra's avatar
      Modularize config settings · 737ed88f
      Eelco Dolstra authored
      Allow global config settings to be defined in multiple Config
      classes. For example, this means that libutil can have settings and
      evaluator settings can be moved out of libstore. The Config classes
      are registered in a new GlobalConfig class to which config files
      etc. are applied.
      
      Relevant to https://github.com/NixOS/nix/issues/2009 in that it
      removes the need for ad hoc handling of useCaseHack, which was the
      underlying cause of that issue.
      737ed88f
  24. Mar 20, 2018
  25. Jul 30, 2017
  26. Jul 04, 2017
  27. May 03, 2017
  28. Apr 26, 2017
  29. Apr 14, 2017
  30. Apr 13, 2017
  31. Apr 11, 2017
  32. Mar 31, 2017
  33. Mar 21, 2017
  34. Feb 16, 2017
  35. Feb 07, 2017
  36. Nov 25, 2016
Loading