Sergei Zimmerman
593e0eebeb
libutil: Fix Pos::getSourcePath
...
Previous implementation didn't actually check if
std::get_if returned a nullptr:
std::optional<SourcePath> getSourcePath() const {
return *std::get_if<SourcePath>(&origin);
}
(cherry picked from commit 50123f2a56
)
2025-03-14 13:22:52 +00:00
Sergei Zimmerman
8c2a792d2b
libutil: Document hacks and problems around Pos class
...
This should provide context for follow-up commits in
the patch series.
(cherry picked from commit bf12aedf2e
)
2025-03-14 13:22:52 +00:00
Sergei Zimmerman
b540c2419f
{libutil,libexpr}: Move pos-idx,pos-table code to libutil
...
All of this code doesn't actually depend on anything from
libexpr. Because Pos is so tigtly coupled with Error, it
makes sense to have in the same library.
(cherry picked from commit a53b184e63
)
2025-03-14 13:22:52 +00:00
Robert Hensing
dc6a936d97
repl: Fix :print corruption
...
See preceding commits.
(cherry picked from commit 1e1c587073
)
2025-03-04 19:10:02 +00:00
Robert Hensing
ac3fc8876c
refactor: RAII logger suspension
...
(cherry picked from commit 30694b5d8a
)
2025-03-04 19:10:01 +00:00
Robert Hensing
375df6c086
repl: Fix value printing corruption
...
The resume call would get some non-flushed(?) data.
Extending the pause to include the newline makes the complete flush
part of the pause.
(cherry picked from commit 880489051a
)
2025-03-04 19:10:01 +00:00
Robert Hensing
88e6b7d6b2
progress-bar: Make pause/resume nestable
...
(cherry picked from commit 49d8ee5359
)
2025-03-04 19:10:01 +00:00
John Ericson
f278a631b0
Expand manual on derivation outputs
...
Note, this includes some text adapted from from Eelco's dissertation
(cherry picked from commit 2aa6e0f084
)
2025-03-03 22:13:08 +00:00
John Ericson
f636ced7d2
Revert "Revert "Revert "Adapt scheduler to work with dynamic derivations"""
...
The bug reappeared after all, and the fix introduced a different bug. We
want to release 2.27 imminently so there is no time to do a proper fix,
which appears to require a larger reworking. Hopefully we will have it
for 2.28, however.
This reverts commit c98525235f
.
2025-02-27 13:42:57 -05:00
Eelco Dolstra
1293388039
Merge pull request #12544 from xokdvium/debugger-use-after-free
...
libexpr: Fix use-after-free of StaticEnv::up
2025-02-27 16:55:49 +01:00
Eelco Dolstra
ec8f78b0be
Fix mingw build
...
https://hydra.nixos.org/build/291153007
2025-02-26 19:54:47 +01:00
Eelco Dolstra
81834e7f00
Merge pull request #12566 from NaN-git/fix-curl-callback
...
libstore: fix curl callback function signature
2025-02-25 20:15:06 +01:00
Eelco Dolstra
671d1b0123
Merge pull request #12501 from DeterminateSystems/stop-progress-bar
...
Remove {start,stop}ProgressBar()
2025-02-25 20:07:29 +01:00
Philipp Otterbein
b074345d35
libstore: fix curl callback function signature
2025-02-25 19:42:59 +01:00
Robert Hensing
1222438ae7
Merge remote-tracking branch 'upstream/master' into tomberek.access-token-prefixing
2025-02-25 15:40:34 +01:00
Robert Hensing
c07172220c
refact: Rename url -> hostAndPath
...
https://github.com/NixOS/nix/pull/12465/files#r1955286197
> Perhaps that is a misnomer.
2025-02-25 15:21:09 +01:00
Eelco Dolstra
14c9755462
nix flake archive: Recurse into relative path inputs
...
We can't ignore them entirely, since we do want to archive their
transitive inputs.
Fixes #12438 .
2025-02-24 22:10:02 +01:00
Eelco Dolstra
b4dfeafed5
nix flake archive: Skip relative path inputs
...
Fixes #12438 .
2025-02-24 15:30:30 +01:00
Eelco Dolstra
f3ea14c8dc
Merge pull request #12542 from tomberek/tomberek.ssl-default
...
doc: ssl-cert-file leaks into OSX builds
2025-02-24 14:51:34 +01:00
Eelco Dolstra
d904921eec
Merge pull request #12510 from tie/fix-progress-parallel
...
libstore: fix expected bytes in progress bar
2025-02-21 20:11:18 +01:00
Sergei Zimmerman
af2ddfdb3b
libexpr: Fix use-after-free of StaticEnv::up
...
It's not very clear what the ownership model is here, but one thing
is certain: `.up` can't be destroyed before the StaticEnv that refers
to it is.
Changing a non-owning pointer to taking shared ownership of the parent
`StaticEnv` prevents the `.up` from being freed.
I'm not a huge fan of the inverted ownership, where child `StaticEnv`
takes a refcount of the parent, but this seems like the least intrusive
way to fix the use-after-free.
This shouldn't cause any shared_ptr cycles to appear (hopefully).
2025-02-21 14:36:39 +00:00
Fabian Möller
5cf9e18167
Fix perl store bindings
...
When #9863 converted the `Nix::Store` free functions into member functions, the
implicit `this` argument was not accounted for when iterating over the variable
number of arguments in some functions.
2025-02-21 11:49:00 +01:00
Thomas Bereknyei
bbf6ff29e6
doc: ssl-cert-file leaks into OSX builds
2025-02-20 17:57:10 -05:00
Sergei Zimmerman
d95b7fea8e
libfetchers-tests: Add back git-utils.cc
...
Seems like this got dropped at some point during meson migration, so
put it back in the build system.
Drop all tests for `parseGitUrl`, since that function doesn't exist
and migrating doesn't look sensible because git-lfs stuff seems to use
`ParsedURL`.
2025-02-20 20:19:16 +00:00
Robert Hensing
76f4119605
Merge pull request #12391 from SuperSandro2000/per-user-stat-chmod
...
Only try to chmod /nix/var/nix/profiles/per-user when necessary
2025-02-20 17:10:24 +01:00
John Ericson
de22f58dfc
Introduce EvalStore::storePath
...
This abstracts over a common case. Good for brevity, and enabling
further experiments.
2025-02-19 21:24:26 -05:00
Eelco Dolstra
ec7dc56f4e
Remove unused variable
2025-02-20 01:09:18 +01:00
Eelco Dolstra
8dc2b2715b
In pure eval mode, restrict rootFS to just the Nix store
...
Note that in pure mode, we don't need to use the union FS even when
using a chroot store, since the user shouldn't have access to the
physical /nix/store.
2025-02-19 23:13:11 +01:00
Eelco Dolstra
4206d95996
Remove sourcePathToStorePath()
...
It's no longer needed now that all store paths inside the evaluator
are logical rather than real paths.
2025-02-19 21:31:25 +01:00
Eelco Dolstra
584ddd1b4d
UnionSourceAccessor: Don't filter out underlying files of the wrong type
...
https://github.com/NixOS/nix/pull/12512#discussion_r1961567140
2025-02-19 13:34:42 +01:00
Eelco Dolstra
99e78c37f7
Use UnionSourceAccessor to mount the chroot store on top of the real store directory
2025-02-19 12:54:09 +01:00
Eelco Dolstra
5b7c240ebd
Add a UnionSourceAccessor
2025-02-19 12:54:09 +01:00
Eelco Dolstra
c3d8799f9f
MountedSourceAccessor: Remove redundant pathExists() method
2025-02-19 12:47:28 +01:00
Eelco Dolstra
774b924398
Add a storeFS accessor for paths resulting from IFD
...
Hopefully fixes #11503 .
2025-02-19 12:47:28 +01:00
Eelco Dolstra
e5e0ce2334
Remove redundant call to canonPath()
...
The CanonPath constructor already does that.
2025-02-19 12:47:28 +01:00
Eelco Dolstra
d7f2c1b7f4
Remove mounted-source-accessor.hh
2025-02-19 10:44:46 +01:00
Eelco Dolstra
0da81343d7
Move MountedSourceAccessor to libutil
2025-02-19 10:44:42 +01:00
Ivan Trubach
eb73bfcf73
libstore: fix expected bytes in progress bar
2025-02-18 22:09:05 +03:00
John Ericson
da5109835b
Merge pull request #12498 from NixOS/fix-cli-fine-version
...
Restore detailed Nix CLI version
2025-02-18 11:34:07 -05:00
John Ericson
dfb5b2c7cb
Merge pull request #12497 from xokdvium/fix/dont-override-default-man-search-paths
...
Don't override default man search paths
2025-02-18 11:31:01 -05:00
Eelco Dolstra
cca4e8c8c7
Merge pull request #12504 from NaN-git/fix-repl
...
repl: suppress progress bar in printValue()
2025-02-18 17:10:56 +01:00
Philipp Otterbein
dc359f8b7b
repl: suppress progress bar in printValue()
2025-02-18 16:52:48 +01:00
Sergei Zimmerman
95f16a3275
Don't override default man search paths
...
By appending a colon to MANPATH NIX_MAN_DIR gets prepended to the
final MANPATH before default search paths.
This makes man still consider default search paths, but prefers
NIX_MAN_DIR (if it exists).
It still makes sense to point NIX_MAN_DIR to a correct location
by moving man pages build from nix-manual.man to nix-cli.man, but
this should fix most common use-cases where nix is installed globally.
2025-02-18 18:46:52 +03:00
Eelco Dolstra
9b57f9be5e
Remove createDefaultLogger()
2025-02-18 15:19:57 +01:00
Eelco Dolstra
227114d127
Remove startProgressBar()
2025-02-18 15:18:16 +01:00
Eelco Dolstra
1aee6cf974
stopProgressBar() -> logger->stop()
2025-02-18 15:08:32 +01:00
Eelco Dolstra
258b5ef80b
Merge pull request #6962 from edolstra/unique-ptr-logger
...
Make 'logger' a std::unique_ptr
2025-02-18 14:54:44 +01:00
Eelco Dolstra
b576e6254a
Fix crash on macOS
2025-02-18 05:12:31 -08:00
Eelco Dolstra
2018413e3e
Make 'logger' a std::unique_ptr
...
This prevents it from being leaked (see
bb411e4ae1
for an example of this).
2025-02-18 05:12:31 -08:00
Robert Hensing
3556f6bf4c
Write just ./.version on all components
...
This way it's easier to get right. See previous commit.
2025-02-18 11:41:35 +01:00