diff --git a/Cargo.lock b/Cargo.lock index d8c5762..d705efa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,6 +18,16 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" +[[package]] +name = "accesskit" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8410747ed85a17c4a1e9ed3f5a74d3e7bdcc876cf9a18ff40ae21d645997b2" +dependencies = [ + "enumn", + "serde", +] + [[package]] name = "addr2line" version = "0.20.0" @@ -47,14 +57,15 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", - "getrandom 0.2.10", "once_cell", + "serde", "version_check", + "zerocopy", ] [[package]] @@ -113,6 +124,30 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "android-activity" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" +dependencies = [ + "android-properties", + "bitflags 1.3.2", + "cc", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum 0.6.1", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -136,9 +171,9 @@ checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" [[package]] name = "arboard" -version = "2.1.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc120354d1b5ec6d7aaf4876b602def75595937b5e15d356eb554ab5177e08bb" +checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08" dependencies = [ "clipboard-win", "log", @@ -151,18 +186,6 @@ dependencies = [ "x11rb", ] -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "arrayvec" version = "0.7.4" @@ -301,7 +324,7 @@ checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -350,12 +373,6 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" -[[package]] -name = "atomic_refcell" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31" - [[package]] name = "atty" version = "0.2.14" @@ -471,6 +488,25 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-sys" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" +dependencies = [ + "block-sys", + "objc2-encode", +] + [[package]] name = "bounded-vec-deque" version = "0.1.1" @@ -506,7 +542,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -603,6 +639,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "cgl" version = "0.3.2" @@ -647,15 +689,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "cmake" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" -dependencies = [ - "cc", -] - [[package]] name = "coarsetime" version = "0.1.23" @@ -679,7 +712,7 @@ dependencies = [ "cocoa-foundation", "core-foundation", "core-graphics", - "foreign-types 0.3.2", + "foreign-types", "libc", "objc", ] @@ -694,7 +727,7 @@ dependencies = [ "block", "core-foundation", "core-graphics-types", - "foreign-types 0.3.2", + "foreign-types", "libc", "objc", ] @@ -781,7 +814,7 @@ dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types 0.3.2", + "foreign-types", "libc", ] @@ -796,18 +829,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core-text" -version = "19.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25" -dependencies = [ - "core-foundation", - "core-graphics", - "foreign-types 0.3.2", - "libc", -] - [[package]] name = "cpufeatures" version = "0.2.9" @@ -879,29 +900,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossfont" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21fd3add36ea31aba1520aa5288714dd63be506106753226d0eb387a93bc9c45" -dependencies = [ - "cocoa", - "core-foundation", - "core-foundation-sys", - "core-graphics", - "core-text", - "dwrote", - "foreign-types 0.5.0", - "freetype-rs", - "libc", - "log", - "objc", - "once_cell", - "pkg-config", - "servo-fontconfig", - "winapi", -] - [[package]] name = "crunchy" version = "0.2.2" @@ -939,12 +937,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "cty" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" - [[package]] name = "curve25519-dalek" version = "3.2.0" @@ -958,16 +950,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.14.4" @@ -988,20 +970,6 @@ dependencies = [ "darling_macro 0.20.3", ] -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 1.0.109", -] - [[package]] name = "darling_core" version = "0.14.4" @@ -1027,18 +995,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.25", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", + "syn 2.0.43", ] [[package]] @@ -1060,7 +1017,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core 0.20.3", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -1200,7 +1157,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -1218,20 +1175,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" -[[package]] -name = "dwrote" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" -dependencies = [ - "lazy_static", - "libc", - "serde", - "serde_derive", - "winapi", - "wio", -] - [[package]] name = "dyn-clone" version = "1.0.11" @@ -1250,6 +1193,16 @@ dependencies = [ "signature 1.6.4", ] +[[package]] +name = "ecolor" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b7637fc2e74d17e52931bac90ff4fc061ac776ada9c7fa272f24cdca5991972" +dependencies = [ + "bytemuck", + "serde", +] + [[package]] name = "ed25519" version = "1.5.3" @@ -1288,74 +1241,89 @@ dependencies = [ [[package]] name = "eframe" -version = "0.19.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d49426c3e72a6728b0c790d22db8bf7bbcff10d83b8b6f3a01295be982302e" +checksum = "cdd73918a828c35a7efb4d7188ea973df4bffc589178ed95f521c917b03ddcfa" dependencies = [ "bytemuck", + "cocoa", "egui", "egui-winit", "egui_glow", - "getrandom 0.2.10", "glow", "glutin", + "glutin-winit", + "image", "js-sys", + "log", + "objc", + "parking_lot", "percent-encoding", - "tracing", + "raw-window-handle", + "static_assertions", + "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "winapi", "winit", ] [[package]] name = "egui" -version = "0.19.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc9fcd393c3daaaf5909008a1d948319d538b79c51871e4df0993260260a94e4" +checksum = "c55bcb864b764eb889515a38b8924757657a250738ad15126637ee2df291ee6b" dependencies = [ + "accesskit", "ahash", "epaint", + "log", "nohash-hasher", - "tracing", + "serde", ] [[package]] name = "egui-winit" -version = "0.19.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ddc525334c416e11580123e147b970f738507f427c9fb1cd09ea2dd7416a3a" +checksum = "3b673606b6606b12b95e3a3194d7882bf5cff302db36a520b8144c7c342e4e84" dependencies = [ "arboard", "egui", - "instant", + "log", + "raw-window-handle", "smithay-clipboard", - "tracing", + "web-time", "webbrowser", "winit", ] [[package]] name = "egui_extras" -version = "0.19.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f698f685bb0ad39e87109e2f695ded0bccde77d5d40bbf7590cb5561c1e3039d" +checksum = "97624eaf17a16058265d3a3e712e167798655baf7c8f693de25be75cdd6c57b5" dependencies = [ "egui", + "enum-map", "image", + "log", + "mime_guess2", + "serde", ] [[package]] name = "egui_glow" -version = "0.19.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad77d4a00402bae9658ee64be148f4b2a0b38e4fc7874970575ca01ed1c5b75d" +checksum = "262151f9d57c557c02a40a46f27b9e050a6eb0b006b94dced9c6f4519a04d489" dependencies = [ "bytemuck", "egui", "glow", - "memoffset 0.6.5", - "tracing", + "log", + "memoffset 0.7.1", "wasm-bindgen", "web-sys", ] @@ -1387,11 +1355,33 @@ dependencies = [ [[package]] name = "emath" -version = "0.19.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9542a40106fdba943a055f418d1746a050e1a903a049b030c2b097d4686a33cf" +checksum = "a045c6c0b44b35e98513fc1e9d183ab42881ac27caccb9fa345465601f56cce4" dependencies = [ "bytemuck", + "serde", +] + +[[package]] +name = "enum-map" +version = "2.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" +dependencies = [ + "enum-map-derive", + "serde", +] + +[[package]] +name = "enum-map-derive" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.43", ] [[package]] @@ -1404,7 +1394,18 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", +] + +[[package]] +name = "enumn" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.43", ] [[package]] @@ -1435,17 +1436,19 @@ dependencies = [ [[package]] name = "epaint" -version = "0.19.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba04741be7f6602b1a1b28f1082cce45948a7032961c52814f8946b28493300" +checksum = "7d1b9e000d21bab9b535ce78f9f7745be28b3f777f6c7223936561c5c7fefab8" dependencies = [ "ab_glyph", "ahash", - "atomic_refcell", "bytemuck", + "ecolor", "emath", + "log", "nohash-hasher", "parking_lot", + "serde", ] [[package]] @@ -1491,16 +1494,6 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -[[package]] -name = "expat-sys" -version = "2.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa" -dependencies = [ - "cmake", - "pkg-config", -] - [[package]] name = "exr" version = "1.7.0" @@ -1634,28 +1627,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared 0.1.1", -] - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared 0.3.1", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.25", + "foreign-types-shared", ] [[package]] @@ -1664,12 +1636,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - [[package]] name = "form_urlencoded" version = "1.2.0" @@ -1679,28 +1645,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "freetype-rs" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74eadec9d0a5c28c54bb9882e54787275152a4e36ce206b45d7451384e5bf5fb" -dependencies = [ - "bitflags 1.3.2", - "freetype-sys", - "libc", -] - -[[package]] -name = "freetype-sys" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a37d4011c0cc628dfa766fcc195454f4b068d7afdc2adfd28861191d866e731a" -dependencies = [ - "cmake", - "libc", - "pkg-config", -] - [[package]] name = "fs-mistrust" version = "0.7.2" @@ -1799,7 +1743,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -1874,9 +1818,9 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" dependencies = [ "libc", "winapi", @@ -1958,9 +1902,9 @@ dependencies = [ [[package]] name = "glow" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919" +checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" dependencies = [ "js-sys", "slotmap", @@ -1970,55 +1914,54 @@ dependencies = [ [[package]] name = "glutin" -version = "0.29.1" +version = "0.30.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444c9ad294fdcaf20ccf6726b78f380b5450275540c9b68ab62f49726ad1c713" +checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe" dependencies = [ + "bitflags 1.3.2", + "cfg_aliases", "cgl", - "cocoa", "core-foundation", + "dispatch", "glutin_egl_sys", - "glutin_gles2_sys", "glutin_glx_sys", "glutin_wgl_sys", "libloading 0.7.4", - "log", - "objc", + "objc2", "once_cell", - "osmesa-sys", - "parking_lot", - "raw-window-handle 0.5.2", - "wayland-client", - "wayland-egl", - "winapi", + "raw-window-handle", + "wayland-sys 0.30.1", + "windows-sys 0.45.0", + "x11-dl", +] + +[[package]] +name = "glutin-winit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" +dependencies = [ + "cfg_aliases", + "glutin", + "raw-window-handle", "winit", ] [[package]] name = "glutin_egl_sys" -version = "0.1.6" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68900f84b471f31ea1d1355567eb865a2cf446294f06cef8d653ed7bcf5f013d" +checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5" dependencies = [ "gl_generator", - "winapi", -] - -[[package]] -name = "glutin_gles2_sys" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094e708b730a7c8a1954f4f8a31880af00eb8a1c5b5bf85d28a0a3c6d69103" -dependencies = [ - "gl_generator", - "objc", + "windows-sys 0.45.0", ] [[package]] name = "glutin_glx_sys" -version = "0.1.8" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93d0575865098580c5b3a423188cd959419912ea60b1e48e8b3b526f6d02468" +checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" dependencies = [ "gl_generator", "x11-dl", @@ -2026,9 +1969,9 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.1.5" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5951a1569dbab865c6f2a863efafff193a93caf05538d193e9e3816d21696" +checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" dependencies = [ "gl_generator", ] @@ -2201,6 +2144,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -2468,16 +2420,18 @@ checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" [[package]] name = "jni" -version = "0.19.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", + "cfg-if", "combine", "jni-sys", "log", "thiserror", "walkdir", + "windows-sys 0.45.0", ] [[package]] @@ -2575,6 +2529,17 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.3.3", + "libc", + "redox_syscall 0.4.1", +] + [[package]] name = "libsqlite3-sys" version = "0.26.0" @@ -2667,6 +2632,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.9.0" @@ -2688,6 +2662,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess2" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a3333bb1609500601edc766a39b4c1772874a4ce26022f4d866854dc020c41" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2743,19 +2733,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "ndk" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys 0.3.0", - "num_enum 0.5.11", - "thiserror", -] - [[package]] name = "ndk" version = "0.7.0" @@ -2764,9 +2741,9 @@ checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" dependencies = [ "bitflags 1.3.2", "jni-sys", - "ndk-sys 0.4.1+23.1.7779620", + "ndk-sys", "num_enum 0.5.11", - "raw-window-handle 0.5.2", + "raw-window-handle", "thiserror", ] @@ -2776,59 +2753,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" -[[package]] -name = "ndk-glue" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0c4a7b83860226e6b4183edac21851f05d5a51756e97a1144b7f5a6b63e65f" -dependencies = [ - "lazy_static", - "libc", - "log", - "ndk 0.6.0", - "ndk-context", - "ndk-macro", - "ndk-sys 0.3.0", -] - -[[package]] -name = "ndk-glue" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0434fabdd2c15e0aab768ca31d5b7b333717f03cf02037d5a0a3ff3c278ed67f" -dependencies = [ - "libc", - "log", - "ndk 0.7.0", - "ndk-context", - "ndk-macro", - "ndk-sys 0.4.1+23.1.7779620", - "once_cell", - "parking_lot", -] - -[[package]] -name = "ndk-macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c" -dependencies = [ - "darling 0.13.4", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ndk-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" -dependencies = [ - "jni-sys", -] - [[package]] name = "ndk-sys" version = "0.4.1+23.1.7779620" @@ -2838,19 +2762,6 @@ dependencies = [ "jni-sys", ] -[[package]] -name = "nix" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" -dependencies = [ - "bitflags 1.3.2", - "cc", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - [[package]] name = "nix" version = "0.24.3" @@ -2877,6 +2788,18 @@ dependencies = [ "pin-utils", ] +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -2936,7 +2859,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "itoa", ] @@ -3031,7 +2954,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -3054,6 +2977,32 @@ dependencies = [ "objc_id", ] +[[package]] +name = "objc-sys" +version = "0.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3.patch-leaks.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +dependencies = [ + "block2", + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys", +] + [[package]] name = "objc_id" version = "0.1.1" @@ -3092,7 +3041,7 @@ checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ "bitflags 1.3.2", "cfg-if", - "foreign-types 0.3.2", + "foreign-types", "libc", "once_cell", "openssl-macros", @@ -3107,7 +3056,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -3145,12 +3094,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] -name = "osmesa-sys" -version = "0.1.2" +name = "orbclient" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88cfece6e95d2e717e0872a7f53a8684712ad13822a7979bc760b9c77ec0013b" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" dependencies = [ - "shared_library", + "libredox", ] [[package]] @@ -3325,7 +3274,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -3354,7 +3303,7 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -3501,9 +3450,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.64" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" dependencies = [ "unicode-ident", ] @@ -3603,15 +3552,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "raw-window-handle" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" -dependencies = [ - "cty", -] - [[package]] name = "raw-window-handle" version = "0.5.2" @@ -3658,6 +3598,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -3739,7 +3688,7 @@ dependencies = [ "objc", "objc-foundation", "objc_id", - "raw-window-handle 0.5.2", + "raw-window-handle", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3873,15 +3822,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" -[[package]] -name = "safe_arch" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05" -dependencies = [ - "bytemuck", -] - [[package]] name = "safelog" version = "0.3.2" @@ -3935,18 +3875,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "sctk-adwaita" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61270629cc6b4d77ec1907db1033d5c2e1a404c412743621981a871dc9c12339" -dependencies = [ - "crossfont", - "log", - "smithay-client-toolkit", - "tiny-skia", -] - [[package]] name = "sec1" version = "0.3.0" @@ -4007,7 +3935,7 @@ checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -4064,7 +3992,7 @@ dependencies = [ "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -4109,27 +4037,6 @@ dependencies = [ "serial-core", ] -[[package]] -name = "servo-fontconfig" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e3e22fe5fd73d04ebf0daa049d3efe3eae55369ce38ab16d07ddd9ac5c217c" -dependencies = [ - "libc", - "servo-fontconfig-sys", -] - -[[package]] -name = "servo-fontconfig-sys" -version = "5.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36b879db9892dfa40f95da1c38a835d41634b825fbd8c4c418093d53c24b388" -dependencies = [ - "expat-sys", - "freetype-sys", - "pkg-config", -] - [[package]] name = "sha1" version = "0.10.5" @@ -4432,7 +4339,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -4464,9 +4371,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.25" +version = "2.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53" dependencies = [ "proc-macro2", "quote", @@ -4577,7 +4484,7 @@ checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -4618,31 +4525,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-skia" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642680569bb895b16e4b9d181c60be1ed136fa0c9c7f11d004daf053ba89bf82" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "bytemuck", - "cfg-if", - "png", - "safe_arch", - "tiny-skia-path", -] - -[[package]] -name = "tiny-skia-path" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c114d32f0c2ee43d585367cb013dfaba967ab9f62b90d9af0d696e955e70fa6c" -dependencies = [ - "arrayref", - "bytemuck", -] - [[package]] name = "tinystr" version = "0.7.1" @@ -4756,7 +4638,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -5486,7 +5368,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] @@ -5531,6 +5413,15 @@ dependencies = [ "version_check", ] +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" version = "0.3.13" @@ -5699,7 +5590,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", "wasm-bindgen-shared", ] @@ -5733,7 +5624,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5757,7 +5648,7 @@ dependencies = [ "scoped-tls", "wayland-commons", "wayland-scanner", - "wayland-sys", + "wayland-sys 0.29.5", ] [[package]] @@ -5769,7 +5660,7 @@ dependencies = [ "nix 0.24.3", "once_cell", "smallvec", - "wayland-sys", + "wayland-sys 0.29.5", ] [[package]] @@ -5783,16 +5674,6 @@ dependencies = [ "xcursor", ] -[[package]] -name = "wayland-egl" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402de949f81a012926d821a2d659f930694257e76dd92b6e0042ceb27be4107d" -dependencies = [ - "wayland-client", - "wayland-sys", -] - [[package]] name = "wayland-protocols" version = "0.29.5" @@ -5827,6 +5708,18 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "wayland-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" +dependencies = [ + "dlib", + "lazy_static", + "log", + "pkg-config", +] + [[package]] name = "weak-table" version = "0.3.2" @@ -5844,17 +5737,30 @@ dependencies = [ ] [[package]] -name = "webbrowser" -version = "0.7.1" +name = "web-time" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a3cffdb686fbb24d9fb8f03a213803277ed2300f11026a3afe1f108dc021b" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71" +dependencies = [ + "core-foundation", + "home", "jni", - "ndk-glue 0.6.2", + "log", + "ndk-context", + "objc", + "raw-window-handle", "url", "web-sys", - "widestring", - "winapi", ] [[package]] @@ -5873,12 +5779,6 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" -[[package]] -name = "widestring" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" - [[package]] name = "winapi" version = "0.3.9" @@ -5939,15 +5839,11 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.36.1" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", + "windows-targets 0.42.2", ] [[package]] @@ -5959,6 +5855,15 @@ dependencies = [ "windows-targets 0.48.1", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -5989,6 +5894,21 @@ dependencies = [ "windows_x86_64_msvc 0.48.0", ] +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -6002,10 +5922,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" +name = "windows_aarch64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" [[package]] name = "windows_aarch64_msvc" @@ -6020,10 +5940,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] -name = "windows_i686_gnu" -version = "0.36.1" +name = "windows_aarch64_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" [[package]] name = "windows_i686_gnu" @@ -6038,10 +5958,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] -name = "windows_i686_msvc" -version = "0.36.1" +name = "windows_i686_gnu" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" [[package]] name = "windows_i686_msvc" @@ -6056,10 +5976,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" +name = "windows_i686_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" [[package]] name = "windows_x86_64_gnu" @@ -6073,6 +5993,12 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -6086,10 +6012,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" +name = "windows_x86_64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" [[package]] name = "windows_x86_64_msvc" @@ -6104,13 +6030,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] -name = "winit" -version = "0.27.5" +name = "windows_x86_64_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb796d6fbd86b2fd896c9471e6f04d39d750076ebe5680a3958f00f5ab97657c" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "winit" +version = "0.28.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" dependencies = [ + "android-activity", "bitflags 1.3.2", - "cocoa", + "cfg_aliases", "core-foundation", "core-graphics", "dispatch", @@ -6118,21 +6051,21 @@ dependencies = [ "libc", "log", "mio", - "ndk 0.7.0", - "ndk-glue 0.7.0", - "objc", + "ndk", + "objc2", "once_cell", - "parking_lot", + "orbclient", "percent-encoding", - "raw-window-handle 0.4.3", - "raw-window-handle 0.5.2", - "sctk-adwaita", + "raw-window-handle", + "redox_syscall 0.3.5", "smithay-client-toolkit", "wasm-bindgen", "wayland-client", + "wayland-commons", "wayland-protocols", + "wayland-scanner", "web-sys", - "windows-sys 0.36.1", + "windows-sys 0.45.0", "x11-dl", ] @@ -6163,15 +6096,6 @@ dependencies = [ "toml 0.5.11", ] -[[package]] -name = "wio" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" -dependencies = [ - "winapi", -] - [[package]] name = "x11-dl" version = "2.21.0" @@ -6185,14 +6109,24 @@ dependencies = [ [[package]] name = "x11rb" -version = "0.9.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a" +checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" dependencies = [ "gethostname", - "nix 0.22.3", + "nix 0.26.4", "winapi", "winapi-wsapoll", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" +dependencies = [ + "nix 0.26.4", ] [[package]] @@ -6239,6 +6173,26 @@ dependencies = [ "lzma-sys", ] +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.43", +] + [[package]] name = "zeroize" version = "1.6.0" @@ -6256,7 +6210,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.43", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 594bc5c..25a6f2f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,10 +33,12 @@ benri = "0.1.12" bytes = "1.4.0" dirs = "5.0.1" #-------------------------------------------------------------------------------- -egui = "0.19.0" -egui_extras = { version = "0.19.0", features = ["image"] } +egui = "0.24.1" +egui_extras = { version = "0.24.1", features = ["image"] } +## 2023-12-28: https://github.com/hinto-janai/gupax/issues/68 +eframe = { version = "0.24.1", default-features = false, features = ["glow"] } -## Update 2023-Feb-06: The below gets fixed by using the [wgpu] backend instead of [glow] +## 2023-02-06: The below gets fixed by using the [wgpu] backend instead of [glow] ## It also fixes crashes on CPU-based graphics. Only used for Windows. ## Using [wgpu] actually crashes macOS (fixed in 0.20.x though). @@ -79,8 +81,6 @@ strip-ansi-escapes = "0.2.0" tar = "0.4.38" flate2 = "1.0" sudo = "0.6.0" -## [glow] backend for macOS/Linux. -eframe = { version = "0.19.0", default-features = false, features = ["glow"] } # macOS [target.'cfg(target_os = "macos")'.dependencies] @@ -105,7 +105,6 @@ tls-api-native-tls = "0.9.0" [target.'cfg(windows)'.dependencies] zip = "0.6.6" is_elevated = "0.1.2" -eframe = { version = "0.19.0", default-features = false, features = ["glow"] } # For Windows build (icon) [target.'cfg(windows)'.build-dependencies] diff --git a/external/egui b/external/egui index 62b4d42..9cf535b 160000 --- a/external/egui +++ b/external/egui @@ -1 +1 @@ -Subproject commit 62b4d427c01201898914594a9d00d1576bc23432 +Subproject commit 9cf535bd50b2602b0bce45c718d164bae2b4ed77 diff --git a/src/constants.rs b/src/constants.rs index 250cc76..9a5639c 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -425,6 +425,8 @@ pub static VISUALS: Lazy = Lazy::new(|| { stroke: Stroke::new(1.0, Color32::from_gray(255)), }; + // Based off default dark() mode. + // https://docs.rs/egui/0.24.1/src/egui/style.rs.html#1210 let widgets = Widgets { noninteractive: WidgetVisuals { bg_fill: BG, @@ -432,6 +434,7 @@ pub static VISUALS: Lazy = Lazy::new(|| { fg_stroke: Stroke::new(1.0, Color32::from_gray(140)), // normal text color rounding: Rounding::same(10.0), expansion: 0.0, + weak_bg_fill: BG, }, inactive: WidgetVisuals { bg_fill: Color32::from_gray(50), @@ -439,6 +442,7 @@ pub static VISUALS: Lazy = Lazy::new(|| { fg_stroke: Stroke::new(1.0, Color32::from_gray(180)), // button text rounding: Rounding::same(10.0), expansion: 0.0, + weak_bg_fill: Color32::from_gray(50), }, hovered: WidgetVisuals { bg_fill: Color32::from_gray(80), @@ -446,6 +450,7 @@ pub static VISUALS: Lazy = Lazy::new(|| { fg_stroke: Stroke::new(1.5, Color32::from_gray(240)), rounding: Rounding::same(10.0), expansion: 1.0, + weak_bg_fill: Color32::from_gray(80), }, active: WidgetVisuals { bg_fill: Color32::from_gray(55), @@ -453,6 +458,7 @@ pub static VISUALS: Lazy = Lazy::new(|| { fg_stroke: Stroke::new(2.0, Color32::WHITE), rounding: Rounding::same(10.0), expansion: 1.0, + weak_bg_fill: Color32::from_gray(120), }, open: WidgetVisuals { bg_fill: Color32::from_gray(27), @@ -460,29 +466,24 @@ pub static VISUALS: Lazy = Lazy::new(|| { fg_stroke: Stroke::new(1.0, Color32::from_gray(210)), rounding: Rounding::same(10.0), expansion: 0.0, + weak_bg_fill: Color32::from_gray(120), }, }; + // https://docs.rs/egui/0.24.1/src/egui/style.rs.html#1113 Visuals { - dark_mode: true, - override_text_color: None, widgets, selection, - hyperlink_color: Color32::from_rgb(90, 170, 255), - faint_bg_color: Color32::from_additive_luminance(5), // visible, but barely so - extreme_bg_color: Color32::from_gray(10), // e.g. TextEdit background - code_bg_color: Color32::from_gray(64), - warn_fg_color: Color32::from_rgb(255, 143, 0), // orange - error_fg_color: Color32::from_rgb(255, 0, 0), // red - window_rounding: Rounding::same(6.0), - window_shadow: Shadow::big_dark(), - popup_shadow: Shadow::small_dark(), - resize_corner_size: 12.0, - text_cursor_width: 2.0, - text_cursor_preview: false, - clip_rect_margin: 3.0, // should be at least half the size of the widest frame stroke + max WidgetVisuals::expansion - button_frame: true, - collapsing_header_frame: false, + hyperlink_color: Color32::from_rgb(90, 170, 255), + faint_bg_color: Color32::from_additive_luminance(5), // visible, but barely so + extreme_bg_color: Color32::from_gray(10), // e.g. TextEdit background + code_bg_color: Color32::from_gray(64), + warn_fg_color: Color32::from_rgb(255, 143, 0), // orange + error_fg_color: Color32::from_rgb(255, 0, 0), // red + window_rounding: Rounding::same(6.0), + window_shadow: Shadow::big_dark(), + popup_shadow: Shadow::small_dark(), + ..Visuals::dark() } }); diff --git a/src/gupax.rs b/src/gupax.rs index ea75333..29da0dc 100644 --- a/src/gupax.rs +++ b/src/gupax.rs @@ -259,7 +259,8 @@ impl crate::disk::Gupax { ui.separator(); if ui.add_sized([width, height], SelectableLabel::new(self.ratio == None, "No lock")).on_hover_text(GUPAX_NO_LOCK).clicked() { self.ratio = None; } if ui.add_sized([width, height], Button::new("Set")).on_hover_text(GUPAX_SET).clicked() { - frame.set_window_size(Vec2::new(self.selected_width as f32, self.selected_height as f32)); + let size = Vec2::new(self.selected_width as f32, self.selected_height as f32); + ui.ctx().send_viewport_cmd(egui::viewport::ViewportCommand::InnerSize(size)); } })}); } diff --git a/src/main.rs b/src/main.rs index 2a7a1da..a219437 100644 --- a/src/main.rs +++ b/src/main.rs @@ -33,7 +33,7 @@ compile_error!("gupax is only built for windows/macos/linux"); // egui/eframe use egui::{ TextStyle::*, - color::Color32, + Color32, FontFamily::Proportional, TextStyle,Spinner, Layout,Align, @@ -174,8 +174,7 @@ pub struct App { } impl App { - fn cc(cc: &eframe::CreationContext<'_>, app: Self) -> Self { - let resolution = cc.integration_info.window_info.size; + fn cc(cc: &eframe::CreationContext<'_>, resolution: Vec2, app: Self) -> Self { init_text_styles(&cc.egui_ctx, resolution[0], crate::free::clamp_scale(app.state.gupax.selected_scale)); cc.egui_ctx.set_visuals(VISUALS.clone()); Self { @@ -812,7 +811,7 @@ impl KeyPressed { //---------------------------------------------------------------------------------------------------- Init functions #[inline(always)] fn init_text_styles(ctx: &egui::Context, width: f32, pixels_per_point: f32) { - let scale = width / 30.0; + let scale = width / 35.5; let mut style = (*ctx.style()).clone(); style.text_styles = [ (Small, FontId::new(scale/3.0, egui::FontFamily::Monospace)), @@ -828,7 +827,10 @@ fn init_text_styles(ctx: &egui::Context, width: f32, pixels_per_point: f32) { style.spacing.icon_width_inner = width / 35.0; style.spacing.icon_width = width / 25.0; style.spacing.icon_spacing = 20.0; - style.spacing.scroll_bar_width = width / 150.0; + style.spacing.scroll = egui::style::ScrollStyle { + bar_width: width / 150.0, + ..egui::style::ScrollStyle::solid() + }; ctx.set_style(style); // Make sure scale f32 is a regular number. let pixels_per_point = crate::free::clamp_scale(pixels_per_point); @@ -875,18 +877,18 @@ fn init_logger(now: Instant) { #[inline(always)] fn init_options(initial_window_size: Option) -> NativeOptions { let mut options = eframe::NativeOptions::default(); - options.min_window_size = Some(Vec2::new(APP_MIN_WIDTH, APP_MIN_HEIGHT)); - options.max_window_size = Some(Vec2::new(APP_MAX_WIDTH, APP_MAX_HEIGHT)); - options.initial_window_size = initial_window_size; + options.viewport.min_inner_size = Some(Vec2::new(APP_MIN_WIDTH, APP_MIN_HEIGHT)); + options.viewport.max_inner_size = Some(Vec2::new(APP_MAX_WIDTH, APP_MAX_HEIGHT)); + options.viewport.inner_size = initial_window_size; options.follow_system_theme = false; options.default_theme = eframe::Theme::Dark; let icon = image::load_from_memory(BYTES_ICON).expect("Failed to read icon bytes").to_rgba8(); let (icon_width, icon_height) = icon.dimensions(); - options.icon_data = Some(eframe::IconData { + options.viewport.icon = Some(Arc::new(egui::viewport::IconData { rgba: icon.into_raw(), width: icon_width, height: icon_height, - }); + })); info!("init_options() ... OK"); options } @@ -1172,42 +1174,55 @@ fn main() { Err(e) => warn!("Could not cleanup [gupax_tmp] folders: {}", e), } + let resolution = Vec2::new(selected_width, selected_height); + // Run Gupax. info!("/*************************************/ Init ... OK /*************************************/"); - eframe::run_native(&app.name_version.clone(), options, Box::new(|cc| Box::new(App::cc(cc, app))),); + eframe::run_native(&app.name_version.clone(), options, Box::new(move |cc| Box::new(App::cc(cc, resolution, app))),); } impl eframe::App for App { - #[inline(always)] - fn on_close_event(&mut self) -> bool { - if self.state.gupax.ask_before_quit { - // If we're already on the [ask_before_quit] screen and - // the user tried to exit again, exit. - if self.error_state.quit_twice { - if self.state.gupax.save_before_quit { self.save_before_quit(); } - return true - } - // Else, set the error - self.error_state.set("", ErrorFerris::Oops, ErrorButtons::StayQuit); - self.error_state.quit_twice = true; - false - // Else, just quit. - } else { - if self.state.gupax.save_before_quit { self.save_before_quit(); } - true - } - } - - #[inline(always)] + #[inline] fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { // *-------* // | DEBUG | // *-------* debug!("App | ----------- Start of [update()] -----------"); + // If closing. + // Used to be `eframe::App::on_close_event(&mut self) -> bool`. + let close_signal = ctx.input(|input| { + use egui::viewport::ViewportCommand; + + if !input.viewport().close_requested() { + return None; + } + if self.state.gupax.ask_before_quit { + // If we're already on the [ask_before_quit] screen and + // the user tried to exit again, exit. + if self.error_state.quit_twice { + if self.state.gupax.save_before_quit { self.save_before_quit(); } + return Some(ViewportCommand::Close); + } + // Else, set the error + self.error_state.set("", ErrorFerris::Oops, ErrorButtons::StayQuit); + self.error_state.quit_twice = true; + Some(ViewportCommand::CancelClose) + // Else, just quit. + } else { + if self.state.gupax.save_before_quit { self.save_before_quit(); } + Some(ViewportCommand::Close) + } + }); + // This will either: + // 1. Cancel a close signal + // 2. Close the program + if let Some(cmd) = close_signal { + ctx.send_viewport_cmd(cmd); + } + // If [F11] was pressed, reverse [fullscreen] bool - let mut input = ctx.input_mut(); - let key: KeyPressed = { + let key: KeyPressed = ctx.input_mut(|input| { if input.consume_key(Modifiers::NONE, Key::F11) { KeyPressed::F11 } else if input.consume_key(Modifiers::NONE, Key::Z) { @@ -1233,16 +1248,17 @@ impl eframe::App for App { } else { KeyPressed::None } - }; - drop(input); + }); + // Check if egui wants keyboard input. // This prevents keyboard shortcuts from clobbering TextEdits. // (Typing S in text would always [Save] instead) let wants_input = ctx.wants_keyboard_input(); if key.is_f11() { - let info = frame.info(); - frame.set_fullscreen(!info.window_info.fullscreen); + if ctx.input(|i| i.viewport().maximized == Some(true)) { + ctx.send_viewport_cmd(egui::ViewportCommand::Fullscreen(true)); + } // Change Tabs LEFT } else if key.is_z() && !wants_input { match self.tab { @@ -1524,7 +1540,7 @@ impl eframe::App for App { ui.horizontal(|ui| { let response = ui.add_sized([sudo_width*8.0, height], TextEdit::hint_text(TextEdit::singleline(&mut sudo.pass).password(hide), PASSWORD_TEXT)); let box_width = (ui.available_width()/2.0)-5.0; - if (response.lost_focus() && ui.input().key_pressed(Key::Enter)) || + if (response.lost_focus() && ui.input(|i| i.key_pressed(Key::Enter))) || ui.add_sized([box_width, height], Button::new("Enter")).on_hover_text(PASSWORD_ENTER).clicked() { response.request_focus(); if !sudo.testing { diff --git a/src/p2pool.rs b/src/p2pool.rs index 49c08df..3c9ad04 100644 --- a/src/p2pool.rs +++ b/src/p2pool.rs @@ -64,7 +64,7 @@ impl crate::disk::P2pool { ui.separator(); let response = ui.add_sized([width, text_edit], TextEdit::hint_text(TextEdit::singleline(buffer), r#"Type a command (e.g "help" or "status") and press Enter"#)).on_hover_text(P2POOL_INPUT); // If the user pressed enter, dump buffer contents into the process STDIN - if response.lost_focus() && ui.input().key_pressed(egui::Key::Enter) { + if response.lost_focus() && ui.input(|i| i.key_pressed(egui::Key::Enter)) { response.request_focus(); // Get focus back let buffer = std::mem::take(buffer); // Take buffer let mut process = lock!(process); // Lock @@ -151,7 +151,7 @@ impl crate::disk::P2pool { debug!("P2Pool Tab | Rendering [ComboBox] of Remote Nodes"); let ip_location = crate::node::format_ip_location(&self.node, false); let text = RichText::new(format!(" ⏺ {}ms | {}", ms, ip_location)).color(color); - ComboBox::from_id_source("remote_nodes").selected_text(text).show_ui(ui, |ui| { + ComboBox::from_id_source("remote_nodes").selected_text(text).width(width).show_ui(ui, |ui| { for data in lock!(ping).nodes.iter() { let ms = crate::node::format_ms(data.ms); let ip_location = crate::node::format_ip_location(data.ip, true); @@ -338,7 +338,7 @@ impl crate::disk::P2pool { // [Ping List] debug!("P2Pool Tab | Rendering [Node List]"); let text = RichText::new(format!("{}. {}", self.selected_index+1, self.selected_name)); - ComboBox::from_id_source("manual_nodes").selected_text(text).show_ui(ui, |ui| { + ComboBox::from_id_source("manual_nodes").selected_text(text).width(width).show_ui(ui, |ui| { let mut n = 0; for (name, node) in node_vec.iter() { let text = RichText::new(format!("{}. {}\n IP: {}\n RPC: {}\n ZMQ: {}", n+1, name, node.ip, node.rpc, node.zmq)); diff --git a/src/status.rs b/src/status.rs index 9dcc3f1..8f73d7b 100644 --- a/src/status.rs +++ b/src/status.rs @@ -327,7 +327,12 @@ pub fn show(&mut self, sys: &Arc>, p2pool_api: &Arc String { self.0.to_string() } @@ -400,6 +404,7 @@ r#"2022-09-08 18:42:55.4636 | 0.001000000000 XMR | Block 2,654,321 ]); println!("OG: {:#?}", payout_ord); + #[allow(clippy::never_loop)] for (_, atomic_unit, _) in payout_ord.rev_iter() { if atomic_unit.to_u64() == 3000000000 { break diff --git a/src/xmrig.rs b/src/xmrig.rs index 74e5103..f08e403 100644 --- a/src/xmrig.rs +++ b/src/xmrig.rs @@ -65,7 +65,7 @@ impl crate::disk::Xmrig { ui.separator(); let response = ui.add_sized([width, text_edit], TextEdit::hint_text(TextEdit::singleline(buffer), r#"Commands: [h]ashrate, [p]ause, [r]esume, re[s]ults, [c]onnection"#)).on_hover_text(XMRIG_INPUT); // If the user pressed enter, dump buffer contents into the process STDIN - if response.lost_focus() && ui.input().key_pressed(egui::Key::Enter) { + if response.lost_focus() && ui.input(|i| i.key_pressed(egui::Key::Enter)) { response.request_focus(); // Get focus back let buffer = std::mem::take(buffer); // Take buffer let mut process = lock!(process); // Lock @@ -228,7 +228,7 @@ impl crate::disk::Xmrig { // [Node List] debug!("XMRig Tab | Rendering [Node List] ComboBox"); let text = RichText::new(format!("{}. {}", self.selected_index+1, self.selected_name)); - ComboBox::from_id_source("manual_pool").selected_text(text).show_ui(ui, |ui| { + ComboBox::from_id_source("manual_pool").selected_text(text).width(width).show_ui(ui, |ui| { let mut n = 0; for (name, pool) in pool_vec.iter() { let text = format!("{}. {}\n IP: {}\n Port: {}\n Rig: {}", n+1, name, pool.ip, pool.port, pool.rig);