Ryan Hendrickson
da332d678e
libexpr: deprecate the bogus "or"-as-variable
...
As a prelude to making "or" work like a normal variable, emit a warning
any time the "fn or" production is used in a context that will change
how it is parsed when that production is refactored.
In detail: in the future, OR_KW will be moved to expr_simple, and the
cursed ExprCall production that is currently part of the expr_select
nonterminal will be generated "normally" in expr_app instead. Any
productions that accept an expr_select will be affected, except for the
expr_app nonterminal itself (because, while expr_app has a production
accepting a bare expr_select, its other production will continue to
accept "fn or" expressions). So all we need to do is emit an appropriate
warning when an expr_simple representing a cursed ExprCall is accepted
in one of those productions without first going through expr_app.
As the warning message describes, users can suppress the warning by
wrapping their problematic "fn or" expressions in parentheses. For
example, "f g or" can be made future-proof by rewriting it as
"f (g or)"; similarly "[ x y or ]" can be rewritten as "[ x (y or) ]",
etc. The parentheses preserve the current grouping behavior, as in the
future "f g or" will be parsed as "(f g) or", just like
"f g anything-else" is grouped. (Mechanically, this suppresses the
warning because the problem ExprCalls go through the
"expr_app : expr_select" production, which resets the cursed status on
the ExprCall.)
2024-09-20 15:57:36 -04:00
John Ericson
d0c351bf43
Revert "base64Decode: clearer error message when an invalid character is detected"
...
We have a safer way of doing this.
This reverts commit dc3ccf02bf
.
2024-09-20 10:41:45 -04:00
Eelco Dolstra
68ba6ff470
Merge pull request #11558 from DeterminateSystems/fix-no-gc-build
...
Fix build without GC
2024-09-20 16:02:08 +02:00
Eelco Dolstra
ec47133be3
Fix warning
2024-09-20 15:08:45 +02:00
Eelco Dolstra
088569463b
Fix build without GC
2024-09-20 15:01:32 +02:00
Eelco Dolstra
c5c68558b5
Merge pull request #11550 from DeterminateSystems/traceable-allocator-alias
...
Alias traceable_allocator to std::allocator when building without GC
2024-09-20 10:43:31 +02:00
Eelco Dolstra
b2bb92ef09
Formatting
...
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2024-09-19 22:59:42 +02:00
Eelco Dolstra
2f4a7a8301
Add a few more aliases
2024-09-19 21:04:01 +02:00
Eelco Dolstra
589d8f1f2b
Move GC-related definitions to eval-gc.hh
2024-09-19 21:04:01 +02:00
Eelco Dolstra
31d408c351
Alias gc_allocator
2024-09-19 21:04:01 +02:00
Eelco Dolstra
b9f78abb7f
Alias traceable_allocator to std::allocator when building without GC
...
This allows us to get rid of a bunch of #ifdefs.
2024-09-19 21:04:01 +02:00
Eelco Dolstra
ca3fc1693b
Merge pull request #11548 from DeterminateSystems/fix-zipAttrsWith-gc
...
Fix missing GC root in zipAttrsWith
2024-09-19 21:02:36 +02:00
Eelco Dolstra
4449b0da74
Use HAVE_BOEHMGC
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-09-19 19:52:47 +02:00
Eelco Dolstra
0c2fdd2f3c
Fix missing GC root in zipAttrsWith
...
My SNAFU was that I assumed that all the `Value *`s we put in
`attrsSeen` are already reachable (which they are), but I forgot about
the `elems` pointer in `ListBuilder`.
Fixes #11547 .
2024-09-19 19:16:31 +02:00
Eelco Dolstra
9ea29ea517
Merge pull request #11540 from NixOS/meson-arm-atomic
...
nix-util / meson: Add -latomic on arm
2024-09-19 16:09:14 +02:00
Eelco Dolstra
cd5fc45524
Merge pull request #11541 from noamraph/fix-nix-profile-sh
...
nix-profile.sh.in: fix envvar condition
2024-09-19 14:32:23 +02:00
Eelco Dolstra
e60b90192a
Merge pull request #11538 from NixOS/detect-close_range
...
Use close_range when available
2024-09-19 13:48:27 +02:00
Valentin Gagarin
a45a7e8011
Merge pull request #11528 from Mic92/mergify-2
...
mergify: enable merge-queue for backports
2024-09-19 11:29:52 +02:00
Noam Yorav-Raphael
97fffd8765
nix-profile.sh.in: fix envvar condition
2024-09-19 07:20:04 +03:00
Robert Hensing
3df1658ba1
Merge pull request #11539 from NixOS/fix-installer-tests
...
Revert "tests.installer: Load profile with -o unset"
2024-09-19 00:04:09 +02:00
Robert Hensing
56b8911766
nix-util / meson: Add -latomic on arm
...
I couldn't get the test program to work correctly after many attempts,
so let's just unblock this without making it perfect.
2024-09-19 00:01:24 +02:00
Robert Hensing
c75907e47b
Revert "tests.installer: Load profile with -o unset"
...
I must have made a mistake while testing this, because nounset does
not work on any of the distributions.
This reverts commit 2f0db04da0
.
2024-09-18 23:06:01 +02:00
Robert Hensing
5c87c40a5e
Use close_range when available
...
This fixes the FreeBSD build of nix-util
2024-09-18 22:42:44 +02:00
Eelco Dolstra
59acf3b75c
Merge pull request #11532 from Mic92/macos-test-fix
...
tests/functional/shell: fix test in macOS devshell
2024-09-18 21:43:49 +02:00
Eelco Dolstra
96ee5450d9
Merge pull request #11529 from DeterminateSystems/test-ifd-in-chroot
...
Test IFD/filterSource in chroot stores
2024-09-18 21:20:04 +02:00
Valentin Gagarin
0f5c37c242
Merge pull request #11530 from Mic92/flake-archive
2024-09-18 20:58:06 +02:00
Jörg Thalheim
04a47e93f6
tests/functional/shell: fix test in macOS devshell
2024-09-18 20:51:15 +02:00
Eelco Dolstra
a673084733
Fix tests
2024-09-18 19:06:48 +02:00
Eelco Dolstra
d772a8b3dc
shellcheck
2024-09-18 18:05:08 +02:00
Jörg Thalheim
f0a4f19087
add description + example for nix flake archive
...
Update src/nix/flake-archive.md
Update src/nix/flake-archive.md
2024-09-18 17:31:40 +02:00
Eelco Dolstra
0ed2ab0533
Merge pull request #11527 from Mic92/macos-test-fix
...
Fix macOS tests with meson
2024-09-18 15:07:22 +02:00
Jörg Thalheim
2b7642632e
devShell: increase priority of clang-tools
...
Before we would get the unwrapped version of clang-tools from clang
itself, which doesn't quite work.
2024-09-18 14:29:26 +02:00
Nikodem Rabuliński
8105307f0f
Always initialize curl in parent process on darwin
...
Because of an objc quirk[1], calling curl_global_init for the first time
after fork() will always result in a crash.
Up until now the solution has been to set
OBJC_DISABLE_INITIALIZE_FORK_SAFETY for every nix process to ignore
that error.
This is less than ideal because we were setting it in package.nix,
which meant that running nix tests locally would fail because
that variable was not set.
Instead of working around that error we address it at the core -
by calling curl_global_init inside initLibStore, which should mean
curl will already have been initialized by the time we try to do so in
a forked process.
[1] 01edf1705f/runtime/objc-initialize.mm (L614-L636)
(cherry-picked and adapted from c7d97802e4
)
2024-09-18 14:29:26 +02:00
Valentin Gagarin
ec2b01585f
Merge pull request #11526 from quatquatt/update-multiple-inputs
...
docs: Provide an example of updating multiple inputs
2024-09-18 13:34:50 +02:00
Eelco Dolstra
8690b6f138
Test IFD/filterSource in a chroot
...
Relevant to #11503 .
2024-09-18 12:42:20 +02:00
Jörg Thalheim
0624cf0f59
mergify: enable merge-queue for backports
2024-09-18 08:46:07 +02:00
quatquatt
9e335ee3b9
docs: Provide an example of updating multiple inputs with nix flake update
...
docs: Provide an example of updating multiple inputs with `nix flake update`
2024-09-17 22:50:21 -04:00
Jörg Thalheim
a20659f4fa
unitests: fix tmpdir when running with meson on macOS
2024-09-17 19:15:01 +02:00
Jörg Thalheim
98db531df2
libstore-support: check that we can create the store
2024-09-17 18:46:50 +02:00
John Ericson
00013c7348
Merge pull request #11522 from tweag/fix-meson-build-in-sandbox
...
Fix meson build on macOS in sandbox
2024-09-17 12:04:16 -04:00
Eelco Dolstra
ee3f0b7a8b
Rename import-derivation -> import-from-derivation
2024-09-17 16:56:40 +02:00
Yuriy Taraday
c7c3a7f667
Fix meson build on macOS in sandbox
...
Workaround at src/libstore/meson.build#L429-L434 by @Ericson2314 from
https://github.com/NixOS/nix/pull/11302 erroneously used `macos` instead
of `darwin` to distinguish macOS, while meson docs list only `darwin`:
https://mesonbuild.com/Reference-tables.html#operating-system-names .
Original thread: https://github.com/NixOS/nix/issues/2503#issuecomment-2353184049
2024-09-17 16:15:39 +02:00
John Ericson
95f2b2beab
Merge pull request #8766 from brianmcgee/fix/base64-decode-error-message
...
base64Decode: clearer error message when an invalid character is detected
2024-09-17 09:59:15 -04:00
Eelco Dolstra
3fb6605d3d
Merge pull request #11514 from DeterminateSystems/fix-derivation-add
...
nix derivation add: Remove reference to "installable"
2024-09-17 13:12:12 +02:00
Eelco Dolstra
65f138f669
nix derivation add: Remove reference to "installable"
...
It doesn't operate on an installable, so don't mention it.
2024-09-17 12:37:33 +02:00
Eelco Dolstra
8321fe7c2b
Merge pull request #11512 from NixOS/dependabot/github_actions/cachix/install-nix-action-V28
...
Bump cachix/install-nix-action from V27 to 28
2024-09-17 12:29:11 +02:00
dependabot[bot]
afa6cc7271
Bump cachix/install-nix-action from V27 to 28
...
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action ) from V27 to 28. This release includes the previously tagged commit.
- [Release notes](https://github.com/cachix/install-nix-action/releases )
- [Commits](https://github.com/cachix/install-nix-action/compare/V27...V28 )
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 22:59:12 +00:00
Robert Hensing
799abea0c4
Merge pull request #11330 from NixOS/packfile
...
libgit2, GitRepo: Write (thin) packfiles
2024-09-16 14:42:59 +02:00
Robert Hensing
459d02672c
fix Windows build
2024-09-16 13:42:46 +02:00
Robert Hensing
976f539f7d
Make Repo::flush interruptible
2024-09-16 13:42:46 +02:00