Age | Commit message (Collapse) | Author |
|
|
|
|
|
istream->tellg() returns -1 so we can't get the number of bytes
written.
Fixes 'uploaded 's3://nix-cache/nar/00819r9lp5kajr6baxfw5dhhc0cx8ndxaz43qmd2f0gn1hk1ynlp.nar.xz' (-1 bytes) in 11620 ms' messages.
|
|
Since there are some incompatible changes, it's better to bump the
major version number.
|
|
The original idea was to implement a git-fetcher in Nix's core that
supports content hashes[1]. In #3549[2] it has been suggested to
actually use `fetchTree` for this since it's a fairly generic wrapper
over the new fetcher-API[3] and already supports content-hashes.
This patch implements a new git-fetcher based on `fetchTree` by
incorporating the following changes:
* Removed the original `fetchGit`-implementation and replaced it with an
alias on the `fetchTree` implementation.
* Ensured that the `git`-fetcher from `libfetchers` always computes a
content-hash and returns an "empty" revision on dirty trees (the
latter one is needed to retain backwards-compatibility).
* The hash-mismatch error in the fetcher-API exits with code 102 as it
usually happens whenever a hash-mismatch is detected by Nix.
* Removed the `flakes`-feature-flag: I didn't see a reason why this API
is so tightly coupled to the flakes-API and at least `fetchGit` should
remain usable without any feature-flags.
* It's only possible to specify a `narHash` for a `git`-tree if either a
`ref` or a `rev` is given[4].
* It's now possible to specify an URL without a protocol. If it's missing,
`file://` is automatically added as it was the case in the original
`fetchGit`-implementation.
[1] https://github.com/NixOS/nix/pull/3216
[2] https://github.com/NixOS/nix/pull/3549#issuecomment-625194383
[3] https://github.com/NixOS/nix/pull/3459
[4] https://github.com/NixOS/nix/pull/3216#issuecomment-553956703
|
|
|
|
"create" as in read one in from a serialized form, or build one from
scratch in memory.
|
|
derivation-primop-floating-output
|
|
into misc-ca
|
|
|
|
Hash always has a valid type
|
|
better-ca-parse-errors
|
|
|
|
into misc-ca
|
|
|
|
obsidiansystems/optional-derivation-output-storepath
Only store hash in DerivationOutput for fixed output derivations
|
|
ca-derivation-data-types
|
|
optional-derivation-output-storepath
|
|
|
|
Allow PRECOMPILE_HEADERS in cross-compilation
|
|
In cross, CXX will look like aarch64-unknown-linux-gnu-g++. We could
run some command to check what kind of compiler it is, but for now we
can just check if g++ is anywhere in the string. I couldn’t find any
"ends with" for makefile, so it can be anywhere in CXX.
|
|
This assumption is broken by CA derivations. Making a PR now to do the
breaking daemon change as soon as possible (if it is already too late,
we can bump protocol intead).
|
|
Reported by Kane York.
|
|
derivation-primop-floating-output
|
|
|
|
I think this better captures the intent of what's going on: we either
have an opaque store path, or a drv path with some outputs.
Having this structure will also help us support CA derivations: we'll
have to allow the outpath paths to be optional, so the structure we gain
now makes up for the structure we loose then.
|
|
|
|
derivation-primop-floating-output
|
|
|
|
Get rid of `basicDerivation::findOutput`
|
|
|
|
It's a tiny function which is:
- hardly worth abstrating over, and also only used once.
- doesn't work once we get CA drvs
I rewrote the one callsite to be forwards compatable with CA
derivations, and also potentially more performant: instead of reading in
the derivation it can ust consult the SQLite DB in the common case.
|
|
Save changes made by "nix registry pin" to user registry
|
|
|
|
Separate concerns in `scanForReferences` with TeeSink
|
|
We no longer need `ParsedDerivation` because everything libstore needs
to know about is in the `BasicDerivation` proper.
|
|
This also will make it easier to use a `HashModuloSink` instead for CA
derivations.
|
|
README: Fix link to hacking guide
|
|
The link was previously interpreted as if it were relative to the current file.
|
|
obsidiansystems/allow-relative-paths-in-store-option
Allow relative paths in --store option
|
|
Add response body to network errors
|
|
The was Eelco's prefered logic, and it looks good to me!
|
|
obsidiansystems/update-chunksize-to-suggested-value
Update chunkSize to the suggested value
|
|
This was a suggested course of action in a review in one of our earlier
commits, https://github.com/NixOS/nix/pull/3801#discussion_r457557079
|
|
|
|
|
|
|
|
Constant space `addToStoreFromDump` and deduplicate code
|
|
README: improve development docs
|
|
Correct bug, thoroughly document addToStoreSlow
|