lix/src
Théophane Hufschmitt 390269ed87 Simplify the handling of the hash modulo
Rather than having four different but very similar types of hashes, make
only one, with a tag indicating whether it corresponds to a regular of
deferred derivation.

This implies a slight logical change: The original Nix+multiple-outputs
model assumed only one hash-modulo per derivation. Adding
multiple-outputs CA derivations changed this as these have one
hash-modulo per output. This change is now treating each derivation as
having one hash modulo per output.
This obviously means that we internally loose the guaranty that
all the outputs of input-addressed derivations have the same hash
modulo. But it turns out that it doesn’t matter because there’s nothing
in the code taking advantage of that fact (and it probably shouldn’t
anyways).

The upside is that it is now much easier to work with these hashes, and
we can get rid of a lot of useless `std::visit{ overloaded`.

Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2022-03-29 18:17:35 +02:00
..
build-remote Generalize DerivationType in preparation for impure derivations 2022-03-18 14:59:56 +00:00
libcmd nix profile install: Don't use queryDerivationOutputMap() 2022-03-28 14:23:39 +02:00
libexpr Simplify the handling of the hash modulo 2022-03-29 18:17:35 +02:00
libfetchers Don't partial match sourcehut refs 2022-03-19 11:04:04 -03:00
libmain Factor out a GcStore interface 2022-03-03 19:01:25 +00:00
libstore Simplify the handling of the hash modulo 2022-03-29 18:17:35 +02:00
libutil Revert "TarArchive: Small refactoring" 2022-03-24 22:30:46 +01:00
nix Simplify the handling of the hash modulo 2022-03-29 18:17:35 +02:00
nix-build Desugar StorePathWithOutputs in nix-build implementation 2022-03-11 20:50:52 +00:00
nix-channel Fix segfault in headerCallback() 2022-03-03 11:11:16 +01:00
nix-collect-garbage Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
nix-copy-closure copyPaths: Pass store by reference 2021-07-22 09:59:51 +02:00
nix-env Don't hide repeated values while generating manifest.nix 2022-03-22 13:18:56 +01:00
nix-instantiate Add EvalState::coerceToStorePath() helper 2022-03-02 23:58:58 +01:00
nix-store Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
resolve-system-dependencies Fix macOS build 2022-02-21 17:14:22 +01:00
toml11 Replace cpptoml with toml11 2021-12-17 22:03:33 +01:00