Robert Hensing
76b2d5ef3d
dropEmptyInitThenConcatStringsSep -> concatStringSep: PATH handling
...
It's still wrong, but one step closer to correct.
Not that anyone should use "" or "." in their PATH, but that is not
for us to intervene.
2024-07-13 03:06:24 +02:00
Robert Hensing
9ca42d5da2
dropEmptyInitThenConcatStringsSep -> concatStringSep: setting value was already harmed
...
Considering that `value` was probably parsed with tokenizeString
prior, it's unlikely to contain empty strings, and we have no
reason to remove them either.
2024-07-13 03:06:24 +02:00
Robert Hensing
4029426ca8
dropEmptyInitThenConcatStringsSep -> concatStringSep: tokens from tokenizeString are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
0fe3525223
illegal configuration line -> syntax error in configuration line
...
The law has nothing to do with this, although I do feel like a
badass when I mess with the config.
I'm a conf artist.
2024-07-13 03:06:24 +02:00
Robert Hensing
cf3c5cd189
dropEmptyInitThenConcatStringsSep -> concatStringSep: showVersions version is not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
d9043021df
dropEmptyInitThenConcatStringsSep -> concatStringSep: break nix help "" "" "" build
...
Garbage in, error out. Experimental CLI. Zero derivations given.
2024-07-13 03:06:24 +02:00
Robert Hensing
062672b022
dropEmptyInitThenConcatStringsSep -> concatStringSep: CLI commands are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
0480bfe50b
dropEmptyInitThenConcatStringsSep -> concatStringSep: do not drop attributes with empty names
...
Empty attributes are probably not well supported, but the least we
could do is leave a hint.
Attribute path rendering and parsing should be done according to
Nix expression syntax in my opinion.
2024-07-13 03:06:24 +02:00
Robert Hensing
4b34feb4c2
dropEmptyInitThenConcatStringsSep -> concatStringSep: system string should not be empty
2024-07-13 03:06:24 +02:00
Robert Hensing
837c3612d4
dropEmptyInitThenConcatStringsSep -> concatStringSep: escaped shell args are never empty
2024-07-13 03:06:24 +02:00
Robert Hensing
3b77f13451
dropEmptyInitThenConcatStringsSep -> concatStringSep: experimental features do not render as empty strings
2024-07-13 03:06:24 +02:00
Robert Hensing
e64643bf63
dropEmptyInitThenConcatStringsSep -> concatStringSep: feature should not be empty
...
(System) features are unlikely to be empty strings, but when they
come in through structuredAttrs, they probably can.
I don't think this means we should drop them, but most likely they
will be dropped after this because next time they'll be parsed with
tokenizeString.
TODO: We should forbid empty features.
2024-07-13 03:06:24 +02:00
Robert Hensing
f1966e22d9
dropEmptyInitThenConcatStringsSep -> concatStringSep: store paths are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
49d100ba8b
dropEmptyInitThenConcatStringsSep -> concatStringSep: output name empty not feasible
...
I don't think it's completely impossible, but I can't construct
one easily as derivationStrict seems to (re)tokenize the outputs
attribute, dropping the empty output.
It's not a scenario we have to account for here.
2024-07-13 03:06:24 +02:00
Robert Hensing
d3e49ac881
dropEmptyInitThenConcatStringsSep -> concatStringSep: shortRefs are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
608a425550
dropEmptyInitThenConcatStringsSep -> concatStringSep: diag
2024-07-13 03:06:24 +02:00
Robert Hensing
75dde71ff9
dropEmptyInitThenConcatStringsSep -> concatStringSep: sigs are non-empty
...
The sigs field is produced by tokenizeStrings, which does not return
empty strings.
2024-07-13 03:06:24 +02:00
Robert Hensing
3f37785afd
NIX_REMOTE_SYSTEMS: actually support multiple :-separated entries
...
Bug not reported in 6 years, but here you go.
Also it is safe to switch to normal concatStringsSep behavior
because tokenizeString does not produce empty items.
2024-07-13 03:06:24 +02:00
Robert Hensing
39878c8979
dropEmptyInitThenConcatStringsSep -> concatStringSep: preserve empty attr
...
The empty attribute name should not be dropped from attribute paths.
Rendering attribute paths with concatStringsSep is lossy and wrong,
but this is just a first improvement while dealing with the
dropEmptyInitThenConcatStringsSep problem.
2024-07-13 03:06:24 +02:00
Robert Hensing
ea966a70fc
dropEmptyInitThenConcatStringsSep -> concatStringSep: diagnostics and docs
...
These are non-critical, so their behavior is ok to change.
Dropping empty items is not needed and usually not expected.
2024-07-13 03:06:24 +02:00
Robert Hensing
a681d354e7
Add fresh concatStringsSep without bug
...
The buggy version was previously renamed to
dropEmptyInitThenConcatStringsSep
2024-07-13 03:06:24 +02:00
Robert Hensing
79eb0adf9d
dropEmptyInitThenConcatStringSep: Check that we don't drop...
...
... initial empty strings.
The tests pass, which is encouraging.
2024-07-13 03:05:50 +02:00
Robert Hensing
1a8defd06f
Refactor: rename C++ concatStringsSep -> dropEmptyInitThenConcatStringsSep
2024-07-13 03:05:50 +02:00
John Ericson
bc83b9dc1f
Remove comparator.hh
and switch to <=>
in a bunch of places
...
Known behavior changes:
- `MemorySourceAccessor`'s comparison operators no longer forget to
compare the `SourceAccessor` base class.
Progress on #10832
What remains for that issue is hopefully much easier!
2024-07-12 14:54:18 -04:00
Lexi Mattick
6c4470ec2a
Clean up cache for all commands
2024-07-12 11:54:12 -07:00
Lexi Mattick
e764ed31f6
Eval cache: fix cache regressions
...
- Fix eval cache not being persisted in `nix develop` (since #10570 )
- Don't attempt to commit cache transaction if there is no active transaction, which will spew errors in edge cases
- Drive-by: trivial typo fix
2024-07-12 09:45:35 -07:00
Eelco Dolstra
2a95a2d780
Merge pull request #11091 from NixOS/darwin-no-map-spaceship
...
Remove unused `operator<=>`'s that darwin can't generate
2024-07-12 18:40:20 +02:00
Eelco Dolstra
cdc23b67a6
Provide std::hash<SourcePath>
2024-07-12 17:54:27 +02:00
Robert Hensing
11a6db5993
Remove unused operator<=>'s that darwin can't generate
...
It was complaining *a lot*, with dozens of MB of logs.
2024-07-12 17:37:27 +02:00
John Ericson
337a5a23b7
Merge pull request #11089 from NixOS/warnings-includes
...
Fix warnings and optimize includes
2024-07-12 10:29:26 -04:00
Robert Hensing
27eaeebc41
nar-accessor.cc: Silence unused variable warning
2024-07-12 15:38:17 +02:00
Robert Hensing
8df041cbc6
Solve unused header warnings reported by clangd
2024-07-12 15:37:54 +02:00
John Ericson
3fc77f281e
No global settings in libnixfetchers
and libnixflake
...
Progress on #5638
There are still a global fetcher and eval settings, but they are pushed
down into `libnixcmd`, which is a lot less bad a place for this sort of
thing.
Continuing process pioneered in
52bfccf8d8
.
2024-07-12 08:50:28 -04:00
Robert Hensing
f070d68c32
Add BaseError assignment operators
...
The move assignment was implicitly generated and used in
src/libstore/build/goal.cc:90:22:
90 | this->ex = std::move(*ex);
Clang warns about this generated method being deprecated, so making
them explicit fixes the warning.
2024-07-12 14:25:16 +02:00
Eelco Dolstra
61080554ab
SymbolStr: Remove std::string conversion
...
This refactoring allows the symbol table to be stored as something
other than std::strings.
2024-07-11 17:43:10 +02:00
Eelco Dolstra
87323a5689
Remove unused InstallableFlake::getFlakeOutputs()
2024-07-11 16:21:27 +02:00
Robert Hensing
bb312a7174
Edit CompatibilitySettings
2024-07-11 13:59:49 +02:00
Robert Hensing
56bf39e905
eqValues/assertEqValues: Clean up assertions
...
It's still paranoid, and probably a waste of words, but at least
now it's consistent and readily identifyable from a log.
2024-07-11 12:19:29 +02:00
Robert Hensing
4fd8f19ecf
Fix build to use CanonPath in new FSO sinks
2024-07-11 12:14:48 +02:00
Robert Hensing
86420753ec
Merge remote-tracking branch 'upstream/master' into support-hardlinks-in-tarballs
2024-07-11 11:43:02 +02:00
Robert Hensing
61577402ba
Add EvalErrorBuilder::panic()
...
An nicer alternative to printError + abort, or assert(false /* foo */)
2024-07-11 11:35:58 +02:00
Robert Hensing
c4e3e2dc27
Soft-deprecate the compatibility settings
2024-07-10 16:24:31 +02:00
Robert Hensing
d942d505ca
Merge remote-tracking branch 'upstream/master' into more-nix-shell
2024-07-10 16:19:18 +02:00
Robert Hensing
13522229a9
assertEqValues: clarify potential bug error message
2024-07-10 16:08:10 +02:00
John Ericson
7a6269ba7b
Package the Nix CLI with Meson
...
Co-Authored-By: Qyriad <qyriad@qyriad.me>
2024-07-08 17:49:44 -04:00
John Ericson
f1d88e0f27
Merge pull request #11064 from obsidiansystems/header-generater
...
Use a meson "generator" to deduplicate `.gen.hh` creation
2024-07-08 12:03:59 -04:00
John Ericson
1439de874f
Merge pull request #11063 from obsidiansystems/config-expr
...
Forgot to include `config-expr.hh` in two places
2024-07-08 11:27:57 -04:00
John Ericson
6e5cec292b
Use a meson "generator" to deduplicate .gen.hh
creation
2024-07-08 11:13:11 -04:00
John Ericson
c5284a84f3
Forgot to include config-expr.hh
in some places
2024-07-08 10:37:34 -04:00
Robert Hensing
cfe3ee3de8
nix-shell
: look up shell.nix
when argument is a directory (#11057 )
...
* Refactor: rename runEnv -> isNixShell
* Refactor: rename left -> remainingArgs
* nix-build.cc: Refactor: extract baseDir variable
* nix-build.cc: Refactor: extract sourcePath, resolvedPath variables
* nix-shell: Look for shell.nix when directory is specified
* Add legacy setting: nix-shell-always-looks-for-shell-nix
* rl-next: Add note about shell.nix lookups
* tests/functional/shell.nix: Implement runHook for dummy stdenv
2024-07-08 14:36:36 +02:00