aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/derivations.hh
AgeCommit message (Collapse)Author
2020-07-20Add UnimplementedError to ease grepping for theseCarlo Nucera
2020-07-17Add `DerivationType::CAFloating`John Ericson
2020-07-17Merge branch 'ca-drv' of github.com:Ericson2314/nix into misc-caCarlo Nucera
2020-07-17Merge branch 'multi-output-hashDerivationModulo' of ↵Carlo Nucera
github.com:Ericson2314/nix into misc-ca
2020-07-16Small namespace fixCarlo Nucera
2020-07-15Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
derivation-header-include-order
2020-07-12Change types to prepare the way for CA derivationsJohn Ericson
We've added the variant to `DerivationOutput` to support them, but made `DerivationOutput::path` partial to avoid actually implementing them. With this chage, we can all collaborate on "just" removing `DerivationOutput::path` calls to implement CA derivations.
2020-07-12Use more std::visit to prepare for new variantJohn Ericson
N.B. not using `std::visit` for fetchurl because there is no attempt to handle all the cases (e.g. no `else`) and lambda complicates early return.
2020-07-12DerivationOutputExtensional -> DerivationOutputInputAddressedJohn Ericson
Thanks @regnat for the great name.
2020-07-12String .drv suffix to create derivation nameJohn Ericson
2020-07-12std::string_view for new derivation name parametersJohn Ericson
2020-07-12BasicDerivation::findOutput cannot return reference anymoreJohn Ericson
2020-07-09Fix DerivationOutputExtensional nameMatthew Bauer
2020-07-08Only store hash of fixed derivation outputMatthew Bauer
we don’t need a full storepath for a fixedoutput derivation. So just putting the ingestion method + the hash is sufficient.
2020-07-08Add name to BasicDerivationMatthew Bauer
We always have a name for BasicDerivation, since we have a derivation store path that has a name.
2020-07-05Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order
2020-06-24Merge remote-tracking branch 'upstream/master' into ca-drvJohn Ericson
2020-06-21Merge remote-tracking branch 'upstream/master' into ca-drvJohn Ericson
2020-06-21Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order
2020-06-21Merge remote-tracking branch 'upstream/master' into ↵John Ericson
multi-output-hashDerivationModulo
2020-06-19Merge remote-tracking branch 'me/no-stringly-typed-derivation-output' into ↵John Ericson
validPathInfo-ca-proper-datatype
2020-06-19Remove unneeded constructor for `DerivationOutputHash`John Ericson
2020-06-19Use designated initializers for `DerivationOutputHash`John Ericson
2020-06-19FileSystemHash -> DerivationOutputHashJohn Ericson
2020-06-18Merge branch 'validPathInfo-temp' into validPathInfo-ca-proper-datatypeJohn Ericson
2020-06-17Merge remote-tracking branch 'upstream/master' into ↵John Ericson
no-stringly-typed-derivation-output
2020-06-17Move some Store functions from derivations.cc to store-api.ccJohn Ericson
This further continues with the dependency inverstion. Also I just went ahead and exposed `parseDerivation`: it seems like the more proper building block, and not a bad thing to expose if we are trying to be less wedded to drv files on disk anywas.
2020-06-17Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order
2020-06-17Merge remote-tracking branch 'upstream/master' into ↵John Ericson
multi-output-hashDerivationModulo
2020-06-17Merge remote-tracking branch 'upstream/master' into ca-drvJohn Ericson
2020-06-16Remove StorePath::clone() and related functionsEelco Dolstra
2020-06-12Remove Store::queryDerivationOutputNames()Eelco Dolstra
This function was used in only one place, where it could easily be replaced by readDerivation() since it's not performance-critical. (This function appears to have been modelled after queryDerivationOutputs(), which exists only to make the garbage collector faster.)
2020-06-03Use enum and predicates rather than bitfile for derivation typeJohn Ericson
2020-06-03Merge remote-tracking branch 'upstream/master' into ca-drvJohn Ericson
2020-06-02Move file-hash to content-addressCarlo Nucera
2020-06-02WIPCarlo Nucera
2020-06-01Create new file-hash filesCarlo Nucera
2020-06-01Merge branch 'derivation-header-include-order' of github.com:Ericson2314/nix ↵Carlo Nucera
into validPathInfo-ca-proper-datatype
2020-05-28Merge remote-tracking branch 'me/more-rust-ffi' into ↵John Ericson
no-stringly-typed-derivation-output
2020-05-28Merge remote-tracking branch 'upstream/master' into more-rust-ffiJohn Ericson
2020-03-30Store parsed hashes in `DerivationOutput`John Ericson
It's best to detect invalid data as soon as possible, with data types that make storing it impossible.
2020-03-30Merge remote-tracking branch 'me/enum-FileIngestionMethod' into HEADJohn Ericson
2020-03-29Replace some `bool recursive` with a new `FileIngestionMethod` enumJohn Ericson
2020-03-25Extend Rust FFIJohn Ericson
Do idiomatic C++ copy and move constructors for a few things, so wrapping structs' defaults can work.
2020-03-24Flip dependency so store-api.hh includes derivations.hhJohn Ericson
I think it makes more sense to define the data model (derivations), before the operations (store api).
2020-03-24Use std::string_viewEelco Dolstra
(cherry picked from commit 6529490cc10018d5191e50c482ac1180b96b1a3c)
2020-03-19Apply suggestions from code reviewJohn Ericson
2020-03-19Apply suggestions from code reviewJohn Ericson
Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>
2020-03-19hashDerivationModulo: Generalize for multiple fixed ouputs per drvJohn Ericson
See documentattion in header and comments in implementation for details. This is actually done in preparation for floating ca derivations, not multi-output fixed ca derivations, but the distinction doesn't yet mattter. Thanks @cole-h for finding and fixing a bunch of typos.
2020-03-15Generalize `isFixedOutput` in preparation for CA drvsJohn Ericson
Today's fixed output derivations and regular derivations differ in a few ways which are largely orthogonal. This replaces `isFixedOutput` with a `type` that returns an enum of possible combinations.