Robert Hensing
9cd69e1c39
Merge pull request #9411 from edolstra/path-display
...
Improve SourceAccessor path display
2023-11-21 18:12:01 +01:00
Lin Jian
4d8decbd13
doc: fix number of template attributes
...
This number is not updated when welcomeText is added[1][2].
[1]: f3a2940e70
[2]: https://github.com/NixOS/nix/pull/6103
2023-11-21 16:52:25 +01:00
Théophane Hufschmitt
9ad9e988b8
Merge pull request #9425 from iFreilicht/fix-unbound-variable-errors
...
Fix "unbound variable" errors in bash
2023-11-21 15:12:32 +01:00
Felix Uhl
64827360be
Fix "unbound variable" errors in bash
...
Fixes #9414
2023-11-21 14:49:48 +01:00
Eelco Dolstra
c185e45ed7
Merge pull request #9410 from edolstra/shallow
...
Some shallow git fetching improvements
2023-11-21 12:58:01 +01:00
John Ericson
516e7ddc41
Merge pull request #9257 from Artturin/nixenvjsondrvpath
...
`nix-env --query`: fix `--json` ignoring `--drv-path`
2023-11-20 16:32:35 -05:00
Eelco Dolstra
99d5204baa
Persistently cache InputAccessor::fetchToStore()
...
This avoids repeated copying of the same source tree between Nix
invocations. It requires the accessor to have a "fingerprint" (e.g. a
Git revision) that uniquely determines its contents.
2023-11-20 20:04:37 +01:00
Eelco Dolstra
a0162d5732
Improve SourceAccessor path display
...
Backported from lazy-trees. This allows SourceAccessors to show the
origin of the accessor. E.g. we now get
copying '«git+https://github.com/blender/blender.git?ref=refs/heads/main&rev=4edc1389337dd3679ff66969c332d2aff52e1992»/ ' to the store
instead of
copying '/' to the store
2023-11-20 18:54:36 +01:00
Eelco Dolstra
071f14a0bb
Don't do shallow fetches over ssh
2023-11-20 17:25:40 +01:00
Eelco Dolstra
e4066c0444
Fetch specific Git revisions
...
This is more efficient, and necessary when using shallow=1 with a rev.
2023-11-20 17:25:40 +01:00
Eelco Dolstra
f450c8773c
Merge pull request #9408 from roblabla/fix-bad-format-string
...
Fix bad_format_string error when builder stdout contains %
2023-11-20 17:22:40 +01:00
Eelco Dolstra
e29e952a25
Merge pull request #9386 from hercules-ci/flake-update
...
flake.nix: Update nixpkgs: release-23.05 -> nixos-23.05-small
2023-11-20 16:51:20 +01:00
Eelco Dolstra
065cd5bed7
Merge pull request #9401 from NixOS/bump-2.20.0
...
Bump version
2023-11-20 15:42:53 +01:00
roblabla
e2b6821ca0
Fix bad_format_string error when builder stdout contains %
2023-11-20 15:41:38 +01:00
John Ericson
e540d48c4f
Merge pull request #9400 from hercules-ci/refactors-from-5e3986f59cb
...
Refactors from 5e3986f59c
2023-11-20 09:38:18 -05:00
Théophane Hufschmitt
cfc6494d57
Merge pull request #9390 from DavHau/git-shallow-docs
...
fetchTree: clarify docs for shallow flag
2023-11-20 15:15:25 +01:00
Eelco Dolstra
2a96445d75
Bump version
2023-11-20 15:06:28 +01:00
John Ericson
f9970fdc19
Merge pull request #9240 from edolstra/libgit2
...
Introduce libgit2
2023-11-20 09:00:27 -05:00
John Ericson
4ab27e5595
Merge remote-tracking branch 'upstream/master' into libgit2
2023-11-20 08:30:26 -05:00
Robert Hensing
6832d18ac7
Merge pull request #9399 from edolstra/revert-vlas
...
Revert use of boost::container::small_vector in the evaluator
2023-11-20 13:37:50 +01:00
Robert Hensing
a5e51a9e02
refactor Worker::childStarted/Terminated: use switch
...
Preparation for RFC 92 dynamic derivations.
2023-11-20 13:32:48 +01:00
Robert Hensing
7ac39ff05c
refactor Store::buildPaths: convert to string earlier
...
Preparation for RFC 92 dynamic derivations.
2023-11-20 13:11:58 +01:00
Eelco Dolstra
1d6abec993
Revert use of boost::container::small_vector in the evaluator
...
It caused random crashes (https://hydra.nixos.org/build/241514506 ,
https://hydra.nixos.org/build/241443330 ) because the heap allocation
done by small_vector in the not-small case is not scanned for GC
roots.
2023-11-20 12:35:35 +01:00
Qyriad
19993398a1
flakes: check for flake.nix before complaining that lstat on it fails
...
getFlake currently calls lstat (via isLink via canonPath) before it
performs the sanity check that a flake.nix exists in the first place.
This commit moves the check to before path canonicalization, so that
failed symlink check operations don't throw before the check does.
2023-11-20 03:37:02 -07:00
tomberek
fb68699456
Merge pull request #9370 from hercules-ci/add-value-types
...
refactor: Add `Value` types, use `std::span` for list iteration
2023-11-20 01:32:32 -05:00
Robert Hensing
4292d99756
Merge pull request #9395 from nbraud/buitlins
...
builtins.concatMap: Fix typo in error message
2023-11-20 00:25:03 +01:00
nicoo
d5928085d5
builtins.concatMap: Fix typo in error message
2023-11-19 19:57:07 +01:00
DavHau
796a7eb92d
fetchTree: clarify docs for shallow flag
2023-11-19 20:32:23 +07:00
Robert Hensing
fe4f573d49
flake.nix: Update nixpkgs: release-23.05 -> nixos-23.05-small
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/9eb24edd6a0027fed010ccfe300a9734d029983c' (2023-11-01)
→ 'github:NixOS/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18)
2023-11-19 11:38:58 +01:00
John Ericson
c4a74d6dcc
Merge pull request #9382 from tweag/filterSource-link
...
doc: Add link to filterSource from path
2023-11-19 00:06:18 -05:00
John Ericson
f739fc0729
Merge pull request #9379 from NixOS/shebang-virtual-dtor
...
Shebang parser: add virtual destructor
2023-11-19 00:05:34 -05:00
Silvan Mosberger
70ddf298e0
doc: Add link to filterSource from path
2023-11-19 04:09:14 +01:00
Robert Hensing
251fb23aea
Shebang parser: add virtual destructor
...
Fixes:
warning: destructor called on non-final 'nix::ParseUnquoted' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
2023-11-19 01:48:08 +01:00
John Ericson
87ac33f29a
Merge branch 'master' into nixenvjsondrvpath
2023-11-18 13:47:14 -05:00
Robert Hensing
1d86bb4f70
Merge pull request #9373 from obsidiansystems/fix-make-check
...
Fix `make check`
2023-11-17 19:09:38 +01:00
Robert Hensing
7762335a9c
Merge pull request #9374 from hercules-ci/fix-nogc
...
Fix buildNoGc
2023-11-17 18:16:11 +01:00
Robert Hensing
4a539ac3ea
Fix buildNoGc
...
Fixes https://hydra.nixos.org/build/241067941/nixlog/1
src/libexpr/eval.cc:1776:54: error: variable 'boost::container::small_vector<nix::Value*, 4> vArgs' has initializer but incomplete type
2023-11-17 17:38:08 +01:00
John Ericson
293ae59257
Fix make check
...
After 9c7749e135
, `libutil-tests_RUN`
doesn't exist. It needs to become `libutil-tests-exe_RUN`.
2023-11-17 11:26:45 -05:00
Eelco Dolstra
6acc9b11d9
Merge pull request #9372 from edolstra/release-notes
...
2.19 release notes
2023-11-17 14:52:40 +01:00
Théophane Hufschmitt
b1e7d7cad6
Merge pull request #9280 from R-VdP/rvdp/fix_remote_logging_phase_reporting
...
Include phase reporting in log file for ssh-ng builds
2023-11-17 14:37:09 +01:00
Eelco Dolstra
f7d59d0dda
Release notes
2023-11-17 14:21:17 +01:00
Eelco Dolstra
3a7f024a9c
Merge pull request #9363 from edolstra/symlink-regression
...
Fix symlink handling
2023-11-17 14:11:50 +01:00
Robert Hensing
d4370d8850
Merge pull request #9368 from frogamic/let-inherit
...
doc: Add example of inherit in a let expression
2023-11-17 11:22:27 +01:00
Robert Hensing
7b0e8c5c2c
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-11-17 10:56:23 +01:00
Robert Hensing
121665f377
nix-env: Use state.mkList, required for correct stats
2023-11-17 10:23:32 +01:00
Robert Hensing
260c614762
Value: use std::span, change use of const
...
**`Value` and `const`**
These two deserve some explanation. We'll get to lists later.
Values can normally be thought of as immutable, except they are
are also the vehicle for call by need, which must be implemented
using mutation.
This circumstance makes a `const Value` a rather useless thing:
- If it's a thunk, you can't evaluate it, except by copying, but
that would not be call by need.
- If it's not a thunk, you know the type, so the method that
acquired it for you should have returned something more specific,
such as a `const Bindings &` (which actually does make sense
because that's an immutable span of pointers to mutable `Value`s.
- If you don't care about the type yet, you might establish the
convention that `const Value` means `deepSeq`-ed data, but
this is hardly useful and not actually as safe as you would
supposedly want to trust it to be - just convention.
**Lists**
`std::span` is a tuple of pointer and size - just what we need.
We don't return them as `const Value`, because considering the
first bullet point we discussed before, we'd have to force all
the list values, which isn't what we want.
So what we end up with is a nice representation of a list in
weak head normal form: the spine is immutable, but the
items may need some evaluation later.
2023-11-17 10:19:03 +01:00
Robert Hensing
7055c65285
Value: extract Value::Lambda
2023-11-17 10:19:03 +01:00
Robert Hensing
6af1d9f7b9
Value: extract Value::FunctionApplicationThunk
2023-11-17 10:19:03 +01:00
Robert Hensing
b55203e874
Value: extract Value::ClosureThunk
2023-11-17 10:19:03 +01:00
Robert Hensing
d8ff5cfe8e
Value: extract Value::Path
2023-11-17 10:19:03 +01:00