diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000000..42cdffba96f --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,44 @@ +# One table per guest triple, since the workspace builds for all of them and for +# the host: a guest build names its triple with `--target`, and a host build +# takes no flags from here. + +# A checkout's own configuration, untracked: a fork clone under edit is listed +# there (`.claude/agents/implementer.md`, "A fork"). +include = [{ path = "local.toml", optional = true }] + +[target.x86_64-unknown-none] +rustflags = ["-Dwarnings", "-Cforce-frame-pointers=yes"] + +# `-Adead_code` is the AArch64 port's declared debt: until its stage 7 gives +# the syscall gate, the interrupt controller and the scheduler a way in, every +# item only those reach is unreachable there and nowhere else — and an +# `#[expect(dead_code)]` cannot be met under it, hence the second `-A`. Exit: +# both go when `issues/toyos-runs-on-arm64.md`'s stage 7 lands. The +# loader takes a static PIE at base 0 (`ET_DYN`, `R_AARCH64_RELATIVE` only), +# which rust-lld makes of the target's static-model code with `-pie`: `-z +# notext` lets absolute words stay in read-only sections, which the loader +# relocates before anything runs. Position-independent codegen is not an +# option: it reaches symbols through GOT slots holding virtual addresses, +# which the entry cannot use while the MMU is off. +[target.aarch64-unknown-none-softfloat] +rustflags = ["-Dwarnings", "-Cforce-frame-pointers=yes", "-Adead_code", "-Aunfulfilled_lint_expectations", "-Clink-arg=-pie", "-Clink-arg=-znotext"] + +# The loader's two tables are one list: +# - `ed25519-dalek`'s field arithmetic in plain 64-bit integers: its default on +# x86-64 is the AVX2 backend, which this soft-float target has no registers +# for. +# - `/Brepro` stamps the image with a hash of itself rather than the clock, and +# `/DEBUG:NONE` writes no PDB, whose GUID the image would otherwise carry and +# whose contents name the target directory: without both, two builds of one +# tree are two images. +[target.x86_64-unknown-uefi] +rustflags = ["-Dwarnings", "-Cforce-frame-pointers=yes", "--cfg=curve25519_dalek_backend=\"serial\"", "-Clink-arg=/Brepro", "-Clink-arg=/DEBUG:NONE"] + +[target.aarch64-unknown-uefi] +rustflags = ["-Dwarnings", "-Cforce-frame-pointers=yes", "--cfg=curve25519_dalek_backend=\"serial\"", "-Clink-arg=/Brepro", "-Clink-arg=/DEBUG:NONE"] + +[target.x86_64-unknown-toyos] +rustflags = ["-Dwarnings"] + +[target.aarch64-unknown-toyos] +rustflags = ["-Dwarnings"] diff --git a/.claude/agents/implementer.md b/.claude/agents/implementer.md index ee8e7c720b3..d18652b9ce5 100644 --- a/.claude/agents/implementer.md +++ b/.claude/agents/implementer.md @@ -48,7 +48,7 @@ A fork is for a crate, `rust/` or LLVM. A standalone C program has none: its Toy files in a recipe in this repository, against an upstream archive pinned by hash, and only a delta too large to read as patches moves to a fork repository pinned by commit. -To edit a fork, clone it beside the monorepo and list it in `.cargo/config.toml`. Fork clones are +To edit a fork, clone it beside the monorepo and list it in `.cargo/local.toml`. Fork clones are shared by every worktree: explicit paths, never `stash`, never switch a branch in one. A fork keeps one branch per upstream base; a fix is a commit appended to it, never a new branch. A fork depends on ToyOS crates by version, never by path. Every change is upstream-mergeable: ToyOS enters as a new diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d52eb84d58..6847a133353 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,10 +37,6 @@ jobs: ~/.cargo/registry/cache ~/.cargo/git/db target - userland/target - toyos/target - kernel/target - bootloader/target key: host-sealed-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }} restore-keys: host-sealed-${{ runner.os }}-${{ runner.arch }}- diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index df356b8f958..8e25a94aba1 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -46,10 +46,6 @@ jobs: ~/.cargo/registry/cache ~/.cargo/git/db target - userland/target - toyos/target - kernel/target - bootloader/target key: host-sealed-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }} toolchain: diff --git a/.gitignore b/.gitignore index 33b9e87c42a..0687bfb7fb3 100644 --- a/.gitignore +++ b/.gitignore @@ -16,5 +16,5 @@ assets/*.sf2 .mcp.json .DS_Store phosphor-icons -.cargo/config.toml .build-locks/ +.cargo/local.toml diff --git a/Cargo.lock b/Cargo.lock index 50ae6d742cf..996b42da242 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +2,105 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "acpiserver" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-acpi", + "toyos-aml", +] + [[package]] name = "adler2" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common 0.1.7", + "generic-array 0.14.7", +] + +[[package]] +name = "aead" +version = "0.6.0-rc.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b657e772794c6b04730ea897b66a058ccd866c16d1967da05eeeecec39043fe" +dependencies = [ + "crypto-common 0.2.1", + "inout 0.2.2", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher 0.4.4", + "cpufeatures 0.2.17", +] + +[[package]] +name = "aes" +version = "0.9.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04097e08a47d9ad181c2e1f4a5fabc9ae06ce8839a333ba9a949bcb0d31fd2a3" +dependencies = [ + "cipher 0.5.1", + "cpubits", + "cpufeatures 0.2.17", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead 0.5.2", + "aes 0.8.4", + "cipher 0.4.4", + "ctr 0.9.2", + "ghash 0.5.1", + "subtle", +] + +[[package]] +name = "aes-gcm" +version = "0.11.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22c0c90bbe8d4f77c3ca9ddabe41a1f8382d6fc1f7cea89459d0f320371f972" +dependencies = [ + "aead 0.6.0-rc.10", + "aes 0.9.0-rc.4", + "cipher 0.5.1", + "ctr 0.10.0-rc.4", + "ghash 0.6.0", + "subtle", +] + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom 0.3.4", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.5" @@ -23,6 +116,55 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "alsa" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812947049edcd670a82cd5c73c3661d2e58468577ba8489de58e1a73c04cbd5d" +dependencies = [ + "alsa-sys", + "bitflags 2.11.0", + "cfg-if", + "libc", +] + +[[package]] +name = "alsa-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad7569085a265dd3f607ebecce7458eaab2132a84393534c95b18dcbc3f31e04" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "android-activity" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" +dependencies = [ + "android-properties", + "bitflags 2.11.0", + "cc", + "cesu8", + "jni 0.21.1", + "jni-sys 0.3.0", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror 1.0.69", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -47,24 +189,72 @@ dependencies = [ "rustversion", ] +[[package]] +name = "argon2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" +dependencies = [ + "base64ct", + "blake2", + "cpufeatures 0.2.17", + "password-hash", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + [[package]] name = "arrayvec" version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base16ct" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64" version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + [[package]] name = "bcachefs" version = "0.1.0" @@ -72,6 +262,23 @@ dependencies = [ "flate2", ] +[[package]] +name = "bcrypt-pbkdf" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2" +dependencies = [ + "blowfish", + "pbkdf2 0.12.2", + "sha2 0.10.9", +] + +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + [[package]] name = "bitflags" version = "1.3.2" @@ -84,13 +291,98 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "block-buffer" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array", + "generic-array 0.14.7", +] + +[[package]] +name = "block-buffer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "block-padding" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "710f1dd022ef4e93f8a438b4ba958de7f64308434fa6a87104481645cc30068b" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2 0.6.4", +] + +[[package]] +name = "blowfish" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" +dependencies = [ + "byteorder", + "cipher 0.4.4", +] + +[[package]] +name = "bootloader" +version = "0.1.0" +dependencies = [ + "bcachefs", + "sha2 0.10.9", + "toyos-abi", + "toyos-acpi", + "toyos-blackbox", + "toyos-bootmap", + "toyos-elf", + "toyos-gpt", + "toyos-rootimage", + "toyos-tco", + "toyos-tsc", + "toyos-update", + "toyos-wallclock", + "uefi", + "uefi-services", ] [[package]] @@ -144,1703 +436,3778 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] -name = "cc" -version = "1.2.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +name = "calc" +version = "0.1.0" dependencies = [ - "find-msvc-tools", - "shlex", + "fontdue", + "softbuffer", + "toyos-font", + "winit", ] [[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "chrono" -version = "0.4.44" +name = "calloop" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", + "bitflags 2.11.0", + "log", + "polling", + "rustix 0.38.44", + "slab", + "thiserror 1.0.69", ] [[package]] -name = "clru" -version = "0.6.3" +name = "calloop-wayland-source" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197fd99cb113a8d5d9b6376f3aa817f32c1078f2343b714fff7d2ca44fdf67d5" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ - "hashbrown 0.16.1", + "calloop", + "rustix 0.38.44", + "wayland-backend", + "wayland-client", ] [[package]] -name = "core-foundation-sys" -version = "0.8.7" +name = "cbc" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher 0.4.4", +] [[package]] -name = "core_detect" -version = "1.0.0" +name = "cbc" +version = "0.2.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" +checksum = "ab1412b9ae2463ede01f1e591412dfbcfeacecf40e8c4c3e0655814c19065c38" +dependencies = [ + "cipher 0.5.1", +] [[package]] -name = "cpufeatures" -version = "0.2.17" +name = "cc" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ + "find-msvc-tools", + "jobserver", "libc", + "shlex", ] [[package]] -name = "crc" -version = "3.4.0" +name = "cesu8" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" -dependencies = [ - "crc-catalog", -] +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] -name = "crc-catalog" -version = "2.4.0" +name = "cfg-if" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] -name = "crc32fast" -version = "1.5.0" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", + "cipher 0.4.4", + "cpufeatures 0.2.17", ] [[package]] -name = "crossbeam-channel" -version = "0.5.17" +name = "chacha20" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" dependencies = [ - "crossbeam-utils", + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.0", ] [[package]] -name = "crossbeam-utils" -version = "0.8.23" +name = "chacha20poly1305" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead 0.5.2", + "chacha20 0.9.1", + "cipher 0.4.4", + "poly1305", + "zeroize", +] [[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +name = "chrono" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ - "generic-array", - "typenum", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", ] [[package]] -name = "curve25519-dalek" -version = "4.1.3" +name = "cipher" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest", - "fiat-crypto", - "rustc_version", - "subtle", + "crypto-common 0.1.7", + "inout 0.1.4", + "zeroize", ] [[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" +name = "cipher" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "block-buffer 0.12.0", + "crypto-common 0.2.1", + "inout 0.2.2", ] [[package]] -name = "dashmap" -version = "6.2.1" +name = "clru" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c" +checksum = "197fd99cb113a8d5d9b6376f3aa817f32c1078f2343b714fff7d2ca44fdf67d5" dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", + "hashbrown 0.16.1", ] [[package]] -name = "defmt" -version = "0.3.100" +name = "cmov" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0963443817029b2024136fc4dd07a5107eb8f977eaf18fcd1fdeb11306b64ad" -dependencies = [ - "defmt 1.1.1", -] +checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" [[package]] -name = "defmt" -version = "1.1.1" +name = "combine" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ - "bitflags 1.3.2", - "defmt-macros", + "bytes", + "memchr", ] [[package]] -name = "defmt-macros" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" +name = "compositor" +version = "0.1.0" dependencies = [ - "defmt-parser", - "proc-macro2", - "quote", - "syn 2.0.117", + "sprite", + "toyos", + "toyos-abi", + "toyos-desktop", + "toyos-font", + "toyos-inspect", + "toyos-manifest", + "toyos-window", ] [[package]] -name = "defmt-parser" -version = "1.0.0" +name = "concurrent-queue" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "thiserror 2.0.18", + "crossbeam-utils", ] [[package]] -name = "derive-into-owned" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d94d81e3819a7b06a8638f448bc6339371ca9b6076a99d4a43eece3c4c923" +name = "console" +version = "0.1.0" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "logkeeper-api", + "terminal", + "toyos", + "toyos-abi", + "toyos-font", + "toyos-logstream", + "toyos-window", ] [[package]] -name = "digest" -version = "0.10.7" +name = "const-oid" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "dlmalloc" -version = "0.2.13" +name = "const-oid" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f5b01c17f85ee988d832c40e549a64bd89ab2c9f8d8a613bdf5122ae507e294" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ - "cfg-if", + "core-foundation-sys", "libc", - "windows-sys 0.61.2", ] [[package]] -name = "dunce" -version = "1.0.5" +name = "core-foundation-sys" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] -name = "ed25519" -version = "2.2.3" +name = "core-graphics" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ - "signature", + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", ] [[package]] -name = "ed25519-dalek" -version = "2.2.0" +name = "core-graphics-types" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ - "curve25519-dalek", - "ed25519", - "sha2", - "subtle", + "bitflags 1.3.2", + "core-foundation", + "libc", ] [[package]] -name = "encoding_rs" -version = "0.8.42" +name = "core_detect" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679" +checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" + +[[package]] +name = "coreaudio-rs" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5d7dca3ebcf65a035582c9ad4385371a9d9ee6537474d2a278f4e1e475bb58" dependencies = [ - "cfg-if", - "core_detect", - "multiversion_no_op", - "rustversion", - "scopeguard", - "simdutf8", + "bitflags 2.11.0", + "libc", + "objc2-audio-toolbox", + "objc2-core-audio", + "objc2-core-audio-types", + "objc2-core-foundation", ] [[package]] -name = "equivalent" -version = "1.0.2" +name = "cpal" +version = "0.18.0" +source = "git+https://github.com/ToyOSOrg/cpal?branch=toyos-0.18.0#f46381d27cad65aa5ef5ece5cec1227aa31ef269" +dependencies = [ + "alsa", + "block2 0.6.2", + "coreaudio-rs", + "dasp_sample", + "jni 0.22.4", + "js-sys", + "libc", + "mach2", + "ndk", + "ndk-context", + "num-derive", + "num-traits", + "objc2 0.6.4", + "objc2-audio-toolbox", + "objc2-avf-audio", + "objc2-core-audio", + "objc2-core-audio-types", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "toyos", + "toyos-abi", + "web-sys", + "windows", + "windows-core", +] + +[[package]] +name = "cpubits" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +checksum = "5ef0c543070d296ea414df2dd7625d1b24866ce206709d8a4a424f28377f5861" [[package]] -name = "errno" -version = "0.3.14" +name = "cpufeatures" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", - "windows-sys 0.61.2", ] [[package]] -name = "etherparse" -version = "0.21.0" +name = "cpufeatures" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17304d06addb3283cdc4bd528e42dd95e73c8ee2d6492ffce415e93660885449" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" dependencies = [ - "arrayvec", + "libc", ] [[package]] -name = "faster-hex" -version = "0.10.1" +name = "crc" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04839bdf9d8c10f66806fad16b852fc72aab80873aebc3cb69d85b4fa41543ed" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ - "autocfg", - "defmt 0.3.100", - "heapless", - "serde", + "crc-catalog", ] [[package]] -name = "fastrand" -version = "2.5.0" +name = "crc-catalog" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] -name = "fatfs" -version = "0.3.6" +name = "crc32fast" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05669f8e7e2d7badc545c513710f0eba09c2fbef683eb859fd79c46c355048e0" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ - "bitflags 1.3.2", - "byteorder", - "chrono", - "log", + "cfg-if", ] [[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "filetime" -version = "0.2.29" +name = "crossbeam-channel" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +checksum = "98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1" dependencies = [ - "cfg-if", - "libc", + "crossbeam-utils", ] [[package]] -name = "find-msvc-tools" -version = "0.1.9" +name = "crossbeam-utils" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" [[package]] -name = "flate2" -version = "1.1.10" +name = "crypto-bigint" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "crc32fast", - "miniz_oxide", + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", ] [[package]] -name = "fnv" -version = "1.0.7" +name = "crypto-bigint" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" +dependencies = [ + "cpubits", + "ctutils", + "getrandom 0.4.2", + "hybrid-array", + "num-traits", + "rand_core 0.10.0", + "serdect", + "subtle", + "zeroize", +] [[package]] -name = "foldhash" -version = "0.1.5" +name = "crypto-common" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "typenum", +] [[package]] -name = "foldhash" -version = "0.2.0" +name = "crypto-common" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +dependencies = [ + "getrandom 0.4.2", + "hybrid-array", + "rand_core 0.10.0", +] [[package]] -name = "fontdue" -version = "0.9.3" +name = "crypto-primes" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e57e16b3fe8ff4364c0661fdaac543fb38b29ea9bc9c2f45612d90adf931d2b" +checksum = "21f41f23de7d24cdbda7f0c4d9c0351f99a4ceb258ef30e5c1927af8987ffe5a" dependencies = [ - "hashbrown 0.15.5", - "ttf-parser", + "crypto-bigint 0.7.3", + "libm", + "rand_core 0.10.0", ] [[package]] -name = "generator" -version = "0.8.9" +name = "ctr" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b854b0e584ead1a33f18b2fcad7cf7be18b3875c78816b753639aa501513ae" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cc", - "cfg-if", - "libc", - "log", - "rustversion", - "windows-link", - "windows-result", + "cipher 0.4.4", ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "ctr" +version = "0.10.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "fee683dd898fbd052617b4514bc31f98bc32081a83b69ec46adef3b1ef4ae36f" dependencies = [ - "typenum", - "version_check", + "cipher 0.5.1", ] [[package]] -name = "getrandom" -version = "0.2.17" +name = "ctutils" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" dependencies = [ - "cfg-if", - "libc", - "wasi", + "cmov", + "subtle", ] [[package]] -name = "getrandom" -version = "0.3.4" +name = "cursor-icon" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "libc", - "r-efi 5.3.0", - "wasip2", + "cpufeatures 0.2.17", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto 0.2.9", + "rustc_version", + "subtle", + "zeroize", ] [[package]] -name = "getrandom" -version = "0.4.2" +name = "curve25519-dalek" +version = "5.0.0-pre.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "335f1947f241137a14106b6f5acc5918a5ede29c9d71d3f2cb1678d5075d9fc3" dependencies = [ "cfg-if", - "libc", - "r-efi 6.0.0", - "wasip2", - "wasip3", + "cpufeatures 0.2.17", + "curve25519-dalek-derive", + "digest 0.11.1", + "fiat-crypto 0.3.0", + "rustc_version", + "subtle", + "zeroize", ] [[package]] -name = "gix" -version = "0.88.0" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d6dd6028308ad2f2662207506e396b97f9ec899f74bd537c0775248c774f21" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "gix-actor", - "gix-attributes", - "gix-command", - "gix-commitgraph", - "gix-config", - "gix-date", - "gix-diff", - "gix-dir", - "gix-discover", - "gix-error", - "gix-features", - "gix-filter", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-hashtable", - "gix-ignore", - "gix-index", - "gix-lock", - "gix-note", - "gix-object", - "gix-odb", - "gix-pack", - "gix-path", - "gix-pathspec", - "gix-protocol", - "gix-quote", - "gix-ref", - "gix-refspec", - "gix-revision", - "gix-revwalk", - "gix-sec", - "gix-shallow", - "gix-status", - "gix-submodule", - "gix-tempfile", - "gix-trace", - "gix-traverse", - "gix-url", - "gix-utils", - "gix-validate", - "gix-worktree", - "gix-worktree-stream", - "gix-zlib", - "nonempty", - "smallvec", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "gix-actor" -version = "0.43.0" +name = "dashmap" +version = "6.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e046e9a929e8e1f40f9a34f736408c4c079f9cf004429f3e718d270e847be96" +checksum = "e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c" dependencies = [ - "bstr", - "gix-date", - "gix-error", + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", ] [[package]] -name = "gix-attributes" -version = "0.36.0" +name = "dasp_sample" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3d57bcf18768dc259868e335fae99a9063174178b78b00348603f0791cd780a" +checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" + +[[package]] +name = "data-encoding" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" + +[[package]] +name = "data-url" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" + +[[package]] +name = "defmt" +version = "0.3.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0963443817029b2024136fc4dd07a5107eb8f977eaf18fcd1fdeb11306b64ad" dependencies = [ - "bstr", - "gix-error", - "gix-features", - "gix-glob", - "gix-path", - "gix-quote", - "gix-trace", - "smallvec", - "unicode-bom", + "defmt 1.1.1", ] [[package]] -name = "gix-bitmap" -version = "0.5.0" +name = "defmt" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9d28a8333a322df5c4fdc7b86a9928965e50794523c0edff57d1fbf2a520cf" +checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" dependencies = [ - "gix-error", + "bitflags 1.3.2", + "defmt-macros", ] [[package]] -name = "gix-chunk" -version = "0.9.0" +name = "defmt-macros" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25303d07ce2b8f98aab48ce4251317d785a3208b7ed65698928e4a2f31889936" +checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" dependencies = [ - "gix-error", + "defmt-parser", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "gix-command" -version = "0.11.0" +name = "defmt-parser" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3c2e61f97adc08764060e9becb0c819d8f2ba27896434710e039ae57b1d2a7" +checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" dependencies = [ - "bstr", - "gix-error", - "gix-path", - "gix-quote", - "gix-trace", + "thiserror 2.0.18", ] [[package]] -name = "gix-commitgraph" -version = "0.40.0" +name = "delegate" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0462cbffd5828447f376559d397d9b29f1979dac3d980b5212b17fa174b174eb" +checksum = "780eb241654bf097afb00fc5f054a09b687dad862e485fdcf8399bb056565370" dependencies = [ - "bstr", - "gix-chunk", - "gix-error", - "gix-hash", - "memmap2", - "nonempty", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "gix-config" -version = "0.61.0" +name = "der" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2cb454dce2f1895cf9def1df8b0a6bbc579d86d8313bdf60f1ab429d52df12" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "bstr", - "gix-config-value", - "gix-error", - "gix-features", - "gix-glob", - "gix-path", - "gix-ref", - "gix-sec", - "gix-utils", - "smallvec", - "unicode-bom", + "const-oid 0.9.6", + "pem-rfc7468 0.7.0", + "zeroize", ] [[package]] -name = "gix-config-value" -version = "0.20.0" +name = "der" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1894e816c774650b5157d965853b50d7e8f7137ea74055a6bac2f2ec051cf997" +checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b" dependencies = [ - "bitflags 2.11.0", - "bstr", - "gix-error", - "gix-path", - "libc", + "const-oid 0.10.2", + "pem-rfc7468 1.0.0", + "zeroize", ] [[package]] -name = "gix-date" -version = "0.17.0" +name = "derive-into-owned" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8beceb16a77fb222923592864b94beb4ad4c2b175a7055c2cac6815ee0370a" +checksum = "2c9d94d81e3819a7b06a8638f448bc6339371ca9b6076a99d4a43eece3c4c923" dependencies = [ - "bstr", - "gix-error", - "itoa", - "jiff", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "gix-diff" -version = "0.68.0" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "939aee7bbc9f233de858839e865c82886e0baceb8f1fe792ea1703fa895f09e1" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "bstr", - "gix-attributes", - "gix-command", - "gix-error", - "gix-filter", - "gix-fs", - "gix-hash", - "gix-imara-diff", - "gix-index", - "gix-object", - "gix-path", - "gix-pathspec", - "gix-tempfile", - "gix-trace", - "gix-traverse", - "gix-worktree", + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common 0.1.7", + "subtle", ] [[package]] -name = "gix-dir" -version = "0.30.0" +name = "digest" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e41d125c2c6f981aad27299a6233a7ace3413289c1e2994f57e5bab1c34847" +checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243" dependencies = [ - "bstr", - "gix-discover", - "gix-error", - "gix-fs", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-pathspec", - "gix-trace", - "gix-utils", - "gix-worktree", + "block-buffer 0.12.0", + "const-oid 0.10.2", + "crypto-common 0.2.1", + "ctutils", ] [[package]] -name = "gix-discover" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4476ba055ec5fbb05f59dd98380b596428da060beac5f9dccd7374302ad1fbfb" +name = "diskserver" +version = "0.0.0" dependencies = [ - "bstr", + "toyos", + "toyos-abi", + "toyos-blockhold", + "toyos-blockring", + "toyos-gpt", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.11.0", + "objc2 0.6.4", +] + +[[package]] +name = "dlib" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a" +dependencies = [ + "libloading", +] + +[[package]] +name = "dlmalloc" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f5b01c17f85ee988d832c40e549a64bd89ab2c9f8d8a613bdf5122ae507e294" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "doom" +version = "0.1.0" +dependencies = [ + "cc", + "cpal", + "flate2", + "rustls-rustcrypto", + "rustysynth", + "softbuffer", + "tar", + "ureq", + "webpki-roots", + "winit", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dpi" +version = "0.1.1" +source = "git+https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3bca784d97056fe47475c2dca8c6386816" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.10", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ecdsa" +version = "0.17.0-rc.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91bbdd377139884fafcad8dc43a760a3e1e681aa26db910257fa6535b70e1829" +dependencies = [ + "der 0.8.0", + "digest 0.11.1", + "elliptic-curve 0.14.0-rc.29", + "rfc6979 0.5.0-rc.5", + "signature 3.0.0-rc.10", + "spki 0.8.0-rc.4", + "zeroize", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.2.0", +] + +[[package]] +name = "ed25519" +version = "3.0.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e914c7c52decb085cea910552e24c63ac019e3ab8bf001ff736da9a9d9d890" +dependencies = [ + "pkcs8 0.11.0-rc.11", + "signature 3.0.0-rc.10", +] + +[[package]] +name = "ed25519-dalek" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek 4.1.3", + "ed25519 2.2.3", + "serde", + "sha2 0.10.9", + "subtle", + "zeroize", +] + +[[package]] +name = "ed25519-dalek" +version = "3.0.0-pre.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053618a4c3d3bc24f188aa660ae75a46eeab74ef07fb415c61431e5e7cd4749b" +dependencies = [ + "curve25519-dalek 5.0.0-pre.6", + "ed25519 3.0.0-rc.4", + "rand_core 0.10.0", + "serde", + "sha2 0.11.0-rc.5", + "signature 3.0.0-rc.10", + "subtle", + "zeroize", +] + +[[package]] +name = "editor" +version = "0.1.0" +dependencies = [ + "filepicker-api", + "toyos-font", + "toyos-window", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff", + "generic-array 0.14.7", + "group", + "hkdf 0.12.4", + "pem-rfc7468 0.7.0", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.14.0-rc.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e84043d573efd4ac9d2d125817979a379204bf7e328b25a4a30487e8d100e618" +dependencies = [ + "base16ct 1.0.0", + "crypto-bigint 0.7.3", + "crypto-common 0.2.1", + "digest 0.11.1", + "hkdf 0.13.0-rc.5", + "hybrid-array", + "once_cell", + "pem-rfc7468 1.0.0", + "pkcs8 0.11.0-rc.11", + "rand_core 0.10.0", + "rustcrypto-ff", + "rustcrypto-group", + "sec1 0.8.1", + "subtle", + "zeroize", +] + +[[package]] +name = "encoding_rs" +version = "0.8.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679" +dependencies = [ + "cfg-if", + "core_detect", + "multiversion_no_op", + "rustversion", + "scopeguard", + "simdutf8", +] + +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "etherparse" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17304d06addb3283cdc4bd528e42dd95e73c8ee2d6492ffce415e93660885449" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "euclid" +version = "0.22.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df61bf483e837f88d5c2291dcf55c67be7e676b3a51acc48db3a7b163b91ed63" +dependencies = [ + "num-traits", +] + +[[package]] +name = "faster-hex" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04839bdf9d8c10f66806fad16b852fc72aab80873aebc3cb69d85b4fa41543ed" +dependencies = [ + "autocfg", + "defmt 0.3.100", + "heapless", + "serde", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "fatfs" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05669f8e7e2d7badc545c513710f0eba09c2fbef683eb859fd79c46c355048e0" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "chrono", + "log", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "fiat-crypto" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" + +[[package]] +name = "filepicker" +version = "0.1.0" +dependencies = [ + "filepicker-api", + "toyos", + "toyos-font", + "toyos-window", +] + +[[package]] +name = "filepicker-api" +version = "0.1.0" +dependencies = [ + "toyos", +] + +[[package]] +name = "files" +version = "0.1.0" +dependencies = [ + "sprite", + "toyos-font", + "toyos-window", +] + +[[package]] +name = "fileserver" +version = "0.0.0" +dependencies = [ + "bcachefs", + "diskserver", + "toyos", + "toyos-abi", + "toyos-blockring", + "toyos-fat32", + "toyos-gpt", + "toyos-manifest", +] + +[[package]] +name = "filetime" +version = "0.2.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +dependencies = [ + "cfg-if", + "libc", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flate2" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +dependencies = [ + "crc32fast", + "miniz_oxide 0.9.1", + "zlib-rs", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "fontdue" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e57e16b3fe8ff4364c0661fdaac543fb38b29ea9bc9c2f45612d90adf931d2b" +dependencies = [ + "hashbrown 0.15.5", + "ttf-parser", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "futures" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "generator" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3b854b0e584ead1a33f18b2fcad7cf7be18b3875c78816b753639aa501513ae" +dependencies = [ + "cc", + "cfg-if", + "libc", + "log", + "rustversion", + "windows-link", + "windows-result", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "generic-array" +version = "1.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf57c49a95fd1fe24b90b3033bee6dc7e8f1288d51494cb44e627c295e38542" +dependencies = [ + "generic-array 0.14.7", + "rustversion", + "typenum", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "git+https://github.com/ToyOSOrg/getrandom?branch=toyos-0.2-sdk-0.12#2092d1ccd2833f00559ed27850c576ab37fe9347" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "toyos-abi", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "git+https://github.com/ToyOSOrg/getrandom?branch=toyos-0.3-sdk-0.12#67c17e0a7cd6d29e8ce231073746970cbd7dade7" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "toyos-abi", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "git+https://github.com/ToyOSOrg/getrandom?branch=toyos-0.4#f0286c8b3f0cd6d9fa9124ee837fa404e66313a7" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.0", + "toyos-abi", + "wasip2", + "wasip3", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval 0.6.2", +] + +[[package]] +name = "ghash" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eecf2d5dc9b66b732b97707a0210906b1d30523eb773193ab777c0c84b3e8d5" +dependencies = [ + "polyval 0.7.1", +] + +[[package]] +name = "gix" +version = "0.88.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32d6dd6028308ad2f2662207506e396b97f9ec899f74bd537c0775248c774f21" +dependencies = [ + "gix-actor", + "gix-attributes", + "gix-command", + "gix-commitgraph", + "gix-config", + "gix-date", + "gix-diff", + "gix-dir", + "gix-discover", + "gix-error", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", + "gix-note", + "gix-object", + "gix-odb", + "gix-pack", + "gix-path", + "gix-pathspec", + "gix-protocol", + "gix-quote", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-revwalk", + "gix-sec", + "gix-shallow", + "gix-status", + "gix-submodule", + "gix-tempfile", + "gix-trace", + "gix-traverse", + "gix-url", + "gix-utils", + "gix-validate", + "gix-worktree", + "gix-worktree-stream", + "gix-zlib", + "nonempty", + "smallvec", +] + +[[package]] +name = "gix-actor" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e046e9a929e8e1f40f9a34f736408c4c079f9cf004429f3e718d270e847be96" +dependencies = [ + "bstr", + "gix-date", + "gix-error", +] + +[[package]] +name = "gix-attributes" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d57bcf18768dc259868e335fae99a9063174178b78b00348603f0791cd780a" +dependencies = [ + "bstr", + "gix-error", + "gix-features", + "gix-glob", + "gix-path", + "gix-quote", + "gix-trace", + "smallvec", + "unicode-bom", +] + +[[package]] +name = "gix-bitmap" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9d28a8333a322df5c4fdc7b86a9928965e50794523c0edff57d1fbf2a520cf" +dependencies = [ + "gix-error", +] + +[[package]] +name = "gix-chunk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25303d07ce2b8f98aab48ce4251317d785a3208b7ed65698928e4a2f31889936" +dependencies = [ + "gix-error", +] + +[[package]] +name = "gix-command" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3c2e61f97adc08764060e9becb0c819d8f2ba27896434710e039ae57b1d2a7" +dependencies = [ + "bstr", + "gix-error", + "gix-path", + "gix-quote", + "gix-trace", +] + +[[package]] +name = "gix-commitgraph" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0462cbffd5828447f376559d397d9b29f1979dac3d980b5212b17fa174b174eb" +dependencies = [ + "bstr", + "gix-chunk", + "gix-error", + "gix-hash", + "memmap2", + "nonempty", +] + +[[package]] +name = "gix-config" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2cb454dce2f1895cf9def1df8b0a6bbc579d86d8313bdf60f1ab429d52df12" +dependencies = [ + "bstr", + "gix-config-value", + "gix-error", + "gix-features", + "gix-glob", + "gix-path", + "gix-ref", + "gix-sec", + "gix-utils", + "smallvec", + "unicode-bom", +] + +[[package]] +name = "gix-config-value" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1894e816c774650b5157d965853b50d7e8f7137ea74055a6bac2f2ec051cf997" +dependencies = [ + "bitflags 2.11.0", + "bstr", + "gix-error", + "gix-path", + "libc", +] + +[[package]] +name = "gix-date" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8beceb16a77fb222923592864b94beb4ad4c2b175a7055c2cac6815ee0370a" +dependencies = [ + "bstr", + "gix-error", + "itoa", + "jiff", +] + +[[package]] +name = "gix-diff" +version = "0.68.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939aee7bbc9f233de858839e865c82886e0baceb8f1fe792ea1703fa895f09e1" +dependencies = [ + "bstr", + "gix-attributes", + "gix-command", + "gix-error", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-imara-diff", + "gix-index", + "gix-object", + "gix-path", + "gix-pathspec", + "gix-tempfile", + "gix-trace", + "gix-traverse", + "gix-worktree", +] + +[[package]] +name = "gix-dir" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e41d125c2c6f981aad27299a6233a7ace3413289c1e2994f57e5bab1c34847" +dependencies = [ + "bstr", + "gix-discover", + "gix-error", + "gix-fs", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-pathspec", + "gix-trace", + "gix-utils", + "gix-worktree", +] + +[[package]] +name = "gix-discover" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4476ba055ec5fbb05f59dd98380b596428da060beac5f9dccd7374302ad1fbfb" +dependencies = [ + "bstr", "dunce", "gix-error", "gix-fs", "gix-path", - "gix-ref", + "gix-ref", + "gix-sec", +] + +[[package]] +name = "gix-error" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4a5c4cd326ddfe7f046ad9eed05461c59af6ea98b681648bac73954317addd" +dependencies = [ + "bstr", +] + +[[package]] +name = "gix-features" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb3a430dbc02d6c5e30a9f92083459593495ea22a476e837d248b22d800eed80" +dependencies = [ + "bytes", + "crc32fast", + "crossbeam-channel", + "gix-path", + "gix-trace", + "gix-utils", + "libc", + "once_cell", + "parking_lot", + "prodash", + "walkdir", +] + +[[package]] +name = "gix-filter" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f31a39e2c9b04843709d1f72b2c39c98dc0ee591e2f67d21302dbfbd06d2956" +dependencies = [ + "bstr", + "encoding_rs", + "gix-attributes", + "gix-command", + "gix-error", + "gix-hash", + "gix-object", + "gix-packetline", + "gix-path", + "gix-quote", + "gix-trace", + "gix-utils", + "smallvec", +] + +[[package]] +name = "gix-fs" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0105ab1cef4542d092c27766d2daf1548fcbad7e460dc2208642c120bb19b3ad" +dependencies = [ + "bstr", + "gix-error", + "gix-features", + "gix-path", + "gix-utils", +] + +[[package]] +name = "gix-glob" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bba50803dea16646cafb9a2d67e95b8cdf5b21c7e8c45bcd18f38bafe02fb81f" +dependencies = [ + "bitflags 2.11.0", + "bstr", + "gix-features", + "gix-path", + "gix-utils", +] + +[[package]] +name = "gix-hash" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a22b6febaaee8546eb0c9dd21ecdd93aca269a6cb3897e1250f0f60933c0174" +dependencies = [ + "faster-hex", + "gix-error", + "gix-features", + "sha1dc", +] + +[[package]] +name = "gix-hashtable" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55bff2f32f6f5a95bdd43e5e5e01b0656250cffbc48eda19db0afa3d73adf2f" +dependencies = [ + "gix-hash", + "hashbrown 0.17.1", + "parking_lot", +] + +[[package]] +name = "gix-ignore" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bfd910e271ecd1a20e4df4009a0d9d844a0c51ee5444aaa3fadd1b1b077930b" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-trace", + "unicode-bom", +] + +[[package]] +name = "gix-imara-diff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305657ad44356151d73c145f567c25b24fdf2466bfb3e90727e1d5461a4e9748" +dependencies = [ + "bstr", + "hashbrown 0.16.1", +] + +[[package]] +name = "gix-index" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfd5b484b5b4e218a5ac114f0982949f9bd7582ff67986665a0cf85895332433" +dependencies = [ + "bitflags 2.11.0", + "bstr", + "filetime", + "fnv", + "gix-bitmap", + "gix-error", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", + "gix-utils", + "gix-validate", + "hashbrown 0.17.1", + "itoa", + "libc", + "memmap2", + "rustix 1.1.5", + "smallvec", +] + +[[package]] +name = "gix-lock" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd5ddfd0cc476fef744ac544783b96a9ff5d49f8de541e6e9d6d6002aa90720" +dependencies = [ + "gix-error", + "gix-tempfile", + "gix-utils", +] + +[[package]] +name = "gix-macros" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f11f5429ca73cc3758c9f53af56a9fba100a8701c5b4bc30e29b8b0b15288991" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "gix-note" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6879cc9e5a9a0429e40b05970af6c8dad8734098a3142fec23e32eeb567580" +dependencies = [ + "gix-error", + "gix-hash", + "gix-object", +] + +[[package]] +name = "gix-object" +version = "0.65.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a72909eeeed845721a143ef3dbeb4d6cd5df79c839fe7eefc138cb4f982eba3e" +dependencies = [ + "bstr", + "gix-actor", + "gix-command", + "gix-date", + "gix-error", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", + "itoa", + "smallvec", +] + +[[package]] +name = "gix-odb" +version = "0.85.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5794b85ff563a290ea18867fa1f0a5b0b84709f2f34dddbb3614556fbe88c629" +dependencies = [ + "arc-swap", + "gix-error", + "gix-features", + "gix-fs", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-pack", + "gix-path", + "gix-quote", + "gix-zlib", + "memmap2", + "parking_lot", + "tempfile", +] + +[[package]] +name = "gix-pack" +version = "0.75.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0451a48faef8e0e7a8f6d903c8329c7d18a793b3030907ca841f889dc695d1df" +dependencies = [ + "clru", + "gix-chunk", + "gix-error", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-path", + "gix-zlib", + "memmap2", + "smallvec", +] + +[[package]] +name = "gix-packetline" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ba540112a3fcc6388eb2aa4dc4837040478c285a35178cd9a44b07345cd6636" +dependencies = [ + "bstr", + "faster-hex", + "gix-error", + "gix-trace", +] + +[[package]] +name = "gix-path" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd051ac60c5dbce2228daabf25b6a76408ac732d416c678cfa0a4914d13f60b8" +dependencies = [ + "bstr", + "gix-error", + "gix-trace", + "gix-validate", +] + +[[package]] +name = "gix-pathspec" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee883ab64bad641bf31ff338044edd7aa010605f19e866d98c9164e635c38b1" +dependencies = [ + "bitflags 2.11.0", + "bstr", + "gix-attributes", + "gix-config-value", + "gix-error", + "gix-glob", + "gix-path", +] + +[[package]] +name = "gix-protocol" +version = "0.66.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "331ac489c461790b6b692afb322085c42041c6ff7621c30ac3dbb00b12e05e89" +dependencies = [ + "bstr", + "gix-date", + "gix-error", + "gix-features", + "gix-hash", + "gix-macros", + "gix-ref", + "gix-shallow", + "gix-transport", + "gix-utils", + "nonempty", +] + +[[package]] +name = "gix-quote" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6b040cfa7af50f131bfa34119cceee804c3cc40c766daaba8e0c8149340aea7" +dependencies = [ + "bstr", + "gix-error", + "gix-utils", +] + +[[package]] +name = "gix-ref" +version = "0.68.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c90ceeec67de03b737c30b1b69116ca56fec803edde022f3d25181f0f597083d" +dependencies = [ + "gix-actor", + "gix-error", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", + "memmap2", +] + +[[package]] +name = "gix-refspec" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4caa89a034a055c0578150092d3edb2f1c3f74cca86b883263a28caa26c5812" +dependencies = [ + "bstr", + "gix-error", + "gix-hash", + "gix-validate", + "smallvec", +] + +[[package]] +name = "gix-revision" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8438d38e197fa3ea7bb297302db1701879a64a343f23a3d150a602a609a8751" +dependencies = [ + "bstr", + "gix-commitgraph", + "gix-date", + "gix-error", + "gix-hash", + "gix-object", + "gix-revwalk", + "nonempty", +] + +[[package]] +name = "gix-revwalk" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fa6d913e7cf8c6407d3954f9794b4b148c2113c672c34b63c59ea654a1e060e" +dependencies = [ + "gix-commitgraph", + "gix-date", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", + "smallvec", +] + +[[package]] +name = "gix-sec" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8eb983a830ba586b61f7005deaf44609e1a4186cbf13a0e8668154ca910461" +dependencies = [ + "bitflags 2.11.0", + "gix-path", + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "gix-shallow" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "119bae1301715df40e8fd136deeff4fe8a3be4cfc001ed5e72bad7b47ebbc090" +dependencies = [ + "bstr", + "gix-error", + "gix-hash", + "gix-lock", + "nonempty", +] + +[[package]] +name = "gix-status" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb7e035b6d9dce932f6b6c8d33d29b31b46e05da544bf810e324bf61aaa5b84" +dependencies = [ + "bstr", + "filetime", + "gix-diff", + "gix-dir", + "gix-error", + "gix-features", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-index", + "gix-object", + "gix-path", + "gix-pathspec", + "gix-worktree", + "hashbrown 0.16.1", + "portable-atomic", + "windows-sys 0.61.2", +] + +[[package]] +name = "gix-submodule" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b498192e5f89453fbd728263d52088aeec634a390e732f1da6d0a491c552091" +dependencies = [ + "bstr", + "gix-config", + "gix-error", + "gix-path", + "gix-pathspec", + "gix-refspec", + "gix-url", +] + +[[package]] +name = "gix-tempfile" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dd7dd8df3345933caddd6ce67821c9eec17192564f1011cf0bd0b8cb0d07ffb" +dependencies = [ + "dashmap", + "gix-fs", + "libc", + "parking_lot", + "tempfile", + "windows-sys 0.61.2", +] + +[[package]] +name = "gix-trace" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df45b2cf6052d9e52681130c17d67505b023e8933ad974f94a2be0b0d24f636a" + +[[package]] +name = "gix-transport" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d2beb7b0387bbf4d7c13763c6e168f9957319aa811f09349dc59601be3b2951" +dependencies = [ + "bstr", + "gix-command", + "gix-error", + "gix-features", + "gix-packetline", + "gix-path", + "gix-quote", "gix-sec", + "gix-url", +] + +[[package]] +name = "gix-traverse" +version = "0.62.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4864934e4efd92082ecc37107bce0c389b58d82888db634817f9c711efb7ed" +dependencies = [ + "bitflags 2.11.0", + "gix-commitgraph", + "gix-date", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "smallvec", +] + +[[package]] +name = "gix-url" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f30fe2a228d7de5f9d582463d9b724debcb870162d9fbe908cd5d76ccdecf0d" +dependencies = [ + "bstr", + "gix-error", + "gix-path", + "gix-utils", + "percent-encoding", +] + +[[package]] +name = "gix-utils" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70525766f53426ca4cd2ea4d58b0b31488dfedb416b3254e2efdd9dc184cc880" +dependencies = [ + "bstr", + "fastrand", + "getrandom 0.4.2", + "unicode-normalization", +] + +[[package]] +name = "gix-validate" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30574f81fc41b2ca3582ece2bdf8696bdfe9c170aa7e8bcafb81199c86b1ceea" +dependencies = [ + "bstr", + "gix-error", +] + +[[package]] +name = "gix-worktree" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04fa19b9b3961aafb3b9e60005b9bcef0100f8b211f46ab5269a6ac896073780" +dependencies = [ + "bstr", + "gix-attributes", + "gix-error", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-validate", +] + +[[package]] +name = "gix-worktree-stream" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2021e1609beae0edbeefa76ac641be0571b725afacb77ac5b12f33b436e0d3d9" +dependencies = [ + "gix-attributes", + "gix-error", + "gix-features", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-object", + "gix-path", + "gix-traverse", + "parking_lot", +] + +[[package]] +name = "gix-zlib" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44a1a9c82ec5b712082566cbef8f5782472a0d3973132911e5a83380a5298fe2" +dependencies = [ + "gix-error", + "zlib-rs", +] + +[[package]] +name = "gpt" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8283e7331b8c93b9756e0cfdbcfb90312852f953c6faf9bf741e684cc3b6ad69" +dependencies = [ + "bitflags 2.11.0", + "crc", + "log", + "uuid", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-literal" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac 0.12.1", +] + +[[package]] +name = "hkdf" +version = "0.13.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbb55385998ae66b8d2d5143c05c94b9025ab863966f0c94ce7a5fde30105092" +dependencies = [ + "hmac 0.13.0-rc.5", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac" +version = "0.13.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef451d73f36d8a3f93ad32c332ea01146c9650e1ec821a9b0e46c01277d544f8" +dependencies = [ + "digest 0.11.1", +] + +[[package]] +name = "host" +version = "0.1.0" + +[[package]] +name = "http" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hybrid-array" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" +dependencies = [ + "ctutils", + "subtle", + "typenum", + "zeroize", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "moxcms", + "num-traits", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "imagesize" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c" + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "block-padding 0.3.3", + "generic-array 0.14.7", +] + +[[package]] +name = "inout" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" +dependencies = [ + "block-padding 0.4.2", + "hybrid-array", +] + +[[package]] +name = "inspect" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-inspect", +] + +[[package]] +name = "internal-russh-forked-ssh-key" +version = "0.6.18+upstream-0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25f8a978272e3cbdf4768f7363eb1c8e1e6ba63c52a3ed05e29e222da4aec7cb" +dependencies = [ + "argon2", + "bcrypt-pbkdf", + "crypto-bigint 0.7.3", + "ecdsa 0.17.0-rc.16", + "ed25519-dalek 3.0.0-pre.6", + "hex", + "hmac 0.13.0-rc.5", + "num-bigint-dig", + "p256 0.14.0-rc.8", + "p384 0.14.0-rc.8", + "p521", + "rand_core 0.10.0", + "rsa 0.10.0-rc.17", + "sec1 0.8.1", + "sha1 0.11.0-rc.5", + "sha2 0.11.0-rc.5", + "signature 3.0.0-rc.10", + "ssh-cipher", + "ssh-encoding", + "subtle", + "zeroize", +] + +[[package]] +name = "internal-russh-num-bigint" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8e22120c32fb4d19ec55fba35015f57095cd95a2e3b732e44457f5915b2ee8" +dependencies = [ + "num-integer", + "num-traits", + "rand 0.10.0", + "rand_core 0.10.0", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "jiff" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1baf72f08796de0260609515130699b890ac25f30e610ad894bc5856cafdb" +dependencies = [ + "defmt 1.1.1", + "jiff-core", + "jiff-static", + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", + "windows-link", +] + +[[package]] +name = "jiff-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c" +dependencies = [ + "defmt 1.1.1", + "log", +] + +[[package]] +name = "jiff-static" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "378268a1116ad67ae6228701118ac9f491d78fda38a40a1f1a9e1348de6f7212" +dependencies = [ + "jiff-core", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "gix-error" -version = "0.4.0" +name = "jiff-tzdb" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4a5c4cd326ddfe7f046ad9eed05461c59af6ea98b681648bac73954317addd" +checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" dependencies = [ - "bstr", + "jiff-tzdb", ] [[package]] -name = "gix-features" -version = "0.50.0" +name = "jni" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a430dbc02d6c5e30a9f92083459593495ea22a476e837d248b22d800eed80" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ - "bytes", - "crc32fast", - "crossbeam-channel", - "gix-path", - "gix-trace", - "gix-utils", + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.0", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if", + "combine", + "jni-macros", + "jni-sys 0.4.1", + "log", + "simd_cesu8", + "thiserror 2.0.18", + "walkdir", + "windows-link", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "simd_cesu8", + "syn 2.0.117", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +dependencies = [ "once_cell", - "parking_lot", - "prodash", - "walkdir", + "wasm-bindgen", +] + +[[package]] +name = "keccak" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aa" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", +] + +[[package]] +name = "kem" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01737161ba802849cfd486b5bd209d38ba4943494c249a8126005170c7621edd" +dependencies = [ + "crypto-common 0.2.1", + "rand_core 0.10.0", +] + +[[package]] +name = "kernel" +version = "0.1.0" +dependencies = [ + "bcachefs", + "dlmalloc", + "hashbrown 0.16.1", + "toyos-abi", + "toyos-acpi", + "toyos-blackbox", + "toyos-blockhold", + "toyos-bootmap", + "toyos-cpuvuln", + "toyos-dma", + "toyos-elf", + "toyos-elide", + "toyos-fat32", + "toyos-gicv3", + "toyos-gpt", + "toyos-hda", + "toyos-pci", + "toyos-ps2", + "toyos-quiesce", + "toyos-rootimage", + "toyos-symbols", + "toyos-tco", + "toyos-tsc", + "toyos-untrusted", + "toyos-userbound", + "toyos-wallclock", + "toyos-xhci", +] + +[[package]] +name = "kernel-loom" +version = "0.1.0" +dependencies = [ + "loom", + "toyos-abi", +] + +[[package]] +name = "kernel-sim" +version = "0.1.0" +dependencies = [ + "kernel", + "rand 0.9.5", +] + +[[package]] +name = "kernelprobe" +version = "0.1.0" +dependencies = [ + "toyos-abi", +] + +[[package]] +name = "kurbo" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb" +dependencies = [ + "arrayvec", + "euclid", + "smallvec", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" +dependencies = [ + "bitflags 2.11.0", + "libc", + "plain", + "redox_syscall 0.7.3", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "logkeeper" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-elide", + "toyos-inspect", + "toyos-logstream", + "toyos-wallclock", +] + +[[package]] +name = "logkeeper-api" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-logstream", ] [[package]] -name = "gix-filter" -version = "0.35.0" +name = "loom" +version = "0.7.2" +source = "git+https://github.com/ToyOSOrg/loom?branch=toyos#dfe3797296a16f0741b9b23364bf016164a39534" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "mach2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" + +[[package]] +name = "managed" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d" + +[[package]] +name = "matchers" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f31a39e2c9b04843709d1f72b2c39c98dc0ee591e2f67d21302dbfbd06d2956" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "bstr", - "encoding_rs", - "gix-attributes", - "gix-command", - "gix-error", - "gix-hash", - "gix-object", - "gix-packetline", - "gix-path", - "gix-quote", - "gix-trace", - "gix-utils", - "smallvec", + "regex-automata", ] [[package]] -name = "gix-fs" -version = "0.23.0" +name = "md5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0105ab1cef4542d092c27766d2daf1548fcbad7e460dc2208642c120bb19b3ad" -dependencies = [ - "bstr", - "gix-error", - "gix-features", - "gix-path", - "gix-utils", -] +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] -name = "gix-glob" -version = "0.28.0" +name = "memchr" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba50803dea16646cafb9a2d67e95b8cdf5b21c7e8c45bcd18f38bafe02fb81f" -dependencies = [ - "bitflags 2.11.0", - "bstr", - "gix-features", - "gix-path", - "gix-utils", -] +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] -name = "gix-hash" -version = "0.27.0" +name = "memmap2" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a22b6febaaee8546eb0c9dd21ecdd93aca269a6cb3897e1250f0f60933c0174" +checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0" dependencies = [ - "faster-hex", - "gix-error", - "gix-features", - "sha1dc", + "libc", ] [[package]] -name = "gix-hashtable" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55bff2f32f6f5a95bdd43e5e5e01b0656250cffbc48eda19db0afa3d73adf2f" +name = "metalprobe" +version = "0.1.0" dependencies = [ - "gix-hash", - "hashbrown 0.17.1", - "parking_lot", + "toyos", + "toyos-abi", + "toyos-tco", ] [[package]] -name = "gix-ignore" -version = "0.23.0" +name = "miniz_oxide" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bfd910e271ecd1a20e4df4009a0d9d844a0c51ee5444aaa3fadd1b1b077930b" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-trace", - "unicode-bom", + "adler2", + "simd-adler32", ] [[package]] -name = "gix-imara-diff" -version = "0.3.0" +name = "miniz_oxide" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305657ad44356151d73c145f567c25b24fdf2466bfb3e90727e1d5461a4e9748" +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" dependencies = [ - "bstr", - "hashbrown 0.16.1", + "adler2", + "simd-adler32", ] [[package]] -name = "gix-index" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfd5b484b5b4e218a5ac114f0982949f9bd7582ff67986665a0cf85895332433" +name = "mio" +version = "1.2.0" +source = "git+https://github.com/ToyOSOrg/mio?branch=toyos#d1edcaaddb7d4b651fb996e034d1b5e5ec9aef25" dependencies = [ - "bitflags 2.11.0", - "bstr", - "filetime", - "fnv", - "gix-bitmap", - "gix-error", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-traverse", - "gix-utils", - "gix-validate", - "hashbrown 0.17.1", - "itoa", "libc", - "memmap2", - "rustix", - "smallvec", + "toyos", + "toyos-abi", + "wasi", + "windows-sys 0.61.2", ] [[package]] -name = "gix-lock" -version = "25.0.0" +name = "ml-kem" +version = "0.3.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd5ddfd0cc476fef744ac544783b96a9ff5d49f8de541e6e9d6d6002aa90720" +checksum = "04437cb1a66c0b78740927b76cc61f218344b9f6ef3dd430e283274a718ef0e9" dependencies = [ - "gix-error", - "gix-tempfile", - "gix-utils", + "hybrid-array", + "kem", + "module-lattice", + "rand_core 0.10.0", + "sha3", ] [[package]] -name = "gix-macros" -version = "0.2.0" +name = "module-lattice" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f11f5429ca73cc3758c9f53af56a9fba100a8701c5b4bc30e29b8b0b15288991" +checksum = "164eb3faeaecbd14b0b2a917c1b4d0c035097a9c559b0bed85c2cdd032bc8faa" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "ctutils", + "hybrid-array", + "num-traits", ] [[package]] -name = "gix-note" -version = "0.2.0" +name = "moxcms" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6879cc9e5a9a0429e40b05970af6c8dad8734098a3142fec23e32eeb567580" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" dependencies = [ - "gix-error", - "gix-hash", - "gix-object", + "num-traits", + "pxfm", ] [[package]] -name = "gix-object" -version = "0.65.0" +name = "multiversion_no_op" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a72909eeeed845721a143ef3dbeb4d6cd5df79c839fe7eefc138cb4f982eba3e" -dependencies = [ - "bstr", - "gix-actor", - "gix-command", - "gix-date", - "gix-error", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-path", - "gix-tempfile", - "gix-utils", - "gix-validate", - "itoa", - "smallvec", -] +checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" [[package]] -name = "gix-odb" -version = "0.85.0" +name = "ndk" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5794b85ff563a290ea18867fa1f0a5b0b84709f2f34dddbb3614556fbe88c629" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "arc-swap", - "gix-error", - "gix-features", - "gix-fs", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-pack", - "gix-path", - "gix-quote", - "gix-zlib", - "memmap2", - "parking_lot", - "tempfile", + "bitflags 2.11.0", + "jni-sys 0.3.0", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", ] [[package]] -name = "gix-pack" -version = "0.75.0" +name = "ndk-context" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0451a48faef8e0e7a8f6d903c8329c7d18a793b3030907ca841f889dc695d1df" -dependencies = [ - "clru", - "gix-chunk", - "gix-error", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-path", - "gix-zlib", - "memmap2", - "smallvec", -] +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] -name = "gix-packetline" -version = "0.23.0" +name = "ndk-sys" +version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba540112a3fcc6388eb2aa4dc4837040478c285a35178cd9a44b07345cd6636" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ - "bstr", - "faster-hex", - "gix-error", - "gix-trace", + "jni-sys 0.3.0", ] [[package]] -name = "gix-path" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd051ac60c5dbce2228daabf25b6a76408ac732d416c678cfa0a4914d13f60b8" +name = "netstack" +version = "0.0.0" dependencies = [ - "bstr", - "gix-error", - "gix-trace", - "gix-validate", + "smoltcp", + "toyos", + "toyos-abi", + "toyos-dns", + "toyos-i219", + "toyos-inspect", + "toyos-mdns", + "toyos-tco", ] [[package]] -name = "gix-pathspec" -version = "0.21.0" +name = "nix" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee883ab64bad641bf31ff338044edd7aa010605f19e866d98c9164e635c38b1" +checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" dependencies = [ "bitflags 2.11.0", - "bstr", - "gix-attributes", - "gix-config-value", - "gix-error", - "gix-glob", - "gix-path", + "cfg-if", + "cfg_aliases", + "libc", ] [[package]] -name = "gix-protocol" -version = "0.66.0" +name = "nonempty" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331ac489c461790b6b692afb322085c42041c6ff7621c30ac3dbb00b12e05e89" +checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "bstr", - "gix-date", - "gix-error", - "gix-features", - "gix-hash", - "gix-macros", - "gix-ref", - "gix-shallow", - "gix-transport", - "gix-utils", - "nonempty", + "windows-sys 0.61.2", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "serde", + "smallvec", + "zeroize", ] [[package]] -name = "gix-quote" -version = "0.9.0" +name = "num-complex" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b040cfa7af50f131bfa34119cceee804c3cc40c766daaba8e0c8149340aea7" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "bstr", - "gix-error", - "gix-utils", + "num-traits", ] [[package]] -name = "gix-ref" -version = "0.68.0" +name = "num-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90ceeec67de03b737c30b1b69116ca56fec803edde022f3d25181f0f597083d" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "gix-actor", - "gix-error", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-utils", - "gix-validate", - "memmap2", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "gix-refspec" -version = "0.46.0" +name = "num-integer" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4caa89a034a055c0578150092d3edb2f1c3f74cca86b883263a28caa26c5812" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "bstr", - "gix-error", - "gix-hash", - "gix-validate", - "smallvec", + "num-traits", ] [[package]] -name = "gix-revision" -version = "0.50.0" +name = "num-iter" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8438d38e197fa3ea7bb297302db1701879a64a343f23a3d150a602a609a8751" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "bstr", - "gix-commitgraph", - "gix-date", - "gix-error", - "gix-hash", - "gix-object", - "gix-revwalk", - "nonempty", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "gix-revwalk" -version = "0.36.0" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fa6d913e7cf8c6407d3954f9794b4b148c2113c672c34b63c59ea654a1e060e" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "gix-commitgraph", - "gix-date", - "gix-error", - "gix-hash", - "gix-hashtable", - "gix-object", - "smallvec", + "autocfg", + "libm", ] [[package]] -name = "gix-sec" -version = "0.15.0" +name = "num_enum" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8eb983a830ba586b61f7005deaf44609e1a4186cbf13a0e8668154ca910461" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ - "bitflags 2.11.0", - "gix-path", - "libc", - "windows-sys 0.61.2", + "num_enum_derive", + "rustversion", ] [[package]] -name = "gix-shallow" -version = "0.14.0" +name = "num_enum_derive" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119bae1301715df40e8fd136deeff4fe8a3be4cfc001ed5e72bad7b47ebbc090" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "bstr", - "gix-error", - "gix-hash", - "gix-lock", - "nonempty", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] -name = "gix-status" -version = "0.35.0" +name = "objc-sys" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb7e035b6d9dce932f6b6c8d33d29b31b46e05da544bf810e324bf61aaa5b84" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ - "bstr", - "filetime", - "gix-diff", - "gix-dir", - "gix-error", - "gix-features", - "gix-filter", - "gix-fs", - "gix-hash", - "gix-index", - "gix-object", - "gix-path", - "gix-pathspec", - "gix-worktree", - "hashbrown 0.16.1", - "portable-atomic", - "windows-sys 0.61.2", + "objc-sys", + "objc2-encode", ] [[package]] -name = "gix-submodule" -version = "0.35.0" +name = "objc2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b498192e5f89453fbd728263d52088aeec634a390e732f1da6d0a491c552091" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" dependencies = [ - "bstr", - "gix-config", - "gix-error", - "gix-path", - "gix-pathspec", - "gix-refspec", - "gix-url", + "objc2-encode", ] [[package]] -name = "gix-tempfile" -version = "25.0.0" +name = "objc2-app-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd7dd8df3345933caddd6ce67821c9eec17192564f1011cf0bd0b8cb0d07ffb" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "dashmap", - "gix-fs", + "bitflags 2.11.0", + "block2 0.5.1", "libc", - "parking_lot", - "tempfile", - "windows-sys 0.61.2", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation 0.2.2", + "objc2-quartz-core 0.2.2", ] [[package]] -name = "gix-trace" -version = "0.2.0" +name = "objc2-audio-toolbox" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df45b2cf6052d9e52681130c17d67505b023e8933ad974f94a2be0b0d24f636a" +checksum = "6948501a91121d6399b79abaa33a8aa4ea7857fe019f341b8c23ad6e81b79b08" +dependencies = [ + "bitflags 2.11.0", + "libc", + "objc2 0.6.4", + "objc2-core-audio", + "objc2-core-audio-types", + "objc2-core-foundation", + "objc2-foundation 0.3.2", +] [[package]] -name = "gix-transport" -version = "0.60.0" +name = "objc2-avf-audio" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2beb7b0387bbf4d7c13763c6e168f9957319aa811f09349dc59601be3b2951" +checksum = "13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be" dependencies = [ - "bstr", - "gix-command", - "gix-error", - "gix-features", - "gix-packetline", - "gix-path", - "gix-quote", - "gix-sec", - "gix-url", + "bitflags 2.11.0", + "objc2 0.6.4", + "objc2-foundation 0.3.2", ] [[package]] -name = "gix-traverse" -version = "0.62.0" +name = "objc2-cloud-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4864934e4efd92082ecc37107bce0c389b58d82888db634817f9c711efb7ed" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ "bitflags 2.11.0", - "gix-commitgraph", - "gix-date", - "gix-error", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-revwalk", - "smallvec", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", ] [[package]] -name = "gix-url" -version = "0.39.0" +name = "objc2-contacts" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f30fe2a228d7de5f9d582463d9b724debcb870162d9fbe908cd5d76ccdecf0d" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ - "bstr", - "gix-error", - "gix-path", - "gix-utils", - "percent-encoding", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] -name = "gix-utils" -version = "0.4.0" +name = "objc2-core-audio" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70525766f53426ca4cd2ea4d58b0b31488dfedb416b3254e2efdd9dc184cc880" +checksum = "e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2" dependencies = [ - "bstr", - "fastrand", - "getrandom 0.4.2", - "unicode-normalization", + "dispatch2", + "objc2 0.6.4", + "objc2-core-audio-types", + "objc2-core-foundation", + "objc2-foundation 0.3.2", ] [[package]] -name = "gix-validate" -version = "0.12.0" +name = "objc2-core-audio-types" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30574f81fc41b2ca3582ece2bdf8696bdfe9c170aa7e8bcafb81199c86b1ceea" +checksum = "5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c" dependencies = [ - "bstr", - "gix-error", + "bitflags 2.11.0", + "objc2 0.6.4", ] [[package]] -name = "gix-worktree" -version = "0.57.0" +name = "objc2-core-data" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04fa19b9b3961aafb3b9e60005b9bcef0100f8b211f46ab5269a6ac896073780" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bstr", - "gix-attributes", - "gix-error", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-validate", + "bitflags 2.11.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] -name = "gix-worktree-stream" -version = "0.37.0" +name = "objc2-core-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2021e1609beae0edbeefa76ac641be0571b725afacb77ac5b12f33b436e0d3d9" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "gix-attributes", - "gix-error", - "gix-features", - "gix-filter", - "gix-fs", - "gix-hash", - "gix-object", - "gix-path", - "gix-traverse", - "parking_lot", + "bitflags 2.11.0", + "block2 0.6.2", + "dispatch2", + "libc", + "objc2 0.6.4", ] [[package]] -name = "gix-zlib" -version = "0.2.0" +name = "objc2-core-graphics" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a1a9c82ec5b712082566cbef8f5782472a0d3973132911e5a83380a5298fe2" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "gix-error", - "zlib-rs", + "bitflags 2.11.0", + "dispatch2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-io-surface", ] [[package]] -name = "gpt" -version = "3.1.0" +name = "objc2-core-image" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8283e7331b8c93b9756e0cfdbcfb90312852f953c6faf9bf741e684cc3b6ad69" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "bitflags 2.11.0", - "crc", - "log", - "uuid", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", ] [[package]] -name = "hash32" -version = "0.3.1" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "byteorder", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation 0.2.2", ] [[package]] -name = "hashbrown" -version = "0.14.5" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" [[package]] -name = "hashbrown" -version = "0.15.5" +name = "objc2-foundation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.1.5", + "bitflags 2.11.0", + "block2 0.5.1", + "dispatch", + "libc", + "objc2 0.5.2", ] [[package]] -name = "hashbrown" -version = "0.16.1" +name = "objc2-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.2.0", + "bitflags 2.11.0", + "block2 0.6.2", + "libc", + "objc2 0.6.4", + "objc2-core-foundation", ] [[package]] -name = "hashbrown" -version = "0.17.1" +name = "objc2-io-surface" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.2.0", +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.11.0", + "objc2 0.6.4", + "objc2-core-foundation", ] [[package]] -name = "heapless" -version = "0.8.0" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "hash32", - "stable_deref_trait", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation 0.2.2", ] [[package]] -name = "heck" -version = "0.5.0" +name = "objc2-metal" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.11.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] [[package]] -name = "http" -version = "1.5.0" +name = "objc2-quartz-core" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bytes", - "itoa", + "bitflags 2.11.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", ] [[package]] -name = "httparse" -version = "1.10.1" +name = "objc2-quartz-core" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.11.0", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", +] [[package]] -name = "iana-time-zone" -version = "0.1.65" +name = "objc2-symbols" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "objc2-ui-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "cc", + "bitflags 2.11.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation 0.2.2", + "objc2-link-presentation", + "objc2-quartz-core 0.2.2", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", ] [[package]] -name = "id-arena" -version = "2.3.0" +name = "objc2-uniform-type-identifiers" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] [[package]] -name = "image" -version = "0.25.10" +name = "objc2-user-notifications" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bytemuck", - "byteorder-lite", - "moxcms", - "num-traits", - "zune-core", - "zune-jpeg", + "bitflags 2.11.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", ] [[package]] -name = "indexmap" -version = "2.13.0" +name = "object" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", + "memchr", ] [[package]] -name = "itoa" -version = "1.0.17" +name = "once_cell" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] -name = "jiff" -version = "0.2.37" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1baf72f08796de0260609515130699b890ac25f30e610ad894bc5856cafdb" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "orbclient" +version = "0.3.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ad2c6bae700b7aa5d1cc30c59bdd3a1c180b09dbaea51e2ae2b8e1cf211fdd" dependencies = [ - "defmt 1.1.1", - "jiff-core", - "jiff-static", - "jiff-tzdb-platform", - "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", - "windows-link", + "libc", + "libredox", ] [[package]] -name = "jiff-core" -version = "0.1.1" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "defmt 1.1.1", - "log", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder 0.13.6", + "sha2 0.10.9", ] [[package]] -name = "jiff-static" -version = "0.2.37" +name = "p256" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "378268a1116ad67ae6228701118ac9f491d78fda38a40a1f1a9e1348de6f7212" +checksum = "44f0a10fe314869359cb2901342b045f4e5a962ef9febc006f03d2a8c848fe4c" dependencies = [ - "jiff-core", - "proc-macro2", - "quote", - "syn 2.0.117", + "ecdsa 0.17.0-rc.16", + "elliptic-curve 0.14.0-rc.29", + "primefield", + "primeorder 0.14.0-rc.8", + "sha2 0.11.0-rc.5", ] [[package]] -name = "jiff-tzdb" -version = "0.1.8" +name = "p384" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +dependencies = [ + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder 0.13.6", + "sha2 0.10.9", +] [[package]] -name = "jiff-tzdb-platform" -version = "0.1.3" +name = "p384" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +checksum = "b079e66810c55ab3d6ba424e056dc4aefcdb8046c8c3f3816142edbdd7af7721" dependencies = [ - "jiff-tzdb", + "ecdsa 0.17.0-rc.16", + "elliptic-curve 0.14.0-rc.29", + "fiat-crypto 0.3.0", + "primefield", + "primeorder 0.14.0-rc.8", + "sha2 0.11.0-rc.5", ] [[package]] -name = "js-sys" -version = "0.3.91" +name = "p521" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +checksum = "9eecc34c4c6e6596d5271fecf90ac4f16593fa198e77282214d0c22736aa9266" dependencies = [ - "once_cell", - "wasm-bindgen", + "base16ct 1.0.0", + "ecdsa 0.17.0-rc.16", + "elliptic-curve 0.14.0-rc.29", + "primefield", + "primeorder 0.14.0-rc.8", + "sha2 0.11.0-rc.5", ] [[package]] -name = "kernel" -version = "0.1.0" +name = "pageant" +version = "0.2.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" dependencies = [ - "bcachefs", - "dlmalloc", - "hashbrown 0.16.1", - "toyos-abi", - "toyos-acpi", - "toyos-blackbox", - "toyos-blockhold", - "toyos-bootmap", - "toyos-cpuvuln", - "toyos-dma", - "toyos-elf", - "toyos-elide", - "toyos-fat32", - "toyos-gicv3", - "toyos-gpt", - "toyos-hda", - "toyos-pci", - "toyos-ps2", - "toyos-quiesce", - "toyos-rootimage", - "toyos-symbols", - "toyos-tco", - "toyos-tsc", - "toyos-untrusted", - "toyos-userbound", - "toyos-wallclock", - "toyos-xhci", + "byteorder", + "bytes", + "delegate", + "futures", + "log", + "rand 0.10.0", + "sha2 0.10.9", + "thiserror 2.0.18", + "tokio", + "windows", + "windows-strings", ] [[package]] -name = "kernel-loom" +name = "paint" version = "0.1.0" dependencies = [ - "loom", - "toyos-abi", + "filepicker-api", + "toyos-font", + "toyos-window", ] [[package]] -name = "kernel-sim" -version = "0.1.0" +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ - "kernel", - "rand", + "lock_api", + "parking_lot_core", ] [[package]] -name = "lazy_static" -version = "1.5.0" +name = "parking_lot_core" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", +] [[package]] -name = "leb128fmt" -version = "0.1.0" +name = "password-hash" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] [[package]] -name = "libc" -version = "0.2.190" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "linux-raw-sys" -version = "0.12.1" +name = "pbkdf2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", +] [[package]] -name = "lock_api" -version = "0.4.14" +name = "pbkdf2" +version = "0.13.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +checksum = "c8dfa4e14084d963d35bfb4cdb38712cde78dcf83054c0e8b9b8e899150f374e" dependencies = [ - "scopeguard", + "digest 0.11.1", + "hmac 0.13.0-rc.5", ] [[package]] -name = "log" -version = "0.4.29" +name = "pcap-file" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "1fc1f139757b058f9f37b76c48501799d12c9aa0aa4c0d4c980b062ee925d1b2" +dependencies = [ + "byteorder_slice", + "derive-into-owned", + "thiserror 1.0.69", +] [[package]] -name = "loom" -version = "0.7.2" -source = "git+https://github.com/ToyOSOrg/loom?branch=toyos#dfe3797296a16f0741b9b23364bf016164a39534" +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", + "base64ct", ] [[package]] -name = "matchers" -version = "0.2.0" +name = "pem-rfc7468" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" dependencies = [ - "regex-automata", + "base64ct", ] [[package]] -name = "memchr" -version = "2.8.0" +name = "percent-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] -name = "memmap2" -version = "0.9.11" +name = "pico-args" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "pin-project" +version = "1.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ - "libc", + "pin-project-internal", ] [[package]] -name = "miniz_oxide" -version = "0.9.1" +name = "pin-project-internal" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ - "adler2", - "simd-adler32", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der 0.7.10", + "pkcs8 0.10.2", + "spki 0.7.3", +] + +[[package]] +name = "pkcs1" +version = "0.8.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" +dependencies = [ + "der 0.8.0", + "spki 0.8.0-rc.4", ] [[package]] -name = "moxcms" -version = "0.8.1" +name = "pkcs5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" dependencies = [ - "num-traits", - "pxfm", + "der 0.7.10", + "spki 0.7.3", ] [[package]] -name = "multiversion_no_op" -version = "1.0.0" +name = "pkcs5" +version = "0.8.0-rc.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" +checksum = "c5a777c6e26664bc9504b3ce3f6133f8f20d9071f130a4f9fcbd3186959d8dd6" +dependencies = [ + "aes 0.9.0-rc.4", + "aes-gcm 0.11.0-rc.3", + "cbc 0.2.0-rc.4", + "der 0.8.0", + "pbkdf2 0.13.0-rc.9", + "rand_core 0.10.0", + "scrypt", + "sha2 0.11.0-rc.5", + "spki 0.8.0-rc.4", +] [[package]] -name = "nonempty" -version = "0.12.0" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.10", + "pkcs5 0.7.1", + "spki 0.7.3", +] [[package]] -name = "nu-ansi-term" -version = "0.50.3" +name = "pkcs8" +version = "0.11.0-rc.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +checksum = "12922b6296c06eb741b02d7b5161e3aaa22864af38dfa025a1a3ba3f68c84577" dependencies = [ - "windows-sys 0.61.2", + "der 0.8.0", + "pkcs5 0.8.0-rc.13", + "rand_core 0.10.0", + "spki 0.8.0-rc.4", ] [[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +name = "pkg" +version = "0.1.0" dependencies = [ - "autocfg", + "flate2", + "sha2 0.10.9", + "toyos-manifest", + "toyos-tmpdir", ] [[package]] -name = "object" -version = "0.38.1" +name = "pkg-config" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" -dependencies = [ - "memchr", -] +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] -name = "once_cell" -version = "1.21.4" +name = "plain" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] -name = "parking_lot" -version = "0.12.5" +name = "png" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "lock_api", - "parking_lot_core", + "bitflags 2.11.0", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", ] [[package]] -name = "parking_lot_core" -version = "0.9.12" +name = "polling" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.1.5", + "windows-sys 0.61.2", ] [[package]] -name = "pcap-file" -version = "2.0.0" +name = "poly1305" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc1f139757b058f9f37b76c48501799d12c9aa0aa4c0d4c980b062ee925d1b2" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "byteorder_slice", - "derive-into-owned", - "thiserror 1.0.69", + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash 0.5.1", ] [[package]] -name = "percent-encoding" -version = "2.3.2" +name = "polyval" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash 0.5.1", +] [[package]] -name = "pin-project-lite" -version = "0.2.17" +name = "polyval" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "7dfc63250416fea14f5749b90725916a6c903f599d51cb635aa7a52bfd03eede" +dependencies = [ + "cpubits", + "cpufeatures 0.3.0", + "universal-hash 0.6.1", +] [[package]] name = "portable-atomic" @@ -1876,6 +4243,56 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "primal-check" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08" +dependencies = [ + "num-integer", +] + +[[package]] +name = "primefield" +version = "0.14.0-rc.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6543f5eec854fbf74ba5ef651fbdc9408919b47c3e1526623687135c16d12e9" +dependencies = [ + "crypto-bigint 0.7.3", + "crypto-common 0.2.1", + "rand_core 0.10.0", + "rustcrypto-ff", + "subtle", + "zeroize", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve 0.13.8", +] + +[[package]] +name = "primeorder" +version = "0.14.0-rc.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "569d9ad6ef822bb0322c7e7d84e5e286244050bd5246cac4c013535ae91c2c90" +dependencies = [ + "elliptic-curve 0.14.0-rc.29", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.4+spec-1.1.0", +] + [[package]] name = "proc-macro2" version = "1.0.106" @@ -1885,6 +4302,10 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proctest" +version = "0.1.0" + [[package]] name = "prodash" version = "31.0.0" @@ -1894,12 +4315,41 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "ptr_meta" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "pxfm" version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" +[[package]] +name = "quick-xml" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.45" @@ -1921,14 +4371,46 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + [[package]] name = "rand" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" dependencies = [ - "rand_chacha", - "rand_core", + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[package]] +name = "rand" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +dependencies = [ + "chacha20 0.10.0", + "getrandom 0.4.2", + "rand_core 0.10.0", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", ] [[package]] @@ -1938,7 +4420,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", ] [[package]] @@ -1950,6 +4441,35 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "git+https://github.com/ToyOSOrg/raw-window-handle?branch=toyos-0.6.2#2a5d102bdbd5dc987b653a7ffff5bedbbbfc53b3" + +[[package]] +name = "realfft" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f821338fddb99d089116342c46e9f1fbf3828dba077674613e734e01d6ea8677" +dependencies = [ + "rustfft", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.5.18" @@ -1959,6 +4479,15 @@ dependencies = [ "bitflags 2.11.0", ] +[[package]] +name = "redox_syscall" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +dependencies = [ + "bitflags 2.11.0", +] + [[package]] name = "regex-automata" version = "0.4.18" @@ -1976,6 +4505,49 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +[[package]] +name = "resvg" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81" +dependencies = [ + "log", + "pico-args", + "rgb", + "svgtypes", + "tiny-skia", + "usvg", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + +[[package]] +name = "rfc6979" +version = "0.5.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23a3127ee32baec36af75b4107082d9bd823501ec14a4e016be4b6b37faa74ae" +dependencies = [ + "hmac 0.13.0-rc.5", + "subtle", +] + +[[package]] +name = "rgb" +version = "0.8.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" +dependencies = [ + "bytemuck", +] + [[package]] name = "ring" version = "0.17.14" @@ -1990,6 +4562,156 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "roxmltree" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb" +dependencies = [ + "memchr", +] + +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid 0.9.6", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1 0.7.5", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sha2 0.10.9", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "rsa" +version = "0.10.0-rc.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ed3e93fc7e473e464b9726f4759659e72bc8665e4b8ea227547024f416d905" +dependencies = [ + "const-oid 0.10.2", + "crypto-bigint 0.7.3", + "crypto-primes", + "digest 0.11.1", + "pkcs1 0.8.0-rc.4", + "pkcs8 0.11.0-rc.11", + "rand_core 0.10.0", + "sha2 0.11.0-rc.5", + "signature 3.0.0-rc.10", + "spki 0.8.0-rc.4", + "zeroize", +] + +[[package]] +name = "rubato" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5258099699851cfd0082aeb645feb9c084d9a5e1f1b8d5372086b989fc5e56a1" +dependencies = [ + "num-complex", + "num-integer", + "num-traits", + "realfft", +] + +[[package]] +name = "russh" +version = "0.60.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" +dependencies = [ + "aes 0.8.4", + "aes-gcm 0.10.3", + "bitflags 2.11.0", + "block-padding 0.3.3", + "byteorder", + "bytes", + "cbc 0.1.2", + "chacha20 0.9.1", + "cipher 0.5.1", + "crypto-bigint 0.7.3", + "ctr 0.9.2", + "curve25519-dalek 5.0.0-pre.6", + "data-encoding", + "delegate", + "der 0.8.0", + "digest 0.10.7", + "ecdsa 0.17.0-rc.16", + "ed25519-dalek 3.0.0-pre.6", + "elliptic-curve 0.14.0-rc.29", + "enum_dispatch", + "flate2", + "futures", + "generic-array 1.3.5", + "getrandom 0.2.17", + "hex-literal", + "hmac 0.12.1", + "inout 0.1.4", + "internal-russh-forked-ssh-key", + "internal-russh-num-bigint", + "log", + "md5", + "ml-kem", + "module-lattice", + "p256 0.14.0-rc.8", + "p384 0.14.0-rc.8", + "p521", + "pageant", + "pbkdf2 0.12.2", + "pkcs1 0.8.0-rc.4", + "pkcs5 0.8.0-rc.13", + "pkcs8 0.11.0-rc.11", + "poly1305", + "polyval 0.7.1", + "rand 0.10.0", + "rand_core 0.10.0", + "rsa 0.10.0-rc.17", + "russh-cryptovec", + "russh-util", + "sec1 0.8.1", + "sha1 0.10.6", + "sha2 0.10.9", + "signature 3.0.0-rc.10", + "spki 0.8.0-rc.4", + "ssh-encoding", + "subtle", + "thiserror 2.0.18", + "tokio", + "typenum", + "universal-hash 0.6.1", + "zeroize", +] + +[[package]] +name = "russh-cryptovec" +version = "0.59.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" +dependencies = [ + "log", + "nix", + "ssh-encoding", + "windows-sys 0.61.2", +] + +[[package]] +name = "russh-util" +version = "0.52.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" +dependencies = [ + "chrono", + "tokio", + "wasm-bindgen", + "wasm-bindgen-futures", +] + [[package]] name = "rustc-demangle" version = "0.1.27" @@ -2011,6 +4733,54 @@ dependencies = [ "semver", ] +[[package]] +name = "rustcrypto-ff" +version = "0.14.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd2a8adb347447693cd2ba0d218c4b66c62da9b0a5672b17b981e4291ec65ff6" +dependencies = [ + "rand_core 0.10.0", + "subtle", +] + +[[package]] +name = "rustcrypto-group" +version = "0.14.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "369f9b61aa45933c062c9f6b5c3c50ab710687eca83dd3802653b140b43f85ed" +dependencies = [ + "rand_core 0.10.0", + "rustcrypto-ff", + "subtle", +] + +[[package]] +name = "rustfft" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89" +dependencies = [ + "num-complex", + "num-integer", + "num-traits", + "primal-check", + "strength_reduce", + "transpose", +] + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.11.0", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.52.0", +] + [[package]] name = "rustix" version = "1.1.5" @@ -2020,7 +4790,7 @@ dependencies = [ "bitflags 2.11.0", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.12.1", "windows-sys 0.61.2", ] @@ -2034,7 +4804,7 @@ dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki", + "rustls-webpki 0.103.15", "subtle", "zeroize", ] @@ -2048,6 +4818,47 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-rustcrypto" +version = "0.0.2-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f12052947763ab8515f753315357599e9b0b4dab3b8ba15f30f725fe6d025557" +dependencies = [ + "aead 0.5.2", + "aes-gcm 0.10.3", + "chacha20poly1305", + "crypto-common 0.1.7", + "der 0.7.10", + "digest 0.10.7", + "ecdsa 0.16.9", + "ed25519-dalek 2.2.0", + "hmac 0.12.1", + "p256 0.13.2", + "p384 0.13.1", + "paste", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "rsa 0.9.10", + "rustls", + "rustls-pki-types", + "rustls-webpki 0.102.8", + "sec1 0.7.3", + "sha2 0.10.9", + "signature 2.2.0", + "x25519-dalek", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustls-webpki" version = "0.103.15" @@ -2065,6 +4876,22 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +[[package]] +name = "rustysynth" +version = "1.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ca93af923df5fc03beddbf464242620fd24daa9e10f9ecd56eb9571eb7ba38" + +[[package]] +name = "salsa20" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f874456e72520ff1375a06c588eaf074b0f01f9e9e1aada45bd9b7954a6e42c" +dependencies = [ + "cfg-if", + "cipher 0.5.1", +] + [[package]] name = "same-file" version = "1.0.6" @@ -2086,6 +4913,46 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scrypt" +version = "0.12.0-rc.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e03ed5b54ed5fcc8e016cd94301416bc2c01c05c87a6742b97468337c8804598" +dependencies = [ + "cfg-if", + "pbkdf2 0.13.0-rc.9", + "salsa20", + "sha2 0.11.0-rc.5", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.10", + "generic-array 0.14.7", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + +[[package]] +name = "sec1" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d" +dependencies = [ + "base16ct 1.0.0", + "ctutils", + "der 0.8.0", + "hybrid-array", + "subtle", + "zeroize", +] + [[package]] name = "semver" version = "1.0.28" @@ -2141,70 +5008,373 @@ version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ - "serde", + "serde", +] + +[[package]] +name = "serdect" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9af4a3e75ebd5599b30d4de5768e00b5095d518a79fefc3ecbaf77e665d1ec06" +dependencies = [ + "base16ct 1.0.0", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha1" +version = "0.11.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b167252f3c126be0d8926639c4c4706950f01445900c4b3db0fd7e89fcb750a" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.11.1", +] + +[[package]] +name = "sha1dc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fdf1713fb0547b120571e5f7b37dc2650dc03d2abf46a18928f54372000947f" + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5f3b1e2dc8aad28310d8410bd4d7e180eca65fca176c52ab00d364475d0024" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.11.1", +] + +[[package]] +name = "sha3" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1" +dependencies = [ + "digest 0.11.1", + "keccak", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-manifest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "signature" +version = "3.0.0-rc.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f1880df446116126965eeec169136b2e0251dba37c6223bcc819569550edea3" +dependencies = [ + "digest 0.11.1", + "rand_core 0.10.0", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "simd_cesu8" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" +dependencies = [ + "rustc_version", + "simdutf8", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "simplecss" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" +dependencies = [ + "log", +] + +[[package]] +name = "siphasher" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smithay-client-toolkit" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" +dependencies = [ + "bitflags 2.11.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 0.38.44", + "thiserror 1.0.69", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + +[[package]] +name = "smoltcp" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad095989c1533c1c266d9b1e8d70a1329dd3723c3edac6d03bbd67e7bf6f4bb" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "cfg-if", + "defmt 0.3.100", + "heapless", + "managed", +] + +[[package]] +name = "snake" +version = "0.1.0" +dependencies = [ + "fontdue", + "rand 0.8.5", + "softbuffer", + "toyos-font", + "winit", +] + +[[package]] +name = "socket2" +version = "0.6.3" +source = "git+https://github.com/ToyOSOrg/socket2?branch=toyos#1d9025096919dbc95ab647f65b99e2b8dff4664d" +dependencies = [ + "libc", + "toyos", + "toyos-abi", + "windows-sys 0.61.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "git+https://github.com/ToyOSOrg/softbuffer?branch=toyos-0.4.8#b36854df3cb4e589c124e9ecfa492b4e5b331c05" +dependencies = [ + "bytemuck", + "fastrand", + "js-sys", + "memmap2", + "ndk", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.2", + "objc2-quartz-core 0.3.2", + "raw-window-handle", + "redox_syscall 0.5.18", + "rustix 1.1.5", + "toyos-window", + "tracing", + "wasm-bindgen", + "wayland-backend", + "wayland-client", + "wayland-sys", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soundserver" +version = "0.0.0" +dependencies = [ + "rubato", + "toyos", + "toyos-abi", + "toyos-hda", + "toyos-inspect", + "toyos-mixer", ] [[package]] -name = "sha1dc" -version = "0.1.2" +name = "spin" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fdf1713fb0547b120571e5f7b37dc2650dc03d2abf46a18928f54372000947f" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] -name = "sha2" -version = "0.10.9" +name = "spki" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "base64ct", + "der 0.7.10", ] [[package]] -name = "sharded-slab" -version = "0.1.7" +name = "spki" +version = "0.8.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" dependencies = [ - "lazy_static", + "base64ct", + "der 0.8.0", ] [[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +name = "sprite" +version = "0.1.0" +dependencies = [ + "resvg", +] [[package]] -name = "signature" -version = "2.2.0" +name = "ssh-cipher" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "caac132742f0d33c3af65bfcde7f6aa8f62f0e991d80db99149eb9d44708784f" +dependencies = [ + "aes 0.8.4", + "aes-gcm 0.10.3", + "cbc 0.1.2", + "chacha20 0.9.1", + "cipher 0.4.4", + "ctr 0.9.2", + "poly1305", + "ssh-encoding", + "subtle", +] [[package]] -name = "simd-adler32" -version = "0.3.10" +name = "ssh-encoding" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" +checksum = "eb9242b9ef4108a78e8cd1a2c98e193ef372437f8c22be363075233321dd4a15" +dependencies = [ + "base64ct", + "bytes", + "pem-rfc7468 0.7.0", + "sha2 0.10.9", +] [[package]] -name = "simdutf8" -version = "0.1.5" +name = "sshserver" +version = "0.0.0" +dependencies = [ + "rand 0.10.0", + "russh", + "tokio", + "toyos-tmpdir", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] -name = "smallvec" -version = "1.15.1" +name = "strength_reduce" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" [[package]] -name = "stable_deref_trait" -version = "1.2.1" +name = "strict-num" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] [[package]] name = "subtle" @@ -2212,6 +5382,48 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "supervisor" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-blockring", + "toyos-gpt", + "toyos-logstream", + "toyos-manifest", + "toyos-osrelease", + "toyos-quiesce", + "toyos-swap", + "toyos-update", + "toyos-wallclock", +] + +[[package]] +name = "svgtypes" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d" +dependencies = [ + "kurbo", + "siphasher", +] + +[[package]] +name = "swap" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-swap", +] + +[[package]] +name = "symbolize" +version = "0.1.0" +dependencies = [ + "toyos-symbols", +] + [[package]] name = "syn" version = "1.0.109" @@ -2234,6 +5446,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "tar" version = "0.4.46" @@ -2242,6 +5465,7 @@ checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" dependencies = [ "filetime", "libc", + "xattr", ] [[package]] @@ -2251,12 +5475,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.3.4", "once_cell", - "rustix", + "rustix 1.1.5", "windows-sys 0.61.2", ] +[[package]] +name = "terminal" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-font", + "toyos-window", +] + +[[package]] +name = "test-runner" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-tco", +] + [[package]] name = "thiserror" version = "1.0.69" @@ -2306,12 +5548,63 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "tiny-skia" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + [[package]] name = "tinyvec" version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" +[[package]] +name = "tokio" +version = "1.51.1" +source = "git+https://github.com/ToyOSOrg/tokio?branch=toyos#902fb97416c387396f962955f1b64dac20e855ec" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "toml" version = "0.8.23" @@ -2320,8 +5613,8 @@ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", - "toml_datetime", - "toml_edit", + "toml_datetime 0.6.11", + "toml_edit 0.22.27", ] [[package]] @@ -2333,6 +5626,15 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "1.0.0+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -2342,17 +5644,57 @@ dependencies = [ "indexmap", "serde", "serde_spanned", - "toml_datetime", + "toml_datetime 0.6.11", "toml_write", "winnow", ] +[[package]] +name = "toml_edit" +version = "0.25.4+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2" +dependencies = [ + "indexmap", + "toml_datetime 1.0.0+spec-1.1.0", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.9+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" +dependencies = [ + "winnow", +] + [[package]] name = "toml_write" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toybox" +version = "0.1.0" +dependencies = [ + "cpal", + "toyos", + "toyos-abi", + "toyos-keymap", + "toyos-window", +] + +[[package]] +name = "toyos" +version = "0.18.0" +dependencies = [ + "rustc-std-workspace-core", + "toyos-abi", +] + [[package]] name = "toyos-abi" version = "0.16.0" @@ -2368,6 +5710,13 @@ dependencies = [ "toyos-bootmap", ] +[[package]] +name = "toyos-aml" +version = "0.1.0" +dependencies = [ + "toyos-acpi", +] + [[package]] name = "toyos-blackbox" version = "0.1.0" @@ -2407,7 +5756,7 @@ dependencies = [ "libc", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "tar", "toml", "toyos-abi", @@ -2438,6 +5787,13 @@ dependencies = [ name = "toyos-cpuvuln" version = "0.1.0" +[[package]] +name = "toyos-desktop" +version = "0.1.0" +dependencies = [ + "toyos-abi", +] + [[package]] name = "toyos-dhcp" version = "0.1.0" @@ -2480,6 +5836,10 @@ dependencies = [ name = "toyos-fat32-check" version = "0.1.0" +[[package]] +name = "toyos-font" +version = "0.2.0" + [[package]] name = "toyos-gicv3" version = "0.1.0" @@ -2532,10 +5892,21 @@ dependencies = [ "toyos-abi", ] +[[package]] +name = "toyos-mdns" +version = "0.1.0" +dependencies = [ + "toyos-dns", +] + [[package]] name = "toyos-microcode" version = "0.1.0" +[[package]] +name = "toyos-mixer" +version = "0.1.0" + [[package]] name = "toyos-net-ip" version = "0.1.0" @@ -2611,7 +5982,7 @@ version = "0.1.0" name = "toyos-swap" version = "0.1.0" dependencies = [ - "sha2", + "sha2 0.10.9", "toyos-manifest", ] @@ -2661,8 +6032,8 @@ version = "0.1.0" name = "toyos-update" version = "0.1.0" dependencies = [ - "ed25519-dalek", - "sha2", + "ed25519-dalek 2.2.0", + "sha2 0.10.9", ] [[package]] @@ -2677,6 +6048,16 @@ dependencies = [ name = "toyos-wallclock" version = "0.1.0" +[[package]] +name = "toyos-window" +version = "0.20.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-font", + "toyos-keymap", +] + [[package]] name = "toyos-xhci" version = "0.1.0" @@ -2685,10 +6066,19 @@ version = "0.1.0" name = "toyos-xhci-sim" version = "0.1.0" dependencies = [ - "rand", + "rand 0.9.5", "toyos-xhci", ] +[[package]] +name = "trace" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", + "toyos-trace", +] + [[package]] name = "tracing" version = "0.1.44" @@ -2739,16 +6129,89 @@ dependencies = [ ] [[package]] -name = "ttf-parser" -version = "0.21.1" +name = "transpose" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" +dependencies = [ + "num-integer", + "strength_reduce", +] + +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "ucs2" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad643914094137d475641b6bab89462505316ec2ce70907ad20102d28a79ab8" +dependencies = [ + "bit_field", +] + +[[package]] +name = "uefi" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ead9f748a4646479b850add36b527113a80e80a7e0f44d7b0334291850dcc5" +dependencies = [ + "bitflags 2.11.0", + "log", + "ptr_meta", + "ucs2", + "uefi-macros", + "uefi-raw", + "uguid", +] + +[[package]] +name = "uefi-macros" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26a7b1c2c808c3db854a54d5215e3f7e7aaf5dcfbce095598cba6af29895695d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "uefi-raw" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864ac69eadd877bfb34e7814be1928122ed0057d9f975169a56ee496aa7bdfd7" +dependencies = [ + "bitflags 2.11.0", + "ptr_meta", + "uguid", +] + +[[package]] +name = "uefi-services" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" +checksum = "a79fcb420624743c895bad0f9480fbc2f64e7c8d8611fb1ada6bdd799942feb4" +dependencies = [ + "cfg-if", + "log", + "uefi", +] [[package]] -name = "typenum" -version = "1.20.1" +name = "uguid" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" +checksum = "ab14ea9660d240e7865ce9d54ecdbd1cd9fa5802ae6f4512f093c7907e921533" [[package]] name = "unicode-bom" @@ -2771,25 +6234,62 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + [[package]] name = "unicode-xid" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common 0.1.7", + "subtle", +] + +[[package]] +name = "universal-hash" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4987bdc12753382e0bec4a65c50738ffaabc998b9cdd1f952fb5f39b0048a96" +dependencies = [ + "crypto-common 0.2.1", + "ctutils", +] + [[package]] name = "untrusted" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "update" +version = "0.1.0" +dependencies = [ + "sha2 0.10.9", + "toyos", + "toyos-abi", + "toyos-fat32", + "toyos-update", +] + [[package]] name = "ureq" version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a7ac20be9b7726e0bbdbf974c059676d9acb1cd414961f570a4e8231cacd7fc" dependencies = [ - "base64", + "base64 0.23.1", "log", "percent-encoding", "rustls", @@ -2805,12 +6305,34 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f86fd172ccca569e458f61b6bdd6220965a9ef36e672a6852953b51a0e1583be" dependencies = [ - "base64", + "base64 0.23.1", "http", "httparse", "log", ] +[[package]] +name = "usvg" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d46cf96c5f498d36b7a9693bc6a7075c0bb9303189d61b2249b0dc3d309c07de" +dependencies = [ + "base64 0.22.1", + "data-url", + "flate2", + "imagesize", + "kurbo", + "log", + "pico-args", + "roxmltree", + "simplecss", + "siphasher", + "strict-num", + "svgtypes", + "tiny-skia-path", + "xmlwriter", +] + [[package]] name = "utf8-zero" version = "0.8.1" @@ -2887,6 +6409,20 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.114" @@ -2953,6 +6489,135 @@ dependencies = [ "semver", ] +[[package]] +name = "wayland-backend" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078" +dependencies = [ + "cc", + "downcast-rs", + "rustix 1.1.5", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073" +dependencies = [ + "bitflags 2.11.0", + "rustix 1.1.5", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.11.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" +dependencies = [ + "rustix 1.1.5", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6" +dependencies = [ + "bitflags 2.11.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" +dependencies = [ + "bitflags 2.11.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" +dependencies = [ + "bitflags 2.11.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "338e30461b3a2b67d70eb30a6d89f8e0c93a833e07d2ae89085cd070c4a00ac0" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webpki-roots" version = "1.0.9" @@ -2971,6 +6636,27 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "windows" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +dependencies = [ + "windows-collections", + "windows-core", + "windows-future", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +dependencies = [ + "windows-core", +] + [[package]] name = "windows-core" version = "0.62.2" @@ -2984,6 +6670,17 @@ dependencies = [ "windows-strings", ] +[[package]] +name = "windows-future" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +dependencies = [ + "windows-core", + "windows-link", + "windows-threading", +] + [[package]] name = "windows-implement" version = "0.60.2" @@ -3012,6 +6709,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +dependencies = [ + "windows-core", + "windows-link", +] + [[package]] name = "windows-result" version = "0.4.1" @@ -3030,13 +6737,22 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -3048,34 +6764,76 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-threading" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +dependencies = [ + "windows-link", ] +[[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_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[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_gnu" version = "0.52.6" @@ -3088,30 +6846,101 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[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_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[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_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winit" +version = "0.30.13" +source = "git+https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3bca784d97056fe47475c2dca8c6386816" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.11.0", + "block2 0.5.1", + "calloop", + "cfg_aliases", + "concurrent-queue", + "core-foundation", + "core-graphics", + "cursor-icon", + "dpi", + "js-sys", + "libc", + "memmap2", + "ndk", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation 0.2.2", + "objc2-ui-kit", + "orbclient", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.44", + "smithay-client-toolkit", + "smol_str", + "toyos-window", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.52.0", + "xkbcommon-dl", +] + [[package]] name = "winnow" version = "0.7.15" @@ -3209,6 +7038,58 @@ dependencies = [ "wasmparser", ] +[[package]] +name = "x25519-dalek" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +dependencies = [ + "curve25519-dalek 4.1.3", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "xattr" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" +dependencies = [ + "libc", + "rustix 1.1.5", +] + +[[package]] +name = "xcursor" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "163b33ed8786455e2fa5d72f554057ce3f3182425434f756cd39c99839d88e23" + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.11.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "xmlwriter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" + [[package]] name = "zerocopy" version = "0.8.47" @@ -3234,6 +7115,20 @@ name = "zeroize" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] name = "zlib-rs" diff --git a/Cargo.toml b/Cargo.toml index 7a5128a7935..bd9228ec2c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,14 +1,14 @@ -# The host workspace: every crate in this repository that is tested on the host -# rather than inside a guest, resolved once. +# The one workspace: every crate in this repository but the ones `exclude` +# names, resolved once into the one `Cargo.lock`, built with the one +# `[profile.toyos]` and patched by the one `[patch]` table below. A guest +# build names its package with `-p` and its triple with `--target`, whose +# flags are `.cargo/config.toml`'s; features unify only across the packages one +# `cargo` builds, so a member's features never reach the kernel's or the +# loader's build. # -# Each of these used to be its own workspace root with its own lockfile, and -# `host-tests.yml` named them in a shell loop. That made the set of host-tested -# crates a list in two places, and the two drifted three times — four pure -# crates until 2026-08-08, `toyos-keymap` and `bcachefs` until 2026-08-14, and -# `toyos-abi` and `toyos-manifest`, which reached no workflow at all. Membership -# here is now the only list: `cargo test --workspace --exclude toyos-build` runs -# every one of them, and `src/hostws.rs` reds on a `Cargo.toml` in this tree -# that is neither a member nor excluded below with a reason. +# `src/hostws.rs` reds on a `Cargo.toml` in this tree that is neither a member +# nor excluded below with a reason, and says which members a host tests: +# `cargo run -- --ci host` runs every one of those. # # `default-members` is the root package alone, so a bare `cargo test` at the # root is still the QEMU harness and a bare `cargo run` is still the dev loop. @@ -16,6 +16,8 @@ [workspace] members = [ "bcachefs", + "bootloader", + "kernel", "kernel/dma", "kernel/gicv3", "kernel/loom", @@ -23,6 +25,7 @@ members = [ "kernel/ps2", "kernel/sim", "tests/libc-arch", + "toyos", "toyos-abi", "toyos-acpi", "toyos-blackbox", @@ -66,6 +69,46 @@ members = [ "toyos-wallclock", "toyos-xhci", "toyos-xhci/sim", + "userland/acpiserver", + "userland/acpiserver/aml", + "userland/calc", + "userland/compositor", + "userland/compositor/desktop", + "userland/console", + "userland/diskserver", + "userland/doom", + "userland/editor", + "userland/filepicker", + "userland/filepicker-api", + "userland/files", + "userland/fileserver", + "userland/host", + "userland/inspect", + "userland/kernelprobe", + "userland/logkeeper", + "userland/logkeeper-api", + "userland/metalprobe", + "userland/netstack", + "userland/netstack/mdns", + "userland/paint", + "userland/pkg", + "userland/proctest", + "userland/shell", + "userland/snake", + "userland/soundserver", + "userland/soundserver/mixer", + "userland/sprite", + "userland/sshserver", + "userland/supervisor", + "userland/swap", + "userland/symbolize", + "userland/terminal", + "userland/test-runner", + "userland/toybox", + "userland/toyos-font", + "userland/toyos-window", + "userland/trace", + "userland/update", ] default-members = ["."] # Everything that keeps its own resolution. Each is excluded for a reason, and @@ -73,27 +116,18 @@ default-members = ["."] # a directory with a `Cargo.toml` under it is a red, so a stale excuse cannot # outlive what it excused. exclude = [ - # Cross-compiled by a `.cargo/config.toml` below them, to targets no host - # test can run. Cargo refuses to merge an inherited `build.target` away, so - # these cannot be members at any price. The kernel's library is tested on the - # host from its own manifest all the same, and `kernel/loom` and `kernel/sim` - # are members: `members` names them, which outranks this list. - "bootloader", - "kernel", - "userland", # The Rust compiler/std fork: its own workspaces, its own lockfiles, and a # submodule this repository does not resolve for. "rust", - # The userland SDK. It compiles against the ToyOS sysroot and is a path - # dependency of `rust/library/std`, so it keeps its own resolution and - # cannot be a member. It is host-tested all the same — its `lib.rs` is - # `cfg_attr(not(test), no_std)` and `cargo run -- --ci host` runs - # `cargo test` in it against the host triple. - "toyos", + # The C library, built into a sysroot with `--release` and its own + # `panic = "abort"` profile, which cargo ignores in a member; its lock is one + # of the sysroot key's inputs (`src/sysroot.rs`). + "userland/libc", # Guest programs `src/build.rs` builds for `x86_64-unknown-toyos`, each from - # its own directory but `tls-multi-crate/dep`, its parent's dependency. Named, - # and not `tests/` whole, so the gate finds a host test under `tests/` that - # joined neither list. + # its own directory but `tls-multi-crate/dep`, its parent's dependency: the + # first patches memmap2 and `tls-cranelift` target-lexicon, and a `[patch]` + # is the whole workspace's. Named, and not `tests/` whole, so the gate finds + # a host test under `tests/` that joined neither list. "tests/toyos-rust-tests", "tests/toyos-rust-tests/tls-cranelift", "tests/toyos-rust-tests/tls-dlopen-lib", @@ -101,7 +135,8 @@ exclude = [ "tests/toyos-rust-tests/tls-multi-crate", "tests/toyos-rust-tests/tls-multi-crate/dep", # A host judge: a second implementation, whose dependency graph is not the - # harness's to resolve (`src/build.rs`, `build_host_judges`). + # harness's to resolve (`src/build.rs`, `build_host_judges`). It takes + # upstream tokio, where the `[patch]` below names the fork. "tests/ssh-client-host", ] @@ -201,22 +236,56 @@ toyos-xhci = { path = "toyos-xhci" } [patch.crates-io] loom = { git = "https://github.com/ToyOSOrg/loom", branch = "toyos" } +# ToyOS's own crates: the forks below depend on these by version so they can be +# consumed as git dependencies (a path escaping the fork's own repo cannot +# resolve once cargo checks it out alone). These redirects keep local builds +# on the working tree. +toyos-abi = { path = "toyos-abi" } +toyos = { path = "toyos" } +toyos-window = { path = "userland/toyos-window" } +getrandom = { git = "https://github.com/ToyOSOrg/getrandom", branch = "toyos-0.2-sdk-0.12", package = "getrandom" } +getrandom_03 = { git = "https://github.com/ToyOSOrg/getrandom", branch = "toyos-0.3-sdk-0.12", package = "getrandom" } +getrandom_04 = { git = "https://github.com/ToyOSOrg/getrandom", branch = "toyos-0.4", package = "getrandom" } +mio = { git = "https://github.com/ToyOSOrg/mio", branch = "toyos" } +tokio = { git = "https://github.com/ToyOSOrg/tokio", branch = "toyos" } +russh = { git = "https://github.com/ToyOSOrg/russh", branch = "toyos" } +russh-cryptovec = { git = "https://github.com/ToyOSOrg/russh", branch = "toyos" } +socket2 = { git = "https://github.com/ToyOSOrg/socket2", branch = "toyos" } +raw-window-handle = { git = "https://github.com/ToyOSOrg/raw-window-handle", branch = "toyos-0.6.2" } +cpal = { git = "https://github.com/ToyOSOrg/cpal", branch = "toyos-0.18.0" } +softbuffer = { git = "https://github.com/ToyOSOrg/softbuffer", branch = "toyos-0.4.8" } +winit = { git = "https://github.com/ToyOSOrg/winit", branch = "toyos-0.30.13" } + +# The one profile every guest binary is built with. +# Optimised, because an unoptimised guest mismeasures everything under TCG; +# debug-assertions and overflow-checks on, because fail-fast beats speed here. +# `--release` would turn the last two off silently. +# +# `incremental` stays at the dev default (on), which switches rustc's MIR +# inliner off for every guest crate — LLVM inlines regardless, and a +# non-incremental kernel edit loop measures 4-10x the wall clock. A codegen +# backend with no inliner of its own (cranelift) reopens that trade. +[profile.toyos] +inherits = "dev" +opt-level = 2 +debug = true +# DWARF stays out of the image: symbols name a frame, and `debug = true` is kept +# for the codegen it decides. +strip = "debuginfo" +debug-assertions = true +overflow-checks = true [profile.release] opt-level = 2 # The test harness is a compute-bound host program, not a debug build of the # thing under test: it decodes a 2.07 M-pixel screendump per poll and formats a -# 300 MB disk image per boot. Nothing here is cross-compiled — the kernel, -# bootloader and userland are separate cargo invocations with their own -# profiles, and are excluded from this workspace. `debug` stays on (the dev +# 300 MB disk image per boot. No guest is built with this: the kernel, the +# loader and userland take `[profile.toyos]`. `debug` stays on (the dev # default), so LLDB still works on it. # -# It reaches every member now rather than the harness alone, and that is a gain -# rather than a side effect: the host suite's warm wall clock went from 111 s -# over sixteen invocations to 34 s over one, measured on the dev host, and -# almost all of the difference is the members' tests no longer running at -# `opt-level = 0`. Nothing fail-fast is traded for it — `opt-level` does not +# It reaches every member's host tests rather than the harness alone. Nothing +# fail-fast is traded for it — `opt-level` does not # touch `debug-assertions`, which cargo still passes as `on` (checked with # `cargo build -p toyos-fat32 -v`), and rustc derives `overflow-checks` from # that. diff --git a/bootloader/.cargo/config.toml b/bootloader/.cargo/config.toml deleted file mode 100644 index 735bb7845af..00000000000 --- a/bootloader/.cargo/config.toml +++ /dev/null @@ -1,16 +0,0 @@ -[build] -target = "x86_64-unknown-uefi" -rustflags = [ - "-Dwarnings", - "-Cforce-frame-pointers=yes", - # `ed25519-dalek`'s field arithmetic in plain 64-bit integers: its default - # on x86-64 is the AVX2 backend, which this soft-float target has no - # registers for. - "--cfg=curve25519_dalek_backend=\"serial\"", - # `/Brepro` stamps the image with a hash of itself rather than the clock, - # and `/DEBUG:NONE` writes no PDB, whose GUID the image would otherwise - # carry and whose contents name the target directory: without both, two - # builds of one tree are two images. - "-Clink-arg=/Brepro", - "-Clink-arg=/DEBUG:NONE", -] diff --git a/bootloader/Cargo.lock b/bootloader/Cargo.lock deleted file mode 100644 index 38d15ac36a8..00000000000 --- a/bootloader/Cargo.lock +++ /dev/null @@ -1,393 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "bcachefs" -version = "0.1.0" - -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - -[[package]] -name = "bitflags" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bootloader" -version = "0.1.0" -dependencies = [ - "bcachefs", - "sha2", - "toyos-abi", - "toyos-acpi", - "toyos-blackbox", - "toyos-bootmap", - "toyos-elf", - "toyos-gpt", - "toyos-rootimage", - "toyos-tco", - "toyos-tsc", - "toyos-update", - "toyos-wallclock", - "uefi", - "uefi-services", -] - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest", - "fiat-crypto", - "rustc_version", - "subtle", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" -dependencies = [ - "curve25519-dalek", - "ed25519", - "sha2", - "subtle", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "libc" -version = "0.2.190" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" - -[[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" - -[[package]] -name = "proc-macro2" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "ptr_meta" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "quote" -version = "1.0.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "semver" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[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.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "toyos-abi" -version = "0.16.0" - -[[package]] -name = "toyos-acpi" -version = "0.1.0" -dependencies = [ - "toyos-abi", - "toyos-bootmap", -] - -[[package]] -name = "toyos-blackbox" -version = "0.1.0" - -[[package]] -name = "toyos-bootmap" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-elf" -version = "0.1.0" - -[[package]] -name = "toyos-gpt" -version = "0.1.0" - -[[package]] -name = "toyos-rootimage" -version = "0.1.0" - -[[package]] -name = "toyos-tco" -version = "0.1.0" - -[[package]] -name = "toyos-tsc" -version = "0.1.0" - -[[package]] -name = "toyos-update" -version = "0.1.0" -dependencies = [ - "ed25519-dalek", - "sha2", -] - -[[package]] -name = "toyos-wallclock" -version = "0.1.0" - -[[package]] -name = "typenum" -version = "1.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" - -[[package]] -name = "ucs2" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad643914094137d475641b6bab89462505316ec2ce70907ad20102d28a79ab8" -dependencies = [ - "bit_field", -] - -[[package]] -name = "uefi" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ead9f748a4646479b850add36b527113a80e80a7e0f44d7b0334291850dcc5" -dependencies = [ - "bitflags", - "log", - "ptr_meta", - "ucs2", - "uefi-macros", - "uefi-raw", - "uguid", -] - -[[package]] -name = "uefi-macros" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26a7b1c2c808c3db854a54d5215e3f7e7aaf5dcfbce095598cba6af29895695d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "uefi-raw" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "864ac69eadd877bfb34e7814be1928122ed0057d9f975169a56ee496aa7bdfd7" -dependencies = [ - "bitflags", - "ptr_meta", - "uguid", -] - -[[package]] -name = "uefi-services" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79fcb420624743c895bad0f9480fbc2f64e7c8d8611fb1ada6bdd799942feb4" -dependencies = [ - "cfg-if", - "log", - "uefi", -] - -[[package]] -name = "uguid" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab14ea9660d240e7865ce9d54ecdbd1cd9fa5802ae6f4512f093c7907e921533" - -[[package]] -name = "unicode-ident" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" diff --git a/bootloader/Cargo.toml b/bootloader/Cargo.toml index 7b4ca6d8b21..961a994f34c 100644 --- a/bootloader/Cargo.toml +++ b/bootloader/Cargo.toml @@ -41,15 +41,3 @@ sha2 = { version = "0.10", default-features = false, features = ["force-soft"] } # entry pointing at this image is found among the firmware's own variables. uefi = { version = "0.26.0", default-features = false, features = ["alloc"] } uefi-services = { version = "0.23.0", features = ["panic_handler", "logger"] } - -# The one profile every guest binary is built with. Optimised, because an -# unoptimised guest mismeasures everything under TCG; -# debug-assertions and overflow-checks on, because fail-fast beats speed here. -# `--release` would turn the last two off silently. -[profile.toyos] -inherits = "dev" -opt-level = 2 -debug = true -strip = "debuginfo" -debug-assertions = true -overflow-checks = true diff --git a/bootloader/rust-toolchain.toml b/bootloader/rust-toolchain.toml deleted file mode 100644 index b58d6aa2bd1..00000000000 --- a/bootloader/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -targets = ["x86_64-unknown-uefi", "aarch64-unknown-uefi"] diff --git a/issues/cargo-run-inside-kernel-loom-or-kernel-sim-builds-for-a-bare-target.md b/issues/cargo-run-inside-kernel-loom-or-kernel-sim-builds-for-a-bare-target.md deleted file mode 100644 index 11e9e3c3780..00000000000 --- a/issues/cargo-run-inside-kernel-loom-or-kernel-sim-builds-for-a-bare-target.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -status: assigned -kind: tooling -opened: 2026-10-03 ---- - -# Cargo run inside `kernel/loom` or `kernel/sim` builds for a bare target - -Cargo reads `.cargo/config.toml` from the working directory up, so a `cargo -test` run inside `kernel/loom` or `kernel/sim` takes `kernel/.cargo/config.toml`'s -`build.target = "x86_64-unknown-none"` and its `rustflags`. Run from the -repository root, `-p kernel-loom` and `-p kernel-sim` build for the host, which -is how `--ci host` runs them. - -**Evidence:** inside each, `cargo test --no-run` exits 101 on `can't find crate -for std` and `the x86_64-unknown-none target may not support the standard -library`: in `kernel/loom` on loom's own dependencies (`scoped-tls`, `log`, -`once_cell`), in `kernel/sim` on `getrandom`. A `.cargo/config.toml` of the -package's own with `build.target = "host-tuple"` overrides it (measured on -cargo 1.98.1), but builds into `target//` with the kernel's -`rustflags`: a second build of every crate the root's run builds. - -**Exit:** `cargo test` run inside `kernel/loom` and inside `kernel/sim` builds -for the host and is green. Held by the orchestrator, who put both under -`kernel/`. diff --git a/issues/kernel-functions-return-with-their-used-registers-intact.md b/issues/kernel-functions-return-with-their-used-registers-intact.md index 4d0c55f4928..98c84c087cf 100644 --- a/issues/kernel-functions-return-with-their-used-registers-intact.md +++ b/issues/kernel-functions-return-with-their-used-registers-intact.md @@ -7,7 +7,7 @@ opened: 2026-09-29 # Kernel functions return with their used registers intact The kernel is built with no option that zeroes call-used registers on return -(`kernel/.cargo/config.toml`), so every function leaves its scratch values in +(`.cargo/config.toml`), so every function leaves its scratch values in the registers its caller and the next gadget see. Linux at `Ubuntu-6.8.0-142.142`, under the T14's `CONFIG_ZERO_CALL_USED_REGS=y`, builds with `-fzero-call-used-regs=used-gpr` (`Makefile:891-894`). LLVM acts diff --git a/issues/mio-deregister-fd-leaves-a-pending-poll-live.md b/issues/mio-deregister-fd-leaves-a-pending-poll-live.md index 3d87f16d7d6..15f301faffa 100644 --- a/issues/mio-deregister-fd-leaves-a-pending-poll-live.md +++ b/issues/mio-deregister-fd-leaves-a-pending-poll-live.md @@ -7,7 +7,7 @@ opened: 2026-08-16 # mio's ToyOS selector deregisters a token but not the kernel's poll on it `mio/src/sys/toyos/selector.rs` in the mio fork (currently pinned at `e8068c2`, -`userland/Cargo.lock`) keeps its own registration list rather than asking the +`Cargo.lock`) keeps its own registration list rather than asking the kernel to track interest: ```rust diff --git a/issues/sshserver-still-speaks-rsa.md b/issues/sshserver-still-speaks-rsa.md index 339fe499ae4..ecc9f78face 100644 --- a/issues/sshserver-still-speaks-rsa.md +++ b/issues/sshserver-still-speaks-rsa.md @@ -12,5 +12,5 @@ attack, RUSTSEC-2023-0071) in its private-key operations. sshd's host key is Ed25519, so those operations never run here, but RSA is code with no use: only client keys could still be RSA, and a modern client offers Ed25519. -**Exit**: the feature is off, `rsa` is gone from `userland/Cargo.lock`, and a +**Exit**: the feature is off, `rsa` is gone from `Cargo.lock`, and a test shows an RSA client key refused by name. diff --git a/issues/the-aarch64-kernel-builds-with-dead-code-allowed.md b/issues/the-aarch64-kernel-builds-with-dead-code-allowed.md index f745729fbac..853ec1ca5aa 100644 --- a/issues/the-aarch64-kernel-builds-with-dead-code-allowed.md +++ b/issues/the-aarch64-kernel-builds-with-dead-code-allowed.md @@ -6,7 +6,7 @@ opened: 2026-09-26 # The AArch64 kernel builds with dead code allowed, blanket -`kernel/.cargo/config.toml` gives `aarch64-unknown-none-softfloat` +`.cargo/config.toml` gives `aarch64-unknown-none-softfloat` `-Adead_code -Aunfulfilled_lint_expectations`: until the syscall gate, the interrupt controller and the scheduler have a way in, every item only they reach is unreachable on AArch64. The allowance covers the whole kernel, so a diff --git a/issues/the-host-job-runs-the-toolchain-the-runner-ships.md b/issues/the-host-job-runs-the-toolchain-the-runner-ships.md index a221e5731b3..3ecf97592e4 100644 --- a/issues/the-host-job-runs-the-toolchain-the-runner-ships.md +++ b/issues/the-host-job-runs-the-toolchain-the-runner-ships.md @@ -8,9 +8,7 @@ opened: 2026-09-03 `35383398^:.github/workflows/host-tests.yml`'s `host` job installs no Rust toolchain: it runs `rustc -vV; cargo -V; rustup component add clippy` on whatever -ships that day, and there is no root `rust-toolchain.toml` — -only `kernel/`, `bootloader/` and `userland/` pin one, each to a target list -and none to a version. +ships that day, and no `rust-toolchain.toml` is tracked outside `rust/`. Measured by the #382 review, same restored cache (`host-macOS-ece3092cdf5b…`), same job, back to back: diff --git a/issues/the-sdk-is-linted-by-no-clippy-run.md b/issues/the-sdk-is-linted-by-no-clippy-run.md new file mode 100644 index 00000000000..51faa63d086 --- /dev/null +++ b/issues/the-sdk-is-linted-by-no-clippy-run.md @@ -0,0 +1,24 @@ +--- +status: open +kind: tooling +opened: 2026-10-07 +--- + +# The SDK is linted by no clippy run + +`toyos` is a workspace member that no shape in `src/clippy.rs` builds: +`src/hostws.rs` counts it among the members built for a guest, so the +workspace shapes exclude it, and it has no shape of its own. `--ci host` +tests it and lints none of it. + +`cargo clippy -p toyos --all-targets -- -D warnings` on the host exits 101 +with 12 findings: `new_without_default` on `fs::Request`, +`manual_range_contains`, `len_without_is_empty` on `IpcHeader`, three +`chunks_exact` with a constant size, four manual `is_multiple_of`, the +disallowed `core::mem::forget`, and one byte-string literal in a test. + +Each fix edits `toyos/src`, which is one of a sysroot's sources. + +Owner: the build system (`src/clippy.rs`, `src/hostws.rs`). + +Exit: a shape lints `toyos` for the host, and it is clean. diff --git a/issues/the-ssh-judge-runs-the-servers-own-russh.md b/issues/the-ssh-judge-runs-the-servers-own-russh.md index 1e0f080bfcd..75fde08f336 100644 --- a/issues/the-ssh-judge-runs-the-servers-own-russh.md +++ b/issues/the-ssh-judge-runs-the-servers-own-russh.md @@ -10,7 +10,7 @@ opened: 2026-10-04 keeps it out of the workspace as "a second implementation". It is not one: it takes `russh` from `https://github.com/ToyOSOrg/russh`, branch `toyos`, and its lock pins commit `389804d3b9908250282746c934c58c059b88fb7e`, the same -commit `userland/Cargo.lock` pins for `sshserver` through userland's +commit `Cargo.lock` pins for `sshserver` through the root `[patch]`. A defect in the fork's protocol code is on both ends of every SSH test, and the two can agree on it. diff --git a/issues/the-sysroots-core-and-alloc-carry-the-compiler-profiles-debug-assertions.md b/issues/the-sysroots-core-and-alloc-carry-the-compiler-profiles-debug-assertions.md index 2034a36b2eb..c0fe0b082f3 100644 --- a/issues/the-sysroots-core-and-alloc-carry-the-compiler-profiles-debug-assertions.md +++ b/issues/the-sysroots-core-and-alloc-carry-the-compiler-profiles-debug-assertions.md @@ -19,7 +19,7 @@ passes it to the library crates' cargo profile are built without. The libraries' assertions were never chosen: `std_config`'s doc comment takes the profile so the libraries are built as the compiler was. The guest profile keeps debug assertions on in ToyOS's own code "because -fail-fast beats speed here" (`kernel/Cargo.toml`, `userland/Cargo.toml`); whether the libraries should too is the decision nobody +fail-fast beats speed here" (the root `Cargo.toml`); whether the libraries should too is the decision nobody made. So every kernel and program ships `alloc`'s and `core`'s `debug_assert!`s, diff --git a/issues/the-tokio-forks-root-manifest-patches-mio.md b/issues/the-tokio-forks-root-manifest-patches-mio.md index 355a713d3b1..b11bdbb1b19 100644 --- a/issues/the-tokio-forks-root-manifest-patches-mio.md +++ b/issues/the-tokio-forks-root-manifest-patches-mio.md @@ -6,16 +6,16 @@ opened: 2026-09-29 # The tokio fork's root manifest patches `mio` onto the mio fork -`userland/Cargo.lock` pins `ToyOSOrg/tokio` branch `toyos` at `d6c5691c`. Its +`Cargo.lock` pins `ToyOSOrg/tokio` branch `toyos` at `d6c5691c`. Its workspace root `Cargo.toml` adds `mio = { git = "https://github.com/Japabu/mio", branch = "toyos" }` to `[patch.crates-io]` (`git diff d7db722b d6c5691c -- Cargo.toml`; `Japabu/mio` now redirects to `ToyOSOrg/mio`). A consumer resolves tokio through -`tokio/Cargo.toml` under its own `[patch]` — `userland/Cargo.toml` names +`tokio/Cargo.toml` under its own `[patch]` — the root `Cargo.toml` names `ToyOSOrg/mio` — so the entry acts only on a build inside the tokio repository, and no upstream pull request could carry it. **Owner**: the tokio fork. -**Exit**: the entry is off the `toyos` branch, and `userland/Cargo.lock` is +**Exit**: the entry is off the `toyos` branch, and `Cargo.lock` is re-pinned onto it. diff --git a/issues/the-toolkit-forks-resolve-an-x86-only-toyos-window.md b/issues/the-toolkit-forks-resolve-an-x86-only-toyos-window.md index 5e5b936bebb..51af62dba18 100644 --- a/issues/the-toolkit-forks-resolve-an-x86-only-toyos-window.md +++ b/issues/the-toolkit-forks-resolve-an-x86-only-toyos-window.md @@ -7,7 +7,7 @@ opened: 2026-09-26 # The toolkit forks resolve an x86-only toyos-window, so calc, snake and doom do not build for AArch64 `softbuffer`'s and `winit`'s toyos forks (the `…-sdk-0.2` branches -`userland/Cargo.toml` patches in) name `toyos-window = "0.2"`, and cargo +the root `Cargo.toml` patches in) name `toyos-window = "0.2"`, and cargo resolves that to the published `toyos-window 0.2.0`, not to the path crate: the `[patch]` redirect only applies to a compatible version. That release's `framebuffer.rs` calls `core::arch::x86_64::_mm_sfence` unconditionally, so it diff --git a/issues/the-tree-resolves-in-five-cargo-locks-not-one.md b/issues/the-tree-resolves-in-five-cargo-locks-not-one.md deleted file mode 100644 index 026923d1e69..00000000000 --- a/issues/the-tree-resolves-in-five-cargo-locks-not-one.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -status: assigned -kind: track -opened: 2026-10-04 ---- - -# The tree resolves in five Cargo locks, not one - -The root, `kernel/`, `bootloader/`, `userland/` and `toyos/` are five -Cargo resolutions with five locks, and three of them declare their own -`[profile.toyos]`. A -crate two of them share is tested on the host against the root's lock and -shipped from another's. The locks agree on versions: no registry pair of the -five sits below the highest version another of them carries in the same -semver range. - -**The owner ruled on 2026-10-04.** Asked "Merge everything into one Cargo -workspace (after small version-alignment steps; proven by byte-identical -kernel and loader)?", he chose "Yes, one workspace (Recommended)": "One -lockfile, one profile, shared crates tested as shipped; about 35 version -alignments land first." - -**Owner:** the orchestrator. Everything below is the orchestrator's plan and -its measurements, not the ruling. - -**Exit:** one workspace and one lock at the root replace the five. The step -that merges them moves no version: its lock's name and version pairs are the -union of the aligned locks, and the kernel and the loader, both arches, are -byte-identical to the build of the last alignment before it. The root -`.cargo/config.toml` is tracked, which `.gitignore` ignores today and where -`.claude/agents/implementer.md` has agents list fork clones, so the merge -moves that instruction; no `rust-toolchain.toml` is tracked outside `rust/`, -since step 1 of the rule in `issues/the-tree-says-who-uses-each-thing.md` -names none. The alignments -landed first, each in today's workspace: pull request #724 aligned the root -and kernel locks, #732 the userland lock, and the third the loader's lock and -its profile's `strip`, so that the three `[profile.toyos]` tables are one. - -**Constraints, measured** on a scratch workspace seeded from the five locks -at `8b4f88446`, by type-check and one loader link, with no boot: - -- One lock holds one version per semver range, so every pair below its - range's maximum moves up to it. At `8b4f88446` that was 35: the 29 below - the maximum then (userland 18, loader 7, root 3, kernel 1), the 3 that - userland's moves pull with them (`ureq-proto`, `utf-8`, `zeroize_derive`), - and the root's registry `getrandom` 0.2, 0.3 and 0.4, which become the forks - userland patches in at the same versions. Those three move no version: they - follow from the root `[patch]` and land with it. -- `userland/Cargo.lock` carries `miniz_oxide` 0.8.9, for `png` 0.18.1, - beside 0.9.1, for `flate2` 1.1.10. Built with only `flate2` back at 1.1.9, - compositor and files are 204 to 228 bytes of text smaller on x86_64 and - 704 on aarch64, and in neither build does a symbol of a third - `miniz_oxide` ship in them: `flate2`'s and std's are the two they carry. - Exit: `png` takes `miniz_oxide` 0.9. -- Every fork commit the five locks pin stays pinned, and the crypto - pre-releases (`ed25519-dalek 3.0.0-pre.6`, `pkcs5 0.8.0-rc.13`) are only in - `userland/Cargo.lock` and stay. -- `[patch]` is workspace-wide. `tests/toyos-rust-tests` patches memmap2, - `tests/toyos-rust-tests/tls-cranelift`, a resolution with its own lock, - patches target-lexicon, and `tests/ssh-client-host` takes upstream tokio, - so all three stay outside the workspace. -- The guest triples' flags stay per triple: with no - `[target.x86_64-unknown-uefi]` table, `curve25519-dalek-derive` enters the - x86_64 loader's graph. diff --git a/issues/the-tree-says-who-uses-each-thing.md b/issues/the-tree-says-who-uses-each-thing.md index 8bb1997f879..07e68c8d47b 100644 --- a/issues/the-tree-says-who-uses-each-thing.md +++ b/issues/the-tree-says-who-uses-each-thing.md @@ -182,10 +182,8 @@ tree's top level: `.cargo`, `.claude`, `.github`, `.gitignore`, `kernel/TECHNICAL_DEBT.md` are gone. **Exit:** every tracked `[package]` outside `rust/` has a `description` line. 1. **A flat tracker.** Landed in #723. -2. **Version alignment** in today's workspaces: - `issues/the-tree-resolves-in-five-cargo-locks-not-one.md`. -3. **One workspace:** `issues/the-tree-resolves-in-five-cargo-locks-not-one.md`. - **Exit:** that file's. +2. **Version alignment.** Landed in #724, #732 and #738. +3. **One workspace.** Landed in #746. 4. **std off repository paths:** `issues/std-names-the-sdk-crates-by-path.md`. **Exit:** that file's. 5. **`sdk/`:** abi, toyos, keymap, font, window, filepicker and libc (with diff --git a/issues/toyos-has-its-own-allocator.md b/issues/toyos-has-its-own-allocator.md index dc1b7c2998f..24c9984f20b 100644 --- a/issues/toyos-has-its-own-allocator.md +++ b/issues/toyos-has-its-own-allocator.md @@ -36,7 +36,7 @@ Owner: the orchestrator. **Exit**: no heap growth allocates or zeroes a 2 MiB page inside the kernel heap's lock; the kernel allocates through ToyOS's allocator, and `dlmalloc`, `libc`, `windows-sys` and `windows-link` are gone from `kernel/Cargo.toml` and -`kernel/Cargo.lock`, with `build::tests::the_kernel_resolves_no_libc_for_either_target` +from the kernel's graph in `Cargo.lock`, with `build::tests::the_kernel_resolves_no_libc_for_either_target` (`src/build.rs`) deleted in the same pull request; ToyOS's std allocates through the std front, measured against `dlmalloc` before it is swapped in; and the ruled bar holds, read by the benchmarks' portable Rust runner, which diff --git a/issues/toyos-has-its-own-network-stack.md b/issues/toyos-has-its-own-network-stack.md index e8d976c9d06..2a8ee1a0227 100644 --- a/issues/toyos-has-its-own-network-stack.md +++ b/issues/toyos-has-its-own-network-stack.md @@ -13,7 +13,7 @@ netd runs smoltcp. Its replacement is ToyOS's own stack, built clean-room: reade - Stage 2: `toyos-net-tcp`. - Stage 3: `toyos-net-ip`, `toyos-net-udp`, `toyos-dhcp`. - Stage 4: `toyos-net-shard` and `toyos-net-testnet`. -- Stage 5: netd on one shard, pipe ABI unchanged; smoltcp leaves netd, `Cargo.toml` and `userland/Cargo.lock` in the same PR. +- Stage 5: netd on one shard, pipe ABI unchanged; smoltcp leaves netd, `Cargo.toml` and `Cargo.lock` in the same PR. - Then multi-core, netring (blocked on the owner's ABI ruling), TCP and IP hardening, IPv6, offloads, soak. The listener defects are this track's: `issues/a-handshake-nobody-finishes-holds-a-listeners-port-shut.md` and `issues/a-connect-between-two-accepts-is-reset.md`, on smoltcp until stage 5, and `issues/an-accept-that-never-reaches-netstack-strands-its-listener.md`, in std's accept. diff --git a/issues/two-checkouts-of-one-tree-build-different-guest-bytes.md b/issues/two-checkouts-of-one-tree-build-different-guest-bytes.md index e6b4f674948..69ed7452906 100644 --- a/issues/two-checkouts-of-one-tree-build-different-guest-bytes.md +++ b/issues/two-checkouts-of-one-tree-build-different-guest-bytes.md @@ -9,16 +9,19 @@ opened: 2026-09-26 Self-hosting is ToyOS rebuilding itself and reproducing the host's bytes, and the host does not yet reproduce its own across checkout paths. The same sources copied to two paths and built with the same sysroot, profile and -linker gave three different kernels, bootloaders and `snake`s; the same path -built twice into two target directories gave identical ones. The LLVM is held +linker gave three different kernels and `snake`s; the same path built twice +into two target directories gave identical ones. The LLVM is held fixed here: two builds of one LLVM key differing is `issues/two-builds-of-one-llvm-key-differ-in-their-bytes.md`. -- The kernel and the bootloader carry each path dependency's absolute source - path in their panic locations (55 strings in the kernel, 13 in the - bootloader, measured with `strings`). -- `snake` carries no path, and still differs: 203 local symbols' `.llvm.` - suffixes, which LLVM derives from the module's identity. +- The kernel carries no path and differs, on both architectures, in nothing + `strings` shows but local symbols' `.llvm.` suffixes, which LLVM derives + from the module's identity: 2362 symbols on x86_64 and 2093 on AArch64. +- `snake` carries no path, and still differs the same way: 203 symbols. +- The bootloader is byte-identical at two paths, on both architectures. It + and the kernel carried each path dependency's absolute source path in their + panic locations while each was its own workspace root; in one workspace + cargo hands rustc every path package's source relative to the root. Nothing remaps either: no `--remap-path-prefix`, no `trim-paths`. Until both are path-independent a Linux build and a macOS build cannot be compared either, diff --git a/kernel/.cargo/config.toml b/kernel/.cargo/config.toml deleted file mode 100644 index 2f1e7ae3096..00000000000 --- a/kernel/.cargo/config.toml +++ /dev/null @@ -1,18 +0,0 @@ -[build] -target = "x86_64-unknown-none" -rustflags = ["-Dwarnings", "-Cforce-frame-pointers=yes"] - -# A target's own `rustflags` replace `build.rustflags`, so both flags repeat. -# `-Adead_code` is the AArch64 port's declared debt: until its stage 7 gives -# the syscall gate, the interrupt controller and the scheduler a way in, every -# item only those reach is unreachable there and nowhere else — and an -# `#[expect(dead_code)]` cannot be met under it, hence the second `-A`. Exit: -# both go when `issues/toyos-runs-on-arm64.md`'s stage 7 lands. The -# loader takes a static PIE at base 0 (`ET_DYN`, `R_AARCH64_RELATIVE` only), -# which rust-lld makes of the target's static-model code with `-pie`: `-z -# notext` lets absolute words stay in read-only sections, which the loader -# relocates before anything runs. Position-independent codegen is not an -# option: it reaches symbols through GOT slots holding virtual addresses, -# which the entry cannot use while the MMU is off. -[target.aarch64-unknown-none-softfloat] -rustflags = ["-Dwarnings", "-Cforce-frame-pointers=yes", "-Adead_code", "-Aunfulfilled_lint_expectations", "-Clink-arg=-pie", "-Clink-arg=-znotext"] diff --git a/kernel/Cargo.lock b/kernel/Cargo.lock deleted file mode 100644 index 2844d0ed557..00000000000 --- a/kernel/Cargo.lock +++ /dev/null @@ -1,209 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "bcachefs" -version = "0.1.0" - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "dlmalloc" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f5b01c17f85ee988d832c40e549a64bd89ab2c9f8d8a613bdf5122ae507e294" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "hashbrown" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" - -[[package]] -name = "kernel" -version = "0.1.0" -dependencies = [ - "bcachefs", - "dlmalloc", - "hashbrown", - "toyos-abi", - "toyos-acpi", - "toyos-blackbox", - "toyos-blockhold", - "toyos-bootmap", - "toyos-cpuvuln", - "toyos-dma", - "toyos-elf", - "toyos-elide", - "toyos-fat32", - "toyos-gicv3", - "toyos-gpt", - "toyos-hda", - "toyos-pci", - "toyos-ps2", - "toyos-quiesce", - "toyos-rootimage", - "toyos-symbols", - "toyos-tco", - "toyos-tsc", - "toyos-untrusted", - "toyos-userbound", - "toyos-wallclock", - "toyos-xhci", -] - -[[package]] -name = "libc" -version = "0.2.190" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" - -[[package]] -name = "rustc-demangle" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" - -[[package]] -name = "toyos-abi" -version = "0.16.0" - -[[package]] -name = "toyos-acpi" -version = "0.1.0" -dependencies = [ - "toyos-abi", - "toyos-bootmap", -] - -[[package]] -name = "toyos-blackbox" -version = "0.1.0" - -[[package]] -name = "toyos-blockhold" -version = "0.1.0" - -[[package]] -name = "toyos-bootmap" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-cpuvuln" -version = "0.1.0" - -[[package]] -name = "toyos-dma" -version = "0.1.0" - -[[package]] -name = "toyos-elf" -version = "0.1.0" - -[[package]] -name = "toyos-elide" -version = "0.1.0" - -[[package]] -name = "toyos-fat32" -version = "0.1.0" -dependencies = [ - "toyos-wallclock", -] - -[[package]] -name = "toyos-gicv3" -version = "0.1.0" - -[[package]] -name = "toyos-gpt" -version = "0.1.0" - -[[package]] -name = "toyos-hda" -version = "0.1.0" - -[[package]] -name = "toyos-pci" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-ps2" -version = "0.1.0" - -[[package]] -name = "toyos-quiesce" -version = "0.1.0" - -[[package]] -name = "toyos-rootimage" -version = "0.1.0" - -[[package]] -name = "toyos-symbols" -version = "0.1.0" -dependencies = [ - "rustc-demangle", - "toyos-abi", - "toyos-elf", - "toyos-elide", -] - -[[package]] -name = "toyos-tco" -version = "0.1.0" - -[[package]] -name = "toyos-tsc" -version = "0.1.0" - -[[package]] -name = "toyos-untrusted" -version = "0.1.0" - -[[package]] -name = "toyos-userbound" -version = "0.1.0" -dependencies = [ - "toyos-abi", - "toyos-bootmap", -] - -[[package]] -name = "toyos-wallclock" -version = "0.1.0" - -[[package]] -name = "toyos-xhci" -version = "0.1.0" - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml index 5af70ccd801..fbe1e56b174 100644 --- a/kernel/Cargo.toml +++ b/kernel/Cargo.toml @@ -466,25 +466,6 @@ entry-df-unclean = [] pass-spin = [] heap-lockspin = ["pass-spin"] -# The one profile every guest binary is built with. -# Optimised, because an unoptimised guest mismeasures everything under TCG; -# debug-assertions and overflow-checks on, because fail-fast beats speed here. -# `--release` would turn the last two off silently. -# -# `incremental` stays at the dev default (on), which switches rustc's MIR -# inliner off for every guest crate — LLVM inlines regardless, and a -# non-incremental kernel edit loop measures 4-10x the wall clock. A codegen -# backend with no inliner of its own (cranelift) reopens that trade. -[profile.toyos] -inherits = "dev" -opt-level = 2 -debug = true -# DWARF stays out of the image: symbols name a frame, and `debug = true` is kept -# for the codegen it decides. -strip = "debuginfo" -debug-assertions = true -overflow-checks = true - [lib] path = "pure/lib.rs" diff --git a/kernel/loom/Cargo.toml b/kernel/loom/Cargo.toml index 578f46b90ad..3e57cfcbfda 100644 --- a/kernel/loom/Cargo.toml +++ b/kernel/loom/Cargo.toml @@ -15,13 +15,9 @@ publish = false # them — a transliteration is exactly the divergence risk a model checker is # meant to remove. # -# A separate package, so `loom` and its transitive host crates stay out of -# `kernel/Cargo.lock`: this is a member of the host workspace (root -# `Cargo.toml`) and resolves in `/Cargo.lock`, `kernel/` is excluded from that -# workspace and resolves against `kernel/Cargo.lock`, and nothing the kernel -# builds depends on this package. Cargo runs it from the repository root: run -# below `kernel/`, `kernel/.cargo/config.toml` cross-compiles it to a bare -# target. +# A separate package, so `loom` and its transitive host crates are no +# dependency of the kernel package, and nothing the kernel builds depends on +# this one. [features] default = ["loom"] diff --git a/kernel/pure/sched/sync.rs b/kernel/pure/sched/sync.rs index 813c7efc3c9..eaeb0bc1dfe 100644 --- a/kernel/pure/sched/sync.rs +++ b/kernel/pure/sched/sync.rs @@ -3,9 +3,9 @@ //! atomics for the `kernel-loom` package. //! //! A feature and a second package rather than the usual `--cfg loom`, because -//! a `[target.'cfg(loom)'.dependencies]` entry lands in every lockfile that -//! resolves the kernel — including `kernel/Cargo.lock`, which would gain loom -//! and its 30 transitive host crates. The kernel declares `loom` purely so `cfg` +//! a `[target.'cfg(loom)'.dependencies]` entry is the kernel package's own +//! dependency: loom and its transitive host crates would be edges of the +//! kernel in the lock. The kernel declares `loom` purely so `cfg` //! checking knows the name, and never enables it. #[cfg(not(feature = "loom"))] diff --git a/kernel/rust-toolchain.toml b/kernel/rust-toolchain.toml deleted file mode 100644 index e3ab4867b0a..00000000000 --- a/kernel/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -targets = ["x86_64-unknown-none", "aarch64-unknown-none-softfloat"] diff --git a/src/build.rs b/src/build.rs index 20dea9a07bd..c14988ca787 100644 --- a/src/build.rs +++ b/src/build.rs @@ -195,34 +195,20 @@ fn stale(crate_dir: &Path, identity: &Identity) -> Option { identity.stale(fs::read_to_string(&stamp).ok().as_deref()) } -fn clean(root: &Path, crate_dir: &Path, stale: &Stale, identity: &Identity) { +/// Remove what `stale` names of `crate_dir`'s target directory and stamp it +/// with `identity`. [`Stale::All`] is the guest profile's host half and every +/// guest target's directory: the root's `target/` is also the build system's +/// own, which no sysroot made. +fn clean(crate_dir: &Path, stale: &Stale, identity: &Identity) { let target = crate_dir.join("target"); - let remove = |dirs: &mut dyn Iterator| { - for dir in dirs.filter(|dir| dir.exists()) { - eprintln!("external deps changed: cleaning {}", dir.display()); - crate::keystore::remove(&dir); - } + let all: Vec<&str> = std::iter::once(PROFILE).chain(toolchain::GUEST_TARGETS.map(|t| t.triple())).collect(); + let moved = match stale { + Stale::All => &all, + Stale::Targets(moved) => moved, }; - match stale { - Stale::All => { - // `cargo clean` in a member's directory cleans the whole workspace, - // this build system's own target directory included. Nothing asks - // for that today; refusing it by name is cheaper than finding out. - assert!( - !hostws::is_member(root, crate_dir), - "{} is a host-workspace member, and `cargo clean` there would empty the \ - workspace's whole target directory rather than this crate's", - crate_dir.display(), - ); - eprintln!("external deps changed: cleaning {}", crate_dir.display()); - let status = Command::new("cargo") - .arg("clean") - .current_dir(crate_dir) - .status() - .unwrap_or_else(|e| panic!("run cargo clean in {}: {e}", crate_dir.display())); - assert!(status.success(), "cargo clean in {} exited {status}", crate_dir.display()); - } - Stale::Targets(moved) => remove(&mut moved.iter().map(|t| target.join(t))), + for dir in moved.iter().map(|t| target.join(t)).filter(|dir| dir.exists()) { + eprintln!("external deps changed: cleaning {}", dir.display()); + crate::keystore::remove(&dir); } fs::create_dir_all(&target).unwrap_or_else(|e| panic!("create {}: {e}", target.display())); @@ -236,10 +222,8 @@ fn clean(root: &Path, crate_dir: &Path, stale: &Stale, identity: &Identity) { /// these cleans removes a tree another builder may be compiling into, and /// cargo's own lock cannot cover it — the lock lives at /// `target//.cargo-lock`, inside what the clean deletes. Two processes -/// that each decided before either acted would still both clean, which is the -/// pair of `cargo clean`s that died with ENOENT on each other's files. +/// that each decided before either acted would still both clean. fn invalidate_stale( - root: &Path, lock: &mut buildlock::Held, identity: &Identity, targets: &[PathBuf], @@ -254,27 +238,12 @@ fn invalidate_stale( }, |work| { for (dir, stale) in work { - clean(root, &dir, &stale, identity); + clean(&dir, &stale, identity); } }, ); } -/// Every crate directory whose target directory a config builds into. -fn config_targets(root: &Path, config: &SystemConfig) -> Vec { - let mut targets: Vec = Vec::new(); - for c in config_crates(root, config) { - let target = match c.built { - Built::Kernel | Built::Bootloader => c.dir, - Built::Member => root.join("userland"), - }; - if !targets.contains(&target) { - targets.push(target); - } - } - targets -} - /// Which features the build gives a crate. #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] pub enum Features { @@ -298,12 +267,12 @@ impl Features { } } -/// Where [`build`] runs `cargo build` for one crate of a config. +/// What one crate of a config is to [`build`]. #[derive(Clone, Copy, Debug, PartialEq, Eq)] enum Built { Kernel, Bootloader, - /// A package of the userland workspace, built there with `-p`. + /// A program, built with the others in one `cargo build`. Member, } @@ -320,14 +289,14 @@ struct ConfigCrate { fn config_crates(root: &Path, config: &SystemConfig) -> Vec { let mut crates = vec![ ConfigCrate { - name: "kernel".to_string(), - dir: root.join("kernel"), + name: crate::ci::KERNEL.to_string(), + dir: root.join(crate::ci::KERNEL), built: Built::Kernel, features: Features::AnyDeclared, }, ConfigCrate { - name: "bootloader".to_string(), - dir: root.join("bootloader"), + name: LOADER.to_string(), + dir: root.join(LOADER), built: Built::Bootloader, features: Features::Default, }, @@ -383,6 +352,8 @@ impl GuestEnv { } } +/// `cargo build` in `crate_dir`: the root, for a workspace member `extra_args` +/// names with `-p`, or a crate that keeps its own resolution. fn cargo_build( crate_dir: &Path, target: &str, @@ -839,7 +810,6 @@ fn build_programs( arch: Arch, root_files: &mut Vec<(String, Vec)>, ) { - let userland_dir = root.join("userland"); let target = arch.userland(); let programs: Vec = config_crates(root, config) @@ -863,7 +833,7 @@ fn build_programs( } let workspace_packages: Vec<&str> = programs.iter().map(|c| c.name.as_str()).collect(); - let ws_target = userland_dir.join(format!("target/{target}/{PROFILE}")); + let ws_target = root.join(format!("target/{target}/{PROFILE}")); // Every userland crate that compiles C compiles it with the toolchain's // clang against libc's C sysroot. @@ -873,7 +843,7 @@ fn build_programs( // Build and read under one hold, exactly as `build_toyos_bins` does and for // the same reason: a program's path is keyed on (crate, target, profile) // alone, so every config in this run writes and reads the same - // `userland/target/.../toybox`. Cargo's own lock orders the two *builds* and + // `target/.../toybox`. Cargo's own lock orders the two *builds* and // says nothing about a read between them — `ioapic_topology` died on // `Failed to read binary for toybox` while another worker's config was // relinking it, and was green the moment it was re-run alone. @@ -884,7 +854,7 @@ fn build_programs( extra.push("-p"); extra.push(pkg); } - cargo_build(&userland_dir, target, &extra, env, &cc_env, quiet); + cargo_build(root, target, &extra, env, &cc_env, quiet); } for c in &programs { @@ -1658,6 +1628,18 @@ fn assert_sched_check_matches_features(features: &str, kernel: &[u8]) { ); } +/// The loader's package. +const LOADER: &str = "bootloader"; + +/// Build the kernel with `features`, comma-separated. +fn build_kernel(root: &Path, arch: Arch, features: &str, env: &GuestEnv, quiet: bool) { + let mut args = vec!["-p", crate::ci::KERNEL]; + if !features.is_empty() { + args.extend(["--features", features]); + } + cargo_build(root, arch.kernel(), &args, env, &[], quiet); +} + /// Stage the freshly built kernel under its feature key, read it back, and run /// every artifact assertion against it — returning the certified bytes. /// @@ -1674,7 +1656,7 @@ fn assert_sched_check_matches_features(features: &str, kernel: &[u8]) { fn stage_loader(root: &Path, arch: Arch, env: &GuestEnv) -> PathBuf { stage_artifact( root, - &root.join(format!("bootloader/target/{}/{PROFILE}/bootloader.efi", arch.loader())), + &root.join(format!("target/{}/{PROFILE}/bootloader.efi", arch.loader())), &format!("bootloader-{}.efi", arch.name()), loader_key(arch, &env.image_key, env.floor_scope), ) @@ -1683,7 +1665,7 @@ fn stage_loader(root: &Path, arch: Arch, env: &GuestEnv) -> PathBuf { fn stage_and_certify_kernel(root: &Path, features: &str, env: &GuestEnv, arch: Arch) -> Vec { let staged = stage_artifact( root, - &root.join(format!("kernel/target/{}/{PROFILE}/kernel", arch.kernel())), + &root.join(format!("target/{}/{PROFILE}/kernel", arch.kernel())), &format!("kernel-{}", arch.name()), kernel_key(arch, features), ); @@ -1784,7 +1766,7 @@ fn shipped_parts(root: &Path, boot: &Boot, plan: &Plan) -> (Vec, Vec, Ve let config = parse_config(&boot.config); let env = GuestEnv::new(toolchain::ensure(root, &mut lock, config.hosted_rustc)); - invalidate_stale(root, &mut lock, &env.sysroot.identity, &config_targets(root, &config)); + invalidate_stale(&mut lock, &env.sysroot.identity, &[root.to_path_buf()]); // Same lock-and-stage as `build_test_image`: `cargo run --build-only` and // `cargo test` share these paths, so this races the harness too. The kernel @@ -1792,18 +1774,9 @@ fn shipped_parts(root: &Path, boot: &Boot, plan: &Plan) -> (Vec, Vec, Ve // path uses, so neither can grow an assertion the other lacks. let (kernel_bytes, bl_art) = { let _artifact = buildlock::artifact(root); - std::thread::scope(|threads| { - let kernel = threads.spawn(|| { - let mut extra = Vec::new(); - if !kernel_features.is_empty() { - extra.push("--features"); - extra.push(&kernel_features); - } - cargo_build(&root.join("kernel"), arch.kernel(), &extra, &env, &[], false); - }); - cargo_build(&root.join("bootloader"), arch.loader(), &[], &env, &[], false); - kernel.join().expect("kernel build thread panicked"); - }); + // One after the other: cargo holds one lock on the target directory. + build_kernel(root, arch, &kernel_features, &env, false); + cargo_build(root, arch.loader(), &["-p", LOADER], &env, &[], false); ( stage_and_certify_kernel(root, &kernel_features, &env, arch), stage_loader(root, arch, &env), @@ -2007,7 +1980,7 @@ pub fn build_test_parts( let mut lock = buildlock::shared(root, "test image"); let env = GuestEnv::new(toolchain::ensure(root, &mut lock, config.hosted_rustc)); - invalidate_stale(root, &mut lock, &env.sysroot.identity, &config_targets(root, &config)); + invalidate_stale(&mut lock, &env.sysroot.identity, &[root.to_path_buf()]); // Build and stage under one lock, released before `build_and_assemble`. // Releasing it there is deliberate and required: that build takes its own @@ -2018,16 +1991,11 @@ pub fn build_test_parts( let (kernel_bytes, bl_bytes) = { let _artifact = buildlock::artifact(root); let kernel = KERNEL.get_or_build(kernel_key, || { - let mut kernel_extra: Vec<&str> = Vec::new(); - if !features.is_empty() { - kernel_extra.push("--features"); - kernel_extra.push(&features); - } - cargo_build(&root.join("kernel"), arch.kernel(), &kernel_extra, &env, &[], quiet); + build_kernel(root, arch, &features, &env, quiet); stage_and_certify_kernel(root, &features, &env, arch) }); let bl = BOOTLOADER.get_or_build(bl_key, || { - cargo_build(&root.join("bootloader"), arch.loader(), &[], &env, &[], quiet); + cargo_build(root, arch.loader(), &["-p", LOADER], &env, &[], quiet); fs::read(stage_loader(root, arch, &env)).expect("Failed to read staged bootloader") }); (kernel, bl) @@ -2045,7 +2013,7 @@ pub fn build_test_parts( /// The host binaries the network judges drive, built here rather than inside a /// test: a judge's price is its exchange and not a compile. /// -/// Each of these keeps its own `Cargo.lock` and is excluded from the host +/// Each of these keeps its own `Cargo.lock` and is excluded from the /// workspace. That is what makes them possible: they exist to be /// a *second* implementation, and a second implementation's dependency graph is /// not the harness's to resolve. @@ -2078,11 +2046,11 @@ const SSH_CLIENT: Judge = ("tests/ssh-client-host", "toyos_ssh"); const HOST_JUDGES: [Judge; 1] = [SSH_CLIENT]; -/// Copy to `to` the binary the build leaves for userland workspace program +/// Copy to `to` the binary the build leaves for the program /// `name`: the bytes a swap sends a running machine in place of the ones its /// image carries. Read under the artifact lock, as every image build reads it. pub fn copy_guest_program(root: &Path, arch: Arch, name: &str, to: &Path) -> Result<(), String> { - let from = root.join(format!("userland/target/{}/{PROFILE}/{name}", arch.userland())); + let from = root.join(format!("target/{}/{PROFILE}/{name}", arch.userland())); let _artifact = buildlock::artifact(root); fs::copy(&from, to) .map(|_| ()) @@ -2215,7 +2183,7 @@ impl TestBuild { fn begin(root: &Path, arch: Arch, what: &str, stale_targets: &[PathBuf]) -> Self { let mut lock = buildlock::shared(root, what); let env = GuestEnv::new(toolchain::ensure(root, &mut lock, false)); - invalidate_stale(root, &mut lock, &env.sysroot.identity, stale_targets); + invalidate_stale(&mut lock, &env.sysroot.identity, stale_targets); let artifact = buildlock::artifact(root); TestBuild { target: arch.userland(), env, _lock: lock, _artifact: artifact } } @@ -2376,45 +2344,41 @@ mod tests { /// **Moved libraries take what was built for their targets, and nothing /// else**: an ABI edit moves the userland targets' libraries, so the - /// kernel's and the loader's target directories stay whole and of - /// userland's only `target/` goes; a fork edit moves every - /// target's, so the kernel's and the loader's builds go too. The host half - /// the same compiler built stays either way. A moved compiler, or a stamp - /// that names none, is all of it. + /// kernels and the loaders stay and only `target/` goes; a + /// fork edit moves every target's, so the kernels and the loaders go too. + /// The host half the same compiler built stays either way. A moved + /// compiler, or a stamp that names none, takes that half too, and never + /// what the build system itself is built into. #[test] fn moved_libraries_take_what_was_built_for_them_and_a_moved_compiler_all() { let root = toyos_tmpdir::TempDir::new("moved-libraries"); - fs::write(root.join("Cargo.toml"), "[workspace]\nmembers = []\n").unwrap(); let file = |path: PathBuf| { fs::create_dir_all(path.parent().unwrap()).unwrap(); fs::write(&path, "built").unwrap(); path }; - let (kernel, loader, userland) = (root.join("kernel"), root.join("bootloader"), root.join("userland")); - let crates = [&kernel, &loader, &userland]; - let kernels = Arch::ALL.map(|arch| file(kernel.join(format!("target/{}/{PROFILE}/kernel", arch.kernel())))); - let loaders = Arch::ALL.map(|arch| file(loader.join(format!("target/{}/{PROFILE}/loader.efi", arch.loader())))); - let programs = Arch::ALL.map(|arch| file(userland.join(format!("target/{}/{PROFILE}/supervisor", arch.userland())))); - let hosts = crates.map(|dir| file(dir.join(format!("target/{PROFILE}/deps/libproc-1.dylib")))); + let built = |name: &str, triple: fn(Arch) -> &'static str| { + Arch::ALL.map(|arch| file(root.join(format!("target/{}/{PROFILE}/{name}", triple(arch))))) + }; + let (kernels, loaders, programs) = + (built("kernel", Arch::kernel), built("bootloader.efi", Arch::loader), built("supervisor", Arch::userland)); + let host = file(root.join(format!("target/{PROFILE}/deps/libproc-1.dylib"))); + let own = file(root.join("target/debug/toyos-build")); let before = Identity::of_parts("compiler", "freestanding", "toyos"); - for dir in crates { - fs::write(dir.join("target/.deps-stamp"), before.to_string()).unwrap(); - assert_eq!(stale(dir, &before), None, "{} was stale against its own stamp", dir.display()); - } - let moved = |identity: &Identity, want: Vec<&'static str>| { - for dir in crates { - let found = stale(dir, identity); - assert_eq!(found, Some(Stale::Targets(want.clone())), "{}", dir.display()); - clean(&root, dir, &found.unwrap(), identity); - assert_eq!(stale(dir, identity), None, "{} was not stamped", dir.display()); - } + fs::write(root.join("target/.deps-stamp"), before.to_string()).unwrap(); + assert_eq!(stale(&root, &before), None, "stale against its own stamp"); + let moved = |identity: &Identity, want: Stale| { + let found = stale(&root, identity); + assert_eq!(found, Some(want)); + clean(&root, &found.unwrap(), identity); + assert_eq!(stale(&root, identity), None, "not stamped"); }; let mut toyos: Vec<&'static str> = Arch::ALL.map(Arch::userland).into(); toyos.sort(); - moved(&Identity::of_parts("compiler", "freestanding", "toyos, edited"), toyos); - for kept in kernels.iter().chain(&loaders).chain(&hosts) { + moved(&Identity::of_parts("compiler", "freestanding", "toyos, edited"), Stale::Targets(toyos)); + for kept in kernels.iter().chain(&loaders).chain([&host, &own]) { assert!(kept.is_file(), "{} went, and nothing it was built from moved", kept.display()); } for gone in &programs { @@ -2424,18 +2388,20 @@ mod tests { let mut all: Vec<&'static str> = Arch::ALL.into_iter().flat_map(|arch| [arch.userland(), arch.kernel(), arch.loader()]).collect(); all.sort(); let fork_edit = Identity::of_parts("compiler", "freestanding, edited", "toyos on the edited fork"); - moved(&fork_edit, all); + moved(&fork_edit, Stale::Targets(all)); for gone in kernels.iter().chain(&loaders) { assert!(!gone.exists(), "{} survived its target's libraries moving", gone.display()); } - for kept in &hosts { - assert!(kept.is_file(), "{} went, and the compiler that built it did not move", kept.display()); - } + assert!(host.is_file() && own.is_file(), "the compiler did not move, and what it built for the host went"); - let compiler = Identity::of_parts("another compiler", "freestanding, edited", "toyos on the edited fork"); - assert_eq!(stale(&kernel, &compiler), Some(Stale::All), "a moved compiler kept the host half"); - fs::write(userland.join("target/.deps-stamp"), "sysroot:/a/stamp/naming/no/compiler").unwrap(); - assert_eq!(stale(&userland, &fork_edit), Some(Stale::All), "a stamp naming no compiler was trusted"); + let rebuilt = built("kernel", Arch::kernel); + moved(&Identity::of_parts("another compiler", "freestanding, edited", "toyos on the edited fork"), Stale::All); + for gone in rebuilt.iter().chain([&host]) { + assert!(!gone.exists(), "{} survived the compiler that built it moving", gone.display()); + } + assert!(own.is_file(), "a moved guest compiler took the build system's own target"); + fs::write(root.join("target/.deps-stamp"), "sysroot:/a/stamp/naming/no/compiler").unwrap(); + assert_eq!(stale(&root, &fork_edit), Some(Stale::All), "a stamp naming no compiler was trusted"); } /// **A stamp that cannot be written stops the build**: one left behind would @@ -2443,39 +2409,17 @@ mod tests { #[test] fn a_stamp_that_cannot_be_written_panics() { let root = toyos_tmpdir::TempDir::new("unwritable-stamp"); - fs::write(root.join("Cargo.toml"), "[workspace]\nmembers = []\n").unwrap(); // A directory, not a mode: root writes through any mode, and nobody // writes a file over a directory. - let stamp = root.join("kernel/target/.deps-stamp"); + let stamp = root.join("target/.deps-stamp"); fs::create_dir_all(&stamp).unwrap(); let identity = Identity::of_parts("compiler", "freestanding", "toyos"); - let failed = std::panic::catch_unwind(|| { - clean(&root, &root.join("kernel"), &Stale::Targets(vec![]), &identity) - }); + let failed = std::panic::catch_unwind(|| clean(&root, &Stale::Targets(vec![]), &identity)); let refusal = failed.expect_err("a stamp that was not written was taken for written"); let refusal = refusal.downcast_ref::().expect("a formatted panic"); assert!(refusal.starts_with(&format!("write {}", stamp.display())), "{refusal}"); } - /// **A `cargo clean` that fails stops the build and stamps nothing**: a - /// stamp over a target it did not clean calls another compiler's build - /// current. - #[test] - fn a_failed_cargo_clean_panics_and_stamps_nothing() { - let root = toyos_tmpdir::TempDir::new("failed-clean"); - fs::write(root.join("Cargo.toml"), "[workspace]\nmembers = []\n").unwrap(); - let kernel = root.join("kernel"); - fs::create_dir_all(kernel.join("target")).unwrap(); - fs::write(kernel.join("Cargo.toml"), "[package\n").unwrap(); - - let identity = Identity::of_parts("compiler", "freestanding", "toyos"); - let failed = std::panic::catch_unwind(|| clean(&root, &kernel, &Stale::All, &identity)); - let refusal = failed.expect_err("a cargo clean that failed was taken for one that ran"); - let refusal = refusal.downcast_ref::().expect("a formatted panic"); - assert!(refusal.starts_with(&format!("cargo clean in {} exited", kernel.display())), "{refusal}"); - assert!(!kernel.join("target/.deps-stamp").exists(), "a clean that failed stamped the target"); - } - #[test] fn an_artifact_build_is_not_part_of_a_test_execution_price() { let before = mark_artifact_build_time(); @@ -2798,7 +2742,7 @@ mod tests { ); } - /// The kernel depends on no libc (root `CLAUDE.md`, Dependencies), and its + /// The kernel depends on no libc (root `CLAUDE.md`, Dependencies), and /// `Cargo.lock` cannot show it: a lock records every platform's edges and /// none of their `cfg`s. #[test] @@ -2808,8 +2752,8 @@ mod tests { let out = Command::new("cargo") .args(["tree", "--locked", "--all-features", "-e", "normal,no-proc-macro"]) .args(["--prefix", "none", "--format", "{p}", "--target", arch.kernel()]) - .arg("--manifest-path") - .arg(root.join("kernel/Cargo.toml")) + .args(["-p", crate::ci::KERNEL]) + .current_dir(root) .output() .expect("cargo tree failed to launch"); let tree = String::from_utf8_lossy(&out.stdout); @@ -2840,7 +2784,7 @@ mod tests { /// Each file's own comment beside a name carries the argument for it. fn declared_model_controls(root: &Path) -> BTreeSet { let mut out = BTreeSet::new(); - for dir in std::iter::once(crate::ci::KERNEL.to_string()).chain(crate::hostws::members(root)) { + for dir in std::iter::once(crate::ci::KERNEL.to_string()).chain(crate::hostws::host_members(root)) { let path = root.join(&dir).join("Cargo.toml"); let text = fs::read_to_string(&path) .unwrap_or_else(|e| panic!("Failed to read {}: {e}", path.display())); diff --git a/src/buildlock.rs b/src/buildlock.rs index 4b72a25aea1..efec388bd8c 100644 --- a/src/buildlock.rs +++ b/src/buildlock.rs @@ -2,8 +2,8 @@ //! against this repository. //! //! Cargo's own build lock cannot do this job. `src/build.rs`'s `invalidate_stale` -//! runs the `clean` that `cargo clean`s a crate's `target/`, and cargo's lock -//! lives inside it at `target//.cargo-lock` — the clean deletes the +//! runs the `clean` that removes what a moved sysroot left stale of a `target/`, +//! and cargo's lock lives inside it at `target//.cargo-lock` — the clean deletes the //! file the other process's lock is on. So these files live outside every //! directory the build system removes: a lock on an inode that can be unlinked //! and recreated under a waiter is not a lock. @@ -15,7 +15,7 @@ //! - **shared** — "I am building against the state as it stands". Any number //! at once. //! - **exclusive** — "I am replacing it": the rust bootstrap, this worktree's -//! std build, the `cargo clean`s, the making or moving of its fork checkout. +//! std build, the cleans of stale targets, the making or moving of its fork checkout. //! One at a time, and never while a build holds the shared mode. //! //! And two [`Scope`]s: a crate target directory is shared by the builds in one diff --git a/src/ci.rs b/src/ci.rs index 1811de03598..f790c2ccf3c 100644 --- a/src/ci.rs +++ b/src/ci.rs @@ -28,8 +28,8 @@ use crate::{flags, release, sdkversion}; const USAGE: &str = "cargo run -- --ci , where is one of: host every host test: the build system, the harness's own checks, - the host workspace, the licences of what ships, clippy, the - model controls, userland and the SDK (ci.yml, nightly) + the workspace's host members, the licences of what ships, + clippy, the model controls, userland and the SDK (ci.yml, nightly) seal `host` from a cold tree, then that tree sealed as the host cache's entry, which the step after it saves (nightly) toolchain the cache entry of each store of this tree's toolchain @@ -174,7 +174,7 @@ fn cargo_logged(dir: &Path, args: &[&str]) -> Result<(bool, String), String> { /// that takes away the one edge the model's property rests on, and the verdict /// lines the model must then print. pub(crate) struct Control { - /// The model's package: a member of the host workspace, or [`KERNEL`]. + /// The model's package: a host member of the workspace, or [`KERNEL`]. pub(crate) krate: &'static str, pub(crate) feature: &'static str, /// The test target the verdicts' tests are in; `None` is the library's own. @@ -219,14 +219,8 @@ use Verdict::{Fails, Passes, Says}; /// The kernel package, whose library's tests are its models. pub(crate) const KERNEL: &str = "kernel"; -/// Its manifest, resolved on its own. Run from the repository root, cargo -/// builds it for the host: `kernel/.cargo/config.toml` is read only below -/// `kernel/`. -pub(crate) const KERNEL_MANIFEST: &str = "kernel/Cargo.toml"; -/// Where a host build from it lands: the root's `target/`, since `kernel/target` -/// is cleaned whole under the worktree's build lock, which `--ci host` does not -/// take. -pub(crate) const KERNEL_HOST_TARGET: &str = "target"; +/// The SDK's package, whose tests link no syscall on a host. +pub(crate) const SDK: &str = "toyos"; const KERNEL_LOOM: &str = "kernel-loom"; const KERNEL_SIM: &str = "kernel-sim"; const BLOCKRING: &str = "toyos-blockring"; @@ -486,13 +480,7 @@ fn judge_control(control: &Control, exited_green: bool, log: &str) -> Result Result { - let mut args = vec!["test"]; - // Cargo refuses `--features` for a package outside the workspace. - match control.krate { - KERNEL => args.extend(["--manifest-path", KERNEL_MANIFEST, "--target-dir", KERNEL_HOST_TARGET]), - member => args.extend(["-p", member]), - } - args.extend(["--features", control.feature]); + let mut args = vec!["test", "-p", control.krate, "--features", control.feature]; match control.test { Some(test) => args.extend(["--test", test]), None => args.push("--lib"), @@ -507,11 +495,11 @@ fn run_control(root: &Path, control: &Control) -> Result { } /// Every test that runs on the host and boots no guest. The build system's own -/// tests, every member of the host workspace, the kernel's library, clippy with -/// warnings denied, the concurrency models' negative controls, every userland -/// crate with a host test ([`crate::userlandhost`], which also reds on a -/// userland test none of them runs), every app the images ship for each host -/// ([`apps_for`]), and the SDK. +/// tests, every host member of the workspace ([`crate::hostws`]), the kernel's +/// library, clippy with warnings denied, the concurrency models' negative +/// controls, every userland crate with a host test ([`crate::userlandhost`], +/// which also reds on a userland test none of them runs), every app the images +/// ship for each host ([`apps_for`]), and the SDK. /// /// **Every step runs against a `$TMPDIR` of this job's own, and the last step /// reds on anything left in it** but the lock `toyos_tmpdir` keeps there: a test @@ -521,8 +509,7 @@ fn run_control(root: &Path, control: &Control) -> Result { /// Clippy needs none of the ToyOS toolchain — the kernel and the bootloader /// lint against every architecture's bare targets ([`crate::clippy::BARE_TARGETS`]), /// which any rustup installs, and userland carries no clippy shape -/// (`src/clippy.rs`). Userland and the SDK are tested against the -/// host triple for the same reason. +/// (`src/clippy.rs`). /// /// In a job that carries the cache ([`cicache::carried`]) the restored entry is /// read before any step. A developer's tree keeps the dates its edits gave it. @@ -547,20 +534,14 @@ fn host(root: &Path) -> Vec { steps.extend([ step("the build system", || cargo(root, &["test", "--lib"])), step("the harness's own checks", || cargo(root, &["test", "--test", "toyos-checks"])), - step("the host workspace", || { - cargo(root, &["test", "--workspace", "--exclude", "toyos-build"]) + step("the workspace's host members", || { + let guests = crate::hostws::guest_packages(root); + let mut args = vec!["test", "--workspace", "--exclude", "toyos-build"]; + args.extend(guests.iter().flat_map(|guest| ["--exclude", guest.as_str()])); + cargo(root, &args) }), step("the kernel's library", || { - cargo(root, &[ - "test", - "--manifest-path", - KERNEL_MANIFEST, - "--target-dir", - KERNEL_HOST_TARGET, - "--lib", - "--features", - "sched-check", - ]) + cargo(root, &["test", "-p", KERNEL, "--lib", "--features", "sched-check"]) }), step("the licences of what ships", || crate::licence::judge(root)), ]); @@ -606,7 +587,7 @@ fn host(root: &Path) -> Vec { for name in survey.gated { let manifest = format!("userland/{name}/Cargo.toml"); steps.push(step(&format!("userland/{name}"), || { - cargo(root, &["test", "--manifest-path", &manifest, "--target", &host_triple]) + cargo(root, &["test", "--manifest-path", &manifest]) })); } } @@ -622,11 +603,7 @@ fn host(root: &Path) -> Vec { } Err(why) => steps.push(Step { label: "the apps".into(), verdict: Err(why) }), } - // The SDK compiles against the ToyOS sysroot everywhere but here, and this - // build links no syscall. - steps.push(step("the toyos SDK", || { - cargo(root, &["test", "--manifest-path", "toyos/Cargo.toml", "--target", &host_triple]) - })); + steps.push(step("the toyos SDK", || cargo(root, &["test", "-p", SDK]))); steps.push(step("nothing left in $TMPDIR or /tmp", || left_behind(&tmp, short, &before))); steps } @@ -675,12 +652,12 @@ fn apps_for( if !status.success() { return Err(format!("rustup target add {triple} exited {status}")); } - let verb = verb(os, host_triple); + let how = judged_as(os, host_triple); let (attempted, declared) = attempted(programs, os); let mut red = Vec::new(); for program in &attempted { let manifest = format!("{}/Cargo.toml", program.dir); - let args = [verb, "--manifest-path", manifest.as_str(), "--target", triple]; + let args = [&how[..], &["--manifest-path", manifest.as_str()]].concat(); if let Err(exit) = cargo(root, &args) { red.push(format!( "{} fails for {} and declares neither `fails` there nor `exempt`: {exit}", @@ -692,7 +669,7 @@ fn apps_for( if !red.is_empty() { return Err(red.join("; ")); } - let said = format!("{} app(s) pass `cargo {verb} --target {triple}`", attempted.len()); + let said = format!("{} app(s) pass `cargo {}`", attempted.len(), how.join(" ")); if declared.is_empty() { Ok(said) } else { @@ -700,12 +677,14 @@ fn apps_for( } } -/// `build` where the gate runs on `os`'s own triple, and `check` elsewhere. -fn verb(os: Os, host_triple: &str) -> &'static str { +/// `build` where the gate runs on `os`'s own triple, and `check --target` +/// elsewhere. The host's own build names no triple, so it lands in the target +/// the userland test steps fill and compiles only what they did not. +fn judged_as(os: Os, host_triple: &str) -> Vec<&'static str> { if os.triple() == host_triple { - "build" + vec!["build"] } else { - "check" + vec!["check", "--target", os.triple()] } } @@ -1099,7 +1078,11 @@ mod tests { assert_eq!(judged(Os::Linux), (vec!["calc", "doom"], vec![])); assert_eq!(judged(Os::Macos), (vec!["calc", "doom"], vec![])); assert_eq!(judged(Os::Windows), (vec!["calc"], vec!["doom"])); - assert_eq!(Os::ALL.map(|os| verb(os, Os::Linux.triple())), ["build", "check", "check"]); + assert_eq!(Os::ALL.map(|os| judged_as(os, Os::Linux.triple())), [ + vec!["build"], + vec!["check", "--target", Os::Macos.triple()], + vec!["check", "--target", Os::Windows.triple()], + ]); } #[test] diff --git a/src/cicache.rs b/src/cicache.rs index e35039ec787..e1261f18088 100644 --- a/src/cicache.rs +++ b/src/cicache.rs @@ -51,15 +51,11 @@ pub const DRIVER: &str = "target/ci-driver"; /// What every step that names the host cache archives: the cache's version is /// computed from the list, so a restore whose list differs finds nothing. -const PATHS: [&str; 8] = [ +const PATHS: [&str; 4] = [ "~/.cargo/registry/index", "~/.cargo/registry/cache", "~/.cargo/git/db", "target", - "userland/target", - "toyos/target", - "kernel/target", - "bootloader/target", ]; /// The most the files under [`PATHS`] may hold, uncompressed. The repository's @@ -670,7 +666,7 @@ pub fn word(_: proc_macro::TokenStream) -> proc_macro::TokenStream { fs::create_dir_all(tmp.join(DRIVER)).unwrap(); open(&tmp, RUNNER, SystemTime::now()).expect("the driver's own target"); start(&tmp, RUNNER).expect("the driver's own target"); - for target in ["kernel/target", "target/debug"] { + for target in ["tests/ssh-client-host/target", "target/debug"] { fs::create_dir_all(tmp.join(target)).unwrap(); let refusals = [open(&tmp, RUNNER, SystemTime::now()).err(), start(&tmp, RUNNER).err()]; assert!(refusals.iter().all(|r| r.as_ref().is_some_and(|r| r.contains(target))), "{refusals:?}"); @@ -689,9 +685,9 @@ pub fn word(_: proc_macro::TokenStream) -> proc_macro::TokenStream { let tmp = TempDir::new("cicache-seal"); let cold = cold_repo(&tmp, RUNNER); write(&tmp, "target/debug/deps/x", "x"); - write(&tmp, "userland/target/y", "y"); + write(&tmp, "tests/ssh-client-host/target/y", "y"); seal_at(&tmp, &tmp.join("home"), &cold).unwrap(); - for file in ["target/debug/deps/x", "target/debug", "userland/target/y"] { + for file in ["target/debug/deps/x", "target/debug", "tests/ssh-client-host/target/y"] { assert_eq!(modified(&tmp.join(file)).unwrap(), built(), "{file}"); } fs::remove_file(tmp.join(MANIFEST)).unwrap(); @@ -722,12 +718,12 @@ pub fn word(_: proc_macro::TokenStream) -> proc_macro::TokenStream { let tmp = TempDir::new("cicache-image"); let cold = cold_repo(&tmp, &runner_in(&image).unwrap()); write(&tmp, "target/debug/x", "x"); - write(&tmp, "kernel/target/y", "y"); + write(&tmp, "tests/ssh-client-host/target/y", "y"); seal_at(&tmp, &tmp.join("home"), &cold).unwrap(); let mut other = image.clone(); other.insert(name, "another"); let said = open(&tmp, &runner_in(&other).unwrap(), SystemTime::now()).unwrap(); - assert!(!tmp.join("target/debug").exists() && !tmp.join("kernel/target").exists(), "{name}: {said}"); + assert!(!tmp.join("target/debug").exists() && !tmp.join("tests/ssh-client-host/target").exists(), "{name}: {said}"); other.remove(name); let refusal = runner_in(&other).expect_err("a runner without a variable"); assert!(refusal.contains(name), "{refusal}"); diff --git a/src/clippy.rs b/src/clippy.rs index 9811e7e1431..7580c0f8147 100644 --- a/src/clippy.rs +++ b/src/clippy.rs @@ -9,7 +9,7 @@ use std::path::Path; use std::process::Command; use crate::arch::Arch; -use crate::ci::{KERNEL_HOST_TARGET, KERNEL_MANIFEST}; +use crate::ci::KERNEL; /// The pedantic/nursery lints adopted one at a time, each on a measured finding /// (`issues/clippy-stage-two-is-lints-one-at-a-time.md`). @@ -22,14 +22,13 @@ const ADOPTED: &[&str] = &[ "clippy::unnecessary_semicolon", ]; -/// One `cargo clippy`. `dir` is relative to the repository root and empty for -/// the root itself — `.cargo/config.toml` is found from the working directory, -/// so the kernel and bootloader run from their own; a `$ADOPTED` token splices +/// One `cargo clippy`, run at the repository root. A `$ADOPTED` token splices /// [`ADOPTED`] there, a `$CONTROLS` token [`control_features`], a -/// `$KERNEL_CONTROLS` token those of them whose package is `kernel`, and a -/// `$MANIFEST` token the manifest the run names. +/// `$KERNEL_CONTROLS` token those of them whose package is `kernel`, a `$GUESTS` +/// token an `--exclude` of each package no host builds +/// ([`crate::hostws::guest_packages`]), and a `$MANIFEST` token the manifest +/// the run names. struct Shape { - dir: &'static str, before: &'static [&'static str], after: &'static [&'static str], } @@ -55,7 +54,7 @@ fn control_features() -> Vec { controls.chain(UNCONTROLLED.iter().map(|f| (*f).to_string())).collect() } -/// `--all-targets` on the host workspace only: on the bootloader and kernel a +/// `--all-targets` on the workspace's host members only: on the bootloader and kernel a /// test target links `std`, whose `panic_impl` collides with theirs. The second /// kernel shape is the feature set every guest boots, whose `cfg`s the default /// set never sees; the third is the one `--kernel-param` builds, `boot-actuators` @@ -65,27 +64,21 @@ fn control_features() -> Vec { /// workspace run builds it only with `toyos-xhci-sim`'s `flaws`, never as the /// kernel does. `kernel-loom` has one because `victim-retires-mid-probe`'s /// test arm excludes `no-preempt-guard`, which `$CONTROLS` turns on beside it. -/// The kernel's library, no member of the host workspace, is linted on the host -/// from its own manifest: its tests as `--ci host` runs them, and again with -/// `$KERNEL_CONTROLS`. +/// The kernel's library is linted on the host apart from them: its tests as +/// `--ci host` runs them, and again with `$KERNEL_CONTROLS`. const SHAPES: &[Shape] = &[ Shape { - dir: "", - before: &["--workspace", "--all-targets", "--keep-going"], + before: &["--workspace", "$GUESTS", "--all-targets", "--keep-going"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "", - before: &["--workspace", "--all-targets", "--keep-going", "--features", "$CONTROLS"], + before: &["--workspace", "$GUESTS", "--all-targets", "--keep-going", "--features", "$CONTROLS"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "", before: &[ - "--manifest-path", - KERNEL_MANIFEST, - "--target-dir", - KERNEL_HOST_TARGET, + "-p", + KERNEL, "--lib", "--tests", "--features", @@ -94,12 +87,9 @@ const SHAPES: &[Shape] = &[ after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "", before: &[ - "--manifest-path", - KERNEL_MANIFEST, - "--target-dir", - KERNEL_HOST_TARGET, + "-p", + KERNEL, "--lib", "--tests", "--features", @@ -110,72 +100,58 @@ const SHAPES: &[Shape] = &[ after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::X86_64.kernel()], + before: &["-p", KERNEL, "--target", Arch::X86_64.kernel()], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::X86_64.kernel(), "--features", "boot-actuators,test-actuators"], + before: &["-p", KERNEL, "--target", Arch::X86_64.kernel(), "--features", "boot-actuators,test-actuators"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::X86_64.kernel(), "--features", "boot-actuators"], + before: &["-p", KERNEL, "--target", Arch::X86_64.kernel(), "--features", "boot-actuators"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::X86_64.kernel(), "--features", INSTRUMENTS], + before: &["-p", KERNEL, "--target", Arch::X86_64.kernel(), "--features", INSTRUMENTS], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::X86_64.kernel(), "--features", "heap-band-notail,heap-lockspin"], + before: &["-p", KERNEL, "--target", Arch::X86_64.kernel(), "--features", "heap-band-notail,heap-lockspin"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::X86_64.kernel(), "--features", "heap-band-nohead"], + before: &["-p", KERNEL, "--target", Arch::X86_64.kernel(), "--features", "heap-band-nohead"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::Aarch64.kernel()], + before: &["-p", KERNEL, "--target", Arch::Aarch64.kernel()], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::Aarch64.kernel(), "--features", "boot-actuators,test-actuators"], + before: &["-p", KERNEL, "--target", Arch::Aarch64.kernel(), "--features", "boot-actuators,test-actuators"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::Aarch64.kernel(), "--features", "boot-actuators"], + before: &["-p", KERNEL, "--target", Arch::Aarch64.kernel(), "--features", "boot-actuators"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "kernel", - before: &["--target", Arch::Aarch64.kernel(), "--features", AARCH64_INSTRUMENTS], + before: &["-p", KERNEL, "--target", Arch::Aarch64.kernel(), "--features", AARCH64_INSTRUMENTS], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "bootloader", - before: &["--target", Arch::X86_64.loader()], + before: &["-p", "bootloader", "--target", Arch::X86_64.loader()], after: &["$ADOPTED", "-W", "clippy::undocumented_unsafe_blocks", "-D", "warnings"], }, Shape { - dir: "bootloader", - before: &["--target", Arch::Aarch64.loader()], + before: &["-p", "bootloader", "--target", Arch::Aarch64.loader()], after: &["$ADOPTED", "-W", "clippy::undocumented_unsafe_blocks", "-D", "warnings"], }, Shape { - dir: "", before: &["-p", "toyos-xhci", "--all-targets"], after: &["$ADOPTED", "-D", "warnings"], }, Shape { - dir: "", before: &[ "-p", "kernel-loom", @@ -190,7 +166,6 @@ const SHAPES: &[Shape] = &[ // linted under two sets of lints is checked again by each, every run, and // so is every crate depending on it. Shape { - dir: "", before: &["-p", "toyos-abi", "--all-targets", "--keep-going", "--target-dir", "target/clippy-abi"], after: &["-W", "clippy::undocumented_unsafe_blocks", "-D", "warnings"], }, @@ -199,7 +174,6 @@ const SHAPES: &[Shape] = &[ /// Run once per crate nested under a userland program that the survey gates, /// against the host as `--ci host` tests it. const NESTED: Shape = Shape { - dir: "", before: &["--manifest-path", "$MANIFEST", "--all-targets"], after: &["$ADOPTED", "-D", "warnings"], }; @@ -233,19 +207,23 @@ impl Shape { /// The arguments to `cargo clippy`, every token spliced in — what actually /// runs. - fn args(&self, manifest: Option<&str>) -> Vec { - let kernel = format!("{}/", crate::ci::KERNEL); + fn args(&self, root: &Path, manifest: Option<&str>) -> Vec { + let kernel = format!("{KERNEL}/"); let mut args: Vec = self .before .iter() - .map(|s| match *s { - "$MANIFEST" => manifest.expect("a `$MANIFEST` shape runs with a manifest").to_string(), - "$CONTROLS" => control_features().join(","), + .flat_map(|s| match *s { + "$MANIFEST" => vec![manifest.expect("a `$MANIFEST` shape runs with a manifest").to_string()], + "$CONTROLS" => vec![control_features().join(",")], "$KERNEL_CONTROLS" => { let ours = control_features().into_iter().filter(|f| f.starts_with(&kernel)); - ours.collect::>().join(",") + vec![ours.collect::>().join(",")] + } + "$GUESTS" => { + let guests = crate::hostws::guest_packages(root); + guests.into_iter().flat_map(|guest| ["--exclude".to_string(), guest]).collect() } - arg => arg.to_string(), + arg => vec![arg.to_string()], }) .collect(); args.push("--".to_string()); @@ -270,18 +248,17 @@ pub fn run(root: &Path) -> Result<(Vec, usize), String> { let mut failed = Vec::new(); for (shape, manifest) in &runs { let manifest = manifest.as_deref(); - let scope = if shape.dir.is_empty() { "workspace root" } else { shape.dir }; - eprintln!("=== clippy: {scope} — {}", shape.line(manifest)); + eprintln!("=== clippy: {}", shape.line(manifest)); let status = Command::new("cargo") .arg("clippy") - .args(shape.args(manifest)) + .args(shape.args(root, manifest)) // The loader will not compile without the key it embeds; a // throwaway one, since nothing linted here is signed. .env(crate::signing::KEY_ENV, crate::signing::key().public_hex()) .env(crate::signing::FLOOR_ENV, crate::signing::key().floor_scope().word()) - .current_dir(root.join(shape.dir)) + .current_dir(root) .status() - .unwrap_or_else(|e| panic!("running cargo clippy in {scope}: {e}")); + .unwrap_or_else(|e| panic!("running {}: {e}", shape.line(manifest))); if !status.success() { failed.push(shape.line(manifest)); } @@ -313,11 +290,12 @@ mod tests { /// `$ADOPTED` is spliced where the token sits and nowhere else. #[test] fn the_adopted_set_expands_into_the_shapes_that_name_it() { + let root = Path::new(env!("CARGO_MANIFEST_DIR")); let workspace = &SHAPES[0]; - assert!(workspace.args(None).windows(2).any(|w| w == ["-W", "clippy::redundant_clone"])); + assert!(workspace.args(root, None).windows(2).any(|w| w == ["-W", "clippy::redundant_clone"])); let abi = SHAPES.last().unwrap(); - assert!(!abi.args(None).iter().any(|a| a == "clippy::redundant_clone")); - assert!(abi.args(None).iter().any(|a| a == "clippy::undocumented_unsafe_blocks")); - assert!(!abi.args(None).iter().any(|a| a == "$ADOPTED")); + assert!(!abi.args(root, None).iter().any(|a| a == "clippy::redundant_clone")); + assert!(abi.args(root, None).iter().any(|a| a == "clippy::undocumented_unsafe_blocks")); + assert!(!abi.args(root, None).iter().any(|a| a == "$ADOPTED")); } } diff --git a/src/hostws.rs b/src/hostws.rs index 8aeef23efff..c37812f7b24 100644 --- a/src/hostws.rs +++ b/src/hostws.rs @@ -1,20 +1,16 @@ -//! Who is in the host workspace, and the gate that keeps the answer honest. +//! Who is in the workspace, which of its members a host tests, and the gates +//! that keep both answers honest. //! -//! Every crate in this repository that is tested on the host is a member of the -//! workspace root `Cargo.toml` declares, and CI runs the lot with one -//! `cargo test --workspace --exclude toyos-build`. That is the whole point of -//! the arrangement. Before it, the set of host-tested crates was a list in the -//! workflow *and* a set of standalone workspace roots, and the two drifted -//! three times: four pure crates until 2026-08-08, `toyos-keymap` and -//! `bcachefs` until 2026-08-14, and `toyos-abi` and `toyos-manifest` — 23 tests -//! between them — which reached no workflow at all (the tracker entry closed -//! by the commit that added this file). +//! Every crate in this repository is a member of the workspace the root +//! `Cargo.toml` declares, or is excluded from it there with the reason it keeps +//! its own resolution. The `[workspace]` table is the one list, this module is +//! its only reader, and the gates below walk the tree and red on a `Cargo.toml` +//! that joined neither `members` nor `exclude`. //! -//! A third copy of the list would restore the defect, so there is exactly one: -//! the `[workspace]` table. This module is its only reader, and the gates below -//! walk the tree and red on a `Cargo.toml` that joined neither `members` nor -//! `exclude`. **A new host crate that forgets to join is -//! a red, not a silent gap.** +//! The host suite is every member but the ones built for a guest +//! ([`guest_built`]): `cargo run -- --ci host` runs them in one `cargo +//! test`, so **a new host crate that forgets to join is a red, not a silent +//! gap.** use std::collections::BTreeSet; use std::path::Path; @@ -32,7 +28,7 @@ fn workspace_table(root: &Path) -> toml::value::Table { doc.get("workspace") .and_then(|w| w.as_table()) .unwrap_or_else(|| { - panic!("{} declares no [workspace]; the host suite is that table", path.display()) + panic!("{} declares no [workspace]", path.display()) }) .clone() } @@ -87,11 +83,37 @@ pub(crate) fn rel(root: &Path, path: &Path) -> String { .replace('\\', "/") } -/// Whether `crate_dir` is a member of the host workspace. -pub fn is_member(root: &Path, crate_dir: &Path) -> bool { - let relative = rel(root, crate_dir); - let relative = if relative.is_empty() { ".".to_string() } else { relative }; - members(root).contains(&relative) +/// Whether the member at `member` is built for a guest: the kernel, whose +/// library alone a host tests, and the SDK, each from a step of its own; the +/// loader; and every program under `userland/`, which `src/userlandhost.rs` +/// surveys. +fn guest_built(member: &str) -> bool { + [crate::ci::KERNEL, crate::ci::SDK, "bootloader"].contains(&member) || member.starts_with("userland/") +} + +/// The members a host tests: all but the [`guest_built`]. +pub fn host_members(root: &Path) -> BTreeSet { + members(root).into_iter().filter(|m| !guest_built(m)).collect() +} + +/// The package names of the [`guest_built`] members, which a `cargo` run over +/// the workspace on a host excludes. +pub fn guest_packages(root: &Path) -> Vec { + let guests = members(root).into_iter().filter(|m| guest_built(m)); + guests + .map(|member| { + let path = root.join(&member).join("Cargo.toml"); + let text = std::fs::read_to_string(&path) + .unwrap_or_else(|e| panic!("read {}: {e}", path.display())); + let doc: toml::Value = + text.parse().unwrap_or_else(|e| panic!("{} is not TOML: {e}", path.display())); + doc.get("package") + .and_then(|p| p.get("name")) + .and_then(toml::Value::as_str) + .unwrap_or_else(|| panic!("{} names no package", path.display())) + .to_string() + }) + .collect() } /// Every directory under `root` holding a `Cargo.toml`, as paths relative to @@ -154,33 +176,6 @@ fn unclaimed(members: &BTreeSet, found: &BTreeSet) -> Vec BTreeSet { - let mut all: BTreeSet = members(root).into_iter().filter(|m| m != ".").collect(); - for dir in excluded(root) { - let Ok(text) = std::fs::read_to_string(root.join(&dir).join("Cargo.toml")) else { - continue; - }; - let Ok(doc) = text.parse::() else { continue }; - let nested = doc - .get("workspace") - .and_then(|w| w.get("members")) - .and_then(|m| m.as_array()) - .map(|a| a.as_slice()) - .unwrap_or_default(); - for member in nested.iter().filter_map(|m| m.as_str()) { - all.insert(format!("{dir}/{}", member.trim_end_matches('/'))); - } - } - all -} - /// Every `/target` `text` names. /// /// A member has no target directory of its own, so naming one is a path that @@ -271,11 +266,6 @@ mod tests { /// **The gate.** A crate added to this repository joins the host workspace /// or is excluded from it with a reason, and there is no third option. /// - /// This is the drift the module header recounts, and it had already - /// recurred twice before it was recorded: a host-testable - /// crate arrives, nobody adds it to the workflow's loop, and its tests run - /// nowhere while reading as though they run everywhere. There is one list - /// now and the tree is held against it. #[test] fn every_crate_in_the_tree_joined_the_workspace_or_was_excluded_by_name() { let root = repo_root(); @@ -284,10 +274,8 @@ mod tests { missing.is_empty(), "these directories hold a `Cargo.toml` and the [workspace] table in \ Cargo.toml accounts for none of them:\n {}\n\ - Add each to `members` (so `cargo test --workspace` runs its tests) or to \ - `exclude` with the reason it keeps its own resolution. A host crate that \ - joins neither is tested by nothing, which is how `toyos-abi` and \ - `toyos-manifest` went 23 tests unrun.", + Add each to `members` or to `exclude` with the reason it keeps its own \ + resolution. A host crate that joins neither is tested by nothing.", missing.join("\n "), ); } @@ -328,11 +316,6 @@ mod tests { "the walk did not descend past the first level, so a nested member could \ go missing without this gate noticing: {found:?}" ); - assert!( - found.contains("kernel/loom") && !found.contains("kernel"), - "the walk did not descend into an excluded package, so a crate nested in one \ - could lose its `members` line without this gate noticing: {found:?}" - ); // With nothing declared a member, every one of them is a complaint — // the gate above is silent because the table accounts for the tree, not // because the walk found nothing to account for. @@ -397,14 +380,12 @@ mod tests { /// into its workspace root's target directory, so such a path is one that /// cannot exist. /// - /// Every workspace in the tree, not just this one. - /// /// The files scanned are the ones that *act* on a path: the workflows, this /// build system, and every `build.rs` in the tree. Prose is left alone. #[test] fn nothing_that_runs_names_a_target_directory_a_member_does_not_have() { let root = repo_root(); - let members = every_workspace_member(&root); + let members = members(&root); let mut files: Vec = Vec::new(); for dir in [".github/workflows", "src"] { let Ok(entries) = std::fs::read_dir(root.join(dir)) else { continue }; @@ -448,11 +429,8 @@ mod tests { dead_member_target_paths(&members, "let abi = root.join(\"../../toyos-abi/target/x\");"), ["toyos-abi/target"], ); - // `kernel/` and `userland/` are workspace *roots*, so naming one of - // their target directories is correct and must not be reported. - assert!(dead_member_target_paths(&members, "kernel/target/x86_64-unknown-none").is_empty()); + // A directory that holds members and is none. assert!(dead_member_target_paths(&members, "userland/target").is_empty()); - // A member of the userland workspace, which is the real find above. let with_userland: BTreeSet = members.union(&["userland/sshserver".to_string()].into()).cloned().collect(); assert_eq!( diff --git a/src/libc.rs b/src/libc.rs index 0e9569710a4..7a012fc7d5b 100644 --- a/src/libc.rs +++ b/src/libc.rs @@ -39,7 +39,7 @@ pub fn build(root: &Path, toolchain: &Path, target_dir: &Path, arch: Arch) { .env("RUSTUP_TOOLCHAIN", toolchain) .env_remove("RUSTFLAGS") .env_remove("RUSTC") - .current_dir(root.join("userland")) + .current_dir(root) .stderr(std::process::Stdio::inherit()) .output() .expect("Failed to build toyos-libc"); @@ -98,7 +98,7 @@ pub fn build_c(root: &Path, toolchain: &Path, target_dir: &Path, arch: Arch) { .env("RUSTUP_TOOLCHAIN", toolchain) .env_remove("RUSTFLAGS") .env_remove("RUSTC") - .current_dir(root.join("userland")) + .current_dir(root) .output() .unwrap_or_else(|e| panic!("run cargo for toyos-libc's staticlib: {e}")); assert!( diff --git a/src/release.rs b/src/release.rs index 828a56f1354..69322e0bb77 100644 --- a/src/release.rs +++ b/src/release.rs @@ -584,11 +584,11 @@ fn manifest(tag: &str) -> String { fn notes(root: &Path, repo: &str, tag: &str, manifest: &str) -> Result { let url = format!("https://github.com/{repo}/releases/download/{tag}/{ASSET}"); let (major, minor) = GLIBC_FLOOR; - let userland = fs::read_to_string(root.join("userland/Cargo.toml")).map_err(|e| e.to_string())?; - let rwh = userland + let workspace = fs::read_to_string(root.join("Cargo.toml")).map_err(|e| e.to_string())?; + let rwh = workspace .lines() .find(|l| l.starts_with("raw-window-handle = ")) - .ok_or("userland/Cargo.toml patches no raw-window-handle")?; + .ok_or("Cargo.toml patches no raw-window-handle")?; let indented: String = manifest.lines().map(|l| format!(" {l}\n")).collect(); Ok(format!( "The `{HOST}` toolchain that cross-compiles for `x86_64-unknown-toyos`. diff --git a/src/sysroot.rs b/src/sysroot.rs index bd8b40d609b..be74d4c4a62 100644 --- a/src/sysroot.rs +++ b/src/sysroot.rs @@ -82,7 +82,7 @@ pub(crate) const SYSROOT_MANIFESTS: [&str; 7] = [ "toyos-osrelease/Cargo.toml", "userland/libc/Cargo.toml", "userland/libc/Cargo.lock", - "userland/.cargo/config.toml", + ".cargo/config.toml", ]; /// Of [`SYSROOT_MANIFESTS`], the ones std's lockfile resolves with the fork's @@ -1237,7 +1237,7 @@ mod tests { fs::remove_file(&header).unwrap(); same("the C sysroot's headers as they were"); - for read in ["userland/libc/Cargo.toml", "userland/libc/Cargo.lock", "userland/.cargo/config.toml"] { + for read in ["userland/libc/Cargo.toml", "userland/libc/Cargo.lock", ".cargo/config.toml"] { write(&root.join(read), "[package]\nversion = \"0.2.0\"\n"); sysroot_only(&format!("{read}, which std's lockfile does not resolve,")); write(&root.join(read), "[package]\nversion = \"0.1.0\"\n"); diff --git a/src/userlandhost.rs b/src/userlandhost.rs index 71a2483a863..8309d8848b8 100644 --- a/src/userlandhost.rs +++ b/src/userlandhost.rs @@ -30,10 +30,9 @@ //! whose work a `cfg` compiles out of a host checks green there: only review //! holds that (`.claude/agents/reviewer.md`, Hosts). //! -//! `userland/` is a workspace of its own that cross-compiles by default -//! (`userland/.cargo/config.toml`), so none of its crates can be a member of the -//! host workspace [`crate::hostws`] holds; the gate runs `cargo test --target -//! ` in each crate [`survey`] gates instead. There is no list: a crate's +//! Most of `userland/` builds for ToyOS alone, so no crate under it is among the +//! workspace's host members ([`crate::hostws`]); the gate runs `cargo test` on +//! each crate [`survey`] gates instead. There is no list: a crate's //! first test gates the merge that adds it. //! //! **A test is found by reading text**, because cargo's metadata knows targets @@ -512,8 +511,7 @@ mod tests { ); } - /// **Every program the images ship is an app or says why it is not**, the - /// ones outside the userland workspace too. + /// **Every program the images ship is an app or says why it is not**. #[test] fn every_program_the_images_ship_declares_what_it_is_to_a_host() { let root = repo_root(); diff --git a/tests/CLAUDE.md b/tests/CLAUDE.md index 829095721d0..9361f41e995 100644 --- a/tests/CLAUDE.md +++ b/tests/CLAUDE.md @@ -18,4 +18,4 @@ The mechanics live where the work is: profiles and shapes in `tests/common/`, re - **A stimulus sent through a channel that can silently lose it is verified before its effect is asserted** — QEMU's PS/2 queue drops the seventeenth byte, so typed input paces against the guest's report; a guest's console reaches the host as whole lines only, so a partial line exists on no channel. - **A harness field that can be silently inert is this suite's worst defect class** — where two options can describe the same guest they refuse each other by name, and an image is asked what it is armed with. - **A test whose premise is arranged by a defect passes for the wrong reason** — a staging device's resource has to survive its own enumeration. -- **Host suites** are the root `Cargo.toml`'s `[workspace]` members, the kernel's library, the SDK and every userland crate `src/userlandhost.rs` finds a test in; `src/ci.rs`'s `host` runs them all. `kernel/loom/` is the memory-ordering check — x86 TSO hides a missing acquire edge from every guest test. +- **Host suites** are the root `Cargo.toml`'s `[workspace]` members a host builds (`src/hostws.rs`), the kernel's library, the SDK and every userland crate `src/userlandhost.rs` finds a test in; `src/ci.rs`'s `host` runs them all. `kernel/loom/` is the memory-ordering check — x86 TSO hides a missing acquire edge from every guest test. diff --git a/tests/common/power.rs b/tests/common/power.rs index b9fbc7f2f6f..2b05e9e02cb 100644 --- a/tests/common/power.rs +++ b/tests/common/power.rs @@ -426,7 +426,7 @@ pub fn hard_lockup_chain( // The staged control's own witness, carried by the mechanism rather than by // a log line that may not survive: the lock the stuck cpu is inside was // taken at the control's own source line, which no other boot can say. - after.must_say_after(bootlog::PREVIOUS_PANIC, "taken at src/hardlockup/probe.rs")?; + after.must_say_after(bootlog::PREVIOUS_PANIC, "taken at kernel/src/hardlockup/probe.rs")?; // **cpu0's line is what proves the counter rather than a sender.** Nothing // sends cpu0 an NMI on this boot — the control's sender is skipped where the // cpus have counters — so a sample recorded against cpu0 came from cpu0's diff --git a/tests/toyos-rust-tests/Cargo.toml b/tests/toyos-rust-tests/Cargo.toml index 148f0ae471f..e8054018036 100644 --- a/tests/toyos-rust-tests/Cargo.toml +++ b/tests/toyos-rust-tests/Cargo.toml @@ -23,7 +23,7 @@ libloading = { git = "https://github.com/ToyOSOrg/rust_libloading", branch = "to cpal = { git = "https://github.com/ToyOSOrg/cpal", branch = "toyos-0.18.0" } memmap2 = "0.9" -# Separate workspace from userland/, so it needs its own redirects: the forks +# Outside the workspace, so it needs its own redirects: the forks # above depend on ToyOS crates by version, and only a patch maps those to the # working tree. [patch.crates-io] diff --git a/tests/toyos.rs b/tests/toyos.rs index 91c55f30b34..b0ebf22de57 100644 --- a/tests/toyos.rs +++ b/tests/toyos.rs @@ -4249,7 +4249,7 @@ fn run_debug_mode(c_tests: &[(String, Vec)], rust_bins: &[(String, Vec)] let repo = compile::repo_root(); let kernel_elf = repo.join(format!( - "kernel/target/{}/{}/kernel", + "target/{}/{}/kernel", common::qemu::SUITE_ARCH.kernel(), toyos_build::build::PROFILE )); diff --git a/toyos/Cargo.lock b/toyos/Cargo.lock deleted file mode 100644 index c38f92db341..00000000000 --- a/toyos/Cargo.lock +++ /dev/null @@ -1,24 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "rustc-std-workspace-core" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9c45b374136f52f2d6311062c7146bff20fec063c3f5d46a410bd937746955" - -[[package]] -name = "toyos" -version = "0.18.0" -dependencies = [ - "rustc-std-workspace-core", - "toyos-abi", -] - -[[package]] -name = "toyos-abi" -version = "0.16.0" -dependencies = [ - "rustc-std-workspace-core", -] diff --git a/userland/.cargo/config.toml b/userland/.cargo/config.toml deleted file mode 100644 index 2ed8cca7f42..00000000000 --- a/userland/.cargo/config.toml +++ /dev/null @@ -1,6 +0,0 @@ -[toolchain] -channel = "toyos" - -[build] -target = "x86_64-unknown-toyos" -rustflags = ["-Dwarnings"] \ No newline at end of file diff --git a/userland/Cargo.lock b/userland/Cargo.lock deleted file mode 100644 index 0d33d2167ab..00000000000 --- a/userland/Cargo.lock +++ /dev/null @@ -1,5322 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "acpiserver" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-acpi", - "toyos-aml", -] - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common 0.1.7", - "generic-array 0.14.7", -] - -[[package]] -name = "aead" -version = "0.6.0-rc.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b657e772794c6b04730ea897b66a058ccd866c16d1967da05eeeecec39043fe" -dependencies = [ - "crypto-common 0.2.1", - "inout 0.2.2", -] - -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher 0.4.4", - "cpufeatures 0.2.17", -] - -[[package]] -name = "aes" -version = "0.9.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04097e08a47d9ad181c2e1f4a5fabc9ae06ce8839a333ba9a949bcb0d31fd2a3" -dependencies = [ - "cipher 0.5.1", - "cpubits", - "cpufeatures 0.2.17", -] - -[[package]] -name = "aes-gcm" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" -dependencies = [ - "aead 0.5.2", - "aes 0.8.4", - "cipher 0.4.4", - "ctr 0.9.2", - "ghash 0.5.1", - "subtle", -] - -[[package]] -name = "aes-gcm" -version = "0.11.0-rc.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22c0c90bbe8d4f77c3ca9ddabe41a1f8382d6fc1f7cea89459d0f320371f972" -dependencies = [ - "aead 0.6.0-rc.10", - "aes 0.9.0-rc.4", - "cipher 0.5.1", - "ctr 0.10.0-rc.4", - "ghash 0.6.0", - "subtle", -] - -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom 0.3.4", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "alsa" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812947049edcd670a82cd5c73c3661d2e58468577ba8489de58e1a73c04cbd5d" -dependencies = [ - "alsa-sys", - "bitflags 2.11.0", - "cfg-if", - "libc", -] - -[[package]] -name = "alsa-sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7569085a265dd3f607ebecce7458eaab2132a84393534c95b18dcbc3f31e04" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "android-activity" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" -dependencies = [ - "android-properties", - "bitflags 2.11.0", - "cc", - "cesu8", - "jni 0.21.1", - "jni-sys 0.3.0", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "num_enum", - "thiserror 1.0.69", -] - -[[package]] -name = "android-properties" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" - -[[package]] -name = "argon2" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" -dependencies = [ - "base64ct", - "blake2", - "cpufeatures 0.2.17", - "password-hash", -] - -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - -[[package]] -name = "arrayvec" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base16ct" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" - -[[package]] -name = "base64ct" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" - -[[package]] -name = "bcachefs" -version = "0.1.0" - -[[package]] -name = "bcrypt-pbkdf" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2" -dependencies = [ - "blowfish", - "pbkdf2 0.12.2", - "sha2 0.10.9", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "block-buffer" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" -dependencies = [ - "hybrid-array", -] - -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "block-padding" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710f1dd022ef4e93f8a438b4ba958de7f64308434fa6a87104481645cc30068b" -dependencies = [ - "hybrid-array", -] - -[[package]] -name = "block2" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" -dependencies = [ - "objc2 0.5.2", -] - -[[package]] -name = "block2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2 0.6.4", -] - -[[package]] -name = "blowfish" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" -dependencies = [ - "byteorder", - "cipher 0.4.4", -] - -[[package]] -name = "bumpalo" -version = "3.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" - -[[package]] -name = "bytemuck" -version = "1.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" - -[[package]] -name = "calc" -version = "0.1.0" -dependencies = [ - "fontdue", - "softbuffer", - "toyos-font", - "winit", -] - -[[package]] -name = "calloop" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" -dependencies = [ - "bitflags 2.11.0", - "log", - "polling", - "rustix 0.38.44", - "slab", - "thiserror 1.0.69", -] - -[[package]] -name = "calloop-wayland-source" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" -dependencies = [ - "calloop", - "rustix 0.38.44", - "wayland-backend", - "wayland-client", -] - -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "cbc" -version = "0.2.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab1412b9ae2463ede01f1e591412dfbcfeacecf40e8c4c3e0655814c19065c38" -dependencies = [ - "cipher 0.5.1", -] - -[[package]] -name = "cc" -version = "1.2.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" -dependencies = [ - "find-msvc-tools", - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chacha20" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" -dependencies = [ - "cfg-if", - "cipher 0.4.4", - "cpufeatures 0.2.17", -] - -[[package]] -name = "chacha20" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "rand_core 0.10.0", -] - -[[package]] -name = "chacha20poly1305" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" -dependencies = [ - "aead 0.5.2", - "chacha20 0.9.1", - "cipher 0.4.4", - "poly1305", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common 0.1.7", - "inout 0.1.4", - "zeroize", -] - -[[package]] -name = "cipher" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" -dependencies = [ - "block-buffer 0.12.0", - "crypto-common 0.2.1", - "inout 0.2.2", -] - -[[package]] -name = "cmov" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "compositor" -version = "0.1.0" -dependencies = [ - "sprite", - "toyos", - "toyos-abi", - "toyos-desktop", - "toyos-font", - "toyos-inspect", - "toyos-manifest", - "toyos-window", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console" -version = "0.1.0" -dependencies = [ - "logkeeper-api", - "terminal", - "toyos", - "toyos-abi", - "toyos-font", - "toyos-logstream", - "toyos-window", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "const-oid" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core-graphics" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "libc", -] - -[[package]] -name = "coreaudio-rs" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5d7dca3ebcf65a035582c9ad4385371a9d9ee6537474d2a278f4e1e475bb58" -dependencies = [ - "bitflags 2.11.0", - "libc", - "objc2-audio-toolbox", - "objc2-core-audio", - "objc2-core-audio-types", - "objc2-core-foundation", -] - -[[package]] -name = "cpal" -version = "0.18.0" -source = "git+https://github.com/ToyOSOrg/cpal?branch=toyos-0.18.0#f46381d27cad65aa5ef5ece5cec1227aa31ef269" -dependencies = [ - "alsa", - "block2 0.6.2", - "coreaudio-rs", - "dasp_sample", - "jni 0.22.4", - "js-sys", - "libc", - "mach2", - "ndk", - "ndk-context", - "num-derive", - "num-traits", - "objc2 0.6.4", - "objc2-audio-toolbox", - "objc2-avf-audio", - "objc2-core-audio", - "objc2-core-audio-types", - "objc2-core-foundation", - "objc2-foundation 0.3.2", - "toyos", - "toyos-abi", - "web-sys", - "windows", - "windows-core", -] - -[[package]] -name = "cpubits" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef0c543070d296ea414df2dd7625d1b24866ce206709d8a4a424f28377f5861" - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-bigint" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" -dependencies = [ - "cpubits", - "ctutils", - "getrandom 0.4.2", - "hybrid-array", - "num-traits", - "rand_core 0.10.0", - "serdect", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "typenum", -] - -[[package]] -name = "crypto-common" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" -dependencies = [ - "getrandom 0.4.2", - "hybrid-array", - "rand_core 0.10.0", -] - -[[package]] -name = "crypto-primes" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21f41f23de7d24cdbda7f0c4d9c0351f99a4ceb258ef30e5c1927af8987ffe5a" -dependencies = [ - "crypto-bigint 0.7.3", - "libm", - "rand_core 0.10.0", -] - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "ctr" -version = "0.10.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee683dd898fbd052617b4514bc31f98bc32081a83b69ec46adef3b1ef4ae36f" -dependencies = [ - "cipher 0.5.1", -] - -[[package]] -name = "ctutils" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" -dependencies = [ - "cmov", - "subtle", -] - -[[package]] -name = "cursor-icon" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto 0.2.9", - "rustc_version", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek" -version = "5.0.0-pre.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335f1947f241137a14106b6f5acc5918a5ede29c9d71d3f2cb1678d5075d9fc3" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "curve25519-dalek-derive", - "digest 0.11.1", - "fiat-crypto 0.3.0", - "rustc_version", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "dasp_sample" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" - -[[package]] -name = "data-encoding" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" - -[[package]] -name = "data-url" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" - -[[package]] -name = "defmt" -version = "0.3.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0963443817029b2024136fc4dd07a5107eb8f977eaf18fcd1fdeb11306b64ad" -dependencies = [ - "defmt 1.1.1", -] - -[[package]] -name = "defmt" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" -dependencies = [ - "bitflags 1.3.2", - "defmt-macros", -] - -[[package]] -name = "defmt-macros" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" -dependencies = [ - "defmt-parser", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "defmt-parser" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" -dependencies = [ - "thiserror 2.0.18", -] - -[[package]] -name = "delegate" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780eb241654bf097afb00fc5f054a09b687dad862e485fdcf8399bb056565370" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "der" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" -dependencies = [ - "const-oid 0.9.6", - "pem-rfc7468 0.7.0", - "zeroize", -] - -[[package]] -name = "der" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b" -dependencies = [ - "const-oid 0.10.2", - "pem-rfc7468 1.0.0", - "zeroize", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer 0.10.4", - "const-oid 0.9.6", - "crypto-common 0.1.7", - "subtle", -] - -[[package]] -name = "digest" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243" -dependencies = [ - "block-buffer 0.12.0", - "const-oid 0.10.2", - "crypto-common 0.2.1", - "ctutils", -] - -[[package]] -name = "diskserver" -version = "0.0.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-blockhold", - "toyos-blockring", - "toyos-gpt", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dispatch2" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" -dependencies = [ - "bitflags 2.11.0", - "objc2 0.6.4", -] - -[[package]] -name = "dlib" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a" -dependencies = [ - "libloading", -] - -[[package]] -name = "doom" -version = "0.1.0" -dependencies = [ - "cc", - "cpal", - "flate2", - "rustls-rustcrypto", - "rustysynth", - "softbuffer", - "tar", - "ureq", - "webpki-roots", - "winit", -] - -[[package]] -name = "downcast-rs" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" - -[[package]] -name = "dpi" -version = "0.1.1" -source = "git+https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3bca784d97056fe47475c2dca8c6386816" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der 0.7.10", - "digest 0.10.7", - "elliptic-curve 0.13.8", - "rfc6979 0.4.0", - "signature 2.2.0", - "spki 0.7.3", -] - -[[package]] -name = "ecdsa" -version = "0.17.0-rc.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91bbdd377139884fafcad8dc43a760a3e1e681aa26db910257fa6535b70e1829" -dependencies = [ - "der 0.8.0", - "digest 0.11.1", - "elliptic-curve 0.14.0-rc.29", - "rfc6979 0.5.0-rc.5", - "signature 3.0.0-rc.10", - "spki 0.8.0-rc.4", - "zeroize", -] - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8 0.10.2", - "signature 2.2.0", -] - -[[package]] -name = "ed25519" -version = "3.0.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e914c7c52decb085cea910552e24c63ac019e3ab8bf001ff736da9a9d9d890" -dependencies = [ - "pkcs8 0.11.0-rc.11", - "signature 3.0.0-rc.10", -] - -[[package]] -name = "ed25519-dalek" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" -dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", - "serde", - "sha2 0.10.9", - "subtle", - "zeroize", -] - -[[package]] -name = "ed25519-dalek" -version = "3.0.0-pre.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053618a4c3d3bc24f188aa660ae75a46eeab74ef07fb415c61431e5e7cd4749b" -dependencies = [ - "curve25519-dalek 5.0.0-pre.6", - "ed25519 3.0.0-rc.4", - "rand_core 0.10.0", - "serde", - "sha2 0.11.0-rc.5", - "signature 3.0.0-rc.10", - "subtle", - "zeroize", -] - -[[package]] -name = "editor" -version = "0.1.0" -dependencies = [ - "filepicker-api", - "toyos-font", - "toyos-window", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.5", - "digest 0.10.7", - "ff", - "generic-array 0.14.7", - "group", - "hkdf 0.12.4", - "pem-rfc7468 0.7.0", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "sec1 0.7.3", - "subtle", - "zeroize", -] - -[[package]] -name = "elliptic-curve" -version = "0.14.0-rc.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e84043d573efd4ac9d2d125817979a379204bf7e328b25a4a30487e8d100e618" -dependencies = [ - "base16ct 1.0.0", - "crypto-bigint 0.7.3", - "crypto-common 0.2.1", - "digest 0.11.1", - "hkdf 0.13.0-rc.5", - "hybrid-array", - "once_cell", - "pem-rfc7468 1.0.0", - "pkcs8 0.11.0-rc.11", - "rand_core 0.10.0", - "rustcrypto-ff", - "rustcrypto-group", - "sec1 0.8.1", - "subtle", - "zeroize", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "euclid" -version = "0.22.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df61bf483e837f88d5c2291dcf55c67be7e676b3a51acc48db3a7b163b91ed63" -dependencies = [ - "num-traits", -] - -[[package]] -name = "fastrand" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" - -[[package]] -name = "fdeflate" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "ff" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "fiat-crypto" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" - -[[package]] -name = "filepicker" -version = "0.1.0" -dependencies = [ - "filepicker-api", - "toyos", - "toyos-font", - "toyos-window", -] - -[[package]] -name = "filepicker-api" -version = "0.1.0" -dependencies = [ - "toyos", -] - -[[package]] -name = "files" -version = "0.1.0" -dependencies = [ - "sprite", - "toyos-font", - "toyos-window", -] - -[[package]] -name = "fileserver" -version = "0.0.0" -dependencies = [ - "bcachefs", - "diskserver", - "toyos", - "toyos-abi", - "toyos-blockring", - "toyos-fat32", - "toyos-gpt", - "toyos-manifest", -] - -[[package]] -name = "filetime" -version = "0.2.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" -dependencies = [ - "cfg-if", - "libc", -] - -[[package]] -name = "find-msvc-tools" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" - -[[package]] -name = "flate2" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" -dependencies = [ - "crc32fast", - "miniz_oxide 0.9.1", - "zlib-rs", -] - -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "fontdue" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e57e16b3fe8ff4364c0661fdaac543fb38b29ea9bc9c2f45612d90adf931d2b" -dependencies = [ - "hashbrown 0.15.5", - "ttf-parser", -] - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.6", -] - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - -[[package]] -name = "futures" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" - -[[package]] -name = "futures-executor" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" - -[[package]] -name = "futures-macro" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "futures-sink" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" - -[[package]] -name = "futures-task" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" - -[[package]] -name = "futures-util" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "generic-array" -version = "1.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf57c49a95fd1fe24b90b3033bee6dc7e8f1288d51494cb44e627c295e38542" -dependencies = [ - "generic-array 0.14.7", - "rustversion", - "typenum", -] - -[[package]] -name = "getrandom" -version = "0.2.17" -source = "git+https://github.com/ToyOSOrg/getrandom?branch=toyos-0.2-sdk-0.12#2092d1ccd2833f00559ed27850c576ab37fe9347" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "toyos-abi", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "git+https://github.com/ToyOSOrg/getrandom?branch=toyos-0.3-sdk-0.12#67c17e0a7cd6d29e8ce231073746970cbd7dade7" -dependencies = [ - "cfg-if", - "libc", - "r-efi 5.3.0", - "toyos-abi", - "wasip2", -] - -[[package]] -name = "getrandom" -version = "0.4.2" -source = "git+https://github.com/ToyOSOrg/getrandom?branch=toyos-0.4#f0286c8b3f0cd6d9fa9124ee837fa404e66313a7" -dependencies = [ - "cfg-if", - "libc", - "r-efi 6.0.0", - "rand_core 0.10.0", - "toyos-abi", - "wasip2", - "wasip3", -] - -[[package]] -name = "ghash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" -dependencies = [ - "opaque-debug", - "polyval 0.6.2", -] - -[[package]] -name = "ghash" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eecf2d5dc9b66b732b97707a0210906b1d30523eb773193ab777c0c84b3e8d5" -dependencies = [ - "polyval 0.7.1", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "hash32" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" -dependencies = [ - "byteorder", -] - -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hashbrown" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" - -[[package]] -name = "heapless" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" -dependencies = [ - "hash32", - "stable_deref_trait", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac 0.12.1", -] - -[[package]] -name = "hkdf" -version = "0.13.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb55385998ae66b8d2d5143c05c94b9025ab863966f0c94ce7a5fde30105092" -dependencies = [ - "hmac 0.13.0-rc.5", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "hmac" -version = "0.13.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef451d73f36d8a3f93ad32c332ea01146c9650e1ec821a9b0e46c01277d544f8" -dependencies = [ - "digest 0.11.1", -] - -[[package]] -name = "host" -version = "0.1.0" - -[[package]] -name = "http" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" -dependencies = [ - "bytes", - "itoa", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "hybrid-array" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" -dependencies = [ - "ctutils", - "subtle", - "typenum", - "zeroize", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.65" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - -[[package]] -name = "imagesize" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c" - -[[package]] -name = "indexmap" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" -dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", -] - -[[package]] -name = "inout" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" -dependencies = [ - "block-padding 0.3.3", - "generic-array 0.14.7", -] - -[[package]] -name = "inout" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" -dependencies = [ - "block-padding 0.4.2", - "hybrid-array", -] - -[[package]] -name = "inspect" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-inspect", -] - -[[package]] -name = "internal-russh-forked-ssh-key" -version = "0.6.18+upstream-0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f8a978272e3cbdf4768f7363eb1c8e1e6ba63c52a3ed05e29e222da4aec7cb" -dependencies = [ - "argon2", - "bcrypt-pbkdf", - "crypto-bigint 0.7.3", - "ecdsa 0.17.0-rc.16", - "ed25519-dalek 3.0.0-pre.6", - "hex", - "hmac 0.13.0-rc.5", - "num-bigint-dig", - "p256 0.14.0-rc.8", - "p384 0.14.0-rc.8", - "p521", - "rand_core 0.10.0", - "rsa 0.10.0-rc.17", - "sec1 0.8.1", - "sha1 0.11.0-rc.5", - "sha2 0.11.0-rc.5", - "signature 3.0.0-rc.10", - "ssh-cipher", - "ssh-encoding", - "subtle", - "zeroize", -] - -[[package]] -name = "internal-russh-num-bigint" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8e22120c32fb4d19ec55fba35015f57095cd95a2e3b732e44457f5915b2ee8" -dependencies = [ - "num-integer", - "num-traits", - "rand 0.10.0", - "rand_core 0.10.0", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys 0.3.0", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" -dependencies = [ - "cfg-if", - "combine", - "jni-macros", - "jni-sys 0.4.1", - "log", - "simd_cesu8", - "thiserror 2.0.18", - "walkdir", - "windows-link", -] - -[[package]] -name = "jni-macros" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "simd_cesu8", - "syn 2.0.117", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "jni-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" -dependencies = [ - "jni-sys-macros", -] - -[[package]] -name = "jni-sys-macros" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" -dependencies = [ - "quote", - "syn 2.0.117", -] - -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom 0.3.4", - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "keccak" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aa" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", -] - -[[package]] -name = "kem" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01737161ba802849cfd486b5bd209d38ba4943494c249a8126005170c7621edd" -dependencies = [ - "crypto-common 0.2.1", - "rand_core 0.10.0", -] - -[[package]] -name = "kernelprobe" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "kurbo" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb" -dependencies = [ - "arrayvec", - "euclid", - "smallvec", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] - -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - -[[package]] -name = "libc" -version = "0.2.190" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" - -[[package]] -name = "libloading" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" -dependencies = [ - "cfg-if", - "windows-link", -] - -[[package]] -name = "libm" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" - -[[package]] -name = "libredox" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" -dependencies = [ - "bitflags 2.11.0", - "libc", - "plain", - "redox_syscall 0.7.3", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "linux-raw-sys" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" - -[[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" - -[[package]] -name = "logkeeper" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-elide", - "toyos-inspect", - "toyos-logstream", - "toyos-wallclock", -] - -[[package]] -name = "logkeeper-api" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-logstream", -] - -[[package]] -name = "mach2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" - -[[package]] -name = "managed" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d" - -[[package]] -name = "md5" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" - -[[package]] -name = "memchr" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" - -[[package]] -name = "memmap2" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0" -dependencies = [ - "libc", -] - -[[package]] -name = "metalprobe" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-tco", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "miniz_oxide" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "1.2.0" -source = "git+https://github.com/ToyOSOrg/mio?branch=toyos#d1edcaaddb7d4b651fb996e034d1b5e5ec9aef25" -dependencies = [ - "libc", - "toyos", - "toyos-abi", - "wasi", - "windows-sys 0.61.2", -] - -[[package]] -name = "ml-kem" -version = "0.3.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04437cb1a66c0b78740927b76cc61f218344b9f6ef3dd430e283274a718ef0e9" -dependencies = [ - "hybrid-array", - "kem", - "module-lattice", - "rand_core 0.10.0", - "sha3", -] - -[[package]] -name = "module-lattice" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164eb3faeaecbd14b0b2a917c1b4d0c035097a9c559b0bed85c2cdd032bc8faa" -dependencies = [ - "ctutils", - "hybrid-array", - "num-traits", -] - -[[package]] -name = "ndk" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" -dependencies = [ - "bitflags 2.11.0", - "jni-sys 0.3.0", - "log", - "ndk-sys", - "num_enum", - "raw-window-handle", - "thiserror 1.0.69", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.6.0+11769913" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" -dependencies = [ - "jni-sys 0.3.0", -] - -[[package]] -name = "netstack" -version = "0.0.0" -dependencies = [ - "smoltcp", - "toyos", - "toyos-abi", - "toyos-dns", - "toyos-i219", - "toyos-inspect", - "toyos-mdns", - "toyos-tco", -] - -[[package]] -name = "nix" -version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" -dependencies = [ - "bitflags 2.11.0", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" -dependencies = [ - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "serde", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_enum" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" -dependencies = [ - "num_enum_derive", - "rustversion", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "objc-sys" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" - -[[package]] -name = "objc2" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" -dependencies = [ - "objc-sys", - "objc2-encode", -] - -[[package]] -name = "objc2" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" -dependencies = [ - "objc2-encode", -] - -[[package]] -name = "objc2-app-kit" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "libc", - "objc2 0.5.2", - "objc2-core-data", - "objc2-core-image", - "objc2-foundation 0.2.2", - "objc2-quartz-core 0.2.2", -] - -[[package]] -name = "objc2-audio-toolbox" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6948501a91121d6399b79abaa33a8aa4ea7857fe019f341b8c23ad6e81b79b08" -dependencies = [ - "bitflags 2.11.0", - "libc", - "objc2 0.6.4", - "objc2-core-audio", - "objc2-core-audio-types", - "objc2-core-foundation", - "objc2-foundation 0.3.2", -] - -[[package]] -name = "objc2-avf-audio" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be" -dependencies = [ - "bitflags 2.11.0", - "objc2 0.6.4", - "objc2-foundation 0.3.2", -] - -[[package]] -name = "objc2-cloud-kit" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-core-location", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-contacts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" -dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-core-audio" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2" -dependencies = [ - "dispatch2", - "objc2 0.6.4", - "objc2-core-audio-types", - "objc2-core-foundation", - "objc2-foundation 0.3.2", -] - -[[package]] -name = "objc2-core-audio-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c" -dependencies = [ - "bitflags 2.11.0", - "objc2 0.6.4", -] - -[[package]] -name = "objc2-core-data" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags 2.11.0", - "block2 0.6.2", - "dispatch2", - "libc", - "objc2 0.6.4", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" -dependencies = [ - "bitflags 2.11.0", - "dispatch2", - "objc2 0.6.4", - "objc2-core-foundation", - "objc2-io-surface", -] - -[[package]] -name = "objc2-core-image" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" -dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", - "objc2-metal", -] - -[[package]] -name = "objc2-core-location" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" -dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-contacts", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - -[[package]] -name = "objc2-foundation" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "dispatch", - "libc", - "objc2 0.5.2", -] - -[[package]] -name = "objc2-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" -dependencies = [ - "bitflags 2.11.0", - "block2 0.6.2", - "libc", - "objc2 0.6.4", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-io-surface" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" -dependencies = [ - "bitflags 2.11.0", - "objc2 0.6.4", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-link-presentation" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" -dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-app-kit", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-metal" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", - "objc2-metal", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" -dependencies = [ - "bitflags 2.11.0", - "objc2 0.6.4", - "objc2-core-foundation", - "objc2-foundation 0.3.2", -] - -[[package]] -name = "objc2-symbols" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" -dependencies = [ - "objc2 0.5.2", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-ui-kit" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-cloud-kit", - "objc2-core-data", - "objc2-core-image", - "objc2-core-location", - "objc2-foundation 0.2.2", - "objc2-link-presentation", - "objc2-quartz-core 0.2.2", - "objc2-symbols", - "objc2-uniform-type-identifiers", - "objc2-user-notifications", -] - -[[package]] -name = "objc2-uniform-type-identifiers" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" -dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-user-notifications" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" -dependencies = [ - "bitflags 2.11.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-core-location", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "once_cell" -version = "1.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "orbclient" -version = "0.3.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ad2c6bae700b7aa5d1cc30c59bdd3a1c180b09dbaea51e2ae2b8e1cf211fdd" -dependencies = [ - "libc", - "libredox", -] - -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder 0.13.6", - "sha2 0.10.9", -] - -[[package]] -name = "p256" -version = "0.14.0-rc.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f0a10fe314869359cb2901342b045f4e5a962ef9febc006f03d2a8c848fe4c" -dependencies = [ - "ecdsa 0.17.0-rc.16", - "elliptic-curve 0.14.0-rc.29", - "primefield", - "primeorder 0.14.0-rc.8", - "sha2 0.11.0-rc.5", -] - -[[package]] -name = "p384" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" -dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder 0.13.6", - "sha2 0.10.9", -] - -[[package]] -name = "p384" -version = "0.14.0-rc.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b079e66810c55ab3d6ba424e056dc4aefcdb8046c8c3f3816142edbdd7af7721" -dependencies = [ - "ecdsa 0.17.0-rc.16", - "elliptic-curve 0.14.0-rc.29", - "fiat-crypto 0.3.0", - "primefield", - "primeorder 0.14.0-rc.8", - "sha2 0.11.0-rc.5", -] - -[[package]] -name = "p521" -version = "0.14.0-rc.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eecc34c4c6e6596d5271fecf90ac4f16593fa198e77282214d0c22736aa9266" -dependencies = [ - "base16ct 1.0.0", - "ecdsa 0.17.0-rc.16", - "elliptic-curve 0.14.0-rc.29", - "primefield", - "primeorder 0.14.0-rc.8", - "sha2 0.11.0-rc.5", -] - -[[package]] -name = "pageant" -version = "0.2.0" -source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" -dependencies = [ - "byteorder", - "bytes", - "delegate", - "futures", - "log", - "rand 0.10.0", - "sha2 0.10.9", - "thiserror 2.0.18", - "tokio", - "windows", - "windows-strings", -] - -[[package]] -name = "paint" -version = "0.1.0" -dependencies = [ - "filepicker-api", - "toyos-font", - "toyos-window", -] - -[[package]] -name = "password-hash" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", -] - -[[package]] -name = "pbkdf2" -version = "0.13.0-rc.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8dfa4e14084d963d35bfb4cdb38712cde78dcf83054c0e8b9b8e899150f374e" -dependencies = [ - "digest 0.11.1", - "hmac 0.13.0-rc.5", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "pem-rfc7468" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "pico-args" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" - -[[package]] -name = "pin-project" -version = "1.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der 0.7.10", - "pkcs8 0.10.2", - "spki 0.7.3", -] - -[[package]] -name = "pkcs1" -version = "0.8.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" -dependencies = [ - "der 0.8.0", - "spki 0.8.0-rc.4", -] - -[[package]] -name = "pkcs5" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" -dependencies = [ - "der 0.7.10", - "spki 0.7.3", -] - -[[package]] -name = "pkcs5" -version = "0.8.0-rc.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a777c6e26664bc9504b3ce3f6133f8f20d9071f130a4f9fcbd3186959d8dd6" -dependencies = [ - "aes 0.9.0-rc.4", - "aes-gcm 0.11.0-rc.3", - "cbc 0.2.0-rc.4", - "der 0.8.0", - "pbkdf2 0.13.0-rc.9", - "rand_core 0.10.0", - "scrypt", - "sha2 0.11.0-rc.5", - "spki 0.8.0-rc.4", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der 0.7.10", - "pkcs5 0.7.1", - "spki 0.7.3", -] - -[[package]] -name = "pkcs8" -version = "0.11.0-rc.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12922b6296c06eb741b02d7b5161e3aaa22864af38dfa025a1a3ba3f68c84577" -dependencies = [ - "der 0.8.0", - "pkcs5 0.8.0-rc.13", - "rand_core 0.10.0", - "spki 0.8.0-rc.4", -] - -[[package]] -name = "pkg" -version = "0.1.0" -dependencies = [ - "flate2", - "sha2 0.10.9", - "toyos-manifest", - "toyos-tmpdir", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "plain" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" - -[[package]] -name = "png" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" -dependencies = [ - "bitflags 2.11.0", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide 0.8.9", -] - -[[package]] -name = "polling" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix 1.1.5", - "windows-sys 0.61.2", -] - -[[package]] -name = "poly1305" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" -dependencies = [ - "cpufeatures 0.2.17", - "opaque-debug", - "universal-hash 0.5.1", -] - -[[package]] -name = "polyval" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "opaque-debug", - "universal-hash 0.5.1", -] - -[[package]] -name = "polyval" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfc63250416fea14f5749b90725916a6c903f599d51cb635aa7a52bfd03eede" -dependencies = [ - "cpubits", - "cpufeatures 0.3.0", - "universal-hash 0.6.1", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.117", -] - -[[package]] -name = "primal-check" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08" -dependencies = [ - "num-integer", -] - -[[package]] -name = "primefield" -version = "0.14.0-rc.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6543f5eec854fbf74ba5ef651fbdc9408919b47c3e1526623687135c16d12e9" -dependencies = [ - "crypto-bigint 0.7.3", - "crypto-common 0.2.1", - "rand_core 0.10.0", - "rustcrypto-ff", - "subtle", - "zeroize", -] - -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve 0.13.8", -] - -[[package]] -name = "primeorder" -version = "0.14.0-rc.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "569d9ad6ef822bb0322c7e7d84e5e286244050bd5246cac4c013535ae91c2c90" -dependencies = [ - "elliptic-curve 0.14.0-rc.29", -] - -[[package]] -name = "proc-macro-crate" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro2" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proctest" -version = "0.1.0" - -[[package]] -name = "quick-xml" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "r-efi" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" -dependencies = [ - "chacha20 0.10.0", - "getrandom 0.4.2", - "rand_core 0.10.0", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.17", -] - -[[package]] -name = "rand_core" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" - -[[package]] -name = "raw-window-handle" -version = "0.6.2" -source = "git+https://github.com/ToyOSOrg/raw-window-handle?branch=toyos-0.6.2#2a5d102bdbd5dc987b653a7ffff5bedbbbfc53b3" - -[[package]] -name = "realfft" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f821338fddb99d089116342c46e9f1fbf3828dba077674613e734e01d6ea8677" -dependencies = [ - "rustfft", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags 2.11.0", -] - -[[package]] -name = "redox_syscall" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" -dependencies = [ - "bitflags 2.11.0", -] - -[[package]] -name = "resvg" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81" -dependencies = [ - "log", - "pico-args", - "rgb", - "svgtypes", - "tiny-skia", - "usvg", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac 0.12.1", - "subtle", -] - -[[package]] -name = "rfc6979" -version = "0.5.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a3127ee32baec36af75b4107082d9bd823501ec14a4e016be4b6b37faa74ae" -dependencies = [ - "hmac 0.13.0-rc.5", - "subtle", -] - -[[package]] -name = "rgb" -version = "0.8.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.17", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "roxmltree" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb" -dependencies = [ - "memchr", -] - -[[package]] -name = "rsa" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" -dependencies = [ - "const-oid 0.9.6", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1 0.7.5", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "sha2 0.10.9", - "signature 2.2.0", - "spki 0.7.3", - "subtle", - "zeroize", -] - -[[package]] -name = "rsa" -version = "0.10.0-rc.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ed3e93fc7e473e464b9726f4759659e72bc8665e4b8ea227547024f416d905" -dependencies = [ - "const-oid 0.10.2", - "crypto-bigint 0.7.3", - "crypto-primes", - "digest 0.11.1", - "pkcs1 0.8.0-rc.4", - "pkcs8 0.11.0-rc.11", - "rand_core 0.10.0", - "sha2 0.11.0-rc.5", - "signature 3.0.0-rc.10", - "spki 0.8.0-rc.4", - "zeroize", -] - -[[package]] -name = "rubato" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5258099699851cfd0082aeb645feb9c084d9a5e1f1b8d5372086b989fc5e56a1" -dependencies = [ - "num-complex", - "num-integer", - "num-traits", - "realfft", -] - -[[package]] -name = "russh" -version = "0.60.0" -source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" -dependencies = [ - "aes 0.8.4", - "aes-gcm 0.10.3", - "bitflags 2.11.0", - "block-padding 0.3.3", - "byteorder", - "bytes", - "cbc 0.1.2", - "chacha20 0.9.1", - "cipher 0.5.1", - "crypto-bigint 0.7.3", - "ctr 0.9.2", - "curve25519-dalek 5.0.0-pre.6", - "data-encoding", - "delegate", - "der 0.8.0", - "digest 0.10.7", - "ecdsa 0.17.0-rc.16", - "ed25519-dalek 3.0.0-pre.6", - "elliptic-curve 0.14.0-rc.29", - "enum_dispatch", - "flate2", - "futures", - "generic-array 1.3.5", - "getrandom 0.2.17", - "hex-literal", - "hmac 0.12.1", - "inout 0.1.4", - "internal-russh-forked-ssh-key", - "internal-russh-num-bigint", - "log", - "md5", - "ml-kem", - "module-lattice", - "p256 0.14.0-rc.8", - "p384 0.14.0-rc.8", - "p521", - "pageant", - "pbkdf2 0.12.2", - "pkcs1 0.8.0-rc.4", - "pkcs5 0.8.0-rc.13", - "pkcs8 0.11.0-rc.11", - "poly1305", - "polyval 0.7.1", - "rand 0.10.0", - "rand_core 0.10.0", - "rsa 0.10.0-rc.17", - "russh-cryptovec", - "russh-util", - "sec1 0.8.1", - "sha1 0.10.6", - "sha2 0.10.9", - "signature 3.0.0-rc.10", - "spki 0.8.0-rc.4", - "ssh-encoding", - "subtle", - "thiserror 2.0.18", - "tokio", - "typenum", - "universal-hash 0.6.1", - "zeroize", -] - -[[package]] -name = "russh-cryptovec" -version = "0.59.0" -source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" -dependencies = [ - "log", - "nix", - "ssh-encoding", - "windows-sys 0.61.2", -] - -[[package]] -name = "russh-util" -version = "0.52.0" -source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" -dependencies = [ - "chrono", - "tokio", - "wasm-bindgen", - "wasm-bindgen-futures", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustcrypto-ff" -version = "0.14.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd2a8adb347447693cd2ba0d218c4b66c62da9b0a5672b17b981e4291ec65ff6" -dependencies = [ - "rand_core 0.10.0", - "subtle", -] - -[[package]] -name = "rustcrypto-group" -version = "0.14.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "369f9b61aa45933c062c9f6b5c3c50ab710687eca83dd3802653b140b43f85ed" -dependencies = [ - "rand_core 0.10.0", - "rustcrypto-ff", - "subtle", -] - -[[package]] -name = "rustfft" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89" -dependencies = [ - "num-complex", - "num-integer", - "num-traits", - "primal-check", - "strength_reduce", - "transpose", -] - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.11.0", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustix" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" -dependencies = [ - "bitflags 2.11.0", - "errno", - "libc", - "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", -] - -[[package]] -name = "rustls" -version = "0.23.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" -dependencies = [ - "log", - "once_cell", - "rustls-pki-types", - "rustls-webpki 0.103.15", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pki-types" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96" -dependencies = [ - "zeroize", -] - -[[package]] -name = "rustls-rustcrypto" -version = "0.0.2-alpha" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12052947763ab8515f753315357599e9b0b4dab3b8ba15f30f725fe6d025557" -dependencies = [ - "aead 0.5.2", - "aes-gcm 0.10.3", - "chacha20poly1305", - "crypto-common 0.1.7", - "der 0.7.10", - "digest 0.10.7", - "ecdsa 0.16.9", - "ed25519-dalek 2.2.0", - "hmac 0.12.1", - "p256 0.13.2", - "p384 0.13.1", - "paste", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "rsa 0.9.10", - "rustls", - "rustls-pki-types", - "rustls-webpki 0.102.8", - "sec1 0.7.3", - "sha2 0.10.9", - "signature 2.2.0", - "x25519-dalek", -] - -[[package]] -name = "rustls-webpki" -version = "0.102.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "rustysynth" -version = "1.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ca93af923df5fc03beddbf464242620fd24daa9e10f9ecd56eb9571eb7ba38" - -[[package]] -name = "salsa20" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f874456e72520ff1375a06c588eaf074b0f01f9e9e1aada45bd9b7954a6e42c" -dependencies = [ - "cfg-if", - "cipher 0.5.1", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scrypt" -version = "0.12.0-rc.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03ed5b54ed5fcc8e016cd94301416bc2c01c05c87a6742b97468337c8804598" -dependencies = [ - "cfg-if", - "pbkdf2 0.13.0-rc.9", - "salsa20", - "sha2 0.11.0-rc.5", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct 0.2.0", - "der 0.7.10", - "generic-array 0.14.7", - "pkcs8 0.10.2", - "subtle", - "zeroize", -] - -[[package]] -name = "sec1" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d" -dependencies = [ - "base16ct 1.0.0", - "ctutils", - "der 0.8.0", - "hybrid-array", - "subtle", - "zeroize", -] - -[[package]] -name = "semver" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" - -[[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serdect" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9af4a3e75ebd5599b30d4de5768e00b5095d518a79fefc3ecbaf77e665d1ec06" -dependencies = [ - "base16ct 1.0.0", - "serde", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", -] - -[[package]] -name = "sha1" -version = "0.11.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b167252f3c126be0d8926639c4c4706950f01445900c4b3db0fd7e89fcb750a" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "digest 0.11.1", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.11.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f3b1e2dc8aad28310d8410bd4d7e180eca65fca176c52ab00d364475d0024" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "digest 0.11.1", -] - -[[package]] -name = "sha3" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1" -dependencies = [ - "digest 0.11.1", - "keccak", -] - -[[package]] -name = "shell" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-manifest", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - -[[package]] -name = "signature" -version = "3.0.0-rc.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f1880df446116126965eeec169136b2e0251dba37c6223bcc819569550edea3" -dependencies = [ - "digest 0.11.1", - "rand_core 0.10.0", -] - -[[package]] -name = "simd-adler32" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" - -[[package]] -name = "simd_cesu8" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" -dependencies = [ - "rustc_version", - "simdutf8", -] - -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - -[[package]] -name = "simplecss" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" -dependencies = [ - "log", -] - -[[package]] -name = "siphasher" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" - -[[package]] -name = "slab" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "smithay-client-toolkit" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" -dependencies = [ - "bitflags 2.11.0", - "calloop", - "calloop-wayland-source", - "cursor-icon", - "libc", - "log", - "memmap2", - "rustix 0.38.44", - "thiserror 1.0.69", - "wayland-backend", - "wayland-client", - "wayland-csd-frame", - "wayland-cursor", - "wayland-protocols", - "wayland-protocols-wlr", - "wayland-scanner", - "xkeysym", -] - -[[package]] -name = "smol_str" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" -dependencies = [ - "serde", -] - -[[package]] -name = "smoltcp" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad095989c1533c1c266d9b1e8d70a1329dd3723c3edac6d03bbd67e7bf6f4bb" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "cfg-if", - "defmt 0.3.100", - "heapless", - "managed", -] - -[[package]] -name = "snake" -version = "0.1.0" -dependencies = [ - "fontdue", - "rand 0.8.5", - "softbuffer", - "toyos-font", - "winit", -] - -[[package]] -name = "socket2" -version = "0.6.3" -source = "git+https://github.com/ToyOSOrg/socket2?branch=toyos#1d9025096919dbc95ab647f65b99e2b8dff4664d" -dependencies = [ - "libc", - "toyos", - "toyos-abi", - "windows-sys 0.61.2", -] - -[[package]] -name = "softbuffer" -version = "0.4.8" -source = "git+https://github.com/ToyOSOrg/softbuffer?branch=toyos-0.4.8#b36854df3cb4e589c124e9ecfa492b4e5b331c05" -dependencies = [ - "bytemuck", - "fastrand", - "js-sys", - "memmap2", - "ndk", - "objc2 0.6.4", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation 0.3.2", - "objc2-quartz-core 0.3.2", - "raw-window-handle", - "redox_syscall 0.5.18", - "rustix 1.1.5", - "toyos-window", - "tracing", - "wasm-bindgen", - "wayland-backend", - "wayland-client", - "wayland-sys", - "web-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "soundserver" -version = "0.0.0" -dependencies = [ - "rubato", - "toyos", - "toyos-abi", - "toyos-hda", - "toyos-inspect", - "toyos-mixer", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der 0.7.10", -] - -[[package]] -name = "spki" -version = "0.8.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" -dependencies = [ - "base64ct", - "der 0.8.0", -] - -[[package]] -name = "sprite" -version = "0.1.0" -dependencies = [ - "resvg", -] - -[[package]] -name = "ssh-cipher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caac132742f0d33c3af65bfcde7f6aa8f62f0e991d80db99149eb9d44708784f" -dependencies = [ - "aes 0.8.4", - "aes-gcm 0.10.3", - "cbc 0.1.2", - "chacha20 0.9.1", - "cipher 0.4.4", - "ctr 0.9.2", - "poly1305", - "ssh-encoding", - "subtle", -] - -[[package]] -name = "ssh-encoding" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9242b9ef4108a78e8cd1a2c98e193ef372437f8c22be363075233321dd4a15" -dependencies = [ - "base64ct", - "bytes", - "pem-rfc7468 0.7.0", - "sha2 0.10.9", -] - -[[package]] -name = "sshserver" -version = "0.0.0" -dependencies = [ - "rand 0.10.0", - "russh", - "tokio", - "toyos-tmpdir", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "strength_reduce" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" - -[[package]] -name = "strict-num" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" -dependencies = [ - "float-cmp", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "supervisor" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-blockring", - "toyos-gpt", - "toyos-logstream", - "toyos-manifest", - "toyos-osrelease", - "toyos-quiesce", - "toyos-swap", - "toyos-update", - "toyos-wallclock", -] - -[[package]] -name = "svgtypes" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d" -dependencies = [ - "kurbo", - "siphasher", -] - -[[package]] -name = "swap" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-swap", -] - -[[package]] -name = "symbolize" -version = "0.1.0" -dependencies = [ - "toyos-symbols", -] - -[[package]] -name = "syn" -version = "2.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "3.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tar" -version = "0.4.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "terminal" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-font", - "toyos-window", -] - -[[package]] -name = "test-runner" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-tco", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" -dependencies = [ - "thiserror-impl 2.0.18", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "tiny-skia" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "log", - "png", - "tiny-skia-path", -] - -[[package]] -name = "tiny-skia-path" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", -] - -[[package]] -name = "tokio" -version = "1.51.1" -source = "git+https://github.com/ToyOSOrg/tokio?branch=toyos#902fb97416c387396f962955f1b64dac20e855ec" -dependencies = [ - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2", - "tokio-macros", - "windows-sys 0.61.2", -] - -[[package]] -name = "tokio-macros" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "toml_datetime" -version = "1.0.0+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.25.4+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2" -dependencies = [ - "indexmap", - "toml_datetime", - "toml_parser", - "winnow", -] - -[[package]] -name = "toml_parser" -version = "1.0.9+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" -dependencies = [ - "winnow", -] - -[[package]] -name = "toybox" -version = "0.1.0" -dependencies = [ - "cpal", - "toyos", - "toyos-abi", - "toyos-keymap", - "toyos-window", -] - -[[package]] -name = "toyos" -version = "0.18.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-abi" -version = "0.16.0" - -[[package]] -name = "toyos-acpi" -version = "0.1.0" -dependencies = [ - "toyos-abi", - "toyos-bootmap", -] - -[[package]] -name = "toyos-aml" -version = "0.1.0" -dependencies = [ - "toyos-acpi", -] - -[[package]] -name = "toyos-blockhold" -version = "0.1.0" - -[[package]] -name = "toyos-blockring" -version = "0.1.0" -dependencies = [ - "toyos-blockhold", - "toyos-transport", -] - -[[package]] -name = "toyos-bootmap" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-desktop" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-dns" -version = "0.1.0" - -[[package]] -name = "toyos-elf" -version = "0.1.0" - -[[package]] -name = "toyos-elide" -version = "0.1.0" - -[[package]] -name = "toyos-fat32" -version = "0.1.0" -dependencies = [ - "toyos-wallclock", -] - -[[package]] -name = "toyos-font" -version = "0.2.0" - -[[package]] -name = "toyos-gpt" -version = "0.1.0" - -[[package]] -name = "toyos-hda" -version = "0.1.0" - -[[package]] -name = "toyos-i219" -version = "0.1.0" - -[[package]] -name = "toyos-inspect" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-keymap" -version = "0.1.0" - -[[package]] -name = "toyos-logstream" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-manifest" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-mdns" -version = "0.1.0" -dependencies = [ - "toyos-dns", -] - -[[package]] -name = "toyos-mixer" -version = "0.1.0" - -[[package]] -name = "toyos-osrelease" -version = "0.1.0" - -[[package]] -name = "toyos-quiesce" -version = "0.1.0" - -[[package]] -name = "toyos-swap" -version = "0.1.0" -dependencies = [ - "sha2 0.10.9", - "toyos-manifest", -] - -[[package]] -name = "toyos-symbols" -version = "0.1.0" -dependencies = [ - "rustc-demangle", - "toyos-abi", - "toyos-elf", - "toyos-elide", -] - -[[package]] -name = "toyos-tco" -version = "0.1.0" - -[[package]] -name = "toyos-tmpdir" -version = "0.1.0" - -[[package]] -name = "toyos-trace" -version = "0.1.0" -dependencies = [ - "toyos-abi", -] - -[[package]] -name = "toyos-transport" -version = "0.1.0" -dependencies = [ - "toyos-untrusted", -] - -[[package]] -name = "toyos-untrusted" -version = "0.1.0" - -[[package]] -name = "toyos-update" -version = "0.1.0" -dependencies = [ - "ed25519-dalek 2.2.0", - "sha2 0.10.9", -] - -[[package]] -name = "toyos-wallclock" -version = "0.1.0" - -[[package]] -name = "toyos-window" -version = "0.20.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-font", - "toyos-keymap", -] - -[[package]] -name = "trace" -version = "0.1.0" -dependencies = [ - "toyos", - "toyos-abi", - "toyos-trace", -] - -[[package]] -name = "tracing" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" - -[[package]] -name = "transpose" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" -dependencies = [ - "num-integer", - "strength_reduce", -] - -[[package]] -name = "ttf-parser" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" - -[[package]] -name = "typenum" -version = "1.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" - -[[package]] -name = "unicode-ident" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common 0.1.7", - "subtle", -] - -[[package]] -name = "universal-hash" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4987bdc12753382e0bec4a65c50738ffaabc998b9cdd1f952fb5f39b0048a96" -dependencies = [ - "crypto-common 0.2.1", - "ctutils", -] - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "update" -version = "0.1.0" -dependencies = [ - "sha2 0.10.9", - "toyos", - "toyos-abi", - "toyos-fat32", - "toyos-update", -] - -[[package]] -name = "ureq" -version = "3.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7ac20be9b7726e0bbdbf974c059676d9acb1cd414961f570a4e8231cacd7fc" -dependencies = [ - "base64 0.23.1", - "log", - "percent-encoding", - "rustls", - "rustls-pki-types", - "ureq-proto", - "utf8-zero", - "webpki-roots", -] - -[[package]] -name = "ureq-proto" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86fd172ccca569e458f61b6bdd6220965a9ef36e672a6852953b51a0e1583be" -dependencies = [ - "base64 0.23.1", - "http", - "httparse", - "log", -] - -[[package]] -name = "usvg" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d46cf96c5f498d36b7a9693bc6a7075c0bb9303189d61b2249b0dc3d309c07de" -dependencies = [ - "base64 0.22.1", - "data-url", - "flate2", - "imagesize", - "kurbo", - "log", - "pico-args", - "roxmltree", - "simplecss", - "siphasher", - "strict-num", - "svgtypes", - "tiny-skia-path", - "xmlwriter", -] - -[[package]] -name = "utf8-zero" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8c0a043c9540bae7c578c88f91dda8bd82e59ae27c21baca69c8b191aaf5a6e" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.2+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" -dependencies = [ - "cfg-if", - "futures-util", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn 2.0.117", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap", - "wasm-encoder", - "wasmparser", -] - -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags 2.11.0", - "hashbrown 0.15.5", - "indexmap", - "semver", -] - -[[package]] -name = "wayland-backend" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078" -dependencies = [ - "cc", - "downcast-rs", - "rustix 1.1.5", - "scoped-tls", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-client" -version = "0.31.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073" -dependencies = [ - "bitflags 2.11.0", - "rustix 1.1.5", - "wayland-backend", - "wayland-scanner", -] - -[[package]] -name = "wayland-csd-frame" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" -dependencies = [ - "bitflags 2.11.0", - "cursor-icon", - "wayland-backend", -] - -[[package]] -name = "wayland-cursor" -version = "0.31.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" -dependencies = [ - "rustix 1.1.5", - "wayland-client", - "xcursor", -] - -[[package]] -name = "wayland-protocols" -version = "0.32.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6" -dependencies = [ - "bitflags 2.11.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-plasma" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" -dependencies = [ - "bitflags 2.11.0", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" -dependencies = [ - "bitflags 2.11.0", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "338e30461b3a2b67d70eb30a6d89f8e0c93a833e07d2ae89085cd070c4a00ac0" -dependencies = [ - "proc-macro2", - "quick-xml", - "quote", -] - -[[package]] -name = "wayland-sys" -version = "0.31.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" -dependencies = [ - "dlib", - "log", - "once_cell", - "pkg-config", -] - -[[package]] -name = "web-sys" -version = "0.3.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "windows" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" -dependencies = [ - "windows-collections", - "windows-core", - "windows-future", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" -dependencies = [ - "windows-core", -] - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result", - "windows-strings", -] - -[[package]] -name = "windows-future" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" -dependencies = [ - "windows-core", - "windows-link", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-numerics" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" -dependencies = [ - "windows-core", - "windows-link", -] - -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-threading" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" -dependencies = [ - "windows-link", -] - -[[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_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[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_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[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_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[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_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winit" -version = "0.30.13" -source = "git+https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3bca784d97056fe47475c2dca8c6386816" -dependencies = [ - "ahash", - "android-activity", - "atomic-waker", - "bitflags 2.11.0", - "block2 0.5.1", - "calloop", - "cfg_aliases", - "concurrent-queue", - "core-foundation", - "core-graphics", - "cursor-icon", - "dpi", - "js-sys", - "libc", - "memmap2", - "ndk", - "objc2 0.5.2", - "objc2-app-kit", - "objc2-foundation 0.2.2", - "objc2-ui-kit", - "orbclient", - "pin-project", - "raw-window-handle", - "redox_syscall 0.4.1", - "rustix 0.38.44", - "smithay-client-toolkit", - "smol_str", - "toyos-window", - "tracing", - "unicode-segmentation", - "wasm-bindgen", - "wasm-bindgen-futures", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-protocols-plasma", - "web-sys", - "web-time", - "windows-sys 0.52.0", - "xkbcommon-dl", -] - -[[package]] -name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" -dependencies = [ - "memchr", -] - -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags 2.11.0", - "indexmap", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] - -[[package]] -name = "x25519-dalek" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" -dependencies = [ - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", - "zeroize", -] - -[[package]] -name = "xattr" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" -dependencies = [ - "libc", - "rustix 1.1.5", -] - -[[package]] -name = "xcursor" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "163b33ed8786455e2fa5d72f554057ce3f3182425434f756cd39c99839d88e23" - -[[package]] -name = "xkbcommon-dl" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" -dependencies = [ - "bitflags 2.11.0", - "dlib", - "log", - "once_cell", - "xkeysym", -] - -[[package]] -name = "xkeysym" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" - -[[package]] -name = "xmlwriter" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" - -[[package]] -name = "zerocopy" -version = "0.8.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "zeroize" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "zlib-rs" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112" - -[[package]] -name = "zmij" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/userland/Cargo.toml b/userland/Cargo.toml deleted file mode 100644 index 71ab4811e43..00000000000 --- a/userland/Cargo.toml +++ /dev/null @@ -1,91 +0,0 @@ -[workspace] -resolver = "2" -members = [ - "acpiserver", - "acpiserver/aml", - "calc", - "compositor", - "compositor/desktop", - "console", - "diskserver", - "doom", - "editor", - "filepicker", - "filepicker-api", - "files", - "fileserver", - "host", - "inspect", - "kernelprobe", - "logkeeper", - "logkeeper-api", - "metalprobe", - "netstack", - "netstack/mdns", - "paint", - "pkg", - "proctest", - "shell", - "snake", - "soundserver", - "soundserver/mixer", - "sprite", - "sshserver", - "supervisor", - "symbolize", - "swap", - "terminal", - "test-runner", - "toybox", - "toyos-font", - "toyos-window", - "trace", - "update", -] -exclude = [ - # no_std C runtime — uses panic=abort (own Cargo.toml profile) - "libc", -] - -[patch.crates-io] -# ToyOS's own crates: the forks below depend on these by version so they can be -# consumed as git dependencies (a path escaping the fork's own repo cannot -# resolve once cargo checks it out alone). These redirects keep local builds -# on the working tree. Publishing them to crates.io is only needed for real -# upstream PRs, not for building here. -toyos-abi = { path = "../toyos-abi" } -toyos = { path = "../toyos" } -toyos-window = { path = "toyos-window" } - -getrandom = { git = "https://github.com/ToyOSOrg/getrandom", branch = "toyos-0.2-sdk-0.12", package = "getrandom" } -getrandom_03 = { git = "https://github.com/ToyOSOrg/getrandom", branch = "toyos-0.3-sdk-0.12", package = "getrandom" } -getrandom_04 = { git = "https://github.com/ToyOSOrg/getrandom", branch = "toyos-0.4", package = "getrandom" } -mio = { git = "https://github.com/ToyOSOrg/mio", branch = "toyos" } -tokio = { git = "https://github.com/ToyOSOrg/tokio", branch = "toyos" } -russh = { git = "https://github.com/ToyOSOrg/russh", branch = "toyos" } -russh-cryptovec = { git = "https://github.com/ToyOSOrg/russh", branch = "toyos" } -socket2 = { git = "https://github.com/ToyOSOrg/socket2", branch = "toyos" } -raw-window-handle = { git = "https://github.com/ToyOSOrg/raw-window-handle", branch = "toyos-0.6.2" } -cpal = { git = "https://github.com/ToyOSOrg/cpal", branch = "toyos-0.18.0" } -softbuffer = { git = "https://github.com/ToyOSOrg/softbuffer", branch = "toyos-0.4.8" } -winit = { git = "https://github.com/ToyOSOrg/winit", branch = "toyos-0.30.13" } - - -# The one profile every guest binary is built with. -# Optimised, because an unoptimised guest mismeasures everything under TCG; -# debug-assertions and overflow-checks on, because fail-fast beats speed here. -# `--release` would turn the last two off silently. -# -# What it replaces here: dependencies at 2 through `package."*"`, doom and the -# compositor named individually at 2, and every other program at the dev -# default of 0 — so the compositor's own code was optimised and the terminal's -# was not. One opt-level for the whole image needs no per-package override. -[profile.toyos] -inherits = "dev" -opt-level = 2 -debug = true -# DWARF stays out of the image: symbols name a frame, and `debug = true` is kept -# for the codegen it decides. -strip = "debuginfo" -debug-assertions = true -overflow-checks = true diff --git a/userland/rust-toolchain.toml b/userland/rust-toolchain.toml deleted file mode 100644 index 8de768fd8ed..00000000000 --- a/userland/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "toyos" diff --git a/userland/sshserver/src/main.rs b/userland/sshserver/src/main.rs index ec4f68c6f6f..2e48813d849 100644 --- a/userland/sshserver/src/main.rs +++ b/userland/sshserver/src/main.rs @@ -784,9 +784,7 @@ fn main() { } /// Which keys a file authorizes, and what becomes of a program's input. Host -/// tests — `cargo test --target "$(rustc -vV | sed -n 's/^host: //p')"` from -/// this directory; `userland/.cargo/config.toml` cross-compiles to ToyOS -/// otherwise. Real keys, and `ssh-key`'s own parser, so what is under test is +/// tests, which `cargo test -p sshserver` runs. Real keys, and `ssh-key`'s own parser, so what is under test is /// the decision and not a re-encoding of it. #[cfg(test)] mod tests {