Commit graph

50 commits

Author SHA1 Message Date
Robert Hensing
726e891be8 feat: eval_state::test_init
(cherry picked from commit 040982222c9eb8ea91d7174e6f2e21bbc6cda8a4)
2025-10-04 02:30:46 +02:00
Robert Hensing
4095bda02a feat: EvalState.require_attrs_select{,_opt}
(cherry picked from commit cbba454aba1a90bb862d49925edd13820b6ace1b)
2025-10-04 02:30:46 +02:00
Robert Hensing
65f411d35e maint: Move conditionally unused use
(cherry picked from commit 21e3f3f569758b6cbf668c27330675c579efff5c)
2025-10-04 02:30:46 +02:00
Robert Hensing
d38cf51c63 feat: Context.is_key_error
(cherry picked from commit f754e243852103164dbc6fdaf8c0cccb3c85cfb1)
2025-10-04 02:30:46 +02:00
Robert Hensing
49576f82e4 feat: EvalState.require_attrs_names
(cherry picked from commit 1f9fdcb3805ecf74e3c0451c11bdfae96f6f997b)
2025-10-04 02:30:46 +02:00
Robert Hensing
024ef333cb feat: EvalState.new_value_int
(cherry picked from commit aa79e4d0db7795ab059349e6f6bc764d17afe003)
2025-10-04 02:30:46 +02:00
Robert Hensing
cd5fa278eb feat: EvalState.new_value_str
(cherry picked from commit 94830e4c23ddc742eb7a70cb3e0c4cf17a1a0231)
2025-10-04 02:30:46 +02:00
Robert Hensing
52778c37e9 feat: EvalState.call
(cherry picked from commit f3aa6e523c0c5214533d0005d8c3f85a0579b1de)
2025-10-04 02:30:46 +02:00
Robert Hensing
fbbc7cb490 feat: EvalState.require_int
(cherry picked from commit 890441adf963f1a33ba75889cc9735deeefbf51c)
2025-10-04 02:30:46 +02:00
Robert Hensing
4688ccbf95 refact: Make the callback convert to Result<String> immediately
This is slightly easier to use than the previous pattern that was
always followed up by the same conversions.

(cherry picked from commit 756c080730cd4fa81d4c0e3a99688cbe8debe57f)
2025-10-04 02:30:46 +02:00
Robert Hensing
9a6ef0489e doc: Clarify ownership around StorePath::new_*
(cherry picked from commit 397f00e8eefff376759f05bd0cbaecc106c681df)
2025-10-04 02:30:46 +02:00
Robert Hensing
a2686c31b2 refact: Distribute unwrap()
This gives us better error messages in case it does go wrong.

(cherry picked from commit 0fec573d82b6c51e72183ae5a19c922a53863d5b)
2025-10-04 02:30:46 +02:00
Robert Hensing
625d17b0db doc: Explain why we might need to clear the build hook
(cherry picked from commit 52d81586c671226ab2c1bbe0e1914c11b58239da)
2025-10-04 02:30:46 +02:00
Robert Hensing
7e347314bb fix: Plug leak in EvalState::realise_string
(cherry picked from commit d9f9aa64ceb48c39c028d48680a664063d70bc23)
2025-10-04 02:30:46 +02:00
Robert Hensing
87203ef394 feat: EvalState.realise_string
(cherry picked from commit f2b1142018fd64dd45ec97f1eccf0c48cc4a8c6d)
2025-10-04 02:30:46 +02:00
Robert Hensing
6736f05a3f fix: Use function pointer for settings callback 2025-10-04 02:30:46 +02:00
Robert Hensing
daffade511 feat: nix_util::settings::set, get
(cherry picked from commit 19ed7bd655e72e10373f1afab5af214f2f47881e)
2025-10-04 02:30:46 +02:00
Robert Hensing
acb1274c08 refact: Add callback_get_vec_u8_data
Make it easier to correctly use the string callbacks.

