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
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
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
3a7f024a9c
Merge pull request #9363 from edolstra/symlink-regression
...
Fix symlink handling
2023-11-17 14:11:50 +01:00
Théophane Hufschmitt
7ba4e073e8
Merge pull request #6469 from gbpdt/fix/skipped_build_locking
...
Unlock output paths when a derivation is already built
2023-11-16 21:59:25 +01:00
Théophane Hufschmitt
fabae98ab4
Merge pull request #9360 from obsidiansystems/install-unit-tests
...
Allow installing unit tests
2023-11-16 21:25:21 +01:00
Théophane Hufschmitt
ac4431e9d0
Merge pull request #7348 from thufschmitt/dont-use-vlas
...
Remove the usage of VLAs in the code
2023-11-16 19:05:37 +01:00
Eelco Dolstra
96d67620d5
Fix a broken generated header file dependency
...
https://hydra.nixos.org/build/240882042
2023-11-16 17:12:06 +01:00
Eelco Dolstra
31ebc6028b
Fix symlink handling
...
This restores the symlink handling behaviour prior to
94812cca98
.
Fixes #9298 .
2023-11-16 16:45:14 +01:00
John Ericson
6c8f4ef350
Allow installing unit tests
...
Closes #9343
See that issue for motivation.
Installing these is disabled by default, but we enable it (and the
additional output we want isntall these too so as not to clutter the
existing ones) to use in cross builds and dev shells.
2023-11-16 09:55:42 -05:00
Robert Hensing
4e27f1947a
libexpr: Reduce nonRecursiveStackReservation
...
128 is still beyond the point where the allocation overhead is
insignificant, but we don't anticipate to overflow for these
use cases, so it's fine.
2023-11-16 15:38:21 +01:00
Robert Hensing
a96be29db5
removeAttrs: increase stack reservation to 64
2023-11-16 15:38:21 +01:00
Robert Hensing
1b9813e4e6
primops: Name stack reservation limits
2023-11-16 15:38:21 +01:00
Robert Hensing
898c47384f
primops: Err on the side of less stack usage
...
Try to stay away from stack overflows.
These small vectors use stack space. Most instances will not need
to allocate because in general most things are small, and large
things are worth heap allocating.
16 * 3 * word = 384 bytes is still quite a bit, but these functions
tend not to be part of deep recursions.
2023-11-16 15:38:21 +01:00
Robert Hensing
91114a6fa4
ExprCall::eval: Heap allocate at arity 5+
2023-11-16 15:38:21 +01:00
Robert Hensing
206ece0f41
builtins.{any,all}: Use constant errorCtx
...
Clang warned that the expanded code used to have a buffer overflow.
Very strange, but also very avoidable.
2023-11-16 15:38:21 +01:00
Robert Hensing
9fa133dde5
readProcLink: Replace unnecessary value judgement by actual info
2023-11-16 15:38:21 +01:00
Robert Hensing
12c91a823e
maxPrimOpArity: 64 -> 8
...
This makes stack usage significantly more compact, allowing larger
amounts of data to be processed on the same stack.
PrimOp functions with more than 8 positional (curried) arguments
should use an attrset instead.
2023-11-16 15:38:21 +01:00
Eelco Dolstra
2bd2702127
Merge pull request #9354 from vicky1999/fix/8875
...
Renamed nix nar dump-path to nix nar pack
2023-11-16 15:06:33 +01:00
Eelco Dolstra
16c052e4e7
Merge pull request #9307 from flox/tomberek.nix_key_newline
...
nix key: no need for progressBar
2023-11-16 15:05:34 +01:00
Robert Hensing
0daccb1121
libexpr: Check primop arity earlier
2023-11-16 12:28:32 +01:00
Théophane Hufschmitt
ba3cb4a049
Remove all the occurences of VLAs
...
There's generally no strict reason for using them, and they are somewhat
fishy, so let's avoid them.
2023-11-16 12:27:30 +01:00
Théophane Hufschmitt
5196613e82
Use boost small vectors instead of VLAs in the primops
...
VLAs are a dangerous feature, and their usage triggers an undefined
behavior since theire size can be zero in some cases.
So replace them with `boost::small_vector`s which fit the same goal but
are safer.
It's also incidentally consistently 1% faster on the benchmarks.
2023-11-16 12:27:30 +01:00
John Ericson
e34c424279
Merge pull request #9357 from NixOS/nix-store-add
...
Add a new `nix store add` command
2023-11-15 13:49:44 -05:00
Théophane Hufschmitt
84128461b6
Add a new nix store add
command
...
Deprecate `nix store add-file` and `nix store add-path`, and replace
them with a single `nix store add` command.
2023-11-15 19:21:17 +01:00
John Ericson
9c7749e135
Fix makefile bug confusing libnixutil-test
exe vs lib
...
The `-exe` variant is the program, the unsuffixed variant is the
library.
The corrected usage matches `libnixstore-test`.
2023-11-14 11:45:52 -05:00
vicky1999
e07e3c106a
code cleanup
2023-11-14 20:02:33 +05:30
vicky1999
4944cdb94d
nar dump-path command renamed to nar pack
2023-11-14 19:59:48 +05:30
Andreas Stührk
ad99c8950b
Update comment to reflect bind mounts are now used for store in chroot
2023-11-13 23:29:48 +01:00
Tom Bereknyei
0be84c83b2
key and cat: no need for progressBar
...
otherwise the output will be invisible in common terminal configurations
2023-11-12 15:40:44 -05:00
Graham Christensen
fd5a4a8467
nix upgrade-nix: make the source URL an option
...
This new option enables organizations to more easily manage their Nix
fleet's deployment, and ensure a consistent and planned rollout of Nix
upgrades.
2023-11-10 12:12:28 -05:00
John Ericson
20b95d6223
Git object hashing in libutil
...
This is the core functionality but just unit-tested and not yet made
part of the store layer. This is because there is some tech debt around
(a) repeated boilerplate hashing objects (b) better integration of the
new `SourceAccessor` type that needs to be cleaned up first.
Part of RFC 133
Co-Authored-By: Matthew Bauer <mjbauer95@gmail.com>
Co-Authored-By: Carlo Nucera <carlo.nucera@protonmail.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Florian Klink <flokli@flokli.de>
2023-11-10 11:02:44 -05:00
John Ericson
3d9d5dc189
Create MemorySink
...
This is for writing to a `MemorySourceAccessor`.
2023-11-10 11:02:37 -05:00
Robert Hensing
12953b942c
Fixup docs
2023-11-09 07:08:56 +01:00
John Ericson
f0adb72c23
Mark fetchTree
as unstable again
...
As discussed in our last meeting, we need a bit more time, but we are
"time boxing" the work left to do to ensure there is not unbounded
delay.
Rather than putting it back underneath `flakes`, though, put it
underneath its own `fetch-tree` experimental feature (which `flakes`
includes/implies). This signals our commitment to the plan to stabilize
it first without waiting to go through the rest of Flakes, and also will
give users a "release candidate" when we get closer to stabilization.
This reverts commit 4112dd1fc9
.
2023-11-08 23:23:56 -05:00
John Ericson
d854e8696b
Specify the size of the experimental feature array in a more robust way
...
See doc comment for details.
2023-11-08 22:58:10 -05:00
Jacek Galowicz
df8bfe84cc
Fix consts and casts
2023-11-08 17:29:55 +01:00
Jacek Galowicz
c581143e0c
Use structured binding for json iteration
2023-11-08 17:29:55 +01:00
Jacek Galowicz
77dceb2844
Drop obsolete assert and cast
2023-11-08 17:29:55 +01:00
Jacek Galowicz
6a47629530
Fix initialization of struct members (wrong order)
2023-11-08 17:29:55 +01:00
Robert Hensing
ab69dc4da3
Test parseShebangContent round trip
2023-11-07 13:24:01 -05:00
Robert Hensing
589d338776
parseShebangs: Make strings with backtick sequences representable
2023-11-07 13:24:01 -05:00
Robert Hensing
ffd414eb75
Fix nix shebang interaction with #8131 overhaul completions
2023-11-07 13:24:01 -05:00
Robert Hensing
e91fd837ee
Move shebang docs from rl-next to nix.md
2023-11-07 13:24:01 -05:00
Robert Hensing
51bb69535b
nix/installables.cc: Use getCommandBaseDir() where possible
...
These usages of the working directory are perhaps unlikely to
interact with shebangs, but the code is more consistent this way,
and we're less likely to miss usages that do interact.
2023-11-07 13:24:01 -05:00
Robert Hensing
466271568b
nix: Parse --file relative to shebang script
2023-11-07 13:24:01 -05:00
Robert Hensing
198bc22e3b
nix: Add command baseDir to parse --expr relative to shebang script
2023-11-07 13:24:01 -05:00
Robert Hensing
20ff61ab25
nix: Reserve shebang line syntax and only parse double backtick quotes
...
Being restrictive about syntax leaves opportunity to improve the
syntax and functionality later.
2023-11-07 13:24:01 -05:00
Robert Hensing
cc68ed8ff7
libcmd: lookupFileArg(): add baseDir
...
This will allow a different base directory to be used, matching
a shebang script location instead of the working directory.
2023-11-07 13:24:01 -05:00