# This file was @generated by crate2nix 0.15.0 with the command:
# "generate"
# See https://github.com/kolloch/crate2nix for more info.
{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs { config = {}; }
, fetchurl ? pkgs.fetchurl
, lib ? pkgs.lib
, stdenv ? pkgs.stdenv
, buildRustCrateForPkgs ? pkgs: pkgs.buildRustCrate
# This is used as the `crateOverrides` argument for `buildRustCrate`.
, defaultCrateOverrides ? pkgs.defaultCrateOverrides
# The features to enable for the root_crate or the workspace_members.
, rootFeatures ? [ "default" ]
# If true, throw errors instead of issueing deprecation warnings.
, strictDeprecation ? false
# Elements to add to the `-C target-feature=` argument passed to `rustc`
# (separated by `,`, prefixed with `+`).
# Used for conditional compilation based on CPU feature detection.
, targetFeatures ? []
# Additional target attributes for conditional dependencies.
# Use this for custom cfg flags that are passed via rustcflags but need to
# be known at Nix evaluation time for dependency resolution.
# Example: { tracing_unstable = true; } for crates using cfg(tracing_unstable).
, extraTargetFlags ? {}
# Whether to perform release builds: longer compile times, faster binaries.
, release ? true
# Additional crate2nix configuration if it exists.
, crateConfig
? if builtins.pathExists ./crate-config.nix
then pkgs.callPackage ./crate-config.nix {}
else {}
}:
rec {
#
# "public" attributes that we attempt to keep stable with new versions of crate2nix.
#
rootCrate = rec {
packageId = "kotoha";
# Use this attribute to refer to the derivation building your root crate package.
# You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }.
build = internal.buildRustCrateWithFeatures {
inherit packageId;
};
# Debug support which might change between releases.
# File a bug if you depend on any for non-debug work!
debug = internal.debugCrate { inherit packageId; };
};
# Refer your crate build derivation by name here.
# You can override the features with
# workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
workspaceMembers = {
"kotoha" = rec {
packageId = "kotoha";
build = internal.buildRustCrateWithFeatures {
packageId = "kotoha";
};
# Debug support which might change between releases.
# File a bug if you depend on any for non-debug work!
debug = internal.debugCrate { inherit packageId; };
};
};
# A derivation that joins the outputs of all workspace members together.
allWorkspaceMembers = pkgs.symlinkJoin {
name = "all-workspace-members";
paths =
let members = builtins.attrValues workspaceMembers;
in builtins.map (m: m.build) members;
};
#
# "internal" ("private") attributes that may change in every new version of crate2nix.
#
internal = rec {
# Build and dependency information for crates.
# Many of the fields are passed one-to-one to buildRustCrate.
#
# Noteworthy:
# * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
# but with additional information which is used during dependency/feature resolution.
# * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
# * `devDependencies` as of now not used by `buildRustCrate` but used to
# inject test dependencies into the build
crates = {
"android_system_properties" = rec {
crateName = "android_system_properties";
version = "0.1.5";
edition = "2018";
sha256 = "04b3wrz12837j7mdczqd95b732gw5q7q66cv4yn4646lvccp57l1";
authors = [
"Nicolas Silva <nical@fastmail.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
];
};
"anyhow" = rec {
crateName = "anyhow";
version = "1.0.102";
edition = "2021";
sha256 = "0b447dra1v12z474c6z4jmicdmc5yxz5bakympdnij44ckw2s83z";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"async-trait" = rec {
crateName = "async-trait";
version = "0.1.89";
edition = "2021";
sha256 = "1fsxxmz3rzx1prn1h3rs7kyjhkap60i7xvi0ldapkvbb14nssdch";
procMacro = true;
libName = "async_trait";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "clone-impls" "full" "parsing" "printing" "proc-macro" "visit-mut" ];
}
];
};
"autocfg" = rec {
crateName = "autocfg";
version = "1.5.1";
edition = "2015";
sha256 = "0lqasy5i30flcgih1b50kvsk6z32g09r1q4ql7q81pj6228jy0zj";
authors = [
"Josh Stone <cuviper@gmail.com>"
];
};
"base64" = rec {
crateName = "base64";
version = "0.22.1";
edition = "2018";
sha256 = "1imqzgh7bxcikp5vx3shqvw9j09g9ly0xr0jma0q66i52r7jbcvj";
authors = [
"Marshall Pierce <marshall@mpierce.org>"
];
features = {
"default" = [ "std" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
};
"bitflags" = rec {
crateName = "bitflags";
version = "2.11.1";
edition = "2021";
sha256 = "1cvqijg3rvwgis20a66vfdxannjsxfy5fgjqkaq3l13gyfcj4lf4";
authors = [
"The Rust Project Developers"
];
features = {
"arbitrary" = [ "dep:arbitrary" ];
"bytemuck" = [ "dep:bytemuck" ];
"serde" = [ "serde_core" ];
"serde_core" = [ "dep:serde_core" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"bumpalo" = rec {
crateName = "bumpalo";
version = "3.20.3";
edition = "2021";
sha256 = "0jc6va3nwcqikm7chnpdv1s87my3gs2j7g1sc7g3k91brg3arxbj";
authors = [
"Nick Fitzgerald <fitzgen@gmail.com>"
];
features = {
"allocator-api2" = [ "dep:allocator-api2" ];
"bench_allocator_api" = [ "allocator_api" "blink-alloc/nightly" ];
"serde" = [ "dep:serde" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"bytes" = rec {
crateName = "bytes";
version = "1.11.1";
edition = "2021";
sha256 = "0czwlhbq8z29wq0ia87yass2mzy1y0jcasjb8ghriiybnwrqfx0y";
authors = [
"Carl Lerche <me@carllerche.com>"
"Sean McArthur <sean@seanmonstar.com>"
];
features = {
"default" = [ "std" ];
"extra-platforms" = [ "dep:extra-platforms" ];
"serde" = [ "dep:serde" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"cc" = rec {
crateName = "cc";
version = "1.2.62";
edition = "2018";
sha256 = "164zsxcy2zzvbbh1qpbrsssz8kmria41j4agih47sal3y1cyip51";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "find-msvc-tools";
packageId = "find-msvc-tools";
}
{
name = "shlex";
packageId = "shlex";
}
];
features = {
"parallel" = [ "dep:libc" "dep:jobserver" ];
};
};
"cfg-if" = rec {
crateName = "cfg-if";
version = "1.0.4";
edition = "2018";
sha256 = "008q28ajc546z5p2hcwdnckmg0hia7rnx52fni04bwqkzyrghc4k";
libName = "cfg_if";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
features = {
"core" = [ "dep:core" ];
"rustc-dep-of-std" = [ "core" ];
};
};
"chrono" = rec {
crateName = "chrono";
version = "0.4.44";
edition = "2021";
sha256 = "1c64mk9a235271j5g3v4zrzqqmd43vp9vki7vqfllpqf5rd0fwy6";
dependencies = [
{
name = "iana-time-zone";
packageId = "iana-time-zone";
optional = true;
target = { target, features }: (target."unix" or false);
features = [ "fallback" ];
}
{
name = "js-sys";
packageId = "js-sys";
optional = true;
target = { target, features }: (("wasm32" == target."arch" or null) && (!(("emscripten" == target."os" or null) || ("wasi" == target."os" or null))));
}
{
name = "num-traits";
packageId = "num-traits";
usesDefaultFeatures = false;
}
{
name = "serde";
packageId = "serde";
optional = true;
usesDefaultFeatures = false;
}
{
name = "wasm-bindgen";
packageId = "wasm-bindgen";
optional = true;
target = { target, features }: (("wasm32" == target."arch" or null) && (!(("emscripten" == target."os" or null) || ("wasi" == target."os" or null))));
}
{
name = "windows-link";
packageId = "windows-link";
optional = true;
target = { target, features }: (target."windows" or false);
}
];
features = {
"arbitrary" = [ "dep:arbitrary" ];
"clock" = [ "winapi" "iana-time-zone" "now" ];
"default" = [ "clock" "std" "oldtime" "wasmbind" ];
"defmt" = [ "dep:defmt" "pure-rust-locales?/defmt" ];
"iana-time-zone" = [ "dep:iana-time-zone" ];
"js-sys" = [ "dep:js-sys" ];
"now" = [ "std" ];
"pure-rust-locales" = [ "dep:pure-rust-locales" ];
"rkyv" = [ "dep:rkyv" "rkyv/size_32" ];
"rkyv-16" = [ "dep:rkyv" "rkyv?/size_16" ];
"rkyv-32" = [ "dep:rkyv" "rkyv?/size_32" ];
"rkyv-64" = [ "dep:rkyv" "rkyv?/size_64" ];
"rkyv-validation" = [ "rkyv?/validation" ];
"serde" = [ "dep:serde" ];
"std" = [ "alloc" ];
"unstable-locales" = [ "pure-rust-locales" ];
"wasm-bindgen" = [ "dep:wasm-bindgen" ];
"wasmbind" = [ "wasm-bindgen" "js-sys" ];
"winapi" = [ "windows-link" ];
"windows-link" = [ "dep:windows-link" ];
};
resolvedDefaultFeatures = [ "alloc" "clock" "default" "iana-time-zone" "js-sys" "now" "oldtime" "serde" "std" "wasm-bindgen" "wasmbind" "winapi" "windows-link" ];
};
"core-foundation-sys" = rec {
crateName = "core-foundation-sys";
version = "0.8.7";
edition = "2018";
sha256 = "12w8j73lazxmr1z0h98hf3z623kl8ms7g07jch7n4p8f9nwlhdkp";
libName = "core_foundation_sys";
authors = [
"The Servo Project Developers"
];
features = {
"default" = [ "link" ];
};
resolvedDefaultFeatures = [ "default" "link" ];
};
"darling" = rec {
crateName = "darling";
version = "0.23.0";
edition = "2021";
sha256 = "179fj6p6ajw4dnkrik51wjhifxwy02x5zhligyymcb905zd17bi5";
authors = [
"Ted Driggs <ted.driggs@outlook.com>"
];
dependencies = [
{
name = "darling_core";
packageId = "darling_core";
}
{
name = "darling_macro";
packageId = "darling_macro";
}
];
features = {
"default" = [ "suggestions" ];
"diagnostics" = [ "darling_core/diagnostics" ];
"serde" = [ "darling_core/serde" ];
"suggestions" = [ "darling_core/suggestions" ];
};
resolvedDefaultFeatures = [ "default" "suggestions" ];
};
"darling_core" = rec {
crateName = "darling_core";
version = "0.23.0";
edition = "2021";
sha256 = "1c033vrks38vpw8kwgd5w088dsr511kfz55n9db56prkgh7sarcq";
authors = [
"Ted Driggs <ted.driggs@outlook.com>"
];
dependencies = [
{
name = "ident_case";
packageId = "ident_case";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "strsim";
packageId = "strsim";
optional = true;
}
{
name = "syn";
packageId = "syn";
features = [ "full" "extra-traits" ];
}
];
features = {
"serde" = [ "dep:serde" ];
"strsim" = [ "dep:strsim" ];
"suggestions" = [ "strsim" ];
};
resolvedDefaultFeatures = [ "strsim" "suggestions" ];
};
"darling_macro" = rec {
crateName = "darling_macro";
version = "0.23.0";
edition = "2021";
sha256 = "13fvzji9xyp304mgq720z5l0xgm54qj68jibwscagkynggn88fdc";
procMacro = true;
authors = [
"Ted Driggs <ted.driggs@outlook.com>"
];
dependencies = [
{
name = "darling_core";
packageId = "darling_core";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
}
];
};
"dyn-clone" = rec {
crateName = "dyn-clone";
version = "1.0.20";
edition = "2018";
sha256 = "0m956cxcg8v2n8kmz6xs5zl13k2fak3zkapzfzzp7pxih6hix26h";
libName = "dyn_clone";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
};
"equivalent" = rec {
crateName = "equivalent";
version = "1.0.2";
edition = "2015";
sha256 = "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7";
};
"errno" = rec {
crateName = "errno";
version = "0.3.14";
edition = "2018";
sha256 = "1szgccmh8vgryqyadg8xd58mnwwicf39zmin3bsn63df2wbbgjir";
authors = [
"Chris Wong <lambda.fairy@gmail.com>"
"Dan Gohman <dev@sunfishcode.online>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ("hermit" == target."os" or null);
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ("wasi" == target."os" or null);
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: (target."unix" or false);
}
{
name = "windows-sys";
packageId = "windows-sys";
target = { target, features }: (target."windows" or false);
features = [ "Win32_Foundation" "Win32_System_Diagnostics_Debug" ];
}
];
features = {
"default" = [ "std" ];
"std" = [ "libc/std" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"fastrand" = rec {
crateName = "fastrand";
version = "2.4.1";
edition = "2018";
sha256 = "1mnqxxnxvd69ma9mczabpbbsgwlhd6l78yv3vd681453a9s247wz";
authors = [
"Stjepan Glavina <stjepang@gmail.com>"
];
features = {
"default" = [ "std" ];
"getrandom" = [ "dep:getrandom" ];
"js" = [ "std" "getrandom" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
};
"find-msvc-tools" = rec {
crateName = "find-msvc-tools";
version = "0.1.9";
edition = "2018";
sha256 = "10nmi0qdskq6l7zwxw5g56xny7hb624iki1c39d907qmfh3vrbjv";
libName = "find_msvc_tools";
};
"foldhash" = rec {
crateName = "foldhash";
version = "0.1.5";
edition = "2021";
sha256 = "1wisr1xlc2bj7hk4rgkcjkz3j2x4dhd1h9lwk7mj8p71qpdgbi6r";
authors = [
"Orson Peters <orsonpeters@gmail.com>"
];
features = {
"default" = [ "std" ];
};
};
"futures" = rec {
crateName = "futures";
version = "0.3.32";
edition = "2018";
sha256 = "0b9q86r5ar18v5xjiyqn7sb8sa32xv98qqnfz779gl7ns7lpw54b";
dependencies = [
{
name = "futures-channel";
packageId = "futures-channel";
usesDefaultFeatures = false;
features = [ "sink" ];
}
{
name = "futures-core";
packageId = "futures-core";
usesDefaultFeatures = false;
}
{
name = "futures-executor";
packageId = "futures-executor";
optional = true;
usesDefaultFeatures = false;
}
{
name = "futures-io";
packageId = "futures-io";
usesDefaultFeatures = false;
}
{
name = "futures-sink";
packageId = "futures-sink";
usesDefaultFeatures = false;
}
{
name = "futures-task";
packageId = "futures-task";
usesDefaultFeatures = false;
}
{
name = "futures-util";
packageId = "futures-util";
usesDefaultFeatures = false;
features = [ "sink" ];
}
];
features = {
"alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ];
"async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ];
"bilock" = [ "futures-util/bilock" ];
"compat" = [ "std" "futures-util/compat" ];
"default" = [ "std" "async-await" "executor" ];
"executor" = [ "std" "futures-executor/std" ];
"futures-executor" = [ "dep:futures-executor" ];
"io-compat" = [ "compat" "futures-util/io-compat" ];
"spin" = [ "futures-util/spin" ];
"std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ];
"thread-pool" = [ "executor" "futures-executor/thread-pool" ];
"unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ];
"write-all-vectored" = [ "futures-util/write-all-vectored" ];
};
resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ];
};
"futures-channel" = rec {
crateName = "futures-channel";
version = "0.3.32";
edition = "2018";
sha256 = "07fcyzrmbmh7fh4ainilf1s7gnwvnk07phdq77jkb9fpa2ffifq7";
libName = "futures_channel";
dependencies = [
{
name = "futures-core";
packageId = "futures-core";
usesDefaultFeatures = false;
}
{
name = "futures-sink";
packageId = "futures-sink";
optional = true;
usesDefaultFeatures = false;
}
];
features = {
"alloc" = [ "futures-core/alloc" ];
"default" = [ "std" ];
"futures-sink" = [ "dep:futures-sink" ];
"sink" = [ "futures-sink" ];
"std" = [ "alloc" "futures-core/std" ];
};
resolvedDefaultFeatures = [ "alloc" "futures-sink" "sink" "std" ];
};
"futures-core" = rec {
crateName = "futures-core";
version = "0.3.32";
edition = "2018";
sha256 = "07bbvwjbm5g2i330nyr1kcvjapkmdqzl4r6mqv75ivvjaa0m0d3y";
libName = "futures_core";
features = {
"default" = [ "std" ];
"portable-atomic" = [ "dep:portable-atomic" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
};
"futures-executor" = rec {
crateName = "futures-executor";
version = "0.3.32";
edition = "2018";
sha256 = "17aplz3ns74qn7a04qg7qlgsdx5iwwwkd4jvdfra6hl3h4w9rwms";
libName = "futures_executor";
dependencies = [
{
name = "futures-core";
packageId = "futures-core";
usesDefaultFeatures = false;
}
{
name = "futures-task";
packageId = "futures-task";
usesDefaultFeatures = false;
}
{
name = "futures-util";
packageId = "futures-util";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
"std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ];
"thread-pool" = [ "std" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"futures-io" = rec {
crateName = "futures-io";
version = "0.3.32";
edition = "2018";
sha256 = "063pf5m6vfmyxj74447x8kx9q8zj6m9daamj4hvf49yrg9fs7jyf";
libName = "futures_io";
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"futures-macro" = rec {
crateName = "futures-macro";
version = "0.3.32";
edition = "2018";
sha256 = "0ys4b1lk7s0bsj29pv42bxsaavalch35rprp64s964p40c1bfdg8";
procMacro = true;
libName = "futures_macro";
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "full" ];
}
];
};
"futures-sink" = rec {
crateName = "futures-sink";
version = "0.3.32";
edition = "2018";
sha256 = "14q8ml7hn5a6gyy9ri236j28kh0svqmrk4gcg0wh26rkazhm95y3";
libName = "futures_sink";
features = {
"default" = [ "std" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
};
"futures-task" = rec {
crateName = "futures-task";
version = "0.3.32";
edition = "2018";
sha256 = "14s3vqf8llz3kjza33vn4ixg6kwxp61xrysn716h0cwwsnri2xq3";
libName = "futures_task";
features = {
"default" = [ "std" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "std" ];
};
"futures-util" = rec {
crateName = "futures-util";
version = "0.3.32";
edition = "2018";
sha256 = "1mn60lw5kh32hz9isinjlpw34zx708fk5q1x0m40n6g6jq9a971q";
libName = "futures_util";
dependencies = [
{
name = "futures-channel";
packageId = "futures-channel";
optional = true;
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "futures-core";
packageId = "futures-core";
usesDefaultFeatures = false;
}
{
name = "futures-io";
packageId = "futures-io";
optional = true;
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "futures-macro";
packageId = "futures-macro";
optional = true;
usesDefaultFeatures = false;
}
{
name = "futures-sink";
packageId = "futures-sink";
optional = true;
usesDefaultFeatures = false;
}
{
name = "futures-task";
packageId = "futures-task";
usesDefaultFeatures = false;
}
{
name = "memchr";
packageId = "memchr";
optional = true;
}
{
name = "pin-project-lite";
packageId = "pin-project-lite";
}
{
name = "slab";
packageId = "slab";
optional = true;
usesDefaultFeatures = false;
}
];
features = {
"alloc" = [ "futures-core/alloc" "futures-task/alloc" "slab" ];
"async-await-macro" = [ "async-await" "futures-macro" ];
"channel" = [ "std" "futures-channel" ];
"compat" = [ "std" "futures_01" "libc" ];
"default" = [ "std" "async-await" "async-await-macro" ];
"futures-channel" = [ "dep:futures-channel" ];
"futures-io" = [ "dep:futures-io" ];
"futures-macro" = [ "dep:futures-macro" ];
"futures-sink" = [ "dep:futures-sink" ];
"futures_01" = [ "dep:futures_01" ];
"io" = [ "std" "futures-io" "memchr" ];
"io-compat" = [ "io" "compat" "tokio-io" "libc" ];
"libc" = [ "dep:libc" ];
"memchr" = [ "dep:memchr" ];
"portable-atomic" = [ "futures-core/portable-atomic" ];
"sink" = [ "futures-sink" ];
"slab" = [ "dep:slab" ];
"spin" = [ "dep:spin" ];
"std" = [ "alloc" "futures-core/std" "futures-task/std" "slab/std" ];
"tokio-io" = [ "dep:tokio-io" ];
"unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
"write-all-vectored" = [ "io" ];
};
resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "sink" "slab" "std" ];
};
"getrandom" = rec {
crateName = "getrandom";
version = "0.4.2";
edition = "2024";
sha256 = "0mb5833hf9pvn9dhvxjgfg5dx0m77g8wavvjdpvpnkp9fil1xr8d";
authors = [
"The Rand Project Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ((("linux" == target."os" or null) || ("android" == target."os" or null)) && (!((("linux" == target."os" or null) && ("" == target."env" or null)) || ("custom" == target."getrandom_backend" or null) || ("linux_raw" == target."getrandom_backend" or null) || ("rdrand" == target."getrandom_backend" or null) || ("rndr" == target."getrandom_backend" or null))));
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: (("dragonfly" == target."os" or null) || ("freebsd" == target."os" or null) || ("hurd" == target."os" or null) || ("illumos" == target."os" or null) || ("cygwin" == target."os" or null) || (("horizon" == target."os" or null) && ("arm" == target."arch" or null)));
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: (("haiku" == target."os" or null) || ("redox" == target."os" or null) || ("nto" == target."os" or null) || ("aix" == target."os" or null));
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: (("ios" == target."os" or null) || ("visionos" == target."os" or null) || ("watchos" == target."os" or null) || ("tvos" == target."os" or null));
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: (("macos" == target."os" or null) || ("openbsd" == target."os" or null) || ("vita" == target."os" or null) || ("emscripten" == target."os" or null));
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ("netbsd" == target."os" or null);
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ("solaris" == target."os" or null);
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ("vxworks" == target."os" or null);
}
{
name = "r-efi";
packageId = "r-efi";
usesDefaultFeatures = false;
target = { target, features }: (("uefi" == target."os" or null) && ("efi_rng" == target."getrandom_backend" or null));
}
{
name = "wasip2";
packageId = "wasip2";
usesDefaultFeatures = false;
target = { target, features }: (("wasm32" == target."arch" or null) && ("wasi" == target."os" or null) && ("p2" == target."env" or null));
}
{
name = "wasip3";
packageId = "wasip3";
target = { target, features }: (("wasm32" == target."arch" or null) && ("wasi" == target."os" or null) && ("p3" == target."env" or null));
}
];
features = {
"sys_rng" = [ "dep:rand_core" ];
"wasm_js" = [ "dep:wasm-bindgen" "dep:js-sys" ];
};
};
"hashbrown 0.15.5" = rec {
crateName = "hashbrown";
version = "0.15.5";
edition = "2021";
sha256 = "189qaczmjxnikm9db748xyhiw04kpmhm9xj9k9hg0sgx7pjwyacj";
authors = [
"Amanieu d'Antras <amanieu@gmail.com>"
];
dependencies = [
{
name = "foldhash";
packageId = "foldhash";
optional = true;
usesDefaultFeatures = false;
}
];
features = {
"alloc" = [ "dep:alloc" ];
"allocator-api2" = [ "dep:allocator-api2" ];
"core" = [ "dep:core" ];
"default" = [ "default-hasher" "inline-more" "allocator-api2" "equivalent" "raw-entry" ];
"default-hasher" = [ "dep:foldhash" ];
"equivalent" = [ "dep:equivalent" ];
"nightly" = [ "bumpalo/allocator_api" ];
"rayon" = [ "dep:rayon" ];
"rustc-dep-of-std" = [ "nightly" "core" "alloc" "rustc-internal-api" ];
"serde" = [ "dep:serde" ];
};
resolvedDefaultFeatures = [ "default-hasher" ];
};
"hashbrown 0.17.1" = rec {
crateName = "hashbrown";
version = "0.17.1";
edition = "2024";
sha256 = "0jmqz7i4yl6cm7rbn0i2ffkfrmwi6xkmzkaldr2v8bcsx2v0jngd";
features = {
"alloc" = [ "dep:alloc" ];
"allocator-api2" = [ "dep:allocator-api2" ];
"core" = [ "dep:core" ];
"default" = [ "default-hasher" "inline-more" "allocator-api2" "equivalent" "raw-entry" ];
"default-hasher" = [ "dep:foldhash" ];
"equivalent" = [ "dep:equivalent" ];
"nightly" = [ "foldhash?/nightly" "bumpalo/allocator_api" ];
"rayon" = [ "dep:rayon" ];
"rustc-dep-of-std" = [ "nightly" "core" "alloc" "rustc-internal-api" ];
"serde" = [ "dep:serde_core" "dep:serde" ];
};
};
"heck" = rec {
crateName = "heck";
version = "0.5.0";
edition = "2021";
sha256 = "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113";
};
"iana-time-zone" = rec {
crateName = "iana-time-zone";
version = "0.1.65";
edition = "2021";
sha256 = "0w64khw5p8s4nzwcf36bwnsmqzf61vpwk9ca1920x82bk6nwj6z3";
libName = "iana_time_zone";
authors = [
"Andrew Straw <strawman@astraw.com>"
"René Kijewski <rene.kijewski@fu-berlin.de>"
"Ryan Lopopolo <rjl@hyperbo.la>"
];
dependencies = [
{
name = "android_system_properties";
packageId = "android_system_properties";
target = { target, features }: ("android" == target."os" or null);
}
{
name = "core-foundation-sys";
packageId = "core-foundation-sys";
target = { target, features }: ("apple" == target."vendor" or null);
}
{
name = "iana-time-zone-haiku";
packageId = "iana-time-zone-haiku";
target = { target, features }: ("haiku" == target."os" or null);
}
{
name = "js-sys";
packageId = "js-sys";
target = { target, features }: (("wasm32" == target."arch" or null) && ("unknown" == target."os" or null));
}
{
name = "log";
packageId = "log";
target = { target, features }: (("wasm32" == target."arch" or null) && ("unknown" == target."os" or null));
}
{
name = "wasm-bindgen";
packageId = "wasm-bindgen";
target = { target, features }: (("wasm32" == target."arch" or null) && ("unknown" == target."os" or null));
}
{
name = "windows-core";
packageId = "windows-core";
target = { target, features }: ("windows" == target."os" or null);
}
];
features = {
};
resolvedDefaultFeatures = [ "fallback" ];
};
"iana-time-zone-haiku" = rec {
crateName = "iana-time-zone-haiku";
version = "0.1.2";
edition = "2018";
sha256 = "17r6jmj31chn7xs9698r122mapq85mfnv98bb4pg6spm0si2f67k";
libName = "iana_time_zone_haiku";
authors = [
"René Kijewski <crates.io@k6i.de>"
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
}
];
};
"id-arena" = rec {
crateName = "id-arena";
version = "2.3.0";
edition = "2021";
sha256 = "0m6rs0jcaj4mg33gkv98d71w3hridghp5c4yr928hplpkgbnfc1x";
libName = "id_arena";
authors = [
"Nick Fitzgerald <fitzgen@gmail.com>"
"Aleksey Kladov <aleksey.kladov@gmail.com>"
];
features = {
"default" = [ "std" ];
"rayon" = [ "dep:rayon" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"ident_case" = rec {
crateName = "ident_case";
version = "1.0.1";
edition = "2015";
sha256 = "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r";
authors = [
"Ted Driggs <ted.driggs@outlook.com>"
];
};
"indexmap" = rec {
crateName = "indexmap";
version = "2.14.0";
edition = "2024";
sha256 = "1na9z6f0d5pkjr1lgsni470v98gv2r7c41j8w48skr089x2yjrnl";
dependencies = [
{
name = "equivalent";
packageId = "equivalent";
usesDefaultFeatures = false;
}
{
name = "hashbrown";
packageId = "hashbrown 0.17.1";
usesDefaultFeatures = false;
}
{
name = "serde";
packageId = "serde";
optional = true;
usesDefaultFeatures = false;
target = { target, features }: false;
}
{
name = "serde_core";
packageId = "serde_core";
optional = true;
usesDefaultFeatures = false;
}
];
devDependencies = [
{
name = "serde";
packageId = "serde";
usesDefaultFeatures = false;
features = [ "derive" ];
}
];
features = {
"arbitrary" = [ "dep:arbitrary" ];
"borsh" = [ "dep:borsh" ];
"default" = [ "std" ];
"quickcheck" = [ "dep:quickcheck" ];
"rayon" = [ "dep:rayon" ];
"serde" = [ "dep:serde_core" "dep:serde" ];
"sval" = [ "dep:sval" ];
};
resolvedDefaultFeatures = [ "default" "serde" "std" ];
};
"itoa" = rec {
crateName = "itoa";
version = "1.0.18";
edition = "2021";
sha256 = "10jnd1vpfkb8kj38rlkn2a6k02afvj3qmw054dfpzagrpl6achlg";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
"no-panic" = [ "dep:no-panic" ];
};
};
"js-sys" = rec {
crateName = "js-sys";
version = "0.3.99";
edition = "2021";
sha256 = "04azrzsz91gr5s3z0ij36lz0kj9ry4lw3jz0mmbiwb251rsc8aql";
libName = "js_sys";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "futures-util";
packageId = "futures-util";
optional = true;
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "once_cell";
packageId = "once_cell";
usesDefaultFeatures = false;
}
{
name = "wasm-bindgen";
packageId = "wasm-bindgen";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" "unsafe-eval" ];
"futures-core-03-stream" = [ "dep:futures-util" "dep:futures-core" ];
"std" = [ "wasm-bindgen/std" "dep:futures-util" ];
};
resolvedDefaultFeatures = [ "default" "std" "unsafe-eval" ];
};
"kotoha" = rec {
crateName = "kotoha";
version = "0.1.3";
edition = "2024";
src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; };
libName = "kotoba";
dependencies = [
{
name = "rmcp";
packageId = "rmcp";
features = [ "server" "transport-io" ];
}
{
name = "schemars";
packageId = "schemars 0.8.22";
}
{
name = "serde";
packageId = "serde";
features = [ "derive" ];
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "thiserror";
packageId = "thiserror";
}
{
name = "tokio";
packageId = "tokio";
features = [ "sync" ];
}
{
name = "tracing";
packageId = "tracing";
}
];
devDependencies = [
{
name = "tempfile";
packageId = "tempfile";
}
{
name = "tokio";
packageId = "tokio";
features = [ "test-util" "macros" ];
}
];
};
"leb128fmt" = rec {
crateName = "leb128fmt";
version = "0.1.0";
edition = "2021";
sha256 = "1chxm1484a0bly6anh6bd7a99sn355ymlagnwj3yajafnpldkv89";
authors = [
"Bryant Luk <code@bryantluk.com>"
];
features = {
"default" = [ "std" ];
};
};
"libc" = rec {
crateName = "libc";
version = "0.2.186";
edition = "2021";
sha256 = "0rnyhzjyqq9x56skkllbjzzzwym3r61lq3l4hqj64v71gw0r3av8";
authors = [
"The Rust Project Developers"
];
features = {
"default" = [ "std" ];
"rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
"rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ];
"use_std" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"linux-raw-sys" = rec {
crateName = "linux-raw-sys";
version = "0.12.1";
edition = "2021";
sha256 = "0lwasljrqxjjfk9l2j8lyib1babh2qjlnhylqzl01nihw14nk9ij";
libName = "linux_raw_sys";
authors = [
"Dan Gohman <dev@sunfishcode.online>"
];
features = {
"core" = [ "dep:core" ];
"default" = [ "std" "general" "errno" ];
"rustc-dep-of-std" = [ "core" "no_std" ];
};
resolvedDefaultFeatures = [ "auxvec" "elf" "errno" "general" "ioctl" "no_std" ];
};
"log" = rec {
crateName = "log";
version = "0.4.30";
edition = "2021";
sha256 = "1rd6sw3gv9hb93464w7x3sip99zf8sjagm662r2ckg14b1lcavk1";
authors = [
"The Rust Project Developers"
];
features = {
"kv_serde" = [ "kv_std" "value-bag/serde" "serde" ];
"kv_std" = [ "std" "kv" "value-bag/error" ];
"kv_sval" = [ "kv" "value-bag/sval" "sval" "sval_ref" ];
"kv_unstable" = [ "kv" "value-bag" ];
"kv_unstable_serde" = [ "kv_serde" "kv_unstable_std" ];
"kv_unstable_std" = [ "kv_std" "kv_unstable" ];
"kv_unstable_sval" = [ "kv_sval" "kv_unstable" ];
"serde" = [ "serde_core" ];
"serde_core" = [ "dep:serde_core" ];
"sval" = [ "dep:sval" ];
"sval_ref" = [ "dep:sval_ref" ];
"value-bag" = [ "dep:value-bag" ];
};
};
"memchr" = rec {
crateName = "memchr";
version = "2.8.0";
edition = "2021";
sha256 = "0y9zzxcqxvdqg6wyag7vc3h0blhdn7hkq164bxyx2vph8zs5ijpq";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
"bluss"
];
features = {
"core" = [ "dep:core" ];
"default" = [ "std" ];
"logging" = [ "dep:log" ];
"rustc-dep-of-std" = [ "core" ];
"std" = [ "alloc" ];
"use_std" = [ "std" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
};
"num-traits" = rec {
crateName = "num-traits";
version = "0.2.19";
edition = "2021";
sha256 = "0h984rhdkkqd4ny9cif7y2azl3xdfb7768hb9irhpsch4q3gq787";
libName = "num_traits";
authors = [
"The Rust Project Developers"
];
buildDependencies = [
{
name = "autocfg";
packageId = "autocfg";
}
];
features = {
"default" = [ "std" ];
"libm" = [ "dep:libm" ];
};
};
"once_cell" = rec {
crateName = "once_cell";
version = "1.21.4";
edition = "2021";
sha256 = "0l1v676wf71kjg2khch4dphwh1jp3291ffiymr2mvy1kxd5kwz4z";
authors = [
"Aleksey Kladov <aleksey.kladov@gmail.com>"
];
features = {
"alloc" = [ "race" ];
"atomic-polyfill" = [ "critical-section" ];
"critical-section" = [ "dep:critical-section" "portable-atomic" ];
"default" = [ "std" ];
"parking_lot" = [ "dep:parking_lot_core" ];
"portable-atomic" = [ "dep:portable-atomic" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ];
};
"pastey" = rec {
crateName = "pastey";
version = "0.2.3";
edition = "2018";
sha256 = "1d1mk45ma9w54ppws8x096q96qhqirxmj9j3hchj7fmi1087zrif";
procMacro = true;
authors = [
"Aditya Kumar <git@adityais.dev>"
"David Tolnay <dtolnay@gmail.com>"
];
};
"pin-project-lite" = rec {
crateName = "pin-project-lite";
version = "0.2.17";
edition = "2018";
sha256 = "1kfmwvs271si96zay4mm8887v5khw0c27jc9srw1a75ykvgj54x8";
libName = "pin_project_lite";
};
"prettyplease" = rec {
crateName = "prettyplease";
version = "0.2.37";
edition = "2021";
links = "prettyplease02";
sha256 = "0azn11i1kh0byabhsgab6kqs74zyrg69xkirzgqyhz6xmjnsi727";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "full" ];
}
];
devDependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "clone-impls" "extra-traits" "parsing" "printing" "visit-mut" ];
}
];
features = {
"verbatim" = [ "syn/parsing" ];
};
};
"proc-macro2" = rec {
crateName = "proc-macro2";
version = "1.0.106";
edition = "2021";
sha256 = "0d09nczyaj67x4ihqr5p7gxbkz38gxhk4asc0k8q23g9n85hzl4g";
libName = "proc_macro2";
authors = [
"David Tolnay <dtolnay@gmail.com>"
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "unicode-ident";
packageId = "unicode-ident";
}
];
features = {
"default" = [ "proc-macro" ];
};
resolvedDefaultFeatures = [ "default" "proc-macro" ];
};
"quote" = rec {
crateName = "quote";
version = "1.0.45";
edition = "2021";
sha256 = "095rb5rg7pbnwdp6v8w5jw93wndwyijgci1b5lw8j1h5cscn3wj1";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "proc-macro" ];
"proc-macro" = [ "proc-macro2/proc-macro" ];
};
resolvedDefaultFeatures = [ "default" "proc-macro" ];
};
"r-efi" = rec {
crateName = "r-efi";
version = "6.0.0";
edition = "2018";
sha256 = "1gyrl2k5fyzj9k7kchg2n296z5881lg7070msabid09asp3wkp7q";
libName = "r_efi";
features = {
"core" = [ "dep:core" ];
"rustc-dep-of-std" = [ "core" ];
};
};
"ref-cast" = rec {
crateName = "ref-cast";
version = "1.0.25";
edition = "2021";
sha256 = "0zdzc34qjva9xxgs889z5iz787g81hznk12zbk4g2xkgwq530m7k";
libName = "ref_cast";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "ref-cast-impl";
packageId = "ref-cast-impl";
}
];
};
"ref-cast-impl" = rec {
crateName = "ref-cast-impl";
version = "1.0.25";
edition = "2021";
sha256 = "1nkhn1fklmn342z5c4mzfzlxddv3x8yhxwwk02cj06djvh36065p";
procMacro = true;
libName = "ref_cast_impl";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
}
];
};
"rmcp" = rec {
crateName = "rmcp";
version = "0.16.0";
edition = "2024";
sha256 = "0q6fhb3ff7g5m2cgkfbhxddpnpcbk1khcfh8x074fx8gd2a9qk6c";
dependencies = [
{
name = "async-trait";
packageId = "async-trait";
}
{
name = "base64";
packageId = "base64";
optional = true;
}
{
name = "chrono";
packageId = "chrono";
usesDefaultFeatures = false;
target = { target, features }: ((builtins.elem "wasm" target."family") && ("unknown" == target."os" or null));
features = [ "serde" "clock" "std" "oldtime" ];
}
{
name = "chrono";
packageId = "chrono";
target = { target, features }: (!((builtins.elem "wasm" target."family") && ("unknown" == target."os" or null)));
features = [ "serde" ];
}
{
name = "futures";
packageId = "futures";
}
{
name = "pastey";
packageId = "pastey";
optional = true;
}
{
name = "pin-project-lite";
packageId = "pin-project-lite";
}
{
name = "rmcp-macros";
packageId = "rmcp-macros";
optional = true;
}
{
name = "schemars";
packageId = "schemars 1.2.1";
optional = true;
features = [ "chrono04" ];
}
{
name = "serde";
packageId = "serde";
features = [ "derive" "rc" ];
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "thiserror";
packageId = "thiserror";
}
{
name = "tokio";
packageId = "tokio";
features = [ "sync" "macros" "rt" "time" ];
}
{
name = "tokio-util";
packageId = "tokio-util";
}
{
name = "tracing";
packageId = "tracing";
}
];
devDependencies = [
{
name = "async-trait";
packageId = "async-trait";
}
{
name = "schemars";
packageId = "schemars 1.2.1";
features = [ "chrono04" ];
}
{
name = "tokio";
packageId = "tokio";
features = [ "full" ];
}
];
features = {
"__reqwest" = [ "dep:reqwest" ];
"auth" = [ "dep:oauth2" "__reqwest" "dep:url" ];
"base64" = [ "dep:base64" ];
"client" = [ "dep:tokio-stream" ];
"client-side-sse" = [ "dep:sse-stream" "dep:http" ];
"default" = [ "base64" "macros" "server" ];
"elicitation" = [ "dep:url" ];
"macros" = [ "dep:rmcp-macros" "dep:pastey" ];
"reqwest" = [ "__reqwest" "reqwest?/rustls" ];
"reqwest-native-tls" = [ "__reqwest" "reqwest?/native-tls" ];
"reqwest-tls-no-provider" = [ "__reqwest" "reqwest?/rustls-no-provider" ];
"schemars" = [ "dep:schemars" ];
"server" = [ "transport-async-rw" "dep:schemars" "dep:pastey" ];
"server-side-http" = [ "uuid" "dep:rand" "dep:tokio-stream" "dep:http" "dep:http-body" "dep:http-body-util" "dep:bytes" "dep:sse-stream" "tower" ];
"tower" = [ "dep:tower-service" ];
"transport-async-rw" = [ "tokio/io-util" "tokio-util/codec" ];
"transport-child-process" = [ "transport-async-rw" "tokio/process" "dep:process-wrap" ];
"transport-io" = [ "transport-async-rw" "tokio/io-std" ];
"transport-streamable-http-client" = [ "client-side-sse" "transport-worker" ];
"transport-streamable-http-client-reqwest" = [ "transport-streamable-http-client" "__reqwest" ];
"transport-streamable-http-server" = [ "transport-streamable-http-server-session" "server-side-http" "transport-worker" ];
"transport-streamable-http-server-session" = [ "transport-async-rw" "dep:tokio-stream" ];
"transport-worker" = [ "dep:tokio-stream" ];
"uuid" = [ "dep:uuid" ];
};
resolvedDefaultFeatures = [ "base64" "default" "macros" "server" "transport-async-rw" "transport-io" ];
};
"rmcp-macros" = rec {
crateName = "rmcp-macros";
version = "0.16.0";
edition = "2024";
sha256 = "0aml52f6lllhppkmid84gkclkmgjxkxasgmwiy1xmr6a4s7krhlh";
procMacro = true;
libName = "rmcp_macros";
dependencies = [
{
name = "darling";
packageId = "darling";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "syn";
packageId = "syn";
features = [ "full" ];
}
];
};
"rustix" = rec {
crateName = "rustix";
version = "1.1.4";
edition = "2021";
sha256 = "14511f9yjqh0ix07xjrjpllah3325774gfwi9zpq72sip5jlbzmn";
authors = [
"Dan Gohman <dev@sunfishcode.online>"
"Jakub Konka <kubkon@jakubkonka.com>"
];
dependencies = [
{
name = "bitflags";
packageId = "bitflags";
usesDefaultFeatures = false;
}
{
name = "errno";
packageId = "errno";
rename = "libc_errno";
optional = true;
usesDefaultFeatures = false;
target = { target, features }: ((!(target."rustix_use_libc" or false)) && (!(target."miri" or false)) && ("linux" == target."os" or null) && (("little" == target."endian" or null) || (("s390x" == target."arch" or null) || ("powerpc" == target."arch" or null))) && (("arm" == target."arch" or null) || (("aarch64" == target."arch" or null) && ("64" == target."pointer_width" or null)) || ("riscv64" == target."arch" or null) || ((target."rustix_use_experimental_asm" or false) && ("powerpc" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("powerpc64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("s390x" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips32r6" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64r6" == target."arch" or null)) || ("x86" == target."arch" or null) || (("x86_64" == target."arch" or null) && ("64" == target."pointer_width" or null))));
}
{
name = "errno";
packageId = "errno";
rename = "libc_errno";
usesDefaultFeatures = false;
target = { target, features }: ((!(target."windows" or false)) && ((target."rustix_use_libc" or false) || (target."miri" or false) || (!(("linux" == target."os" or null) && (("little" == target."endian" or null) || (("s390x" == target."arch" or null) || ("powerpc" == target."arch" or null))) && (("arm" == target."arch" or null) || (("aarch64" == target."arch" or null) && ("64" == target."pointer_width" or null)) || ("riscv64" == target."arch" or null) || ((target."rustix_use_experimental_asm" or false) && ("powerpc" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("powerpc64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("s390x" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips32r6" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64r6" == target."arch" or null)) || ("x86" == target."arch" or null) || (("x86_64" == target."arch" or null) && ("64" == target."pointer_width" or null)))))));
}
{
name = "errno";
packageId = "errno";
rename = "libc_errno";
usesDefaultFeatures = false;
target = { target, features }: (target."windows" or false);
}
{
name = "libc";
packageId = "libc";
optional = true;
usesDefaultFeatures = false;
target = { target, features }: ((!(target."rustix_use_libc" or false)) && (!(target."miri" or false)) && ("linux" == target."os" or null) && (("little" == target."endian" or null) || (("s390x" == target."arch" or null) || ("powerpc" == target."arch" or null))) && (("arm" == target."arch" or null) || (("aarch64" == target."arch" or null) && ("64" == target."pointer_width" or null)) || ("riscv64" == target."arch" or null) || ((target."rustix_use_experimental_asm" or false) && ("powerpc" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("powerpc64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("s390x" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips32r6" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64r6" == target."arch" or null)) || ("x86" == target."arch" or null) || (("x86_64" == target."arch" or null) && ("64" == target."pointer_width" or null))));
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ((!(target."windows" or false)) && ((target."rustix_use_libc" or false) || (target."miri" or false) || (!(("linux" == target."os" or null) && (("little" == target."endian" or null) || (("s390x" == target."arch" or null) || ("powerpc" == target."arch" or null))) && (("arm" == target."arch" or null) || (("aarch64" == target."arch" or null) && ("64" == target."pointer_width" or null)) || ("riscv64" == target."arch" or null) || ((target."rustix_use_experimental_asm" or false) && ("powerpc" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("powerpc64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("s390x" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips32r6" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64r6" == target."arch" or null)) || ("x86" == target."arch" or null) || (("x86_64" == target."arch" or null) && ("64" == target."pointer_width" or null)))))));
}
{
name = "linux-raw-sys";
packageId = "linux-raw-sys";
usesDefaultFeatures = false;
target = { target, features }: ((("linux" == target."os" or null) || ("android" == target."os" or null)) && ((target."rustix_use_libc" or false) || (target."miri" or false) || (!(("linux" == target."os" or null) && (("little" == target."endian" or null) || (("s390x" == target."arch" or null) || ("powerpc" == target."arch" or null))) && (("arm" == target."arch" or null) || (("aarch64" == target."arch" or null) && ("64" == target."pointer_width" or null)) || ("riscv64" == target."arch" or null) || ((target."rustix_use_experimental_asm" or false) && ("powerpc" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("powerpc64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("s390x" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips32r6" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64r6" == target."arch" or null)) || ("x86" == target."arch" or null) || (("x86_64" == target."arch" or null) && ("64" == target."pointer_width" or null)))))));
features = [ "general" "ioctl" "no_std" ];
}
{
name = "linux-raw-sys";
packageId = "linux-raw-sys";
usesDefaultFeatures = false;
target = { target, features }: ((!(target."rustix_use_libc" or false)) && (!(target."miri" or false)) && ("linux" == target."os" or null) && (("little" == target."endian" or null) || (("s390x" == target."arch" or null) || ("powerpc" == target."arch" or null))) && (("arm" == target."arch" or null) || (("aarch64" == target."arch" or null) && ("64" == target."pointer_width" or null)) || ("riscv64" == target."arch" or null) || ((target."rustix_use_experimental_asm" or false) && ("powerpc" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("powerpc64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("s390x" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips32r6" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64" == target."arch" or null)) || ((target."rustix_use_experimental_asm" or false) && ("mips64r6" == target."arch" or null)) || ("x86" == target."arch" or null) || (("x86_64" == target."arch" or null) && ("64" == target."pointer_width" or null))));
features = [ "auxvec" "general" "errno" "ioctl" "no_std" "elf" ];
}
{
name = "windows-sys";
packageId = "windows-sys";
target = { target, features }: (target."windows" or false);
features = [ "Win32_Foundation" "Win32_Networking_WinSock" ];
}
];
devDependencies = [
{
name = "errno";
packageId = "errno";
rename = "libc_errno";
usesDefaultFeatures = false;
}
{
name = "libc";
packageId = "libc";
}
];
features = {
"all-apis" = [ "event" "fs" "io_uring" "mm" "mount" "net" "param" "pipe" "process" "pty" "rand" "runtime" "shm" "stdio" "system" "termios" "thread" "time" ];
"core" = [ "dep:core" ];
"default" = [ "std" ];
"io_uring" = [ "event" "fs" "net" "thread" "linux-raw-sys/io_uring" ];
"libc" = [ "dep:libc" ];
"libc_errno" = [ "dep:libc_errno" ];
"linux_5_1" = [ "linux_4_11" ];
"linux_5_11" = [ "linux_5_1" ];
"linux_latest" = [ "linux_5_11" ];
"net" = [ "linux-raw-sys/net" "linux-raw-sys/netlink" "linux-raw-sys/if_ether" "linux-raw-sys/xdp" ];
"process" = [ "linux-raw-sys/prctl" ];
"pty" = [ "fs" ];
"runtime" = [ "linux-raw-sys/prctl" ];
"rustc-dep-of-std" = [ "core" "rustc-std-workspace-alloc" "linux-raw-sys/rustc-dep-of-std" "bitflags/rustc-dep-of-std" ];
"rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ];
"shm" = [ "fs" ];
"std" = [ "bitflags/std" "alloc" "libc?/std" "libc_errno?/std" ];
"system" = [ "linux-raw-sys/system" ];
"thread" = [ "linux-raw-sys/prctl" ];
"use-libc" = [ "libc_errno" "libc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "fs" "std" ];
};
"rustversion" = rec {
crateName = "rustversion";
version = "1.0.22";
edition = "2018";
sha256 = "0vfl70jhv72scd9rfqgr2n11m5i9l1acnk684m2w83w0zbqdx75k";
procMacro = true;
build = "build/build.rs";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
};
"schemars 0.8.22" = rec {
crateName = "schemars";
version = "0.8.22";
edition = "2021";
sha256 = "05an9nbi18ynyxv1rjmwbg6j08j0496hd64mjggh53mwp3hjmgrz";
authors = [
"Graham Esau <gesau@hotmail.co.uk>"
];
dependencies = [
{
name = "dyn-clone";
packageId = "dyn-clone";
}
{
name = "schemars_derive";
packageId = "schemars_derive 0.8.22";
optional = true;
}
{
name = "serde";
packageId = "serde";
features = [ "derive" ];
}
{
name = "serde_json";
packageId = "serde_json";
}
];
features = {
"arrayvec" = [ "arrayvec05" ];
"arrayvec05" = [ "dep:arrayvec05" ];
"arrayvec07" = [ "dep:arrayvec07" ];
"bigdecimal" = [ "bigdecimal03" ];
"bigdecimal03" = [ "dep:bigdecimal03" ];
"bigdecimal04" = [ "dep:bigdecimal04" ];
"bytes" = [ "dep:bytes" ];
"chrono" = [ "dep:chrono" ];
"default" = [ "derive" ];
"derive" = [ "schemars_derive" ];
"derive_json_schema" = [ "impl_json_schema" ];
"either" = [ "dep:either" ];
"enumset" = [ "dep:enumset" ];
"impl_json_schema" = [ "derive" ];
"indexmap" = [ "dep:indexmap" ];
"indexmap1" = [ "indexmap" ];
"indexmap2" = [ "dep:indexmap2" ];
"preserve_order" = [ "indexmap" ];
"raw_value" = [ "serde_json/raw_value" ];
"rust_decimal" = [ "dep:rust_decimal" ];
"schemars_derive" = [ "dep:schemars_derive" ];
"semver" = [ "dep:semver" ];
"smallvec" = [ "dep:smallvec" ];
"smol_str" = [ "dep:smol_str" ];
"url" = [ "dep:url" ];
"uuid" = [ "uuid08" ];
"uuid08" = [ "dep:uuid08" ];
"uuid1" = [ "dep:uuid1" ];
};
resolvedDefaultFeatures = [ "default" "derive" "schemars_derive" ];
};
"schemars 1.2.1" = rec {
crateName = "schemars";
version = "1.2.1";
edition = "2021";
sha256 = "1k16qzpdpy6p9hrh18q2l6cwawxzyqi25f8masa13l0wm8v2zd52";
authors = [
"Graham Esau <gesau@hotmail.co.uk>"
];
dependencies = [
{
name = "chrono";
packageId = "chrono";
rename = "chrono04";
optional = true;
usesDefaultFeatures = false;
}
{
name = "dyn-clone";
packageId = "dyn-clone";
}
{
name = "ref-cast";
packageId = "ref-cast";
}
{
name = "schemars_derive";
packageId = "schemars_derive 1.2.1";
optional = true;
}
{
name = "serde";
packageId = "serde";
usesDefaultFeatures = false;
features = [ "alloc" ];
}
{
name = "serde_json";
packageId = "serde_json";
usesDefaultFeatures = false;
features = [ "alloc" ];
}
];
devDependencies = [
{
name = "chrono";
packageId = "chrono";
rename = "chrono04";
usesDefaultFeatures = false;
features = [ "serde" ];
}
{
name = "serde";
packageId = "serde";
features = [ "derive" ];
}
];
features = {
"arrayvec07" = [ "dep:arrayvec07" ];
"bigdecimal04" = [ "dep:bigdecimal04" ];
"bytes1" = [ "dep:bytes1" ];
"chrono04" = [ "dep:chrono04" ];
"default" = [ "derive" "std" ];
"derive" = [ "schemars_derive" ];
"either1" = [ "dep:either1" ];
"indexmap2" = [ "dep:indexmap2" ];
"jiff02" = [ "dep:jiff02" ];
"preserve_order" = [ "serde_json/preserve_order" ];
"raw_value" = [ "serde_json/raw_value" ];
"rust_decimal1" = [ "dep:rust_decimal1" ];
"schemars_derive" = [ "dep:schemars_derive" ];
"semver1" = [ "dep:semver1" ];
"smallvec1" = [ "dep:smallvec1" ];
"smol_str02" = [ "dep:smol_str02" ];
"smol_str03" = [ "dep:smol_str03" ];
"url2" = [ "dep:url2" ];
"uuid1" = [ "dep:uuid1" ];
};
resolvedDefaultFeatures = [ "chrono04" "default" "derive" "schemars_derive" "std" ];
};
"schemars_derive 0.8.22" = rec {
crateName = "schemars_derive";
version = "0.8.22";
edition = "2021";
sha256 = "0kakyzrp5801s4i043l4ilv96lzimnlh01pap958h66n99w6bqij";
procMacro = true;
authors = [
"Graham Esau <gesau@hotmail.co.uk>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "serde_derive_internals";
packageId = "serde_derive_internals";
}
{
name = "syn";
packageId = "syn";
features = [ "extra-traits" ];
}
];
};
"schemars_derive 1.2.1" = rec {
crateName = "schemars_derive";
version = "1.2.1";
edition = "2021";
sha256 = "0zrh1ckcc63sqy5hyhnh2lbxh4vmbij2z4f1g5za1vmayi85n4bx";
procMacro = true;
authors = [
"Graham Esau <gesau@hotmail.co.uk>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "serde_derive_internals";
packageId = "serde_derive_internals";
}
{
name = "syn";
packageId = "syn";
}
];
devDependencies = [
{
name = "syn";
packageId = "syn";
features = [ "extra-traits" ];
}
];
};
"semver" = rec {
crateName = "semver";
version = "1.0.28";
edition = "2021";
sha256 = "1kaimrpy876bcgi8bfj0qqfxk77zm9iz2zhn1hp9hj685z854y4a";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
"default" = [ "std" ];
"serde" = [ "dep:serde" ];
};
};
"serde" = rec {
crateName = "serde";
version = "1.0.228";
edition = "2021";
sha256 = "17mf4hhjxv5m90g42wmlbc61hdhlm6j9hwfkpcnd72rpgzm993ls";
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "serde_core";
packageId = "serde_core";
usesDefaultFeatures = false;
features = [ "result" ];
}
{
name = "serde_derive";
packageId = "serde_derive";
optional = true;
}
];
features = {
"alloc" = [ "serde_core/alloc" ];
"default" = [ "std" ];
"derive" = [ "serde_derive" ];
"rc" = [ "serde_core/rc" ];
"serde_derive" = [ "dep:serde_derive" ];
"std" = [ "serde_core/std" ];
"unstable" = [ "serde_core/unstable" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "derive" "rc" "serde_derive" "std" ];
};
"serde_core" = rec {
crateName = "serde_core";
version = "1.0.228";
edition = "2021";
sha256 = "1bb7id2xwx8izq50098s5j2sqrrvk31jbbrjqygyan6ask3qbls1";
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "serde_derive";
packageId = "serde_derive";
target = { target, features }: false;
}
];
devDependencies = [
{
name = "serde_derive";
packageId = "serde_derive";
}
];
features = {
"default" = [ "std" "result" ];
};
resolvedDefaultFeatures = [ "alloc" "rc" "result" "std" ];
};
"serde_derive" = rec {
crateName = "serde_derive";
version = "1.0.228";
edition = "2021";
sha256 = "0y8xm7fvmr2kjcd029g9fijpndh8csv5m20g4bd76w8qschg4h6m";
procMacro = true;
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
features = [ "proc-macro" ];
}
{
name = "quote";
packageId = "quote";
usesDefaultFeatures = false;
features = [ "proc-macro" ];
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "clone-impls" "derive" "parsing" "printing" "proc-macro" ];
}
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"serde_derive_internals" = rec {
crateName = "serde_derive_internals";
version = "0.29.1";
edition = "2015";
sha256 = "04g7macx819vbnxhi52cx0nhxi56xlhrybgwybyy7fb9m4h6mlhq";
libPath = "lib.rs";
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
{
name = "quote";
packageId = "quote";
usesDefaultFeatures = false;
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "clone-impls" "derive" "parsing" "printing" ];
}
];
};
"serde_json" = rec {
crateName = "serde_json";
version = "1.0.150";
edition = "2021";
sha256 = "1ffgfhy9kndjnrz8lmy95pr758p2zk8dxv6yi99x0vkkni24w0g8";
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "itoa";
packageId = "itoa";
}
{
name = "memchr";
packageId = "memchr";
usesDefaultFeatures = false;
}
{
name = "serde";
packageId = "serde";
usesDefaultFeatures = false;
target = { target, features }: false;
}
{
name = "serde_core";
packageId = "serde_core";
usesDefaultFeatures = false;
}
{
name = "zmij";
packageId = "zmij";
}
];
devDependencies = [
{
name = "serde";
packageId = "serde";
features = [ "derive" ];
}
];
features = {
"alloc" = [ "serde_core/alloc" ];
"default" = [ "std" ];
"indexmap" = [ "dep:indexmap" ];
"preserve_order" = [ "indexmap" "std" ];
"std" = [ "memchr/std" "serde_core/std" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
};
"shlex" = rec {
crateName = "shlex";
version = "1.3.0";
edition = "2015";
sha256 = "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg";
authors = [
"comex <comexk@gmail.com>"
"Fenhl <fenhl@fenhl.net>"
"Adrian Taylor <adetaylor@chromium.org>"
"Alex Touchet <alextouchet@outlook.com>"
"Daniel Parks <dp+git@oxidized.org>"
"Garrett Berg <googberg@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"slab" = rec {
crateName = "slab";
version = "0.4.12";
edition = "2018";
sha256 = "1xcwik6s6zbd3lf51kkrcicdq2j4c1fw0yjdai2apy9467i0sy8c";
authors = [
"Carl Lerche <me@carllerche.com>"
];
features = {
"default" = [ "std" ];
"serde" = [ "dep:serde" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"strsim" = rec {
crateName = "strsim";
version = "0.11.1";
edition = "2015";
sha256 = "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x";
authors = [
"Danny Guo <danny@dannyguo.com>"
"maxbachmann <oss@maxbachmann.de>"
];
};
"syn" = rec {
crateName = "syn";
version = "2.0.117";
edition = "2021";
sha256 = "16cv7c0wbn8amxc54n4w15kxlx5ypdmla8s0gxr2l7bv7s0bhrg6";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
{
name = "quote";
packageId = "quote";
optional = true;
usesDefaultFeatures = false;
}
{
name = "unicode-ident";
packageId = "unicode-ident";
}
];
features = {
"default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
"printing" = [ "dep:quote" ];
"proc-macro" = [ "proc-macro2/proc-macro" "quote?/proc-macro" ];
"test" = [ "syn-test-suite/all-features" ];
};
resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "visit" "visit-mut" ];
};
"tempfile" = rec {
crateName = "tempfile";
version = "3.27.0";
edition = "2021";
sha256 = "1gblhnyfjsbg9wjg194n89wrzah7jy3yzgnyzhp56f3v9jd7wj9j";
authors = [
"Steven Allen <steven@stebalien.com>"
"The Rust Project Developers"
"Ashley Mannix <ashleymannix@live.com.au>"
"Jason White <me@jasonwhite.io>"
];
dependencies = [
{
name = "fastrand";
packageId = "fastrand";
}
{
name = "getrandom";
packageId = "getrandom";
optional = true;
usesDefaultFeatures = false;
target = { target, features }: ((target."unix" or false) || (target."windows" or false) || ("wasi" == target."os" or null));
}
{
name = "once_cell";
packageId = "once_cell";
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "rustix";
packageId = "rustix";
target = { target, features }: ((target."unix" or false) || ("wasi" == target."os" or null));
features = [ "fs" ];
}
{
name = "windows-sys";
packageId = "windows-sys";
target = { target, features }: (target."windows" or false);
features = [ "Win32_Storage_FileSystem" "Win32_Foundation" ];
}
];
features = {
"default" = [ "getrandom" ];
"getrandom" = [ "dep:getrandom" ];
};
resolvedDefaultFeatures = [ "default" "getrandom" ];
};
"thiserror" = rec {
crateName = "thiserror";
version = "2.0.18";
edition = "2021";
sha256 = "1i7vcmw9900bvsmay7mww04ahahab7wmr8s925xc083rpjybb222";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "thiserror-impl";
packageId = "thiserror-impl";
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"thiserror-impl" = rec {
crateName = "thiserror-impl";
version = "2.0.18";
edition = "2021";
sha256 = "1mf1vrbbimj1g6dvhdgzjmn6q09yflz2b92zs1j9n3k7cxzyxi7b";
procMacro = true;
libName = "thiserror_impl";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
}
];
};
"tokio" = rec {
crateName = "tokio";
version = "1.52.3";
edition = "2021";
sha256 = "1zpzazypkg61sw91na1m85x5s4rsjym335fwwhwm1hcs70dz1iwg";
authors = [
"Tokio Contributors <team@tokio.rs>"
];
dependencies = [
{
name = "bytes";
packageId = "bytes";
optional = true;
}
{
name = "pin-project-lite";
packageId = "pin-project-lite";
}
{
name = "tokio-macros";
packageId = "tokio-macros";
optional = true;
}
];
features = {
"bytes" = [ "dep:bytes" ];
"full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
"io-uring" = [ "dep:io-uring" "libc" "mio/os-poll" "mio/os-ext" "dep:slab" ];
"io-util" = [ "bytes" ];
"libc" = [ "dep:libc" ];
"macros" = [ "tokio-macros" ];
"mio" = [ "dep:mio" ];
"net" = [ "libc" "mio/os-poll" "mio/os-ext" "mio/net" "socket2" "windows-sys/Win32_Foundation" "windows-sys/Win32_Security" "windows-sys/Win32_Storage_FileSystem" "windows-sys/Win32_System_Pipes" "windows-sys/Win32_System_SystemServices" ];
"parking_lot" = [ "dep:parking_lot" ];
"process" = [ "bytes" "libc" "mio/os-poll" "mio/os-ext" "mio/net" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Threading" "windows-sys/Win32_System_WindowsProgramming" ];
"rt-multi-thread" = [ "rt" ];
"signal" = [ "libc" "mio/os-poll" "mio/net" "mio/os-ext" "signal-hook-registry" "windows-sys/Win32_Foundation" "windows-sys/Win32_System_Console" ];
"signal-hook-registry" = [ "dep:signal-hook-registry" ];
"socket2" = [ "dep:socket2" ];
"taskdump" = [ "dep:backtrace" ];
"test-util" = [ "rt" "sync" "time" ];
"tokio-macros" = [ "dep:tokio-macros" ];
"tracing" = [ "dep:tracing" ];
"windows-sys" = [ "dep:windows-sys" ];
};
resolvedDefaultFeatures = [ "bytes" "default" "io-std" "io-util" "macros" "rt" "sync" "test-util" "time" "tokio-macros" ];
};
"tokio-macros" = rec {
crateName = "tokio-macros";
version = "2.7.0";
edition = "2021";
sha256 = "15m4f37mdafs0gg36sh0rskm1i768lb7zmp8bw67kaxr3avnqniq";
procMacro = true;
libName = "tokio_macros";
authors = [
"Tokio Contributors <team@tokio.rs>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "full" ];
}
];
};
"tokio-util" = rec {
crateName = "tokio-util";
version = "0.7.18";
edition = "2021";
sha256 = "1600rd47pylwn7cap1k7s5nvdaa9j7w8kqigzp1qy7mh0p4cxscs";
libName = "tokio_util";
authors = [
"Tokio Contributors <team@tokio.rs>"
];
dependencies = [
{
name = "bytes";
packageId = "bytes";
}
{
name = "futures-core";
packageId = "futures-core";
}
{
name = "futures-sink";
packageId = "futures-sink";
}
{
name = "pin-project-lite";
packageId = "pin-project-lite";
}
{
name = "tokio";
packageId = "tokio";
features = [ "sync" ];
}
];
devDependencies = [
{
name = "tokio";
packageId = "tokio";
features = [ "full" ];
}
];
features = {
"__docs_rs" = [ "futures-util" ];
"compat" = [ "futures-io" ];
"full" = [ "codec" "compat" "io-util" "time" "net" "rt" "join-map" ];
"futures-io" = [ "dep:futures-io" ];
"futures-util" = [ "dep:futures-util" ];
"hashbrown" = [ "dep:hashbrown" ];
"io-util" = [ "io" "tokio/rt" "tokio/io-util" ];
"join-map" = [ "rt" "hashbrown" ];
"net" = [ "tokio/net" ];
"rt" = [ "tokio/rt" "tokio/sync" "futures-util" ];
"slab" = [ "dep:slab" ];
"time" = [ "tokio/time" "slab" ];
"tracing" = [ "dep:tracing" ];
};
resolvedDefaultFeatures = [ "codec" "default" ];
};
"tracing" = rec {
crateName = "tracing";
version = "0.1.44";
edition = "2018";
sha256 = "006ilqkg1lmfdh3xhg3z762izfwmxcvz0w7m4qx2qajbz9i1drv3";
authors = [
"Eliza Weisman <eliza@buoyant.io>"
"Tokio Contributors <team@tokio.rs>"
];
dependencies = [
{
name = "pin-project-lite";
packageId = "pin-project-lite";
}
{
name = "tracing-attributes";
packageId = "tracing-attributes";
optional = true;
}
{
name = "tracing-core";
packageId = "tracing-core";
usesDefaultFeatures = false;
}
];
features = {
"attributes" = [ "tracing-attributes" ];
"default" = [ "std" "attributes" ];
"log" = [ "dep:log" ];
"log-always" = [ "log" ];
"std" = [ "tracing-core/std" ];
"tracing-attributes" = [ "dep:tracing-attributes" ];
"valuable" = [ "tracing-core/valuable" ];
};
resolvedDefaultFeatures = [ "attributes" "default" "std" "tracing-attributes" ];
};
"tracing-attributes" = rec {
crateName = "tracing-attributes";
version = "0.1.31";
edition = "2018";
sha256 = "1np8d77shfvz0n7camx2bsf1qw0zg331lra0hxb4cdwnxjjwz43l";
procMacro = true;
libName = "tracing_attributes";
authors = [
"Tokio Contributors <team@tokio.rs>"
"Eliza Weisman <eliza@buoyant.io>"
"David Barsky <dbarsky@amazon.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
}
];
features = {
};
};
"tracing-core" = rec {
crateName = "tracing-core";
version = "0.1.36";
edition = "2018";
sha256 = "16mpbz6p8vd6j7sf925k9k8wzvm9vdfsjbynbmaxxyq6v7wwm5yv";
libName = "tracing_core";
authors = [
"Tokio Contributors <team@tokio.rs>"
];
dependencies = [
{
name = "once_cell";
packageId = "once_cell";
optional = true;
}
];
features = {
"default" = [ "std" "valuable?/std" ];
"once_cell" = [ "dep:once_cell" ];
"std" = [ "once_cell" ];
"valuable" = [ "dep:valuable" ];
};
resolvedDefaultFeatures = [ "once_cell" "std" ];
};
"unicode-ident" = rec {
crateName = "unicode-ident";
version = "1.0.24";
edition = "2021";
sha256 = "0xfs8y1g7syl2iykji8zk5hgfi5jw819f5zsrbaxmlzwsly33r76";
libName = "unicode_ident";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
};
"unicode-xid" = rec {
crateName = "unicode-xid";
version = "0.2.6";
edition = "2015";
sha256 = "0lzqaky89fq0bcrh6jj6bhlz37scfd8c7dsj5dq7y32if56c1hgb";
libName = "unicode_xid";
authors = [
"erick.tryzelaar <erick.tryzelaar@gmail.com>"
"kwantam <kwantam@gmail.com>"
"Manish Goregaokar <manishsmail@gmail.com>"
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"wasip2" = rec {
crateName = "wasip2";
version = "1.0.3+wasi-0.2.9";
edition = "2021";
sha256 = "1mi3w855dz99xzjqc4aa8c9q5b6z1y5c963pkk4cvmr6vdr4c1i0";
dependencies = [
{
name = "wit-bindgen";
packageId = "wit-bindgen 0.57.1";
usesDefaultFeatures = false;
}
];
features = {
"alloc" = [ "dep:alloc" ];
"bitflags" = [ "wit-bindgen/bitflags" ];
"core" = [ "dep:core" ];
"default" = [ "std" "bitflags" ];
"rustc-dep-of-std" = [ "core" "alloc" "wit-bindgen/rustc-dep-of-std" ];
};
};
"wasip3" = rec {
crateName = "wasip3";
version = "0.4.0+wasi-0.3.0-rc-2026-01-06";
edition = "2021";
sha256 = "19dc8p0y2mfrvgk3qw3c3240nfbylv22mvyxz84dqpgai2zzha2l";
dependencies = [
{
name = "wit-bindgen";
packageId = "wit-bindgen 0.51.0";
usesDefaultFeatures = false;
features = [ "async" ];
}
];
devDependencies = [
{
name = "wit-bindgen";
packageId = "wit-bindgen 0.51.0";
usesDefaultFeatures = false;
features = [ "async-spawn" ];
}
];
features = {
"http-compat" = [ "dep:bytes" "dep:http-body" "dep:http" "dep:thiserror" "wit-bindgen/async-spawn" ];
};
};
"wasm-bindgen" = rec {
crateName = "wasm-bindgen";
version = "0.2.122";
edition = "2021";
sha256 = "02flix96brsb2r1i3grnikii302iqpdm337kl3xv5lklz5v4bl1y";
libName = "wasm_bindgen";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "once_cell";
packageId = "once_cell";
usesDefaultFeatures = false;
}
{
name = "wasm-bindgen-macro";
packageId = "wasm-bindgen-macro";
}
{
name = "wasm-bindgen-shared";
packageId = "wasm-bindgen-shared";
}
];
buildDependencies = [
{
name = "rustversion";
packageId = "rustversion";
rename = "rustversion-compat";
}
];
devDependencies = [
{
name = "once_cell";
packageId = "once_cell";
}
];
features = {
"default" = [ "std" ];
"enable-interning" = [ "std" ];
"serde" = [ "dep:serde" ];
"serde-serialize" = [ "serde" "serde_json" "std" ];
"serde_json" = [ "dep:serde_json" ];
"strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"wasm-bindgen-macro" = rec {
crateName = "wasm-bindgen-macro";
version = "0.2.122";
edition = "2021";
sha256 = "1inyl55bvdifx7l60q9wl0ivmw7236jg7jqmcqpxhsx3knq52qci";
procMacro = true;
libName = "wasm_bindgen_macro";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "quote";
packageId = "quote";
}
{
name = "wasm-bindgen-macro-support";
packageId = "wasm-bindgen-macro-support";
}
];
features = {
"strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
};
};
"wasm-bindgen-macro-support" = rec {
crateName = "wasm-bindgen-macro-support";
version = "0.2.122";
edition = "2021";
sha256 = "0pjw5kc2mbfz59agk5l21kh4hxzp94rygdvsnr4f3z6b5hv4g419";
libName = "wasm_bindgen_macro_support";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "bumpalo";
packageId = "bumpalo";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "visit" "visit-mut" "full" "extra-traits" ];
}
{
name = "wasm-bindgen-shared";
packageId = "wasm-bindgen-shared";
}
];
features = {
"extra-traits" = [ "syn/extra-traits" ];
};
};
"wasm-bindgen-shared" = rec {
crateName = "wasm-bindgen-shared";
version = "0.2.122";
edition = "2021";
links = "wasm_bindgen";
sha256 = "0ds4mmfqvxwc5fp33hn0jblf0f6b4lghrd9mpkls66zic4n9p4ls";
libName = "wasm_bindgen_shared";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "unicode-ident";
packageId = "unicode-ident";
}
];
};
"wasm-encoder" = rec {
crateName = "wasm-encoder";
version = "0.244.0";
edition = "2021";
sha256 = "06c35kv4h42vk3k51xjz1x6hn3mqwfswycmr6ziky033zvr6a04r";
libName = "wasm_encoder";
authors = [
"Nick Fitzgerald <fitzgen@gmail.com>"
];
dependencies = [
{
name = "leb128fmt";
packageId = "leb128fmt";
usesDefaultFeatures = false;
}
{
name = "wasmparser";
packageId = "wasmparser";
optional = true;
usesDefaultFeatures = false;
features = [ "simd" "simd" ];
}
];
features = {
"component-model" = [ "wasmparser?/component-model" ];
"default" = [ "std" "component-model" ];
"std" = [ "wasmparser?/std" ];
"wasmparser" = [ "dep:wasmparser" ];
};
resolvedDefaultFeatures = [ "component-model" "std" "wasmparser" ];
};
"wasm-metadata" = rec {
crateName = "wasm-metadata";
version = "0.244.0";
edition = "2021";
sha256 = "02f9dhlnryd2l7zf03whlxai5sv26x4spfibjdvc3g9gd8z3a3mv";
libName = "wasm_metadata";
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "indexmap";
packageId = "indexmap";
usesDefaultFeatures = false;
features = [ "serde" ];
}
{
name = "wasm-encoder";
packageId = "wasm-encoder";
usesDefaultFeatures = false;
features = [ "std" "component-model" ];
}
{
name = "wasmparser";
packageId = "wasmparser";
usesDefaultFeatures = false;
features = [ "simd" "std" "component-model" "hash-collections" ];
}
];
features = {
"clap" = [ "dep:clap" ];
"default" = [ "oci" "serde" ];
"oci" = [ "dep:auditable-serde" "dep:flate2" "dep:url" "dep:spdx" "dep:serde_json" "serde" ];
"serde" = [ "dep:serde_derive" "dep:serde" ];
};
};
"wasmparser" = rec {
crateName = "wasmparser";
version = "0.244.0";
edition = "2021";
sha256 = "1zi821hrlsxfhn39nqpmgzc0wk7ax3dv6vrs5cw6kb0v5v3hgf27";
authors = [
"Yury Delendik <ydelendik@mozilla.com>"
];
dependencies = [
{
name = "bitflags";
packageId = "bitflags";
}
{
name = "hashbrown";
packageId = "hashbrown 0.15.5";
optional = true;
usesDefaultFeatures = false;
features = [ "default-hasher" ];
}
{
name = "indexmap";
packageId = "indexmap";
optional = true;
usesDefaultFeatures = false;
}
{
name = "semver";
packageId = "semver";
optional = true;
usesDefaultFeatures = false;
}
];
features = {
"component-model" = [ "dep:semver" ];
"default" = [ "std" "validate" "serde" "features" "component-model" "hash-collections" "simd" ];
"hash-collections" = [ "dep:hashbrown" "dep:indexmap" ];
"serde" = [ "dep:serde" "indexmap?/serde" "hashbrown?/serde" ];
"std" = [ "indexmap?/std" ];
};
resolvedDefaultFeatures = [ "component-model" "features" "hash-collections" "simd" "std" "validate" ];
};
"windows-core" = rec {
crateName = "windows-core";
version = "0.62.2";
edition = "2021";
sha256 = "1swxpv1a8qvn3bkxv8cn663238h2jccq35ff3nsj61jdsca3ms5q";
libName = "windows_core";
dependencies = [
{
name = "windows-implement";
packageId = "windows-implement";
usesDefaultFeatures = false;
}
{
name = "windows-interface";
packageId = "windows-interface";
usesDefaultFeatures = false;
}
{
name = "windows-link";
packageId = "windows-link";
usesDefaultFeatures = false;
}
{
name = "windows-result";
packageId = "windows-result";
usesDefaultFeatures = false;
}
{
name = "windows-strings";
packageId = "windows-strings";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
"std" = [ "windows-result/std" "windows-strings/std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"windows-implement" = rec {
crateName = "windows-implement";
version = "0.60.2";
edition = "2021";
sha256 = "1psxhmklzcf3wjs4b8qb42qb6znvc142cb5pa74rsyxm1822wgh5";
procMacro = true;
libName = "windows_implement";
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
{
name = "quote";
packageId = "quote";
usesDefaultFeatures = false;
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "parsing" "proc-macro" "printing" "full" "clone-impls" ];
}
];
};
"windows-interface" = rec {
crateName = "windows-interface";
version = "0.59.3";
edition = "2021";
sha256 = "0n73cwrn4247d0axrk7gjp08p34x1723483jxjxjdfkh4m56qc9z";
procMacro = true;
libName = "windows_interface";
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
usesDefaultFeatures = false;
}
{
name = "quote";
packageId = "quote";
usesDefaultFeatures = false;
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "parsing" "proc-macro" "printing" "full" "clone-impls" ];
}
];
};
"windows-link" = rec {
crateName = "windows-link";
version = "0.2.1";
edition = "2021";
sha256 = "1rag186yfr3xx7piv5rg8b6im2dwcf8zldiflvb22xbzwli5507h";
libName = "windows_link";
};
"windows-result" = rec {
crateName = "windows-result";
version = "0.4.1";
edition = "2021";
sha256 = "1d9yhmrmmfqh56zlj751s5wfm9a2aa7az9rd7nn5027nxa4zm0bp";
libName = "windows_result";
dependencies = [
{
name = "windows-link";
packageId = "windows-link";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"windows-strings" = rec {
crateName = "windows-strings";
version = "0.5.1";
edition = "2021";
sha256 = "14bhng9jqv4fyl7lqjz3az7vzh8pw0w4am49fsqgcz67d67x0dvq";
libName = "windows_strings";
dependencies = [
{
name = "windows-link";
packageId = "windows-link";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"windows-sys" = rec {
crateName = "windows-sys";
version = "0.61.2";
edition = "2021";
sha256 = "1z7k3y9b6b5h52kid57lvmvm05362zv1v8w0gc7xyv5xphlp44xf";
libName = "windows_sys";
dependencies = [
{
name = "windows-link";
packageId = "windows-link";
usesDefaultFeatures = false;
}
];
features = {
"Wdk" = [ "Win32_Foundation" ];
"Wdk_Devices" = [ "Wdk" ];
"Wdk_Devices_Bluetooth" = [ "Wdk_Devices" ];
"Wdk_Devices_HumanInterfaceDevice" = [ "Wdk_Devices" ];
"Wdk_Foundation" = [ "Wdk" ];
"Wdk_Graphics" = [ "Wdk" ];
"Wdk_Graphics_Direct3D" = [ "Wdk_Graphics" ];
"Wdk_NetworkManagement" = [ "Wdk" ];
"Wdk_NetworkManagement_Ndis" = [ "Wdk_NetworkManagement" ];
"Wdk_NetworkManagement_WindowsFilteringPlatform" = [ "Wdk_NetworkManagement" ];
"Wdk_Storage" = [ "Wdk" ];
"Wdk_Storage_FileSystem" = [ "Wdk_Storage" ];
"Wdk_Storage_FileSystem_Minifilters" = [ "Wdk_Storage_FileSystem" ];
"Wdk_System" = [ "Wdk" ];
"Wdk_System_IO" = [ "Wdk_System" ];
"Wdk_System_Memory" = [ "Wdk_System" ];
"Wdk_System_OfflineRegistry" = [ "Wdk_System" ];
"Wdk_System_Registry" = [ "Wdk_System" ];
"Wdk_System_SystemInformation" = [ "Wdk_System" ];
"Wdk_System_SystemServices" = [ "Wdk_System" ];
"Wdk_System_Threading" = [ "Wdk_System" ];
"Win32" = [ "Win32_Foundation" ];
"Win32_Data" = [ "Win32" ];
"Win32_Data_HtmlHelp" = [ "Win32_Data" ];
"Win32_Data_RightsManagement" = [ "Win32_Data" ];
"Win32_Devices" = [ "Win32" ];
"Win32_Devices_AllJoyn" = [ "Win32_Devices" ];
"Win32_Devices_Beep" = [ "Win32_Devices" ];
"Win32_Devices_BiometricFramework" = [ "Win32_Devices" ];
"Win32_Devices_Bluetooth" = [ "Win32_Devices" ];
"Win32_Devices_Cdrom" = [ "Win32_Devices" ];
"Win32_Devices_Communication" = [ "Win32_Devices" ];
"Win32_Devices_DeviceAndDriverInstallation" = [ "Win32_Devices" ];
"Win32_Devices_DeviceQuery" = [ "Win32_Devices" ];
"Win32_Devices_Display" = [ "Win32_Devices" ];
"Win32_Devices_Dvd" = [ "Win32_Devices" ];
"Win32_Devices_Enumeration" = [ "Win32_Devices" ];
"Win32_Devices_Enumeration_Pnp" = [ "Win32_Devices_Enumeration" ];
"Win32_Devices_Fax" = [ "Win32_Devices" ];
"Win32_Devices_HumanInterfaceDevice" = [ "Win32_Devices" ];
"Win32_Devices_Nfc" = [ "Win32_Devices" ];
"Win32_Devices_Nfp" = [ "Win32_Devices" ];
"Win32_Devices_PortableDevices" = [ "Win32_Devices" ];
"Win32_Devices_Properties" = [ "Win32_Devices" ];
"Win32_Devices_Pwm" = [ "Win32_Devices" ];
"Win32_Devices_Sensors" = [ "Win32_Devices" ];
"Win32_Devices_SerialCommunication" = [ "Win32_Devices" ];
"Win32_Devices_Tapi" = [ "Win32_Devices" ];
"Win32_Devices_Usb" = [ "Win32_Devices" ];
"Win32_Devices_WebServicesOnDevices" = [ "Win32_Devices" ];
"Win32_Foundation" = [ "Win32" ];
"Win32_Gaming" = [ "Win32" ];
"Win32_Globalization" = [ "Win32" ];
"Win32_Graphics" = [ "Win32" ];
"Win32_Graphics_Dwm" = [ "Win32_Graphics" ];
"Win32_Graphics_Gdi" = [ "Win32_Graphics" ];
"Win32_Graphics_GdiPlus" = [ "Win32_Graphics" ];
"Win32_Graphics_Hlsl" = [ "Win32_Graphics" ];
"Win32_Graphics_OpenGL" = [ "Win32_Graphics" ];
"Win32_Graphics_Printing" = [ "Win32_Graphics" ];
"Win32_Graphics_Printing_PrintTicket" = [ "Win32_Graphics_Printing" ];
"Win32_Management" = [ "Win32" ];
"Win32_Management_MobileDeviceManagementRegistration" = [ "Win32_Management" ];
"Win32_Media" = [ "Win32" ];
"Win32_Media_Audio" = [ "Win32_Media" ];
"Win32_Media_DxMediaObjects" = [ "Win32_Media" ];
"Win32_Media_KernelStreaming" = [ "Win32_Media" ];
"Win32_Media_Multimedia" = [ "Win32_Media" ];
"Win32_Media_Streaming" = [ "Win32_Media" ];
"Win32_Media_WindowsMediaFormat" = [ "Win32_Media" ];
"Win32_NetworkManagement" = [ "Win32" ];
"Win32_NetworkManagement_Dhcp" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_Dns" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_InternetConnectionWizard" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_IpHelper" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_Multicast" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_Ndis" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_NetBios" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_NetManagement" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_NetShell" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_NetworkDiagnosticsFramework" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_P2P" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_QoS" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_Rras" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_Snmp" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WNet" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WebDav" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WiFi" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WindowsConnectionManager" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WindowsFilteringPlatform" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WindowsFirewall" = [ "Win32_NetworkManagement" ];
"Win32_NetworkManagement_WindowsNetworkVirtualization" = [ "Win32_NetworkManagement" ];
"Win32_Networking" = [ "Win32" ];
"Win32_Networking_ActiveDirectory" = [ "Win32_Networking" ];
"Win32_Networking_Clustering" = [ "Win32_Networking" ];
"Win32_Networking_HttpServer" = [ "Win32_Networking" ];
"Win32_Networking_Ldap" = [ "Win32_Networking" ];
"Win32_Networking_WebSocket" = [ "Win32_Networking" ];
"Win32_Networking_WinHttp" = [ "Win32_Networking" ];
"Win32_Networking_WinInet" = [ "Win32_Networking" ];
"Win32_Networking_WinSock" = [ "Win32_Networking" ];
"Win32_Networking_WindowsWebServices" = [ "Win32_Networking" ];
"Win32_Security" = [ "Win32" ];
"Win32_Security_AppLocker" = [ "Win32_Security" ];
"Win32_Security_Authentication" = [ "Win32_Security" ];
"Win32_Security_Authentication_Identity" = [ "Win32_Security_Authentication" ];
"Win32_Security_Authorization" = [ "Win32_Security" ];
"Win32_Security_Credentials" = [ "Win32_Security" ];
"Win32_Security_Cryptography" = [ "Win32_Security" ];
"Win32_Security_Cryptography_Catalog" = [ "Win32_Security_Cryptography" ];
"Win32_Security_Cryptography_Certificates" = [ "Win32_Security_Cryptography" ];
"Win32_Security_Cryptography_Sip" = [ "Win32_Security_Cryptography" ];
"Win32_Security_Cryptography_UI" = [ "Win32_Security_Cryptography" ];
"Win32_Security_DiagnosticDataQuery" = [ "Win32_Security" ];
"Win32_Security_DirectoryServices" = [ "Win32_Security" ];
"Win32_Security_EnterpriseData" = [ "Win32_Security" ];
"Win32_Security_ExtensibleAuthenticationProtocol" = [ "Win32_Security" ];
"Win32_Security_Isolation" = [ "Win32_Security" ];
"Win32_Security_LicenseProtection" = [ "Win32_Security" ];
"Win32_Security_NetworkAccessProtection" = [ "Win32_Security" ];
"Win32_Security_WinTrust" = [ "Win32_Security" ];
"Win32_Security_WinWlx" = [ "Win32_Security" ];
"Win32_Storage" = [ "Win32" ];
"Win32_Storage_Cabinets" = [ "Win32_Storage" ];
"Win32_Storage_CloudFilters" = [ "Win32_Storage" ];
"Win32_Storage_Compression" = [ "Win32_Storage" ];
"Win32_Storage_DistributedFileSystem" = [ "Win32_Storage" ];
"Win32_Storage_FileHistory" = [ "Win32_Storage" ];
"Win32_Storage_FileSystem" = [ "Win32_Storage" ];
"Win32_Storage_Imapi" = [ "Win32_Storage" ];
"Win32_Storage_IndexServer" = [ "Win32_Storage" ];
"Win32_Storage_InstallableFileSystems" = [ "Win32_Storage" ];
"Win32_Storage_IscsiDisc" = [ "Win32_Storage" ];
"Win32_Storage_Jet" = [ "Win32_Storage" ];
"Win32_Storage_Nvme" = [ "Win32_Storage" ];
"Win32_Storage_OfflineFiles" = [ "Win32_Storage" ];
"Win32_Storage_OperationRecorder" = [ "Win32_Storage" ];
"Win32_Storage_Packaging" = [ "Win32_Storage" ];
"Win32_Storage_Packaging_Appx" = [ "Win32_Storage_Packaging" ];
"Win32_Storage_ProjectedFileSystem" = [ "Win32_Storage" ];
"Win32_Storage_StructuredStorage" = [ "Win32_Storage" ];
"Win32_Storage_Vhd" = [ "Win32_Storage" ];
"Win32_Storage_Xps" = [ "Win32_Storage" ];
"Win32_System" = [ "Win32" ];
"Win32_System_AddressBook" = [ "Win32_System" ];
"Win32_System_Antimalware" = [ "Win32_System" ];
"Win32_System_ApplicationInstallationAndServicing" = [ "Win32_System" ];
"Win32_System_ApplicationVerifier" = [ "Win32_System" ];
"Win32_System_ClrHosting" = [ "Win32_System" ];
"Win32_System_Com" = [ "Win32_System" ];
"Win32_System_Com_Marshal" = [ "Win32_System_Com" ];
"Win32_System_Com_StructuredStorage" = [ "Win32_System_Com" ];
"Win32_System_Com_Urlmon" = [ "Win32_System_Com" ];
"Win32_System_ComponentServices" = [ "Win32_System" ];
"Win32_System_Console" = [ "Win32_System" ];
"Win32_System_CorrelationVector" = [ "Win32_System" ];
"Win32_System_DataExchange" = [ "Win32_System" ];
"Win32_System_DeploymentServices" = [ "Win32_System" ];
"Win32_System_DeveloperLicensing" = [ "Win32_System" ];
"Win32_System_Diagnostics" = [ "Win32_System" ];
"Win32_System_Diagnostics_Ceip" = [ "Win32_System_Diagnostics" ];
"Win32_System_Diagnostics_Debug" = [ "Win32_System_Diagnostics" ];
"Win32_System_Diagnostics_Debug_Extensions" = [ "Win32_System_Diagnostics_Debug" ];
"Win32_System_Diagnostics_Etw" = [ "Win32_System_Diagnostics" ];
"Win32_System_Diagnostics_ProcessSnapshotting" = [ "Win32_System_Diagnostics" ];
"Win32_System_Diagnostics_ToolHelp" = [ "Win32_System_Diagnostics" ];
"Win32_System_Diagnostics_TraceLogging" = [ "Win32_System_Diagnostics" ];
"Win32_System_DistributedTransactionCoordinator" = [ "Win32_System" ];
"Win32_System_Environment" = [ "Win32_System" ];
"Win32_System_ErrorReporting" = [ "Win32_System" ];
"Win32_System_EventCollector" = [ "Win32_System" ];
"Win32_System_EventLog" = [ "Win32_System" ];
"Win32_System_EventNotificationService" = [ "Win32_System" ];
"Win32_System_GroupPolicy" = [ "Win32_System" ];
"Win32_System_HostCompute" = [ "Win32_System" ];
"Win32_System_HostComputeNetwork" = [ "Win32_System" ];
"Win32_System_HostComputeSystem" = [ "Win32_System" ];
"Win32_System_Hypervisor" = [ "Win32_System" ];
"Win32_System_IO" = [ "Win32_System" ];
"Win32_System_Iis" = [ "Win32_System" ];
"Win32_System_Ioctl" = [ "Win32_System" ];
"Win32_System_JobObjects" = [ "Win32_System" ];
"Win32_System_Js" = [ "Win32_System" ];
"Win32_System_Kernel" = [ "Win32_System" ];
"Win32_System_LibraryLoader" = [ "Win32_System" ];
"Win32_System_Mailslots" = [ "Win32_System" ];
"Win32_System_Mapi" = [ "Win32_System" ];
"Win32_System_Memory" = [ "Win32_System" ];
"Win32_System_Memory_NonVolatile" = [ "Win32_System_Memory" ];
"Win32_System_MessageQueuing" = [ "Win32_System" ];
"Win32_System_MixedReality" = [ "Win32_System" ];
"Win32_System_Ole" = [ "Win32_System" ];
"Win32_System_PasswordManagement" = [ "Win32_System" ];
"Win32_System_Performance" = [ "Win32_System" ];
"Win32_System_Performance_HardwareCounterProfiling" = [ "Win32_System_Performance" ];
"Win32_System_Pipes" = [ "Win32_System" ];
"Win32_System_Power" = [ "Win32_System" ];
"Win32_System_ProcessStatus" = [ "Win32_System" ];
"Win32_System_Recovery" = [ "Win32_System" ];
"Win32_System_Registry" = [ "Win32_System" ];
"Win32_System_RemoteDesktop" = [ "Win32_System" ];
"Win32_System_RemoteManagement" = [ "Win32_System" ];
"Win32_System_RestartManager" = [ "Win32_System" ];
"Win32_System_Restore" = [ "Win32_System" ];
"Win32_System_Rpc" = [ "Win32_System" ];
"Win32_System_Search" = [ "Win32_System" ];
"Win32_System_Search_Common" = [ "Win32_System_Search" ];
"Win32_System_SecurityCenter" = [ "Win32_System" ];
"Win32_System_Services" = [ "Win32_System" ];
"Win32_System_SetupAndMigration" = [ "Win32_System" ];
"Win32_System_Shutdown" = [ "Win32_System" ];
"Win32_System_StationsAndDesktops" = [ "Win32_System" ];
"Win32_System_SubsystemForLinux" = [ "Win32_System" ];
"Win32_System_SystemInformation" = [ "Win32_System" ];
"Win32_System_SystemServices" = [ "Win32_System" ];
"Win32_System_Threading" = [ "Win32_System" ];
"Win32_System_Time" = [ "Win32_System" ];
"Win32_System_TpmBaseServices" = [ "Win32_System" ];
"Win32_System_UserAccessLogging" = [ "Win32_System" ];
"Win32_System_Variant" = [ "Win32_System" ];
"Win32_System_VirtualDosMachines" = [ "Win32_System" ];
"Win32_System_WindowsProgramming" = [ "Win32_System" ];
"Win32_System_Wmi" = [ "Win32_System" ];
"Win32_UI" = [ "Win32" ];
"Win32_UI_Accessibility" = [ "Win32_UI" ];
"Win32_UI_ColorSystem" = [ "Win32_UI" ];
"Win32_UI_Controls" = [ "Win32_UI" ];
"Win32_UI_Controls_Dialogs" = [ "Win32_UI_Controls" ];
"Win32_UI_HiDpi" = [ "Win32_UI" ];
"Win32_UI_Input" = [ "Win32_UI" ];
"Win32_UI_Input_Ime" = [ "Win32_UI_Input" ];
"Win32_UI_Input_KeyboardAndMouse" = [ "Win32_UI_Input" ];
"Win32_UI_Input_Pointer" = [ "Win32_UI_Input" ];
"Win32_UI_Input_Touch" = [ "Win32_UI_Input" ];
"Win32_UI_Input_XboxController" = [ "Win32_UI_Input" ];
"Win32_UI_InteractionContext" = [ "Win32_UI" ];
"Win32_UI_Magnification" = [ "Win32_UI" ];
"Win32_UI_Shell" = [ "Win32_UI" ];
"Win32_UI_Shell_Common" = [ "Win32_UI_Shell" ];
"Win32_UI_Shell_PropertiesSystem" = [ "Win32_UI_Shell" ];
"Win32_UI_TabletPC" = [ "Win32_UI" ];
"Win32_UI_TextServices" = [ "Win32_UI" ];
"Win32_UI_WindowsAndMessaging" = [ "Win32_UI" ];
"Win32_Web" = [ "Win32" ];
"Win32_Web_InternetExplorer" = [ "Win32_Web" ];
};
resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Diagnostics" "Win32_System_Diagnostics_Debug" "default" ];
};
"wit-bindgen 0.51.0" = rec {
crateName = "wit-bindgen";
version = "0.51.0";
edition = "2024";
sha256 = "19fazgch8sq5cvjv3ynhhfh5d5x08jq2pkw8jfb05vbcyqcr496p";
libName = "wit_bindgen";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "wit-bindgen-rust-macro";
packageId = "wit-bindgen-rust-macro";
optional = true;
}
];
features = {
"async" = [ "std" "wit-bindgen-rust-macro?/async" ];
"async-spawn" = [ "async" "dep:futures" ];
"bitflags" = [ "dep:bitflags" ];
"default" = [ "macros" "realloc" "async" "std" "bitflags" ];
"inter-task-wakeup" = [ "async" ];
"macros" = [ "dep:wit-bindgen-rust-macro" ];
"rustc-dep-of-std" = [ "dep:core" "dep:alloc" ];
};
resolvedDefaultFeatures = [ "async" "std" ];
};
"wit-bindgen 0.57.1" = rec {
crateName = "wit-bindgen";
version = "0.57.1";
edition = "2024";
sha256 = "0vjk2jb593ri9k1aq4iqs2si9mrw5q46wxnn78im7hm7hx799gqy";
libName = "wit_bindgen";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
features = {
"async-spawn" = [ "async" "dep:futures" "std" ];
"bitflags" = [ "dep:bitflags" ];
"default" = [ "macros" "realloc" "async" "std" "bitflags" "macro-string" ];
"futures-stream" = [ "async" "dep:futures" ];
"inter-task-wakeup" = [ "async" ];
"macro-string" = [ "wit-bindgen-rust-macro?/macro-string" ];
"macros" = [ "dep:wit-bindgen-rust-macro" ];
"rustc-dep-of-std" = [ "dep:core" "dep:alloc" ];
};
};
"wit-bindgen-core" = rec {
crateName = "wit-bindgen-core";
version = "0.51.0";
edition = "2024";
sha256 = "1p2jszqsqbx8k7y8nwvxg65wqzxjm048ba5phaq8r9iy9ildwqga";
libName = "wit_bindgen_core";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "heck";
packageId = "heck";
}
{
name = "wit-parser";
packageId = "wit-parser";
}
];
features = {
"clap" = [ "dep:clap" ];
"serde" = [ "dep:serde" ];
};
};
"wit-bindgen-rust" = rec {
crateName = "wit-bindgen-rust";
version = "0.51.0";
edition = "2024";
sha256 = "08bzn5fsvkb9x9wyvyx98qglknj2075xk1n7c5jxv15jykh6didp";
libName = "wit_bindgen_rust";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "heck";
packageId = "heck";
}
{
name = "indexmap";
packageId = "indexmap";
}
{
name = "prettyplease";
packageId = "prettyplease";
}
{
name = "syn";
packageId = "syn";
features = [ "printing" ];
}
{
name = "wasm-metadata";
packageId = "wasm-metadata";
usesDefaultFeatures = false;
}
{
name = "wit-bindgen-core";
packageId = "wit-bindgen-core";
}
{
name = "wit-component";
packageId = "wit-component";
}
];
features = {
"clap" = [ "dep:clap" "wit-bindgen-core/clap" ];
"serde" = [ "dep:serde" "wit-bindgen-core/serde" ];
};
};
"wit-bindgen-rust-macro" = rec {
crateName = "wit-bindgen-rust-macro";
version = "0.51.0";
edition = "2024";
sha256 = "0ymizapzv2id89igxsz2n587y2hlfypf6n8kyp68x976fzyrn3qc";
procMacro = true;
libName = "wit_bindgen_rust_macro";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "prettyplease";
packageId = "prettyplease";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "printing" ];
}
{
name = "wit-bindgen-core";
packageId = "wit-bindgen-core";
}
{
name = "wit-bindgen-rust";
packageId = "wit-bindgen-rust";
}
];
features = {
};
resolvedDefaultFeatures = [ "async" ];
};
"wit-component" = rec {
crateName = "wit-component";
version = "0.244.0";
edition = "2021";
sha256 = "1clwxgsgdns3zj2fqnrjcp8y5gazwfa1k0sy5cbk0fsmx4hflrlx";
libName = "wit_component";
authors = [
"Peter Huene <peter@huene.dev>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "bitflags";
packageId = "bitflags";
}
{
name = "indexmap";
packageId = "indexmap";
usesDefaultFeatures = false;
}
{
name = "log";
packageId = "log";
}
{
name = "serde";
packageId = "serde";
usesDefaultFeatures = false;
features = [ "alloc" ];
}
{
name = "serde_derive";
packageId = "serde_derive";
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "wasm-encoder";
packageId = "wasm-encoder";
usesDefaultFeatures = false;
features = [ "std" "wasmparser" ];
}
{
name = "wasm-metadata";
packageId = "wasm-metadata";
usesDefaultFeatures = false;
}
{
name = "wasmparser";
packageId = "wasmparser";
usesDefaultFeatures = false;
features = [ "simd" "std" "component-model" "simd" ];
}
{
name = "wit-parser";
packageId = "wit-parser";
features = [ "decoding" "serde" ];
}
];
devDependencies = [
{
name = "wasm-metadata";
packageId = "wasm-metadata";
usesDefaultFeatures = false;
features = [ "oci" ];
}
{
name = "wasmparser";
packageId = "wasmparser";
usesDefaultFeatures = false;
features = [ "simd" "std" "component-model" "features" ];
}
];
features = {
"dummy-module" = [ "dep:wat" ];
"semver-check" = [ "dummy-module" ];
"wat" = [ "dep:wast" "dep:wat" ];
};
};
"wit-parser" = rec {
crateName = "wit-parser";
version = "0.244.0";
edition = "2021";
sha256 = "0dm7avvdxryxd5b02l0g5h6933z1cw5z0d4wynvq2cywq55srj7c";
libName = "wit_parser";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "id-arena";
packageId = "id-arena";
}
{
name = "indexmap";
packageId = "indexmap";
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "log";
packageId = "log";
}
{
name = "semver";
packageId = "semver";
usesDefaultFeatures = false;
}
{
name = "serde";
packageId = "serde";
optional = true;
usesDefaultFeatures = false;
features = [ "alloc" ];
}
{
name = "serde_derive";
packageId = "serde_derive";
optional = true;
}
{
name = "serde_json";
packageId = "serde_json";
optional = true;
}
{
name = "unicode-xid";
packageId = "unicode-xid";
}
{
name = "wasmparser";
packageId = "wasmparser";
optional = true;
usesDefaultFeatures = false;
features = [ "simd" "std" "validate" "component-model" "features" ];
}
];
devDependencies = [
{
name = "serde_json";
packageId = "serde_json";
}
];
features = {
"decoding" = [ "dep:wasmparser" ];
"default" = [ "serde" "decoding" ];
"serde" = [ "dep:serde" "dep:serde_derive" "indexmap/serde" "serde_json" ];
"serde_json" = [ "dep:serde_json" ];
"wat" = [ "decoding" "dep:wat" ];
};
resolvedDefaultFeatures = [ "decoding" "default" "serde" "serde_json" ];
};
"zmij" = rec {
crateName = "zmij";
version = "1.0.21";
edition = "2021";
sha256 = "1amb5i6gz7yjb0dnmz5y669674pqmwbj44p4yfxfv2ncgvk8x15q";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
"no-panic" = [ "dep:no-panic" ];
};
};
};
#
# crate2nix/default.nix (excerpt start)
#
/*
Target (platform) data for conditional dependencies.
This corresponds roughly to what buildRustCrate is setting.
*/
makeDefaultTarget = platform: {
name = platform.rust.rustcTarget;
unix = platform.isUnix;
windows = platform.isWindows;
fuchsia = true;
test = false;
inherit (platform.rust.platform)
arch
os
vendor
;
family = platform.rust.platform.target-family;
env = "gnu";
endian = if platform.parsed.cpu.significantByte.name == "littleEndian" then "little" else "big";
pointer_width = toString platform.parsed.cpu.bits;
debug_assertions = false;
} // extraTargetFlags;
registryUrl =
{ registries
, url
, crate
, version
, sha256
,
}:
let
dl = registries.${url}.dl;
tmpl = [
"{crate}"
"{version}"
"{prefix}"
"{lowerprefix}"
"{sha256-checksum}"
];
in
with lib.strings;
if lib.lists.any (i: hasInfix "{}" dl) tmpl then
let
prefix =
if builtins.stringLength crate == 1 then
"1"
else if builtins.stringLength crate == 2 then
"2"
else
"${builtins.substring 0 2 crate}/${builtins.substring 2 (builtins.stringLength crate - 2) crate}";
in
builtins.replaceStrings tmpl [
crate
version
prefix
(lib.strings.toLower prefix)
sha256
]
else
"${dl}/${crate}/${version}/download";
# Filters common temp files and build files.
# TODO(pkolloch): Substitute with gitignore filter
sourceFilter =
name: type:
let
baseName = builtins.baseNameOf (builtins.toString name);
in
!(
# Filter out git
baseName == ".gitignore"
|| (type == "directory" && baseName == ".git")
# Filter out build results
|| (
type == "directory"
&& (
baseName == "target"
|| baseName == "_site"
|| baseName == ".sass-cache"
|| baseName == ".jekyll-metadata"
|| baseName == "build-artifacts"
)
)
# Filter out nix-build result symlinks
|| (type == "symlink" && lib.hasPrefix "result" baseName)
# Filter out IDE config
|| (type == "directory" && (baseName == ".idea" || baseName == ".vscode"))
|| lib.hasSuffix ".iml" baseName
# Filter out nix build files
|| baseName == "Cargo.nix"
# Filter out editor backup / swap files.
|| lib.hasSuffix "~" baseName
|| builtins.match "^\\.sw[a-z]$$" baseName != null
|| builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
|| lib.hasSuffix ".tmp" baseName
|| lib.hasSuffix ".bak" baseName
|| baseName == "tests.nix"
);
/*
Returns a crate which depends on successful test execution
of crate given as the second argument.
testCrateFlags: list of flags to pass to the test exectuable
testInputs: list of packages that should be available during test execution
*/
crateWithTest =
{ crate
, testCrate
, testCrateFlags
, testInputs
, testPreRun
, testPostRun
,
}:
assert builtins.typeOf testCrateFlags == "list";
assert builtins.typeOf testInputs == "list";
assert builtins.typeOf testPreRun == "string";
assert builtins.typeOf testPostRun == "string";
let
# override the `crate` so that it will build and execute tests instead of
# building the actual lib and bin targets We just have to pass `--test`
# to rustc and it will do the right thing. We execute the tests and copy
# their log and the test executables to $out for later inspection.
test =
let
drv = testCrate.override (_: {
buildTests = true;
});
# If the user hasn't set any pre/post commands, we don't want to
# insert empty lines. This means that any existing users of crate2nix
# don't get a spurious rebuild unless they set these explicitly.
testCommand = pkgs.lib.concatStringsSep "\n" (
pkgs.lib.filter (s: s != "") [
testPreRun
"$f $testCrateFlags 2>&1 | tee -a $out"
testPostRun
]
);
in
pkgs.stdenvNoCC.mkDerivation {
name = "run-tests-${testCrate.name}";
inherit (crate) src;
inherit testCrateFlags;
buildInputs = testInputs;
buildPhase = ''
set -e
export RUST_BACKTRACE=1
# build outputs
testRoot=target/debug
mkdir -p $testRoot
# executables of the crate
# we copy to prevent std::env::current_exe() to resolve to a store location
for i in ${crate}/bin/*; do
cp "$i" "$testRoot"
done
chmod +w -R .
# test harness executables are suffixed with a hash, like cargo does
# this allows to prevent name collision with the main
# executables of the crate
hash=$(basename $out)
for file in ${drv}/tests/*; do
f=$testRoot/$(basename $file)-$hash
cp $file $f
${testCommand}
done
'';
};
in
pkgs.runCommand "${crate.name}-linked"
{
inherit (crate) outputs crateName meta;
passthru = (crate.passthru or { }) // {
inherit test;
};
}
(
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
echo tested by ${test}
''
+ ''
${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs}
''
);
# A restricted overridable version of builtRustCratesWithFeatures.
buildRustCrateWithFeatures =
{ packageId
, features ? rootFeatures
, crateOverrides ? defaultCrateOverrides
, buildRustCrateForPkgsFunc ? null
, runTests ? false
, testCrateFlags ? [ ]
, testInputs ? [ ]
, # Any command to run immediatelly before a test is executed.
testPreRun ? ""
, # Any command run immediatelly after a test is executed.
testPostRun ? ""
,
}:
lib.makeOverridable
(
{ features
, crateOverrides
, runTests
, testCrateFlags
, testInputs
, testPreRun
, testPostRun
,
}:
let
buildRustCrateForPkgsFuncOverriden =
if buildRustCrateForPkgsFunc != null then
buildRustCrateForPkgsFunc
else
(
if crateOverrides == pkgs.defaultCrateOverrides then
buildRustCrateForPkgs
else
pkgs:
(buildRustCrateForPkgs pkgs).override {
defaultCrateOverrides = crateOverrides;
}
);
builtRustCrates = builtRustCratesWithFeatures {
inherit packageId features;
buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
runTests = false;
};
builtTestRustCrates = builtRustCratesWithFeatures {
inherit packageId features;
buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
runTests = true;
};
drv = builtRustCrates.crates.${packageId};
testDrv = builtTestRustCrates.crates.${packageId};
derivation =
if runTests then
crateWithTest
{
crate = drv;
testCrate = testDrv;
inherit
testCrateFlags
testInputs
testPreRun
testPostRun
;
}
else
drv;
in
derivation
)
{
inherit
features
crateOverrides
runTests
testCrateFlags
testInputs
testPreRun
testPostRun
;
};
/*
Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc
for the corresponding crate.
*/
builtRustCratesWithFeatures =
{ packageId
, features
, crateConfigs ? crates
, buildRustCrateForPkgsFunc
, runTests
, makeTarget ? makeDefaultTarget
,
}@args:
assert (builtins.isAttrs crateConfigs);
assert (builtins.isString packageId);
assert (builtins.isList features);
assert (builtins.isAttrs (makeTarget stdenv.hostPlatform));
assert (builtins.isBool runTests);
let
rootPackageId = packageId;
mergedFeatures = mergePackageFeatures (
args
// {
inherit rootPackageId;
target = makeTarget stdenv.hostPlatform // {
test = runTests;
};
}
);
# Memoize built packages so that reappearing packages are only built once.
builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs;
mkBuiltByPackageIdByPkgs =
pkgs:
let
self = {
crates = lib.mapAttrs
(
packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId
)
crateConfigs;
target = makeTarget pkgs.stdenv.hostPlatform;
build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
};
in
self;
buildByPackageIdForPkgsImpl =
self: pkgs: packageId:
let
features = mergedFeatures."${packageId}" or [ ];
crateConfig' = crateConfigs."${packageId}";
crateConfig = builtins.removeAttrs crateConfig' [
"resolvedDefaultFeatures"
"devDependencies"
];
devDependencies = lib.optionals (runTests && packageId == rootPackageId) (
crateConfig'.devDependencies or [ ]
);
dependencies = dependencyDerivations {
inherit features;
inherit (self) target;
buildByPackageId =
depPackageId:
# proc_macro crates must be compiled for the build architecture
if crateConfigs.${depPackageId}.procMacro or false then
self.build.crates.${depPackageId}
else
self.crates.${depPackageId};
dependencies = (crateConfig.dependencies or [ ]) ++ devDependencies;
};
buildDependencies = dependencyDerivations {
inherit features;
inherit (self.build) target;
buildByPackageId = depPackageId: self.build.crates.${depPackageId};
dependencies = crateConfig.buildDependencies or [ ];
};
dependenciesWithRenames =
let
buildDeps = filterEnabledDependencies {
inherit features;
inherit (self) target;
dependencies = crateConfig.dependencies or [ ] ++ devDependencies;
};
hostDeps = filterEnabledDependencies {
inherit features;
inherit (self.build) target;
dependencies = crateConfig.buildDependencies or [ ];
};
in
lib.filter (d: d ? "rename") (hostDeps ++ buildDeps);
# Crate renames have the form:
#
# {
# crate_name = [
# { version = "1.2.3"; rename = "crate_name01"; }
# ];
# # ...
# }
crateRenames =
let
grouped = lib.groupBy (dependency: dependency.name) dependenciesWithRenames;
versionAndRename =
dep:
let
package = crateConfigs."${dep.packageId}";
in
{
inherit (dep) rename;
inherit (package) version;
};
in
lib.mapAttrs (name: builtins.map versionAndRename) grouped;
in
buildRustCrateForPkgsFunc pkgs (
crateConfig
// {
src =
crateConfig.src or (fetchurl rec {
name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
# https://www.pietroalbini.org/blog/downloading-crates-io/
# Not rate-limited, CDN URL.
url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
sha256 =
assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
crateConfig.sha256;
});
extraRustcOpts =
lib.lists.optional (targetFeatures != [ ])
"-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}";
inherit
features
dependencies
buildDependencies
crateRenames
release
;
}
);
in
builtByPackageIdByPkgs;
# Returns the actual derivations for the given dependencies.
dependencyDerivations =
{ buildByPackageId
, features
, dependencies
, target
,
}:
assert (builtins.isList features);
assert (builtins.isList dependencies);
assert (builtins.isAttrs target);
let
enabledDependencies = filterEnabledDependencies {
inherit dependencies features target;
};
depDerivation = dependency: buildByPackageId dependency.packageId;
in
map depDerivation enabledDependencies;
/*
Returns a sanitized version of val with all values substituted that cannot
be serialized as JSON.
*/
sanitizeForJson =
val:
if builtins.isAttrs val then
lib.mapAttrs (n: sanitizeForJson) val
else if builtins.isList val then
builtins.map sanitizeForJson val
else if builtins.isFunction val then
"function"
else
val;
# Returns various tools to debug a crate.
debugCrate =
{ packageId
, target ? makeDefaultTarget stdenv.hostPlatform
,
}:
assert (builtins.isString packageId);
let
debug = rec {
# The built tree as passed to buildRustCrate.
buildTree = buildRustCrateWithFeatures {
buildRustCrateForPkgsFunc = _: lib.id;
inherit packageId;
};
sanitizedBuildTree = sanitizeForJson buildTree;
dependencyTree = sanitizeForJson (buildRustCrateWithFeatures {
buildRustCrateForPkgsFunc = _: crate: {
"01_crateName" = crate.crateName or false;
"02_features" = crate.features or [ ];
"03_dependencies" = crate.dependencies or [ ];
};
inherit packageId;
});
mergedPackageFeatures = mergePackageFeatures {
features = rootFeatures;
inherit packageId target;
};
diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
inherit packageId target;
};
};
in
{
internal = debug;
};
/*
Returns differences between cargo default features and crate2nix default
features.
This is useful for verifying the feature resolution in crate2nix.
*/
diffDefaultPackageFeatures =
{ crateConfigs ? crates
, packageId
, target
,
}:
assert (builtins.isAttrs crateConfigs);
let
prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
mergedFeatures = prefixValues "crate2nix" (mergePackageFeatures {
inherit crateConfigs packageId target;
features = [ "default" ];
});
configs = prefixValues "cargo" crateConfigs;
combined = lib.foldAttrs (a: b: a // b) { } [
mergedFeatures
configs
];
onlyInCargo = builtins.attrNames (
lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined
);
onlyInCrate2Nix = builtins.attrNames (
lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined
);
differentFeatures = lib.filterAttrs
(
n: v:
(v ? "crate2nix")
&& (v ? "cargo")
&& (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ])
)
combined;
in
builtins.toJSON {
inherit onlyInCargo onlyInCrate2Nix differentFeatures;
};
/*
Returns an attrset mapping packageId to the list of enabled features.
If multiple paths to a dependency enable different features, the
corresponding feature sets are merged. Features in rust are additive.
*/
mergePackageFeatures =
{ crateConfigs ? crates
, packageId
, rootPackageId ? packageId
, features ? rootFeatures
, dependencyPath ? [ crates.${packageId}.crateName ]
, featuresByPackageId ? { }
, target
, # Adds devDependencies to the crate with rootPackageId.
runTests ? false
, ...
}@args:
assert (builtins.isAttrs crateConfigs);
assert (builtins.isString packageId);
assert (builtins.isString rootPackageId);
assert (builtins.isList features);
assert (builtins.isList dependencyPath);
assert (builtins.isAttrs featuresByPackageId);
assert (builtins.isAttrs target);
assert (builtins.isBool runTests);
let
crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
expandedFeatures = expandFeatures (crateConfig.features or { }) features;
enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures;
depWithResolvedFeatures =
dependency:
let
inherit (dependency) packageId;
features = dependencyFeatures enabledFeatures dependency;
in
{
inherit packageId features;
};
resolveDependencies =
cache: path: dependencies:
assert (builtins.isAttrs cache);
assert (builtins.isList dependencies);
let
enabledDependencies = filterEnabledDependencies {
inherit dependencies target;
features = enabledFeatures;
};
directDependencies = map depWithResolvedFeatures enabledDependencies;
foldOverCache = op: lib.foldl op cache directDependencies;
in
foldOverCache (
cache:
{ packageId, features }:
let
cacheFeatures = cache.${packageId} or [ ];
combinedFeatures = sortedUnique (cacheFeatures ++ features);
in
if cache ? ${packageId} && cache.${packageId} == combinedFeatures then
cache
else
mergePackageFeatures {
features = combinedFeatures;
featuresByPackageId = cache;
inherit
crateConfigs
packageId
target
runTests
rootPackageId
;
}
);
cacheWithSelf =
let
cacheFeatures = featuresByPackageId.${packageId} or [ ];
combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures);
in
featuresByPackageId
// {
"${packageId}" = combinedFeatures;
};
cacheWithDependencies = resolveDependencies cacheWithSelf "dep" (
crateConfig.dependencies or [ ]
++ lib.optionals (runTests && packageId == rootPackageId) (crateConfig.devDependencies or [ ])
);
cacheWithAll = resolveDependencies cacheWithDependencies "build" (
crateConfig.buildDependencies or [ ]
);
in
cacheWithAll;
# Returns the enabled dependencies given the enabled features.
filterEnabledDependencies =
{ dependencies
, features
, target
,
}:
assert (builtins.isList dependencies);
assert (builtins.isList features);
assert (builtins.isAttrs target);
lib.filter
(
dep:
let
targetFunc = dep.target or (features: true);
in
targetFunc { inherit features target; }
&& (!(dep.optional or false) || builtins.any (doesFeatureEnableDependency dep) features)
)
dependencies;
# Returns whether the given feature should enable the given dependency.
doesFeatureEnableDependency =
dependency: feature:
let
name = dependency.rename or dependency.name;
prefix = "${name}/";
len = builtins.stringLength prefix;
startsWithPrefix = builtins.substring 0 len feature == prefix;
in
feature == name || feature == "dep:" + name || startsWithPrefix;
/*
Returns the expanded features for the given inputFeatures by applying the
rules in featureMap.
featureMap is an attribute set which maps feature names to lists of further
feature names to enable in case this feature is selected.
*/
expandFeatures =
featureMap: inputFeatures:
assert (builtins.isAttrs featureMap);
assert (builtins.isList inputFeatures);
let
expandFeaturesNoCycle =
oldSeen: inputFeatures:
if inputFeatures != [ ] then
let
# The feature we're currently expanding.
feature = builtins.head inputFeatures;
# All the features we've seen/expanded so far, including the one
# we're currently processing.
seen = oldSeen // {
${feature} = 1;
};
# Expand the feature but be careful to not re-introduce a feature
# that we've already seen: this can easily cause a cycle, see issue
# #209.
enables = builtins.filter (f: !(seen ? "${f}")) (featureMap."${feature}" or [ ]);
in
[ feature ] ++ (expandFeaturesNoCycle seen (builtins.tail inputFeatures ++ enables))
# No more features left, nothing to expand to.
else
[ ];
outFeatures = expandFeaturesNoCycle { } inputFeatures;
in
sortedUnique outFeatures;
/*
This function adds optional dependencies as features if they are enabled
indirectly by dependency features. This function mimics Cargo's behavior
described in a note at:
https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features
*/
enableFeatures =
dependencies: features:
assert (builtins.isList features);
assert (builtins.isList dependencies);
let
additionalFeatures = lib.concatMap
(
dependency:
assert (builtins.isAttrs dependency);
let
enabled = builtins.any (doesFeatureEnableDependency dependency) features;
in
if (dependency.optional or false) && enabled then
[ (dependency.rename or dependency.name) ]
else
[ ]
)
dependencies;
in
sortedUnique (features ++ additionalFeatures);
/*
Returns the actual features for the given dependency.
features: The features of the crate that refers this dependency.
*/
dependencyFeatures =
features: dependency:
assert (builtins.isList features);
assert (builtins.isAttrs dependency);
let
defaultOrNil = if dependency.usesDefaultFeatures or true then [ "default" ] else [ ];
explicitFeatures = dependency.features or [ ];
additionalDependencyFeatures =
let
name = dependency.rename or dependency.name;
stripPrefixMatch = prefix: s: if lib.hasPrefix prefix s then lib.removePrefix prefix s else null;
extractFeature =
feature:
lib.findFirst (f: f != null) null (
map (prefix: stripPrefixMatch prefix feature) [
(name + "/")
(name + "?/")
]
);
dependencyFeatures = lib.filter (f: f != null) (map extractFeature features);
in
dependencyFeatures;
in
defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;
# Sorts and removes duplicates from a list of strings.
sortedUnique =
features:
assert (builtins.isList features);
assert (builtins.all builtins.isString features);
let
outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
outFeaturesUnique = builtins.attrNames outFeaturesSet;
in
builtins.sort (a: b: a < b) outFeaturesUnique;
deprecationWarning =
message: value:
if strictDeprecation then
builtins.throw "strictDeprecation enabled, aborting: ${message}"
else
builtins.trace message value;
#
# crate2nix/default.nix (excerpt end)
#
};
}