Commit Graph

17470 Commits

Author SHA1 Message Date
Robert Hensing
2497d10351 C API: Add nix_value_call_multi, NIX_VALUE_CALL
_multi can be implemented more efficiently.
NIX_VALUE_CALL is a convenient way to invoke it.
2024-05-23 21:24:06 +02:00
Robert Hensing
ab106c5ca3 C API: Test arity 2 primop 2024-05-23 21:23:15 +02:00
Robert Hensing
4bc4fb40ea C API: builtin -> custom function
Not all primops will be in `builtins`.
2024-05-23 21:23:14 +02:00
Robert Hensing
8ef6efc184 C API: Require non-thunk value from primop definition 2024-05-23 21:22:59 +02:00
Robert Hensing
8884227045 C API: Require initialized value from primop definition 2024-05-23 21:22:21 +02:00
Robert Hensing
a942a34469 C API: Fix nix_c_primop_wrapper for strict initializers
https://github.com/NixOS/nix/pull/10555 added a check requiring
that output parameters always have an uninitialized Value as argument.

Unfortunately the output parameter of the primop callback received
a thunk instead.

See the comment for implementation considerations.
2024-05-23 18:32:49 +02:00
John Ericson
0f9099b517
Merge pull request #10764 from obsidiansystems/machine-ctor-field-comments
Document field being initialized in `Machine` constructor
2024-05-23 11:53:21 -04:00
John Ericson
5384ceacc3 Document field being initialized in Machine constructor 2024-05-23 11:28:25 -04:00
John Ericson
2c42e7b8d9
Merge pull request #10763 from obsidiansystems/expose-parsing-machines
Restore exposing machine file parsing
2024-05-23 09:58:55 -04:00
PoweredByPie
5f68e6d69f Get max stack size in setStackSize to match Linux 2024-05-23 03:54:35 -07:00
John Ericson
f2bcebc450 Restore exposing machine file parsing
This was accidentally removed in
e989c83b44. I restored it and also did a
few other cleanups:

- Make a static method for namespacing purposes

- Put the test files in the data dir with the other test data

- Avoid mutating globals in the machine config tests

