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
Eelco Dolstra
c47f769391
Merge pull request #9350 from NixOS/dependabot/github_actions/zeebe-io/backport-action-2.1.1
...
build(deps): bump zeebe-io/backport-action from 2.1.0 to 2.1.1
2023-11-16 15:01:49 +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
Eelco Dolstra
7ab91e7238
Implement shallow fetching
2023-11-15 15:00:17 +01:00
Eelco Dolstra
5dd4ae8687
Remove unused cacheType field
2023-11-15 14:08:34 +01:00
Eelco Dolstra
2890999911
Show Git fetch progress
2023-11-15 13:57:20 +01:00
Silvan Mosberger
70b396649c
doc: logical implication is right-associative
...
nix-repl> bools = [ false true ]
nix-repl> combinations = builtins.concatMap (a: builtins.concatMap (b: map (c: { inherit a b c; }) bools) bools) bools
nix-repl> builtins.all ({ a, b, c }: (a -> b -> c) == (a -> (b -> c))) combinations
true
nix-repl> builtins.all ({ a, b, c }: (a -> b -> c) == ((a -> b) -> c)) combinations
false
2023-11-15 07:04:09 +01:00
John Ericson
d23d0a074d
Merge pull request #9355 from obsidiansystems/fix-tiny-libutil-unit-test-make-bug
...
Fix makefile bug confusing `libnixutil-test` exe vs lib
2023-11-14 12:13:41 -05: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
Eelco Dolstra
2964a9f562
Fix relative submodule handling
...
Tested on
nix flake prefetch 'git+https://github.com/blender/blender.git?rev=4ed8a360e956daf2591add4d3c9ec0719e2628fe&submodules=1 '
2023-11-14 16:00:21 +01:00
Eelco Dolstra
6ec6b8aa36
Improve git submodule error reporting
2023-11-14 15:52:18 +01: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
Eelco Dolstra
c257c82447
Cleanup
2023-11-14 14:47:17 +01:00
Eelco Dolstra
7f576f5dfe
Rename UnionInputAccessor to MountedInputAccessor
2023-11-14 14:02:57 +01:00
Eelco Dolstra
21140c987b
Fix doxygen comments
2023-11-14 14:02:57 +01:00
Eelco Dolstra
4329bdf6a3
Move comment
2023-11-14 14:02:57 +01:00
Eelco Dolstra
25cf8f1071
src/libfetchers/union-input-accessor.cc: Apply suggestion
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-11-14 13:57:24 +01:00
Eelco Dolstra
38b07d6347
src/libfetchers/git.cc: Apply suggestion
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-11-14 13:38:03 +01:00
Eelco Dolstra
d74d2fdaa7
Move statusCallbackTrampoline
2023-11-14 13:35:26 +01:00
Eelco Dolstra
21bb180547
Use libgit2 with ssh-exec support
...
See https://github.com/libgit2/libgit2/pull/6617 . This ensures that we
get support for ~/.ssh/config, known_hosts etc.
2023-11-14 13:30:51 +01:00
Théophane Hufschmitt
c889881cbb
Merge pull request #9351 from Trundle/update-chroot-store-comment
...
Update comment to reflect bind mounts are now used for store in chroot
2023-11-14 09:09:27 +01:00
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
dependabot[bot]
742a63b98f
build(deps): bump zeebe-io/backport-action from 2.1.0 to 2.1.1
...
Bumps [zeebe-io/backport-action](https://github.com/zeebe-io/backport-action ) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/zeebe-io/backport-action/releases )
- [Commits](https://github.com/zeebe-io/backport-action/compare/v2.1.0...v2.1.1 )
---
updated-dependencies:
- dependency-name: zeebe-io/backport-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 22:01:50 +00:00
Bouke van der Bijl
d6898cd58b
Move applyConfigFile to lambda inside libstore
2023-11-13 17:14:05 +01:00
Bouke van der Bijl
e4cbdd26e0
Add TODO comment for include try/catch
2023-11-13 17:13:52 +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
Théophane Hufschmitt
2afe2e4fbc
Merge pull request #9333 from DeterminateSystems/option-for-nix-upgrade-url
...
nix upgrade-nix: make the source URL an option
2023-11-12 19:45:30 +01: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
458e511dc4
Merge pull request #9294 from obsidiansystems/minimal-git
...
Git object hashing in libutil
2023-11-10 11:24:23 -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
9afa697ab6
Refactor bash test build system a bit
...
The basic idea here is to separate a few intertwined notions:
1. Not all "run bash tests" are "install tests"
2. Not all "run bash tests" use `tests/functional/init.sh`, or any
pre-test initialization at all.
This will used in the next commit when we have a test that check unit
test golden master data.
Also, move our custom `PS4` from the test to the test runner, as it is
part of how we want to display the tests, not the test themselves.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-11-10 11:02:37 -05:00
John Ericson
3d9d5dc189
Create MemorySink
...
This is for writing to a `MemorySourceAccessor`.
2023-11-10 11:02:37 -05:00
Eelco Dolstra
cf59ea83ec
configure: Check for libgit2
2023-11-10 13:58:59 +01:00
Eelco Dolstra
d1a1888a3e
Merge pull request #9328 from obsidiansystems/editorconfig-perl
...
`.editorconfig`: Also affect Perl FFI `xs` file
2023-11-10 13:45:07 +01:00
John Ericson
1d5a48240c
.editorconfig
: Also affect Perl FFI xs
file
...
This way `perl/lib/Nix/Store.xs` is affected.
2023-11-09 23:11:52 -05:00
Artturin
a903f85f84
nix-env --query
: fix --json
ignoring --drv-path
...
```json
{
"AMB-plugins": {
"drvPath": "/nix/store/l99cb7h2hy8dg005arsjbd9kx0w05d3h-AMB-plugins-0.8.1.drv",
"name": "AMB-plugins-0.8.1",
"outputName": "out",
"outputs": {
"out": null
},
"pname": "AMB-plugins",
"system": "x86_64-linux",
"version": "0.8.1"
},
"ArchiSteamFarm": {
"drvPath": "/nix/store/nhplgyjj34fz6hjmnyih25gxscfh8s7b-ArchiSteamFarm-5.4.12.5.drv",
"name": "ArchiSteamFarm-5.4.12.5",
"outputName": "out",
"outputs": {
"out": null
},
"pname": "ArchiSteamFarm",
"system": "x86_64-linux",
"version": "5.4.12.5"
},
...
```
2023-11-09 22:31:32 +02:00
Eelco Dolstra
98a120b8b8
Merge remote-tracking branch 'origin/master' into libgit2
2023-11-09 16:48:41 +01:00
Robert Hensing
df9bd755a1
Merge pull request #9326 from NixOS/unstable-fetchTree-git
...
Mark `fetchTree` as unstable again
2023-11-09 07:44:48 +01:00
Robert Hensing
12953b942c
Fixup docs
2023-11-09 07:08:56 +01:00