# This file was @generated by crate2nix 0.9.0-alpha.1 with the command:
# "generate"
# See https://github.com/kolloch/crate2nix for more info.
{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs { config = {}; }
, lib ? pkgs.lib
, stdenv ? pkgs.stdenv
, buildRustCrate ? 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
# 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 = "scaff";
# 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 = {
"scaff" = rec {
packageId = "scaff";
build = internal.buildRustCrateWithFeatures {
packageId = "scaff";
};
# 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 = {
"adler32" = rec {
crateName = "adler32";
version = "1.0.4";
edition = "2015";
sha256 = "1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx";
authors = [
"Remi Rampin <remirampin@gmail.com>"
];
};
"aho-corasick" = rec {
crateName = "aho-corasick";
version = "0.7.6";
edition = "2015";
sha256 = "0b8dh20fhdc59dhhnfi89n2bi80a8zbagzd5c122hf1vv2amxysq";
libName = "aho_corasick";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "memchr";
packageId = "memchr";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
"std" = [ "memchr/use_std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"ansi_term" = rec {
crateName = "ansi_term";
version = "0.11.0";
edition = "2015";
sha256 = "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf";
authors = [
"ogham@bsago.me"
"Ryan Scheel (Havvy) <ryan.havvy@gmail.com>"
"Josh Triplett <josh@joshtriplett.org>"
];
dependencies = [
{
name = "winapi";
packageId = "winapi";
target = { target, features }: (target."os" == "windows");
features = [ "errhandlingapi" "consoleapi" "processenv" ];
}
];
};
"anyhow" = rec {
crateName = "anyhow";
version = "1.0.34";
edition = "2018";
sha256 = "1mwz0vg77yqz3w616bl890xihh7dsixwgn27nr9qd8ms9ddwp3dz";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"arrayref" = rec {
crateName = "arrayref";
version = "0.3.5";
edition = "2015";
sha256 = "1vphy316jbgmgckk4z7m8csvlyc8hih9w95iyq48h8077xc2wf0d";
authors = [
"David Roundy <roundyd@physics.oregonstate.edu>"
];
};
"arrayvec" = rec {
crateName = "arrayvec";
version = "0.4.12";
edition = "2015";
sha256 = "1fdiv5m627gh6flp4mpmi1mh647imm9x423licsr11psz97d97yd";
authors = [
"bluss"
];
dependencies = [
{
name = "nodrop";
packageId = "nodrop";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
"serde-1" = [ "serde" ];
};
};
"atty" = rec {
crateName = "atty";
version = "0.2.13";
edition = "2015";
sha256 = "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq";
authors = [
"softprops <d.tangren@gmail.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: target."unix";
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "consoleapi" "processenv" "minwinbase" "minwindef" "winbase" ];
}
];
};
"autocfg" = rec {
crateName = "autocfg";
version = "0.1.7";
edition = "2015";
sha256 = "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x";
authors = [
"Josh Stone <cuviper@gmail.com>"
];
};
"backtrace" = rec {
crateName = "backtrace";
version = "0.3.40";
edition = "2018";
sha256 = "1skpshz0gszhpmj51p35ci9nf4nmd79s899cfrfs570dgxcpck4j";
authors = [
"The Rust Project Developers"
];
dependencies = [
{
name = "backtrace-sys";
packageId = "backtrace-sys";
optional = true;
}
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
}
{
name = "rustc-demangle";
packageId = "rustc-demangle";
}
];
features = {
"default" = [ "std" "libunwind" "libbacktrace" "dladdr" "dbghelp" ];
"gimli-symbolize" = [ "addr2line" "findshlibs" "memmap" "goblin" ];
"libbacktrace" = [ "backtrace-sys" ];
"rustc-dep-of-std" = [ "backtrace-sys/rustc-dep-of-std" "cfg-if/rustc-dep-of-std" "core" "compiler_builtins" "libc/rustc-dep-of-std" "rustc-demangle/rustc-dep-of-std" ];
"serialize-rustc" = [ "rustc-serialize" ];
"serialize-serde" = [ "serde" ];
"verify-winapi" = [ "winapi/dbghelp" "winapi/handleapi" "winapi/libloaderapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/winbase" "winapi/winnt" ];
};
resolvedDefaultFeatures = [ "backtrace-sys" "dbghelp" "default" "dladdr" "libbacktrace" "libunwind" "std" ];
};
"backtrace-sys" = rec {
crateName = "backtrace-sys";
version = "0.1.32";
edition = "2015";
sha256 = "14c406z8bdmms8a5l8cv79jfkz1mk10qk5p97izf4vai53qparax";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
}
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
}
];
features = {
"rustc-dep-of-std" = [ "core" "compiler_builtins" ];
};
};
"base-x" = rec {
crateName = "base-x";
version = "0.2.7";
edition = "2015";
sha256 = "1asx3hdd4fqn678asi1ijx5cfjnfvyi4h6yfxk6212fhisplnwy2";
authors = [
"Alex R. <alexei.rudenko@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"base64 0.10.1" = rec {
crateName = "base64";
version = "0.10.1";
edition = "2015";
sha256 = "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b";
authors = [
"Alice Maz <alice@alicemaz.com>"
"Marshall Pierce <marshall@mpierce.org>"
];
dependencies = [
{
name = "byteorder";
packageId = "byteorder";
}
];
};
"base64 0.12.3" = rec {
crateName = "base64";
version = "0.12.3";
edition = "2018";
sha256 = "1zq33had71xh48n17g4kqs96szhx3yh7qibzwi4fk217n3vz0h9l";
authors = [
"Alice Maz <alice@alicemaz.com>"
"Marshall Pierce <marshall@mpierce.org>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"base64 0.13.0" = rec {
crateName = "base64";
version = "0.13.0";
edition = "2018";
sha256 = "1z82g23mbzjgijkpcrilc7nljpxpvpf7zxf6iyiapkgka2ngwkch";
authors = [
"Alice Maz <alice@alicemaz.com>"
"Marshall Pierce <marshall@mpierce.org>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"bitflags" = rec {
crateName = "bitflags";
version = "1.2.1";
edition = "2015";
sha256 = "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg";
authors = [
"The Rust Project Developers"
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"blake2b_simd" = rec {
crateName = "blake2b_simd";
version = "0.5.8";
edition = "2018";
sha256 = "10iiyv22rknspcrkpn49ka3widw29gv4q0ah0bfrbx2j2ppawl2q";
authors = [
"Jack O'Connor"
];
dependencies = [
{
name = "arrayref";
packageId = "arrayref";
}
{
name = "arrayvec";
packageId = "arrayvec";
usesDefaultFeatures = false;
}
{
name = "constant_time_eq";
packageId = "constant_time_eq";
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"block-buffer" = rec {
crateName = "block-buffer";
version = "0.7.3";
edition = "2015";
sha256 = "12v8wizynqin0hqf140kmp9s38q223mp1b0hkqk8j5pk8720v560";
authors = [
"RustCrypto Developers"
];
dependencies = [
{
name = "block-padding";
packageId = "block-padding";
}
{
name = "byte-tools";
packageId = "byte-tools";
}
{
name = "byteorder";
packageId = "byteorder";
usesDefaultFeatures = false;
}
{
name = "generic-array";
packageId = "generic-array";
}
];
};
"block-padding" = rec {
crateName = "block-padding";
version = "0.1.4";
edition = "2015";
sha256 = "02fz9wx5dmgpc79ndrb9xfxqlrkk7lg5wki2blz2zqg27spw6kbd";
authors = [
"RustCrypto Developers"
];
dependencies = [
{
name = "byte-tools";
packageId = "byte-tools";
}
];
};
"bstr" = rec {
crateName = "bstr";
version = "0.2.8";
edition = "2015";
sha256 = "0i82qr3z4vwcdx7gjsjrqy64w1w88i5s7b7ab97hm4mbb1djqv4d";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "memchr";
packageId = "memchr";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" "unicode" ];
"serde1" = [ "std" "serde1-nostd" "serde/std" ];
"serde1-nostd" = [ "serde" ];
"std" = [ "memchr/use_std" ];
"unicode" = [ "lazy_static" "regex-automata" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"bumpalo" = rec {
crateName = "bumpalo";
version = "3.4.0";
edition = "2018";
sha256 = "082qig1vxlklb9qwkg3j4hpfxb4b5blm59ln21njfc2p01zhi31f";
authors = [
"Nick Fitzgerald <fitzgen@gmail.com>"
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"byte-tools" = rec {
crateName = "byte-tools";
version = "0.3.1";
edition = "2015";
sha256 = "1mqi29wsm8njpl51pfwr31wmpzs5ahlcb40wsjyd92l90ixcmdg3";
authors = [
"RustCrypto Developers"
];
};
"byteorder" = rec {
crateName = "byteorder";
version = "1.3.2";
edition = "2015";
sha256 = "1xbwjlmq2ziqjmjvkqxdx1yh136xxhilxd40bky1w4d7hn4xvhx7";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"cc" = rec {
crateName = "cc";
version = "1.0.62";
edition = "2018";
crateBin = [];
sha256 = "0h0vchyzij5aci7w65wjapsadv0lri65jwy4cy5ahdkk6znhqxzi";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "jobserver";
packageId = "jobserver";
optional = true;
}
];
features = {
"parallel" = [ "jobserver" ];
};
resolvedDefaultFeatures = [ "jobserver" "parallel" ];
};
"cfg-if" = rec {
crateName = "cfg-if";
version = "0.1.10";
edition = "2018";
sha256 = "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
features = {
"rustc-dep-of-std" = [ "core" "compiler_builtins" ];
};
};
"chrono" = rec {
crateName = "chrono";
version = "0.4.9";
edition = "2015";
sha256 = "0s5xbn4im53169bnqbcr4qvnyn44frplvc0v7hcv10w5jrb30jg8";
authors = [
"Kang Seonghoon <public+rust@mearie.org>"
"Brandon W Maister <quodlibetor@gmail.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
}
{
name = "num-integer";
packageId = "num-integer";
usesDefaultFeatures = false;
}
{
name = "num-traits";
packageId = "num-traits";
usesDefaultFeatures = false;
}
{
name = "time";
packageId = "time 0.1.42";
optional = true;
}
];
features = {
"clock" = [ "time" ];
"default" = [ "clock" ];
"wasmbind" = [ "wasm-bindgen" "js-sys" ];
};
resolvedDefaultFeatures = [ "clock" "default" "time" ];
};
"chrono-tz" = rec {
crateName = "chrono-tz";
version = "0.5.1";
edition = "2015";
sha256 = "05gaa4wgf9z0b870idzridx0i1mqs4ii4sywqgplskiqs3x31r70";
authors = [
"Djzin"
];
dependencies = [
{
name = "chrono";
packageId = "chrono";
usesDefaultFeatures = false;
}
];
buildDependencies = [
{
name = "parse-zoneinfo";
packageId = "parse-zoneinfo";
}
];
};
"chunked_transfer" = rec {
crateName = "chunked_transfer";
version = "1.3.0";
edition = "2018";
sha256 = "1jl2ms4ylf6hlaylkjhwp3y4rd996z6qpkzkgcb5gzm88mfhcxvl";
authors = [
"Corey Farwell <coreyf@rwell.org>"
];
};
"clap" = rec {
crateName = "clap";
version = "2.33.0";
edition = "2015";
sha256 = "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh";
authors = [
"Kevin K. <kbknapp@gmail.com>"
];
dependencies = [
{
name = "ansi_term";
packageId = "ansi_term";
optional = true;
target = { target, features }: (!target."windows");
}
{
name = "atty";
packageId = "atty";
optional = true;
}
{
name = "bitflags";
packageId = "bitflags";
}
{
name = "strsim";
packageId = "strsim";
optional = true;
}
{
name = "textwrap";
packageId = "textwrap";
}
{
name = "unicode-width";
packageId = "unicode-width";
}
{
name = "vec_map";
packageId = "vec_map";
optional = true;
}
];
features = {
"color" = [ "ansi_term" "atty" ];
"default" = [ "suggestions" "color" "vec_map" ];
"doc" = [ "yaml" ];
"lints" = [ "clippy" ];
"suggestions" = [ "strsim" ];
"wrap_help" = [ "term_size" "textwrap/term_size" ];
"yaml" = [ "yaml-rust" ];
};
resolvedDefaultFeatures = [ "ansi_term" "atty" "color" "default" "strsim" "suggestions" "vec_map" ];
};
"cloudabi" = rec {
crateName = "cloudabi";
version = "0.0.3";
edition = "2015";
sha256 = "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x";
libPath = "cloudabi.rs";
authors = [
"Nuxi (https://nuxi.nl/) and contributors"
];
dependencies = [
{
name = "bitflags";
packageId = "bitflags";
optional = true;
}
];
features = {
"default" = [ "bitflags" ];
};
resolvedDefaultFeatures = [ "bitflags" "default" ];
};
"const_fn" = rec {
crateName = "const_fn";
version = "0.4.3";
edition = "2018";
sha256 = "1axgb6p2b0mdazi000vf0hd7hky690s052bwnizz3klx09p86y64";
procMacro = true;
authors = [
"Taiki Endo <te316e89@gmail.com>"
];
};
"constant_time_eq" = rec {
crateName = "constant_time_eq";
version = "0.1.4";
edition = "2015";
sha256 = "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr";
authors = [
"Cesar Eduardo Barros <cesarb@cesarb.eti.br>"
];
};
"cookie" = rec {
crateName = "cookie";
version = "0.14.3";
edition = "2018";
sha256 = "0bvh7n01ipskph54rb4qrg90ibh0c3m0l3pj17prqgjgmgxx0jkq";
authors = [
"Sergio Benitez <sb@sergio.bz>"
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "percent-encoding";
packageId = "percent-encoding";
optional = true;
}
{
name = "time";
packageId = "time 0.2.22";
usesDefaultFeatures = false;
features = [ "std" ];
}
];
buildDependencies = [
{
name = "version_check";
packageId = "version_check 0.9.2";
}
];
features = {
"key-expansion" = [ "sha2" "hkdf" ];
"percent-encode" = [ "percent-encoding" ];
"private" = [ "aes-gcm" "base64" "rand" ];
"secure" = [ "private" "signed" "key-expansion" ];
"signed" = [ "hmac" "sha2" "base64" "rand" ];
};
resolvedDefaultFeatures = [ "percent-encode" "percent-encoding" ];
};
"cookie_store" = rec {
crateName = "cookie_store";
version = "0.12.0";
edition = "2018";
sha256 = "1lqhmdwgnyvi1mjmw4rbgd02fwav4aabpg4vcld23d8c9g5dy61q";
authors = [
"patrick.fernie@gmail.com"
];
dependencies = [
{
name = "cookie";
packageId = "cookie";
features = [ "percent-encode" ];
}
{
name = "idna";
packageId = "idna";
}
{
name = "log";
packageId = "log";
}
{
name = "publicsuffix";
packageId = "publicsuffix";
usesDefaultFeatures = false;
}
{
name = "serde";
packageId = "serde";
features = [ "derive" ];
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "time";
packageId = "time 0.2.22";
}
{
name = "url";
packageId = "url";
}
];
features = {
"preserve_order" = [ "indexmap" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"crc32fast" = rec {
crateName = "crc32fast";
version = "1.2.0";
edition = "2015";
sha256 = "1c9dhkvf3brrzzplcijaywxi2w8wv5578i0ryhcm7x8dmzi5s4ms";
authors = [
"Sam Rijs <srijs@airpost.net>"
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"crossbeam-channel" = rec {
crateName = "crossbeam-channel";
version = "0.3.9";
edition = "2015";
sha256 = "1ylyzb1m9qbvd1nd3vy38x9073wdmcy295ncjs7wf7ap476pzv68";
authors = [
"The Crossbeam Project Developers"
];
dependencies = [
{
name = "crossbeam-utils";
packageId = "crossbeam-utils";
}
];
};
"crossbeam-utils" = rec {
crateName = "crossbeam-utils";
version = "0.6.6";
edition = "2015";
sha256 = "1rk0r9n04bmq4a3g2q5qhvvlmrmx780gc6h9lmc94mwndslkz5q4";
authors = [
"The Crossbeam Project Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "lazy_static";
packageId = "lazy_static";
optional = true;
}
];
features = {
"default" = [ "std" ];
"std" = [ "lazy_static" ];
};
resolvedDefaultFeatures = [ "default" "lazy_static" "std" ];
};
"deunicode" = rec {
crateName = "deunicode";
version = "0.4.3";
edition = "2015";
sha256 = "146nc3wlwz2j9awwf7zf76qvjcahnls0mlv9jm6clcvr9dlph245";
authors = [
"Kornel Lesinski <kornel@geekhood.net>"
"Amit Chowdhury <amitc97@gmail.com>"
];
};
"digest" = rec {
crateName = "digest";
version = "0.8.1";
edition = "2015";
sha256 = "1madjl27f3kj5ql7kwgvb9c8b7yb7bv7yfgx7rqzj4i3fp4cil7k";
authors = [
"RustCrypto Developers"
];
dependencies = [
{
name = "generic-array";
packageId = "generic-array";
}
];
features = {
"dev" = [ "blobby" ];
};
};
"dirs" = rec {
crateName = "dirs";
version = "2.0.2";
edition = "2015";
sha256 = "1qymhyq7w7wlf1dirq6gsnabdyzg6yi2yyxkx6c4ldlkbjdaibhk";
authors = [
"Simon Ochsenreither <simon@ochsenreither.de>"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "dirs-sys";
packageId = "dirs-sys";
}
];
};
"dirs-sys" = rec {
crateName = "dirs-sys";
version = "0.3.4";
edition = "2015";
sha256 = "0yyykdcmbc476z1v9m4z5jb8y91dw6kgzpkiqi2ig07xx0yv585g";
authors = [
"Simon Ochsenreither <simon@ochsenreither.de>"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "libc";
packageId = "libc";
target = { target, features }: target."unix";
}
{
name = "redox_users";
packageId = "redox_users";
target = { target, features }: (target."os" == "redox");
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
}
];
};
"discard" = rec {
crateName = "discard";
version = "1.0.4";
edition = "2015";
sha256 = "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91";
authors = [
"Pauan <pcxunlimited@gmail.com>"
];
};
"env_logger" = rec {
crateName = "env_logger";
version = "0.7.1";
edition = "2018";
sha256 = "0djx8h8xfib43g5w94r1m1mkky5spcw4wblzgnhiyg5vnfxknls4";
authors = [
"The Rust Project Developers"
];
dependencies = [
{
name = "atty";
packageId = "atty";
optional = true;
}
{
name = "humantime";
packageId = "humantime";
optional = true;
}
{
name = "log";
packageId = "log";
features = [ "std" ];
}
{
name = "regex";
packageId = "regex";
optional = true;
}
{
name = "termcolor";
packageId = "termcolor";
optional = true;
}
];
features = {
"default" = [ "termcolor" "atty" "humantime" "regex" ];
};
resolvedDefaultFeatures = [ "atty" "default" "humantime" "regex" "termcolor" ];
};
"error-chain" = rec {
crateName = "error-chain";
version = "0.12.1";
edition = "2015";
crateBin = [];
sha256 = "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s";
authors = [
"Brian Anderson <banderson@mozilla.com>"
"Paul Colomiets <paul@colomiets.name>"
"Colin Kiegel <kiegel@gmx.de>"
"Yamakaky <yamakaky@yamaworld.fr>"
];
buildDependencies = [
{
name = "version_check";
packageId = "version_check 0.1.5";
}
];
features = {
"default" = [ "backtrace" "example_generated" ];
};
};
"failure" = rec {
crateName = "failure";
version = "0.1.6";
edition = "2015";
sha256 = "1nay5c2cgi40kp84rbiir1dgwlh9aap9jazbnxfmqrkpr49ky9zq";
authors = [
"Without Boats <boats@mozilla.com>"
];
dependencies = [
{
name = "backtrace";
packageId = "backtrace";
optional = true;
}
{
name = "failure_derive";
packageId = "failure_derive";
optional = true;
}
];
features = {
"default" = [ "std" "derive" ];
"derive" = [ "failure_derive" ];
"std" = [ "backtrace" ];
};
resolvedDefaultFeatures = [ "backtrace" "default" "derive" "failure_derive" "std" ];
};
"failure_derive" = rec {
crateName = "failure_derive";
version = "0.1.6";
edition = "2015";
sha256 = "022xfb9wcs1bdssfm2airsrfxpn2ccpbyh1ld2wf9483isvjbhhb";
procMacro = true;
authors = [
"Without Boats <woboats@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
}
{
name = "synstructure";
packageId = "synstructure";
}
];
features = {
};
};
"fake-simd" = rec {
crateName = "fake-simd";
version = "0.1.2";
edition = "2015";
sha256 = "1vfylvk4va2ivqx85603lyqqp0zk52cgbs4n5nfbbbqx577qm2p8";
authors = [
"The Rust-Crypto Project Developers"
];
};
"filetime" = rec {
crateName = "filetime";
version = "0.2.7";
edition = "2018";
sha256 = "0sflihq2l77xjrza7yjalnxsc7dxzg25rhzcfbd9vmyfah5kimvb";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "libc";
packageId = "libc";
target = { target, features }: target."unix";
}
{
name = "redox_syscall";
packageId = "redox_syscall";
target = { target, features }: (target."os" == "redox");
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "fileapi" "minwindef" "winbase" ];
}
];
};
"flate2" = rec {
crateName = "flate2";
version = "1.0.12";
edition = "2018";
sha256 = "1lw1y5dj9xcn105l5c0w0dpgcsn1wvbj7d1ij1qwhh59r4rm4g5d";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "crc32fast";
packageId = "crc32fast";
}
{
name = "libc";
packageId = "libc";
}
{
name = "miniz_oxide";
packageId = "miniz_oxide";
optional = true;
}
{
name = "miniz_oxide";
packageId = "miniz_oxide";
target = { target, features }: ((target."arch" == "wasm32") && (!(target."os" == "emscripten")));
}
];
features = {
"default" = [ "rust_backend" ];
"rust_backend" = [ "miniz_oxide" ];
"tokio" = [ "tokio-io" "futures" ];
"zlib" = [ "libz-sys" ];
};
resolvedDefaultFeatures = [ "default" "miniz_oxide" "rust_backend" ];
};
"fnv" = rec {
crateName = "fnv";
version = "1.0.6";
edition = "2015";
sha256 = "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g";
libPath = "lib.rs";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
};
"form_urlencoded" = rec {
crateName = "form_urlencoded";
version = "1.0.0";
edition = "2015";
sha256 = "005yi1319k5bz8g5ylbdiakq5jp5jh90yy6k357zm11fr4aqvrpc";
authors = [
"The rust-url developers"
];
dependencies = [
{
name = "matches";
packageId = "matches";
}
{
name = "percent-encoding";
packageId = "percent-encoding";
}
];
};
"fuchsia-cprng" = rec {
crateName = "fuchsia-cprng";
version = "0.1.1";
edition = "2018";
sha256 = "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0";
authors = [
"Erick Tryzelaar <etryzelaar@google.com>"
];
};
"generic-array" = rec {
crateName = "generic-array";
version = "0.12.3";
edition = "2015";
sha256 = "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6";
libName = "generic_array";
authors = [
"Bartłomiej Kamiński <fizyk20@gmail.com>"
"Aaron Trent <novacrazy@gmail.com>"
];
dependencies = [
{
name = "typenum";
packageId = "typenum";
}
];
};
"getrandom" = rec {
crateName = "getrandom";
version = "0.1.13";
edition = "2018";
sha256 = "01zlzhdbg8y6d1zrlihvm93s421g0nldiq7f1hch3kfl9slprnz7";
authors = [
"The Rand Project Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: target."unix";
}
{
name = "wasi";
packageId = "wasi";
target = { target, features }: (target."os" == "wasi");
}
];
features = {
"rustc-dep-of-std" = [ "compiler_builtins" "core" ];
"test-in-browser" = [ "wasm-bindgen" ];
};
};
"git2" = rec {
crateName = "git2";
version = "0.10.1";
edition = "2018";
sha256 = "10jazcfnni2j1dxv1faizk1x7bn55clr0sd5x7n6gv5mzf373wir";
authors = [
"Josh Triplett <josh@joshtriplett.org>"
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "bitflags";
packageId = "bitflags";
}
{
name = "libc";
packageId = "libc";
}
{
name = "libgit2-sys";
packageId = "libgit2-sys";
}
{
name = "log";
packageId = "log";
}
{
name = "openssl-probe";
packageId = "openssl-probe";
optional = true;
target = { target, features }: (target."unix" && (!(target."os" == "macos")));
}
{
name = "openssl-sys";
packageId = "openssl-sys";
optional = true;
target = { target, features }: (target."unix" && (!(target."os" == "macos")));
}
{
name = "url";
packageId = "url";
}
];
features = {
"default" = [ "ssh" "https" "ssh_key_from_memory" ];
"https" = [ "libgit2-sys/https" "openssl-sys" "openssl-probe" ];
"ssh" = [ "libgit2-sys/ssh" ];
"ssh_key_from_memory" = [ "libgit2-sys/ssh_key_from_memory" ];
"vendored-openssl" = [ "openssl-sys/vendored" ];
};
resolvedDefaultFeatures = [ "default" "https" "openssl-probe" "openssl-sys" "ssh" "ssh_key_from_memory" ];
};
"globset" = rec {
crateName = "globset";
version = "0.4.4";
edition = "2015";
sha256 = "1wnqxq91liknmr2w93wjq2spyxbrd1pmnhd4nbi3921dr35a4nlj";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "aho-corasick";
packageId = "aho-corasick";
}
{
name = "bstr";
packageId = "bstr";
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "fnv";
packageId = "fnv";
}
{
name = "log";
packageId = "log";
}
{
name = "regex";
packageId = "regex";
}
];
features = {
};
};
"globwalk" = rec {
crateName = "globwalk";
version = "0.7.1";
edition = "2015";
sha256 = "0yr6kcm2izsjicisjk5dzy00wh7jmh823zxqlfq9fs2rd01wzjsk";
authors = [
"Gilad Naaman <gilad@naaman.io>"
];
dependencies = [
{
name = "ignore";
packageId = "ignore";
}
{
name = "walkdir";
packageId = "walkdir";
}
];
};
"heck" = rec {
crateName = "heck";
version = "0.3.1";
edition = "2015";
sha256 = "01a2v7yvkiqxakdqz4hw3w3g4sm52ivz9cs3qcsv2arxsmw4wmi0";
authors = [
"Without Boats <woboats@gmail.com>"
];
dependencies = [
{
name = "unicode-segmentation";
packageId = "unicode-segmentation";
}
];
};
"humansize" = rec {
crateName = "humansize";
version = "1.1.0";
edition = "2015";
sha256 = "0piadmwjah1jv6q288im4za9szlgalzjyq2811w35i6gg9ib5jmn";
authors = [
"Leopold Arkham <leopold.arkham@gmail.com>"
];
};
"humantime" = rec {
crateName = "humantime";
version = "1.3.0";
edition = "2015";
sha256 = "0krwgbf35pd46xvkqg14j070vircsndabahahlv3rwhflpy4q06z";
authors = [
"Paul Colomiets <paul@colomiets.name>"
];
dependencies = [
{
name = "quick-error";
packageId = "quick-error";
}
];
};
"idna" = rec {
crateName = "idna";
version = "0.2.0";
edition = "2015";
sha256 = "1a9066imqpdrm1aavfasdyb1zahqaz8jmdcwdawvb1pf60y6gqh2";
authors = [
"The rust-url developers"
];
dependencies = [
{
name = "matches";
packageId = "matches";
}
{
name = "unicode-bidi";
packageId = "unicode-bidi";
}
{
name = "unicode-normalization";
packageId = "unicode-normalization";
}
];
};
"ignore" = rec {
crateName = "ignore";
version = "0.4.10";
edition = "2015";
sha256 = "19w4iwq1f01v1wd9s5afg06hcnycqgrp70pgm9qxa2c44lr6ih8f";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "crossbeam-channel";
packageId = "crossbeam-channel";
}
{
name = "globset";
packageId = "globset";
}
{
name = "lazy_static";
packageId = "lazy_static";
}
{
name = "log";
packageId = "log";
}
{
name = "memchr";
packageId = "memchr";
}
{
name = "regex";
packageId = "regex";
}
{
name = "same-file";
packageId = "same-file";
}
{
name = "thread_local";
packageId = "thread_local";
}
{
name = "walkdir";
packageId = "walkdir";
}
{
name = "winapi-util";
packageId = "winapi-util";
target = { target, features }: target."windows";
}
];
features = {
"simd-accel" = [ "globset/simd-accel" ];
};
};
"itoa" = rec {
crateName = "itoa";
version = "0.4.4";
edition = "2015";
sha256 = "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
"default" = [ "std" ];
};
};
"jobserver" = rec {
crateName = "jobserver";
version = "0.1.17";
edition = "2015";
sha256 = "0q61p39nw0bdx6w0wkjv1kcha5mbhcfdl4z1hxrhpcskyhpd9cgj";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "getrandom";
packageId = "getrandom";
target = { target, features }: target."windows";
}
{
name = "libc";
packageId = "libc";
target = { target, features }: target."unix";
}
{
name = "log";
packageId = "log";
}
];
};
"js-sys" = rec {
crateName = "js-sys";
version = "0.3.45";
edition = "2018";
sha256 = "1y0ny38k4npvsgiigk9lh50bs056vak4wnj55pqnhrj8v60rw1fa";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "wasm-bindgen";
packageId = "wasm-bindgen";
}
];
};
"just-fetch" = rec {
crateName = "just-fetch";
version = "0.1.2";
edition = "2018";
sha256 = "1qkp2gjcgp0rvk88slmyfcb9wy9nask854gzdsf235k69pwdqngn";
authors = [
"jD91mZM2 <me@krake.one>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "flate2";
packageId = "flate2";
}
{
name = "serde";
packageId = "serde";
optional = true;
}
{
name = "ureq";
packageId = "ureq";
}
{
name = "url";
packageId = "url";
}
];
resolvedDefaultFeatures = [ "serde" ];
};
"lazy_static" = rec {
crateName = "lazy_static";
version = "1.4.0";
edition = "2015";
sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
authors = [
"Marvin Löbel <loebel.marvin@gmail.com>"
];
features = {
"spin_no_std" = [ "spin" ];
};
};
"libc" = rec {
crateName = "libc";
version = "0.2.80";
edition = "2015";
sha256 = "0506fqf03n3rl7j6hffk68b2ld5hlck6mgyzckvqhj001fvx2n2d";
authors = [
"The Rust Project Developers"
];
features = {
"default" = [ "std" ];
"rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
"use_std" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"libgit2-sys" = rec {
crateName = "libgit2-sys";
version = "0.9.1";
edition = "2018";
sha256 = "1cy11h35drwd4fw1b9j3hgflvvl1yzgnl3x0p3inwqarxcvqc3x3";
libName = "libgit2_sys";
libPath = "lib.rs";
authors = [
"Josh Triplett <josh@joshtriplett.org>"
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
{
name = "libssh2-sys";
packageId = "libssh2-sys";
optional = true;
}
{
name = "libz-sys";
packageId = "libz-sys";
}
{
name = "openssl-sys";
packageId = "openssl-sys";
optional = true;
target = { target, features }: target."unix";
}
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
features = [ "parallel" ];
}
{
name = "pkg-config";
packageId = "pkg-config";
}
];
features = {
"https" = [ "openssl-sys" ];
"ssh" = [ "libssh2-sys" ];
};
resolvedDefaultFeatures = [ "https" "libssh2-sys" "openssl-sys" "ssh" "ssh_key_from_memory" ];
};
"libssh2-sys" = rec {
crateName = "libssh2-sys";
version = "0.2.13";
edition = "2015";
sha256 = "0a63l5fkdickd72sxgf24rs9nfydnvs78bc1b7hbzjrii915mkaz";
libName = "libssh2_sys";
libPath = "lib.rs";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
"Wez Furlong <wez@wezfurlong.org>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
{
name = "libz-sys";
packageId = "libz-sys";
}
{
name = "openssl-sys";
packageId = "openssl-sys";
target = { target, features }: target."unix";
}
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
}
{
name = "pkg-config";
packageId = "pkg-config";
}
{
name = "vcpkg";
packageId = "vcpkg";
target = {target, features}: (target."env" == "msvc");
}
];
features = {
"vendored-openssl" = [ "openssl-sys/vendored" ];
};
};
"libz-sys" = rec {
crateName = "libz-sys";
version = "1.0.25";
edition = "2015";
sha256 = "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
}
{
name = "pkg-config";
packageId = "pkg-config";
}
{
name = "vcpkg";
packageId = "vcpkg";
target = {target, features}: (target."env" == "msvc");
}
];
features = {
};
};
"log" = rec {
crateName = "log";
version = "0.4.11";
edition = "2015";
sha256 = "12xzqaflpiljn5cmxsbnbv9sjaj13ykhwsvll0gysbx4blbyvasg";
authors = [
"The Rust Project Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
];
features = {
"kv_unstable_sval" = [ "kv_unstable" "sval/fmt" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"maplit" = rec {
crateName = "maplit";
version = "1.0.2";
edition = "2015";
sha256 = "07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy";
authors = [
"bluss"
];
};
"matches" = rec {
crateName = "matches";
version = "0.1.8";
edition = "2015";
sha256 = "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z";
libPath = "lib.rs";
authors = [
"Simon Sapin <simon.sapin@exyr.org>"
];
};
"memchr" = rec {
crateName = "memchr";
version = "2.2.1";
edition = "2015";
sha256 = "13j6ji9x9ydpi9grbss106gqqr3xn3bcfp28aydqfa4751qrfmw8";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
"bluss"
];
features = {
"default" = [ "use_std" ];
};
resolvedDefaultFeatures = [ "default" "use_std" ];
};
"miniz_oxide" = rec {
crateName = "miniz_oxide";
version = "0.3.3";
edition = "2018";
sha256 = "1bmanbbcdmssfbgik3fs323g7vljc5wkjz7s61jsbbz2kg0nckrh";
authors = [
"Frommi <daniil.liferenko@gmail.com>"
"oyvindln <oyvindln@users.noreply.github.com>"
];
dependencies = [
{
name = "adler32";
packageId = "adler32";
}
];
};
"nix" = rec {
crateName = "nix";
version = "0.14.1";
edition = "2015";
sha256 = "1kmxdlmvnmq8cfpmr3g6wk37rwi2ybdvp1z6z3831m1p23p2nwkc";
authors = [
"The nix-rust Project Developers"
];
dependencies = [
{
name = "bitflags";
packageId = "bitflags";
}
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "libc";
packageId = "libc";
}
{
name = "void";
packageId = "void";
}
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
target = {target, features}: (target."os" == "dragonfly");
}
];
};
"nodrop" = rec {
crateName = "nodrop";
version = "0.1.14";
edition = "2015";
sha256 = "1fz1v9r8ijacf0hlq0pdv5l9mz8vgqg1snmhvpjmi9aci1b4mvvj";
authors = [
"bluss"
];
features = {
"default" = [ "std" ];
"use_union" = [ "nodrop-union" ];
};
};
"num-integer" = rec {
crateName = "num-integer";
version = "0.1.41";
edition = "2015";
sha256 = "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq";
authors = [
"The Rust Project Developers"
];
dependencies = [
{
name = "num-traits";
packageId = "num-traits";
usesDefaultFeatures = false;
}
];
buildDependencies = [
{
name = "autocfg";
packageId = "autocfg";
}
];
features = {
"default" = [ "std" ];
"i128" = [ "num-traits/i128" ];
"std" = [ "num-traits/std" ];
};
};
"num-traits" = rec {
crateName = "num-traits";
version = "0.2.8";
edition = "2015";
sha256 = "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb";
authors = [
"The Rust Project Developers"
];
buildDependencies = [
{
name = "autocfg";
packageId = "autocfg";
}
];
features = {
"default" = [ "std" ];
};
};
"once_cell" = rec {
crateName = "once_cell";
version = "1.4.1";
edition = "2018";
sha256 = "1ba56vr8n85xgajnn78pg6iag4inwil3mqg90wi5jaz6xzkm23i6";
authors = [
"Aleksey Kladov <aleksey.kladov@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"opaque-debug" = rec {
crateName = "opaque-debug";
version = "0.2.3";
edition = "2015";
sha256 = "172j6bs8ndclqxa2m64qc0y1772rr73g4l9fg2svscgicnbfff98";
authors = [
"RustCrypto Developers"
];
};
"openssl-probe" = rec {
crateName = "openssl-probe";
version = "0.1.2";
edition = "2015";
sha256 = "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
};
"openssl-sys" = rec {
crateName = "openssl-sys";
version = "0.9.52";
edition = "2015";
sha256 = "1z01v3xql448pf5yiykmzzdd269vxnhbm7kgp3jggqhj2f7d0xy9";
build = "build/main.rs";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
"Steven Fackler <sfackler@gmail.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
];
buildDependencies = [
{
name = "autocfg";
packageId = "autocfg";
}
{
name = "cc";
packageId = "cc";
}
{
name = "pkg-config";
packageId = "pkg-config";
}
{
name = "vcpkg";
packageId = "vcpkg";
target = {target, features}: (target."env" == "msvc");
}
];
features = {
"vendored" = [ "openssl-src" ];
};
};
"parse-zoneinfo" = rec {
crateName = "parse-zoneinfo";
version = "0.2.0";
edition = "2015";
sha256 = "1rbrnzfqx0kcaddnvznvr721pnk79cg5m7ch7267pmydrn63k6h8";
authors = [
"Djzin <djzin@users.noreply.github.com>"
];
dependencies = [
{
name = "regex";
packageId = "regex";
}
];
};
"percent-encoding" = rec {
crateName = "percent-encoding";
version = "2.1.0";
edition = "2015";
sha256 = "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl";
libPath = "lib.rs";
authors = [
"The rust-url developers"
];
};
"pest" = rec {
crateName = "pest";
version = "2.1.2";
edition = "2015";
sha256 = "0jl9nv6jx1jy3fz2j49nw7jkh9z5igvrbvsgnbc5aan2ql0v4kvy";
authors = [
"DragoÈ™ Tiselice <dragostiselice@gmail.com>"
];
dependencies = [
{
name = "ucd-trie";
packageId = "ucd-trie";
}
];
features = {
"pretty-print" = [ "serde" "serde_json" ];
};
};
"pest_derive" = rec {
crateName = "pest_derive";
version = "2.1.0";
edition = "2015";
sha256 = "1l5jfa6ril71cw5nsiw0r45br54dd8cj2r1nc2d1wq6wb3jilgc3";
procMacro = true;
authors = [
"DragoÈ™ Tiselice <dragostiselice@gmail.com>"
];
dependencies = [
{
name = "pest";
packageId = "pest";
}
{
name = "pest_generator";
packageId = "pest_generator";
}
];
};
"pest_generator" = rec {
crateName = "pest_generator";
version = "2.1.1";
edition = "2015";
sha256 = "1h3z8jccki87mn7gppy4292s1ah98z4md998w5pd04jpkclwz7vv";
authors = [
"DragoÈ™ Tiselice <dragostiselice@gmail.com>"
];
dependencies = [
{
name = "pest";
packageId = "pest";
}
{
name = "pest_meta";
packageId = "pest_meta";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
}
];
};
"pest_meta" = rec {
crateName = "pest_meta";
version = "2.1.2";
edition = "2015";
sha256 = "0iymvrh7lcfi8iarkgq0hwgarr00np3l4xg4bx42rmvgi6czshyz";
authors = [
"DragoÈ™ Tiselice <dragostiselice@gmail.com>"
];
dependencies = [
{
name = "maplit";
packageId = "maplit";
}
{
name = "pest";
packageId = "pest";
}
];
buildDependencies = [
{
name = "sha-1";
packageId = "sha-1";
usesDefaultFeatures = false;
}
];
};
"pkg-config" = rec {
crateName = "pkg-config";
version = "0.3.16";
edition = "2015";
sha256 = "1slikl3p0qbxy37crxynz7zznaf5gzl7ag9w0fyp17zlj06kgmbj";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
};
"proc-macro-error" = rec {
crateName = "proc-macro-error";
version = "0.2.6";
edition = "2018";
sha256 = "15v0ghpanf8zzdbd76dxccfi5x706w3av8p4y3apb8cfbm6zxk5f";
authors = [
"CreepySkeleton <creepy-skeleton@yandex.ru>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
}
];
features = {
};
};
"proc-macro-hack" = rec {
crateName = "proc-macro-hack";
version = "0.5.19";
edition = "2018";
sha256 = "1rg0kzsj7lj00qj602d3h77spwfz48vixn1wbjp7a4yrq65w9w6v";
procMacro = true;
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
};
"proc-macro2" = rec {
crateName = "proc-macro2";
version = "1.0.24";
edition = "2018";
sha256 = "0wcabxzrddcjmryndw8fpyxcq6rw63m701vx86xxf03y3bp081qy";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "unicode-xid";
packageId = "unicode-xid";
}
];
features = {
"default" = [ "proc-macro" ];
};
resolvedDefaultFeatures = [ "default" "proc-macro" ];
};
"publicsuffix" = rec {
crateName = "publicsuffix";
version = "1.5.4";
edition = "2015";
sha256 = "0yvmjpywfyypfr17kxiwy6ssykgv8nmcdhfakas6548pfn8a9fiv";
authors = [
"rushmorem <rushmore@webenchanter.com>"
];
dependencies = [
{
name = "error-chain";
packageId = "error-chain";
usesDefaultFeatures = false;
}
{
name = "idna";
packageId = "idna";
}
{
name = "lazy_static";
packageId = "lazy_static";
}
{
name = "regex";
packageId = "regex";
usesDefaultFeatures = false;
features = [ "std" ];
}
{
name = "url";
packageId = "url";
}
];
features = {
"default" = [ "remote_list" ];
"remote_list" = [ "native-tls" ];
};
};
"qstring" = rec {
crateName = "qstring";
version = "0.7.2";
edition = "2018";
sha256 = "0khhcpwifis87r5chr4jiv3w1bkswcf226c0yjx809pzbzkglr6l";
authors = [
"Martin Algesten <martin@algesten.se>"
];
dependencies = [
{
name = "percent-encoding";
packageId = "percent-encoding";
}
];
};
"quick-error" = rec {
crateName = "quick-error";
version = "1.2.2";
edition = "2015";
sha256 = "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j";
authors = [
"Paul Colomiets <paul@colomiets.name>"
"Colin Kiegel <kiegel@gmx.de>"
];
};
"quote" = rec {
crateName = "quote";
version = "1.0.2";
edition = "2018";
sha256 = "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5";
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" ];
};
"rand_core 0.3.1" = rec {
crateName = "rand_core";
version = "0.3.1";
edition = "2015";
sha256 = "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs";
authors = [
"The Rand Project Developers"
"The Rust Project Developers"
];
dependencies = [
{
name = "rand_core";
packageId = "rand_core 0.4.2";
}
];
features = {
"alloc" = [ "rand_core/alloc" ];
"default" = [ "std" ];
"serde1" = [ "rand_core/serde1" ];
"std" = [ "rand_core/std" ];
};
};
"rand_core 0.4.2" = rec {
crateName = "rand_core";
version = "0.4.2";
edition = "2015";
sha256 = "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww";
authors = [
"The Rand Project Developers"
"The Rust Project Developers"
];
features = {
"serde1" = [ "serde" "serde_derive" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "std" ];
};
"rand_os" = rec {
crateName = "rand_os";
version = "0.1.3";
edition = "2015";
sha256 = "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv";
authors = [
"The Rand Project Developers"
];
dependencies = [
{
name = "cloudabi";
packageId = "cloudabi";
target = { target, features }: (target."os" == "cloudabi");
}
{
name = "fuchsia-cprng";
packageId = "fuchsia-cprng";
target = { target, features }: (target."os" == "fuchsia");
}
{
name = "libc";
packageId = "libc";
target = { target, features }: target."unix";
}
{
name = "rand_core";
packageId = "rand_core 0.4.2";
features = [ "std" ];
}
{
name = "rdrand";
packageId = "rdrand";
target = { target, features }: (target."env" == "sgx");
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "minwindef" "ntsecapi" "winnt" ];
}
];
};
"rdrand" = rec {
crateName = "rdrand";
version = "0.4.0";
edition = "2015";
sha256 = "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037";
authors = [
"Simonas Kazlauskas <rdrand@kazlauskas.me>"
];
dependencies = [
{
name = "rand_core";
packageId = "rand_core 0.3.1";
usesDefaultFeatures = false;
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"redox_syscall" = rec {
crateName = "redox_syscall";
version = "0.1.56";
edition = "2015";
sha256 = "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94";
libName = "syscall";
authors = [
"Jeremy Soller <jackpot51@gmail.com>"
];
};
"redox_users" = rec {
crateName = "redox_users";
version = "0.3.1";
edition = "2015";
sha256 = "0vdn688q9wg997b1x5abx2gf7406rn1lvd62ypcgh1gj7g5dpkjf";
authors = [
"Jose Narvaez <goyox86@gmail.com>"
"Wesley Hershberger <mggmugginsmc@gmail.com>"
];
dependencies = [
{
name = "failure";
packageId = "failure";
}
{
name = "rand_os";
packageId = "rand_os";
}
{
name = "redox_syscall";
packageId = "redox_syscall";
}
{
name = "rust-argon2";
packageId = "rust-argon2";
}
];
};
"regex" = rec {
crateName = "regex";
version = "1.3.1";
edition = "2015";
sha256 = "1g8wp160vzxgralyd4imydd0xsxq6yh25zhs229z1s6w7g9hn8nw";
authors = [
"The Rust Project Developers"
];
dependencies = [
{
name = "aho-corasick";
packageId = "aho-corasick";
optional = true;
}
{
name = "memchr";
packageId = "memchr";
optional = true;
}
{
name = "regex-syntax";
packageId = "regex-syntax";
usesDefaultFeatures = false;
}
{
name = "thread_local";
packageId = "thread_local";
optional = true;
}
];
features = {
"default" = [ "std" "perf" "unicode" ];
"perf" = [ "perf-cache" "perf-dfa" "perf-inline" "perf-literal" ];
"perf-cache" = [ "thread_local" ];
"perf-literal" = [ "aho-corasick" "memchr" ];
"unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
"unicode-age" = [ "regex-syntax/unicode-age" ];
"unicode-bool" = [ "regex-syntax/unicode-bool" ];
"unicode-case" = [ "regex-syntax/unicode-case" ];
"unicode-gencat" = [ "regex-syntax/unicode-gencat" ];
"unicode-perl" = [ "regex-syntax/unicode-perl" ];
"unicode-script" = [ "regex-syntax/unicode-script" ];
"unicode-segment" = [ "regex-syntax/unicode-segment" ];
"unstable" = [ "pattern" ];
"use_std" = [ "std" ];
};
resolvedDefaultFeatures = [ "aho-corasick" "default" "memchr" "perf" "perf-cache" "perf-dfa" "perf-inline" "perf-literal" "std" "thread_local" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
};
"regex-syntax" = rec {
crateName = "regex-syntax";
version = "0.6.12";
edition = "2015";
sha256 = "05pplicvzvgkb2wb4i98p2mrpgc8gws6vdl8xlpyyr6f3h6y59qi";
authors = [
"The Rust Project Developers"
];
features = {
"default" = [ "unicode" ];
"unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
};
resolvedDefaultFeatures = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
};
"ring" = rec {
crateName = "ring";
version = "0.16.15";
edition = "2018";
sha256 = "1r1l7qqk552vc19glzr8ng4gw4mzi8xpi98vz87c7fw5ijwxcb4m";
authors = [
"Brian Smith <brian@briansmith.org>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = { target, features }: ((target."os" == "android") || (target."os" == "linux"));
}
{
name = "once_cell";
packageId = "once_cell";
optional = true;
usesDefaultFeatures = false;
target = { target, features }: ((target."os" == "android") || (target."os" == "freebsd") || (target."os" == "linux") || (target."os" == "netbsd") || (target."os" == "openbsd") || (target."os" == "solaris"));
features = [ "std" ];
}
{
name = "spin";
packageId = "spin";
usesDefaultFeatures = false;
target = { target, features }: (((target."arch" == "aarch64") || (target."arch" == "arm") || (target."arch" == "x86") || (target."arch" == "x86_64")) && (!(target."os" == "ios")));
}
{
name = "untrusted";
packageId = "untrusted";
}
{
name = "web-sys";
packageId = "web-sys";
usesDefaultFeatures = false;
target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (target."env" == ""));
features = [ "Crypto" "Window" ];
}
{
name = "winapi";
packageId = "winapi";
usesDefaultFeatures = false;
target = { target, features }: (target."os" == "windows");
features = [ "ntsecapi" "wtypesbase" ];
}
];
buildDependencies = [
{
name = "cc";
packageId = "cc";
usesDefaultFeatures = false;
}
];
devDependencies = [
{
name = "libc";
packageId = "libc";
usesDefaultFeatures = false;
target = {target, features}: (target."unix" || target."windows");
}
];
features = {
"default" = [ "alloc" "dev_urandom_fallback" ];
"dev_urandom_fallback" = [ "once_cell" ];
"std" = [ "alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ];
};
"rust-argon2" = rec {
crateName = "rust-argon2";
version = "0.5.1";
edition = "2015";
sha256 = "1krjkmyfn37hy7sfs6lqia0fsvw130nn1z2850glsjcva7pym92c";
libName = "argon2";
authors = [
"Martijn Rijkeboer <mrr@sru-systems.com>"
];
dependencies = [
{
name = "base64";
packageId = "base64 0.10.1";
}
{
name = "blake2b_simd";
packageId = "blake2b_simd";
}
{
name = "crossbeam-utils";
packageId = "crossbeam-utils";
}
];
};
"rustc-demangle" = rec {
crateName = "rustc-demangle";
version = "0.1.16";
edition = "2015";
sha256 = "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
features = {
"rustc-dep-of-std" = [ "core" "compiler_builtins" ];
};
};
"rustc_version" = rec {
crateName = "rustc_version";
version = "0.2.3";
edition = "2015";
sha256 = "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk";
authors = [
"Marvin Löbel <loebel.marvin@gmail.com>"
];
dependencies = [
{
name = "semver";
packageId = "semver";
}
];
};
"rustls" = rec {
crateName = "rustls";
version = "0.18.1";
edition = "2018";
sha256 = "108cf3bfw5high066shz9xrfv4jz7djdmnwqs3kwx4wfypf2c4ax";
authors = [
"Joseph Birr-Pixton <jpixton@gmail.com>"
];
dependencies = [
{
name = "base64";
packageId = "base64 0.12.3";
}
{
name = "log";
packageId = "log";
optional = true;
}
{
name = "ring";
packageId = "ring";
}
{
name = "sct";
packageId = "sct";
}
{
name = "webpki";
packageId = "webpki";
}
];
devDependencies = [
{
name = "log";
packageId = "log";
}
];
features = {
"default" = [ "logging" ];
"logging" = [ "log" ];
};
resolvedDefaultFeatures = [ "default" "log" "logging" ];
};
"rustyline" = rec {
crateName = "rustyline";
version = "5.0.3";
edition = "2018";
sha256 = "05y4i4mp4n3fb46xij4d1sldlw8kk7a5ql9bysfyqzg5wrvy55a7";
authors = [
"Katsu Kawakami <kkawa1570@gmail.com>"
];
dependencies = [
{
name = "dirs";
packageId = "dirs";
optional = true;
}
{
name = "libc";
packageId = "libc";
}
{
name = "log";
packageId = "log";
}
{
name = "memchr";
packageId = "memchr";
}
{
name = "nix";
packageId = "nix";
target = { target, features }: target."unix";
}
{
name = "unicode-segmentation";
packageId = "unicode-segmentation";
}
{
name = "unicode-width";
packageId = "unicode-width";
}
{
name = "utf8parse";
packageId = "utf8parse";
target = { target, features }: target."unix";
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "consoleapi" "handleapi" "minwindef" "processenv" "winbase" "wincon" "winuser" ];
}
];
features = {
"default" = [ "with-dirs" ];
"with-dirs" = [ "dirs" ];
};
resolvedDefaultFeatures = [ "default" "dirs" "with-dirs" ];
};
"ryu" = rec {
crateName = "ryu";
version = "1.0.2";
edition = "2015";
sha256 = "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z";
authors = [
"David Tolnay <dtolnay@gmail.com>"
];
features = {
};
};
"same-file" = rec {
crateName = "same-file";
version = "1.0.5";
edition = "2015";
sha256 = "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "winapi-util";
packageId = "winapi-util";
target = { target, features }: target."windows";
}
];
};
"scaff" = rec {
crateName = "scaff";
version = "0.1.3";
edition = "2018";
crateBin = [
{ name = "scaff"; path = "src/main.rs"; }
];
src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; };
authors = [
"jD91mZM2 <me@krake.one>"
];
dependencies = [
{
name = "anyhow";
packageId = "anyhow";
}
{
name = "dirs";
packageId = "dirs";
}
{
name = "env_logger";
packageId = "env_logger";
}
{
name = "git2";
packageId = "git2";
}
{
name = "just-fetch";
packageId = "just-fetch";
features = [ "serde" ];
}
{
name = "log";
packageId = "log";
}
{
name = "rustyline";
packageId = "rustyline";
}
{
name = "serde";
packageId = "serde";
features = [ "derive" ];
}
{
name = "structopt";
packageId = "structopt";
}
{
name = "tar";
packageId = "tar";
}
{
name = "tera";
packageId = "tera";
}
{
name = "toml";
packageId = "toml";
}
];
};
"sct" = rec {
crateName = "sct";
version = "0.6.0";
edition = "2018";
sha256 = "0g4dz7las43kcpi9vqv9c6l1afjkdv3g3w3s7d2w7a7w77wjl173";
authors = [
"Joseph Birr-Pixton <jpixton@gmail.com>"
];
dependencies = [
{
name = "ring";
packageId = "ring";
}
{
name = "untrusted";
packageId = "untrusted";
}
];
};
"semver" = rec {
crateName = "semver";
version = "0.9.0";
edition = "2015";
sha256 = "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx";
authors = [
"Steve Klabnik <steve@steveklabnik.com>"
"The Rust Project Developers"
];
dependencies = [
{
name = "semver-parser";
packageId = "semver-parser";
}
];
features = {
"ci" = [ "serde" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"semver-parser" = rec {
crateName = "semver-parser";
version = "0.7.0";
edition = "2015";
sha256 = "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq";
authors = [
"Steve Klabnik <steve@steveklabnik.com>"
];
};
"serde" = rec {
crateName = "serde";
version = "1.0.117";
edition = "2015";
sha256 = "06nwyyma9hch1abjqj0y9cb09m1y6lbzbsc7jff6483pvs1sk3xq";
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "serde_derive";
packageId = "serde_derive";
optional = true;
}
];
devDependencies = [
{
name = "serde_derive";
packageId = "serde_derive";
}
];
features = {
"default" = [ "std" ];
"derive" = [ "serde_derive" ];
};
resolvedDefaultFeatures = [ "default" "derive" "serde_derive" "std" ];
};
"serde_derive" = rec {
crateName = "serde_derive";
version = "1.0.117";
edition = "2015";
sha256 = "0kn7ais3zv9ajbyc216qm14r61zwlm229815yd4anjmlmmraxlfb";
procMacro = true;
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "visit" ];
}
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"serde_json" = rec {
crateName = "serde_json";
version = "1.0.59";
edition = "2018";
sha256 = "15bblpgzbr163sxfxx0h8kacchmiiskypfbah5zmxim1zzdhgb6w";
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>"
"David Tolnay <dtolnay@gmail.com>"
];
dependencies = [
{
name = "itoa";
packageId = "itoa";
usesDefaultFeatures = false;
}
{
name = "ryu";
packageId = "ryu";
}
{
name = "serde";
packageId = "serde";
usesDefaultFeatures = false;
}
];
features = {
"alloc" = [ "serde/alloc" ];
"default" = [ "std" ];
"preserve_order" = [ "indexmap" ];
"std" = [ "serde/std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"sha-1" = rec {
crateName = "sha-1";
version = "0.8.1";
edition = "2015";
sha256 = "0s6fdy5wp3x4h2z4fcl2d9vjvrpzr87v4h49r51xcq8nm4qj35i3";
libName = "sha1";
authors = [
"RustCrypto Developers"
];
dependencies = [
{
name = "block-buffer";
packageId = "block-buffer";
}
{
name = "digest";
packageId = "digest";
}
{
name = "fake-simd";
packageId = "fake-simd";
}
{
name = "opaque-debug";
packageId = "opaque-debug";
}
];
devDependencies = [
{
name = "digest";
packageId = "digest";
features = [ "dev" ];
}
];
features = {
"asm" = [ "sha1-asm" ];
"default" = [ "std" ];
"std" = [ "digest/std" ];
};
};
"sha1" = rec {
crateName = "sha1";
version = "0.6.0";
edition = "2015";
sha256 = "03gs2q4m67rn2p8xcdfxhip6mpgahdwm12bnb3vh90ahv9grhy95";
authors = [
"Armin Ronacher <armin.ronacher@active-4.com>"
];
features = {
};
};
"slug" = rec {
crateName = "slug";
version = "0.1.4";
edition = "2015";
sha256 = "0wrk0w7mcmnvpmc27fw8dxkip6f6xgwpfgp7mp56yv2bd8p7dg5k";
authors = [
"Steven Allen <steven@stebalien.com>"
];
dependencies = [
{
name = "deunicode";
packageId = "deunicode";
}
];
};
"smallvec" = rec {
crateName = "smallvec";
version = "0.6.10";
edition = "2015";
sha256 = "1dyl43rgzny79jjpgzi07y0ly2ggx1xwsn64csxj0j91bsf6lq5b";
libPath = "lib.rs";
authors = [
"Simon Sapin <simon.sapin@exyr.org>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"spin" = rec {
crateName = "spin";
version = "0.5.2";
edition = "2015";
sha256 = "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf";
authors = [
"Mathijs van de Nes <git@mathijs.vd-nes.nl>"
"John Ericson <git@JohnEricson.me>"
];
};
"standback" = rec {
crateName = "standback";
version = "0.2.11";
edition = "2018";
sha256 = "0p3jrryda9dfakr958cqk143sy4533klp10vspgjpkyj80887q7l";
authors = [
"Jacob Pratt <the.z.cuber@gmail.com>"
"The Rust Project Developers"
];
buildDependencies = [
{
name = "version_check";
packageId = "version_check 0.9.2";
}
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "std" ];
};
"stdweb" = rec {
crateName = "stdweb";
version = "0.4.20";
edition = "2015";
sha256 = "1md14n9rzxzdskz3hpgln8vxfwqsw2cswc0f5nslh4r82rmlj8nh";
authors = [
"Jan Bujak <j@exia.io>"
];
dependencies = [
{
name = "discard";
packageId = "discard";
}
{
name = "stdweb-derive";
packageId = "stdweb-derive";
}
{
name = "stdweb-internal-macros";
packageId = "stdweb-internal-macros";
}
{
name = "stdweb-internal-runtime";
packageId = "stdweb-internal-runtime";
}
{
name = "wasm-bindgen";
packageId = "wasm-bindgen";
target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (!target."cargo_web"));
}
];
buildDependencies = [
{
name = "rustc_version";
packageId = "rustc_version";
}
];
features = {
"default" = [ "serde" "serde_json" ];
"experimental_features_which_may_break_on_minor_version_bumps" = [ "futures-support" ];
"futures-support" = [ "futures-core-preview" "futures-channel-preview" "futures-util-preview" "futures-executor-preview" ];
};
};
"stdweb-derive" = rec {
crateName = "stdweb-derive";
version = "0.5.3";
edition = "2015";
sha256 = "1vsh7g0gaxn4kxqq3knhymdn02p2pfxmnd2j0vplpj6c1yj60yn8";
procMacro = true;
authors = [
"Jan Bujak <j@exia.io>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "serde";
packageId = "serde";
}
{
name = "serde_derive";
packageId = "serde_derive";
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "derive" "parsing" "printing" ];
}
];
};
"stdweb-internal-macros" = rec {
crateName = "stdweb-internal-macros";
version = "0.2.9";
edition = "2015";
sha256 = "049fq8fl5ny9l5if2qv7kxwng7g6ns95h4fbm3zx360dmpv5zyjq";
procMacro = true;
authors = [
"Jan Bujak <j@exia.io>"
];
dependencies = [
{
name = "base-x";
packageId = "base-x";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "serde";
packageId = "serde";
}
{
name = "serde_derive";
packageId = "serde_derive";
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "sha1";
packageId = "sha1";
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "full" "parsing" "printing" "clone-impls" ];
}
];
};
"stdweb-internal-runtime" = rec {
crateName = "stdweb-internal-runtime";
version = "0.1.5";
edition = "2015";
sha256 = "1h0nkppb4r8dbrbms2hw9n5xdcs392m0r5hj3b6lsx3h6fx02dr1";
authors = [
"Jan Bujak <j@exia.io>"
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"strsim" = rec {
crateName = "strsim";
version = "0.8.0";
edition = "2015";
sha256 = "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf";
authors = [
"Danny Guo <dannyguo91@gmail.com>"
];
};
"structopt" = rec {
crateName = "structopt";
version = "0.3.3";
edition = "2018";
sha256 = "1z5gs099nq5vrhp38mwh2fq4j1yycrrnk5brczjaxxyxq2j6ckvd";
authors = [
"Guillaume Pinot <texitoi@texitoi.eu>"
"others"
];
dependencies = [
{
name = "clap";
packageId = "clap";
usesDefaultFeatures = false;
}
{
name = "structopt-derive";
packageId = "structopt-derive";
}
];
features = {
"color" = [ "clap/color" ];
"debug" = [ "clap/debug" ];
"default" = [ "clap/default" ];
"doc" = [ "clap/doc" ];
"lints" = [ "clap/lints" ];
"no_cargo" = [ "clap/no_cargo" ];
"paw" = [ "structopt-derive/paw" ];
"suggestions" = [ "clap/suggestions" ];
"wrap_help" = [ "clap/wrap_help" ];
"yaml" = [ "clap/yaml" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"structopt-derive" = rec {
crateName = "structopt-derive";
version = "0.3.3";
edition = "2018";
sha256 = "1bmcccbbqw94hrrirhwpd30vvmxn30wcwjjwgzzj2kkb8wzc3q4g";
procMacro = true;
authors = [
"Guillaume Pinot <texitoi@texitoi.eu>"
];
dependencies = [
{
name = "heck";
packageId = "heck";
}
{
name = "proc-macro-error";
packageId = "proc-macro-error";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "full" ];
}
];
features = {
};
};
"syn" = rec {
crateName = "syn";
version = "1.0.48";
edition = "2018";
sha256 = "1b0rdf7rvgc8am2n36yi8wys7kpdg8ly9891l917yizwxzzildyc";
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-xid";
packageId = "unicode-xid";
}
];
features = {
"default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
"printing" = [ "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" "quote" "visit" ];
};
"synstructure" = rec {
crateName = "synstructure";
version = "0.12.1";
edition = "2018";
sha256 = "00x28sjln2w7vfmnh5m98d7wzbm49q2cz20jr90h834kamc5l21z";
authors = [
"Nika Layzell <nika@thelayzells.com>"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "visit" "extra-traits" ];
}
{
name = "unicode-xid";
packageId = "unicode-xid";
}
];
};
"tar" = rec {
crateName = "tar";
version = "0.4.26";
edition = "2018";
sha256 = "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "filetime";
packageId = "filetime";
}
{
name = "libc";
packageId = "libc";
target = { target, features }: target."unix";
}
{
name = "redox_syscall";
packageId = "redox_syscall";
target = { target, features }: (target."os" == "redox");
}
{
name = "xattr";
packageId = "xattr";
optional = true;
target = { target, features }: target."unix";
}
];
features = {
"default" = [ "xattr" ];
};
resolvedDefaultFeatures = [ "default" "xattr" ];
};
"tera" = rec {
crateName = "tera";
version = "1.0.0-beta.18";
edition = "2018";
sha256 = "08afyjvkjvhmprz579q47pzhmnsr5kcypv2vm00sns5z7h19x8ay";
authors = [
"Vincent Prouillet <prouillet.vincent@gmail.com>"
];
dependencies = [
{
name = "chrono";
packageId = "chrono";
optional = true;
}
{
name = "chrono-tz";
packageId = "chrono-tz";
optional = true;
}
{
name = "globwalk";
packageId = "globwalk";
}
{
name = "humansize";
packageId = "humansize";
optional = true;
}
{
name = "lazy_static";
packageId = "lazy_static";
}
{
name = "percent-encoding";
packageId = "percent-encoding";
optional = true;
}
{
name = "pest";
packageId = "pest";
}
{
name = "pest_derive";
packageId = "pest_derive";
}
{
name = "regex";
packageId = "regex";
}
{
name = "serde";
packageId = "serde";
}
{
name = "serde_json";
packageId = "serde_json";
}
{
name = "slug";
packageId = "slug";
optional = true;
}
{
name = "unic-segment";
packageId = "unic-segment";
optional = true;
}
];
features = {
"builtins" = [ "slug" "percent-encoding" "humansize" "chrono" "chrono-tz" "unic-segment" ];
"default" = [ "builtins" ];
"preserve_order" = [ "serde_json/preserve_order" ];
};
resolvedDefaultFeatures = [ "builtins" "chrono" "chrono-tz" "default" "humansize" "percent-encoding" "slug" "unic-segment" ];
};
"termcolor" = rec {
crateName = "termcolor";
version = "1.0.5";
edition = "2015";
sha256 = "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "wincolor";
packageId = "wincolor";
target = { target, features }: target."windows";
}
];
};
"textwrap" = rec {
crateName = "textwrap";
version = "0.11.0";
edition = "2015";
sha256 = "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk";
authors = [
"Martin Geisler <martin@geisler.net>"
];
dependencies = [
{
name = "unicode-width";
packageId = "unicode-width";
}
];
};
"thread_local" = rec {
crateName = "thread_local";
version = "0.3.6";
edition = "2015";
sha256 = "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6";
authors = [
"Amanieu d'Antras <amanieu@gmail.com>"
];
dependencies = [
{
name = "lazy_static";
packageId = "lazy_static";
}
];
};
"time 0.1.42" = rec {
crateName = "time";
version = "0.1.42";
edition = "2015";
sha256 = "0vsbvsz0ryxb35dy9j4anxvy8zlaplmjmi0a4z4l64bc135cz3fv";
authors = [
"The Rust Project Developers"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
{
name = "redox_syscall";
packageId = "redox_syscall";
target = { target, features }: (target."os" == "redox");
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "std" "minwinbase" "minwindef" "ntdef" "profileapi" "sysinfoapi" "timezoneapi" ];
}
];
devDependencies = [
{
name = "winapi";
packageId = "winapi";
features = [ "std" "processthreadsapi" "winbase" ];
}
];
};
"time 0.2.22" = rec {
crateName = "time";
version = "0.2.22";
edition = "2018";
sha256 = "1bwk3as3d8a9qypwqw6i87dn0bs3s6jxk1gjzcbhks35j0f1bdsm";
authors = [
"Jacob Pratt <the.z.cuber@gmail.com>"
];
dependencies = [
{
name = "const_fn";
packageId = "const_fn";
}
{
name = "libc";
packageId = "libc";
optional = true;
target = { target, features }: target."unix";
}
{
name = "standback";
packageId = "standback";
usesDefaultFeatures = false;
}
{
name = "stdweb";
packageId = "stdweb";
optional = true;
usesDefaultFeatures = false;
target = { target, features }: (target."arch" == "wasm32");
}
{
name = "time-macros";
packageId = "time-macros";
}
{
name = "winapi";
packageId = "winapi";
optional = true;
target = { target, features }: target."windows";
features = [ "minwinbase" "minwindef" "timezoneapi" ];
}
];
buildDependencies = [
{
name = "version_check";
packageId = "version_check 0.9.2";
}
];
devDependencies = [
{
name = "standback";
packageId = "standback";
}
];
features = {
"default" = [ "deprecated" "std" ];
"std" = [ "libc" "winapi" "stdweb" "standback/std" ];
};
resolvedDefaultFeatures = [ "default" "deprecated" "libc" "std" "stdweb" "winapi" ];
};
"time-macros" = rec {
crateName = "time-macros";
version = "0.1.1";
edition = "2018";
sha256 = "1wg24yxpxcfmim6dgblrf8p321m7cyxpdivzvp8bcb7i4rp9qzlm";
authors = [
"Jacob Pratt <the.z.cuber@gmail.com>"
];
dependencies = [
{
name = "proc-macro-hack";
packageId = "proc-macro-hack";
}
{
name = "time-macros-impl";
packageId = "time-macros-impl";
}
];
};
"time-macros-impl" = rec {
crateName = "time-macros-impl";
version = "0.1.1";
edition = "2018";
sha256 = "1ymqhvnvry3giiw45xvarlgagl8hnd6cz4alkz32fq5dvwgbxhz5";
procMacro = true;
authors = [
"Jacob Pratt <the.z.cuber@gmail.com>"
];
dependencies = [
{
name = "proc-macro-hack";
packageId = "proc-macro-hack";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "standback";
packageId = "standback";
usesDefaultFeatures = false;
}
{
name = "syn";
packageId = "syn";
usesDefaultFeatures = false;
features = [ "proc-macro" "parsing" "printing" "derive" ];
}
];
};
"toml" = rec {
crateName = "toml";
version = "0.5.3";
edition = "2018";
sha256 = "093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
];
dependencies = [
{
name = "serde";
packageId = "serde";
}
];
features = {
"preserve_order" = [ "linked-hash-map" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"typenum" = rec {
crateName = "typenum";
version = "1.11.2";
edition = "2015";
sha256 = "1ybmfpp7j37zmaw50w35wiwx66lbpr0yp1312c0i333b5pz869vd";
build = "build/main.rs";
authors = [
"Paho Lurie-Gregg <paho@paholg.com>"
"Andre Bogus <bogusandre@gmail.com>"
];
features = {
};
};
"ucd-trie" = rec {
crateName = "ucd-trie";
version = "0.1.2";
edition = "2015";
sha256 = "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"unic-char-property" = rec {
crateName = "unic-char-property";
version = "0.9.0";
edition = "2018";
sha256 = "08g21dn3wwix3ycfl0vrbahn0835nv2q3swm8wms0vwvgm07mid8";
authors = [
"The UNIC Project Developers"
];
dependencies = [
{
name = "unic-char-range";
packageId = "unic-char-range";
}
];
};
"unic-char-range" = rec {
crateName = "unic-char-range";
version = "0.9.0";
edition = "2018";
sha256 = "1g0z7iwvjhqspi6194zsff8vy6i3921hpqcrp3v1813hbwnh5603";
authors = [
"The UNIC Project Developers"
];
features = {
"unstable" = [ "exact-size-is-empty" "fused" "trusted-len" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"unic-common" = rec {
crateName = "unic-common";
version = "0.9.0";
edition = "2018";
sha256 = "1g1mm954m0zr497dl4kx3vr09yaly290zs33bbl4wrbaba1gzmw0";
authors = [
"The UNIC Project Developers"
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"unic-segment" = rec {
crateName = "unic-segment";
version = "0.9.0";
edition = "2018";
sha256 = "08wgz2q6vrdvmbd23kf9pbg8cyzm5q8hq9spc4blzy2ppqk5vvg4";
authors = [
"The UNIC Project Developers"
];
dependencies = [
{
name = "unic-ucd-segment";
packageId = "unic-ucd-segment";
}
];
};
"unic-ucd-segment" = rec {
crateName = "unic-ucd-segment";
version = "0.9.0";
edition = "2018";
sha256 = "0027lczcg0r401g6fnzm2bq9fxhgxvri1nlryhhv8192lqic2y90";
authors = [
"The UNIC Project Developers"
];
dependencies = [
{
name = "unic-char-property";
packageId = "unic-char-property";
}
{
name = "unic-char-range";
packageId = "unic-char-range";
}
{
name = "unic-ucd-version";
packageId = "unic-ucd-version";
}
];
};
"unic-ucd-version" = rec {
crateName = "unic-ucd-version";
version = "0.9.0";
edition = "2018";
sha256 = "1i5hnzpfnxkp4ijfk8kvhpvj84bij575ybqx1b6hyigy6wi2zgcn";
authors = [
"The UNIC Project Developers"
];
dependencies = [
{
name = "unic-common";
packageId = "unic-common";
}
];
};
"unicode-bidi" = rec {
crateName = "unicode-bidi";
version = "0.3.4";
edition = "2015";
sha256 = "1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9";
libName = "unicode_bidi";
authors = [
"The Servo Project Developers"
];
dependencies = [
{
name = "matches";
packageId = "matches";
}
];
features = {
"flame_it" = [ "flame" "flamer" ];
"with_serde" = [ "serde" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"unicode-normalization" = rec {
crateName = "unicode-normalization";
version = "0.1.8";
edition = "2015";
sha256 = "09i49va90rvia1agvgni4gicnqv50y5zy1naw8mr8bcqifh3j4ql";
authors = [
"kwantam <kwantam@gmail.com>"
];
dependencies = [
{
name = "smallvec";
packageId = "smallvec";
}
];
};
"unicode-segmentation" = rec {
crateName = "unicode-segmentation";
version = "1.3.0";
edition = "2015";
sha256 = "1a9jqg7rb1yq6w2xc9jgxcs111yk5vxm9afjfvykfnrmzk6z8rqr";
authors = [
"kwantam <kwantam@gmail.com>"
];
features = {
};
};
"unicode-width" = rec {
crateName = "unicode-width";
version = "0.1.6";
edition = "2015";
sha256 = "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh";
authors = [
"kwantam <kwantam@gmail.com>"
];
features = {
"rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ];
};
resolvedDefaultFeatures = [ "default" ];
};
"unicode-xid" = rec {
crateName = "unicode-xid";
version = "0.2.0";
edition = "2015";
sha256 = "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2";
authors = [
"erick.tryzelaar <erick.tryzelaar@gmail.com>"
"kwantam <kwantam@gmail.com>"
];
features = {
};
resolvedDefaultFeatures = [ "default" ];
};
"untrusted" = rec {
crateName = "untrusted";
version = "0.7.1";
edition = "2018";
sha256 = "0jkbqaj9d3v5a91pp3wp9mffvng1nhycx6sh4qkdd9qyr62ccmm1";
libPath = "src/untrusted.rs";
authors = [
"Brian Smith <brian@briansmith.org>"
];
};
"ureq" = rec {
crateName = "ureq";
version = "1.5.1";
edition = "2018";
sha256 = "1xy8kz6nrzgh3hpqgcww0kan98f3j5qamzra0a8riy1z9qpf68gd";
authors = [
"Martin Algesten <martin@algesten.se>"
];
dependencies = [
{
name = "base64";
packageId = "base64 0.13.0";
}
{
name = "chunked_transfer";
packageId = "chunked_transfer";
}
{
name = "cookie";
packageId = "cookie";
optional = true;
features = [ "percent-encode" ];
}
{
name = "cookie_store";
packageId = "cookie_store";
optional = true;
}
{
name = "log";
packageId = "log";
}
{
name = "once_cell";
packageId = "once_cell";
}
{
name = "qstring";
packageId = "qstring";
}
{
name = "rustls";
packageId = "rustls";
optional = true;
}
{
name = "url";
packageId = "url";
}
{
name = "webpki";
packageId = "webpki";
optional = true;
}
{
name = "webpki-roots";
packageId = "webpki-roots";
optional = true;
}
];
features = {
"charset" = [ "encoding" ];
"cookies" = [ "cookie" "cookie_store" ];
"default" = [ "tls" "cookies" ];
"json" = [ "serde" "serde_json" ];
"native-certs" = [ "rustls-native-certs" ];
"socks-proxy" = [ "socks" ];
"tls" = [ "rustls" "webpki" "webpki-roots" ];
};
resolvedDefaultFeatures = [ "cookie" "cookie_store" "cookies" "default" "rustls" "tls" "webpki" "webpki-roots" ];
};
"url" = rec {
crateName = "url";
version = "2.2.0";
edition = "2018";
sha256 = "0vlpd0c7y9yv4x5vmb6qlnkxkj63r20wv2rysyg48l3kh6qg42ar";
authors = [
"The rust-url developers"
];
dependencies = [
{
name = "form_urlencoded";
packageId = "form_urlencoded";
}
{
name = "idna";
packageId = "idna";
}
{
name = "matches";
packageId = "matches";
}
{
name = "percent-encoding";
packageId = "percent-encoding";
}
];
};
"utf8parse" = rec {
crateName = "utf8parse";
version = "0.1.1";
edition = "2015";
sha256 = "0zamsj2986shm4x9zncjf2m5qy9scaw7qnxw4f89b2afpg6a8wl7";
authors = [
"Joe Wilm <joe@jwilm.com>"
];
};
"vcpkg" = rec {
crateName = "vcpkg";
version = "0.2.7";
edition = "2015";
sha256 = "15dzk1b96q946v9aisbd1bbhi33n93wvgziwh1shmscn1xflbp9k";
authors = [
"Jim McGrath <jimmc2@gmail.com>"
];
};
"vec_map" = rec {
crateName = "vec_map";
version = "0.8.1";
edition = "2015";
sha256 = "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5";
authors = [
"Alex Crichton <alex@alexcrichton.com>"
"Jorge Aparicio <japaricious@gmail.com>"
"Alexis Beingessner <a.beingessner@gmail.com>"
"Brian Anderson <>"
"tbu- <>"
"Manish Goregaokar <>"
"Aaron Turon <aturon@mozilla.com>"
"Adolfo OchagavÃa <>"
"Niko Matsakis <>"
"Steven Fackler <>"
"Chase Southwood <csouth3@illinois.edu>"
"Eduard Burtescu <>"
"Florian Wilkens <>"
"Félix Raimundo <>"
"Tibor Benke <>"
"Markus Siemens <markus@m-siemens.de>"
"Josh Branchaud <jbranchaud@gmail.com>"
"Huon Wilson <dbau.pp@gmail.com>"
"Corey Farwell <coref@rwell.org>"
"Aaron Liblong <>"
"Nick Cameron <nrc@ncameron.org>"
"Patrick Walton <pcwalton@mimiga.net>"
"Felix S Klock II <>"
"Andrew Paseltiner <apaseltiner@gmail.com>"
"Sean McArthur <sean.monstar@gmail.com>"
"Vadim Petrochenkov <>"
];
features = {
"eders" = [ "serde" ];
};
};
"version_check 0.1.5" = rec {
crateName = "version_check";
version = "0.1.5";
edition = "2015";
sha256 = "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi";
authors = [
"Sergio Benitez <sb@sergio.bz>"
];
};
"version_check 0.9.2" = rec {
crateName = "version_check";
version = "0.9.2";
edition = "2015";
sha256 = "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm";
authors = [
"Sergio Benitez <sb@sergio.bz>"
];
};
"void" = rec {
crateName = "void";
version = "1.0.2";
edition = "2015";
sha256 = "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka";
authors = [
"Jonathan Reem <jonathan.reem@gmail.com>"
];
features = {
"default" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"walkdir" = rec {
crateName = "walkdir";
version = "2.2.9";
edition = "2015";
sha256 = "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "same-file";
packageId = "same-file";
}
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "std" "winnt" ];
}
{
name = "winapi-util";
packageId = "winapi-util";
target = { target, features }: target."windows";
}
];
};
"wasi" = rec {
crateName = "wasi";
version = "0.7.0";
edition = "2018";
sha256 = "03apg3sa4hjn6xwa4pkyvzjiscya51wyrygadgxwdg8lrvj3r75q";
authors = [
"The Cranelift Project Developers"
];
features = {
"default" = [ "alloc" ];
"rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
};
resolvedDefaultFeatures = [ "alloc" "default" ];
};
"wasm-bindgen" = rec {
crateName = "wasm-bindgen";
version = "0.2.68";
edition = "2018";
sha256 = "0hjx4sbkl2kphjds8l7wmll8sayacmc58ay1sxrmiw55bsnlxihs";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "wasm-bindgen-macro";
packageId = "wasm-bindgen-macro";
}
];
features = {
"default" = [ "spans" "std" ];
"enable-interning" = [ "std" ];
"serde-serialize" = [ "serde" "serde_json" "std" ];
"spans" = [ "wasm-bindgen-macro/spans" ];
"strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
"xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
};
resolvedDefaultFeatures = [ "default" "spans" "std" ];
};
"wasm-bindgen-backend" = rec {
crateName = "wasm-bindgen-backend";
version = "0.2.68";
edition = "2018";
sha256 = "0s2gkqd68iwf9qi09dkcrq9gdgqjw7w0m1kl6ykkaz3m58p44azj";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "bumpalo";
packageId = "bumpalo";
}
{
name = "lazy_static";
packageId = "lazy_static";
}
{
name = "log";
packageId = "log";
}
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "full" ];
}
{
name = "wasm-bindgen-shared";
packageId = "wasm-bindgen-shared";
}
];
features = {
"extra-traits" = [ "syn/extra-traits" ];
};
resolvedDefaultFeatures = [ "spans" ];
};
"wasm-bindgen-macro" = rec {
crateName = "wasm-bindgen-macro";
version = "0.2.68";
edition = "2018";
sha256 = "0f3h817bcsgglqymj3qnyyjxn4b4rlpxv4mjy1lw822wfhm324vb";
procMacro = true;
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "quote";
packageId = "quote";
}
{
name = "wasm-bindgen-macro-support";
packageId = "wasm-bindgen-macro-support";
}
];
features = {
"spans" = [ "wasm-bindgen-macro-support/spans" ];
"strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
};
resolvedDefaultFeatures = [ "spans" ];
};
"wasm-bindgen-macro-support" = rec {
crateName = "wasm-bindgen-macro-support";
version = "0.2.68";
edition = "2018";
sha256 = "1zlq2hxixp4nhd4sfvfq6h7x16gc27y1n0zzp31lqczfyxpg0jgj";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "proc-macro2";
packageId = "proc-macro2";
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn";
features = [ "visit" "full" ];
}
{
name = "wasm-bindgen-backend";
packageId = "wasm-bindgen-backend";
}
{
name = "wasm-bindgen-shared";
packageId = "wasm-bindgen-shared";
}
];
features = {
"extra-traits" = [ "syn/extra-traits" ];
"spans" = [ "wasm-bindgen-backend/spans" ];
};
resolvedDefaultFeatures = [ "spans" ];
};
"wasm-bindgen-shared" = rec {
crateName = "wasm-bindgen-shared";
version = "0.2.68";
edition = "2018";
sha256 = "01w3w2dxi2i16l8r5j9331wkdmhvim36m2fyphzpv38h8lqrlr0x";
authors = [
"The wasm-bindgen Developers"
];
};
"web-sys" = rec {
crateName = "web-sys";
version = "0.3.45";
edition = "2018";
sha256 = "0b8ynm523n6gi18n08daghmh29pdddlwwmd32n701s3smn3yzxjb";
authors = [
"The wasm-bindgen Developers"
];
dependencies = [
{
name = "js-sys";
packageId = "js-sys";
}
{
name = "wasm-bindgen";
packageId = "wasm-bindgen";
}
];
features = {
"AbortSignal" = [ "EventTarget" ];
"AnalyserNode" = [ "AudioNode" "EventTarget" ];
"Animation" = [ "EventTarget" ];
"AnimationEvent" = [ "Event" ];
"AnimationPlaybackEvent" = [ "Event" ];
"Attr" = [ "EventTarget" "Node" ];
"AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
"AudioContext" = [ "BaseAudioContext" "EventTarget" ];
"AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
"AudioNode" = [ "EventTarget" ];
"AudioProcessingEvent" = [ "Event" ];
"AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
"AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
"AudioTrackList" = [ "EventTarget" ];
"AudioWorklet" = [ "Worklet" ];
"AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
"AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
"AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
"AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
"BaseAudioContext" = [ "EventTarget" ];
"BatteryManager" = [ "EventTarget" ];
"BeforeUnloadEvent" = [ "Event" ];
"BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
"BlobEvent" = [ "Event" ];
"BroadcastChannel" = [ "EventTarget" ];
"CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
"CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
"ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
"ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
"CharacterData" = [ "EventTarget" "Node" ];
"ChromeWorker" = [ "EventTarget" "Worker" ];
"Clipboard" = [ "EventTarget" ];
"ClipboardEvent" = [ "Event" ];
"CloseEvent" = [ "Event" ];
"Comment" = [ "CharacterData" "EventTarget" "Node" ];
"CompositionEvent" = [ "Event" "UiEvent" ];
"ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
"ConvolverNode" = [ "AudioNode" "EventTarget" ];
"CssAnimation" = [ "Animation" "EventTarget" ];
"CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
"CssCounterStyleRule" = [ "CssRule" ];
"CssFontFaceRule" = [ "CssRule" ];
"CssFontFeatureValuesRule" = [ "CssRule" ];
"CssGroupingRule" = [ "CssRule" ];
"CssImportRule" = [ "CssRule" ];
"CssKeyframeRule" = [ "CssRule" ];
"CssKeyframesRule" = [ "CssRule" ];
"CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
"CssNamespaceRule" = [ "CssRule" ];
"CssPageRule" = [ "CssRule" ];
"CssStyleRule" = [ "CssRule" ];
"CssStyleSheet" = [ "StyleSheet" ];
"CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
"CssTransition" = [ "Animation" "EventTarget" ];
"CustomEvent" = [ "Event" ];
"DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
"DelayNode" = [ "AudioNode" "EventTarget" ];
"DeviceLightEvent" = [ "Event" ];
"DeviceMotionEvent" = [ "Event" ];
"DeviceOrientationEvent" = [ "Event" ];
"DeviceProximityEvent" = [ "Event" ];
"Document" = [ "EventTarget" "Node" ];
"DocumentFragment" = [ "EventTarget" "Node" ];
"DocumentTimeline" = [ "AnimationTimeline" ];
"DocumentType" = [ "EventTarget" "Node" ];
"DomMatrix" = [ "DomMatrixReadOnly" ];
"DomPoint" = [ "DomPointReadOnly" ];
"DomRect" = [ "DomRectReadOnly" ];
"DomRequest" = [ "EventTarget" ];
"DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
"DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
"Element" = [ "EventTarget" "Node" ];
"ErrorEvent" = [ "Event" ];
"EventSource" = [ "EventTarget" ];
"ExtendableEvent" = [ "Event" ];
"ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
"FetchEvent" = [ "Event" "ExtendableEvent" ];
"FetchObserver" = [ "EventTarget" ];
"File" = [ "Blob" ];
"FileReader" = [ "EventTarget" ];
"FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
"FileSystemFileEntry" = [ "FileSystemEntry" ];
"FocusEvent" = [ "Event" "UiEvent" ];
"FontFaceSet" = [ "EventTarget" ];
"FontFaceSetLoadEvent" = [ "Event" ];
"GainNode" = [ "AudioNode" "EventTarget" ];
"GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
"GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
"GamepadEvent" = [ "Event" ];
"GpuDevice" = [ "EventTarget" ];
"GpuUncapturedErrorEvent" = [ "Event" ];
"HashChangeEvent" = [ "Event" ];
"HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
"HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlDocument" = [ "Document" "EventTarget" "Node" ];
"HtmlElement" = [ "Element" "EventTarget" "Node" ];
"HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlFormControlsCollection" = [ "HtmlCollection" ];
"HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlOptionsCollection" = [ "HtmlCollection" ];
"HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
"HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
"IdbCursorWithValue" = [ "IdbCursor" ];
"IdbDatabase" = [ "EventTarget" ];
"IdbFileHandle" = [ "EventTarget" ];
"IdbFileRequest" = [ "DomRequest" "EventTarget" ];
"IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
"IdbMutableFile" = [ "EventTarget" ];
"IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
"IdbRequest" = [ "EventTarget" ];
"IdbTransaction" = [ "EventTarget" ];
"IdbVersionChangeEvent" = [ "Event" ];
"IirFilterNode" = [ "AudioNode" "EventTarget" ];
"ImageCapture" = [ "EventTarget" ];
"ImageCaptureErrorEvent" = [ "Event" ];
"InputEvent" = [ "Event" "UiEvent" ];
"KeyboardEvent" = [ "Event" "UiEvent" ];
"KeyframeEffect" = [ "AnimationEffect" ];
"LocalMediaStream" = [ "EventTarget" "MediaStream" ];
"MediaDevices" = [ "EventTarget" ];
"MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
"MediaEncryptedEvent" = [ "Event" ];
"MediaKeyError" = [ "Event" ];
"MediaKeyMessageEvent" = [ "Event" ];
"MediaKeySession" = [ "EventTarget" ];
"MediaQueryList" = [ "EventTarget" ];
"MediaQueryListEvent" = [ "Event" ];
"MediaRecorder" = [ "EventTarget" ];
"MediaRecorderErrorEvent" = [ "Event" ];
"MediaSource" = [ "EventTarget" ];
"MediaStream" = [ "EventTarget" ];
"MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
"MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
"MediaStreamEvent" = [ "Event" ];
"MediaStreamTrack" = [ "EventTarget" ];
"MediaStreamTrackEvent" = [ "Event" ];
"MessageEvent" = [ "Event" ];
"MessagePort" = [ "EventTarget" ];
"MidiAccess" = [ "EventTarget" ];
"MidiConnectionEvent" = [ "Event" ];
"MidiInput" = [ "EventTarget" "MidiPort" ];
"MidiMessageEvent" = [ "Event" ];
"MidiOutput" = [ "EventTarget" "MidiPort" ];
"MidiPort" = [ "EventTarget" ];
"MouseEvent" = [ "Event" "UiEvent" ];
"MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
"MutationEvent" = [ "Event" ];
"NetworkInformation" = [ "EventTarget" ];
"Node" = [ "EventTarget" ];
"Notification" = [ "EventTarget" ];
"NotificationEvent" = [ "Event" "ExtendableEvent" ];
"OfflineAudioCompletionEvent" = [ "Event" ];
"OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
"OfflineResourceList" = [ "EventTarget" ];
"OffscreenCanvas" = [ "EventTarget" ];
"OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
"PageTransitionEvent" = [ "Event" ];
"PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
"PannerNode" = [ "AudioNode" "EventTarget" ];
"PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
"PaymentRequestUpdateEvent" = [ "Event" ];
"Performance" = [ "EventTarget" ];
"PerformanceMark" = [ "PerformanceEntry" ];
"PerformanceMeasure" = [ "PerformanceEntry" ];
"PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
"PerformanceResourceTiming" = [ "PerformanceEntry" ];
"PermissionStatus" = [ "EventTarget" ];
"PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
"PopStateEvent" = [ "Event" ];
"PopupBlockedEvent" = [ "Event" ];
"PresentationAvailability" = [ "EventTarget" ];
"PresentationConnection" = [ "EventTarget" ];
"PresentationConnectionAvailableEvent" = [ "Event" ];
"PresentationConnectionCloseEvent" = [ "Event" ];
"PresentationConnectionList" = [ "EventTarget" ];
"PresentationRequest" = [ "EventTarget" ];
"ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
"ProgressEvent" = [ "Event" ];
"PromiseRejectionEvent" = [ "Event" ];
"PublicKeyCredential" = [ "Credential" ];
"PushEvent" = [ "Event" "ExtendableEvent" ];
"RadioNodeList" = [ "NodeList" ];
"RtcDataChannel" = [ "EventTarget" ];
"RtcDataChannelEvent" = [ "Event" ];
"RtcPeerConnection" = [ "EventTarget" ];
"RtcPeerConnectionIceEvent" = [ "Event" ];
"RtcTrackEvent" = [ "Event" ];
"RtcdtmfSender" = [ "EventTarget" ];
"RtcdtmfToneChangeEvent" = [ "Event" ];
"Screen" = [ "EventTarget" ];
"ScreenOrientation" = [ "EventTarget" ];
"ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
"ScrollAreaEvent" = [ "Event" "UiEvent" ];
"SecurityPolicyViolationEvent" = [ "Event" ];
"ServiceWorker" = [ "EventTarget" ];
"ServiceWorkerContainer" = [ "EventTarget" ];
"ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
"ServiceWorkerRegistration" = [ "EventTarget" ];
"ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
"SharedWorker" = [ "EventTarget" ];
"SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
"SourceBuffer" = [ "EventTarget" ];
"SourceBufferList" = [ "EventTarget" ];
"SpeechRecognition" = [ "EventTarget" ];
"SpeechRecognitionError" = [ "Event" ];
"SpeechRecognitionEvent" = [ "Event" ];
"SpeechSynthesis" = [ "EventTarget" ];
"SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
"SpeechSynthesisEvent" = [ "Event" ];
"SpeechSynthesisUtterance" = [ "EventTarget" ];
"StereoPannerNode" = [ "AudioNode" "EventTarget" ];
"StorageEvent" = [ "Event" ];
"SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
"SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
"SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
"SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgElement" = [ "Element" "EventTarget" "Node" ];
"SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
"SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgPathSegArcAbs" = [ "SvgPathSeg" ];
"SvgPathSegArcRel" = [ "SvgPathSeg" ];
"SvgPathSegClosePath" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
"SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
"SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
"SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
"SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
"SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
"SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
"SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
"SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
"SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
"SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
"SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
"SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
"SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
"SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
"SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
"SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
"SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
"SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
"SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
"SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
"SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
"SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
"TcpServerSocket" = [ "EventTarget" ];
"TcpServerSocketEvent" = [ "Event" ];
"TcpSocket" = [ "EventTarget" ];
"TcpSocketErrorEvent" = [ "Event" ];
"TcpSocketEvent" = [ "Event" ];
"Text" = [ "CharacterData" "EventTarget" "Node" ];
"TextTrack" = [ "EventTarget" ];
"TextTrackCue" = [ "EventTarget" ];
"TextTrackList" = [ "EventTarget" ];
"TimeEvent" = [ "Event" ];
"TouchEvent" = [ "Event" "UiEvent" ];
"TrackEvent" = [ "Event" ];
"TransitionEvent" = [ "Event" ];
"UiEvent" = [ "Event" ];
"UserProximityEvent" = [ "Event" ];
"VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
"VideoTrackList" = [ "EventTarget" ];
"VrDisplay" = [ "EventTarget" ];
"VttCue" = [ "EventTarget" "TextTrackCue" ];
"WaveShaperNode" = [ "AudioNode" "EventTarget" ];
"WebGlContextEvent" = [ "Event" ];
"WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
"WebSocket" = [ "EventTarget" ];
"WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
"Window" = [ "EventTarget" ];
"WindowClient" = [ "Client" ];
"Worker" = [ "EventTarget" ];
"WorkerDebuggerGlobalScope" = [ "EventTarget" ];
"WorkerGlobalScope" = [ "EventTarget" ];
"XmlDocument" = [ "Document" "EventTarget" "Node" ];
"XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
"XmlHttpRequestEventTarget" = [ "EventTarget" ];
"XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
"Xr" = [ "EventTarget" ];
"XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
"XrInputSourceEvent" = [ "Event" ];
"XrInputSourcesChangeEvent" = [ "Event" ];
"XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
"XrReferenceSpaceEvent" = [ "Event" ];
"XrSession" = [ "EventTarget" ];
"XrSessionEvent" = [ "Event" ];
"XrSpace" = [ "EventTarget" ];
"XrViewerPose" = [ "XrPose" ];
};
resolvedDefaultFeatures = [ "Crypto" "EventTarget" "Window" ];
};
"webpki" = rec {
crateName = "webpki";
version = "0.21.3";
edition = "2018";
sha256 = "1bij23xq5yx637y0ji667qvp6r95bbjhksxfh9gx947pylq6255b";
libPath = "src/webpki.rs";
authors = [
"Brian Smith <brian@briansmith.org>"
];
dependencies = [
{
name = "ring";
packageId = "ring";
usesDefaultFeatures = false;
features = [ "alloc" ];
}
{
name = "untrusted";
packageId = "untrusted";
}
];
features = {
"default" = [ "std" "trust_anchor_util" ];
"trust_anchor_util" = [ "std" ];
};
resolvedDefaultFeatures = [ "default" "std" "trust_anchor_util" ];
};
"webpki-roots" = rec {
crateName = "webpki-roots";
version = "0.20.0";
edition = "2018";
crateBin = [];
sha256 = "17qpmyym1lsi967b4nc3112nb13ism8731bhjqd9hlajafkxw80g";
authors = [
"Joseph Birr-Pixton <jpixton@gmail.com>"
];
dependencies = [
{
name = "webpki";
packageId = "webpki";
}
];
};
"winapi" = rec {
crateName = "winapi";
version = "0.3.8";
edition = "2015";
sha256 = "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0";
authors = [
"Peter Atashian <retep998@gmail.com>"
];
dependencies = [
{
name = "winapi-i686-pc-windows-gnu";
packageId = "winapi-i686-pc-windows-gnu";
target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu");
}
{
name = "winapi-x86_64-pc-windows-gnu";
packageId = "winapi-x86_64-pc-windows-gnu";
target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu");
}
];
features = {
"debug" = [ "impl-debug" ];
};
resolvedDefaultFeatures = [ "consoleapi" "errhandlingapi" "fileapi" "handleapi" "knownfolders" "minwinbase" "minwindef" "ntdef" "ntsecapi" "objbase" "processenv" "profileapi" "shlobj" "std" "sysinfoapi" "timezoneapi" "winbase" "wincon" "winerror" "winnt" "winuser" "wtypesbase" ];
};
"winapi-i686-pc-windows-gnu" = rec {
crateName = "winapi-i686-pc-windows-gnu";
version = "0.4.0";
edition = "2015";
sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
authors = [
"Peter Atashian <retep998@gmail.com>"
];
};
"winapi-util" = rec {
crateName = "winapi-util";
version = "0.1.2";
edition = "2015";
sha256 = "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "winapi";
packageId = "winapi";
target = { target, features }: target."windows";
features = [ "std" "consoleapi" "errhandlingapi" "fileapi" "minwindef" "processenv" "winbase" "wincon" "winerror" "winnt" ];
}
];
};
"winapi-x86_64-pc-windows-gnu" = rec {
crateName = "winapi-x86_64-pc-windows-gnu";
version = "0.4.0";
edition = "2015";
sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
authors = [
"Peter Atashian <retep998@gmail.com>"
];
};
"wincolor" = rec {
crateName = "wincolor";
version = "1.0.2";
edition = "2015";
sha256 = "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn";
authors = [
"Andrew Gallant <jamslam@gmail.com>"
];
dependencies = [
{
name = "winapi";
packageId = "winapi";
features = [ "minwindef" "wincon" ];
}
{
name = "winapi-util";
packageId = "winapi-util";
}
];
};
"xattr" = rec {
crateName = "xattr";
version = "0.2.2";
edition = "2015";
sha256 = "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14";
authors = [
"Steven Allen <steven@stebalien.com>"
];
dependencies = [
{
name = "libc";
packageId = "libc";
}
];
features = {
"default" = [ "unsupported" ];
};
resolvedDefaultFeatures = [ "default" "unsupported" ];
};
};
#
# crate2nix/default.nix (excerpt start)
#
/* Target (platform) data for conditional dependencies.
This corresponds roughly to what buildRustCrate is setting.
*/
defaultTarget = {
unix = true;
windows = false;
fuchsia = true;
test = false;
# This doesn't appear to be officially documented anywhere yet.
# See https://github.com/rust-lang-nursery/rust-forge/issues/101.
os =
if stdenv.hostPlatform.isDarwin
then "macos"
else stdenv.hostPlatform.parsed.kernel.name;
arch = stdenv.hostPlatform.parsed.cpu.name;
family = "unix";
env = "gnu";
endian =
if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian"
then "little" else "big";
pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;
vendor = stdenv.hostPlatform.parsed.vendor.name;
debug_assertions = false;
};
/* Filters common temp files and build files. */
# TODO(pkolloch): Substitute with gitignore filter
sourceFilter = name: type:
let
baseName = builtins.baseNameOf (builtins.toString name);
in
! (
# Filter out git
baseName == ".gitignore"
|| (type == "directory" && baseName == ".git")
# Filter out build results
|| (
type == "directory" && (
baseName == "target"
|| baseName == "_site"
|| baseName == ".sass-cache"
|| baseName == ".jekyll-metadata"
|| baseName == "build-artifacts"
)
)
# Filter out nix-build result symlinks
|| (
type == "symlink" && lib.hasPrefix "result" baseName
)
# Filter out IDE config
|| (
type == "directory" && (
baseName == ".idea" || baseName == ".vscode"
)
) || lib.hasSuffix ".iml" baseName
# Filter out nix build files
|| baseName == "Cargo.nix"
# Filter out editor backup / swap files.
|| lib.hasSuffix "~" baseName
|| builtins.match "^\\.sw[a-z]$$" baseName != null
|| builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
|| lib.hasSuffix ".tmp" baseName
|| lib.hasSuffix ".bak" baseName
|| baseName == "tests.nix"
);
/* Returns a crate which depends on successful test execution
of crate given as the second argument.
testCrateFlags: list of flags to pass to the test exectuable
testInputs: list of packages that should be available during test execution
*/
crateWithTest = { crate, testCrate, testCrateFlags, testInputs }:
assert builtins.typeOf testCrateFlags == "list";
assert builtins.typeOf testInputs == "list";
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;
}
);
in
pkgs.runCommand "run-tests-${testCrate.name}" {
inherit testCrateFlags;
buildInputs = testInputs;
} ''
set -ex
export RUST_BACKTRACE=1
# recreate a file hierarchy as when running tests with cargo
# the source for test data
${pkgs.xorg.lndir}/bin/lndir ${crate.src}
# build outputs
testRoot=target/debug
mkdir -p $testRoot
# executables of the crate
# we copy to prevent std::env::current_exe() to resolve to a store location
for i in ${crate}/bin/*; do
cp "$i" "$testRoot"
done
chmod +w -R .
# test harness executables are suffixed with a hash, like cargo does
# this allows to prevent name collision with the main
# executables of the crate
hash=$(basename $out)
for file in ${drv}/tests/*; do
f=$testRoot/$(basename $file)-$hash
cp $file $f
$f $testCrateFlags 2>&1 | tee -a $out
done
'';
in
crate.overrideAttrs
(
old: {
checkPhase = ''
test -e ${test}
'';
passthru = (old.passthru or { }) // {
inherit test;
};
}
);
/* A restricted overridable version of builtRustCratesWithFeatures. */
buildRustCrateWithFeatures =
{ packageId
, features ? rootFeatures
, crateOverrides ? defaultCrateOverrides
, buildRustCrateFunc ? null
, runTests ? false
, testCrateFlags ? [ ]
, testInputs ? [ ]
}:
lib.makeOverridable
(
{ features
, crateOverrides
, runTests
, testCrateFlags
, testInputs
}:
let
buildRustCrateFuncOverriden =
if buildRustCrateFunc != null
then buildRustCrateFunc
else (
if crateOverrides == pkgs.defaultCrateOverrides
then buildRustCrate
else buildRustCrate.override {
defaultCrateOverrides = crateOverrides;
}
);
builtRustCrates = builtRustCratesWithFeatures {
inherit packageId features;
buildRustCrateFunc = buildRustCrateFuncOverriden;
runTests = false;
};
builtTestRustCrates = builtRustCratesWithFeatures {
inherit packageId features;
buildRustCrateFunc = buildRustCrateFuncOverriden;
runTests = true;
};
drv = builtRustCrates.${packageId};
testDrv = builtTestRustCrates.${packageId};
derivation =
if runTests then
crateWithTest {
crate = drv;
testCrate = testDrv;
inherit testCrateFlags testInputs;
}
else drv;
in
derivation
)
{ inherit features crateOverrides runTests testCrateFlags testInputs; };
/* Returns an attr set with packageId mapped to the result of buildRustCrateFunc
for the corresponding crate.
*/
builtRustCratesWithFeatures =
{ packageId
, features
, crateConfigs ? crates
, buildRustCrateFunc
, runTests
, target ? defaultTarget
} @ args:
assert (builtins.isAttrs crateConfigs);
assert (builtins.isString packageId);
assert (builtins.isList features);
assert (builtins.isAttrs target);
assert (builtins.isBool runTests);
let
rootPackageId = packageId;
mergedFeatures = mergePackageFeatures
(
args // {
inherit rootPackageId;
target = target // { test = runTests; };
}
);
buildByPackageId = packageId: buildByPackageIdImpl packageId;
# Memoize built packages so that reappearing packages are only built once.
builtByPackageId =
lib.mapAttrs (packageId: value: buildByPackageId packageId) crateConfigs;
buildByPackageIdImpl = 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 builtByPackageId features target;
dependencies =
(crateConfig.dependencies or [ ])
++ devDependencies;
};
buildDependencies =
dependencyDerivations {
inherit builtByPackageId features target;
dependencies = crateConfig.buildDependencies or [ ];
};
filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {
inherit dependencies features target;
};
dependenciesWithRenames =
lib.filter (d: d ? "rename")
(
filterEnabledDependenciesForThis
(
(crateConfig.buildDependencies or [ ])
++ (crateConfig.dependencies or [ ])
++ devDependencies
)
);
# Crate renames have the form:
#
# {
# crate_name = [
# { version = "1.2.3"; rename = "crate_name01"; }
# ];
# # ...
# }
crateRenames =
let
grouped =
lib.groupBy
(dependency: dependency.name)
dependenciesWithRenames;
versionAndRename = dep:
let
package = builtByPackageId."${dep.packageId}";
in
{ inherit (dep) rename; version = package.version; };
in
lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped;
in
buildRustCrateFunc
(
crateConfig // {
src = crateConfig.src or (
pkgs.fetchurl rec {
name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
# https://www.pietroalbini.org/blog/downloading-crates-io/
# Not rate-limited, CDN URL.
url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
sha256 =
assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
crateConfig.sha256;
}
);
inherit features dependencies buildDependencies crateRenames release;
}
);
in
builtByPackageId;
/* Returns the actual derivations for the given dependencies. */
dependencyDerivations =
{ builtByPackageId
, features
, dependencies
, target
}:
assert (builtins.isAttrs builtByPackageId);
assert (builtins.isList features);
assert (builtins.isList dependencies);
assert (builtins.isAttrs target);
let
enabledDependencies = filterEnabledDependencies {
inherit dependencies features target;
};
depDerivation = dependency: builtByPackageId.${dependency.packageId};
in
map depDerivation enabledDependencies;
/* Returns a sanitized version of val with all values substituted that cannot
be serialized as JSON.
*/
sanitizeForJson = val:
if builtins.isAttrs val
then lib.mapAttrs (n: v: sanitizeForJson v) val
else if builtins.isList val
then builtins.map sanitizeForJson val
else if builtins.isFunction val
then "function"
else val;
/* Returns various tools to debug a crate. */
debugCrate = { packageId, target ? defaultTarget }:
assert (builtins.isString packageId);
let
debug = rec {
# The built tree as passed to buildRustCrate.
buildTree = buildRustCrateWithFeatures {
buildRustCrateFunc = lib.id;
inherit packageId;
};
sanitizedBuildTree = sanitizeForJson buildTree;
dependencyTree = sanitizeForJson
(
buildRustCrateWithFeatures {
buildRustCrateFunc = 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;
depWithResolvedFeatures = dependency:
let
packageId = dependency.packageId;
features = dependencyFeatures expandedFeatures dependency;
in
{ inherit packageId features; };
resolveDependencies = cache: path: dependencies:
assert (builtins.isAttrs cache);
assert (builtins.isList dependencies);
let
enabledDependencies = filterEnabledDependencies {
inherit dependencies target;
features = expandedFeatures;
};
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 ++ expandedFeatures);
in
featuresByPackageId // {
"${packageId}" = combinedFeatures;
};
cacheWithDependencies =
resolveDependencies cacheWithSelf "dep"
(
crateConfig.dependencies or [ ]
++ lib.optionals
(runTests && packageId == rootPackageId)
(crateConfig.devDependencies or [ ])
);
cacheWithAll =
resolveDependencies
cacheWithDependencies "build"
(crateConfig.buildDependencies or [ ]);
in
cacheWithAll;
/* Returns the enabled dependencies given the enabled features. */
filterEnabledDependencies = { dependencies, features, target }:
assert (builtins.isList dependencies);
assert (builtins.isList features);
assert (builtins.isAttrs target);
lib.filter
(
dep:
let
targetFunc = dep.target or (features: true);
in
targetFunc { inherit features target; }
&& (
!(dep.optional or false)
|| builtins.any (doesFeatureEnableDependency dep) features
)
)
dependencies;
/* Returns whether the given feature should enable the given dependency. */
doesFeatureEnableDependency = { name, rename ? null, ... }: feature:
let
prefix = "${name}/";
len = builtins.stringLength prefix;
startsWithPrefix = builtins.substring 0 len feature == prefix;
in
(rename == null && feature == name)
|| (rename != null && rename == feature)
|| startsWithPrefix;
/* Returns the expanded features for the given inputFeatures by applying the
rules in featureMap.
featureMap is an attribute set which maps feature names to lists of further
feature names to enable in case this feature is selected.
*/
expandFeatures = featureMap: inputFeatures:
assert (builtins.isAttrs featureMap);
assert (builtins.isList inputFeatures);
let
expandFeature = feature:
assert (builtins.isString feature);
[ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ]));
outFeatures = lib.concatMap expandFeature inputFeatures;
in
sortedUnique outFeatures;
/*
Returns the actual features for the given dependency.
features: The features of the crate that refers this dependency.
*/
dependencyFeatures = features: dependency:
assert (builtins.isList features);
assert (builtins.isAttrs dependency);
let
defaultOrNil =
if dependency.usesDefaultFeatures or true
then [ "default" ]
else [ ];
explicitFeatures = dependency.features or [ ];
additionalDependencyFeatures =
let
dependencyPrefix = (dependency.rename or dependency.name) + "/";
dependencyFeatures =
builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;
in
builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;
in
defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;
/* Sorts and removes duplicates from a list of strings. */
sortedUnique = features:
assert (builtins.isList features);
assert (builtins.all builtins.isString features);
let
outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
outFeaturesUnique = builtins.attrNames outFeaturesSet;
in
builtins.sort (a: b: a < b) outFeaturesUnique;
deprecationWarning = message: value:
if strictDeprecation
then builtins.throw "strictDeprecation enabled, aborting: ${message}"
else builtins.trace message value;
#
# crate2nix/default.nix (excerpt end)
#
};
}