Eelco Dolstra
74e4bc9b1d
Merge pull request #10486 from tweag/jl/c-api_function-pointer
...
C API: Safer function pointer casting
2024-04-16 18:56:08 +02:00
Eelco Dolstra
75687844e1
Merge pull request #10518 from crayor1/patch-1
...
Double word is superfluous
2024-04-16 18:07:57 +02:00
Eelco Dolstra
84572e7198
Merge pull request #10520 from crayor1/patch-2
...
Fix typo in hacking.md
2024-04-16 17:47:18 +02:00
Eelco Dolstra
28e0f0a04c
Fix another typo
2024-04-16 17:43:17 +02:00
crayor1
548a12c1fe
Fix typo in hacking.md
2024-04-16 15:54:45 +02:00
crayor1
25265a9365
Double word is superfluous
2024-04-16 14:36:41 +02:00
Théophane Hufschmitt
d2a07a96ba
Merge pull request #10467 from edolstra/nix-shell-symlink
...
nix shell: Handle output paths that are symlinks
2024-04-16 12:31:14 +02:00
John Ericson
20f0472149
Merge pull request #10493 from obsidiansystems/cpp-indent-clang-format
...
Have `clang-format` indent conditional CPP
2024-04-15 10:29:04 -04:00
John Ericson
65cc237b3a
Merge pull request #10482 from tweag/fix-symlink-in-sandbox
...
Fix the access of symlinks to host files in the sandbox
2024-04-15 09:29:00 -04:00
John Ericson
bcda38c272
Have clang-format
indent conditional CPP
...
This reflects the style I've been introducing in tandem with Windows
support.
See https://clang.llvm.org/docs/ClangFormatStyleOptions.html#indentppdirectives for this configuration option.
2024-04-15 08:33:45 -04:00
José Luis Lafuente
774e7213e8
C API: Use nix_get_string_callback
typedef
2024-04-15 12:05:57 +02:00
John Ericson
03eb4f7baa
Merge pull request #10503 from haenoe/public-key-json-impl
...
`fetchers::PublicKey` json impl
2024-04-14 18:02:27 -04:00
HaeNoe
e3fed2ebcf
update fetchers::PublicKey
json (de)serialization
2024-04-14 22:42:48 +02:00
HaeNoe
ff4c286e80
add tests for optionalValueAt
2024-04-14 22:36:03 +02:00
HaeNoe
bb939d3772
change implementation of optionalValueAt
2024-04-14 22:35:51 +02:00
José Luis Lafuente
76444a3958
C API: proper ifdef
endif
indentation
2024-04-14 16:18:32 +02:00
John Ericson
aa438b8fba
Merge pull request #10414 from edolstra/remove-downloadFile-locked
...
downloadFile(): Remove the "locked" (aka "immutable") flag
2024-04-12 17:23:53 -04:00
José Luis Lafuente
01bad63c72
C API: Safer function pointer casting
...
See https://github.com/NixOS/nix/pull/8699#discussion_r1554312181
Casting a function pointer to `void*` is undefined behavior in the C
spec, since there are platforms with different sizes for these two kinds
of pointers. A safe alternative might be `void (*callback)()`
2024-04-12 21:41:15 +02:00
John Ericson
03e74e125e
Merge pull request #10483 from obsidiansystems/docroot-glossary
...
docs: Refer to the glossary with `@docroot@` instead of `..`
2024-04-12 12:17:08 -04:00
John Ericson
95ae12b607
docs: Refer to the glossary with @docroot@
instead of ..
...
These unweildy relative paths probably predate the `@docroot@`
mechanism.
2024-04-12 11:46:47 -04:00
Valentin Gagarin
13c2005e7d
add intermediate variables and clarifying comments ( #9274 )
...
* add intermediate variables and clarifying comments
Co-authored-by: Alexander Groleau <alex@proof.construction>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-04-12 17:43:35 +02:00
Théophane Hufschmitt
cef677ddbc
Test the inclusion of transitive symlinks in the sandbox
2024-04-12 16:10:22 +02:00
Théophane Hufschmitt
acbb1523c1
Fix the access of symlinks to host files in the sandbox
...
https://github.com/NixOS/nix/pull/10456 fixed the addition of symlink
store paths to the sandbox, but also made it so that the hardcoded
sandbox paths (like `/etc/hosts`) were now bind-mounted without
following the possible symlinks. This made these files unreadable if
there were symlinks (because the sandbox would now contain a symlink to
an unreachable file rather than the underlying file).
In particular, this broke FOD derivations on NixOS as `/etc/hosts` is a
symlink there.
Fix that by canonicalizing all these hardcoded sandbox paths before
adding them to the sandbox.
2024-04-12 15:57:53 +02:00
John Ericson
5b9cb8b372
Merge pull request #10412 from roberth/c-string-context
...
C API: Add `nix_string_realise`
2024-04-11 12:07:31 -04:00
Robert Hensing
f2522d4ecd
libexpr-c: Add nix_store_path_name
2024-04-11 17:39:21 +02:00
Robert Hensing
a512f4eebc
test/libutil: Add OBSERVE_STRING macro
...
Makes string callback easier to pass, without mistakes.
2024-04-11 17:39:21 +02:00
Robert Hensing
876e70bc9a
tests/unit/libexpr/local.mk
...
A proper build system would catch errors like this.
2024-04-11 17:39:21 +02:00
Robert Hensing
1233bcde37
libstore-c: Add nix_store_path_clone
2024-04-11 17:39:21 +02:00
Robert Hensing
48808a5320
tests/unit/libexpr: Enable nix_store_realise test, and add docs
2024-04-11 17:39:21 +02:00
Robert Hensing
94d9819bdc
tests/unit/libexpr/main: Fix realisation
2024-04-11 17:39:19 +02:00
Robert Hensing
ed13cf05a2
build-hook: Allow empty
...
Like always declining; local builds only, as can be inferred from the
docs. (Not worth spending too many words on this pretty obvious
behavior, I think. Also, plans to remove it? https://github.com/NixOS/nix/issues/1221 )
2024-04-11 17:39:16 +02:00
Théophane Hufschmitt
db6335d099
Merge pull request #10244 from bouk/submodule-fetch-default-method
...
git fetcher: fix resolveSubmoduleUrl to work with all repo URLs
2024-04-11 16:58:28 +02:00
Bouke van der Bijl
1e4f902b28
Add gitSubmodules test to github actions
2024-04-11 15:55:09 +02:00
Bouke van der Bijl
cd06193d13
Add nixos test
2024-04-11 15:28:38 +02:00
Bouke van der Bijl
1a76ca4161
Set the origin instead of hacking in the URL resolving
2024-04-11 14:22:12 +02:00
Bouke van der Bijl
1f73de2629
git fetcher: relax absolute URL check of resolveSubmoduleUrl
...
This matches up the behavior with the internals of libgit2
Fixes #9979
2024-04-11 14:22:12 +02:00
Théophane Hufschmitt
da1e977bf4
Merge pull request #10456 from NixOS/fixpermdeniedbind
...
Fix adding symlink to the sandbox paths
2024-04-11 13:41:49 +02:00
Eelco Dolstra
26a4688a86
nix shell: Test that store paths cannot link outside of the store
2024-04-11 11:06:35 +02:00
Eelco Dolstra
9d50f57fa3
Doh
2024-04-11 09:00:47 +02:00
Théophane Hufschmitt
def00d7b52
Merge pull request #10455 from tie/structured-attrs-get-env
...
Do not rely on $stdenv/setup to set output variables
2024-04-11 06:48:36 +02:00
Eelco Dolstra
85b9f4ef4f
nix shell: Handle output paths that are symlinks
...
This requires moving resolveSymlinks() into SourceAccessor. Also, it
requires LocalStoreAccessor::maybeLstat() to work on parents of the
store (to avoid an error like "/nix is not in the store").
Fixes #10375 .
2024-04-10 23:49:19 +02:00
Nikhil Dhiman
19c8867d2a
Fix store-path.md ( #10457 )
...
Co-authored-by: John Ericson <git@JohnEricson.me>
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2024-04-10 21:11:57 +00:00
John Ericson
021488497d
Merge pull request #10464 from obsidiansystems/nar-format-docs
...
Document the Nix Archive format
2024-04-10 16:26:27 -04:00
Eelco Dolstra
74aab19c4b
Merge pull request #10458 from Ma27/rl-2.20-followup
...
doc/rl-2.20: clarify builders-use-substitutes vs. substitute-on-destion
2024-04-10 22:22:49 +02:00
John Ericson
3e5797e97f
Document the Nix Archive format
...
This is adopted from Eelco's PhD thesis.
2024-04-10 15:21:22 -04:00
Ivan Trubach
664532c533
Do not rely on $stdenv/setup to set output variables
...
Instead of relying on setup script to set output variables when
structured attributes are enabled, iterate over the values of an
outputs associative array.
See also
374fa3532e/pkgs/stdenv/generic/setup.sh (L23-L26)
2024-04-10 19:50:19 +03:00
Maximilian Bosch
50557adb3b
doc/rl-2.20: clarify builders-use-substitutes vs. substitute-on-destination
...
...as this lead to confusion before.
2024-04-10 17:26:58 +02:00
Théophane Hufschmitt
a268c0de71
Merge pull request #10413 from Ma27/path-info-all-binary-cache
...
path-info: print correct path when using `nix path-info --store file://... --all --json`
2024-04-10 15:25:50 +02:00
Théophane Hufschmitt
ae4737294e
doBind: Use our own lstat wrapper
...
Doesn't change much, but brings a bit more consistency to the code
2024-04-10 15:20:10 +02:00
Théophane Hufschmitt
913db9f738
Fix permission denied when building symlink derivation which points to a symlink out of the store
...
Bind-mounting symlinks is apparently not possible, which is why the
thing was failing.
Fortunately, symlinks are small, so we can fallback to copy them at no cost.
Fix https://github.com/NixOS/nix/issues/9579
Co-authored-by: Artturin <Artturin@artturin.com>
2024-04-10 15:19:18 +02:00