This will be used by Hydra.
2024-05-23 00:03:52 -04:00
Valentin Gagarin
5845fd59c3
CODEOWNERS: add fricklerhandwerk for documentation (#10759) 2024-05-23 01:24:15 +02:00
John Ericson
4a19f4a866
Merge pull request #9839 from obsidiansystems/more-machine-cleanup
Create `StoreReference` and use it in `Machine`
2024-05-22 17:01:57 -04:00
John Ericson
859e55d1e8
Merge pull request #10758 from obsidiansystems/fix-10747
Fix #10747
2024-05-22 16:59:39 -04:00
John Ericson
dc7615dbbb tryUnshareFilesystem: Ignore ENOSYS too
Fixes #10747
2024-05-22 16:07:38 -04:00
John Ericson
d5fdfdc592 unshareFilesystem: Do not assume caller 2024-05-22 16:07:34 -04:00
John Ericson
f923ed6b6a Require drvPath attribute to end with .drv
Fixes #4977
2024-05-22 12:50:24 -04:00
John Ericson
b3ebcc5aad Use the new StoreReference in Machine
This makes the remote builder abstract syntax more robust.
2024-05-22 09:20:15 -04:00
John Ericson
b59a7a14c4 Add StoreReference::render
This will be needed for the next step.

Also allows us to write round trip tests.
2024-05-22 09:20:15 -04:00
John Ericson
c036d75f9e Factor out abstract syntax for Store URIs
Need to decouple parsing from actually opening a store for Machine
configs.

Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-05-22 09:20:15 -04:00
John Ericson
1d6c2316a9 Slightly change formatting style
For long expressions, one argument or parameter per line is just easier.
2024-05-22 09:20:15 -04:00
Robert Hensing
bd7a074636
Merge pull request #10724 from prednaz/libexpr-c_example
remove redundant and outdated example from `libexpr-c` documentation
2024-05-22 12:59:14 +02:00
John Ericson
5f7673c7ee
Merge pull request #9850 from obsidiansystems/missing-store-urls
Ensure all store types support "real" URIs
2024-05-21 13:06:13 -04:00
Valentin Gagarin
77cb02b739
reword documentation on nix-copy-closure (#10709)
* reword documentation on `nix-copy-closure`

- one sentence per line
- be more precise with respect to which Nix stores are being accessed
- make a clear distinction between store paths and store objects
- add links to definitions of terms
- clarify which machine is which
- --to and --from don't take arguments

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-05-21 18:06:16 +02:00
John Ericson
470c0501eb Ensure all store types support "real" URIs
In particular `local://<path>` and `unix://` (without any path) now
work, and mean the same things as `local` and `daemon`, respectively. We
thus now have the opportunity to desguar `local` and `daemon` early.

This will allow me to make a change to
https://github.com/NixOS/nix/pull/9839 requested during review to
desugar those earlier.

Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2024-05-21 11:56:40 -04:00
Robert Hensing
b462a92b15
Merge pull request #10755 from fricklerhandwerk/comments-examples
add examples of comments
2024-05-21 17:34:52 +02:00
John Ericson
3a7d62528d
Merge pull request #10752 from darix/libseccomp-configure-cflags
Use CFLAGS for libseccomp from pkg-config also for the CFLAGS
2024-05-21 11:00:15 -04:00
Eelco Dolstra
ec2a1e4ba7
Merge pull request #10751 from NixOS/dependabot/github_actions/cachix/install-nix-action-27
Bump cachix/install-nix-action from 26 to 27
2024-05-21 16:57:56 +02:00
Eelco Dolstra
ff3f1e62f0
Merge pull request #10750 from NixOS/dependabot/github_actions/cachix/cachix-action-15
Bump cachix/cachix-action from 14 to 15
2024-05-21 16:57:44 +02:00
Valentin Gagarin
117dbc2c46 add examples of comments
make a suggestion for what to do if one wants to write nested comments
2024-05-21 16:49:46 +02:00
eihqnh
bb1a4ea21a nix repl: make runNix() isInteractive is true by default 2024-05-21 20:05:43 +08:00
Philipp Zander
142222030c remove redundant and outdated example from libexpr-c documentation 2024-05-21 14:00:34 +02:00
Marcus Rückert
56afe228df
Use CFLAGS for libseccomp from pkg-config also for the CFLAGS
Otherwise the configure check for fchmodat2 afterwards fails because it
can not find the header files.
2024-05-21 00:52:11 +02:00
dependabot[bot]
041fec0b5c
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 22:51:54 +00:00
dependabot[bot]
7577597cc4
---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 22:51:53 +00:00
John Ericson
a57abbd143
Merge pull request #10749 from NixOS/serve-protocol-stuff-for-hydra
Query path infos (plural) and handshake version minimum for hydra
2024-05-20 18:10:47 -04:00
John Ericson
8b369f90fd Query path infos (plural) and handshake version minimum for hydra
1. Hydra currently queries for multiple path infos at once, so let us
   make a connection item for that.

2. The minimum of the two versions should always be used, see #9584.
   (The issue remains open because the daemon protocol needs to be
   likewise updated.)
2024-05-20 17:43:18 -04:00
Valentin Gagarin
40b7fb4f11
expand example on nix-copy-closure (#10708)
* expand example on nix-copy-closure


Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-05-20 20:45:45 +00:00
Valentin Gagarin
fc14378ae3
add cross-references for discoverability (#10714) 2024-05-20 20:39:34 +00:00
Robert Hensing
8953bdbf32
Merge pull request #10715 from fricklerhandwerk/remove-copy-closure-guide
redirect "Copying Closures via SSH" guide to `nix-copy-closure`
2024-05-20 18:10:27 +02:00
John Ericson
c2d4c38d24
Merge pull request #10736 from lorenzleutgeb/citation
chore: PhD thesis as reference in `CITATION.cff`
2024-05-20 11:45:21 -04:00
Robert Hensing
9a2f21711d
Merge pull request #10494 from obsidiansystems/primop-better-method
Slight refactors in preparation for #10480
2024-05-20 16:03:15 +02:00
Robert Hensing
20ed0c02b8
Merge pull request #10688 from hraban/fix/develop-aliases
fix: don’t expand aliases in develop stdenv setup
2024-05-20 15:59:21 +02:00
Robert Hensing
67db9e0c64
Merge pull request #10722 from obsidiansystems/ca-obj-docs
Content addressing store objects
2024-05-20 15:58:29 +02:00
John Ericson
4c91bc543c Remove store object content address reproducibility section 2024-05-20 09:34:38 -04:00
John Ericson
1c75af969a Document store object content addressing & improve JSON format
The JSON format no longer uses the legacy ATerm `r:` prefixing nonsese,
but separate fields.

Progress on #9866

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-05-20 09:34:35 -04:00
Robert Hensing
e4be8abe42
Merge pull request #10701 from cole-h/nix-command-warn-unknown-settings
Warn on unknown settings when the first positional is an argument
2024-05-20 15:15:13 +02:00
John Ericson
43dc575fd7
Merge pull request #10738 from poweredbypie/mingw-windowSize
Implement `updateWindowSize` for Windows
2024-05-20 08:57:22 -04:00
John Ericson
d48bbda2e7
Update the updateWindowSize documentation 2024-05-20 08:34:49 -04:00
Eelco Dolstra
b7709d14a5
Merge pull request #10741 from edolstra/shutup-warning
value.hh: Shut up warning about useless const qualifier
2024-05-20 10:48:28 +02:00