diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..6372a86 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,966 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cairo-rs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871" +dependencies = [ + "bitflags", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "cfg-expr" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a35b255461940a32985c627ce82900867c61db1659764d3675ea81963f72a4c6" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "field-offset" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.13", +] + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-macro", + "futures-task", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf" +dependencies = [ + "bitflags", + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk4" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff" +dependencies = [ + "bitflags", + "cairo-rs", + "gdk-pixbuf", + "gdk4-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk4-sys" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gio" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2261a3b4e922ec676d1c27ac466218c38cf5dcb49a759129e54bb5046e442125" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror", +] + +[[package]] +name = "gio-sys" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1d43b0d7968b48455244ecafe41192871257f5740aa6b095eb19db78e362a5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb53061756195d76969292c2d2e329e01259276524a9bae6c9b73af62854773" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror", +] + +[[package]] +name = "glib-macros" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e73a9790e243f6d55d8e302426419f6084a1de7a84cd07f7268300408a19de" +dependencies = [ + "anyhow", + "heck", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "glib-sys" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f00ad0a1bf548e61adfff15d83430941d9e1bb620e334f779edd1c745680a5" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "gobject-sys" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e75b0000a64632b2d8ca3cf856af9308e3a970844f6e9659bd197f026793d0" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "graphene-rs" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21cf11565bb0e4dfc2f99d4775b6c329f0d40a2cff9c0066214d31a0e1b46256" +dependencies = [ + "glib", + "graphene-sys", + "libc", +] + +[[package]] +name = "graphene-sys" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf80a4849a8d9565410a8fec6fc3678e9c617f4ac7be182ca55ab75016e07af9" +dependencies = [ + "glib-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gsk4" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c" +dependencies = [ + "bitflags", + "cairo-rs", + "gdk4", + "glib", + "graphene-rs", + "gsk4-sys", + "libc", + "pango", +] + +[[package]] +name = "gsk4-sys" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0" +dependencies = [ + "cairo-sys-rs", + "gdk4-sys", + "glib-sys", + "gobject-sys", + "graphene-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk4" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e30e124b5a605f6f5513db13958bfcd51d746607b20bc7bb718b33e303274ed" +dependencies = [ + "bitflags", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk-pixbuf", + "gdk4", + "gio", + "glib", + "graphene-rs", + "gsk4", + "gtk4-macros", + "gtk4-sys", + "libc", + "once_cell", + "pango", +] + +[[package]] +name = "gtk4-macros" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f041a797fb098bfb06e432c61738133604bfa3af57f13f1da3b9d46271422ef0" +dependencies = [ + "anyhow", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "gtk4-sys" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk4-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "graphene-sys", + "gsk4-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "kifu-core" +version = "0.1.0" +dependencies = [ + "tokio", +] + +[[package]] +name = "kifu-gtk" +version = "0.1.0" +dependencies = [ + "cairo-rs", + "glib", + "gtk4", + "kifu-core", + "screenplay", + "tokio", +] + +[[package]] +name = "libc" +version = "0.2.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "pango" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52c280b82a881e4208afb3359a8e7fde27a1b272280981f1f34610bed5770d37" +dependencies = [ + "bitflags", + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4293d0f0b5525eb5c24734d30b0ed02cd02aa734f216883f376b54de49625de8" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d0dd4be24fcdcfeaa12a432d588dc59bbad6cad3510c67e74a2b6b2fc950564" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "screenplay" +version = "0.1.0" +dependencies = [ + "gtk4", +] + +[[package]] +name = "semver" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" + +[[package]] +name = "serde" +version = "1.0.159" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" + +[[package]] +name = "serde_spanned" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" +dependencies = [ + "serde", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-deps" +version = "6.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "555fc8147af6256f3931a36bb83ad0023240ce9cf2b319dec8236fd1f220b05f" +dependencies = [ + "cfg-expr", + "heck", + "pkg-config", + "toml", + "version-compare", +] + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.13", +] + +[[package]] +name = "tokio" +version = "1.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" +dependencies = [ + "autocfg", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.13", +] + +[[package]] +name = "toml" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "version-compare" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[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-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "winnow" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" +dependencies = [ + "memchr", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..fbbf28d --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] +members = [ + "kifu/kifu-core", + "kifu/kifu-gtk" +] + diff --git a/flake.lock b/flake.lock index 54b6bfa..5b271ab 100644 --- a/flake.lock +++ b/flake.lock @@ -1,6 +1,43 @@ { "nodes": { + "crane": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1680479184, + "narHash": "sha256-FXWFQlK8SL2m/7zgN3ovQfXpnK/QRkZNEiGARguAujc=", + "owner": "ipetkov", + "repo": "crane", + "rev": "aab6d4f865f2cb2a6d61168be5a6e8205daa7e26", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1650374568, @@ -17,6 +54,21 @@ } }, "flake-utils": { + "locked": { + "lastModified": 1676283394, + "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -32,6 +84,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1677655566, + "narHash": "sha256-I8G8Lmpp3YduYl4+pkiIJFGT1WKw+8ZMH2QwANkTu2U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ae8bdd2de4c23b239b5a771501641d2ef5e027d0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1679748960, "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", @@ -46,7 +114,7 @@ "type": "indirect" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1672580127, "narHash": "sha256-3lW3xZslREhJogoOkjeZtlBtvFMyxHku7I/9IVehhT8=", @@ -64,10 +132,10 @@ }, "pkgs-cargo2nix": { "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2", - "rust-overlay": "rust-overlay" + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_3", + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1655189312, @@ -85,12 +153,38 @@ }, "root": { "inputs": { - "nixpkgs": "nixpkgs", + "crane": "crane", + "nixpkgs": "nixpkgs_2", "pkgs-cargo2nix": "pkgs-cargo2nix", "unstable": "unstable" } }, "rust-overlay": { + "inputs": { + "flake-utils": [ + "crane", + "flake-utils" + ], + "nixpkgs": [ + "crane", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1677812689, + "narHash": "sha256-EakqhgRnjVeYJv5+BJx/NZ7/eFTMBxc4AhICUNquhUg=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "e53e8853aa7b0688bc270e9e6a681d22e01cf299", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "flake-utils": [ "pkgs-cargo2nix", diff --git a/flake.nix b/flake.nix index 86ce662..a4b4374 100644 --- a/flake.nix +++ b/flake.nix @@ -5,9 +5,10 @@ nixpkgs.url = "nixpkgs/nixos-22.11"; unstable.url = "nixpkgs/nixos-unstable"; pkgs-cargo2nix.url = "github:cargo2nix/cargo2nix"; + crane.url = "github:ipetkov/crane"; }; - outputs = { self, nixpkgs, unstable, pkgs-cargo2nix, ... }: + outputs = { self, nixpkgs, unstable, pkgs-cargo2nix, crane, ... }: let version = builtins.string 0 8 self.lastModifiedDate; supportedSystems = [ "x86_64-linux" ]; @@ -42,45 +43,22 @@ ]; LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib"; }; - packages."x86_64-linux" = + packages."x86_64-linux" = let pkgs = import nixpkgs { system = "x86_64-linux"; }; - customBuildInfo = pkgs: pkgs.buildRustCrate.override { - defaultCrateOverrides = pkgs.defaultCrateOverrides // { - gobject-sys = attrs: { - nativeBuildInputs = [ - pkgs.pkg-config - pkgs.wrapGAppsHook4 - pkgs.gtk4 - pkgs.glib - pkgs.clang - ]; - }; - graphene-sys = attrs: { - nativeBuildInputs = [ - pkgs.pkg-config - pkgs.wrapGAppsHook4 - pkgs.gtk4 - pkgs.glib - pkgs.clang - ]; - }; - cairo-sys = attrs: { - nativeBuildInputs = [ - pkgs.pkg-config - pkgs.wrapGAppsHook4 - pkgs.gtk4 - pkgs.glib - pkgs.clang - ]; - }; - }; - }; + craneLib = crane.lib."x86_64-linux"; in { - kifu-gtk = (import ./kifu/kifu-gtk/Cargo.nix { - inherit pkgs; - buildRustCrateForPkgs = customBuildInfo; - }).rootCrate.build; + kifu-gtk = craneLib.buildPackage { + pname = "kifu-gtk"; + version = "0.1.0"; + src = craneLib.cleanCargoSource (craneLib.path ./.); + cargoExtraArgs = "-p kifu-gtk"; + nativeBuildInputs = with pkgs; [ + pkg-config + glib + gtk4 + ]; + }; }; }; } diff --git a/kifu/kifu-gtk/Cargo.nix b/kifu/kifu-gtk/Cargo.nix deleted file mode 100644 index 7cfd7ce..0000000 --- a/kifu/kifu-gtk/Cargo.nix +++ /dev/null @@ -1,3734 +0,0 @@ - -# This file was @generated by crate2nix 0.10.0 with the command: -# "generate" -# See https://github.com/kolloch/crate2nix for more info. - -{ nixpkgs ? -, pkgs ? import nixpkgs { config = {}; } -, lib ? pkgs.lib -, stdenv ? pkgs.stdenv -, buildRustCrateForPkgs ? if buildRustCrate != null - then lib.warn "crate2nix: Passing `buildRustCrate` as argument to Cargo.nix is deprecated. If you don't customize `buildRustCrate`, replace `callPackage ./Cargo.nix {}` by `import ./Cargo.nix { inherit pkgs; }`, and if you need to customize `buildRustCrate`, use `buildRustCrateForPkgs` instead." (_: buildRustCrate) - else pkgs: pkgs.buildRustCrate - # Deprecated -, buildRustCrate ? null - # This is used as the `crateOverrides` argument for `buildRustCrate`. -, defaultCrateOverrides ? pkgs.defaultCrateOverrides - # The features to enable for the root_crate or the workspace_members. -, rootFeatures ? [ "default" ] - # If true, throw errors instead of issueing deprecation warnings. -, strictDeprecation ? false - # Used for conditional compilation based on CPU feature detection. -, targetFeatures ? [] - # Whether to perform release builds: longer compile times, faster binaries. -, release ? true - # Additional crate2nix configuration if it exists. -, crateConfig - ? if builtins.pathExists ./crate-config.nix - then pkgs.callPackage ./crate-config.nix {} - else {} -}: - -rec { - # - # "public" attributes that we attempt to keep stable with new versions of crate2nix. - # - - rootCrate = rec { - packageId = "kifu-gtk"; - - # Use this attribute to refer to the derivation building your root crate package. - # You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }. - build = internal.buildRustCrateWithFeatures { - inherit packageId; - }; - - # Debug support which might change between releases. - # File a bug if you depend on any for non-debug work! - debug = internal.debugCrate { inherit packageId; }; - }; - # Refer your crate build derivation by name here. - # You can override the features with - # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }. - workspaceMembers = { - "kifu-gtk" = rec { - packageId = "kifu-gtk"; - build = internal.buildRustCrateWithFeatures { - packageId = "kifu-gtk"; - }; - - # Debug support which might change between releases. - # File a bug if you depend on any for non-debug work! - debug = internal.debugCrate { inherit packageId; }; - }; - }; - - # A derivation that joins the outputs of all workspace members together. - allWorkspaceMembers = pkgs.symlinkJoin { - name = "all-workspace-members"; - paths = - let members = builtins.attrValues workspaceMembers; - in builtins.map (m: m.build) members; - }; - - # - # "internal" ("private") attributes that may change in every new version of crate2nix. - # - - internal = rec { - # Build and dependency information for crates. - # Many of the fields are passed one-to-one to buildRustCrate. - # - # Noteworthy: - # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate. - # but with additional information which is used during dependency/feature resolution. - # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging. - # * `devDependencies` as of now not used by `buildRustCrate` but used to - # inject test dependencies into the build - - crates = { - "anyhow" = rec { - crateName = "anyhow"; - version = "1.0.70"; - edition = "2018"; - sha256 = "1r1py8nk0xj6h21jgww8f0zazdvjimbnl1hiacj8i3cz1xgcxs3x"; - authors = [ - "David Tolnay " - ]; - features = { - "backtrace" = [ "dep:backtrace" ]; - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "autocfg" = rec { - crateName = "autocfg"; - version = "1.1.0"; - edition = "2015"; - sha256 = "1ylp3cb47ylzabimazvbz9ms6ap784zhb6syaz6c1jqpmcmq0s6l"; - authors = [ - "Josh Stone " - ]; - - }; - "bitflags" = rec { - crateName = "bitflags"; - version = "1.3.2"; - edition = "2018"; - sha256 = "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy"; - authors = [ - "The Rust Project Developers" - ]; - features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "bytes" = rec { - crateName = "bytes"; - version = "1.4.0"; - edition = "2018"; - sha256 = "1gkh3fk4fm9xv5znlib723h5md5sxsvbd5113sbxff6g1lmgvcl9"; - authors = [ - "Carl Lerche " - "Sean McArthur " - ]; - features = { - "default" = [ "std" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "cairo-rs" = rec { - crateName = "cairo-rs"; - version = "0.17.0"; - edition = "2021"; - sha256 = "0wg8n0yz8p71db4iznp7949xzx92vmzgbhdd51lj5wcasksm9bx8"; - libName = "cairo"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "cairo-sys-rs"; - packageId = "cairo-sys-rs"; - rename = "ffi"; - } - { - name = "glib"; - packageId = "glib"; - optional = true; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "once_cell"; - packageId = "once_cell"; - } - { - name = "thiserror"; - packageId = "thiserror"; - } - ]; - features = { - "default" = [ "use_glib" ]; - "dox" = [ "ffi/dox" "glib/dox" "freetype" ]; - "freetype" = [ "ffi/freetype" "freetype-rs" ]; - "freetype-rs" = [ "dep:freetype-rs" ]; - "glib" = [ "dep:glib" ]; - "pdf" = [ "ffi/pdf" ]; - "png" = [ "ffi/png" ]; - "ps" = [ "ffi/ps" ]; - "script" = [ "ffi/script" ]; - "svg" = [ "ffi/svg" ]; - "use_glib" = [ "glib" "ffi/use_glib" ]; - "v1_16" = [ "ffi/v1_16" ]; - "v1_18" = [ "v1_16" "ffi/v1_18" ]; - "win32-surface" = [ "ffi/win32-surface" ]; - "xcb" = [ "ffi/xcb" ]; - "xlib" = [ "ffi/xlib" ]; - }; - resolvedDefaultFeatures = [ "default" "glib" "use_glib" ]; - }; - "cairo-sys-rs" = rec { - crateName = "cairo-sys-rs"; - version = "0.17.0"; - edition = "2021"; - sha256 = "0kjrcfsgp397a4kqfnsr4ssimqpm4j8jdvjy30zybr9h3nh84lzm"; - libName = "cairo_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - optional = true; - } - { - name = "libc"; - packageId = "libc"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "x11/dox" "glib/dox" ]; - "glib" = [ "dep:glib" ]; - "use_glib" = [ "glib" ]; - "v1_18" = [ "v1_16" ]; - "win32-surface" = [ "winapi" ]; - "winapi" = [ "dep:winapi" ]; - "x11" = [ "dep:x11" ]; - "xlib" = [ "x11" ]; - }; - resolvedDefaultFeatures = [ "glib" "use_glib" ]; - }; - "cfg-expr" = rec { - crateName = "cfg-expr"; - version = "0.11.0"; - edition = "2021"; - sha256 = "1ai8cgpmf9b6v9miivqzyi0jxh26vy28w55whqxcm5dj09j7lddh"; - authors = [ - "Embark " - "Jake Shadle " - ]; - dependencies = [ - { - name = "smallvec"; - packageId = "smallvec"; - } - ]; - features = { - "target-lexicon" = [ "dep:target-lexicon" ]; - "targets" = [ "target-lexicon" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "cfg-if" = rec { - crateName = "cfg-if"; - version = "1.0.0"; - edition = "2018"; - sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds"; - authors = [ - "Alex Crichton " - ]; - features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; - }; - }; - "field-offset" = rec { - crateName = "field-offset"; - version = "0.3.5"; - edition = "2015"; - sha256 = "0dc58qzbfis0i031d741aavvi7crzlb4nvfacg461s7n1y03mkx3"; - authors = [ - "Diggory Blake " - ]; - dependencies = [ - { - name = "memoffset"; - packageId = "memoffset"; - } - ]; - buildDependencies = [ - { - name = "rustc_version"; - packageId = "rustc_version"; - } - ]; - - }; - "futures-channel" = rec { - crateName = "futures-channel"; - version = "0.3.27"; - edition = "2018"; - sha256 = "1b7p7jb1bbwddqs3k4vg70jq1hdb7i1knzgdn6sfghywl2ji6iqn"; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - ]; - features = { - "alloc" = [ "futures-core/alloc" ]; - "default" = [ "std" ]; - "futures-sink" = [ "dep:futures-sink" ]; - "sink" = [ "futures-sink" ]; - "std" = [ "alloc" "futures-core/std" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; - }; - "futures-core" = rec { - crateName = "futures-core"; - version = "0.3.27"; - edition = "2018"; - sha256 = "1pb9vsvh6xnv0xpzj73g6wl1357nzacyxq0x96n3sdknmb0s1mw6"; - features = { - "default" = [ "std" ]; - "portable-atomic" = [ "dep:portable-atomic" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "std" ]; - }; - "futures-executor" = rec { - crateName = "futures-executor"; - version = "0.3.27"; - edition = "2018"; - sha256 = "10qgp9hfvwvywx7ylhij12n4yyfm3r678lk2qwswknjcyyfxv5qr"; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-task"; - packageId = "futures-task"; - usesDefaultFeatures = false; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - } - ]; - features = { - "default" = [ "std" ]; - "num_cpus" = [ "dep:num_cpus" ]; - "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ]; - "thread-pool" = [ "std" "num_cpus" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "futures-io" = rec { - crateName = "futures-io"; - version = "0.3.27"; - edition = "2018"; - sha256 = "14cbfwn1d9qzdzys7vjpx9c85javpdx0iavllpf40fxy7kx25m49"; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "futures-macro" = rec { - crateName = "futures-macro"; - version = "0.3.27"; - edition = "2018"; - sha256 = "1dk3m7jpbj9qkxcwmqxnan1pli23hhcjqzwpp2wdh6v36zclxc9y"; - procMacro = true; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - features = [ "full" ]; - } - ]; - - }; - "futures-task" = rec { - crateName = "futures-task"; - version = "0.3.27"; - edition = "2018"; - sha256 = "0y98b6mkb3svh0zvs1axmka11bgfd8pc2f0459a1cyxk6c6m8rgx"; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "std" ]; - }; - "futures-util" = rec { - crateName = "futures-util"; - version = "0.3.27"; - edition = "2018"; - sha256 = "1aw45s2adi1asd6827ya6n4i43wps4wqzv8z462yq0qm91zb3xiy"; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-macro"; - packageId = "futures-macro"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "futures-task"; - packageId = "futures-task"; - usesDefaultFeatures = false; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "pin-utils"; - packageId = "pin-utils"; - } - { - name = "slab"; - packageId = "slab"; - optional = true; - } - ]; - features = { - "alloc" = [ "futures-core/alloc" "futures-task/alloc" ]; - "async-await-macro" = [ "async-await" "futures-macro" ]; - "channel" = [ "std" "futures-channel" ]; - "compat" = [ "std" "futures_01" ]; - "default" = [ "std" "async-await" "async-await-macro" ]; - "futures-channel" = [ "dep:futures-channel" ]; - "futures-io" = [ "dep:futures-io" ]; - "futures-macro" = [ "dep:futures-macro" ]; - "futures-sink" = [ "dep:futures-sink" ]; - "futures_01" = [ "dep:futures_01" ]; - "io" = [ "std" "futures-io" "memchr" ]; - "io-compat" = [ "io" "compat" "tokio-io" ]; - "memchr" = [ "dep:memchr" ]; - "portable-atomic" = [ "futures-core/portable-atomic" ]; - "sink" = [ "futures-sink" ]; - "slab" = [ "dep:slab" ]; - "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ]; - "tokio-io" = [ "dep:tokio-io" ]; - "unstable" = [ "futures-core/unstable" "futures-task/unstable" ]; - "write-all-vectored" = [ "io" ]; - }; - resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "default" "futures-macro" "slab" "std" ]; - }; - "gdk-pixbuf" = rec { - crateName = "gdk-pixbuf"; - version = "0.17.0"; - edition = "2021"; - sha256 = "1gsrgxnz3mgi20r6axm6qnfq58qdh3chgl85k0yvs1xlqvhgn8xh"; - libName = "gdk_pixbuf"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "gdk-pixbuf-sys"; - packageId = "gdk-pixbuf-sys"; - rename = "ffi"; - } - { - name = "gio"; - packageId = "gio"; - } - { - name = "glib"; - packageId = "glib"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "once_cell"; - packageId = "once_cell"; - } - ]; - features = { - "dox" = [ "glib/dox" "gio/dox" "ffi/dox" ]; - "v2_40" = [ "ffi/v2_40" ]; - "v2_42" = [ "v2_40" "ffi/v2_42" ]; - }; - }; - "gdk-pixbuf-sys" = rec { - crateName = "gdk-pixbuf-sys"; - version = "0.17.0"; - edition = "2021"; - sha256 = "0fqy77sb5zrqjf0cjgllxpaqn0v3l595d4nkfy9djjgd8hmvshbv"; - libName = "gdk_pixbuf_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "gio-sys"; - packageId = "gio-sys"; - rename = "gio"; - } - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject"; - } - { - name = "libc"; - packageId = "libc"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" "gobject/dox" "gio/dox" ]; - "v2_42" = [ "v2_40" ]; - }; - }; - "gdk4" = rec { - crateName = "gdk4"; - version = "0.6.3"; - edition = "2021"; - sha256 = "1zri4z8nxsp88mvk8vhk6xqpc4g1l69zi9w1z3fkwvm211jgkay3"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "cairo-rs"; - packageId = "cairo-rs"; - } - { - name = "gdk-pixbuf"; - packageId = "gdk-pixbuf"; - } - { - name = "gdk4-sys"; - packageId = "gdk4-sys"; - rename = "ffi"; - } - { - name = "gio"; - packageId = "gio"; - features = [ "v2_66" ]; - } - { - name = "glib"; - packageId = "glib"; - features = [ "v2_66" ]; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "pango"; - packageId = "pango"; - features = [ "v1_46" ]; - } - ]; - features = { - "dox" = [ "ffi/dox" "glib/dox" "gio/dox" "gdk-pixbuf/dox" "cairo-rs/dox" "pango/dox" ]; - "v4_10" = [ "ffi/v4_10" "v4_8" ]; - "v4_2" = [ "ffi/v4_2" ]; - "v4_4" = [ "ffi/v4_4" "v4_2" ]; - "v4_6" = [ "ffi/v4_6" "v4_4" ]; - "v4_8" = [ "ffi/v4_8" "v4_6" ]; - }; - }; - "gdk4-sys" = rec { - crateName = "gdk4-sys"; - version = "0.6.3"; - edition = "2021"; - sha256 = "0r7dm9vyzg2xlzdgxqa190gd1403mhw4q09x754rq24cc2hjmj8v"; - libName = "gdk4_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "cairo-sys-rs"; - packageId = "cairo-sys-rs"; - rename = "cairo"; - } - { - name = "gdk-pixbuf-sys"; - packageId = "gdk-pixbuf-sys"; - rename = "gdk_pixbuf"; - } - { - name = "gio-sys"; - packageId = "gio-sys"; - rename = "gio"; - } - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "pango-sys"; - packageId = "pango-sys"; - rename = "pango"; - } - ]; - buildDependencies = [ - { - name = "pkg-config"; - packageId = "pkg-config"; - } - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" "gobject/dox" "gio/dox" "gdk_pixbuf/dox" "pango/dox" "cairo/dox" ]; - "v4_10" = [ "v4_8" ]; - "v4_4" = [ "v4_2" ]; - "v4_6" = [ "v4_4" ]; - "v4_8" = [ "v4_6" ]; - }; - }; - "gio" = rec { - crateName = "gio"; - version = "0.17.4"; - edition = "2021"; - sha256 = "09918ip09dabwllr2xcsnkfgb36331i4db173inngv12x6sa6q92"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "futures-channel"; - packageId = "futures-channel"; - } - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-io"; - packageId = "futures-io"; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - } - { - name = "gio-sys"; - packageId = "gio-sys"; - rename = "ffi"; - } - { - name = "glib"; - packageId = "glib"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "once_cell"; - packageId = "once_cell"; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "smallvec"; - packageId = "smallvec"; - } - { - name = "thiserror"; - packageId = "thiserror"; - } - ]; - devDependencies = [ - { - name = "futures-util"; - packageId = "futures-util"; - features = [ "io" ]; - } - ]; - features = { - "dox" = [ "ffi/dox" "glib/dox" ]; - "v2_58" = [ "ffi/v2_58" "glib/v2_58" ]; - "v2_60" = [ "v2_58" "ffi/v2_60" "glib/v2_60" ]; - "v2_62" = [ "v2_60" "ffi/v2_62" "glib/v2_62" ]; - "v2_64" = [ "v2_62" "ffi/v2_64" "glib/v2_64" ]; - "v2_66" = [ "v2_64" "ffi/v2_66" "glib/v2_66" ]; - "v2_68" = [ "v2_66" "ffi/v2_68" "glib/v2_68" ]; - "v2_70" = [ "v2_68" "ffi/v2_70" "glib/v2_70" ]; - "v2_72" = [ "v2_70" "ffi/v2_72" "glib/v2_72" ]; - "v2_74" = [ "v2_72" "ffi/v2_74" "glib/v2_74" ]; - "v2_76" = [ "v2_74" "ffi/v2_76" "glib/v2_76" ]; - }; - resolvedDefaultFeatures = [ "v2_58" "v2_60" "v2_62" "v2_64" "v2_66" ]; - }; - "gio-sys" = rec { - crateName = "gio-sys"; - version = "0.17.4"; - edition = "2021"; - sha256 = "19b2wdwdn6gbjnqac2klymbi51wj27jazv24a92li2wnsyq467bb"; - libName = "gio_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "winapi"; - packageId = "winapi"; - target = { target, features }: (target."windows" or false); - features = [ "ws2def" "winsock2" ]; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" "gobject/dox" ]; - "v2_60" = [ "v2_58" ]; - "v2_62" = [ "v2_60" ]; - "v2_64" = [ "v2_62" ]; - "v2_66" = [ "v2_64" ]; - "v2_68" = [ "v2_66" ]; - "v2_70" = [ "v2_68" ]; - "v2_72" = [ "v2_70" ]; - "v2_74" = [ "v2_72" ]; - "v2_76" = [ "v2_74" ]; - }; - resolvedDefaultFeatures = [ "v2_58" "v2_60" "v2_62" "v2_64" "v2_66" ]; - }; - "glib" = rec { - crateName = "glib"; - version = "0.17.5"; - edition = "2021"; - sha256 = "0ws7hmiaywwvdjp9njjjfs92a0cy68p2sb19d5lxg5b1fmhk1dfg"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "futures-channel"; - packageId = "futures-channel"; - } - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-executor"; - packageId = "futures-executor"; - } - { - name = "futures-task"; - packageId = "futures-task"; - usesDefaultFeatures = false; - } - { - name = "futures-util"; - packageId = "futures-util"; - } - { - name = "gio-sys"; - packageId = "gio-sys"; - rename = "gio_ffi"; - optional = true; - } - { - name = "glib-macros"; - packageId = "glib-macros"; - } - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "ffi"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject_ffi"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "memchr"; - packageId = "memchr"; - } - { - name = "once_cell"; - packageId = "once_cell"; - } - { - name = "smallvec"; - packageId = "smallvec"; - } - { - name = "thiserror"; - packageId = "thiserror"; - } - ]; - features = { - "default" = [ "gio" ]; - "dox" = [ "ffi/dox" "gobject_ffi/dox" "log_macros" ]; - "gio" = [ "gio_ffi" ]; - "gio_ffi" = [ "dep:gio_ffi" ]; - "log" = [ "rs-log" ]; - "log_macros" = [ "log" ]; - "rs-log" = [ "dep:rs-log" ]; - "v2_58" = [ "ffi/v2_58" "gobject_ffi/v2_58" ]; - "v2_60" = [ "v2_58" "ffi/v2_60" ]; - "v2_62" = [ "v2_60" "ffi/v2_62" "gobject_ffi/v2_62" ]; - "v2_64" = [ "v2_62" "ffi/v2_64" ]; - "v2_66" = [ "v2_64" "ffi/v2_66" "gobject_ffi/v2_66" ]; - "v2_68" = [ "v2_66" "ffi/v2_68" "gobject_ffi/v2_68" ]; - "v2_70" = [ "v2_68" "ffi/v2_70" "gobject_ffi/v2_70" ]; - "v2_72" = [ "v2_70" "ffi/v2_72" "gobject_ffi/v2_72" ]; - "v2_74" = [ "v2_72" "ffi/v2_74" "gobject_ffi/v2_74" ]; - "v2_76" = [ "v2_74" "ffi/v2_76" "gobject_ffi/v2_76" ]; - }; - resolvedDefaultFeatures = [ "default" "gio" "gio_ffi" "v2_58" "v2_60" "v2_62" "v2_64" "v2_66" ]; - }; - "glib-macros" = rec { - crateName = "glib-macros"; - version = "0.17.5"; - edition = "2021"; - sha256 = "0h0sc37qv8i2am8gzsgm20ycvmkiw8gjcwi9qd6ignaqzv528ja5"; - procMacro = true; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "heck"; - packageId = "heck"; - } - { - name = "proc-macro-crate"; - packageId = "proc-macro-crate"; - } - { - name = "proc-macro-error"; - packageId = "proc-macro-error"; - } - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - usesDefaultFeatures = false; - features = [ "full" ]; - } - ]; - - }; - "glib-sys" = rec { - crateName = "glib-sys"; - version = "0.17.4"; - edition = "2021"; - sha256 = "19c0ars1rpcyfx7k63k2pghxjh898f1mvwgzmmhqwm5zl780mw29"; - libName = "glib_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "v2_60" = [ "v2_58" ]; - "v2_62" = [ "v2_60" ]; - "v2_64" = [ "v2_62" ]; - "v2_66" = [ "v2_64" ]; - "v2_68" = [ "v2_66" ]; - "v2_70" = [ "v2_68" ]; - "v2_72" = [ "v2_70" ]; - "v2_74" = [ "v2_72" ]; - "v2_76" = [ "v2_74" ]; - }; - resolvedDefaultFeatures = [ "v2_58" "v2_60" "v2_62" "v2_64" "v2_66" ]; - }; - "gobject-sys" = rec { - crateName = "gobject-sys"; - version = "0.17.4"; - edition = "2021"; - sha256 = "1l4kcw17y6dxb6b6wkw4f2ly624kmxbghg6av2r34im60005prqm"; - libName = "gobject_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "libc"; - packageId = "libc"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" ]; - "v2_62" = [ "v2_58" ]; - "v2_66" = [ "v2_62" ]; - "v2_68" = [ "v2_66" ]; - "v2_70" = [ "v2_68" ]; - "v2_72" = [ "v2_70" ]; - "v2_74" = [ "v2_72" ]; - "v2_76" = [ "v2_74" ]; - }; - resolvedDefaultFeatures = [ "v2_58" "v2_62" "v2_66" ]; - }; - "graphene-rs" = rec { - crateName = "graphene-rs"; - version = "0.17.1"; - edition = "2021"; - sha256 = "0mk2nkhs0cad45k0177z5h5d9w19qfv7aiwxz71dzr5hbdb13kr1"; - libName = "graphene"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "glib"; - packageId = "glib"; - } - { - name = "graphene-sys"; - packageId = "graphene-sys"; - rename = "ffi"; - } - { - name = "libc"; - packageId = "libc"; - } - ]; - features = { - "dox" = [ "ffi/dox" "glib/dox" ]; - }; - }; - "graphene-sys" = rec { - crateName = "graphene-sys"; - version = "0.17.0"; - edition = "2021"; - sha256 = "1ybsw0b51dsslln1ign799zn374fcz1nzv4g190nb5cdka2a906g"; - libName = "graphene_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "libc"; - packageId = "libc"; - } - ]; - buildDependencies = [ - { - name = "pkg-config"; - packageId = "pkg-config"; - } - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" ]; - }; - }; - "gsk4" = rec { - crateName = "gsk4"; - version = "0.6.3"; - edition = "2021"; - sha256 = "0g1srhahmhdl6rqbz98bawzf1gp6hf9m4y4rvbi1bb3wz92fy0bg"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "cairo-rs"; - packageId = "cairo-rs"; - } - { - name = "gdk4"; - packageId = "gdk4"; - rename = "gdk"; - } - { - name = "glib"; - packageId = "glib"; - features = [ "v2_66" ]; - } - { - name = "graphene-rs"; - packageId = "graphene-rs"; - rename = "graphene"; - } - { - name = "gsk4-sys"; - packageId = "gsk4-sys"; - rename = "ffi"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "pango"; - packageId = "pango"; - features = [ "v1_46" ]; - } - ]; - features = { - "dox" = [ "ffi/dox" "gdk/dox" "graphene/dox" "glib/dox" "cairo-rs/dox" "pango/dox" ]; - "v4_10" = [ "ffi/v4_10" "gdk/v4_10" "v4_6" ]; - "v4_2" = [ "ffi/v4_2" "gdk/v4_2" ]; - "v4_4" = [ "ffi/v4_4" "gdk/v4_4" "v4_2" ]; - "v4_6" = [ "ffi/v4_6" "gdk/v4_6" "v4_4" ]; - }; - }; - "gsk4-sys" = rec { - crateName = "gsk4-sys"; - version = "0.6.3"; - edition = "2021"; - sha256 = "1c013zdd0yzcfmkz1gj28dbfz2zmypi8baimjk9264yg9pxq8yn0"; - libName = "gsk4_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "cairo-sys-rs"; - packageId = "cairo-sys-rs"; - rename = "cairo"; - } - { - name = "gdk4-sys"; - packageId = "gdk4-sys"; - rename = "gdk"; - } - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject"; - } - { - name = "graphene-sys"; - packageId = "graphene-sys"; - rename = "graphene"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "pango-sys"; - packageId = "pango-sys"; - rename = "pango"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" "gobject/dox" "pango/dox" "cairo/dox" "graphene/dox" "gdk/dox" ]; - "v4_10" = [ "v4_6" ]; - "v4_4" = [ "v4_2" ]; - "v4_6" = [ "v4_4" ]; - }; - }; - "gtk4" = rec { - crateName = "gtk4"; - version = "0.6.4"; - edition = "2021"; - sha256 = "1vbl68q3xcqqnxxvq83vc13dflfdpxc3kc9xa7szc1d6nljf2c0y"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "cairo-rs"; - packageId = "cairo-rs"; - } - { - name = "field-offset"; - packageId = "field-offset"; - } - { - name = "futures-channel"; - packageId = "futures-channel"; - } - { - name = "gdk-pixbuf"; - packageId = "gdk-pixbuf"; - } - { - name = "gdk4"; - packageId = "gdk4"; - rename = "gdk"; - } - { - name = "gio"; - packageId = "gio"; - features = [ "v2_66" ]; - } - { - name = "glib"; - packageId = "glib"; - features = [ "v2_66" ]; - } - { - name = "graphene-rs"; - packageId = "graphene-rs"; - rename = "graphene"; - } - { - name = "gsk4"; - packageId = "gsk4"; - rename = "gsk"; - } - { - name = "gtk4-macros"; - packageId = "gtk4-macros"; - } - { - name = "gtk4-sys"; - packageId = "gtk4-sys"; - rename = "ffi"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "once_cell"; - packageId = "once_cell"; - } - { - name = "pango"; - packageId = "pango"; - features = [ "v1_46" ]; - } - ]; - features = { - "blueprint" = [ "gtk4-macros/blueprint" ]; - "dox" = [ "gdk/dox" "gsk/dox" "ffi/dox" "cairo-rs/dox" "gdk-pixbuf/dox" "gio/dox" "glib/dox" "graphene/dox" "pango/dox" ]; - "gnome_42" = [ "v4_6" "cairo-rs/v1_16" "gdk-pixbuf/v2_42" "gio/v2_72" ]; - "gnome_43" = [ "v4_8" "cairo-rs/v1_16" "gdk-pixbuf/v2_42" "gio/v2_74" ]; - "gnome_44" = [ "v4_10" "cairo-rs/v1_16" "gdk-pixbuf/v2_42" "gio/v2_76" ]; - "v4_10" = [ "ffi/v4_10" "v4_8" "gdk/v4_10" "gsk/v4_10" ]; - "v4_2" = [ "ffi/v4_2" "gdk/v4_2" "gsk/v4_2" ]; - "v4_4" = [ "ffi/v4_4" "v4_2" "gdk/v4_4" "gsk/v4_4" ]; - "v4_6" = [ "ffi/v4_6" "v4_4" "gdk/v4_6" "gsk/v4_6" "pango/v1_50" ]; - "v4_8" = [ "ffi/v4_8" "v4_6" "gdk/v4_8" ]; - "xml_validation" = [ "gtk4-macros/xml_validation" ]; - }; - }; - "gtk4-macros" = rec { - crateName = "gtk4-macros"; - version = "0.6.3"; - edition = "2021"; - sha256 = "12394nvcc93h809i23z5hmvrfpx4iaxsyr9ym35vh0lsxg6imqih"; - procMacro = true; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "proc-macro-crate"; - packageId = "proc-macro-crate"; - } - { - name = "proc-macro-error"; - packageId = "proc-macro-error"; - } - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - usesDefaultFeatures = false; - features = [ "full" ]; - } - ]; - features = { - "quick-xml" = [ "dep:quick-xml" ]; - "xml_validation" = [ "quick-xml" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "gtk4-sys" = rec { - crateName = "gtk4-sys"; - version = "0.6.3"; - edition = "2021"; - sha256 = "0bz26ix7pl4d1m63zacaw1vw5021vm5r7wn7fsg02zmh0zvq70jz"; - libName = "gtk4_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "cairo-sys-rs"; - packageId = "cairo-sys-rs"; - rename = "cairo"; - } - { - name = "gdk-pixbuf-sys"; - packageId = "gdk-pixbuf-sys"; - rename = "gdk_pixbuf"; - } - { - name = "gdk4-sys"; - packageId = "gdk4-sys"; - rename = "gdk"; - } - { - name = "gio-sys"; - packageId = "gio-sys"; - rename = "gio"; - } - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject"; - } - { - name = "graphene-sys"; - packageId = "graphene-sys"; - rename = "graphene"; - } - { - name = "gsk4-sys"; - packageId = "gsk4-sys"; - rename = "gsk"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "pango-sys"; - packageId = "pango-sys"; - rename = "pango"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" "gobject/dox" "gio/dox" "gdk_pixbuf/dox" "pango/dox" "cairo/dox" "graphene/dox" "gdk/dox" "gsk/dox" ]; - "v4_10" = [ "v4_8" ]; - "v4_12" = [ "v4_10" ]; - "v4_4" = [ "v4_2" ]; - "v4_6" = [ "v4_4" ]; - "v4_8" = [ "v4_6" ]; - }; - }; - "hashbrown" = rec { - crateName = "hashbrown"; - version = "0.12.3"; - edition = "2021"; - sha256 = "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la"; - authors = [ - "Amanieu d'Antras " - ]; - features = { - "ahash" = [ "dep:ahash" ]; - "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ]; - "alloc" = [ "dep:alloc" ]; - "bumpalo" = [ "dep:bumpalo" ]; - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "default" = [ "ahash" "inline-more" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "raw" ]; - }; - "heck" = rec { - crateName = "heck"; - version = "0.4.1"; - edition = "2018"; - sha256 = "1a7mqsnycv5z4z5vnv1k34548jzmc0ajic7c1j8jsaspnhw5ql4m"; - authors = [ - "Without Boats " - ]; - features = { - "unicode" = [ "unicode-segmentation" ]; - "unicode-segmentation" = [ "dep:unicode-segmentation" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "hermit-abi" = rec { - crateName = "hermit-abi"; - version = "0.2.6"; - edition = "2021"; - sha256 = "1iz439yz9qzk3rh9pqx2rz5c4107v3qbd7bppfsbzb1mzr02clgf"; - authors = [ - "Stefan Lankes" - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - } - ]; - features = { - "alloc" = [ "dep:alloc" ]; - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "indexmap" = rec { - crateName = "indexmap"; - version = "1.9.2"; - edition = "2021"; - sha256 = "16dkr2h5p379jcr8rnb420396yvzid2myirc2w70zcf43yffg18q"; - dependencies = [ - { - name = "hashbrown"; - packageId = "hashbrown"; - usesDefaultFeatures = false; - features = [ "raw" ]; - } - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - features = { - "arbitrary" = [ "dep:arbitrary" ]; - "quickcheck" = [ "dep:quickcheck" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-rayon" = [ "dep:rustc-rayon" ]; - "serde" = [ "dep:serde" ]; - "serde-1" = [ "serde" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; - "kifu-core" = rec { - crateName = "kifu-core"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../kifu-core; }; - dependencies = [ - { - name = "tokio"; - packageId = "tokio"; - features = [ "full" ]; - } - ]; - - }; - "kifu-gtk" = rec { - crateName = "kifu-gtk"; - version = "0.1.0"; - edition = "2021"; - crateBin = [ - { name = "kifu-gtk"; path = "src/main.rs"; } - { name = "screenplay"; path = "src/bin/screenplay.rs"; } - ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; }; - dependencies = [ - { - name = "cairo-rs"; - packageId = "cairo-rs"; - } - { - name = "glib"; - packageId = "glib"; - } - { - name = "gtk4"; - packageId = "gtk4"; - rename = "gtk"; - } - { - name = "kifu-core"; - packageId = "kifu-core"; - } - { - name = "screenplay"; - packageId = "screenplay"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "full" ]; - } - ]; - features = { - }; - resolvedDefaultFeatures = [ "screenplay" ]; - }; - "libc" = rec { - crateName = "libc"; - version = "0.2.140"; - edition = "2015"; - sha256 = "037qjmhfv8iyzfv6zqapxxvf6p1ydg6dzgzhkjbimbhzj8s768lr"; - authors = [ - "The Rust Project Developers" - ]; - features = { - "default" = [ "std" ]; - "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ]; - "rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ]; - "use_std" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "lock_api" = rec { - crateName = "lock_api"; - version = "0.4.9"; - edition = "2018"; - sha256 = "1py41vk243hwk345nhkn5nw0bd4m03gzjmprdjqq6rg5dwv12l23"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "scopeguard"; - packageId = "scopeguard"; - usesDefaultFeatures = false; - } - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - features = { - "owning_ref" = [ "dep:owning_ref" ]; - "serde" = [ "dep:serde" ]; - }; - }; - "log" = rec { - crateName = "log"; - version = "0.4.17"; - edition = "2015"; - sha256 = "0biqlaaw1lsr8bpnmbcc0fvgjj34yy79ghqzyi0ali7vgil2xcdb"; - authors = [ - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if"; - } - ]; - features = { - "kv_unstable" = [ "value-bag" ]; - "kv_unstable_serde" = [ "kv_unstable_std" "value-bag/serde" "serde" ]; - "kv_unstable_std" = [ "std" "kv_unstable" "value-bag/error" ]; - "kv_unstable_sval" = [ "kv_unstable" "value-bag/sval" "sval" ]; - "serde" = [ "dep:serde" ]; - "sval" = [ "dep:sval" ]; - "value-bag" = [ "dep:value-bag" ]; - }; - }; - "memchr" = rec { - crateName = "memchr"; - version = "2.5.0"; - edition = "2018"; - sha256 = "0vanfk5mzs1g1syqnj03q8n0syggnhn55dq535h2wxr7rwpfbzrd"; - authors = [ - "Andrew Gallant " - "bluss" - ]; - features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "default" = [ "std" ]; - "libc" = [ "dep:libc" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; - "use_std" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "memoffset" = rec { - crateName = "memoffset"; - version = "0.8.0"; - edition = "2015"; - sha256 = "1qcdic88dhgw76pafgndpz04pig8il4advq978mxdxdwrydp276n"; - authors = [ - "Gilad Naaman " - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - features = { - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "mio" = rec { - crateName = "mio"; - version = "0.8.6"; - edition = "2018"; - sha256 = "1ygx5chq81k3vk2bx722xwcwf2qydmm337jsnijgzd7mxx39m7av"; - authors = [ - "Carl Lerche " - "Thomas de Zeeuw " - "Tokio Contributors " - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - target = { target, features }: (target."os" == "wasi"); - } - { - name = "libc"; - packageId = "libc"; - target = { target, features }: (target."unix" or false); - } - { - name = "log"; - packageId = "log"; - } - { - name = "wasi"; - packageId = "wasi"; - target = { target, features }: (target."os" == "wasi"); - } - { - name = "windows-sys"; - packageId = "windows-sys"; - target = { target, features }: (target."windows" or false); - features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_Storage_FileSystem" "Win32_System_IO" "Win32_System_WindowsProgramming" ]; - } - ]; - features = { - "os-ext" = [ "os-poll" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_Security" ]; - }; - resolvedDefaultFeatures = [ "default" "net" "os-ext" "os-poll" ]; - }; - "num_cpus" = rec { - crateName = "num_cpus"; - version = "1.15.0"; - edition = "2015"; - sha256 = "0fsrjy3arnbcl41vz0gppya8d7d24cpkjgfflr3v8pivl4nrxb0g"; - authors = [ - "Sean McArthur " - ]; - dependencies = [ - { - name = "hermit-abi"; - packageId = "hermit-abi"; - target = { target, features }: (((target."arch" == "x86_64") || (target."arch" == "aarch64")) && (target."os" == "hermit")); - } - { - name = "libc"; - packageId = "libc"; - target = { target, features }: (!(target."windows" or false)); - } - ]; - - }; - "once_cell" = rec { - crateName = "once_cell"; - version = "1.17.1"; - edition = "2021"; - sha256 = "1lrsy9c5ikf2iwxr4iwgd3rlq9mg8alh0np1g8abnvp1k4151rdp"; - authors = [ - "Aleksey Kladov " - ]; - features = { - "alloc" = [ "race" ]; - "atomic-polyfill" = [ "critical-section" ]; - "atomic_polyfill" = [ "dep:atomic_polyfill" ]; - "critical-section" = [ "critical_section" "atomic_polyfill" ]; - "critical_section" = [ "dep:critical_section" ]; - "default" = [ "std" ]; - "parking_lot" = [ "parking_lot_core" ]; - "parking_lot_core" = [ "dep:parking_lot_core" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ]; - }; - "pango" = rec { - crateName = "pango"; - version = "0.17.4"; - edition = "2021"; - sha256 = "0dqdfzavw426ygqq2298fara29yygy79lddkmw4447l85aw81hjj"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "gio"; - packageId = "gio"; - } - { - name = "glib"; - packageId = "glib"; - } - { - name = "libc"; - packageId = "libc"; - } - { - name = "once_cell"; - packageId = "once_cell"; - } - { - name = "pango-sys"; - packageId = "pango-sys"; - rename = "ffi"; - } - ]; - features = { - "dox" = [ "ffi/dox" "glib/dox" "gio/dox" ]; - "v1_42" = [ "ffi/v1_42" ]; - "v1_44" = [ "v1_42" "ffi/v1_44" ]; - "v1_46" = [ "v1_44" "ffi/v1_46" ]; - "v1_48" = [ "v1_46" "ffi/v1_48" ]; - "v1_50" = [ "v1_48" "ffi/v1_50" ]; - "v1_52" = [ "v1_50" "ffi/v1_52" ]; - }; - resolvedDefaultFeatures = [ "v1_42" "v1_44" "v1_46" ]; - }; - "pango-sys" = rec { - crateName = "pango-sys"; - version = "0.17.0"; - edition = "2021"; - sha256 = "1s2xc94xwm3b6wzqh5pj6jkjml1cs070plrl8z1bapjjnpqd14s2"; - libName = "pango_sys"; - authors = [ - "The gtk-rs Project Developers" - ]; - dependencies = [ - { - name = "glib-sys"; - packageId = "glib-sys"; - rename = "glib"; - } - { - name = "gobject-sys"; - packageId = "gobject-sys"; - rename = "gobject"; - } - { - name = "libc"; - packageId = "libc"; - } - ]; - buildDependencies = [ - { - name = "system-deps"; - packageId = "system-deps"; - } - ]; - features = { - "dox" = [ "glib/dox" "gobject/dox" ]; - "v1_44" = [ "v1_42" ]; - "v1_46" = [ "v1_44" ]; - "v1_48" = [ "v1_46" ]; - "v1_50" = [ "v1_48" ]; - "v1_52" = [ "v1_50" ]; - }; - resolvedDefaultFeatures = [ "v1_42" "v1_44" "v1_46" ]; - }; - "parking_lot" = rec { - crateName = "parking_lot"; - version = "0.12.1"; - edition = "2018"; - sha256 = "13r2xk7mnxfc5g0g6dkdxqdqad99j7s7z8zhzz4npw5r0g0v4hip"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "lock_api"; - packageId = "lock_api"; - } - { - name = "parking_lot_core"; - packageId = "parking_lot_core"; - } - ]; - features = { - "arc_lock" = [ "lock_api/arc_lock" ]; - "deadlock_detection" = [ "parking_lot_core/deadlock_detection" ]; - "nightly" = [ "parking_lot_core/nightly" "lock_api/nightly" ]; - "owning_ref" = [ "lock_api/owning_ref" ]; - "serde" = [ "lock_api/serde" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "parking_lot_core" = rec { - crateName = "parking_lot_core"; - version = "0.9.7"; - edition = "2018"; - sha256 = "08cm5gg3a4jmr683x9dgih8vj66yn772kjvc8y1m0flyz6wwnsch"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if"; - } - { - name = "libc"; - packageId = "libc"; - target = { target, features }: (target."unix" or false); - } - { - name = "redox_syscall"; - packageId = "redox_syscall"; - target = { target, features }: (target."os" == "redox"); - } - { - name = "smallvec"; - packageId = "smallvec"; - } - { - name = "windows-sys"; - packageId = "windows-sys"; - target = { target, features }: (target."windows" or false); - features = [ "Win32_Foundation" "Win32_System_LibraryLoader" "Win32_System_SystemServices" "Win32_System_WindowsProgramming" ]; - } - ]; - features = { - "backtrace" = [ "dep:backtrace" ]; - "deadlock_detection" = [ "petgraph" "thread-id" "backtrace" ]; - "petgraph" = [ "dep:petgraph" ]; - "thread-id" = [ "dep:thread-id" ]; - }; - }; - "pin-project-lite" = rec { - crateName = "pin-project-lite"; - version = "0.2.9"; - edition = "2018"; - sha256 = "05n1z851l356hpgqadw4ar64mjanaxq1qlwqsf2k05ziq8xax9z0"; - - }; - "pin-utils" = rec { - crateName = "pin-utils"; - version = "0.1.0"; - edition = "2018"; - sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb"; - authors = [ - "Josef Brandl " - ]; - - }; - "pkg-config" = rec { - crateName = "pkg-config"; - version = "0.3.26"; - edition = "2015"; - sha256 = "0q2i61dhqvawc51zfzl3jich57w0cjgfa894hn6ings7ffgsbjba"; - authors = [ - "Alex Crichton " - ]; - - }; - "proc-macro-crate" = rec { - crateName = "proc-macro-crate"; - version = "1.3.1"; - edition = "2021"; - sha256 = "069r1k56bvgk0f58dm5swlssfcp79im230affwk6d9ck20g04k3z"; - authors = [ - "Bastian Köcher " - ]; - dependencies = [ - { - name = "once_cell"; - packageId = "once_cell"; - } - { - name = "toml_edit"; - packageId = "toml_edit"; - } - ]; - - }; - "proc-macro-error" = rec { - crateName = "proc-macro-error"; - version = "1.0.4"; - edition = "2018"; - sha256 = "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs"; - authors = [ - "CreepySkeleton " - ]; - dependencies = [ - { - name = "proc-macro-error-attr"; - packageId = "proc-macro-error-attr"; - } - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - optional = true; - usesDefaultFeatures = false; - } - ]; - buildDependencies = [ - { - name = "version_check"; - packageId = "version_check"; - } - ]; - features = { - "default" = [ "syn-error" ]; - "syn" = [ "dep:syn" ]; - "syn-error" = [ "syn" ]; - }; - resolvedDefaultFeatures = [ "default" "syn" "syn-error" ]; - }; - "proc-macro-error-attr" = rec { - crateName = "proc-macro-error-attr"; - version = "1.0.4"; - edition = "2018"; - sha256 = "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1"; - procMacro = true; - authors = [ - "CreepySkeleton " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - ]; - buildDependencies = [ - { - name = "version_check"; - packageId = "version_check"; - } - ]; - - }; - "proc-macro2" = rec { - crateName = "proc-macro2"; - version = "1.0.52"; - edition = "2018"; - sha256 = "0922fkhi689x134yh6l97lnpwgarhbv0vnv3vpnkpk1nx3lil3hx"; - authors = [ - "David Tolnay " - "Alex Crichton " - ]; - dependencies = [ - { - name = "unicode-ident"; - packageId = "unicode-ident"; - } - ]; - features = { - "default" = [ "proc-macro" ]; - }; - resolvedDefaultFeatures = [ "default" "proc-macro" ]; - }; - "quote" = rec { - crateName = "quote"; - version = "1.0.26"; - edition = "2018"; - sha256 = "1z521piwggwzs0rj4wjx4ma6af1g6f1h5dkp382y5akqyx5sy924"; - authors = [ - "David Tolnay " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - usesDefaultFeatures = false; - } - ]; - features = { - "default" = [ "proc-macro" ]; - "proc-macro" = [ "proc-macro2/proc-macro" ]; - }; - resolvedDefaultFeatures = [ "default" "proc-macro" ]; - }; - "redox_syscall" = rec { - crateName = "redox_syscall"; - version = "0.2.16"; - edition = "2018"; - sha256 = "16jicm96kjyzm802cxdd1k9jmcph0db1a4lhslcnhjsvhp0mhnpv"; - libName = "syscall"; - authors = [ - "Jeremy Soller " - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - ]; - - }; - "rustc_version" = rec { - crateName = "rustc_version"; - version = "0.4.0"; - edition = "2018"; - sha256 = "0rpk9rcdk405xhbmgclsh4pai0svn49x35aggl4nhbkd4a2zb85z"; - authors = [ - "Dirkjan Ochtman " - "Marvin Löbel " - ]; - dependencies = [ - { - name = "semver"; - packageId = "semver"; - } - ]; - - }; - "scopeguard" = rec { - crateName = "scopeguard"; - version = "1.1.0"; - edition = "2015"; - sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj"; - authors = [ - "bluss" - ]; - features = { - "default" = [ "use_std" ]; - }; - }; - "screenplay" = rec { - crateName = "screenplay"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../screenplay; }; - dependencies = [ - { - name = "gtk4"; - packageId = "gtk4"; - rename = "gtk"; - } - ]; - - }; - "semver" = rec { - crateName = "semver"; - version = "1.0.17"; - edition = "2018"; - sha256 = "1vf03d99sikkradjj33q1l9h4fqgd1h7darjypic6pnh4qrkdgdy"; - authors = [ - "David Tolnay " - ]; - features = { - "default" = [ "std" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "serde" = rec { - crateName = "serde"; - version = "1.0.157"; - edition = "2015"; - sha256 = "1ji57yw36a26zkg0857gnzcjzg4hnkmdg3d9zj45fayzypyfazbh"; - authors = [ - "Erick Tryzelaar " - "David Tolnay " - ]; - features = { - "default" = [ "std" ]; - "derive" = [ "serde_derive" ]; - "serde_derive" = [ "dep:serde_derive" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "signal-hook-registry" = rec { - crateName = "signal-hook-registry"; - version = "1.4.1"; - edition = "2015"; - sha256 = "18crkkw5k82bvcx088xlf5g4n3772m24qhzgfan80nda7d3rn8nq"; - authors = [ - "Michal 'vorner' Vaner " - "Masaki Hara " - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - } - ]; - - }; - "slab" = rec { - crateName = "slab"; - version = "0.4.8"; - edition = "2018"; - sha256 = "0bgwxig8gkqp6gz8rvrpdj6qwa10karnsxwx7wsj5ay8kcf3aa35"; - authors = [ - "Carl Lerche " - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - features = { - "default" = [ "std" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "smallvec" = rec { - crateName = "smallvec"; - version = "1.10.0"; - edition = "2018"; - sha256 = "1q2k15fzxgwjpcdv3f323w24rbbfyv711ayz85ila12lg7zbw1x5"; - authors = [ - "The Servo Project Developers" - ]; - features = { - "arbitrary" = [ "dep:arbitrary" ]; - "const_new" = [ "const_generics" ]; - "serde" = [ "dep:serde" ]; - }; - }; - "socket2" = rec { - crateName = "socket2"; - version = "0.4.9"; - edition = "2018"; - sha256 = "0qnn1r41jqj20m0a2nzzjgzndlmpg5maiyjchccaypfqxq8sk934"; - authors = [ - "Alex Crichton " - "Thomas de Zeeuw " - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - target = { target, features }: (target."unix" or false); - } - { - name = "winapi"; - packageId = "winapi"; - target = { target, features }: (target."windows" or false); - features = [ "handleapi" "ws2ipdef" "ws2tcpip" ]; - } - ]; - features = { - }; - resolvedDefaultFeatures = [ "all" ]; - }; - "syn 1.0.109" = rec { - crateName = "syn"; - version = "1.0.109"; - edition = "2018"; - sha256 = "0ds2if4600bd59wsv7jjgfkayfzy3hnazs394kz6zdkmna8l3dkj"; - authors = [ - "David Tolnay " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - usesDefaultFeatures = false; - } - { - name = "quote"; - packageId = "quote"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "unicode-ident"; - packageId = "unicode-ident"; - } - ]; - features = { - "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ]; - "printing" = [ "quote" ]; - "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ]; - "quote" = [ "dep:quote" ]; - "test" = [ "syn-test-suite/all-features" ]; - }; - resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "full" "parsing" "printing" "proc-macro" "quote" ]; - }; - "syn 2.0.2" = rec { - crateName = "syn"; - version = "2.0.2"; - edition = "2021"; - sha256 = "0idhj68il6kghbjacchj0pdy4nrb2ysnjyci28vc780zxrm2glsr"; - authors = [ - "David Tolnay " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - usesDefaultFeatures = false; - } - { - name = "quote"; - packageId = "quote"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "unicode-ident"; - packageId = "unicode-ident"; - } - ]; - features = { - "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ]; - "printing" = [ "quote" ]; - "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ]; - "quote" = [ "dep:quote" ]; - "test" = [ "syn-test-suite/all-features" ]; - }; - resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "parsing" "printing" "proc-macro" "quote" ]; - }; - "system-deps" = rec { - crateName = "system-deps"; - version = "6.0.3"; - edition = "2018"; - sha256 = "1zxf34adb4hc7lry6vbgl56psvb0kb31rdvn36yjzyp167zb2m99"; - authors = [ - "Guillaume Desmottes " - "Josh Triplett " - ]; - dependencies = [ - { - name = "cfg-expr"; - packageId = "cfg-expr"; - } - { - name = "heck"; - packageId = "heck"; - } - { - name = "pkg-config"; - packageId = "pkg-config"; - } - { - name = "toml"; - packageId = "toml"; - usesDefaultFeatures = false; - } - { - name = "version-compare"; - packageId = "version-compare"; - } - ]; - - }; - "thiserror" = rec { - crateName = "thiserror"; - version = "1.0.40"; - edition = "2018"; - sha256 = "1b7bdhriasdsr99y39d50jz995xaz9sw3hsbb6z9kp6q9cqrm34p"; - authors = [ - "David Tolnay " - ]; - dependencies = [ - { - name = "thiserror-impl"; - packageId = "thiserror-impl"; - } - ]; - - }; - "thiserror-impl" = rec { - crateName = "thiserror-impl"; - version = "1.0.40"; - edition = "2018"; - sha256 = "17sn41kyimc6s983aypkk6a45pcyrkbkvrw6rp407n5hqm16ligr"; - procMacro = true; - authors = [ - "David Tolnay " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 2.0.2"; - } - ]; - - }; - "tokio" = rec { - crateName = "tokio"; - version = "1.26.0"; - edition = "2018"; - sha256 = "0r3gnz0zh669q9jm7xh8dz7irbnxjddbbrfflp42jyn2qc0is803"; - authors = [ - "Tokio Contributors " - ]; - dependencies = [ - { - name = "bytes"; - packageId = "bytes"; - optional = true; - } - { - name = "libc"; - packageId = "libc"; - optional = true; - target = { target, features }: (target."unix" or false); - } - { - name = "memchr"; - packageId = "memchr"; - optional = true; - } - { - name = "mio"; - packageId = "mio"; - optional = true; - } - { - name = "num_cpus"; - packageId = "num_cpus"; - optional = true; - } - { - name = "parking_lot"; - packageId = "parking_lot"; - optional = true; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "signal-hook-registry"; - packageId = "signal-hook-registry"; - optional = true; - target = { target, features }: (target."unix" or false); - } - { - name = "socket2"; - packageId = "socket2"; - optional = true; - target = { target, features }: (!((target."arch" == "wasm32") || (target."arch" == "wasm64"))); - features = [ "all" ]; - } - { - name = "tokio-macros"; - packageId = "tokio-macros"; - optional = true; - } - { - name = "windows-sys"; - packageId = "windows-sys"; - target = { target, features }: (target."docsrs" or false); - features = [ "Win32_Foundation" "Win32_Security_Authorization" ]; - } - { - name = "windows-sys"; - packageId = "windows-sys"; - optional = true; - target = { target, features }: (target."windows" or false); - } - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - devDependencies = [ - { - name = "libc"; - packageId = "libc"; - target = {target, features}: (target."unix" or false); - } - { - name = "socket2"; - packageId = "socket2"; - target = {target, features}: (!((target."arch" == "wasm32") || (target."arch" == "wasm64"))); - } - ]; - features = { - "bytes" = [ "dep:bytes" ]; - "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ]; - "io-util" = [ "memchr" "bytes" ]; - "libc" = [ "dep:libc" ]; - "macros" = [ "tokio-macros" ]; - "memchr" = [ "dep:memchr" ]; - "mio" = [ "dep:mio" ]; - "net" = [ "libc" "mio/os-poll" "mio/os-ext" "mio/net" "socket2" "windows-sys/Win32_Foundation" "windows-sys/Win32_Security" "windows-sys/Win32_Storage_FileSystem" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_System_SystemServices" ]; - "num_cpus" = [ "dep:num_cpus" ]; - "parking_lot" = [ "dep:parking_lot" ]; - "process" = [ "bytes" "libc" "mio/os-poll" "mio/os-ext" "mio/net" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Threading" "windows-sys/Win32_System_WindowsProgramming" ]; - "rt-multi-thread" = [ "num_cpus" "rt" ]; - "signal" = [ "libc" "mio/os-poll" "mio/net" "mio/os-ext" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Console" ]; - "signal-hook-registry" = [ "dep:signal-hook-registry" ]; - "socket2" = [ "dep:socket2" ]; - "test-util" = [ "rt" "sync" "time" ]; - "tokio-macros" = [ "dep:tokio-macros" ]; - "tracing" = [ "dep:tracing" ]; - "windows-sys" = [ "dep:windows-sys" ]; - }; - resolvedDefaultFeatures = [ "bytes" "default" "fs" "full" "io-std" "io-util" "libc" "macros" "memchr" "mio" "net" "num_cpus" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "signal-hook-registry" "socket2" "sync" "time" "tokio-macros" "windows-sys" ]; - }; - "tokio-macros" = rec { - crateName = "tokio-macros"; - version = "1.8.2"; - edition = "2018"; - sha256 = "1y3dphh8i4971wcfqxjhd662nain1i86rsf3y79mazr8vq7w0rnj"; - procMacro = true; - authors = [ - "Tokio Contributors " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - features = [ "full" ]; - } - ]; - - }; - "toml" = rec { - crateName = "toml"; - version = "0.5.11"; - edition = "2018"; - sha256 = "0d2266nx8b3n22c7k24x4428z6di8n83a9n466jm7a2hipfz1xzl"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "serde"; - packageId = "serde"; - } - ]; - features = { - "indexmap" = [ "dep:indexmap" ]; - "preserve_order" = [ "indexmap" ]; - }; - }; - "toml_datetime" = rec { - crateName = "toml_datetime"; - version = "0.6.1"; - edition = "2021"; - sha256 = "08lndxs1bval859mlas0k4f032s26c9k6pzd589m02z1vqpfvf1s"; - authors = [ - "Alex Crichton " - ]; - features = { - "serde" = [ "dep:serde" ]; - }; - }; - "toml_edit" = rec { - crateName = "toml_edit"; - version = "0.19.7"; - edition = "2021"; - sha256 = "0x0jc9sya1iiic9kg5dindmwmy1q6jdd4pb17xmarn5c05jlc66w"; - authors = [ - "Andronik Ordian " - "Ed Page " - ]; - dependencies = [ - { - name = "indexmap"; - packageId = "indexmap"; - features = [ "std" ]; - } - { - name = "toml_datetime"; - packageId = "toml_datetime"; - } - { - name = "winnow"; - packageId = "winnow"; - } - ]; - features = { - "perf" = [ "dep:kstring" ]; - "serde" = [ "dep:serde" "toml_datetime/serde" "dep:serde_spanned" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "unicode-ident" = rec { - crateName = "unicode-ident"; - version = "1.0.8"; - edition = "2018"; - sha256 = "1x4v4v95fv9gn5zbpm23sa9awjvmclap1wh1lmikmw9rna3llip5"; - authors = [ - "David Tolnay " - ]; - - }; - "version-compare" = rec { - crateName = "version-compare"; - version = "0.1.1"; - edition = "2018"; - sha256 = "0acg4pmjdbmclg0m7yhijn979mdy66z3k8qrcnvn634f1gy456jp"; - authors = [ - "Tim Visee <3a4fb3964f@sinenomine.email>" - ]; - - }; - "version_check" = rec { - crateName = "version_check"; - version = "0.9.4"; - edition = "2015"; - sha256 = "0gs8grwdlgh0xq660d7wr80x14vxbizmd8dbp29p2pdncx8lp1s9"; - authors = [ - "Sergio Benitez " - ]; - - }; - "wasi" = rec { - crateName = "wasi"; - version = "0.11.0+wasi-snapshot-preview1"; - edition = "2018"; - sha256 = "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw"; - authors = [ - "The Cranelift Project Developers" - ]; - features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "default" = [ "std" ]; - "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ]; - "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "winapi" = rec { - crateName = "winapi"; - version = "0.3.9"; - edition = "2015"; - sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw"; - authors = [ - "Peter Atashian " - ]; - dependencies = [ - { - name = "winapi-i686-pc-windows-gnu"; - packageId = "winapi-i686-pc-windows-gnu"; - target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu"); - } - { - name = "winapi-x86_64-pc-windows-gnu"; - packageId = "winapi-x86_64-pc-windows-gnu"; - target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu"); - } - ]; - features = { - "debug" = [ "impl-debug" ]; - }; - resolvedDefaultFeatures = [ "handleapi" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" ]; - }; - "winapi-i686-pc-windows-gnu" = rec { - crateName = "winapi-i686-pc-windows-gnu"; - version = "0.4.0"; - edition = "2015"; - sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"; - authors = [ - "Peter Atashian " - ]; - - }; - "winapi-x86_64-pc-windows-gnu" = rec { - crateName = "winapi-x86_64-pc-windows-gnu"; - version = "0.4.0"; - edition = "2015"; - sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"; - authors = [ - "Peter Atashian " - ]; - - }; - "windows-sys" = rec { - crateName = "windows-sys"; - version = "0.45.0"; - edition = "2018"; - sha256 = "1l36bcqm4g89pknfp8r9rl1w4bn017q6a8qlx8viv0xjxzjkna3m"; - authors = [ - "Microsoft" - ]; - dependencies = [ - { - name = "windows-targets"; - packageId = "windows-targets"; - target = { target, features }: (!(target."windows_raw_dylib" or false)); - } - ]; - features = { - "Win32_Data" = [ "Win32" ]; - "Win32_Data_HtmlHelp" = [ "Win32_Data" ]; - "Win32_Data_RightsManagement" = [ "Win32_Data" ]; - "Win32_Data_Xml" = [ "Win32_Data" ]; - "Win32_Data_Xml_MsXml" = [ "Win32_Data_Xml" ]; - "Win32_Data_Xml_XmlLite" = [ "Win32_Data_Xml" ]; - "Win32_Devices" = [ "Win32" ]; - "Win32_Devices_AllJoyn" = [ "Win32_Devices" ]; - "Win32_Devices_BiometricFramework" = [ "Win32_Devices" ]; - "Win32_Devices_Bluetooth" = [ "Win32_Devices" ]; - "Win32_Devices_Communication" = [ "Win32_Devices" ]; - "Win32_Devices_DeviceAccess" = [ "Win32_Devices" ]; - "Win32_Devices_DeviceAndDriverInstallation" = [ "Win32_Devices" ]; - "Win32_Devices_DeviceQuery" = [ "Win32_Devices" ]; - "Win32_Devices_Display" = [ "Win32_Devices" ]; - "Win32_Devices_Enumeration" = [ "Win32_Devices" ]; - "Win32_Devices_Enumeration_Pnp" = [ "Win32_Devices_Enumeration" ]; - "Win32_Devices_Fax" = [ "Win32_Devices" ]; - "Win32_Devices_FunctionDiscovery" = [ "Win32_Devices" ]; - "Win32_Devices_Geolocation" = [ "Win32_Devices" ]; - "Win32_Devices_HumanInterfaceDevice" = [ "Win32_Devices" ]; - "Win32_Devices_ImageAcquisition" = [ "Win32_Devices" ]; - "Win32_Devices_PortableDevices" = [ "Win32_Devices" ]; - "Win32_Devices_Properties" = [ "Win32_Devices" ]; - "Win32_Devices_Pwm" = [ "Win32_Devices" ]; - "Win32_Devices_Sensors" = [ "Win32_Devices" ]; - "Win32_Devices_SerialCommunication" = [ "Win32_Devices" ]; - "Win32_Devices_Tapi" = [ "Win32_Devices" ]; - "Win32_Devices_Usb" = [ "Win32_Devices" ]; - "Win32_Devices_WebServicesOnDevices" = [ "Win32_Devices" ]; - "Win32_Foundation" = [ "Win32" ]; - "Win32_Gaming" = [ "Win32" ]; - "Win32_Globalization" = [ "Win32" ]; - "Win32_Graphics" = [ "Win32" ]; - "Win32_Graphics_Dwm" = [ "Win32_Graphics" ]; - "Win32_Graphics_Gdi" = [ "Win32_Graphics" ]; - "Win32_Graphics_Hlsl" = [ "Win32_Graphics" ]; - "Win32_Graphics_OpenGL" = [ "Win32_Graphics" ]; - "Win32_Graphics_Printing" = [ "Win32_Graphics" ]; - "Win32_Graphics_Printing_PrintTicket" = [ "Win32_Graphics_Printing" ]; - "Win32_Management" = [ "Win32" ]; - "Win32_Management_MobileDeviceManagementRegistration" = [ "Win32_Management" ]; - "Win32_Media" = [ "Win32" ]; - "Win32_Media_Audio" = [ "Win32_Media" ]; - "Win32_Media_Audio_Apo" = [ "Win32_Media_Audio" ]; - "Win32_Media_Audio_DirectMusic" = [ "Win32_Media_Audio" ]; - "Win32_Media_Audio_Endpoints" = [ "Win32_Media_Audio" ]; - "Win32_Media_Audio_XAudio2" = [ "Win32_Media_Audio" ]; - "Win32_Media_DeviceManager" = [ "Win32_Media" ]; - "Win32_Media_DxMediaObjects" = [ "Win32_Media" ]; - "Win32_Media_KernelStreaming" = [ "Win32_Media" ]; - "Win32_Media_LibrarySharingServices" = [ "Win32_Media" ]; - "Win32_Media_MediaPlayer" = [ "Win32_Media" ]; - "Win32_Media_Multimedia" = [ "Win32_Media" ]; - "Win32_Media_Speech" = [ "Win32_Media" ]; - "Win32_Media_Streaming" = [ "Win32_Media" ]; - "Win32_Media_WindowsMediaFormat" = [ "Win32_Media" ]; - "Win32_NetworkManagement" = [ "Win32" ]; - "Win32_NetworkManagement_Dhcp" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_Dns" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_InternetConnectionWizard" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_IpHelper" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_MobileBroadband" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_Multicast" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_Ndis" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_NetBios" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_NetManagement" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_NetShell" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_NetworkDiagnosticsFramework" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_NetworkPolicyServer" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_P2P" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_QoS" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_Rras" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_Snmp" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WNet" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WebDav" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WiFi" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WindowsConnectNow" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WindowsConnectionManager" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WindowsFilteringPlatform" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WindowsFirewall" = [ "Win32_NetworkManagement" ]; - "Win32_NetworkManagement_WindowsNetworkVirtualization" = [ "Win32_NetworkManagement" ]; - "Win32_Networking" = [ "Win32" ]; - "Win32_Networking_ActiveDirectory" = [ "Win32_Networking" ]; - "Win32_Networking_BackgroundIntelligentTransferService" = [ "Win32_Networking" ]; - "Win32_Networking_Clustering" = [ "Win32_Networking" ]; - "Win32_Networking_HttpServer" = [ "Win32_Networking" ]; - "Win32_Networking_Ldap" = [ "Win32_Networking" ]; - "Win32_Networking_NetworkListManager" = [ "Win32_Networking" ]; - "Win32_Networking_RemoteDifferentialCompression" = [ "Win32_Networking" ]; - "Win32_Networking_WebSocket" = [ "Win32_Networking" ]; - "Win32_Networking_WinHttp" = [ "Win32_Networking" ]; - "Win32_Networking_WinInet" = [ "Win32_Networking" ]; - "Win32_Networking_WinSock" = [ "Win32_Networking" ]; - "Win32_Networking_WindowsWebServices" = [ "Win32_Networking" ]; - "Win32_Security" = [ "Win32" ]; - "Win32_Security_AppLocker" = [ "Win32_Security" ]; - "Win32_Security_Authentication" = [ "Win32_Security" ]; - "Win32_Security_Authentication_Identity" = [ "Win32_Security_Authentication" ]; - "Win32_Security_Authentication_Identity_Provider" = [ "Win32_Security_Authentication_Identity" ]; - "Win32_Security_Authorization" = [ "Win32_Security" ]; - "Win32_Security_Authorization_UI" = [ "Win32_Security_Authorization" ]; - "Win32_Security_ConfigurationSnapin" = [ "Win32_Security" ]; - "Win32_Security_Credentials" = [ "Win32_Security" ]; - "Win32_Security_Cryptography" = [ "Win32_Security" ]; - "Win32_Security_Cryptography_Catalog" = [ "Win32_Security_Cryptography" ]; - "Win32_Security_Cryptography_Certificates" = [ "Win32_Security_Cryptography" ]; - "Win32_Security_Cryptography_Sip" = [ "Win32_Security_Cryptography" ]; - "Win32_Security_Cryptography_UI" = [ "Win32_Security_Cryptography" ]; - "Win32_Security_DiagnosticDataQuery" = [ "Win32_Security" ]; - "Win32_Security_DirectoryServices" = [ "Win32_Security" ]; - "Win32_Security_EnterpriseData" = [ "Win32_Security" ]; - "Win32_Security_ExtensibleAuthenticationProtocol" = [ "Win32_Security" ]; - "Win32_Security_Isolation" = [ "Win32_Security" ]; - "Win32_Security_LicenseProtection" = [ "Win32_Security" ]; - "Win32_Security_NetworkAccessProtection" = [ "Win32_Security" ]; - "Win32_Security_Tpm" = [ "Win32_Security" ]; - "Win32_Security_WinTrust" = [ "Win32_Security" ]; - "Win32_Security_WinWlx" = [ "Win32_Security" ]; - "Win32_Storage" = [ "Win32" ]; - "Win32_Storage_Cabinets" = [ "Win32_Storage" ]; - "Win32_Storage_CloudFilters" = [ "Win32_Storage" ]; - "Win32_Storage_Compression" = [ "Win32_Storage" ]; - "Win32_Storage_DataDeduplication" = [ "Win32_Storage" ]; - "Win32_Storage_DistributedFileSystem" = [ "Win32_Storage" ]; - "Win32_Storage_EnhancedStorage" = [ "Win32_Storage" ]; - "Win32_Storage_FileHistory" = [ "Win32_Storage" ]; - "Win32_Storage_FileServerResourceManager" = [ "Win32_Storage" ]; - "Win32_Storage_FileSystem" = [ "Win32_Storage" ]; - "Win32_Storage_Imapi" = [ "Win32_Storage" ]; - "Win32_Storage_IndexServer" = [ "Win32_Storage" ]; - "Win32_Storage_InstallableFileSystems" = [ "Win32_Storage" ]; - "Win32_Storage_IscsiDisc" = [ "Win32_Storage" ]; - "Win32_Storage_Jet" = [ "Win32_Storage" ]; - "Win32_Storage_OfflineFiles" = [ "Win32_Storage" ]; - "Win32_Storage_OperationRecorder" = [ "Win32_Storage" ]; - "Win32_Storage_Packaging" = [ "Win32_Storage" ]; - "Win32_Storage_Packaging_Appx" = [ "Win32_Storage_Packaging" ]; - "Win32_Storage_Packaging_Opc" = [ "Win32_Storage_Packaging" ]; - "Win32_Storage_ProjectedFileSystem" = [ "Win32_Storage" ]; - "Win32_Storage_StructuredStorage" = [ "Win32_Storage" ]; - "Win32_Storage_Vhd" = [ "Win32_Storage" ]; - "Win32_Storage_VirtualDiskService" = [ "Win32_Storage" ]; - "Win32_Storage_Vss" = [ "Win32_Storage" ]; - "Win32_Storage_Xps" = [ "Win32_Storage" ]; - "Win32_Storage_Xps_Printing" = [ "Win32_Storage_Xps" ]; - "Win32_System" = [ "Win32" ]; - "Win32_System_AddressBook" = [ "Win32_System" ]; - "Win32_System_Antimalware" = [ "Win32_System" ]; - "Win32_System_ApplicationInstallationAndServicing" = [ "Win32_System" ]; - "Win32_System_ApplicationVerifier" = [ "Win32_System" ]; - "Win32_System_AssessmentTool" = [ "Win32_System" ]; - "Win32_System_Com" = [ "Win32_System" ]; - "Win32_System_Com_CallObj" = [ "Win32_System_Com" ]; - "Win32_System_Com_ChannelCredentials" = [ "Win32_System_Com" ]; - "Win32_System_Com_Events" = [ "Win32_System_Com" ]; - "Win32_System_Com_Marshal" = [ "Win32_System_Com" ]; - "Win32_System_Com_StructuredStorage" = [ "Win32_System_Com" ]; - "Win32_System_Com_UI" = [ "Win32_System_Com" ]; - "Win32_System_Com_Urlmon" = [ "Win32_System_Com" ]; - "Win32_System_ComponentServices" = [ "Win32_System" ]; - "Win32_System_Console" = [ "Win32_System" ]; - "Win32_System_Contacts" = [ "Win32_System" ]; - "Win32_System_CorrelationVector" = [ "Win32_System" ]; - "Win32_System_DataExchange" = [ "Win32_System" ]; - "Win32_System_DeploymentServices" = [ "Win32_System" ]; - "Win32_System_DesktopSharing" = [ "Win32_System" ]; - "Win32_System_DeveloperLicensing" = [ "Win32_System" ]; - "Win32_System_Diagnostics" = [ "Win32_System" ]; - "Win32_System_Diagnostics_Ceip" = [ "Win32_System_Diagnostics" ]; - "Win32_System_Diagnostics_Debug" = [ "Win32_System_Diagnostics" ]; - "Win32_System_Diagnostics_Etw" = [ "Win32_System_Diagnostics" ]; - "Win32_System_Diagnostics_ProcessSnapshotting" = [ "Win32_System_Diagnostics" ]; - "Win32_System_Diagnostics_ToolHelp" = [ "Win32_System_Diagnostics" ]; - "Win32_System_DistributedTransactionCoordinator" = [ "Win32_System" ]; - "Win32_System_Environment" = [ "Win32_System" ]; - "Win32_System_ErrorReporting" = [ "Win32_System" ]; - "Win32_System_EventCollector" = [ "Win32_System" ]; - "Win32_System_EventLog" = [ "Win32_System" ]; - "Win32_System_EventNotificationService" = [ "Win32_System" ]; - "Win32_System_GroupPolicy" = [ "Win32_System" ]; - "Win32_System_HostCompute" = [ "Win32_System" ]; - "Win32_System_HostComputeNetwork" = [ "Win32_System" ]; - "Win32_System_HostComputeSystem" = [ "Win32_System" ]; - "Win32_System_Hypervisor" = [ "Win32_System" ]; - "Win32_System_IO" = [ "Win32_System" ]; - "Win32_System_Iis" = [ "Win32_System" ]; - "Win32_System_Ioctl" = [ "Win32_System" ]; - "Win32_System_JobObjects" = [ "Win32_System" ]; - "Win32_System_Js" = [ "Win32_System" ]; - "Win32_System_Kernel" = [ "Win32_System" ]; - "Win32_System_LibraryLoader" = [ "Win32_System" ]; - "Win32_System_Mailslots" = [ "Win32_System" ]; - "Win32_System_Mapi" = [ "Win32_System" ]; - "Win32_System_Memory" = [ "Win32_System" ]; - "Win32_System_Memory_NonVolatile" = [ "Win32_System_Memory" ]; - "Win32_System_MessageQueuing" = [ "Win32_System" ]; - "Win32_System_MixedReality" = [ "Win32_System" ]; - "Win32_System_Mmc" = [ "Win32_System" ]; - "Win32_System_Ole" = [ "Win32_System" ]; - "Win32_System_ParentalControls" = [ "Win32_System" ]; - "Win32_System_PasswordManagement" = [ "Win32_System" ]; - "Win32_System_Performance" = [ "Win32_System" ]; - "Win32_System_Performance_HardwareCounterProfiling" = [ "Win32_System_Performance" ]; - "Win32_System_Pipes" = [ "Win32_System" ]; - "Win32_System_Power" = [ "Win32_System" ]; - "Win32_System_ProcessStatus" = [ "Win32_System" ]; - "Win32_System_RealTimeCommunications" = [ "Win32_System" ]; - "Win32_System_Recovery" = [ "Win32_System" ]; - "Win32_System_Registry" = [ "Win32_System" ]; - "Win32_System_RemoteAssistance" = [ "Win32_System" ]; - "Win32_System_RemoteDesktop" = [ "Win32_System" ]; - "Win32_System_RemoteManagement" = [ "Win32_System" ]; - "Win32_System_RestartManager" = [ "Win32_System" ]; - "Win32_System_Restore" = [ "Win32_System" ]; - "Win32_System_Rpc" = [ "Win32_System" ]; - "Win32_System_Search" = [ "Win32_System" ]; - "Win32_System_Search_Common" = [ "Win32_System_Search" ]; - "Win32_System_SecurityCenter" = [ "Win32_System" ]; - "Win32_System_ServerBackup" = [ "Win32_System" ]; - "Win32_System_Services" = [ "Win32_System" ]; - "Win32_System_SettingsManagementInfrastructure" = [ "Win32_System" ]; - "Win32_System_SetupAndMigration" = [ "Win32_System" ]; - "Win32_System_Shutdown" = [ "Win32_System" ]; - "Win32_System_StationsAndDesktops" = [ "Win32_System" ]; - "Win32_System_SubsystemForLinux" = [ "Win32_System" ]; - "Win32_System_SystemInformation" = [ "Win32_System" ]; - "Win32_System_SystemServices" = [ "Win32_System" ]; - "Win32_System_TaskScheduler" = [ "Win32_System" ]; - "Win32_System_Threading" = [ "Win32_System" ]; - "Win32_System_Time" = [ "Win32_System" ]; - "Win32_System_TpmBaseServices" = [ "Win32_System" ]; - "Win32_System_UpdateAgent" = [ "Win32_System" ]; - "Win32_System_UpdateAssessment" = [ "Win32_System" ]; - "Win32_System_UserAccessLogging" = [ "Win32_System" ]; - "Win32_System_VirtualDosMachines" = [ "Win32_System" ]; - "Win32_System_WindowsProgramming" = [ "Win32_System" ]; - "Win32_System_WindowsSync" = [ "Win32_System" ]; - "Win32_System_Wmi" = [ "Win32_System" ]; - "Win32_UI" = [ "Win32" ]; - "Win32_UI_Accessibility" = [ "Win32_UI" ]; - "Win32_UI_Animation" = [ "Win32_UI" ]; - "Win32_UI_ColorSystem" = [ "Win32_UI" ]; - "Win32_UI_Controls" = [ "Win32_UI" ]; - "Win32_UI_Controls_Dialogs" = [ "Win32_UI_Controls" ]; - "Win32_UI_Controls_RichEdit" = [ "Win32_UI_Controls" ]; - "Win32_UI_HiDpi" = [ "Win32_UI" ]; - "Win32_UI_Input" = [ "Win32_UI" ]; - "Win32_UI_Input_Ime" = [ "Win32_UI_Input" ]; - "Win32_UI_Input_Ink" = [ "Win32_UI_Input" ]; - "Win32_UI_Input_KeyboardAndMouse" = [ "Win32_UI_Input" ]; - "Win32_UI_Input_Pointer" = [ "Win32_UI_Input" ]; - "Win32_UI_Input_Radial" = [ "Win32_UI_Input" ]; - "Win32_UI_Input_Touch" = [ "Win32_UI_Input" ]; - "Win32_UI_Input_XboxController" = [ "Win32_UI_Input" ]; - "Win32_UI_InteractionContext" = [ "Win32_UI" ]; - "Win32_UI_LegacyWindowsEnvironmentFeatures" = [ "Win32_UI" ]; - "Win32_UI_Magnification" = [ "Win32_UI" ]; - "Win32_UI_Notifications" = [ "Win32_UI" ]; - "Win32_UI_Ribbon" = [ "Win32_UI" ]; - "Win32_UI_Shell" = [ "Win32_UI" ]; - "Win32_UI_Shell_Common" = [ "Win32_UI_Shell" ]; - "Win32_UI_Shell_PropertiesSystem" = [ "Win32_UI_Shell" ]; - "Win32_UI_TabletPC" = [ "Win32_UI" ]; - "Win32_UI_TextServices" = [ "Win32_UI" ]; - "Win32_UI_WindowsAndMessaging" = [ "Win32_UI" ]; - "Win32_UI_Wpf" = [ "Win32_UI" ]; - }; - resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Security" "Win32_Security_Authorization" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Console" "Win32_System_IO" "Win32_System_LibraryLoader" "Win32_System_Pipes" "Win32_System_SystemServices" "Win32_System_Threading" "Win32_System_WindowsProgramming" "default" ]; - }; - "windows-targets" = rec { - crateName = "windows-targets"; - version = "0.42.2"; - edition = "2018"; - sha256 = "0wfhnib2fisxlx8c507dbmh97kgij4r6kcxdi0f9nk6l1k080lcf"; - authors = [ - "Microsoft" - ]; - dependencies = [ - { - name = "windows_aarch64_gnullvm"; - packageId = "windows_aarch64_gnullvm"; - target = { target, features }: (stdenv.hostPlatform.config == "aarch64-pc-windows-gnullvm"); - } - { - name = "windows_aarch64_msvc"; - packageId = "windows_aarch64_msvc"; - target = { target, features }: (stdenv.hostPlatform.config == "aarch64-pc-windows-msvc"); - } - { - name = "windows_aarch64_msvc"; - packageId = "windows_aarch64_msvc"; - target = { target, features }: (stdenv.hostPlatform.config == "aarch64-uwp-windows-msvc"); - } - { - name = "windows_i686_gnu"; - packageId = "windows_i686_gnu"; - target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu"); - } - { - name = "windows_i686_gnu"; - packageId = "windows_i686_gnu"; - target = { target, features }: (stdenv.hostPlatform.config == "i686-uwp-windows-gnu"); - } - { - name = "windows_i686_msvc"; - packageId = "windows_i686_msvc"; - target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-msvc"); - } - { - name = "windows_i686_msvc"; - packageId = "windows_i686_msvc"; - target = { target, features }: (stdenv.hostPlatform.config == "i686-uwp-windows-msvc"); - } - { - name = "windows_x86_64_gnu"; - packageId = "windows_x86_64_gnu"; - target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu"); - } - { - name = "windows_x86_64_gnu"; - packageId = "windows_x86_64_gnu"; - target = { target, features }: (stdenv.hostPlatform.config == "x86_64-uwp-windows-gnu"); - } - { - name = "windows_x86_64_gnullvm"; - packageId = "windows_x86_64_gnullvm"; - target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnullvm"); - } - { - name = "windows_x86_64_msvc"; - packageId = "windows_x86_64_msvc"; - target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-msvc"); - } - { - name = "windows_x86_64_msvc"; - packageId = "windows_x86_64_msvc"; - target = { target, features }: (stdenv.hostPlatform.config == "x86_64-uwp-windows-msvc"); - } - ]; - - }; - "windows_aarch64_gnullvm" = rec { - crateName = "windows_aarch64_gnullvm"; - version = "0.42.2"; - edition = "2018"; - sha256 = "1y4q0qmvl0lvp7syxvfykafvmwal5hrjb4fmv04bqs0bawc52yjr"; - authors = [ - "Microsoft" - ]; - - }; - "windows_aarch64_msvc" = rec { - crateName = "windows_aarch64_msvc"; - version = "0.42.2"; - edition = "2018"; - sha256 = "0hsdikjl5sa1fva5qskpwlxzpc5q9l909fpl1w6yy1hglrj8i3p0"; - authors = [ - "Microsoft" - ]; - - }; - "windows_i686_gnu" = rec { - crateName = "windows_i686_gnu"; - version = "0.42.2"; - edition = "2018"; - sha256 = "0kx866dfrby88lqs9v1vgmrkk1z6af9lhaghh5maj7d4imyr47f6"; - authors = [ - "Microsoft" - ]; - - }; - "windows_i686_msvc" = rec { - crateName = "windows_i686_msvc"; - version = "0.42.2"; - edition = "2018"; - sha256 = "0q0h9m2aq1pygc199pa5jgc952qhcnf0zn688454i7v4xjv41n24"; - authors = [ - "Microsoft" - ]; - - }; - "windows_x86_64_gnu" = rec { - crateName = "windows_x86_64_gnu"; - version = "0.42.2"; - edition = "2018"; - sha256 = "0dnbf2xnp3xrvy8v9mgs3var4zq9v9yh9kv79035rdgyp2w15scd"; - authors = [ - "Microsoft" - ]; - - }; - "windows_x86_64_gnullvm" = rec { - crateName = "windows_x86_64_gnullvm"; - version = "0.42.2"; - edition = "2018"; - sha256 = "18wl9r8qbsl475j39zvawlidp1bsbinliwfymr43fibdld31pm16"; - authors = [ - "Microsoft" - ]; - - }; - "windows_x86_64_msvc" = rec { - crateName = "windows_x86_64_msvc"; - version = "0.42.2"; - edition = "2018"; - sha256 = "1w5r0q0yzx827d10dpjza2ww0j8iajqhmb54s735hhaj66imvv4s"; - authors = [ - "Microsoft" - ]; - - }; - "winnow" = rec { - crateName = "winnow"; - version = "0.3.6"; - edition = "2021"; - sha256 = "0rk947c3pawyvj4i24jnpg3mj7jhx1k93bll1p49cagr86s21l13"; - dependencies = [ - { - name = "memchr"; - packageId = "memchr"; - optional = true; - usesDefaultFeatures = false; - } - ]; - features = { - "debug" = [ "dep:anstyle" "dep:is-terminal" "dep:terminal_size" "dep:concolor" ]; - "default" = [ "std" ]; - "simd" = [ "dep:memchr" ]; - "std" = [ "alloc" "memchr?/std" ]; - "unstable-doc" = [ "alloc" "std" "simd" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; - }; - }; - - # -# crate2nix/default.nix (excerpt start) -# - - /* Target (platform) data for conditional dependencies. - This corresponds roughly to what buildRustCrate is setting. - */ - defaultTarget = { - unix = true; - windows = false; - fuchsia = true; - test = false; - - # This doesn't appear to be officially documented anywhere yet. - # See https://github.com/rust-lang-nursery/rust-forge/issues/101. - os = - if stdenv.hostPlatform.isDarwin - then "macos" - else stdenv.hostPlatform.parsed.kernel.name; - arch = stdenv.hostPlatform.parsed.cpu.name; - family = "unix"; - env = "gnu"; - endian = - if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" - then "little" else "big"; - pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits; - vendor = stdenv.hostPlatform.parsed.vendor.name; - debug_assertions = false; - }; - - /* Filters common temp files and build files. */ - # TODO(pkolloch): Substitute with gitignore filter - sourceFilter = name: type: - let - baseName = builtins.baseNameOf (builtins.toString name); - in - ! ( - # Filter out git - baseName == ".gitignore" - || (type == "directory" && baseName == ".git") - - # Filter out build results - || ( - type == "directory" && ( - baseName == "target" - || baseName == "_site" - || baseName == ".sass-cache" - || baseName == ".jekyll-metadata" - || baseName == "build-artifacts" - ) - ) - - # Filter out nix-build result symlinks - || ( - type == "symlink" && lib.hasPrefix "result" baseName - ) - - # Filter out IDE config - || ( - type == "directory" && ( - baseName == ".idea" || baseName == ".vscode" - ) - ) || lib.hasSuffix ".iml" baseName - - # Filter out nix build files - || baseName == "Cargo.nix" - - # Filter out editor backup / swap files. - || lib.hasSuffix "~" baseName - || builtins.match "^\\.sw[a-z]$$" baseName != null - || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null - || lib.hasSuffix ".tmp" baseName - || lib.hasSuffix ".bak" baseName - || baseName == "tests.nix" - ); - - /* Returns a crate which depends on successful test execution - of crate given as the second argument. - - testCrateFlags: list of flags to pass to the test exectuable - testInputs: list of packages that should be available during test execution - */ - crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }: - assert builtins.typeOf testCrateFlags == "list"; - assert builtins.typeOf testInputs == "list"; - assert builtins.typeOf testPreRun == "string"; - assert builtins.typeOf testPostRun == "string"; - let - # override the `crate` so that it will build and execute tests instead of - # building the actual lib and bin targets We just have to pass `--test` - # to rustc and it will do the right thing. We execute the tests and copy - # their log and the test executables to $out for later inspection. - test = - let - drv = testCrate.override - ( - _: { - buildTests = true; - } - ); - # If the user hasn't set any pre/post commands, we don't want to - # insert empty lines. This means that any existing users of crate2nix - # don't get a spurious rebuild unless they set these explicitly. - testCommand = pkgs.lib.concatStringsSep "\n" - (pkgs.lib.filter (s: s != "") [ - testPreRun - "$f $testCrateFlags 2>&1 | tee -a $out" - testPostRun - ]); - in - pkgs.runCommand "run-tests-${testCrate.name}" - { - inherit testCrateFlags; - buildInputs = testInputs; - } '' - set -ex - - export RUST_BACKTRACE=1 - - # recreate a file hierarchy as when running tests with cargo - - # the source for test data - ${pkgs.xorg.lndir}/bin/lndir ${crate.src} - - # build outputs - testRoot=target/debug - mkdir -p $testRoot - - # executables of the crate - # we copy to prevent std::env::current_exe() to resolve to a store location - for i in ${crate}/bin/*; do - cp "$i" "$testRoot" - done - chmod +w -R . - - # test harness executables are suffixed with a hash, like cargo does - # this allows to prevent name collision with the main - # executables of the crate - hash=$(basename $out) - for file in ${drv}/tests/*; do - f=$testRoot/$(basename $file)-$hash - cp $file $f - ${testCommand} - done - ''; - in - pkgs.runCommand "${crate.name}-linked" - { - inherit (crate) outputs crateName; - passthru = (crate.passthru or { }) // { - inherit test; - }; - } '' - echo tested by ${test} - ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs} - ''; - - /* A restricted overridable version of builtRustCratesWithFeatures. */ - buildRustCrateWithFeatures = - { packageId - , features ? rootFeatures - , crateOverrides ? defaultCrateOverrides - , buildRustCrateForPkgsFunc ? null - , runTests ? false - , testCrateFlags ? [ ] - , testInputs ? [ ] - # Any command to run immediatelly before a test is executed. - , testPreRun ? "" - # Any command run immediatelly after a test is executed. - , testPostRun ? "" - }: - lib.makeOverridable - ( - { features - , crateOverrides - , runTests - , testCrateFlags - , testInputs - , testPreRun - , testPostRun - }: - let - buildRustCrateForPkgsFuncOverriden = - if buildRustCrateForPkgsFunc != null - then buildRustCrateForPkgsFunc - else - ( - if crateOverrides == pkgs.defaultCrateOverrides - then buildRustCrateForPkgs - else - pkgs: (buildRustCrateForPkgs pkgs).override { - defaultCrateOverrides = crateOverrides; - } - ); - builtRustCrates = builtRustCratesWithFeatures { - inherit packageId features; - buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden; - runTests = false; - }; - builtTestRustCrates = builtRustCratesWithFeatures { - inherit packageId features; - buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden; - runTests = true; - }; - drv = builtRustCrates.crates.${packageId}; - testDrv = builtTestRustCrates.crates.${packageId}; - derivation = - if runTests then - crateWithTest - { - crate = drv; - testCrate = testDrv; - inherit testCrateFlags testInputs testPreRun testPostRun; - } - else drv; - in - derivation - ) - { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; }; - - /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc - for the corresponding crate. - */ - builtRustCratesWithFeatures = - { packageId - , features - , crateConfigs ? crates - , buildRustCrateForPkgsFunc - , runTests - , target ? defaultTarget - } @ args: - assert (builtins.isAttrs crateConfigs); - assert (builtins.isString packageId); - assert (builtins.isList features); - assert (builtins.isAttrs target); - assert (builtins.isBool runTests); - let - rootPackageId = packageId; - mergedFeatures = mergePackageFeatures - ( - args // { - inherit rootPackageId; - target = target // { test = runTests; }; - } - ); - # Memoize built packages so that reappearing packages are only built once. - builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs; - mkBuiltByPackageIdByPkgs = pkgs: - let - self = { - crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs; - build = mkBuiltByPackageIdByPkgs pkgs.buildPackages; - }; - in - self; - buildByPackageIdForPkgsImpl = self: pkgs: packageId: - let - features = mergedFeatures."${packageId}" or [ ]; - crateConfig' = crateConfigs."${packageId}"; - crateConfig = - builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ]; - devDependencies = - lib.optionals - (runTests && packageId == rootPackageId) - (crateConfig'.devDependencies or [ ]); - dependencies = - dependencyDerivations { - inherit features target; - buildByPackageId = depPackageId: - # proc_macro crates must be compiled for the build architecture - if crateConfigs.${depPackageId}.procMacro or false - then self.build.crates.${depPackageId} - else self.crates.${depPackageId}; - dependencies = - (crateConfig.dependencies or [ ]) - ++ devDependencies; - }; - buildDependencies = - dependencyDerivations { - inherit features target; - buildByPackageId = depPackageId: - self.build.crates.${depPackageId}; - dependencies = crateConfig.buildDependencies or [ ]; - }; - filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies { - inherit dependencies features target; - }; - dependenciesWithRenames = - lib.filter (d: d ? "rename") - ( - filterEnabledDependenciesForThis - ( - (crateConfig.buildDependencies or [ ]) - ++ (crateConfig.dependencies or [ ]) - ++ devDependencies - ) - ); - # Crate renames have the form: - # - # { - # crate_name = [ - # { version = "1.2.3"; rename = "crate_name01"; } - # ]; - # # ... - # } - crateRenames = - let - grouped = - lib.groupBy - (dependency: dependency.name) - dependenciesWithRenames; - versionAndRename = dep: - let - package = crateConfigs."${dep.packageId}"; - in - { inherit (dep) rename; version = package.version; }; - in - lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped; - in - buildRustCrateForPkgsFunc pkgs - ( - crateConfig // { - src = crateConfig.src or ( - pkgs.fetchurl rec { - name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz"; - # https://www.pietroalbini.org/blog/downloading-crates-io/ - # Not rate-limited, CDN URL. - url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate"; - sha256 = - assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}"); - crateConfig.sha256; - } - ); - extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}"; - inherit features dependencies buildDependencies crateRenames release; - } - ); - in - builtByPackageIdByPkgs; - - /* Returns the actual derivations for the given dependencies. */ - dependencyDerivations = - { buildByPackageId - , features - , dependencies - , target - }: - assert (builtins.isList features); - assert (builtins.isList dependencies); - assert (builtins.isAttrs target); - let - enabledDependencies = filterEnabledDependencies { - inherit dependencies features target; - }; - depDerivation = dependency: buildByPackageId dependency.packageId; - in - map depDerivation enabledDependencies; - - /* Returns a sanitized version of val with all values substituted that cannot - be serialized as JSON. - */ - sanitizeForJson = val: - if builtins.isAttrs val - then lib.mapAttrs (n: v: sanitizeForJson v) val - else if builtins.isList val - then builtins.map sanitizeForJson val - else if builtins.isFunction val - then "function" - else val; - - /* Returns various tools to debug a crate. */ - debugCrate = { packageId, target ? defaultTarget }: - assert (builtins.isString packageId); - let - debug = rec { - # The built tree as passed to buildRustCrate. - buildTree = buildRustCrateWithFeatures { - buildRustCrateForPkgsFunc = _: lib.id; - inherit packageId; - }; - sanitizedBuildTree = sanitizeForJson buildTree; - dependencyTree = sanitizeForJson - ( - buildRustCrateWithFeatures { - buildRustCrateForPkgsFunc = _: crate: { - "01_crateName" = crate.crateName or false; - "02_features" = crate.features or [ ]; - "03_dependencies" = crate.dependencies or [ ]; - }; - inherit packageId; - } - ); - mergedPackageFeatures = mergePackageFeatures { - features = rootFeatures; - inherit packageId target; - }; - diffedDefaultPackageFeatures = diffDefaultPackageFeatures { - inherit packageId target; - }; - }; - in - { internal = debug; }; - - /* Returns differences between cargo default features and crate2nix default - features. - - This is useful for verifying the feature resolution in crate2nix. - */ - diffDefaultPackageFeatures = - { crateConfigs ? crates - , packageId - , target - }: - assert (builtins.isAttrs crateConfigs); - let - prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; }); - mergedFeatures = - prefixValues - "crate2nix" - (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; }); - configs = prefixValues "cargo" crateConfigs; - combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ]; - onlyInCargo = - builtins.attrNames - (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined); - onlyInCrate2Nix = - builtins.attrNames - (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined); - differentFeatures = lib.filterAttrs - ( - n: v: - (v ? "crate2nix") - && (v ? "cargo") - && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ]) - ) - combined; - in - builtins.toJSON { - inherit onlyInCargo onlyInCrate2Nix differentFeatures; - }; - - /* Returns an attrset mapping packageId to the list of enabled features. - - If multiple paths to a dependency enable different features, the - corresponding feature sets are merged. Features in rust are additive. - */ - mergePackageFeatures = - { crateConfigs ? crates - , packageId - , rootPackageId ? packageId - , features ? rootFeatures - , dependencyPath ? [ crates.${packageId}.crateName ] - , featuresByPackageId ? { } - , target - # Adds devDependencies to the crate with rootPackageId. - , runTests ? false - , ... - } @ args: - assert (builtins.isAttrs crateConfigs); - assert (builtins.isString packageId); - assert (builtins.isString rootPackageId); - assert (builtins.isList features); - assert (builtins.isList dependencyPath); - assert (builtins.isAttrs featuresByPackageId); - assert (builtins.isAttrs target); - assert (builtins.isBool runTests); - let - crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}"); - expandedFeatures = expandFeatures (crateConfig.features or { }) features; - enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures; - depWithResolvedFeatures = dependency: - let - packageId = dependency.packageId; - features = dependencyFeatures enabledFeatures dependency; - in - { inherit packageId features; }; - resolveDependencies = cache: path: dependencies: - assert (builtins.isAttrs cache); - assert (builtins.isList dependencies); - let - enabledDependencies = filterEnabledDependencies { - inherit dependencies target; - features = enabledFeatures; - }; - directDependencies = map depWithResolvedFeatures enabledDependencies; - foldOverCache = op: lib.foldl op cache directDependencies; - in - foldOverCache - ( - cache: { packageId, features }: - let - cacheFeatures = cache.${packageId} or [ ]; - combinedFeatures = sortedUnique (cacheFeatures ++ features); - in - if cache ? ${packageId} && cache.${packageId} == combinedFeatures - then cache - else - mergePackageFeatures { - features = combinedFeatures; - featuresByPackageId = cache; - inherit crateConfigs packageId target runTests rootPackageId; - } - ); - cacheWithSelf = - let - cacheFeatures = featuresByPackageId.${packageId} or [ ]; - combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures); - in - featuresByPackageId // { - "${packageId}" = combinedFeatures; - }; - cacheWithDependencies = - resolveDependencies cacheWithSelf "dep" - ( - crateConfig.dependencies or [ ] - ++ lib.optionals - (runTests && packageId == rootPackageId) - (crateConfig.devDependencies or [ ]) - ); - cacheWithAll = - resolveDependencies - cacheWithDependencies "build" - (crateConfig.buildDependencies or [ ]); - in - cacheWithAll; - - /* Returns the enabled dependencies given the enabled features. */ - filterEnabledDependencies = { dependencies, features, target }: - assert (builtins.isList dependencies); - assert (builtins.isList features); - assert (builtins.isAttrs target); - - lib.filter - ( - dep: - let - targetFunc = dep.target or (features: true); - in - targetFunc { inherit features target; } - && ( - !(dep.optional or false) - || builtins.any (doesFeatureEnableDependency dep) features - ) - ) - dependencies; - - /* Returns whether the given feature should enable the given dependency. */ - doesFeatureEnableDependency = { name, rename ? null, ... }: feature: - let - prefix = "${name}/"; - len = builtins.stringLength prefix; - startsWithPrefix = builtins.substring 0 len feature == prefix; - in - (rename == null && feature == name) - || (rename != null && rename == feature) - || startsWithPrefix; - - /* Returns the expanded features for the given inputFeatures by applying the - rules in featureMap. - - featureMap is an attribute set which maps feature names to lists of further - feature names to enable in case this feature is selected. - */ - expandFeatures = featureMap: inputFeatures: - assert (builtins.isAttrs featureMap); - assert (builtins.isList inputFeatures); - let - expandFeature = feature: - assert (builtins.isString feature); - [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ])); - outFeatures = lib.concatMap expandFeature inputFeatures; - in - sortedUnique outFeatures; - - /* This function adds optional dependencies as features if they are enabled - indirectly by dependency features. This function mimics Cargo's behavior - described in a note at: - https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features - */ - enableFeatures = dependencies: features: - assert (builtins.isList features); - assert (builtins.isList dependencies); - let - additionalFeatures = lib.concatMap - ( - dependency: - assert (builtins.isAttrs dependency); - let - enabled = builtins.any (doesFeatureEnableDependency dependency) features; - in - if (dependency.optional or false) && enabled then [ dependency.name ] else [ ] - ) - dependencies; - in - sortedUnique (features ++ additionalFeatures); - - /* - Returns the actual features for the given dependency. - - features: The features of the crate that refers this dependency. - */ - dependencyFeatures = features: dependency: - assert (builtins.isList features); - assert (builtins.isAttrs dependency); - let - defaultOrNil = - if dependency.usesDefaultFeatures or true - then [ "default" ] - else [ ]; - explicitFeatures = dependency.features or [ ]; - additionalDependencyFeatures = - let - dependencyPrefix = (dependency.rename or dependency.name) + "/"; - dependencyFeatures = - builtins.filter (f: lib.hasPrefix dependencyPrefix f) features; - in - builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures; - in - defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures; - - /* Sorts and removes duplicates from a list of strings. */ - sortedUnique = features: - assert (builtins.isList features); - assert (builtins.all builtins.isString features); - let - outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features; - outFeaturesUnique = builtins.attrNames outFeaturesSet; - in - builtins.sort (a: b: a < b) outFeaturesUnique; - - deprecationWarning = message: value: - if strictDeprecation - then builtins.throw "strictDeprecation enabled, aborting: ${message}" - else builtins.trace message value; - - # - # crate2nix/default.nix (excerpt end) - # - }; -} - diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 1cae25b..4ce0645 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,9 @@ [toolchain] channel = "1.68.2" components = ["rust-src"] + +[workspace] +members = [ + "kifu/kifu-core", + "kifu/kifu-gtk" +]