aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
AgeCommit message (Collapse)Author
2020-07-16Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
optional-derivation-output-storepath
2020-07-16Generations API cleanupEelco Dolstra
2020-07-16Merge remote-tracking branch 'origin/flakes'Eelco Dolstra
2020-07-15Revert "LocalStore::addToStore(srcPath): Handle the flat case"Eelco Dolstra
This reverts commit a2c27022e9afc394e08d34d349587c8903fc1a97. See addToStoreSlow(), we don't need to handle this case efficiently anymore. In fact, we can almost remove the method/hashAlgo arguments since the non-recursive and/or non-SHA256 are almost not used anymore.
2020-07-14Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-07-14DohEelco Dolstra
2020-07-13Fix 'nix verify --all' on a binary cache (cached case)Eelco Dolstra
2020-07-13Make 'nix copy' to s3:// binary caches run in constant memoryEelco Dolstra
2020-07-13Remove istringstream_nocopyEelco Dolstra
2020-07-13Remove 'accessor' from addToStore()Eelco Dolstra
This is only used by hydra-queue-runner and it's better to implement it there.
2020-07-13NarAccessor: Run in constant memoryEelco Dolstra
2020-07-13Make 'nix copy' to file:// binary caches run in constant memoryEelco Dolstra
2020-07-13Store::pathInfoToJSON(): Use consistent format for downloadHashEelco Dolstra
2020-07-13toStorePath(): Return a StorePath and the suffixEelco Dolstra
2020-07-13Fix 'nix verify --all' on a binary cache and add a testEelco Dolstra
2020-07-12DerivationOutputExtensional -> DerivationOutputInputAddressedJohn Ericson
Thanks @regnat for the great name.
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-11Merge remote-tracking branch 'upstream/master' into ↵John Ericson
optional-derivation-output-storepath
2020-07-10Avoid a redundant hashEelco Dolstra
2020-07-10Factor out commonality between nix-prefetch-url and nix-store --add-fixedEelco Dolstra
2020-07-09Fix DerivationOutputExtensional nameMatthew Bauer
2020-07-09LocalStore::addToStore(srcPath): Handle the flat caseEelco Dolstra
This helps nix-prefetch-url when using a local store.
2020-07-08Fix build.cc on linuxMatthew 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-08CleanupEelco Dolstra
2020-07-08Make LocalStore::addToStore(srcPath) run in constant memoryEelco Dolstra
This reduces memory consumption of nix-instantiate \ -E 'with import <nixpkgs> {}; runCommand "foo" { src = ./blender; } "echo foo"' \ --option nar-buffer-size 10000 (where ./blender is a 1.1 GiB tree) from 1716 to 36 MiB, while still ensuring that we don't do any write I/O for small source paths (up to 'nar-buffer-size' bytes). The downside is that large paths are now always written to a temporary location in the store, even if they produce an already valid store path. Thus, adding large paths might be slower and run out of disk space. ¯\_(ツ)_/¯ Of course, you can always restore the old behaviour by setting 'nar-buffer-size' to a very high value.
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-08Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-07-08Fix 'got unknown message type 1 from Nix daemon'Eelco Dolstra
Example: $ nix-build -E 'with import <nixpkgs> {}; runCommand "foo" { x = runCommand "bar" {} "exit 1"; } "echo foo; exit 1"' warning: unknown setting 'auto-allocate-uids' these 2 derivations will be built: /nix/store/v4fbdbhcdi949929a67g8farwf72zgam-bar.drv /nix/store/k4fsvrjl7cp2xpz7927iv7g0dqj1zyhs-foo.drv warning: unknown setting 'auto-allocate-uids' building '/nix/store/v4fbdbhcdi949929a67g8farwf72zgam-bar.drv'... error: --- Error ----------------------------------------------------------------------------------------------------------------------------------------------------------------- nix-daemon builder for '/nix/store/v4fbdbhcdi949929a67g8farwf72zgam-bar.drv' failed with exit code 1 error: --- Error ------------------------------------------------------------------------------------------------------------------------------------------------------------------ nix-build got unknown message type 1 from Nix daemon
2020-07-07Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-07-07exportReferencesGraph: Fix support for non-top-level store pathsEelco Dolstra
Fixes #3471.
2020-07-06Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-07-03Merge branch 'master' into add-traceBen Burdette
2020-07-03Shorten the path to the test rootregnat
Fix a socket length failure on the OSX builders
2020-07-02move showTrace to new loggerSettingsBen Burdette
2020-07-01CleanupEelco Dolstra
2020-07-01Merge branch 'remote-query-outputs' of https://github.com/tweag/nixEelco Dolstra
2020-06-30comments and cleanupBen Burdette
2020-06-30Merge branch 'master' into add-traceBen Burdette
2020-06-29showTrace flag in loggersBen Burdette
2020-06-29Merge pull request #3729 from obsidiansystems/simpler-hased-mirrorEelco Dolstra
hashed-mirrors: Use parsed derivation output rather than reconstructing it
2020-06-29Merge pull request #3749 from rodarima/masterEelco Dolstra
Fall back to copyPath if link fails with EPERM
2020-06-26Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-06-25Fix empty std::optional dereference in writeDerivation()Eelco Dolstra
https://hydra.nixos.org/build/123017579
2020-06-25Fall back to copyPath if link fails with EPERMRodrigo
BeeGFS doesn't allow hard-links and returns EPERM, so we fall back to copyPath. See https://github.com/NixOS/nix/issues/3748
2020-06-24Add a way to get all the outputs of a derivation with their labelregnat
Generalize `queryDerivationOutputNames` and `queryDerivationOutputs` by adding a `queryDerivationOutputMap` that returns the map `outputName=>outputPath` (not that this is not equivalent to merging the results of `queryDerivationOutputs` and `queryDerivationOutputNames` as sets don't preserve the order, so we would end up with an incorrect mapping). squash! Add a way to get all the outputs of a derivation with their label Rename StorePathMap to OutputPathMap
2020-06-22hashed-mirrors: Use parsed derivation output rather than reconstructing itJohn Ericson
Now the derivation outputs are parsed up front, we can avoid a reparse by doing it. Also, this just feels a bit better as the `output*` env vars are more of a `libnixexpr` interface than `libnixstore` interface: ultimately, it's the derivation outputs that decide whether the derivation is fixed-output. Yes, hashed mirrors might go away with #3689, but this bit of code would be moved rather than deleted, so it's worth doing a cleanup anyways I think.