diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 62df232..54f6191 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -2,21 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - [[package]] name = "aho-corasick" version = "1.1.3" @@ -26,142 +11,11 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "ansi-parser" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43e7fd8284f025d0bd143c2855618ecdf697db55bde39211e5c9faec7669173" -dependencies = [ - "heapless", - "nom", -] - -[[package]] -name = "anstream" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" - -[[package]] -name = "anstyle-parse" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" -dependencies = [ - "windows-sys 0.60.2", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" -dependencies = [ - "anstyle", - "once_cell_polyfill", - "windows-sys 0.60.2", -] - [[package]] name = "anyhow" -version = "1.0.99" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" - -[[package]] -name = "async-channel" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-trait" -version = "0.1.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "autocfg" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - -[[package]] -name = "backtrace" -version = "0.3.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "bindgen" @@ -172,7 +26,7 @@ dependencies = [ "bitflags", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools", "lazy_static", "lazycell", "log", @@ -188,51 +42,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.9.3" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" - -[[package]] -name = "bumpalo" -version = "3.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - -[[package]] -name = "castaway" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" -dependencies = [ - "rustversion", -] - -[[package]] -name = "cc" -version = "1.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" -dependencies = [ - "shlex", -] +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "cexpr" @@ -249,27 +61,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-link", -] - [[package]] name = "clang-sys" version = "1.8.1" @@ -281,140 +72,6 @@ dependencies = [ "libloading", ] -[[package]] -name = "clap" -version = "4.5.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap-markdown" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2a2617956a06d4885b490697b5307ebb09fec10b088afc18c81762d848c2339" -dependencies = [ - "clap", -] - -[[package]] -name = "clap_builder" -version = "4.5.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", -] - -[[package]] -name = "clap_complete" -version = "4.5.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d9501bd3f5f09f7bbee01da9a511073ed30a80cd7a509f1214bb74eadea71ad" -dependencies = [ - "clap", -] - -[[package]] -name = "clap_derive" -version = "4.5.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" - -[[package]] -name = "clap_mangen" -version = "0.2.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b4c3c54b30f0d9adcb47f25f61fcce35c4dd8916638c6b82fbd5f4fb4179e2" -dependencies = [ - "clap", - "roff", -] - -[[package]] -name = "colorchoice" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" - -[[package]] -name = "compact_str" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" -dependencies = [ - "castaway", - "cfg-if", - "itoa", - "rustversion", - "ryu", - "static_assertions", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crossterm" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" -dependencies = [ - "bitflags", - "crossterm_winapi", - "mio", - "parking_lot", - "rustix 0.38.44", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] - [[package]] name = "cstr" version = "0.2.12" @@ -435,112 +92,20 @@ dependencies = [ "syn", ] -[[package]] -name = "ctrlc" -version = "3.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" -dependencies = [ - "nix 0.30.1", - "windows-sys 0.59.0", -] - -[[package]] -name = "darling" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core", - "quote", - "syn", -] - -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - [[package]] name = "either" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", -] - -[[package]] -name = "event-listener" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener", - "pin-project-lite", + "windows-sys 0.61.1", ] [[package]] @@ -549,41 +114,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "fd-lock" -version = "4.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78" -dependencies = [ - "cfg-if", - "rustix 1.0.8", - "windows-sys 0.59.0", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - [[package]] name = "getrandom" version = "0.3.3" @@ -593,63 +123,15 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi", ] -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - [[package]] name = "glob" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" -[[package]] -name = "hash32" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" -dependencies = [ - "byteorder", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "heapless" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" -dependencies = [ - "hash32", - "stable_deref_trait", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "home" version = "0.5.11" @@ -659,72 +141,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "iana-time-zone" -version = "0.1.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "indoc" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" - -[[package]] -name = "instability" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" -dependencies = [ - "darling", - "indoc", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "io-uring" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" -dependencies = [ - "bitflags", - "cfg-if", - "libc", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - [[package]] name = "itertools" version = "0.12.1" @@ -734,53 +150,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "json-patch" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "159294d661a039f7644cea7e4d844e6b25aaf71c1ffe9d73a96d768c24b0faf4" -dependencies = [ - "jsonptr", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "jsonptr" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a3cc660ba5d72bce0b3bb295bf20847ccbb40fd423f3f05b61273672e561fe" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -795,18 +164,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.175" +version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" [[package]] name = "libloading" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-targets 0.53.3", + "windows-link", ] [[package]] @@ -817,40 +186,21 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" - -[[package]] -name = "lock_api" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" -dependencies = [ - "autocfg", - "scopeguard", -] +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "log" -version = "0.4.27" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" - -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.5", -] +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "memchr" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "minimal-lexical" @@ -859,52 +209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" -dependencies = [ - "libc", - "log", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", -] - -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "nix-c-raw" +name = "nix-bindings-bindgen-raw" version = "0.1.0" dependencies = [ "bindgen", @@ -912,175 +217,66 @@ dependencies = [ ] [[package]] -name = "nix-expr" +name = "nix-bindings-expr" version = "0.1.0" dependencies = [ "anyhow", "cstr", "ctor", "lazy_static", - "nix-c-raw", - "nix-store", - "nix-util", + "nix-bindings-bindgen-raw", + "nix-bindings-store", + "nix-bindings-util", "tempfile", ] [[package]] -name = "nix-fetchers" +name = "nix-bindings-fetchers" version = "0.1.0" dependencies = [ "anyhow", "cstr", "ctor", - "nix-c-raw", - "nix-store", - "nix-util", + "nix-bindings-bindgen-raw", + "nix-bindings-store", + "nix-bindings-util", "tempfile", ] [[package]] -name = "nix-flake" +name = "nix-bindings-flake" version = "0.1.0" dependencies = [ "anyhow", "cstr", "ctor", "lazy_static", - "nix-c-raw", - "nix-expr", - "nix-fetchers", - "nix-store", - "nix-util", + "nix-bindings-bindgen-raw", + "nix-bindings-expr", + "nix-bindings-fetchers", + "nix-bindings-store", + "nix-bindings-util", "tempfile", ] [[package]] -name = "nix-store" +name = "nix-bindings-store" version = "0.1.0" dependencies = [ "anyhow", "lazy_static", - "nix-c-raw", - "nix-util", + "nix-bindings-bindgen-raw", + "nix-bindings-util", "pkg-config", ] [[package]] -name = "nix-util" +name = "nix-bindings-util" version = "0.1.0" dependencies = [ "anyhow", "ctor", - "nix-c-raw", -] - -[[package]] -name = "nixops4" -version = "0.1.0" -dependencies = [ - "ansi-parser", - "anyhow", - "async-trait", - "clap", - "clap-markdown", - "clap_complete", - "clap_mangen", - "crossterm", - "ctrlc", - "json-patch", - "nix 0.29.0", - "nixops4-core", - "nixops4-resource", - "nixops4-resource-runner", - "pubsub-rs", - "ratatui", - "serde", - "serde_json", - "tokio", - "tracing", - "tracing-subscriber", - "tracing-tunnel", -] - -[[package]] -name = "nixops4-core" -version = "0.1.0" -dependencies = [ - "anyhow", - "serde", - "serde_json", -] - -[[package]] -name = "nixops4-eval" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "base64", - "cstr", - "ctor", - "ctrlc", - "nix-expr", - "nix-fetchers", - "nix-flake", - "nix-store", - "nix-util", - "nixops4-core", - "serde", - "serde_json", - "tempdir", - "tokio", - "tracing", - "tracing-tunnel", -] - -[[package]] -name = "nixops4-resource" -version = "0.1.0" -dependencies = [ - "anyhow", - "chrono", - "json-patch", - "nix 0.29.0", - "prettyplease", - "schemars", - "serde", - "serde_json", - "syn", - "typify", -] - -[[package]] -name = "nixops4-resource-runner" -version = "0.1.0" -dependencies = [ - "anyhow", - "clap", - "clap-markdown", - "clap_complete", - "clap_derive", - "clap_mangen", - "json-patch", - "nixops4-resource", - "serde", - "serde_json", - "tokio", - "tracing", -] - -[[package]] -name = "nixops4-resources-local" -version = "0.1.0" -dependencies = [ - "anyhow", - "chrono", - "fd-lock", - "json-patch", - "nixops4-resource", - "serde", - "serde_json", - "tempfile", + "nix-bindings-bindgen-raw", ] [[package]] @@ -1093,93 +289,12 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -[[package]] -name = "once_cell_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - [[package]] name = "pkg-config" version = "0.3.32" @@ -1205,22 +320,11 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "pubsub-rs" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cba7b19d46ae57a9a6307681961fd24ab5e2794e4cc7e2e711cacfa733f610b" -dependencies = [ - "async-channel", - "dashmap", - "tokio", -] - [[package]] name = "quote" -version = "1.0.40" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" dependencies = [ "proc-macro2", ] @@ -1231,78 +335,11 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "ratatui" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" -dependencies = [ - "bitflags", - "cassowary", - "compact_str", - "crossterm", - "indoc", - "instability", - "itertools 0.13.0", - "lru", - "paste", - "strum", - "unicode-segmentation", - "unicode-truncate", - "unicode-width 0.2.0", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "redox_syscall" -version = "0.5.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" -dependencies = [ - "bitflags", -] - [[package]] name = "regex" -version = "1.11.2" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" +checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" dependencies = [ "aho-corasick", "memchr", @@ -1312,9 +349,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" +checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" dependencies = [ "aho-corasick", "memchr", @@ -1327,37 +364,6 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" -[[package]] -name = "regress" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145bb27393fe455dd64d6cbc8d059adfa392590a45eadf079c01b11857e7b010" -dependencies = [ - "hashbrown 0.15.5", - "memchr", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "roff" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" - -[[package]] -name = "rustc-demangle" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -1379,130 +385,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.60.2", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "schemars" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" -dependencies = [ - "serde", -] - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.143" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_tokenstream" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", + "linux-raw-sys 0.11.0", + "windows-sys 0.61.1", ] [[package]] @@ -1511,98 +402,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -[[package]] -name = "signal-hook" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" -dependencies = [ - "libc", - "mio", - "signal-hook", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "socket2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - [[package]] name = "syn" version = "2.0.106" @@ -1614,341 +413,41 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "tempdir" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" -dependencies = [ - "rand", - "remove_dir_all", -] - [[package]] name = "tempfile" -version = "3.21.0" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", "getrandom", "once_cell", - "rustix 1.0.8", - "windows-sys 0.60.2", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" -dependencies = [ - "thiserror-impl 2.0.16", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "tokio" -version = "1.47.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" -dependencies = [ - "backtrace", - "bytes", - "io-uring", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "slab", - "socket2", - "tokio-macros", - "windows-sys 0.59.0", -] - -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "tracing-tunnel" -version = "0.1.99-fork-0" -source = "git+https://github.com/roberth/tracing-toolbox?tag=0.1.99-fork-0#2b342882dd2ed36beb3ea4eed5bb28c70d13a28f" -dependencies = [ - "once_cell", - "serde", - "tracing-core", -] - -[[package]] -name = "typify" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7144144e97e987c94758a3017c920a027feac0799df325d6df4fc8f08d02068e" -dependencies = [ - "typify-impl", - "typify-macro", -] - -[[package]] -name = "typify-impl" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062879d46aa4c9dfe0d33b035bbaf512da192131645d05deacb7033ec8581a09" -dependencies = [ - "heck", - "log", - "proc-macro2", - "quote", - "regress", - "schemars", - "semver", - "serde", - "serde_json", - "syn", - "thiserror 2.0.16", - "unicode-ident", -] - -[[package]] -name = "typify-macro" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9708a3ceb6660ba3f8d2b8f0567e7d4b8b198e2b94d093b8a6077a751425de9e" -dependencies = [ - "proc-macro2", - "quote", - "schemars", - "semver", - "serde", - "serde_json", - "serde_tokenstream", - "syn", - "typify-impl", + "rustix 1.1.2", + "windows-sys 0.61.1", ] [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-truncate" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" -dependencies = [ - "itertools 0.13.0", - "unicode-segmentation", - "unicode-width 0.1.14", -] - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-width" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "valuable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" +version = "0.14.7+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" dependencies = [ - "wit-bindgen-rt", + "wasip2", ] [[package]] -name = "wasm-bindgen" -version = "0.2.100" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", + "wit-bindgen", ] [[package]] @@ -1963,86 +462,11 @@ dependencies = [ "rustix 0.38.44", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result", - "windows-strings", -] - -[[package]] -name = "windows-implement" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.59.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-link" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link", -] +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" [[package]] name = "windows-sys" @@ -2050,16 +474,16 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] name = "windows-sys" -version = "0.60.2" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" dependencies = [ - "windows-targets 0.53.3", + "windows-link", ] [[package]] @@ -2068,31 +492,14 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.53.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" -dependencies = [ - "windows-link", - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] @@ -2101,84 +508,42 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -2186,16 +551,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags", -] +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index f71d8a8..02f532b 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,10 +1,10 @@ [workspace] members = [ - "nix-c-raw", - "nix-expr", - "nix-fetchers", - "nix-flake", - "nix-store", - "nix-util", + "nix-bindings-bindgen-raw", + "nix-bindings-expr", + "nix-bindings-fetchers", + "nix-bindings-flake", + "nix-bindings-store", + "nix-bindings-util", ] resolver = "2" diff --git a/rust/nix-c-raw/Cargo.toml b/rust/nix-bindings-bindgen-raw/Cargo.toml similarity index 83% rename from rust/nix-c-raw/Cargo.toml rename to rust/nix-bindings-bindgen-raw/Cargo.toml index d19b4fa..7668b60 100644 --- a/rust/nix-c-raw/Cargo.toml +++ b/rust/nix-bindings-bindgen-raw/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "nix-c-raw" +name = "nix-bindings-bindgen-raw" version = "0.1.0" edition = "2021" build = "build.rs" diff --git a/rust/nix-c-raw/README.md b/rust/nix-bindings-bindgen-raw/README.md similarity index 79% rename from rust/nix-c-raw/README.md rename to rust/nix-bindings-bindgen-raw/README.md index dc9d8b4..1c7e5f0 100644 --- a/rust/nix-c-raw/README.md +++ b/rust/nix-bindings-bindgen-raw/README.md @@ -1,8 +1,8 @@ -# nix-c-raw +# nix-bindings-bindgen-raw This crate contains generated bindings for the Nix C API. **You should not have to use this crate directly,** and so you should probably not add it to your dependencies. -Instead, use the `nix-util`, `nix-store` and `nix-expr` crates, which _should_ be sufficient. +Instead, use the `nix-bindings-util`, `nix-bindings-store` and `nix-bindings-expr` crates, which _should_ be sufficient. ## Design diff --git a/rust/nix-c-raw/build.rs b/rust/nix-bindings-bindgen-raw/build.rs similarity index 100% rename from rust/nix-c-raw/build.rs rename to rust/nix-bindings-bindgen-raw/build.rs diff --git a/rust/nix-c-raw/include/nix-c-raw.h b/rust/nix-bindings-bindgen-raw/include/nix-c-raw.h similarity index 100% rename from rust/nix-c-raw/include/nix-c-raw.h rename to rust/nix-bindings-bindgen-raw/include/nix-c-raw.h diff --git a/rust/nix-c-raw/src/lib.rs b/rust/nix-bindings-bindgen-raw/src/lib.rs similarity index 100% rename from rust/nix-c-raw/src/lib.rs rename to rust/nix-bindings-bindgen-raw/src/lib.rs diff --git a/rust/nix-bindings-expr/Cargo.toml b/rust/nix-bindings-expr/Cargo.toml new file mode 100644 index 0000000..3c97117 --- /dev/null +++ b/rust/nix-bindings-expr/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "nix-bindings-expr" +version = "0.1.0" +edition = "2021" +license = "LGPL-2.1" + +[lib] +path = "src/lib.rs" + +[dependencies] +anyhow = "1.0" +nix-bindings-store = { path = "../nix-bindings-store" } +nix-bindings-util = { path = "../nix-bindings-util" } +nix-bindings-bindgen-raw = { path = "../nix-bindings-bindgen-raw" } +lazy_static = "1.4" +ctor = "0.2" +tempfile = "3.10" +cstr = "0.2" diff --git a/rust/nix-expr/src/eval_state.rs b/rust/nix-bindings-expr/src/eval_state.rs similarity index 98% rename from rust/nix-expr/src/eval_state.rs rename to rust/nix-bindings-expr/src/eval_state.rs index 5c9154a..0cdde8c 100644 --- a/rust/nix-expr/src/eval_state.rs +++ b/rust/nix-bindings-expr/src/eval_state.rs @@ -17,8 +17,8 @@ //! Create an [`EvalState`] using [`EvalState::new`] or [`EvalStateBuilder`] for advanced configuration: //! //! ```rust -//! # use nix_expr::eval_state::{EvalState, EvalStateBuilder, test_init, gc_register_my_thread}; -//! # use nix_store::store::Store; +//! # use nix_bindings_expr::eval_state::{EvalState, EvalStateBuilder, test_init, gc_register_my_thread}; +//! # use nix_bindings_store::store::Store; //! # use std::collections::HashMap; //! # fn example() -> anyhow::Result<()> { //! # test_init(); let guard = gc_register_my_thread()?; @@ -71,7 +71,7 @@ //! Before using [`EvalState`] in a thread, register it with the (process memory) garbage collector: //! //! ```rust,no_run -//! # use nix_expr::eval_state::{init, gc_register_my_thread, test_init}; +//! # use nix_bindings_expr::eval_state::{init, gc_register_my_thread, test_init}; //! # fn example() -> anyhow::Result<()> { //! # test_init(); // Use test_init() in tests //! init()?; // Initialize Nix library @@ -92,8 +92,8 @@ //! ## Examples //! //! ```rust -//! use nix_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; -//! use nix_store::store::Store; +//! use nix_bindings_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; +//! use nix_bindings_store::store::Store; //! use std::collections::HashMap; //! //! # fn main() -> anyhow::Result<()> { @@ -134,12 +134,12 @@ use anyhow::Context as _; use anyhow::{bail, Result}; use cstr::cstr; use lazy_static::lazy_static; -use nix_c_raw as raw; -use nix_store::path::StorePath; -use nix_store::store::{Store, StoreWeak}; -use nix_util::context::Context; -use nix_util::string_return::{callback_get_result_string, callback_get_result_string_data}; -use nix_util::{check_call, check_call_opt_key, result_string_init}; +use nix_bindings_bindgen_raw as raw; +use nix_bindings_store::path::StorePath; +use nix_bindings_store::store::{Store, StoreWeak}; +use nix_bindings_util::context::Context; +use nix_bindings_util::string_return::{callback_get_result_string, callback_get_result_string_data}; +use nix_bindings_util::{check_call, check_call_opt_key, result_string_init}; use std::ffi::{c_char, CString}; use std::iter::FromIterator; use std::os::raw::c_uint; @@ -162,7 +162,7 @@ pub fn init() -> Result<()> { Ok(_) => Ok(()), Err(e) => { // Couldn't just clone the error, so we have to print it here. - Err(anyhow::format_err!("nix_expr::init error: {}", e)) + Err(anyhow::format_err!("nix_bindings_expr::init error: {}", e)) } } } @@ -225,8 +225,8 @@ impl Drop for EvalStateRef { /// # Examples /// /// ```rust -/// # use nix_expr::eval_state::{EvalState, EvalStateBuilder, test_init, gc_register_my_thread}; -/// # use nix_store::store::Store; +/// # use nix_bindings_expr::eval_state::{EvalState, EvalStateBuilder, test_init, gc_register_my_thread}; +/// # use nix_bindings_store::store::Store; /// # use std::collections::HashMap; /// # fn example() -> anyhow::Result<()> { /// # test_init(); @@ -369,9 +369,9 @@ impl EvalState { /// # Examples /// /// ``` - /// # use nix_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; - /// use nix_store::store::Store; - /// use nix_expr::value::Value; + /// # use nix_bindings_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; + /// use nix_bindings_store::store::Store; + /// use nix_bindings_expr::value::Value; /// use std::collections::HashMap; /// /// # fn main() -> anyhow::Result<()> { @@ -474,8 +474,8 @@ impl EvalState { /// # Examples /// /// ```rust - /// # use nix_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; - /// # use nix_store::store::Store; + /// # use nix_bindings_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; + /// # use nix_bindings_store::store::Store; /// # use std::collections::HashMap; /// # fn example() -> anyhow::Result<()> { /// # test_init(); @@ -529,9 +529,9 @@ impl EvalState { /// # Examples /// /// ```rust,no_run - /// # use nix_expr::value::Value; + /// # use nix_bindings_expr::value::Value; /// # use std::collections::{VecDeque, LinkedList}; - /// # fn example(es: &mut nix_expr::eval_state::EvalState, list_value: &Value) -> anyhow::Result<()> { + /// # fn example(es: &mut nix_bindings_expr::eval_state::EvalState, list_value: &Value) -> anyhow::Result<()> { /// let vec: Vec = es.require_list_strict(&list_value)?; /// let deque: VecDeque = es.require_list_strict(&list_value)?; /// let linked_list = es.require_list_strict::>(&list_value)?; @@ -942,8 +942,8 @@ impl EvalState { /// # Examples /// /// ```rust - /// # use nix_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; - /// # use nix_store::store::Store; + /// # use nix_bindings_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; + /// # use nix_bindings_store::store::Store; /// # use std::collections::HashMap; /// # fn example() -> anyhow::Result<()> { /// # test_init(); @@ -1043,8 +1043,8 @@ impl EvalState { /// # Examples /// /// ```rust - /// # use nix_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; - /// # use nix_store::store::Store; + /// # use nix_bindings_expr::eval_state::{EvalState, test_init, gc_register_my_thread}; + /// # use nix_bindings_store::store::Store; /// # use std::collections::HashMap; /// # fn example() -> anyhow::Result<()> { /// # test_init(); @@ -1211,18 +1211,18 @@ pub fn test_init() { // would cause the test suite to reinvokes itself, causing an infinite loop. // While _NIX_TEST_NO_SANDBOX=1 should prevent this, we may also set the // build hook to "" to prevent this. - nix_util::settings::set("build-hook", "").unwrap(); + nix_bindings_util::settings::set("build-hook", "").unwrap(); // When testing in the sandbox, the default build dir would be a parent of the storeDir, // which causes an error. So we set a custom build dir here. // Only available on linux if cfg!(target_os = "linux") { - nix_util::settings::set("sandbox-build-dir", "/custom-build-dir-for-test").unwrap(); + nix_bindings_util::settings::set("sandbox-build-dir", "/custom-build-dir-for-test").unwrap(); } std::env::set_var("_NIX_TEST_NO_SANDBOX", "1"); // The tests run offline - nix_util::settings::set("substituters", "").unwrap(); + nix_bindings_util::settings::set("substituters", "").unwrap(); } #[cfg(test)] diff --git a/rust/nix-expr/src/lib.rs b/rust/nix-bindings-expr/src/lib.rs similarity index 100% rename from rust/nix-expr/src/lib.rs rename to rust/nix-bindings-expr/src/lib.rs diff --git a/rust/nix-expr/src/primop.rs b/rust/nix-bindings-expr/src/primop.rs similarity index 98% rename from rust/nix-expr/src/primop.rs rename to rust/nix-bindings-expr/src/primop.rs index 2d2e2d2..f430d4d 100644 --- a/rust/nix-expr/src/primop.rs +++ b/rust/nix-bindings-expr/src/primop.rs @@ -1,8 +1,8 @@ use crate::eval_state::{EvalState, EvalStateWeak}; use crate::value::Value; use anyhow::Result; -use nix_c_raw as raw; -use nix_util::check_call; +use nix_bindings_bindgen_raw as raw; +use nix_bindings_util::check_call; use std::ffi::{c_int, c_void, CStr, CString}; use std::mem::ManuallyDrop; use std::ptr::{null, null_mut}; diff --git a/rust/nix-expr/src/value.rs b/rust/nix-bindings-expr/src/value.rs similarity index 98% rename from rust/nix-expr/src/value.rs rename to rust/nix-bindings-expr/src/value.rs index 14cda88..086a343 100644 --- a/rust/nix-expr/src/value.rs +++ b/rust/nix-bindings-expr/src/value.rs @@ -1,7 +1,7 @@ pub mod __private; -use nix_c_raw as raw; -use nix_util::{check_call, context::Context}; +use nix_bindings_bindgen_raw as raw; +use nix_bindings_util::{check_call, context::Context}; use std::ptr::{null_mut, NonNull}; // TODO: test: cloning a thunk does not duplicate the evaluation. diff --git a/rust/nix-expr/src/value/__private.rs b/rust/nix-bindings-expr/src/value/__private.rs similarity index 90% rename from rust/nix-expr/src/value/__private.rs rename to rust/nix-bindings-expr/src/value/__private.rs index 6b5b2e8..571dcd0 100644 --- a/rust/nix-expr/src/value/__private.rs +++ b/rust/nix-bindings-expr/src/value/__private.rs @@ -1,6 +1,6 @@ //! Functions that are relevant for other bindings modules, but normally not end users. use super::Value; -use nix_c_raw as raw; +use nix_bindings_bindgen_raw as raw; /// See [Value::new]. pub unsafe fn raw_value_new(ptr: *mut raw::Value) -> Value { diff --git a/rust/nix-bindings-fetchers/Cargo.toml b/rust/nix-bindings-fetchers/Cargo.toml new file mode 100644 index 0000000..fa75657 --- /dev/null +++ b/rust/nix-bindings-fetchers/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "nix-bindings-fetchers" +version = "0.1.0" +edition = "2021" +license = "LGPL-2.1" + +[lib] +path = "src/lib.rs" + +[dependencies] +anyhow = "1.0" +nix-bindings-store = { path = "../nix-bindings-store" } +nix-bindings-util = { path = "../nix-bindings-util" } +nix-bindings-bindgen-raw = { path = "../nix-bindings-bindgen-raw" } +ctor = "0.2" +tempfile = "3.10" +cstr = "0.2" diff --git a/rust/nix-fetchers/src/lib.rs b/rust/nix-bindings-fetchers/src/lib.rs similarity index 91% rename from rust/nix-fetchers/src/lib.rs rename to rust/nix-bindings-fetchers/src/lib.rs index 091830c..06bf45f 100644 --- a/rust/nix-fetchers/src/lib.rs +++ b/rust/nix-bindings-fetchers/src/lib.rs @@ -1,6 +1,6 @@ use anyhow::{Context as _, Result}; -use nix_c_raw as raw; -use nix_util::context::{self, Context}; +use nix_bindings_bindgen_raw as raw; +use nix_bindings_util::context::{self, Context}; use std::ptr::NonNull; pub struct FetchersSettings { diff --git a/rust/nix-bindings-flake/Cargo.toml b/rust/nix-bindings-flake/Cargo.toml new file mode 100644 index 0000000..2b70980 --- /dev/null +++ b/rust/nix-bindings-flake/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "nix-bindings-flake" +version = "0.1.0" +edition = "2021" +license = "LGPL-2.1" + +[lib] +path = "src/lib.rs" + +[dependencies] +anyhow = "1.0" +nix-bindings-expr = { path = "../nix-bindings-expr" } +nix-bindings-fetchers = { path = "../nix-bindings-fetchers" } +nix-bindings-store = { path = "../nix-bindings-store" } +nix-bindings-util = { path = "../nix-bindings-util" } +nix-bindings-bindgen-raw = { path = "../nix-bindings-bindgen-raw" } +lazy_static = "1.4" +ctor = "0.2" +tempfile = "3.10" +cstr = "0.2" diff --git a/rust/nix-flake/src/lib.rs b/rust/nix-bindings-flake/src/lib.rs similarity index 95% rename from rust/nix-flake/src/lib.rs rename to rust/nix-bindings-flake/src/lib.rs index acd5fa4..ef8a963 100644 --- a/rust/nix-flake/src/lib.rs +++ b/rust/nix-bindings-flake/src/lib.rs @@ -1,10 +1,10 @@ use std::{ffi::CString, os::raw::c_char, ptr::NonNull}; use anyhow::{Context as _, Result}; -use nix_c_raw as raw; -use nix_expr::eval_state::EvalState; -use nix_fetchers::FetchersSettings; -use nix_util::{ +use nix_bindings_bindgen_raw as raw; +use nix_bindings_expr::eval_state::EvalState; +use nix_bindings_fetchers::FetchersSettings; +use nix_bindings_util::{ context::{self, Context}, result_string_init, string_return::{callback_get_result_string, callback_get_result_string_data}, @@ -29,7 +29,7 @@ impl FlakeSettings { } fn add_to_eval_state_builder( &self, - builder: &mut nix_expr::eval_state::EvalStateBuilder, + builder: &mut nix_bindings_expr::eval_state::EvalStateBuilder, ) -> Result<()> { let mut ctx = Context::new(); unsafe { @@ -45,14 +45,14 @@ impl FlakeSettings { pub trait EvalStateBuilderExt { /// Configures the eval state to provide flakes features such as `builtins.getFlake`. - fn flakes(self, settings: &FlakeSettings) -> Result; + fn flakes(self, settings: &FlakeSettings) -> Result; } -impl EvalStateBuilderExt for nix_expr::eval_state::EvalStateBuilder { +impl EvalStateBuilderExt for nix_bindings_expr::eval_state::EvalStateBuilder { /// Configures the eval state to provide flakes features such as `builtins.getFlake`. fn flakes( mut self, settings: &FlakeSettings, - ) -> Result { + ) -> Result { settings.add_to_eval_state_builder(&mut self)?; Ok(self) } @@ -239,7 +239,7 @@ impl LockedFlake { &self, flake_settings: &FlakeSettings, eval_state: &mut EvalState, - ) -> Result { + ) -> Result { let mut ctx = Context::new(); unsafe { let r = context::check_call!(raw::locked_flake_get_output_attrs( @@ -248,15 +248,15 @@ impl LockedFlake { eval_state.raw_ptr(), self.ptr.as_ptr() ))?; - Ok(nix_expr::value::__private::raw_value_new(r)) + Ok(nix_bindings_expr::value::__private::raw_value_new(r)) } } } #[cfg(test)] mod tests { - use nix_expr::eval_state::{gc_register_my_thread, EvalStateBuilder}; - use nix_store::store::Store; + use nix_bindings_expr::eval_state::{gc_register_my_thread, EvalStateBuilder}; + use nix_bindings_store::store::Store; use super::*; use std::sync::Once; @@ -267,7 +267,7 @@ mod tests { // Only set experimental-features once to minimize the window where // concurrent Nix operations might read the setting while it's being modified INIT.call_once(|| { - nix_util::settings::set("experimental-features", "flakes").unwrap(); + nix_bindings_util::settings::set("experimental-features", "flakes").unwrap(); }); } diff --git a/rust/nix-store/Cargo.toml b/rust/nix-bindings-store/Cargo.toml similarity index 57% rename from rust/nix-store/Cargo.toml rename to rust/nix-bindings-store/Cargo.toml index a7ea036..cc92326 100644 --- a/rust/nix-store/Cargo.toml +++ b/rust/nix-bindings-store/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "nix-store" +name = "nix-bindings-store" version = "0.1.0" edition = "2021" build = "build.rs" @@ -10,8 +10,8 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-util = { path = "../nix-util" } -nix-c-raw = { path = "../nix-c-raw" } +nix-bindings-util = { path = "../nix-bindings-util" } +nix-bindings-bindgen-raw = { path = "../nix-bindings-bindgen-raw" } lazy_static = "1.4" [build-dependencies] diff --git a/rust/nix-store/build.rs b/rust/nix-bindings-store/build.rs similarity index 100% rename from rust/nix-store/build.rs rename to rust/nix-bindings-store/build.rs diff --git a/rust/nix-store/src/lib.rs b/rust/nix-bindings-store/src/lib.rs similarity index 100% rename from rust/nix-store/src/lib.rs rename to rust/nix-bindings-store/src/lib.rs diff --git a/rust/nix-store/src/path.rs b/rust/nix-bindings-store/src/path.rs similarity index 96% rename from rust/nix-store/src/path.rs rename to rust/nix-bindings-store/src/path.rs index 29b6c83..d8aea0c 100644 --- a/rust/nix-store/src/path.rs +++ b/rust/nix-bindings-store/src/path.rs @@ -1,8 +1,8 @@ use std::ptr::NonNull; use anyhow::Result; -use nix_c_raw as raw; -use nix_util::{ +use nix_bindings_bindgen_raw as raw; +use nix_bindings_util::{ result_string_init, string_return::{callback_get_result_string, callback_get_result_string_data}, }; @@ -60,7 +60,7 @@ impl StorePath { /// # Safety /// /// This function is unsafe because it returns a raw pointer. The caller must ensure that the pointer is not used beyond the lifetime of this `StorePath`. - pub unsafe fn as_ptr(&self) -> *mut nix_c_raw::StorePath { + pub unsafe fn as_ptr(&self) -> *mut raw::StorePath { self.raw.as_ptr() } } diff --git a/rust/nix-store/src/store.rs b/rust/nix-bindings-store/src/store.rs similarity index 97% rename from rust/nix-store/src/store.rs rename to rust/nix-bindings-store/src/store.rs index 0a6b2ae..4650535 100644 --- a/rust/nix-store/src/store.rs +++ b/rust/nix-bindings-store/src/store.rs @@ -1,9 +1,9 @@ use anyhow::{bail, Error, Result}; use lazy_static::lazy_static; -use nix_c_raw as raw; -use nix_util::context::Context; -use nix_util::string_return::{callback_get_result_string, callback_get_result_string_data}; -use nix_util::{check_call, result_string_init}; +use nix_bindings_bindgen_raw as raw; +use nix_bindings_util::context::Context; +use nix_bindings_util::string_return::{callback_get_result_string, callback_get_result_string_data}; +use nix_bindings_util::{check_call, result_string_init}; use std::collections::HashMap; use std::ffi::{c_char, CString}; use std::ptr::null_mut; diff --git a/rust/nix-util/Cargo.toml b/rust/nix-bindings-util/Cargo.toml similarity index 59% rename from rust/nix-util/Cargo.toml rename to rust/nix-bindings-util/Cargo.toml index cefbbb8..a0fda9d 100644 --- a/rust/nix-util/Cargo.toml +++ b/rust/nix-bindings-util/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "nix-util" +name = "nix-bindings-util" version = "0.1.0" edition = "2021" license = "LGPL-2.1" @@ -9,5 +9,5 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-c-raw = { path = "../nix-c-raw" } +nix-bindings-bindgen-raw = { path = "../nix-bindings-bindgen-raw" } ctor = "0.2" diff --git a/rust/nix-util/src/context.rs b/rust/nix-bindings-util/src/context.rs similarity index 97% rename from rust/nix-util/src/context.rs rename to rust/nix-bindings-util/src/context.rs index 55d8332..33b657a 100644 --- a/rust/nix-util/src/context.rs +++ b/rust/nix-bindings-util/src/context.rs @@ -1,10 +1,10 @@ use anyhow::{bail, Result}; -use nix_c_raw as raw; +use nix_bindings_bindgen_raw as raw; use std::os::raw::c_char; use std::ptr::null_mut; use std::ptr::NonNull; -/// A context for error handling, when interacting directly with the generated bindings for the C API in [nix_c_raw]. +/// A context for error handling, when interacting directly with the generated bindings for the C API in [nix_bindings_bindgen_raw]. /// /// The `nix-store` and `nix-expr` libraries that consume this type internally store a private context in their `EvalState` and `Store` structs to avoid allocating a new context for each operation. The state of a context is irrelevant when used correctly (e.g. with [check_call!]), so it's safe to reuse, and safe to allocate more contexts in methods such as [Clone::clone]. pub struct Context { diff --git a/rust/nix-util/src/lib.rs b/rust/nix-bindings-util/src/lib.rs similarity index 100% rename from rust/nix-util/src/lib.rs rename to rust/nix-bindings-util/src/lib.rs diff --git a/rust/nix-util/src/settings.rs b/rust/nix-bindings-util/src/settings.rs similarity index 98% rename from rust/nix-util/src/settings.rs rename to rust/nix-bindings-util/src/settings.rs index 93d305d..5b5b5ef 100644 --- a/rust/nix-util/src/settings.rs +++ b/rust/nix-bindings-util/src/settings.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use nix_c_raw as raw; +use nix_bindings_bindgen_raw as raw; use std::sync::Mutex; use crate::{ diff --git a/rust/nix-util/src/string_return.rs b/rust/nix-bindings-util/src/string_return.rs similarity index 97% rename from rust/nix-util/src/string_return.rs rename to rust/nix-bindings-util/src/string_return.rs index 2ccbc11..b7bf010 100644 --- a/rust/nix-util/src/string_return.rs +++ b/rust/nix-bindings-util/src/string_return.rs @@ -52,9 +52,9 @@ macro_rules! result_string_init { #[cfg(test)] mod tests { use super::*; - use nix_c_raw as raw; + use nix_bindings_bindgen_raw as raw; - /// Typecheck the function signature against the generated bindings in nix_c_raw. + /// Typecheck the function signature against the generated bindings in nix_bindings_bindgen_raw. static _CALLBACK_GET_RESULT_STRING: raw::get_string_callback = Some(callback_get_result_string); #[test] diff --git a/rust/nix-expr/Cargo.toml b/rust/nix-expr/Cargo.toml deleted file mode 100644 index 0cd087b..0000000 --- a/rust/nix-expr/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "nix-expr" -version = "0.1.0" -edition = "2021" -license = "LGPL-2.1" - -[lib] -path = "src/lib.rs" - -[dependencies] -anyhow = "1.0" -nix-store = { path = "../nix-store" } -nix-util = { path = "../nix-util" } -nix-c-raw = { path = "../nix-c-raw" } -lazy_static = "1.4" -ctor = "0.2" -tempfile = "3.10" -cstr = "0.2" diff --git a/rust/nix-fetchers/Cargo.toml b/rust/nix-fetchers/Cargo.toml deleted file mode 100644 index 721aeb9..0000000 --- a/rust/nix-fetchers/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "nix-fetchers" -version = "0.1.0" -edition = "2021" -license = "LGPL-2.1" - -[lib] -path = "src/lib.rs" - -[dependencies] -anyhow = "1.0" -nix-store = { path = "../nix-store" } -nix-util = { path = "../nix-util" } -nix-c-raw = { path = "../nix-c-raw" } -ctor = "0.2" -tempfile = "3.10" -cstr = "0.2" diff --git a/rust/nix-flake/Cargo.toml b/rust/nix-flake/Cargo.toml deleted file mode 100644 index 78fd715..0000000 --- a/rust/nix-flake/Cargo.toml +++ /dev/null @@ -1,20 +0,0 @@ -[package] -name = "nix-flake" -version = "0.1.0" -edition = "2021" -license = "LGPL-2.1" - -[lib] -path = "src/lib.rs" - -[dependencies] -anyhow = "1.0" -nix-expr = { path = "../nix-expr" } -nix-fetchers = { path = "../nix-fetchers" } -nix-store = { path = "../nix-store" } -nix-util = { path = "../nix-util" } -nix-c-raw = { path = "../nix-c-raw" } -lazy_static = "1.4" -ctor = "0.2" -tempfile = "3.10" -cstr = "0.2"