aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-07-14Fix localhost::addToStore(...Path...)John Ericson
We were calculating the nar hash wrong when the file ingestion method was flat. I don't think there's anything we can do in that case but dump the file again, so that's what I do. As an optomization, we again could reuse the original dump for just the recursive and non-sha256 case, but I rather do that after this fix, and after my other PRs which deduplicate this code.
2020-07-14LocalStore::addToStoreFromDump copy in chunksJohn Ericson
Rather than copying byte-by-byte, we let the coroutine know how much data we would like it to send back to us.
2020-07-14Dedup `LocalStore::addToStore*`John Ericson
The downsides is that the coroutine has byte-by-byte loop transfer. Will fix that next.
2020-07-14Crudely make `addToStoreFromDump` take `Source` not stringJohn Ericson
I just as little beyond the type as possible, so the implementation changes this enables can be reviewed separately.
2020-07-14Narrow scope of temporary valueJohn Ericson
2020-07-14Merge pull request #3809 from Ma27/gitlab-refsEelco Dolstra
Fix gitlab-fetcher to obtain tags and branches
2020-07-14EvalCache: Ignore SQLite errorsEelco Dolstra
Fixes #3794.
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-13nix verify: Show correct path when using --all on a binary cacheEelco Dolstra
2020-07-13Make 'nix copy' to s3:// binary caches run in constant memoryEelco Dolstra
2020-07-13Fix gitlab-fetcher to obtain tags and branchesMaximilian Bosch
Until now, the `gitlab`-fetcher determined the source's rev by checking the latest commit of the given `ref` using the `/repository/branches`-API. This breaks however when trying to fetch a gitlab-repo by its tag: ``` $ nix repl nix-repl> builtins.fetchTree gitlab:Ma27/nvim.nix/0.2.0 error: --- Error ------------------------------------------------------------------------------------- nix unable to download 'https://gitlab.com/api/v4/projects/Ma27%2Fnvim.nix/repository/branches/0.2.0': HTTP error 404 ('') ``` When using the `/commits?ref_name`-endpoint[1] you can pass any kind of valid ref to the `gitlab`-fetcher. Please note that this fetches the only first 20 commits on a ref, unfortunately there's currently no endpoint which only retrieves the latest commit of any kind of `ref`. [1] https://docs.gitlab.com/ee/api/commits.html#list-repository-commits
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-13Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
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-12Fix ANSI color constantsMaximilian Bosch
The `m` acts as termination-symbol when declaring graphics. Because of this, the `;1m` doesn't have any effect and is directly printed to the console: ``` $ nix repl > builtins.fetchGit { /* ... */ } { outPath = "/nix/store/s0f0iz4a41cxx2h055lmh6p2d5k5bc6r-source"; rev = "e73e45b723a9a6eecb98bd5f3df395d9ab3633b6"; revCount = ;1m428; shortRev = "e73e45b"; submodules = ;1mfalse; } ``` Introduced by 6403508f5a2fcf073b2a0d4e5fcf5f5ebb890384.
2020-07-12Set derivation name in dervationStrictJohn Ericson
2020-07-12Don't improperly assume path is store pathJohn 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-10nix-store --add-fixed: Run in constant memoryEelco Dolstra
2020-07-10nix-prefetch-url: Run in constant memory when using RemoteStoreEelco Dolstra
Fixes #3684.
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-07Fix coverage buildEelco Dolstra
2020-07-07exportReferencesGraph: Fix support for non-top-level store pathsEelco Dolstra
Fixes #3471.
2020-07-06bumpBen Burdette
2020-07-06revamp trace code and testBen Burdette
2020-07-06nix develop: Support derivations with multiple outputsEelco Dolstra
2020-07-06nix develop: Fall back to "bash" if nixpkgs#bashInteractive is unavailableEelco Dolstra