aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/derivations.cc
AgeCommit message (Collapse)Author
2020-07-12Undo erroneous indentation changeJohn Ericson
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-07-02Tighten parsing for drv files and pathinfoCarlo Nucera
2020-07-01Rename two hash constructors to proper functionsCarlo Nucera
2020-06-25Fix empty std::optional dereference in writeDerivation()Eelco Dolstra
https://hydra.nixos.org/build/123017579
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-21Don't anticipate hash algo without hash in derivation for nowJohn Ericson
When we merge with master, the new lack of string types make this case impossible (after parsing). Later, when we actually implemenent CA-derivations, we'll change the types to allow that.
2020-06-21Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order
2020-06-21Tweak declarationJohn Ericson
I think this is clearer
2020-06-21Merge remote-tracking branch 'upstream/master' into ↵John Ericson
multi-output-hashDerivationModulo
2020-06-19Merge remote-tracking branch 'upstream/master' into no-hash-type-unknownJohn Ericson
2020-06-19Merge remote-tracking branch 'me/no-stringly-typed-derivation-output' into ↵John Ericson
validPathInfo-ca-proper-datatype
2020-06-19Use designated initializers for `DerivationOutputHash`John Ericson
2020-06-19FileSystemHash -> DerivationOutputHashJohn Ericson
2020-06-19Remove some `Base::` that crept inJohn Ericson
2020-06-18Merge branch 'validPathInfo-temp' into validPathInfo-ca-proper-datatypeJohn Ericson
2020-06-18Merge branch 'no-hash-type-unknown' into validPathInfo-tempJohn Ericson
2020-06-18Revert the `enum struct` changeJohn Ericson
Not a regular git revert as there have been many merges and things.
2020-06-18Merge branch 'enum-class' into no-hash-type-unknownJohn Ericson
2020-06-18Merge remote-tracking branch 'upstream/master' into enum-classJohn 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
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-15Merge branch 'errors-phase-2' of https://github.com/bburdette/nixEelco Dolstra
2020-06-12Add Store::readDerivation() convenience functionEelco 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-03Merge remote-tracking branch 'obsidian/no-hash-type-unknown' into ↵John Ericson
validPathInfo-ca-proper-datatype
2020-06-02Remove `HashType::Unknown`John Ericson
Instead, `Hash` uses `std::optional<HashType>`. In the future, we may also make `Hash` itself require a known hash type, encoraging people to use `std::optional<Hash>` instead.
2020-06-01Create new file-hash filesCarlo Nucera
2020-06-01Merge branch 'no-stringly-typed-derivation-output' of ↵Carlo Nucera
github.com:Ericson2314/nix into validPathInfo-ca-proper-datatype
2020-05-29Merge remote-tracking branch 'upstream/master' into errors-phase-2Ben Burdette
2020-05-28Merge branch 'master' of github.com:NixOS/nix into enum-classCarlo Nucera
2020-05-26Merge remote-tracking branch 'john-ericson/enum-FileIngestionMethod' into ↵Carlo Nucera
no-stringly-typed-derivation-output
2020-05-26Merge remote-tracking branch 'origin/master' into enum-FileIngestionMethodCarlo Nucera
2020-05-11Merge branch 'master' into errors-phase-2Ben Burdette
2020-04-21remove 'format' from Error constructor callsBen Burdette
2020-04-07Backport libfetchers from the flakes branchEelco Dolstra
This provides a pluggable mechanism for defining new fetchers. It adds a builtin function 'fetchTree' that generalizes existing fetchers like 'fetchGit', 'fetchMercurial' and 'fetchTarball'. 'fetchTree' takes a set of attributes, e.g. fetchTree { type = "git"; url = "https://example.org/repo.git"; ref = "some-branch"; rev = "abcdef..."; } The existing fetchers are just wrappers around this. Note that the input attributes to fetchTree are the same as flake input specifications and flake lock file entries. All fetchers share a common cache stored in ~/.cache/nix/fetcher-cache-v1.sqlite. This replaces the ad hoc caching mechanisms in fetchGit and download.cc (e.g. ~/.cache/nix/{tarballs,git-revs*}). This also adds support for Git worktrees (c169ea59049f861aaba429f48b828d0820b74d1d).
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-29Replace some `bool recursive` with a new `FileIngestionMethod` enumJohn Ericson