From e0dccfdae3c9c2ac8e63ad65fdd6867840b1271d Mon Sep 17 00:00:00 2001 From: japabu Date: Wed, 7 Oct 2026 18:32:32 +0200 Subject: [PATCH 1/4] One workspace and one lock: the kernel, the loader, the SDK and userland join the root's The root, kernel/, bootloader/, userland/ and toyos/ were five Cargo resolutions with five locks and three copies of [profile.toyos]. They are one workspace now: the root [workspace] names every crate but rust/, the guest test programs, the SSH judge and userland/libc, the root takes userland's [patch] table and the one [profile.toyos], and the root .cargo/config.toml is tracked with one [target.] table per guest triple in place of three per-directory build.target configs. Four locks, three rust-toolchain.toml and userland's virtual manifest are gone. The lock is every package of the five, resolved: its name and version pairs are their union. The registry getrandom 0.2.17, 0.3.4 and 0.4.2 the root alone resolved give way to the forks at the same versions, which the root [patch] now names for every member. The build system builds every guest at the root with -p into the one target/. What went with the several workspaces: cargo clean of a crate's target (a stale sysroot now takes target/toyos and the guest triples' directories, never the build system's own), the kernel and the loader built on two threads (cargo holds one lock on a target directory, measured: "Blocking waiting for file lock on artifact directory"), the kernel's manifest-path and target-dir on the host, the per-directory clippy runs, and four of the host cache's five target paths. src/hostws.rs says which members a host tests: all but the kernel, the loader, the SDK and userland's, which keep the steps they had. A fork clone under edit is listed in .cargo/local.toml, which the tracked config includes when it exists. What the fold changes of a kernel or a loader is the workspace root and nothing else: both are byte-identical, on both architectures, to a control that is the base with only its workspace root moved up, built at one path, and every rustc command line cargo runs for them is the base's once the tree's path and cargo's path-derived hashes are taken out. They are not byte-identical to the base's own build, and could not be: cargo hashes a path package's path relative to the workspace root into -C metadata, and the base built at a second path differs from itself. cargo test inside kernel/loom and kernel/sim now builds for the host, so that issue closes; the SDK turned out to be linted by no clippy run, which is filed. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RvnWQFcMuGqTHYhvSnTe8A --- .cargo/config.toml | 44 + .claude/agents/implementer.md | 2 +- .github/workflows/ci.yml | 4 - .github/workflows/nightly.yml | 4 - .gitignore | 2 +- Cargo.lock | 6446 +++++++++++++---- Cargo.toml | 140 +- bootloader/.cargo/config.toml | 16 - bootloader/Cargo.lock | 393 - bootloader/Cargo.toml | 12 - bootloader/rust-toolchain.toml | 2 - ...-or-kernel-sim-builds-for-a-bare-target.md | 25 - ...return-with-their-used-registers-intact.md | 2 +- ...eregister-fd-leaves-a-pending-poll-live.md | 2 +- issues/sshserver-still-speaks-rsa.md | 2 +- ...64-kernel-builds-with-dead-code-allowed.md | 2 +- ...job-runs-the-toolchain-the-runner-ships.md | 4 +- issues/the-sdk-is-linted-by-no-clippy-run.md | 22 + ...he-ssh-judge-runs-the-servers-own-russh.md | 2 +- ...-the-compiler-profiles-debug-assertions.md | 2 +- ...e-tokio-forks-root-manifest-patches-mio.md | 6 +- ...-forks-resolve-an-x86-only-toyos-window.md | 2 +- ...ee-resolves-in-five-cargo-locks-not-one.md | 85 +- issues/toyos-has-its-own-allocator.md | 2 +- issues/toyos-has-its-own-network-stack.md | 2 +- ...of-one-tree-build-different-guest-bytes.md | 17 +- kernel/.cargo/config.toml | 18 - kernel/Cargo.lock | 205 - kernel/Cargo.toml | 19 - kernel/loom/Cargo.toml | 10 +- kernel/pure/sched/sync.rs | 6 +- kernel/rust-toolchain.toml | 2 - src/build.rs | 230 +- src/buildlock.rs | 6 +- src/ci.rs | 63 +- src/cicache.rs | 16 +- src/clippy.rs | 116 +- src/hostws.rs | 116 +- src/libc.rs | 4 +- src/release.rs | 6 +- src/sysroot.rs | 4 +- src/userlandhost.rs | 10 +- tests/CLAUDE.md | 2 +- tests/toyos-rust-tests/Cargo.toml | 2 +- tests/toyos.rs | 2 +- toyos/Cargo.lock | 24 - userland/.cargo/config.toml | 6 - userland/Cargo.lock | 5298 -------------- userland/Cargo.toml | 90 - userland/rust-toolchain.toml | 2 - userland/sshserver/src/main.rs | 4 +- 51 files changed, 5642 insertions(+), 7861 deletions(-) create mode 100644 .cargo/config.toml delete mode 100644 bootloader/.cargo/config.toml delete mode 100644 bootloader/Cargo.lock delete mode 100644 bootloader/rust-toolchain.toml delete mode 100644 issues/cargo-run-inside-kernel-loom-or-kernel-sim-builds-for-a-bare-target.md create mode 100644 issues/the-sdk-is-linted-by-no-clippy-run.md delete mode 100644 kernel/.cargo/config.toml delete mode 100644 kernel/Cargo.lock delete mode 100644 kernel/rust-toolchain.toml delete mode 100644 toyos/Cargo.lock delete mode 100644 userland/.cargo/config.toml delete mode 100644 userland/Cargo.lock delete mode 100644 userland/Cargo.toml delete mode 100644 userland/rust-toolchain.toml 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 bb446819456..97bcc0e1dd7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,10 +35,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 b26634d85f0..b0e5a6f879a 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -42,10 +42,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 89524a21729..40e8c6bcecd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +2,103 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "acpiserver" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-abi", +] + [[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 +114,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 +187,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 +260,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 +289,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,837 +434,3613 @@ 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" +name = "chrono" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +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 = [ + "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 = "dashmap" +version = "6.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[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 = "derive-into-owned" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d94d81e3819a7b06a8638f448bc6339371ca9b6076a99d4a43eece3c4c923" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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 = "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-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 = "jiff-tzdb" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +dependencies = [ + "jiff-tzdb", +] + +[[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 = "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 = "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 = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + +[[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 = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "multiversion_no_op" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" + +[[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 = "nonempty" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "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 = "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", - "wasi", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation 0.2.2", + "objc2-quartz-core 0.2.2", ] [[package]] -name = "getrandom" -version = "0.3.4" +name = "objc2-audio-toolbox" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "6948501a91121d6399b79abaa33a8aa4ea7857fe019f341b8c23ad6e81b79b08" dependencies = [ - "cfg-if", + "bitflags 2.11.0", "libc", - "r-efi 5.3.0", - "wasip2", + "objc2 0.6.4", + "objc2-core-audio", + "objc2-core-audio-types", + "objc2-core-foundation", + "objc2-foundation 0.3.2", ] [[package]] -name = "getrandom" -version = "0.4.2" +name = "objc2-avf-audio" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be" dependencies = [ - "cfg-if", + "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", - "r-efi 6.0.0", - "wasip2", - "wasip3", + "objc2 0.6.4", ] [[package]] -name = "gix" -version = "0.88.0" +name = "objc2-core-graphics" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d6dd6028308ad2f2662207506e396b97f9ec899f74bd537c0775248c774f21" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" 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", + "bitflags 2.11.0", + "dispatch2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-io-surface", ] [[package]] -name = "gix-actor" -version = "0.43.0" +name = "objc2-core-image" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e046e9a929e8e1f40f9a34f736408c4c079f9cf004429f3e718d270e847be96" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "bstr", - "gix-date", - "gix-error", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", ] [[package]] -name = "gix-attributes" -version = "0.36.0" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3d57bcf18768dc259868e335fae99a9063174178b78b00348603f0791cd780a" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "bstr", - "gix-error", - "gix-features", - "gix-glob", - "gix-path", - "gix-quote", - "gix-trace", - "smallvec", - "unicode-bom", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation 0.2.2", ] [[package]] -name = "gix-bitmap" -version = "0.5.0" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9d28a8333a322df5c4fdc7b86a9928965e50794523c0edff57d1fbf2a520cf" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "gix-error", + "bitflags 2.11.0", + "block2 0.5.1", + "dispatch", + "libc", + "objc2 0.5.2", ] [[package]] -name = "gix-chunk" -version = "0.9.0" +name = "objc2-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25303d07ce2b8f98aab48ce4251317d785a3208b7ed65698928e4a2f31889936" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "gix-error", + "bitflags 2.11.0", + "block2 0.6.2", + "libc", + "objc2 0.6.4", + "objc2-core-foundation", ] [[package]] -name = "gix-command" -version = "0.11.0" +name = "objc2-io-surface" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3c2e61f97adc08764060e9becb0c819d8f2ba27896434710e039ae57b1d2a7" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" dependencies = [ - "bstr", - "gix-error", - "gix-path", - "gix-quote", - "gix-trace", + "bitflags 2.11.0", + "objc2 0.6.4", + "objc2-core-foundation", ] [[package]] -name = "gix-commitgraph" -version = "0.40.0" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0462cbffd5828447f376559d397d9b29f1979dac3d980b5212b17fa174b174eb" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "bstr", - "gix-chunk", - "gix-error", - "gix-hash", - "memmap2", - "nonempty", + "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 = "object" +version = "0.38.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" +dependencies = [ + "memchr", ] [[package]] -name = "gix-config" -version = "0.61.0" +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 = "eb2cb454dce2f1895cf9def1df8b0a6bbc579d86d8313bdf60f1ab429d52df12" +checksum = "52ad2c6bae700b7aa5d1cc30c59bdd3a1c180b09dbaea51e2ae2b8e1cf211fdd" dependencies = [ - "bstr", - "gix-config-value", - "gix-error", - "gix-features", - "gix-glob", - "gix-path", - "gix-ref", - "gix-sec", - "gix-utils", - "smallvec", - "unicode-bom", + "libc", + "libredox", ] [[package]] -name = "gix-config-value" -version = "0.20.0" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1894e816c774650b5157d965853b50d7e8f7137ea74055a6bac2f2ec051cf997" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "bitflags 2.11.0", - "bstr", - "gix-error", - "gix-path", - "libc", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder 0.13.6", + "sha2 0.10.9", ] [[package]] -name = "gix-date" -version = "0.17.0" +name = "p256" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8beceb16a77fb222923592864b94beb4ad4c2b175a7055c2cac6815ee0370a" +checksum = "44f0a10fe314869359cb2901342b045f4e5a962ef9febc006f03d2a8c848fe4c" dependencies = [ - "bstr", - "gix-error", - "itoa", - "jiff", + "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 = "gix-diff" -version = "0.68.0" +name = "p384" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "939aee7bbc9f233de858839e865c82886e0baceb8f1fe792ea1703fa895f09e1" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" 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", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder 0.13.6", + "sha2 0.10.9", ] [[package]] -name = "gix-dir" -version = "0.30.0" +name = "p384" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e41d125c2c6f981aad27299a6233a7ace3413289c1e2994f57e5bab1c34847" +checksum = "b079e66810c55ab3d6ba424e056dc4aefcdb8046c8c3f3816142edbdd7af7721" dependencies = [ - "bstr", - "gix-discover", - "gix-error", - "gix-fs", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-pathspec", - "gix-trace", - "gix-utils", - "gix-worktree", + "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 = "gix-discover" -version = "0.56.0" +name = "p521" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4476ba055ec5fbb05f59dd98380b596428da060beac5f9dccd7374302ad1fbfb" +checksum = "9eecc34c4c6e6596d5271fecf90ac4f16593fa198e77282214d0c22736aa9266" dependencies = [ - "bstr", - "dunce", - "gix-error", - "gix-fs", - "gix-path", - "gix-ref", - "gix-sec", + "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 = "gix-error" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4a5c4cd326ddfe7f046ad9eed05461c59af6ea98b681648bac73954317addd" +name = "pageant" +version = "0.2.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" dependencies = [ - "bstr", + "byteorder", + "bytes", + "delegate", + "futures", + "log", + "rand 0.10.0", + "sha2 0.10.9", + "thiserror 2.0.18", + "tokio", + "windows", + "windows-strings", ] [[package]] -name = "gix-features" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a430dbc02d6c5e30a9f92083459593495ea22a476e837d248b22d800eed80" +name = "paint" +version = "0.1.0" dependencies = [ - "bytes", - "crc32fast", - "crossbeam-channel", - "gix-path", - "gix-trace", - "gix-utils", - "libc", - "once_cell", - "parking_lot", - "prodash", - "walkdir", + "filepicker-api", + "toyos-font", + "toyos-window", ] [[package]] -name = "gix-filter" -version = "0.35.0" +name = "parking_lot" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f31a39e2c9b04843709d1f72b2c39c98dc0ee591e2f67d21302dbfbd06d2956" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 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", + "lock_api", + "parking_lot_core", ] [[package]] -name = "gix-fs" -version = "0.23.0" +name = "parking_lot_core" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0105ab1cef4542d092c27766d2daf1548fcbad7e460dc2208642c120bb19b3ad" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "bstr", - "gix-error", - "gix-features", - "gix-path", - "gix-utils", + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", ] [[package]] -name = "gix-glob" -version = "0.28.0" +name = "password-hash" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba50803dea16646cafb9a2d67e95b8cdf5b21c7e8c45bcd18f38bafe02fb81f" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ - "bitflags 2.11.0", - "bstr", - "gix-features", - "gix-path", - "gix-utils", + "base64ct", + "rand_core 0.6.4", + "subtle", ] [[package]] -name = "gix-hash" -version = "0.27.0" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a22b6febaaee8546eb0c9dd21ecdd93aca269a6cb3897e1250f0f60933c0174" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "faster-hex", - "gix-error", - "gix-features", - "sha1dc", + "digest 0.10.7", + "hmac 0.12.1", ] [[package]] -name = "gix-hashtable" -version = "0.17.0" +name = "pbkdf2" +version = "0.13.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55bff2f32f6f5a95bdd43e5e5e01b0656250cffbc48eda19db0afa3d73adf2f" +checksum = "c8dfa4e14084d963d35bfb4cdb38712cde78dcf83054c0e8b9b8e899150f374e" dependencies = [ - "gix-hash", - "hashbrown 0.17.1", - "parking_lot", + "digest 0.11.1", + "hmac 0.13.0-rc.5", ] [[package]] -name = "gix-ignore" -version = "0.23.0" +name = "pcap-file" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bfd910e271ecd1a20e4df4009a0d9d844a0c51ee5444aaa3fadd1b1b077930b" +checksum = "1fc1f139757b058f9f37b76c48501799d12c9aa0aa4c0d4c980b062ee925d1b2" dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-trace", - "unicode-bom", + "byteorder_slice", + "derive-into-owned", + "thiserror 1.0.69", ] [[package]] -name = "gix-imara-diff" -version = "0.3.0" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305657ad44356151d73c145f567c25b24fdf2466bfb3e90727e1d5461a4e9748" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "bstr", - "hashbrown 0.16.1", + "base64ct", ] [[package]] -name = "gix-index" -version = "0.56.0" +name = "pem-rfc7468" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfd5b484b5b4e218a5ac114f0982949f9bd7582ff67986665a0cf85895332433" +checksum = "a6305423e0e7738146434843d1694d621cce767262b2a86910beab705e4493d9" 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", + "base64ct", ] [[package]] -name = "gix-lock" -version = "25.0.0" +name = "percent-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd5ddfd0cc476fef744ac544783b96a9ff5d49f8de541e6e9d6d6002aa90720" +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 = [ - "gix-error", - "gix-tempfile", - "gix-utils", + "pin-project-internal", ] [[package]] -name = "gix-macros" -version = "0.2.0" +name = "pin-project-internal" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f11f5429ca73cc3758c9f53af56a9fba100a8701c5b4bc30e29b8b0b15288991" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ "proc-macro2", "quote", @@ -982,1235 +4048,1379 @@ dependencies = [ ] [[package]] -name = "gix-note" -version = "0.2.0" +name = "pin-project-lite" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6879cc9e5a9a0429e40b05970af6c8dad8734098a3142fec23e32eeb567580" -dependencies = [ - "gix-error", - "gix-hash", - "gix-object", -] +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] -name = "gix-object" -version = "0.65.0" +name = "pkcs1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a72909eeeed845721a143ef3dbeb4d6cd5df79c839fe7eefc138cb4f982eba3e" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" 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", + "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 = "gix-odb" -version = "0.85.0" +name = "pkcs5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5794b85ff563a290ea18867fa1f0a5b0b84709f2f34dddbb3614556fbe88c629" +checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" 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", + "der 0.7.10", + "spki 0.7.3", ] [[package]] -name = "gix-pack" -version = "0.75.0" +name = "pkcs5" +version = "0.8.0-rc.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0451a48faef8e0e7a8f6d903c8329c7d18a793b3030907ca841f889dc695d1df" +checksum = "c5a777c6e26664bc9504b3ce3f6133f8f20d9071f130a4f9fcbd3186959d8dd6" dependencies = [ - "clru", - "gix-chunk", - "gix-error", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-path", - "gix-zlib", - "memmap2", - "smallvec", + "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 = "gix-packetline" -version = "0.23.0" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba540112a3fcc6388eb2aa4dc4837040478c285a35178cd9a44b07345cd6636" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "bstr", - "faster-hex", - "gix-error", - "gix-trace", + "der 0.7.10", + "pkcs5 0.7.1", + "spki 0.7.3", ] [[package]] -name = "gix-path" -version = "0.13.0" +name = "pkcs8" +version = "0.11.0-rc.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd051ac60c5dbce2228daabf25b6a76408ac732d416c678cfa0a4914d13f60b8" +checksum = "12922b6296c06eb741b02d7b5161e3aaa22864af38dfa025a1a3ba3f68c84577" dependencies = [ - "bstr", - "gix-error", - "gix-trace", - "gix-validate", + "der 0.8.0", + "pkcs5 0.8.0-rc.13", + "rand_core 0.10.0", + "spki 0.8.0-rc.4", ] [[package]] -name = "gix-pathspec" -version = "0.21.0" +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 = "1ee883ab64bad641bf31ff338044edd7aa010605f19e866d98c9164e635c38b1" +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", - "bstr", - "gix-attributes", - "gix-config-value", - "gix-error", - "gix-glob", - "gix-path", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", ] [[package]] -name = "gix-protocol" -version = "0.66.0" +name = "polling" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331ac489c461790b6b692afb322085c42041c6ff7621c30ac3dbb00b12e05e89" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ - "bstr", - "gix-date", - "gix-error", - "gix-features", - "gix-hash", - "gix-macros", - "gix-ref", - "gix-shallow", - "gix-transport", - "gix-utils", - "nonempty", + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.1.5", + "windows-sys 0.61.2", ] [[package]] -name = "gix-quote" -version = "0.9.0" +name = "poly1305" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b040cfa7af50f131bfa34119cceee804c3cc40c766daaba8e0c8149340aea7" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "bstr", - "gix-error", - "gix-utils", + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash 0.5.1", ] [[package]] -name = "gix-ref" -version = "0.68.0" +name = "polyval" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90ceeec67de03b737c30b1b69116ca56fec803edde022f3d25181f0f597083d" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ - "gix-actor", - "gix-error", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-utils", - "gix-validate", - "memmap2", + "cfg-if", + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash 0.5.1", ] [[package]] -name = "gix-refspec" -version = "0.46.0" +name = "polyval" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4caa89a034a055c0578150092d3edb2f1c3f74cca86b883263a28caa26c5812" +checksum = "7dfc63250416fea14f5749b90725916a6c903f599d51cb635aa7a52bfd03eede" dependencies = [ - "bstr", - "gix-error", - "gix-hash", - "gix-validate", - "smallvec", + "cpubits", + "cpufeatures 0.3.0", + "universal-hash 0.6.1", ] [[package]] -name = "gix-revision" -version = "0.50.0" +name = "portable-atomic" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8438d38e197fa3ea7bb297302db1701879a64a343f23a3d150a602a609a8751" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "portable-atomic-util" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" dependencies = [ - "bstr", - "gix-commitgraph", - "gix-date", - "gix-error", - "gix-hash", - "gix-object", - "gix-revwalk", - "nonempty", + "portable-atomic", ] [[package]] -name = "gix-revwalk" -version = "0.36.0" +name = "ppv-lite86" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fa6d913e7cf8c6407d3954f9794b4b148c2113c672c34b63c59ea654a1e060e" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "gix-commitgraph", - "gix-date", - "gix-error", - "gix-hash", - "gix-hashtable", - "gix-object", - "smallvec", + "zerocopy", ] [[package]] -name = "gix-sec" -version = "0.15.0" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8eb983a830ba586b61f7005deaf44609e1a4186cbf13a0e8668154ca910461" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "bitflags 2.11.0", - "gix-path", - "libc", - "windows-sys 0.61.2", + "proc-macro2", + "syn 2.0.117", ] [[package]] -name = "gix-shallow" -version = "0.14.0" +name = "primal-check" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119bae1301715df40e8fd136deeff4fe8a3be4cfc001ed5e72bad7b47ebbc090" +checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08" dependencies = [ - "bstr", - "gix-error", - "gix-hash", - "gix-lock", - "nonempty", + "num-integer", ] [[package]] -name = "gix-status" -version = "0.35.0" +name = "primefield" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb7e035b6d9dce932f6b6c8d33d29b31b46e05da544bf810e324bf61aaa5b84" +checksum = "c6543f5eec854fbf74ba5ef651fbdc9408919b47c3e1526623687135c16d12e9" 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", + "crypto-bigint 0.7.3", + "crypto-common 0.2.1", + "rand_core 0.10.0", + "rustcrypto-ff", + "subtle", + "zeroize", ] [[package]] -name = "gix-submodule" -version = "0.35.0" +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b498192e5f89453fbd728263d52088aeec634a390e732f1da6d0a491c552091" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "bstr", - "gix-config", - "gix-error", - "gix-path", - "gix-pathspec", - "gix-refspec", - "gix-url", + "elliptic-curve 0.13.8", ] [[package]] -name = "gix-tempfile" -version = "25.0.0" +name = "primeorder" +version = "0.14.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd7dd8df3345933caddd6ce67821c9eec17192564f1011cf0bd0b8cb0d07ffb" +checksum = "569d9ad6ef822bb0322c7e7d84e5e286244050bd5246cac4c013535ae91c2c90" dependencies = [ - "dashmap", - "gix-fs", - "libc", - "parking_lot", - "tempfile", - "windows-sys 0.61.2", + "elliptic-curve 0.14.0-rc.29", ] [[package]] -name = "gix-trace" -version = "0.2.0" +name = "proc-macro-crate" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df45b2cf6052d9e52681130c17d67505b023e8933ad974f94a2be0b0d24f636a" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.4+spec-1.1.0", +] [[package]] -name = "gix-transport" -version = "0.60.0" +name = "proc-macro2" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2beb7b0387bbf4d7c13763c6e168f9957319aa811f09349dc59601be3b2951" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ - "bstr", - "gix-command", - "gix-error", - "gix-features", - "gix-packetline", - "gix-path", - "gix-quote", - "gix-sec", - "gix-url", + "unicode-ident", ] [[package]] -name = "gix-traverse" -version = "0.62.0" +name = "proctest" +version = "0.1.0" + +[[package]] +name = "prodash" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4864934e4efd92082ecc37107bce0c389b58d82888db634817f9c711efb7ed" +checksum = "962200e2d7d551451297d9fdce85138374019ada198e30ea9ede38034e27604c" dependencies = [ - "bitflags 2.11.0", - "gix-commitgraph", - "gix-date", - "gix-error", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-revwalk", - "smallvec", + "parking_lot", ] [[package]] -name = "gix-url" -version = "0.39.0" +name = "ptr_meta" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f30fe2a228d7de5f9d582463d9b724debcb870162d9fbe908cd5d76ccdecf0d" +checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607" dependencies = [ - "bstr", - "gix-error", - "gix-path", - "gix-utils", - "percent-encoding", + "ptr_meta_derive", ] [[package]] -name = "gix-utils" -version = "0.4.0" +name = "ptr_meta_derive" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70525766f53426ca4cd2ea4d58b0b31488dfedb416b3254e2efdd9dc184cc880" +checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2" dependencies = [ - "bstr", - "fastrand", - "getrandom 0.4.2", - "unicode-normalization", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "gix-validate" -version = "0.12.0" +name = "pxfm" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30574f81fc41b2ca3582ece2bdf8696bdfe9c170aa7e8bcafb81199c86b1ceea" -dependencies = [ - "bstr", - "gix-error", -] +checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" [[package]] -name = "gix-worktree" -version = "0.57.0" +name = "quick-xml" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04fa19b9b3961aafb3b9e60005b9bcef0100f8b211f46ab5269a6ac896073780" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" dependencies = [ - "bstr", - "gix-attributes", - "gix-error", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-validate", + "memchr", ] [[package]] -name = "gix-worktree-stream" -version = "0.37.0" +name = "quote" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2021e1609beae0edbeefa76ac641be0571b725afacb77ac5b12f33b436e0d3d9" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ - "gix-attributes", - "gix-error", - "gix-features", - "gix-filter", - "gix-fs", - "gix-hash", - "gix-object", - "gix-path", - "gix-traverse", - "parking_lot", + "proc-macro2", ] [[package]] -name = "gix-zlib" -version = "0.2.0" +name = "r-efi" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a1a9c82ec5b712082566cbef8f5782472a0d3973132911e5a83380a5298fe2" -dependencies = [ - "gix-error", - "zlib-rs", -] +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "gpt" -version = "3.1.0" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8283e7331b8c93b9756e0cfdbcfb90312852f953c6faf9bf741e684cc3b6ad69" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "bitflags 2.11.0", - "crc", - "log", - "uuid", + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", ] [[package]] -name = "hash32" -version = "0.3.1" +name = "rand" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" dependencies = [ - "byteorder", + "rand_chacha 0.9.0", + "rand_core 0.9.5", ] [[package]] -name = "hashbrown" -version = "0.14.5" +name = "rand" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +dependencies = [ + "chacha20 0.10.0", + "getrandom 0.4.2", + "rand_core 0.10.0", +] [[package]] -name = "hashbrown" -version = "0.15.5" +name = "rand_chacha" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.1.5", + "ppv-lite86", + "rand_core 0.6.4", ] [[package]] -name = "hashbrown" -version = "0.16.1" +name = "rand_chacha" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.2.0", + "ppv-lite86", + "rand_core 0.9.5", ] [[package]] -name = "hashbrown" -version = "0.17.1" +name = "rand_core" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.2.0", + "getrandom 0.2.17", ] [[package]] -name = "heapless" -version = "0.8.0" +name = "rand_core" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "hash32", - "stable_deref_trait", + "getrandom 0.3.4", ] [[package]] -name = "heck" -version = "0.5.0" +name = "rand_core" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" [[package]] -name = "http" -version = "1.5.0" +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 = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +checksum = "f821338fddb99d089116342c46e9f1fbf3828dba077674613e734e01d6ea8677" dependencies = [ - "bytes", - "itoa", + "rustfft", ] [[package]] -name = "httparse" -version = "1.10.1" +name = "redox_syscall" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] [[package]] -name = "iana-time-zone" -version = "0.1.65" +name = "redox_syscall" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", + "bitflags 2.11.0", ] [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "redox_syscall" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" dependencies = [ - "cc", + "bitflags 2.11.0", ] [[package]] -name = "id-arena" -version = "2.3.0" +name = "regex-automata" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] [[package]] -name = "image" -version = "0.25.10" +name = "regex-syntax" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" -dependencies = [ - "bytemuck", - "byteorder-lite", - "moxcms", - "num-traits", - "zune-core", - "zune-jpeg", -] +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] -name = "indexmap" -version = "2.13.0" +name = "resvg" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81" dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", + "log", + "pico-args", + "rgb", + "svgtypes", + "tiny-skia", + "usvg", ] [[package]] -name = "itoa" -version = "1.0.17" +name = "rfc6979" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] [[package]] -name = "jiff" -version = "0.2.37" +name = "rfc6979" +version = "0.5.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1baf72f08796de0260609515130699b890ac25f30e610ad894bc5856cafdb" +checksum = "23a3127ee32baec36af75b4107082d9bd823501ec14a4e016be4b6b37faa74ae" dependencies = [ - "defmt 1.1.1", - "jiff-core", - "jiff-static", - "jiff-tzdb-platform", - "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", - "windows-link", + "hmac 0.13.0-rc.5", + "subtle", ] [[package]] -name = "jiff-core" -version = "0.1.1" +name = "rgb" +version = "0.8.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c" +checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" dependencies = [ - "defmt 1.1.1", - "log", + "bytemuck", ] [[package]] -name = "jiff-static" -version = "0.2.37" +name = "ring" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "378268a1116ad67ae6228701118ac9f491d78fda38a40a1f1a9e1348de6f7212" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ - "jiff-core", - "proc-macro2", - "quote", - "syn 2.0.117", + "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 = "jiff-tzdb" -version = "0.1.8" +name = "rsa" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" +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 = "jiff-tzdb-platform" -version = "0.1.3" +name = "rsa" +version = "0.10.0-rc.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +checksum = "87ed3e93fc7e473e464b9726f4759659e72bc8665e4b8ea227547024f416d905" dependencies = [ - "jiff-tzdb", + "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 = "js-sys" -version = "0.3.91" +name = "rubato" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +checksum = "5258099699851cfd0082aeb645feb9c084d9a5e1f1b8d5372086b989fc5e56a1" dependencies = [ - "once_cell", - "wasm-bindgen", + "num-complex", + "num-integer", + "num-traits", + "realfft", ] [[package]] -name = "kernel" -version = "0.1.0" +name = "russh" +version = "0.60.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", + "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 = "kernel-loom" -version = "0.1.0" +name = "russh-cryptovec" +version = "0.59.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" dependencies = [ - "loom", - "toyos-abi", + "log", + "nix", + "ssh-encoding", + "windows-sys 0.61.2", ] [[package]] -name = "kernel-sim" -version = "0.1.0" +name = "russh-util" +version = "0.52.0" +source = "git+https://github.com/ToyOSOrg/russh?branch=toyos#389804d3b9908250282746c934c58c059b88fb7e" dependencies = [ - "kernel", - "rand", + "chrono", + "tokio", + "wasm-bindgen", + "wasm-bindgen-futures", ] [[package]] -name = "lazy_static" -version = "1.5.0" +name = "rustc-demangle" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] -name = "leb128fmt" -version = "0.1.0" +name = "rustc-std-workspace-core" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +checksum = "aa9c45b374136f52f2d6311062c7146bff20fec063c3f5d46a410bd937746955" [[package]] -name = "libc" -version = "0.2.190" +name = "rustc_version" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] [[package]] -name = "linux-raw-sys" -version = "0.12.1" +name = "rustcrypto-ff" +version = "0.14.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +checksum = "fd2a8adb347447693cd2ba0d218c4b66c62da9b0a5672b17b981e4291ec65ff6" +dependencies = [ + "rand_core 0.10.0", + "subtle", +] [[package]] -name = "lock_api" -version = "0.4.14" +name = "rustcrypto-group" +version = "0.14.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +checksum = "369f9b61aa45933c062c9f6b5c3c50ab710687eca83dd3802653b140b43f85ed" dependencies = [ - "scopeguard", + "rand_core 0.10.0", + "rustcrypto-ff", + "subtle", ] [[package]] -name = "log" -version = "0.4.29" +name = "rustfft" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89" +dependencies = [ + "num-complex", + "num-integer", + "num-traits", + "primal-check", + "strength_reduce", + "transpose", +] [[package]] -name = "loom" -version = "0.7.2" -source = "git+https://github.com/ToyOSOrg/loom?branch=toyos#dfe3797296a16f0741b9b23364bf016164a39534" +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", + "bitflags 2.11.0", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.52.0", ] [[package]] -name = "matchers" -version = "0.2.0" +name = "rustix" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" dependencies = [ - "regex-automata", + "bitflags 2.11.0", + "errno", + "libc", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.2", ] [[package]] -name = "memchr" -version = "2.8.0" +name = "rustls" +version = "0.23.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" +dependencies = [ + "log", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki 0.103.15", + "subtle", + "zeroize", +] [[package]] -name = "memmap2" -version = "0.9.11" +name = "rustls-pki-types" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0" +checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96" dependencies = [ - "libc", + "zeroize", ] [[package]] -name = "miniz_oxide" -version = "0.9.1" +name = "rustls-rustcrypto" +version = "0.0.2-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +checksum = "f12052947763ab8515f753315357599e9b0b4dab3b8ba15f30f725fe6d025557" dependencies = [ - "adler2", - "simd-adler32", + "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 = "moxcms" -version = "0.8.1" +name = "rustls-webpki" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "num-traits", - "pxfm", + "ring", + "rustls-pki-types", + "untrusted", ] [[package]] -name = "multiversion_no_op" -version = "1.0.0" +name = "rustls-webpki" +version = "0.103.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" +checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] [[package]] -name = "nonempty" -version = "0.12.0" +name = "rustversion" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] -name = "nu-ansi-term" -version = "0.50.3" +name = "rustysynth" +version = "1.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" -dependencies = [ - "windows-sys 0.61.2", -] +checksum = "e3ca93af923df5fc03beddbf464242620fd24daa9e10f9ecd56eb9571eb7ba38" [[package]] -name = "num-traits" -version = "0.2.19" +name = "salsa20" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "2f874456e72520ff1375a06c588eaf074b0f01f9e9e1aada45bd9b7954a6e42c" dependencies = [ - "autocfg", + "cfg-if", + "cipher 0.5.1", ] [[package]] -name = "object" -version = "0.38.1" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "memchr", + "winapi-util", ] [[package]] -name = "once_cell" -version = "1.21.4" +name = "scoped-tls" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[package]] -name = "parking_lot" -version = "0.12.5" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" -dependencies = [ - "lock_api", - "parking_lot_core", -] +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "parking_lot_core" -version = "0.9.12" +name = "scrypt" +version = "0.12.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +checksum = "e03ed5b54ed5fcc8e016cd94301416bc2c01c05c87a6742b97468337c8804598" dependencies = [ "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link", + "pbkdf2 0.13.0-rc.9", + "salsa20", + "sha2 0.11.0-rc.5", ] [[package]] -name = "pcap-file" -version = "2.0.0" +name = "sec1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc1f139757b058f9f37b76c48501799d12c9aa0aa4c0d4c980b062ee925d1b2" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "byteorder_slice", - "derive-into-owned", - "thiserror 1.0.69", + "base16ct 0.2.0", + "der 0.7.10", + "generic-array 0.14.7", + "pkcs8 0.10.2", + "subtle", + "zeroize", ] [[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "pin-project-lite" -version = "0.2.17" +name = "sec1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d" +dependencies = [ + "base16ct 1.0.0", + "ctutils", + "der 0.8.0", + "hybrid-array", + "subtle", + "zeroize", +] [[package]] -name = "portable-atomic" -version = "1.15.0" +name = "semver" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] -name = "portable-atomic-util" -version = "0.2.8" +name = "serde" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ - "portable-atomic", + "serde_core", + "serde_derive", ] [[package]] -name = "ppv-lite86" -version = "0.2.21" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ - "zerocopy", + "serde_derive", ] [[package]] -name = "prettyplease" -version = "0.2.37" +name = "serde_derive" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", + "quote", "syn 2.0.117", ] [[package]] -name = "proc-macro2" -version = "1.0.106" +name = "serde_json" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "unicode-ident", + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", ] [[package]] -name = "prodash" -version = "31.0.0" +name = "serde_spanned" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962200e2d7d551451297d9fdce85138374019ada198e30ea9ede38034e27604c" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ - "parking_lot", + "serde", ] [[package]] -name = "pxfm" -version = "0.1.28" +name = "serdect" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" +checksum = "9af4a3e75ebd5599b30d4de5768e00b5095d518a79fefc3ecbaf77e665d1ec06" +dependencies = [ + "base16ct 1.0.0", + "serde", +] [[package]] -name = "quote" -version = "1.0.45" +name = "sha1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "proc-macro2", + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", ] [[package]] -name = "r-efi" -version = "5.3.0" +name = "sha1" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +checksum = "3b167252f3c126be0d8926639c4c4706950f01445900c4b3db0fd7e89fcb750a" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.11.1", +] [[package]] -name = "r-efi" -version = "6.0.0" +name = "sha1dc" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +checksum = "1fdf1713fb0547b120571e5f7b37dc2650dc03d2abf46a18928f54372000947f" [[package]] -name = "rand" -version = "0.9.5" +name = "sha2" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ - "rand_chacha", - "rand_core", + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", ] [[package]] -name = "rand_chacha" -version = "0.9.0" +name = "sha2" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +checksum = "7c5f3b1e2dc8aad28310d8410bd4d7e180eca65fca176c52ab00d364475d0024" dependencies = [ - "ppv-lite86", - "rand_core", + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.11.1", ] [[package]] -name = "rand_core" -version = "0.9.5" +name = "sha3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +checksum = "be176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1" dependencies = [ - "getrandom 0.3.4", + "digest 0.11.1", + "keccak", ] [[package]] -name = "redox_syscall" -version = "0.5.18" +name = "sharded-slab" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ - "bitflags 2.11.0", + "lazy_static", ] [[package]] -name = "regex-automata" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +name = "shell" +version = "0.1.0" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", + "toyos", + "toyos-manifest", ] [[package]] -name = "regex-syntax" -version = "0.8.11" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "ring" -version = "0.17.14" +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.17", - "libc", - "untrusted", - "windows-sys 0.52.0", + "digest 0.10.7", + "rand_core 0.6.4", ] [[package]] -name = "rustc-demangle" -version = "0.1.27" +name = "signature" +version = "3.0.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" +checksum = "7f1880df446116126965eeec169136b2e0251dba37c6223bcc819569550edea3" +dependencies = [ + "digest 0.11.1", + "rand_core 0.10.0", +] [[package]] -name = "rustc-std-workspace-core" -version = "1.0.1" +name = "simd-adler32" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9c45b374136f52f2d6311062c7146bff20fec063c3f5d46a410bd937746955" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" [[package]] -name = "rustc_version" -version = "0.4.1" +name = "simd_cesu8" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" dependencies = [ - "semver", + "rustc_version", + "simdutf8", ] [[package]] -name = "rustix" -version = "1.1.5" +name = "simdutf8" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" -dependencies = [ - "bitflags 2.11.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.61.2", -] +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] -name = "rustls" -version = "0.23.45" +name = "simplecss" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" +checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" dependencies = [ "log", - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", ] [[package]] -name = "rustls-pki-types" -version = "1.15.1" +name = "siphasher" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96" -dependencies = [ - "zeroize", -] +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] -name = "rustls-webpki" -version = "0.103.15" +name = "slab" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] -name = "rustversion" -version = "1.0.22" +name = "smallvec" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] -name = "same-file" -version = "1.0.6" +name = "smithay-client-toolkit" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "winapi-util", + "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 = "scoped-tls" -version = "1.0.1" +name = "smol_str" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "smoltcp" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "dad095989c1533c1c266d9b1e8d70a1329dd3723c3edac6d03bbd67e7bf6f4bb" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "cfg-if", + "defmt 0.3.100", + "heapless", + "managed", +] [[package]] -name = "semver" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +name = "snake" +version = "0.1.0" +dependencies = [ + "fontdue", + "rand 0.8.5", + "softbuffer", + "toyos-font", + "winit", +] [[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +name = "socket2" +version = "0.6.3" +source = "git+https://github.com/ToyOSOrg/socket2?branch=toyos#1d9025096919dbc95ab647f65b99e2b8dff4664d" dependencies = [ - "serde_core", - "serde_derive", + "libc", + "toyos", + "toyos-abi", + "windows-sys 0.61.2", ] [[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +name = "softbuffer" +version = "0.4.8" +source = "git+https://github.com/ToyOSOrg/softbuffer?branch=toyos-0.4.8#b36854df3cb4e589c124e9ecfa492b4e5b331c05" dependencies = [ - "serde_derive", + "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 = "serde_derive" -version = "1.0.228" +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 = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "base64ct", + "der 0.7.10", ] [[package]] -name = "serde_json" -version = "1.0.149" +name = "spki" +version = "0.8.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", + "base64ct", + "der 0.8.0", ] [[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +name = "sprite" +version = "0.1.0" dependencies = [ - "serde", + "resvg", ] [[package]] -name = "sha1dc" -version = "0.1.2" +name = "ssh-cipher" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fdf1713fb0547b120571e5f7b37dc2650dc03d2abf46a18928f54372000947f" +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 = "sha2" -version = "0.10.9" +name = "ssh-encoding" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +checksum = "eb9242b9ef4108a78e8cd1a2c98e193ef372437f8c22be363075233321dd4a15" dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "base64ct", + "bytes", + "pem-rfc7468 0.7.0", + "sha2 0.10.9", ] [[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +name = "sshserver" +version = "0.0.0" dependencies = [ - "lazy_static", + "rand 0.10.0", + "russh", + "tokio", + "toyos-tmpdir", ] [[package]] -name = "shlex" -version = "1.3.0" +name = "stable_deref_trait" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] -name = "signature" -version = "2.2.0" +name = "strength_reduce" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" [[package]] -name = "simd-adler32" -version = "0.3.10" +name = "strict-num" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] [[package]] -name = "simdutf8" -version = "0.1.5" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +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 = "stable_deref_trait" -version = "1.2.1" +name = "svgtypes" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d" +dependencies = [ + "kurbo", + "siphasher", +] [[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +name = "swap" +version = "0.1.0" +dependencies = [ + "toyos", + "toyos-swap", +] + +[[package]] +name = "symbolize" +version = "0.1.0" +dependencies = [ + "toyos-symbols", +] [[package]] name = "syn" @@ -2234,6 +5444,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 +5463,7 @@ checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" dependencies = [ "filetime", "libc", + "xattr", ] [[package]] @@ -2251,12 +5473,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 +5546,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 +5611,8 @@ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", - "toml_datetime", - "toml_edit", + "toml_datetime 0.6.11", + "toml_edit 0.22.27", ] [[package]] @@ -2333,6 +5624,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 +5642,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" @@ -2407,7 +5747,7 @@ dependencies = [ "libc", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "tar", "toml", "toyos-abi", @@ -2438,6 +5778,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 +5827,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 +5883,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 +5973,7 @@ version = "0.1.0" name = "toyos-swap" version = "0.1.0" dependencies = [ - "sha2", + "sha2 0.10.9", "toyos-manifest", ] @@ -2661,8 +6023,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]] @@ -2673,6 +6035,16 @@ version = "0.1.0" 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" @@ -2681,10 +6053,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" @@ -2735,16 +6116,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" @@ -2767,25 +6221,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", @@ -2801,12 +6292,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" @@ -2883,6 +6396,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" @@ -2949,6 +6476,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" @@ -2967,6 +6623,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" @@ -2980,6 +6657,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" @@ -3008,6 +6696,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" @@ -3026,13 +6724,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]] @@ -3044,34 +6751,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" @@ -3084,30 +6833,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" @@ -3205,6 +7025,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" @@ -3230,6 +7102,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..85876c59418 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,45 @@ members = [ "toyos-wallclock", "toyos-xhci", "toyos-xhci/sim", + "userland/acpiserver", + "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 +115,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 +134,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 +235,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..6538215fe23 --- /dev/null +++ b/issues/the-sdk-is-linted-by-no-clippy-run.md @@ -0,0 +1,22 @@ +--- +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. + +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 index 026923d1e69..360cc4cfdfc 100644 --- a/issues/the-tree-resolves-in-five-cargo-locks-not-one.md +++ b/issues/the-tree-resolves-in-five-cargo-locks-not-one.md @@ -6,13 +6,11 @@ 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 root, `kernel/`, `bootloader/`, `userland/` and `toyos/` were five +Cargo resolutions with five locks, and three of them declared their own +`[profile.toyos]`. A crate two of them shared was tested on the host against +the root's lock and shipped from another's. The pull request that carries +this text folds them into one workspace and one lock. **The owner ruled on 2026-10-04.** Asked "Merge everything into one Cargo workspace (after small version-alignment steps; proven by byte-identical @@ -25,40 +23,57 @@ 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. +union of the aligned locks. It changes nothing a kernel or a loader is built +from but the workspace root, shown for both architectures by two +measurements at one absolute path: -**Constraints, measured** on a scratch workspace seeded from the five locks -at `8b4f88446`, by type-check and one loader link, with no boot: +- the kernel and the loader are byte-identical to a control that is the base + with only the workspace root moved up, keeping the crate's own base lock, + its profile and its flags; +- every `rustc` command line `cargo build -v` runs for them is the base's, + once the tree's path and cargo's path-derived hashes are taken out. + +The root `.cargo/config.toml` is tracked, so a fork clone under edit is +listed in the untracked `.cargo/local.toml` it includes; 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 its own workspace: pull request #724 aligned the root +and kernel locks, #732 the userland lock, and #738 the loader's lock and its +profile's `strip`. + +**The exit's first wording was the orchestrator's and could not be met.** It +asked for a kernel and a loader byte-identical to the base's own build. Cargo +hashes each path package's path, relative to the workspace root, into `-C +metadata`, and hands rustc a path package's source by that relative path, so +moving the root changes every path crate's symbol names; and the base did not +reproduce its own bytes either. Measured at `257ebea2a`: the base built at a +second path differed from itself in all four artifacts, its x86_64 kernel +carrying 38 strings that name the checkout and its AArch64 kernel 35 +(`issues/two-checkouts-of-one-tree-build-different-guest-bytes.md`). The +orchestrator ruled the wording above in its place on 2026-10-07. + +**What is left:** the T14's run of the metal profile on the folded build, +which that pull request stages. + +**What stays apart, and why:** -- 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. +- `userland/libc` keeps its own lock: it is built into a sysroot with + `--release` and its own `panic = "abort"` profile, which cargo ignores in a + member. - 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. + +**Constraints the fold kept:** + +- One lock holds one version per semver range. The root's registry + `getrandom` 0.2, 0.3 and 0.4 became the forks userland patched in at the + same versions: they moved no version and followed from the root `[patch]`. +- `Cargo.lock` carries `miniz_oxide` 0.8.9, for `png` 0.18.1, beside 0.9.1, + for `flate2` 1.1.10. Exit of that pair: `png` takes `miniz_oxide` 0.9. +- Every fork commit the five locks pinned stays pinned, and the crypto + pre-releases (`ed25519-dalek 3.0.0-pre.6`, `pkcs5 0.8.0-rc.13`) stay. diff --git a/issues/toyos-has-its-own-allocator.md b/issues/toyos-has-its-own-allocator.md index ff3d26c6237..9be44dd5c91 100644 --- a/issues/toyos-has-its-own-allocator.md +++ b/issues/toyos-has-its-own-allocator.md @@ -37,7 +37,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 e00d6a63bb7..00000000000 --- a/kernel/Cargo.lock +++ /dev/null @@ -1,205 +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" - -[[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 2b69481bd85..9381ade7f02 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 } 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 fb204c696b4..917b1826382 100644 --- a/src/sysroot.rs +++ b/src/sysroot.rs @@ -80,7 +80,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 @@ -1235,7 +1235,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/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 9aa5ca5b4a1..fed94b66538 100644 --- a/tests/toyos.rs +++ b/tests/toyos.rs @@ -4074,7 +4074,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 cb6a7aef398..00000000000 --- a/userland/Cargo.lock +++ /dev/null @@ -1,5298 +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", -] - -[[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-blockhold" -version = "0.1.0" - -[[package]] -name = "toyos-blockring" -version = "0.1.0" -dependencies = [ - "toyos-blockhold", - "toyos-transport", -] - -[[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 f3db7a14419..00000000000 --- a/userland/Cargo.toml +++ /dev/null @@ -1,90 +0,0 @@ -[workspace] -resolver = "2" -members = [ - "acpiserver", - "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 { From db55db96acfb46068775e3b92ba95263c075d1e1 Mon Sep 17 00:00:00 2001 From: japabu Date: Wed, 7 Oct 2026 23:56:31 +0200 Subject: [PATCH 2/4] Answer review round 1: the lockup judge reads the kernel's path from the repository root, and two issues say who owns them and why libc stays apart The fold moved the workspace root, and cargo hands rustc a member's source by its path from that root: the kernel's compiled-in source paths went from `src/...` to `kernel/src/...`. The T14's run of the metal profile at 88bcbf4d3 was red in one row for it, `hard_lockup_ends_a_deaf_cpu`, whose judge looked for `taken at src/hardlockup/probe.rs` in the previous boot's panic record and was given `taken at kernel/src/hardlockup/probe.rs:145:29`. It is the one reader in the tree that matches a compiled-in path by its prefix; the judge now names the path the kernel records. The stage's issue records that the root's move changes those paths, and gives the reason `userland/libc` keeps its own lock that holds: the lock is an input of the sysroot key. The SDK's clippy issue names its owner. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RvnWQFcMuGqTHYhvSnTe8A --- issues/the-sdk-is-linted-by-no-clippy-run.md | 2 ++ ...tree-resolves-in-five-cargo-locks-not-one.md | 17 +++++++++++++---- tests/common/power.rs | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/issues/the-sdk-is-linted-by-no-clippy-run.md b/issues/the-sdk-is-linted-by-no-clippy-run.md index 6538215fe23..51faa63d086 100644 --- a/issues/the-sdk-is-linted-by-no-clippy-run.md +++ b/issues/the-sdk-is-linted-by-no-clippy-run.md @@ -19,4 +19,6 @@ 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-tree-resolves-in-five-cargo-locks-not-one.md b/issues/the-tree-resolves-in-five-cargo-locks-not-one.md index 360cc4cfdfc..9ab95925006 100644 --- a/issues/the-tree-resolves-in-five-cargo-locks-not-one.md +++ b/issues/the-tree-resolves-in-five-cargo-locks-not-one.md @@ -45,7 +45,11 @@ profile's `strip`. asked for a kernel and a loader byte-identical to the base's own build. Cargo hashes each path package's path, relative to the workspace root, into `-C metadata`, and hands rustc a path package's source by that relative path, so -moving the root changes every path crate's symbol names; and the base did not +moving the root changes every path crate's symbol names and every source path +compiled into the artifact: a panic or a lock site the kernel named +`src/hardlockup/probe.rs` it now names `kernel/src/hardlockup/probe.rs`, and a +path dependency outside the old root, named by its absolute path, is named +from the repository root. The base did not reproduce its own bytes either. Measured at `257ebea2a`: the base built at a second path differed from itself in all four artifacts, its x86_64 kernel carrying 38 strings that name the checkout and its AArch64 kernel 35 @@ -61,9 +65,14 @@ which that pull request stages. `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. -- `userland/libc` keeps its own lock: it is built into a sysroot with - `--release` and its own `panic = "abort"` profile, which cargo ignores in a - member. +- `userland/libc` keeps its own lock because that lock is an input of the + sysroot key (`src/sysroot.rs`, `SYSROOT_MANIFESTS`): as a member it would be + resolved by the root lock, and every dependency change of any member would + move the key and rebuild every sysroot. Its `panic = "abort"` profile is not + the reason; a named root profile would carry that. The price is a sixth + resolution: its lock resolves `toyos`, `toyos-abi`, `toyos-elf`, + `toyos-osrelease` and `dlmalloc` again, and nothing holds it to the root's. + Both carry `dlmalloc` 0.2.13 today. - 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/tests/common/power.rs b/tests/common/power.rs index f555a857d8b..50d65a421c3 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 From 9ef866436c5f36bf5c3348197de5c7e61e85a4c3 Mon Sep 17 00:00:00 2001 From: japabu Date: Thu, 8 Oct 2026 08:56:14 +0200 Subject: [PATCH 3/4] The host's own apps build where the userland test steps build The fold dropped `--target ` from the `userland/*` test steps, which no longer need it to keep a guest triple out, and left it on the apps step. On `main` both carried it and shared `userland/target/`; after the fold the tests filled `target/debug` and the apps `target/`, so the apps step compiled every dependency a second time. Counted from the nightly logs: 282 units in "the apps for linux" at 88bcbf4d3 (run 37685714260) against 47 on main (run 37717000719), 226 of its 256 distinct crates already compiled by an earlier step of the same run, and the sealed tree 740,395,570 B larger than main's on the same runner image. The step now names a triple only where it checks another host's. Measured cold on an aarch64-apple-darwin host, after the fourteen test steps' builds (271 units): the ten apps with `--target` compile 270 units into 751,680 KiB; without it 47 units into 107,856 KiB, the same 47 crates main's step compiles. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RvnWQFcMuGqTHYhvSnTe8A --- src/ci.rs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/ci.rs b/src/ci.rs index 37b13d37bc8..f790c2ccf3c 100644 --- a/src/ci.rs +++ b/src/ci.rs @@ -652,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}", @@ -669,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 { @@ -677,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()] } } @@ -1076,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] From dd12c0b324083ec517808b23d42e31a7d2d91e1e Mon Sep 17 00:00:00 2001 From: japabu Date: Thu, 8 Oct 2026 11:29:30 +0200 Subject: [PATCH 4/4] The one-workspace stage's issue is closed, and the track says where its two stages landed `issues/the-tree-resolves-in-five-cargo-locks-not-one.md` named one thing left, the T14's run of the metal profile on the folded build. It ran green at `db55db96a`, and the review ruled no boot owed for what followed, so the exit is met and the file goes. Stages 2 and 3 of `issues/the-tree-says-who-uses-each-thing.md` cited it: the alignments landed in #724, #732 and #738, the workspace in #746. What the file carried that is still true is at its site: the root manifest's `exclude` says why `userland/libc` and the guest test crates keep their own resolution. Two facts go with the file. libc's lock resolves `toyos`, `toyos-abi`, `toyos-elf`, `toyos-osrelease` and `dlmalloc` a second time and nothing holds it to the root's; both carry `dlmalloc` 0.2.13. `Cargo.lock` carries `miniz_oxide` 0.8.9 for `png` 0.18.1 beside 0.9.1 for `flate2` 1.1.10 until `png` takes 0.9. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RvnWQFcMuGqTHYhvSnTe8A --- ...ee-resolves-in-five-cargo-locks-not-one.md | 88 ------------------- issues/the-tree-says-who-uses-each-thing.md | 6 +- 2 files changed, 2 insertions(+), 92 deletions(-) delete mode 100644 issues/the-tree-resolves-in-five-cargo-locks-not-one.md 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 9ab95925006..00000000000 --- a/issues/the-tree-resolves-in-five-cargo-locks-not-one.md +++ /dev/null @@ -1,88 +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/` were five -Cargo resolutions with five locks, and three of them declared their own -`[profile.toyos]`. A crate two of them shared was tested on the host against -the root's lock and shipped from another's. The pull request that carries -this text folds them into one workspace and one lock. - -**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. It changes nothing a kernel or a loader is built -from but the workspace root, shown for both architectures by two -measurements at one absolute path: - -- the kernel and the loader are byte-identical to a control that is the base - with only the workspace root moved up, keeping the crate's own base lock, - its profile and its flags; -- every `rustc` command line `cargo build -v` runs for them is the base's, - once the tree's path and cargo's path-derived hashes are taken out. - -The root `.cargo/config.toml` is tracked, so a fork clone under edit is -listed in the untracked `.cargo/local.toml` it includes; 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 its own workspace: pull request #724 aligned the root -and kernel locks, #732 the userland lock, and #738 the loader's lock and its -profile's `strip`. - -**The exit's first wording was the orchestrator's and could not be met.** It -asked for a kernel and a loader byte-identical to the base's own build. Cargo -hashes each path package's path, relative to the workspace root, into `-C -metadata`, and hands rustc a path package's source by that relative path, so -moving the root changes every path crate's symbol names and every source path -compiled into the artifact: a panic or a lock site the kernel named -`src/hardlockup/probe.rs` it now names `kernel/src/hardlockup/probe.rs`, and a -path dependency outside the old root, named by its absolute path, is named -from the repository root. The base did not -reproduce its own bytes either. Measured at `257ebea2a`: the base built at a -second path differed from itself in all four artifacts, its x86_64 kernel -carrying 38 strings that name the checkout and its AArch64 kernel 35 -(`issues/two-checkouts-of-one-tree-build-different-guest-bytes.md`). The -orchestrator ruled the wording above in its place on 2026-10-07. - -**What is left:** the T14's run of the metal profile on the folded build, -which that pull request stages. - -**What stays apart, and why:** - -- `[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. -- `userland/libc` keeps its own lock because that lock is an input of the - sysroot key (`src/sysroot.rs`, `SYSROOT_MANIFESTS`): as a member it would be - resolved by the root lock, and every dependency change of any member would - move the key and rebuild every sysroot. Its `panic = "abort"` profile is not - the reason; a named root profile would carry that. The price is a sixth - resolution: its lock resolves `toyos`, `toyos-abi`, `toyos-elf`, - `toyos-osrelease` and `dlmalloc` again, and nothing holds it to the root's. - Both carry `dlmalloc` 0.2.13 today. -- 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. - -**Constraints the fold kept:** - -- One lock holds one version per semver range. The root's registry - `getrandom` 0.2, 0.3 and 0.4 became the forks userland patched in at the - same versions: they moved no version and followed from the root `[patch]`. -- `Cargo.lock` carries `miniz_oxide` 0.8.9, for `png` 0.18.1, beside 0.9.1, - for `flate2` 1.1.10. Exit of that pair: `png` takes `miniz_oxide` 0.9. -- Every fork commit the five locks pinned stays pinned, and the crypto - pre-releases (`ed25519-dalek 3.0.0-pre.6`, `pkcs5 0.8.0-rc.13`) stay. 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