From 32908dd719c6b10fd0820ab9701dd4d6de61841d Mon Sep 17 00:00:00 2001 From: John Smith Date: Sat, 29 Jan 2022 13:53:55 -0500 Subject: [PATCH] fix windows build --- Cargo.lock | 280 ++++++++++++++--------- external/keyring-manager | 2 +- veilid-core/Cargo.toml | 2 +- veilid-flutter/rust/build.rs | 37 ++- veilid-flutter/windows/CMakeLists.txt | 5 +- veilid-flutter/windows/rust.cmake | 23 ++ veilid-flutter/windows/veilid_plugin.cpp | 66 +++--- 7 files changed, 263 insertions(+), 152 deletions(-) create mode 100644 veilid-flutter/windows/rust.cmake diff --git a/Cargo.lock b/Cargo.lock index b88223f4..beb1474b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.52" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3" +checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" [[package]] name = "arraydeque" @@ -282,9 +282,9 @@ dependencies = [ [[package]] name = "async-task" -version = "4.0.3" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" +checksum = "677d306121baf53310a3fd342d88dc0824f6bbeace68347593658525565abee8" [[package]] name = "async-tls" @@ -380,9 +380,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.63" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" +checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" dependencies = [ "addr2line", "cc", @@ -425,9 +425,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882e99e4a0cb2ae6cb6e442102e8e6b7131718d94110e64c3e6a34ea9b106f37" +checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" dependencies = [ "arrayref", "arrayvec 0.7.2", @@ -501,14 +501,14 @@ dependencies = [ "lazy_static", "memchr", "regex-automata", - "serde 1.0.133", + "serde 1.0.136", ] [[package]] name = "bugsalot" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ecfa84116fbdfe0a25779563defa5e6600ec6ef041017efe21ef494206e6928" +checksum = "cc12a55e9bd3840279c248c96ecf541d5ba98d6654e08869fe167121384a582c" [[package]] name = "bumpalo" @@ -684,9 +684,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.0.7" +version = "3.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12e8611f9ae4e068fa3e56931fded356ff745e70987ff76924a6e0ab1c8ef2e3" +checksum = "08799f92c961c7a1cf0cc398a9073da99e21ce388b46372c37f3191f2f3eed3e" dependencies = [ "atty", "bitflags", @@ -734,7 +734,7 @@ dependencies = [ "lazy_static", "nom", "rust-ini", - "serde 1.0.133", + "serde 1.0.136", "serde-hjson", "serde_json", "toml", @@ -750,7 +750,7 @@ dependencies = [ "lazy_static", "nom", "rust-ini", - "serde 1.0.133", + "serde 1.0.136", "serde-hjson", "serde_json", "toml", @@ -851,7 +851,7 @@ dependencies = [ "plotters", "rayon", "regex", - "serde 1.0.133", + "serde 1.0.136", "serde_cbor", "serde_derive", "serde_json", @@ -964,7 +964,7 @@ dependencies = [ "csv-core", "itoa 0.4.8", "ryu", - "serde 1.0.133", + "serde 1.0.136", ] [[package]] @@ -1230,7 +1230,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" dependencies = [ "enumflags2_derive", - "serde 1.0.133", + "serde 1.0.136", ] [[package]] @@ -1318,9 +1318,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" +checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71" [[package]] name = "failure" @@ -1358,9 +1358,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fastrand" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779d043b6a0b90cc4c0ed7ee380a6504394cee7efd7db050e3774eee387324b2" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" dependencies = [ "instant", ] @@ -1577,15 +1577,14 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "gloo-timers" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f16c88aa13d2656ef20d1c042086b8767bbe2bdb62526894275a1b062161b2e" +checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e" dependencies = [ "futures-channel", "futures-core", "js-sys", "wasm-bindgen", - "web-sys", ] [[package]] @@ -1603,13 +1602,22 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758" +dependencies = [ + "ahash", +] + [[package]] name = "hashlink" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" dependencies = [ - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -1715,7 +1723,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" dependencies = [ - "serde 1.0.133", + "serde 1.0.136", ] [[package]] @@ -1736,7 +1744,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -1803,9 +1811,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.55" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" dependencies = [ "wasm-bindgen", ] @@ -1839,7 +1847,7 @@ dependencies = [ "backtrace", "byteorder", "cfg-if 1.0.0", - "clap 3.0.7", + "clap 3.0.13", "core-foundation 0.9.2", "core-foundation-sys 0.8.3", "directories", @@ -1854,7 +1862,7 @@ dependencies = [ "secret-service", "security-framework", "security-framework-sys", - "serde 1.0.133", + "serde 1.0.136", "serde_cbor", "serial_test 0.5.1", "simplelog", @@ -1876,7 +1884,7 @@ version = "0.1.0" dependencies = [ "keyvaluedb", "keyvaluedb-shared-tests", - "parking_lot 0.11.2", + "parking_lot 0.12.0", ] [[package]] @@ -1900,7 +1908,7 @@ dependencies = [ "keyvaluedb", "keyvaluedb-shared-tests", "log", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "rand 0.8.4", "rusqlite", "sysinfo", @@ -1956,9 +1964,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.112" +version = "0.2.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" +checksum = "565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74" [[package]] name = "libsqlite3-sys" @@ -1998,9 +2006,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -2021,7 +2029,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f" dependencies = [ - "hashbrown", + "hashbrown 0.11.2", ] [[package]] @@ -2219,9 +2227,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.22.0" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1e25ee6b412c2a1e3fcb6a4499a5c1bfe7f43e014bdce9a6b6666e5aa2d187" +checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" dependencies = [ "bitflags", "cc", @@ -2474,7 +2482,7 @@ dependencies = [ "byte-slice-cast", "impl-trait-for-tuples", "parity-scale-codec-derive", - "serde 1.0.133", + "serde 1.0.136", ] [[package]] @@ -2512,10 +2520,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.5", + "lock_api 0.4.6", "parking_lot_core 0.8.5", ] +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api 0.4.6", + "parking_lot_core 0.9.0", +] + [[package]] name = "parking_lot_core" version = "0.7.2" @@ -2544,6 +2562,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2f4f894f3865f6c0e02810fc597300f34dc2510f66400da262d8ae10e75767d" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall 0.2.10", + "smallvec", + "windows-sys", +] + [[package]] name = "paste" version = "1.0.6" @@ -2749,9 +2780,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" dependencies = [ "proc-macro2", ] @@ -2969,7 +3000,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix 0.22.0", + "nix 0.22.3", "thiserror", ] @@ -3120,7 +3151,7 @@ dependencies = [ "lazy_static", "num 0.3.1", "rand 0.8.4", - "serde 1.0.133", + "serde 1.0.136", "sha2", "zbus", "zbus_macros", @@ -3130,9 +3161,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" +checksum = "d09d3c15d814eda1d6a836f2f2b56a6abc1446c8a34351cb3180d3db92ffe4ce" dependencies = [ "bitflags", "core-foundation 0.9.2", @@ -3143,9 +3174,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" +checksum = "e90dd10c41c6bfc633da6e0c659bd25d31e0791e5974ac42970267d59eba87f7" dependencies = [ "core-foundation-sys 0.8.3", "libc", @@ -3171,9 +3202,9 @@ checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" [[package]] name = "serde" -version = "1.0.133" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] @@ -3184,7 +3215,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18b20e7752957bbe9661cff4e0bb04d183d0948cdab2ea58cdb9df36a61dfe62" dependencies = [ - "serde 1.0.133", + "serde 1.0.136", "serde_derive", ] @@ -3208,14 +3239,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ "half", - "serde 1.0.133", + "serde 1.0.136", ] [[package]] name = "serde_derive" -version = "1.0.133" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -3224,13 +3255,13 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.74" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2bb9cd061c5865d345bb02ca49fcef1391741b672b54a0bf7b679badec3142" +checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085" dependencies = [ "itoa 1.0.1", "ryu", - "serde 1.0.133", + "serde 1.0.136", ] [[package]] @@ -3261,7 +3292,7 @@ checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0" dependencies = [ "indexmap", "ryu", - "serde 1.0.133", + "serde 1.0.136", "yaml-rust", ] @@ -3406,9 +3437,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" dependencies = [ "libc", "winapi", @@ -3452,9 +3483,9 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "syn" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7" +checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" dependencies = [ "proc-macro2", "quote", @@ -3475,9 +3506,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.22.5" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f1bfab07306a27332451a662ca9c8156e3a9986f82660ba9c8e744fe8455d43" +checksum = "9e757000a4bed2b1be9be65a3f418b9696adf30bb419214c73997422de73a591" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys 0.8.3", @@ -3577,7 +3608,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" dependencies = [ - "serde 1.0.133", + "serde 1.0.136", "serde_json", ] @@ -3598,9 +3629,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.15.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838" +checksum = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a" dependencies = [ "bytes 1.1.0", "memchr", @@ -3613,7 +3644,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" dependencies = [ - "serde 1.0.133", + "serde 1.0.136", ] [[package]] @@ -3662,9 +3693,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +checksum = "1b1b413ebfe8c2c74a69ff124699dd156a7fa41cb1d09ba6df94aa2f2b0a4a3a" dependencies = [ "byteorder", "crunchy", @@ -3782,7 +3813,7 @@ dependencies = [ "capnp-rpc", "capnpc", "cfg-if 1.0.0", - "clap 3.0.7", + "clap 3.0.13", "config 0.10.1", "crossbeam-channel", "cursive", @@ -3793,7 +3824,7 @@ dependencies = [ "futures", "log", "parking_lot 0.11.2", - "serde 1.0.133", + "serde 1.0.136", "serde_derive", "serial_test 0.4.0", "thiserror", @@ -3830,7 +3861,7 @@ dependencies = [ "futures-util", "generic-array", "getrandom 0.2.4", - "hashbrown", + "hashbrown 0.12.0", "hex", "ifstructs", "jni", @@ -3849,7 +3880,7 @@ dependencies = [ "no-std-net", "num_cpus", "once_cell", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "rand 0.7.3", "rtnetlink", "rusqlite", @@ -3857,7 +3888,7 @@ dependencies = [ "rustls", "rustls-pemfile", "secrecy", - "serde 1.0.133", + "serde 1.0.136", "serde-big-array", "serde_cbor", "serial_test 0.5.1", @@ -3890,7 +3921,7 @@ dependencies = [ "capnp-rpc", "capnpc", "cfg-if 1.0.0", - "clap 3.0.7", + "clap 3.0.13", "config 0.11.0", "ctrlc", "daemonize", @@ -3899,8 +3930,8 @@ dependencies = [ "futures", "lazy_static", "log", - "parking_lot 0.11.2", - "serde 1.0.133", + "parking_lot 0.12.0", + "serde 1.0.136", "serde_derive", "serde_yaml", "serial_test 0.5.1", @@ -3953,9 +3984,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" +checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -3963,9 +3994,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" +checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" dependencies = [ "bumpalo", "lazy_static", @@ -3978,9 +4009,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" +checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3990,9 +4021,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" +checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4000,9 +4031,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" +checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" dependencies = [ "proc-macro2", "quote", @@ -4013,15 +4044,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" +checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" [[package]] name = "wasm-bindgen-test" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96f1aa7971fdf61ef0f353602102dbea75a56e225ed036c1e3740564b91e6b7e" +checksum = "45c8d417d87eefa0087e62e3c75ad086be39433449e2961add9a5d9ce5acc2f1" dependencies = [ "console_error_panic_hook", "js-sys", @@ -4033,9 +4064,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6006f79628dfeb96a86d4db51fbf1344cd7fd8408f06fc9aa3c84913a4789688" +checksum = "d0e560d44db5e73b69a9757a15512fe7e1ef93ed2061c928871a4025798293dd" dependencies = [ "proc-macro2", "quote", @@ -4054,9 +4085,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.55" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" +checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" dependencies = [ "js-sys", "wasm-bindgen", @@ -4170,6 +4201,49 @@ dependencies = [ "winapi", ] +[[package]] +name = "windows-sys" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceb069ac8b2117d36924190469735767f0990833935ab430155e71a44bafe148" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d027175d00b01e0cbeb97d6ab6ebe03b12330a35786cbaca5252b1c4bf5d9b" + +[[package]] +name = "windows_i686_gnu" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8793f59f7b8e8b01eda1a652b2697d87b93097198ae85f823b969ca5b89bba58" + +[[package]] +name = "windows_i686_msvc" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8602f6c418b67024be2996c512f5f995de3ba417f4c75af68401ab8756796ae4" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d615f419543e0bd7d2b3323af0d86ff19cbc4f816e6453f36a2c2ce889c354" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d95421d9ed3672c280884da53201a5c46b7b2765ca6faf34b0d71cf34a3561" + [[package]] name = "ws_stream_wasm" version = "0.7.3" @@ -4244,7 +4318,7 @@ dependencies = [ "once_cell", "polling", "scoped-tls", - "serde 1.0.133", + "serde 1.0.136", "serde_repr", "zbus_macros", "zvariant", @@ -4264,9 +4338,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc222aec311c323c717f56060324f32b82da1ce1dd81d9a09aa6a9030bfe08db" +checksum = "4062c749be08d90be727e9c5895371c3a0e49b90ba2b9592dc7afda95cc2b719" dependencies = [ "zeroize_derive", ] @@ -4292,7 +4366,7 @@ dependencies = [ "byteorder", "enumflags2", "libc", - "serde 1.0.133", + "serde 1.0.136", "static_assertions", "zvariant_derive", ] diff --git a/external/keyring-manager b/external/keyring-manager index 935ca957..1295d708 160000 --- a/external/keyring-manager +++ b/external/keyring-manager @@ -1 +1 @@ -Subproject commit 935ca957d7e223ef560a0b20b656730a325e0ba7 +Subproject commit 1295d708ec42542f076a13db69eadc448a94f985 diff --git a/veilid-core/Cargo.toml b/veilid-core/Cargo.toml index 7582745c..05b9003a 100644 --- a/veilid-core/Cargo.toml +++ b/veilid-core/Cargo.toml @@ -58,7 +58,7 @@ webpki-roots = "^0" rustls = "^0.19" rustls-pemfile = "^0.2" num_cpus = "^1" -futures-util = { version = "^0", default-features = false, features = ["async-await", "sink", "std"] } +futures-util = { version = "^0", default-features = false, features = ["async-await", "sink", "std", "io"] } keyvaluedb-sqlite = { path = "../external/keyvaluedb/keyvaluedb-sqlite" } data-encoding = { version = "^2" } serde = { version = "^1", features = ["derive" ] } diff --git a/veilid-flutter/rust/build.rs b/veilid-flutter/rust/build.rs index b89da920..7b912c24 100644 --- a/veilid-flutter/rust/build.rs +++ b/veilid-flutter/rust/build.rs @@ -1,17 +1,15 @@ use cfg_if::*; use std::env; use std::ffi::OsStr; -use std::fs; use std::path::{Path, PathBuf}; use std::process::Command; fn resolve_llvm_path() -> Option { - let paths: Vec = - env::var_os("PATH").map(|paths| env::split_paths(&paths).collect())?; - cfg_if! { if #[cfg(target_os="linux")] { // build host is linux + let paths: Vec = + env::var_os("PATH").map(|paths| env::split_paths(&paths).collect())?; // find clang let d = paths.iter().find_map(|p| { @@ -36,7 +34,7 @@ fn resolve_llvm_path() -> Option { ["/opt/homebrew/opt/llvm", "/usr/local/homebrew/opt/llvm"].iter().map(Path::new).find_map(|p| if p.exists() { Some(p.to_owned()) } else { None } ) } else { // anywhere else, just use the default paths - llvm_path = None; + None } } } @@ -97,13 +95,28 @@ fn main() { // Build freezed // Run: flutter pub run build_runner build - let mut command = Command::new("flutter"); - command.args([ - OsStr::new("pub"), - OsStr::new("run"), - OsStr::new("build_runner"), - OsStr::new("build"), - ]); + let mut command; + cfg_if! { + if #[cfg(target_os="windows")] { + command = Command::new("cmd"); + command.args([ + OsStr::new("/c"), + OsStr::new("flutter"), + OsStr::new("pub"), + OsStr::new("run"), + OsStr::new("build_runner"), + OsStr::new("build"), + ]); + } else { + command = Command::new("flutter"); + command.args([ + OsStr::new("pub"), + OsStr::new("run"), + OsStr::new("build_runner"), + OsStr::new("build"), + ]); + } + } let mut child = command .spawn() diff --git a/veilid-flutter/windows/CMakeLists.txt b/veilid-flutter/windows/CMakeLists.txt index 9050e0f6..89ed8216 100644 --- a/veilid-flutter/windows/CMakeLists.txt +++ b/veilid-flutter/windows/CMakeLists.txt @@ -17,8 +17,9 @@ target_include_directories(${PLUGIN_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include") target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin) +include(./rust.cmake) # List of absolute paths to libraries that should be bundled with the plugin set(veilid_bundled_libraries - "" + "$" PARENT_SCOPE -) +) \ No newline at end of file diff --git a/veilid-flutter/windows/rust.cmake b/veilid-flutter/windows/rust.cmake new file mode 100644 index 00000000..141fe937 --- /dev/null +++ b/veilid-flutter/windows/rust.cmake @@ -0,0 +1,23 @@ +# We include Corrosion inline here, but ideally in a project with +# many dependencies we would need to install Corrosion on the system. +# See instructions on https://github.com/AndrewGaspar/corrosion#cmake-install +# Once done, uncomment this line: +# find_package(Corrosion REQUIRED) + +include(FetchContent) + +FetchContent_Declare( + Corrosion + GIT_REPOSITORY https://github.com/AndrewGaspar/corrosion.git + GIT_TAG origin/master # Optionally specify a version tag or branch here +) + +FetchContent_MakeAvailable(Corrosion) + +corrosion_import_crate(MANIFEST_PATH ${CMAKE_SOURCE_DIR}/../../rust/Cargo.toml) + +# Flutter-specific + +set(CRATE_NAME "veilid-flutter") +target_link_libraries(${PLUGIN_NAME} PUBLIC ${CRATE_NAME}) +# list(APPEND PLUGIN_BUNDLED_LIBRARIES $) \ No newline at end of file diff --git a/veilid-flutter/windows/veilid_plugin.cpp b/veilid-flutter/windows/veilid_plugin.cpp index 812a02b2..53b679ab 100644 --- a/veilid-flutter/windows/veilid_plugin.cpp +++ b/veilid-flutter/windows/veilid_plugin.cpp @@ -28,54 +28,54 @@ namespace private: // Called when a method is called on this plugin's channel from Dart. - void HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result); + // void HandleMethodCall( + // const flutter::MethodCall &method_call, + // std::unique_ptr> result); }; // static void VeilidPlugin::RegisterWithRegistrar( flutter::PluginRegistrarWindows *registrar) { - auto channel = - std::make_unique>( - registrar->messenger(), "veilid", - &flutter::StandardMethodCodec::GetInstance()); + // auto channel = + // std::make_unique>( + // registrar->messenger(), "veilid", + // &flutter::StandardMethodCodec::GetInstance()); - auto plugin = std::make_unique(); + // auto plugin = std::make_unique(); - channel->SetMethodCallHandler( - [plugin_pointer = plugin.get()](const auto &call, auto result) - { - plugin_pointer->HandleMethodCall(call, std::move(result)); - }); + // channel->SetMethodCallHandler( + // [plugin_pointer = plugin.get()](const auto &call, auto result) + // { + // plugin_pointer->HandleMethodCall(call, std::move(result)); + // }); - registrar->AddPlugin(std::move(plugin)); + // registrar->AddPlugin(std::move(plugin)); } VeilidPlugin::VeilidPlugin() {} VeilidPlugin::~VeilidPlugin() {} - void VeilidPlugin::HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result) - { - // if (method_call.method_name().compare("getPlatformVersion") == 0) { - // std::ostringstream version_stream; - // version_stream << "Windows "; - // if (IsWindows10OrGreater()) { - // version_stream << "10+"; - // } else if (IsWindows8OrGreater()) { - // version_stream << "8"; - // } else if (IsWindows7OrGreater()) { - // version_stream << "7"; - // } - // result->Success(flutter::EncodableValue(version_stream.str())); - // } else { - result->NotImplemented(); - // } - } + // void VeilidPlugin::HandleMethodCall( + // const flutter::MethodCall &method_call, + // std::unique_ptr> result) + // { + // // if (method_call.method_name().compare("getPlatformVersion") == 0) { + // // std::ostringstream version_stream; + // // version_stream << "Windows "; + // // if (IsWindows10OrGreater()) { + // // version_stream << "10+"; + // // } else if (IsWindows8OrGreater()) { + // // version_stream << "8"; + // // } else if (IsWindows7OrGreater()) { + // // version_stream << "7"; + // // } + // // result->Success(flutter::EncodableValue(version_stream.str())); + // // } else { + // result->NotImplemented(); + // // } + // } } // namespace