Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-09-30 | `std::visit` by reference | John Ericson | |
I had started the trend of doing `std::visit` by value (because a type error once mislead me into thinking that was the only form that existed). While the optomizer in principle should be able to deal with extra coppying or extra indirection once the lambdas inlined, sticking with by reference is the conventional default. I hope this might even improve performance. | |||
2021-07-22 | Use eval-store in more places | Eelco Dolstra | |
In particular, this now works: $ nix path-info --eval-store auto --store https://cache.nixos.org nixpkgs#hello Previously this would fail as it would try to upload the hello .drv to cache.nixos.org. Now the .drv is instantiated in the local store, and then we check for the existence of the outputs in cache.nixos.org. | |||
2021-04-05 | Move `StorePathWithOutputs` into its own header/file | John Ericson | |
In the following commits it will become less prevalent. | |||
2021-02-26 | Simplify the case where the drv is a purely input-addressed one | regnat | |
2021-02-19 | Remove the drv resolution caching mechanism | regnat | |
It isn't needed anymore now that don't need to eagerly resolve everything like we used to do. So we can safely get rid of it | |||
2021-02-19 | Don't expose the "bang" drvoutput syntax | Théophane Hufschmitt | |
It's not fixed nor useful atm, so better keep it hidden Co-authored-by: Eelco Dolstra <edolstra@gmail.com> | |||
2021-02-19 | Syntactic fixes | Théophane Hufschmitt | |
Co-authored-by: Eelco Dolstra <edolstra@gmail.com> | |||
2021-02-19 | Register the realisations for unresolved drvs | regnat | |
Once a build is done, get back to the original derivation, and register all the newly built outputs for this derivation. This allows Nix to work properly with derivations that don't have all their build inputs available − thus allowing garbage collection and (once it's implemented) binary substitution | |||
2020-12-17 | Fix the detection of already built drv outputs | regnat | |
PRs #4370 and #4348 had a bad interaction in that the second broke the fist one in a not trivial way. The issue was that since #4348 the logic for detecting whether a derivation output is already built requires some logic that was specific to the `LocalStore`. It happens though that most of this logic could be upstreamed to any `Store`, which is what this commit does. | |||
2020-12-11 | Use the hash modulo in the derivation outputs | regnat | |
Rather than storing the derivation outputs as `drvPath!outputName` internally, store them as `drvHashModulo!outputName` (or `outputHash!outputName` for fixed-output derivations). This makes the storage slightly more opaque, but enables an earlier cutoff in cases where a fixed-output dependency changes (but keeps the same output hash) − same as what we already do for input-addressed derivations. | |||
2020-11-19 | Make drv hash modulo memo table thread-safe | John Ericson | |
Let's get one step closer to the daemon not needing to fork. | |||
2020-11-17 | Cleanup | Eelco Dolstra | |
2020-11-17 | Fix deadlock in IFD through the daemon | Eelco Dolstra | |
Fixes #4235. | |||
2020-10-27 | Inline `unkownHashes` | regnat | |
See https://github.com/NixOS/nix/pull/4056#discussion_r493661632 | |||
2020-10-27 | Allow non-CA derivations to depend on CA derivations | regnat | |
2020-09-30 | Merge remote-tracking branch 'upstream/master' into templated-daemon-protocol | John Ericson | |
2020-09-30 | nix::worker_proto -> worker_proto | John Ericson | |
2020-09-30 | Revert "Use template structs instead of phantoms" | John Ericson | |
This reverts commit 9ab07e99f527d1fa3adfa02839da477a1528d64b. | |||
2020-09-22 | Merge remote-tracking branch 'upstream/master' into templated-daemon-protocol | John Ericson | |
2020-09-16 | Merge remote-tracking branch 'upstream/master' into ca-floating-upstream | John Ericson | |
2020-09-15 | Rename `Derivation::pathOpt` to `Derivation::path` | John Ericson | |
We no longer need the `*Opt` to disambiguate. | |||
2020-09-04 | Fix querying outputs for CA derivations some more | John Ericson | |
If we resolve using the known path of a derivation whose output we didn't have, we previously blew up. Now we just fail gracefully, returning the map of all outputs unknown. | |||
2020-09-04 | Fix floating CA tests | John Ericson | |
We will sometimes try to query the outputs of derivations we can't resolve. That's fine; it just means we don't know what those outputs are yet. | |||
2020-08-28 | Merge remote-tracking branch 'obsidian/single-ca-drv-build' into ↵ | John Ericson | |
ca-floating-upstream | |||
2020-08-28 | Merge remote-tracking branch 'upstream/master' into single-ca-drv-build | John Ericson | |
2020-08-27 | Merge pull request #3434 from Ericson2314/derivation-header-include-order | Eelco Dolstra | |
Revise division of labor in deserialization of derivations | |||
2020-08-24 | CA derivations that depend on other CA derivations | John Ericson | |
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com> | |||
2020-08-23 | Merge remote-tracking branch 'obsidian/write-derivation-borrow' into HEAD | John Ericson | |
2020-08-23 | `writeDerivation` just needs a plain store reference | John Ericson | |
2020-08-21 | "Downstream placeholders" should not be store paths | John Ericson | |
Insead they should be opaque `/<hash>` like the placeholders we already have. | |||
2020-08-19 | Merge branch 'master' of github.com:NixOS/nix into templated-daemon-protocol | John Ericson | |
2020-08-18 | Merge remote-tracking branch 'upstream/master' into ↵ | John Ericson | |
derivation-header-include-order | |||
2020-08-14 | Merge remote-tracking branch 'upstream/master' into single-ca-drv-build | John Ericson | |
2020-08-14 | Merge pull request #3875 from obsidiansystems/new-interface-for-path-pathOpt | Eelco Dolstra | |
Offer a safer interface for path and pathOpt | |||
2020-08-11 | Fix error in merge breaking floating CA drvs | John Ericson | |
Forgot to add this hunk! | |||
2020-08-10 | Merge branch 'small-drv-serialize-cleanup' of github.com:obsidiansystems/nix ↵ | John Ericson | |
into single-ca-drv-build | |||
2020-08-10 | Deduplicate parsing and reading derivations | John Ericson | |
2020-08-10 | Remove name parameter from `writeDerivation` | John Ericson | |
The name is now stored with the derivation itself. | |||
2020-08-07 | Squashed get CA derivations building | John Ericson | |
2020-08-06 | Use template structs instead of phantoms | Carlo Nucera | |
2020-08-06 | Merge branch 'drv-outputs-map-allow-missing-namespace' of ↵ | Carlo Nucera | |
github.com:obsidiansystems/nix into templated-daemon-protocol | |||
2020-08-05 | Merge branch 'master' of github.com:NixOS/nix into ↵ | Carlo Nucera | |
new-interface-for-path-pathOpt | |||
2020-08-05 | Merge remote-tracking branch 'obsidian/drv-outputs-map-allow-missing' into ↵ | John Ericson | |
templated-daemon-protocol | |||
2020-08-05 | Merge remote-tracking branch 'obsidian/misc-ca' into ↵ | John Ericson | |
derivation-primop-floating-output | |||
2020-08-05 | Sed some names to perhaps avoid conflicts | John Ericson | |
2020-08-05 | Make names more consistent | John Ericson | |
2020-08-05 | Merge remote-tracking branch 'upstream/master' into misc-ca | John Ericson | |
2020-08-04 | WIP systematize more of the worker protocol | John Ericson | |
This refactor should *not* change the wire protocol. | |||
2020-08-01 | Merge remote-tracking branch 'upstream/master' into ↵ | John Ericson | |
derivation-header-include-order | |||
2020-07-28 | Merge branch 'ca-drv' of github.com:Ericson2314/nix into misc-ca | John Ericson | |