(cherry picked from commit 32db5dfc020053c36b7a4776313ee72d7bc961dd)
2025-10-04 02:30:46 +02:00
Robert Hensing
7cc9cfbb2b fix: Update test calls for &str API change 2025-10-04 02:30:46 +02:00
Robert Hensing
eadd2827a5 refact: Accept &str in eval_from_string
(cherry picked from commit 0ce86f66801ce0a052316a742ded241c773099dd)
2025-10-04 02:30:46 +02:00
Taeer Bar-Yam
7ce6900bfd 0 as *mut _ => null_mut()
(cherry picked from commit 6a345c87760f4c657bd62c62308e33e266769087)
2025-10-04 02:30:46 +02:00
Taeer Bar-Yam
48af0f9e41 error checking tweaks
(cherry picked from commit 6ac38519b710e69a0c30eb0fe8fc5fa712168cb8)
2025-10-04 02:30:46 +02:00
Taeer Bar-Yam
c2159c8834 bindgen strip nix_ prefix
(cherry picked from commit d07ec1990015f5d12b39da40ad0cb1ef0e798642)
2025-10-04 02:30:46 +02:00
Robert Hensing
1edaffcc09 flake: nix: NixOS/master -> hercules-ci/fix-eval-state-baseEnv-gc-root
Flake lock file updates:

• Updated input 'nix':
    'github:nixos/nix/1cfc9da472f8dcfa7f521e544531d5e4daf2076c' (2024-04-23)
  → 'github:hercules-ci/nix/38974360102e67aaf2434fd3f920e2cd1bb3fa75' (2024-05-01)

(cherry picked from commit b8001272187137243685870d414df28d1a229e02)
2025-10-04 02:30:46 +02:00
Robert Hensing
9d05ce49e2 dev: Add debug symbols to shell
(cherry picked from commit b72191f8c1669bc8df242e8386014363d096fad4)
2025-10-04 02:30:46 +02:00
Erin van der Veen
9d26e36b85 feat: update nix input to latest master
The nix c bindings have now merged into master, with some small changes since these bindings were created.
This commit updates the input, and adjusts it to the new API.

(cherry picked from commit aa02380bfcc6221615f65152de60cf4cca3bbbbe)
2025-10-04 02:30:46 +02:00
Robert Hensing
af86728386 feat: EvalState.require_string
(cherry picked from commit ac29248e10d6e2364138d11196151a9f445b379d)
2025-10-04 02:30:46 +02:00
Robert Hensing
759577526d maint: Update get_uri to be callback based
(cherry picked from commit 1aaf9b4d764da5aa8c1297d87ad1002bf1d7a7ea)
2025-10-04 02:30:46 +02:00
Robert Hensing
032a23c306 flake.lock: Update
Flake lock file updates:

• Updated input 'nix':
    'github:tweag/nix/0fd441d0bf6331a1152cdc091724b4648d187f90' (2024-02-29)
  → 'github:tweag/nix/926fbadcc30a4614b5f5a3d18a6f4096914f97da' (2024-03-29)

(cherry picked from commit a317f66f19270f40c18006377f36ad43950198ef)
2025-10-04 02:30:46 +02:00
Robert Hensing
be1c6bef6b maint: Update pre-commit-hooks-nix
(cherry picked from commit dc8985d5bf77c76ee4b2a0816d314e9e2c7f5318)
2025-10-04 02:30:46 +02:00
Robert Hensing
dbab66b38d maint: Ignore get_uri_nixos_cache because of network access
(cherry picked from commit 89736dd18452d11b11e4581a549da1df956d81c6)
2025-10-04 02:30:46 +02:00
Robert Hensing
36ea74c707 dev: Use unwrap to see error message in test
(cherry picked from commit c1c86ebee4418d37053add884b9c1258b22dd7ed)
2025-10-04 02:30:46 +02:00
Robert Hensing
38aab588fd dev: Use relocated store in Nix-packaged tests
(cherry picked from commit 3bb16f6745cc2eb6f1474b73947d0fe2c20788e2)
2025-10-04 02:30:46 +02:00
Robert Hensing
9021f55a53 maint: Remove RUST_NIX_C_RAW_EXTRA_CFLAGS
The standard bindgen flag BINDGEN_EXTRA_CLANG_ARGS seems to do the
same thing.

