Commit graph

51 commits

Author SHA1 Message Date
Philipp
19361acb12 rename value_type_forced to value_type
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
(cherry picked from commit 3bf206a38e20109bbee9cd781e66bcd895ed95ce)
2025-10-04 02:31:16 +02:00
Philipp Zander
627b31d6c5 refact: adjust ValueType use sites
(cherry picked from commit 9d9f7d59c6df3db26f331e63c9b210f8fae19061)
2025-10-04 02:31:16 +02:00
Philipp Zander
673f80e243 refact: remove Thunk from ValueType and introduce ValueTypeOrThunk to address #30
(cherry picked from commit 97c05175b633b364686790549b11e43cfb2f1d2c)
2025-10-04 02:31:16 +02:00
Philipp Zander
d89fb1803f doc: EvalState::eval_from_string
(cherry picked from commit b1de918abddc8166973c956ec77d597dae92f928)
2025-10-04 02:31:16 +02:00
Philipp Zander
fe4d62d083 test nix_store_open's params argument
(cherry picked from commit 2cebb64daacdc612e7ff916dc32b0fe5ed89dbfc)
2025-10-04 02:31:16 +02:00
Philipp Zander
ec28176852 adjust all tests to nix_store_open's new signature
(cherry picked from commit da9bf071709bc9e48a0a02531e78b2a71a9b4eba)
2025-10-04 02:31:16 +02:00
Philipp Zander
de09abb084 support nix_store_open's params argument
(cherry picked from commit 3dd5137e33709559ffa152feb7ab508246adfb54)
2025-10-04 02:31:16 +02:00
Robert Hensing
37da6411d0 maint: Use /// for doc comments
(cherry picked from commit 4a390197f71653dda99696ed5c9cbca8c6a95a4b)
2025-10-04 02:31:16 +02:00
Philipp Zander
ffdbf49ec5 test: Add assertion in eval_state::tests::eval_state_apply
(cherry picked from commit f8ff14274b6f7accf987328928186b25f842071f)
2025-10-04 02:31:16 +02:00
Robert Hensing
78435d4ed7 feat: EvalState::new_value_apply
(cherry picked from commit f8143ae4ed7b62b86cb232f8d73e53bae30d632c)
2025-10-04 02:31:16 +02:00
Robert Hensing
1ac0f10f74 refact: Fix warning
(cherry picked from commit e9371a0838eec93a0158a408c58be1a1efd44ab2)
2025-10-04 02:30:46 +02:00
Philipp Zander
9a62664fb1 test nix_state_create's lookupPath argument
(cherry picked from commit 6e5a259f60725b632e52d4839e6e3c285d6971d4)
2025-10-04 02:30:46 +02:00
Philipp Zander
d817e86c59 feat: support nix_state_create's lookupPath argument
(cherry picked from commit 6d0906688ea40760217c2e017a4a0a61eb0fd611)
2025-10-04 02:30:46 +02:00
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
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
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
6978e91fa9 feat: Add nix-expr library, update nix
(cherry picked from commit bf1ddd1c9137578b86895577d5b80e0c5771b605)
2025-09-30 19:06:17 +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
7ef434a6d7 feat: Add nix-util crate with Context wrapper
(cherry picked from commit 6c8e116e8bbaecce2b77fd9e0db89f366b57f9b6)
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