(cherry picked from commit 599eece08bee28d72c4ec20c8578428c158a19c1)
2025-10-04 02:30:46 +02:00
Robert Hensing
caff9a2019 maint: Fix nix-packaged build
(cherry picked from commit 9535898dc4fbe466addf7fde47a6cafc3d267039)
2025-10-04 02:30:46 +02:00
Robert Hensing
08781aeef7 dev: Fix pre-commit check
Flake lock file updates:

• Updated input 'pre-commit-hooks-nix':
    'github:cachix/pre-commit-hooks.nix/0db2e67ee49910adfa13010e7f012149660af7f0' (2024-02-07)
  → 'github:hercules-ci/pre-commit-hooks.nix/d43e4853f578739ac2264eadcd18faa5aeb41889' (2024-03-19)

(cherry picked from commit 32a59f0f81b70a95ec7fda598b5823e96d3f8270)
2025-10-04 02:30:46 +02:00
Robert Hensing
4f12dc0127 dev: Basic CI config
(cherry picked from commit de4a5a82a4fbdcc9bd786c09dc0f40c8b38a498f)
2025-10-04 02:30:07 +02:00
Robert Hensing
15b8ce951a dev: Add gdb to devshell
(cherry picked from commit 159880b57ce5ca8545ee4625deacb17b9dd3b74f)
2025-09-30 19:16:20 +02:00
Robert Hensing
6978e91fa9 feat: Add nix-expr library, update nix
(cherry picked from commit bf1ddd1c9137578b86895577d5b80e0c5771b605)
2025-09-30 19:06:17 +02:00
Robert Hensing
be8aa55a38 dev: Add indentation rules to .vscode
(cherry picked from commit 6849a8836c1120b4a11cd2511126271b1e815cfe)
2025-09-30 19:02:44 +02:00
Robert Hensing
0d7146cb39 feat: nix-c-raw: Generate value api bindings
(cherry picked from commit 3c75dea63233670863f30547f90dd71498d547b0)
2025-09-30 18:58:26 +02:00
Robert Hensing
270ccaaa57 feat: Add create nix-store
(cherry picked from commit b9150e82be712b2cd82d689f0f26c2a133564701)
2025-09-30 18:54:46 +02:00
Robert Hensing
57bb9b9d92 dev: VSCode LSP rust -> rust-analyzer
(cherry picked from commit 77acea0b187ec7f29658ca420dfde14aa2b4135a)
2025-09-30 18:47:52 +02:00
Robert Hensing
290f2654e1 feat: Add manual testing of bindings with Valgrind
(cherry picked from commit 12fed067bf230d3258db172afe648ec690ba584c)
2025-09-30 18:45:54 +02:00
Robert Hensing
7ef434a6d7 feat: Add nix-util crate with Context wrapper
(cherry picked from commit 6c8e116e8bbaecce2b77fd9e0db89f366b57f9b6)
2025-09-30 18:40:07 +02:00
Robert Hensing
61975ac8e4 temp: Disable rustfmt pre-commit hook 2025-09-30 18:40:07 +02:00
Robert Hensing
858bec68bc feat: Add crate nix-c-raw
See README. Most of this is in accordance with the bindgen introduction.

The c_headers function was taken from Zach Mitchell's work on bindings.

Co-authored-by: Zach Mitchell <zmitchell@fastmail.com>
(cherry picked from commit 83d8ae6b26d341bbd452a77d7361f58c06a2d322)
2025-09-30 18:19:39 +02:00
Robert Hensing
4dca986fe2 feat: Add nix overrides to make bindgen work
(cherry picked from commit 7caeec86a016fc7427d71ac3713adb2293c2e1ce)
2025-09-30 18:05:54 +02:00
Robert Hensing
a4bdbe5618 feat: Rust skeleton
(cherry picked from commit 41a09289cda3137f96c69c69c924af34f0e64865)
2025-09-30 17:57:50 +02:00
Robert Hensing
bfa3b3a063 feat: README and Flake 2025-09-30 16:10:42 +02:00