From d645c11a9189a93ce03178962ae6c4e7a1d66050 Mon Sep 17 00:00:00 2001 From: tilpner Date: Mon, 1 Jun 2020 13:44:05 +0200 Subject: Support Nix builds --- Cargo.nix | 6691 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 6691 insertions(+) create mode 100644 Cargo.nix (limited to 'Cargo.nix') diff --git a/Cargo.nix b/Cargo.nix new file mode 100644 index 0000000..f2bbc5f --- /dev/null +++ b/Cargo.nix @@ -0,0 +1,6691 @@ + +# This file was @generated by crate2nix 0.9.0-alpha.1 with the command: +# "generate" "-o" "Cargo.nix" +# See https://github.com/kolloch/crate2nix for more info. + +{ 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 = "github-label-feed"; + + # 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 = { + "github-label-feed" = rec { + packageId = "github-label-feed"; + build = internal.buildRustCrateWithFeatures { + packageId = "github-label-feed"; + }; + + # 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 = { + "addr2line" = rec { + crateName = "addr2line"; + version = "0.12.1"; + edition = "2015"; + sha256 = "0hq5gi2hj1mdm6yjy0a9w8525xyp194p4zn9wxhkr16wvawhd654"; + authors = [ + "Nick Fitzgerald " + "Philip Craig " + "Jon Gjengset " + "Noah Bergbauer " + ]; + dependencies = [ + { + name = "gimli"; + packageId = "gimli"; + usesDefaultFeatures = false; + features = [ "read" ]; + } + ]; + features = { + "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" ]; + "std" = [ "gimli/std" ]; + "std-object" = [ "std" "object" "object/std" "object/compression" "gimli/endian-reader" ]; + }; + }; + "aho-corasick" = rec { + crateName = "aho-corasick"; + version = "0.7.10"; + edition = "2015"; + sha256 = "1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7"; + libName = "aho_corasick"; + authors = [ + "Andrew Gallant " + ]; + 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) " + "Josh Triplett " + ]; + dependencies = [ + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: (target."os" == "windows"); + features = [ "errhandlingapi" "consoleapi" "processenv" ]; + } + ]; + + }; + "anyhow" = rec { + crateName = "anyhow"; + version = "1.0.31"; + edition = "2018"; + sha256 = "0pqrpvlaicjpaf5zfqgwq1rg39gfvqhs9sz6a1acm5zc13671fw5"; + authors = [ + "David Tolnay " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "ascii" = rec { + crateName = "ascii"; + version = "0.9.3"; + edition = "2015"; + sha256 = "0km3zzkhrr22drf9p1zcblqirlxkdc7zra25acpi0h8qax5c1cga"; + authors = [ + "Thomas Bahn " + "Torbjørn Birch Moltu " + "Simon Sapin " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "async-native-tls" = rec { + crateName = "async-native-tls"; + version = "0.3.3"; + edition = "2018"; + sha256 = "0cwv4vbrvcbv58b51y1azfbszzgzhrzxx92q5nl6hk6kkf97m7ly"; + authors = [ + "dignifiedquire " + ]; + dependencies = [ + { + name = "native-tls"; + packageId = "native-tls"; + } + { + name = "thiserror"; + packageId = "thiserror"; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + features = [ "io-util" ]; + } + { + name = "url"; + packageId = "url"; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "full" ]; + } + ]; + features = { + "default" = [ "runtime-async-std" ]; + "runtime-async-std" = [ "async-std" ]; + "runtime-tokio" = [ "tokio" ]; + "vendored" = [ "native-tls/vendored" ]; + }; + resolvedDefaultFeatures = [ "runtime-tokio" "tokio" ]; + }; + "async-stream" = rec { + crateName = "async-stream"; + version = "0.2.1"; + edition = "2018"; + sha256 = "1x8az0155hq0s9fgjf8mws2as6pgfs4sykgxzkp44jai3468q1i2"; + authors = [ + "Carl Lerche " + ]; + dependencies = [ + { + name = "async-stream-impl"; + packageId = "async-stream-impl"; + } + { + name = "futures-core"; + packageId = "futures-core"; + } + ]; + + }; + "async-stream-impl" = rec { + crateName = "async-stream-impl"; + version = "0.2.1"; + edition = "2018"; + sha256 = "0w26845j6l731b1y4i07wll3jj9vadkr2r6cwpvhp1xg70xxpy95"; + procMacro = true; + authors = [ + "Carl Lerche " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "extra-traits" "full" "visit-mut" ]; + } + ]; + + }; + "async-task" = rec { + crateName = "async-task"; + version = "3.0.0"; + edition = "2018"; + sha256 = "1lrm7cm9dpashmkbqa8mvglbf85gadviqil7qnnrm0pjdqap4xy1"; + authors = [ + "Stjepan Glavina " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "atom_syndication" = rec { + crateName = "atom_syndication"; + version = "0.9.0"; + edition = "2018"; + sha256 = "12q0y041rfvwilx7mwlp4fb7nvia8v0jb2ykw7xw8j6wmskjy2vx"; + authors = [ + "James Hurst " + ]; + dependencies = [ + { + name = "chrono"; + packageId = "chrono"; + } + { + name = "derive_builder"; + packageId = "derive_builder"; + optional = true; + } + { + name = "diligent-date-parser"; + packageId = "diligent-date-parser"; + } + { + name = "quick-xml"; + packageId = "quick-xml 0.18.1"; + features = [ "encoding" ]; + } + ]; + features = { + "builders" = [ "derive_builder" ]; + "default" = [ "builders" ]; + "with-serde" = [ "serde" "chrono/serde" ]; + }; + resolvedDefaultFeatures = [ "builders" "default" "derive_builder" ]; + }; + "atty" = rec { + crateName = "atty"; + version = "0.2.14"; + edition = "2015"; + sha256 = "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr"; + authors = [ + "softprops " + ]; + dependencies = [ + { + name = "hermit-abi"; + packageId = "hermit-abi"; + target = { target, features }: (target."os" == "hermit"); + } + { + name = "libc"; + packageId = "libc"; + usesDefaultFeatures = false; + target = { target, features }: target."unix"; + } + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: target."windows"; + features = [ "consoleapi" "processenv" "minwinbase" "minwindef" "winbase" ]; + } + ]; + + }; + "autocfg" = rec { + crateName = "autocfg"; + version = "1.0.0"; + edition = "2015"; + sha256 = "17cv6pwb4q08s0ynpr4n8hv5299hcmhdgvdchzixfpw8y5qcgapq"; + authors = [ + "Josh Stone " + ]; + + }; + "backtrace" = rec { + crateName = "backtrace"; + version = "0.3.48"; + edition = "2018"; + sha256 = "0c61qxwclpiz4ba6mcfyix2s0xlvvlphaj77syvy7frai9fgiwhd"; + authors = [ + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "addr2line"; + packageId = "addr2line"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "libc"; + packageId = "libc"; + usesDefaultFeatures = false; + } + { + name = "object"; + packageId = "object"; + optional = true; + usesDefaultFeatures = false; + features = [ "read_core" "elf" "macho" "pe" ]; + } + { + name = "rustc-demangle"; + packageId = "rustc-demangle"; + } + ]; + features = { + "default" = [ "std" "gimli-symbolize" ]; + "gimli-symbolize" = [ "addr2line" "object" "std" ]; + "libbacktrace" = [ "backtrace-sys/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/memoryapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/winbase" "winapi/winnt" ]; + }; + resolvedDefaultFeatures = [ "addr2line" "default" "gimli-symbolize" "object" "std" ]; + }; + "base64" = rec { + crateName = "base64"; + version = "0.12.1"; + edition = "2018"; + sha256 = "0hncd72kh8i0g1hw37xlxicf3961xlcvz5ss8qvrbv6ryyxcrlak"; + authors = [ + "Alice Maz " + "Marshall Pierce " + ]; + 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" ]; + }; + "bumpalo" = rec { + crateName = "bumpalo"; + version = "3.3.0"; + edition = "2018"; + sha256 = "1xkqmd4id9qxw4n43chg1im0ynzxy2jx3lanb9w1yjp27v9g2mjk"; + authors = [ + "Nick Fitzgerald " + ]; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "byteorder" = rec { + crateName = "byteorder"; + version = "1.3.4"; + edition = "2015"; + sha256 = "1pkjfhgjnq898g1d38ygcfi0msg3m6756cwv0sgysj1d26p8mi08"; + authors = [ + "Andrew Gallant " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "bytes" = rec { + crateName = "bytes"; + version = "0.5.4"; + edition = "2018"; + sha256 = "1q9r7si1l8vndg4n2ny2nv833ghp5vyqzk5indb9rmhd5ibaq2hk"; + authors = [ + "Carl Lerche " + "Sean McArthur " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "cc" = rec { + crateName = "cc"; + version = "1.0.54"; + edition = "2018"; + crateBin = []; + sha256 = "04c31hi55lhv1kkssixa3wjjx6izlbxx01z36j86w9616vdp7fvv"; + authors = [ + "Alex Crichton " + ]; + features = { + "parallel" = [ "jobserver" ]; + }; + }; + "cfg-if" = rec { + crateName = "cfg-if"; + version = "0.1.10"; + edition = "2018"; + sha256 = "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"; + authors = [ + "Alex Crichton " + ]; + features = { + "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + }; + }; + "chrono" = rec { + crateName = "chrono"; + version = "0.4.11"; + edition = "2015"; + sha256 = "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0"; + authors = [ + "Kang Seonghoon " + "Brandon W Maister " + ]; + dependencies = [ + { + name = "num-integer"; + packageId = "num-integer"; + usesDefaultFeatures = false; + } + { + name = "num-traits"; + packageId = "num-traits"; + usesDefaultFeatures = false; + } + { + name = "time"; + packageId = "time"; + optional = true; + } + ]; + features = { + "clock" = [ "time" "std" ]; + "default" = [ "clock" "std" ]; + "wasmbind" = [ "wasm-bindgen" "js-sys" ]; + }; + resolvedDefaultFeatures = [ "clock" "default" "std" "time" ]; + }; + "clap" = rec { + crateName = "clap"; + version = "2.33.1"; + edition = "2015"; + sha256 = "0a91g4m6rcqpf6gzxh43cj6mnj9g8ahpr634baim6kcmgza81ymx"; + authors = [ + "Kevin K. " + ]; + 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 0.8.0"; + 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" ]; + }; + "combine" = rec { + crateName = "combine"; + version = "3.8.1"; + edition = "2015"; + sha256 = "1006sbl3ybiky3d5q28p0lyph37hk7sipls1rkhikv11lfxacgfs"; + authors = [ + "Markus Westerlind " + ]; + dependencies = [ + { + name = "ascii"; + packageId = "ascii"; + usesDefaultFeatures = false; + } + { + name = "byteorder"; + packageId = "byteorder"; + usesDefaultFeatures = false; + } + { + name = "either"; + packageId = "either"; + usesDefaultFeatures = false; + } + { + name = "memchr"; + packageId = "memchr"; + usesDefaultFeatures = false; + } + { + name = "unreachable"; + packageId = "unreachable"; + } + ]; + features = { + "default" = [ "std" ]; + "doc" = [ "regex" "regex-1" ]; + "regex-1" = [ "combine-regex-1" ]; + "std" = [ "memchr/use_std" "either/use_std" "byteorder/std" "ascii/std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "core-foundation" = rec { + crateName = "core-foundation"; + version = "0.7.0"; + edition = "2015"; + sha256 = "0wbias8f0m5kyn2pcksi0h58fdslams6nmf16w78fgn42dx4rljp"; + authors = [ + "The Servo Project Developers" + ]; + dependencies = [ + { + name = "core-foundation-sys"; + packageId = "core-foundation-sys"; + } + { + name = "libc"; + packageId = "libc"; + } + ]; + features = { + "mac_os_10_7_support" = [ "core-foundation-sys/mac_os_10_7_support" ]; + "mac_os_10_8_features" = [ "core-foundation-sys/mac_os_10_8_features" ]; + "with-chrono" = [ "chrono" ]; + "with-uuid" = [ "uuid" ]; + }; + }; + "core-foundation-sys" = rec { + crateName = "core-foundation-sys"; + version = "0.7.0"; + edition = "2015"; + sha256 = "1b5qfnnmg49sawwfsb0c0wbj81bqi7h7lh68pmhbidf0jjs1m9xk"; + authors = [ + "The Servo Project Developers" + ]; + features = { + }; + }; + "crossbeam" = rec { + crateName = "crossbeam"; + version = "0.7.3"; + edition = "2015"; + sha256 = "13kzn2d49n2qn5q42y2dj48kyv6aln2d9smq8x9n675l3zzknck9"; + authors = [ + "The Crossbeam Project Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "crossbeam-channel"; + packageId = "crossbeam-channel"; + optional = true; + } + { + name = "crossbeam-deque"; + packageId = "crossbeam-deque"; + optional = true; + } + { + name = "crossbeam-epoch"; + packageId = "crossbeam-epoch"; + usesDefaultFeatures = false; + } + { + name = "crossbeam-queue"; + packageId = "crossbeam-queue"; + optional = true; + } + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "crossbeam-epoch/alloc" "crossbeam-utils/alloc" ]; + "default" = [ "std" ]; + "nightly" = [ "crossbeam-epoch/nightly" "crossbeam-utils/nightly" ]; + "std" = [ "crossbeam-channel" "crossbeam-deque" "crossbeam-epoch/std" "crossbeam-queue" "crossbeam-utils/std" ]; + }; + resolvedDefaultFeatures = [ "crossbeam-channel" "crossbeam-deque" "crossbeam-queue" "default" "std" ]; + }; + "crossbeam-channel" = rec { + crateName = "crossbeam-channel"; + version = "0.4.2"; + edition = "2015"; + sha256 = "0qd05n5bcwafkmbzq1lspwrfi29xnzlw46qarg1sl0lwj68qdvfc"; + authors = [ + "The Crossbeam Project Developers" + ]; + dependencies = [ + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + } + { + name = "maybe-uninit"; + packageId = "maybe-uninit"; + } + ]; + + }; + "crossbeam-deque" = rec { + crateName = "crossbeam-deque"; + version = "0.7.3"; + edition = "2015"; + sha256 = "11c2c0x5grdba3ah3g94yn6b8s47xi8qwm85h8hq5vmf9nbsy0lz"; + authors = [ + "The Crossbeam Project Developers" + ]; + dependencies = [ + { + name = "crossbeam-epoch"; + packageId = "crossbeam-epoch"; + } + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + } + { + name = "maybe-uninit"; + packageId = "maybe-uninit"; + } + ]; + + }; + "crossbeam-epoch" = rec { + crateName = "crossbeam-epoch"; + version = "0.8.2"; + edition = "2015"; + sha256 = "1knsf0zz7rgzxn0nwz5gajjcrivxpw3zrdcp946gdhdgr9sd53h5"; + authors = [ + "The Crossbeam Project Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + usesDefaultFeatures = false; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + optional = true; + } + { + name = "maybe-uninit"; + packageId = "maybe-uninit"; + } + { + name = "memoffset"; + packageId = "memoffset"; + } + { + name = "scopeguard"; + packageId = "scopeguard"; + usesDefaultFeatures = false; + } + ]; + buildDependencies = [ + { + name = "autocfg"; + packageId = "autocfg"; + } + ]; + features = { + "alloc" = [ "crossbeam-utils/alloc" ]; + "default" = [ "std" ]; + "nightly" = [ "crossbeam-utils/nightly" ]; + "std" = [ "crossbeam-utils/std" "lazy_static" ]; + }; + resolvedDefaultFeatures = [ "default" "lazy_static" "std" ]; + }; + "crossbeam-queue" = rec { + crateName = "crossbeam-queue"; + version = "0.2.2"; + edition = "2018"; + sha256 = "1llq7z955gcfcfg3yyffb8szvzji9z1m44r05zj0gfxn2kkzysxb"; + authors = [ + "The Crossbeam Project Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "alloc" "crossbeam-utils/std" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + }; + "crossbeam-utils" = rec { + crateName = "crossbeam-utils"; + version = "0.7.2"; + edition = "2015"; + sha256 = "1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3"; + authors = [ + "The Crossbeam Project Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + optional = true; + } + ]; + buildDependencies = [ + { + name = "autocfg"; + packageId = "autocfg"; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "lazy_static" ]; + }; + resolvedDefaultFeatures = [ "default" "lazy_static" "std" ]; + }; + "darling" = rec { + crateName = "darling"; + version = "0.10.2"; + edition = "2015"; + sha256 = "0n7qsp6854wm3y1q1lvylhv15zvc87ibbac1nyfmcdbyv1snww0d"; + authors = [ + "Ted Driggs " + ]; + dependencies = [ + { + name = "darling_core"; + packageId = "darling_core"; + } + { + name = "darling_macro"; + packageId = "darling_macro"; + } + ]; + features = { + "default" = [ "suggestions" ]; + "diagnostics" = [ "darling_core/diagnostics" ]; + "suggestions" = [ "darling_core/suggestions" ]; + }; + resolvedDefaultFeatures = [ "default" "suggestions" ]; + }; + "darling_core" = rec { + crateName = "darling_core"; + version = "0.10.2"; + edition = "2015"; + sha256 = "16sija1jv0l754x4aa6b6fy01d1kf8m0r4id3flqipm45np61jgh"; + authors = [ + "Ted Driggs " + ]; + dependencies = [ + { + name = "fnv"; + packageId = "fnv"; + } + { + name = "ident_case"; + packageId = "ident_case"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "strsim"; + packageId = "strsim 0.9.3"; + optional = true; + } + { + name = "syn"; + packageId = "syn"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { + "suggestions" = [ "strsim" ]; + }; + resolvedDefaultFeatures = [ "strsim" "suggestions" ]; + }; + "darling_macro" = rec { + crateName = "darling_macro"; + version = "0.10.2"; + edition = "2015"; + sha256 = "0wlv31cxkrjijz5gv13hvk55c9lmd781aj12c8n84sa9mksa5dfr"; + procMacro = true; + authors = [ + "Ted Driggs " + ]; + dependencies = [ + { + name = "darling_core"; + packageId = "darling_core"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + } + ]; + + }; + "derive_builder" = rec { + crateName = "derive_builder"; + version = "0.9.0"; + edition = "2015"; + sha256 = "1h4f8vnggmpyw27fznl3cpyjrzz1nw5xrxx6ca3zcb3z54hqcrd2"; + procMacro = true; + build = "build/mod.rs"; + authors = [ + "Colin Kiegel " + "Pascal Hertleif " + "Jan-Erik Rediger " + "Ted Driggs " + ]; + dependencies = [ + { + name = "darling"; + packageId = "darling"; + } + { + name = "derive_builder_core"; + packageId = "derive_builder_core"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { + "logging" = [ "log" "env_logger" "derive_builder_core/logging" ]; + "nightlytests" = [ "compiletest_rs" ]; + "skeptic_tests" = [ "skeptic" ]; + }; + }; + "derive_builder_core" = rec { + crateName = "derive_builder_core"; + version = "0.9.0"; + edition = "2015"; + sha256 = "1vwb8nwls4lhd2yiyj87kmwws4mmfqfrjcr0pk09b11c6wzfm497"; + authors = [ + "Colin Kiegel " + "Pascal Hertleif " + "Jan-Erik Rediger " + "Ted Driggs " + ]; + dependencies = [ + { + name = "darling"; + packageId = "darling"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { + "logging" = [ "log" ]; + }; + }; + "diligent-date-parser" = rec { + crateName = "diligent-date-parser"; + version = "0.1.0"; + edition = "2018"; + sha256 = "1556s4mi43m0b4hwk5zydhi4n4jnk36mcq1w9fqh7ka6q7d2p16r"; + authors = [ + "Andrey Kutejko " + ]; + dependencies = [ + { + name = "chrono"; + packageId = "chrono"; + } + ]; + + }; + "doc-comment" = rec { + crateName = "doc-comment"; + version = "0.3.3"; + edition = "2015"; + sha256 = "043sprsf3wl926zmck1bm7gw0jq50mb76lkpk49vasfr6ax1p97y"; + libName = "doc_comment"; + authors = [ + "Guillaume Gomez " + ]; + features = { + }; + }; + "dotenv" = rec { + crateName = "dotenv"; + version = "0.15.0"; + edition = "2018"; + crateBin = []; + sha256 = "13ysjx7n2bqxxqydvnnbdwgik7i8n6h5c1qhr9g11x6cxnnhpjbp"; + authors = [ + "Noemi Lapresta " + "Craig Hills " + "Mike Piccolo " + "Alice Maz " + "Sean Griffin " + "Adam Sharp " + "Arpad Borsos " + ]; + features = { + "cli" = [ "clap" ]; + }; + }; + "dtoa" = rec { + crateName = "dtoa"; + version = "0.4.5"; + edition = "2015"; + sha256 = "18qycvcp0vaqzw0j784ansbxgs39l54ini9v719cy2cs3ghsjn23"; + authors = [ + "David Tolnay " + ]; + + }; + "either" = rec { + crateName = "either"; + version = "1.5.3"; + edition = "2015"; + sha256 = "1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv"; + authors = [ + "bluss" + ]; + features = { + "default" = [ "use_std" ]; + }; + resolvedDefaultFeatures = [ "use_std" ]; + }; + "encoding_rs" = rec { + crateName = "encoding_rs"; + version = "0.8.23"; + edition = "2015"; + sha256 = "0wg1aq26pdbczc57phc4js9x2xb3dz246i35zr22ycrj8zwn7b78"; + authors = [ + "Henri Sivonen " + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + ]; + features = { + "fast-legacy-encode" = [ "fast-hangul-encode" "fast-hanja-encode" "fast-kanji-encode" "fast-gb-hanzi-encode" "fast-big5-hanzi-encode" ]; + "simd-accel" = [ "packed_simd" "packed_simd/into_bits" ]; + }; + }; + "failure" = rec { + crateName = "failure"; + version = "0.1.8"; + edition = "2015"; + sha256 = "11jg1wmbkijrs6bk9fqnbrm9zf0850whnqpgnxyswbn0dk8rnbnk"; + authors = [ + "Without Boats " + ]; + 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.8"; + edition = "2015"; + sha256 = "1936adqqk080439kx2bjf1bds7h89sg6wcif4jw0syndcv3s6kda"; + procMacro = true; + authors = [ + "Without Boats " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + } + { + name = "synstructure"; + packageId = "synstructure"; + } + ]; + features = { + }; + }; + "fnv" = rec { + crateName = "fnv"; + version = "1.0.7"; + edition = "2015"; + sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz"; + libPath = "lib.rs"; + authors = [ + "Alex Crichton " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "foreign-types" = rec { + crateName = "foreign-types"; + version = "0.3.2"; + edition = "2015"; + sha256 = "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn"; + authors = [ + "Steven Fackler " + ]; + dependencies = [ + { + name = "foreign-types-shared"; + packageId = "foreign-types-shared"; + } + ]; + + }; + "foreign-types-shared" = rec { + crateName = "foreign-types-shared"; + version = "0.1.1"; + edition = "2015"; + sha256 = "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00"; + authors = [ + "Steven Fackler " + ]; + + }; + "fuchsia-zircon" = rec { + crateName = "fuchsia-zircon"; + version = "0.3.3"; + edition = "2015"; + sha256 = "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"; + authors = [ + "Raph Levien " + ]; + dependencies = [ + { + name = "bitflags"; + packageId = "bitflags"; + } + { + name = "fuchsia-zircon-sys"; + packageId = "fuchsia-zircon-sys"; + } + ]; + + }; + "fuchsia-zircon-sys" = rec { + crateName = "fuchsia-zircon-sys"; + version = "0.3.3"; + edition = "2015"; + sha256 = "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"; + authors = [ + "Raph Levien " + ]; + + }; + "futures" = rec { + crateName = "futures"; + version = "0.3.5"; + edition = "2018"; + sha256 = "04zn97g8rvxlsqarpfamkiznkpr3jdb4lzfv6kfc1al7q9gbh18y"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "futures-channel"; + packageId = "futures-channel"; + usesDefaultFeatures = false; + features = [ "sink" ]; + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-executor"; + packageId = "futures-executor"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "futures-io"; + packageId = "futures-io"; + usesDefaultFeatures = false; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + usesDefaultFeatures = false; + } + { + name = "futures-task"; + packageId = "futures-task"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "sink" ]; + } + ]; + devDependencies = [ + { + name = "futures-executor"; + packageId = "futures-executor"; + features = [ "thread-pool" ]; + } + ]; + features = { + "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ]; + "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ]; + "bilock" = [ "futures-util/bilock" ]; + "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" "futures-task/cfg-target-has-atomic" "futures-channel/cfg-target-has-atomic" "futures-util/cfg-target-has-atomic" ]; + "compat" = [ "std" "futures-util/compat" ]; + "default" = [ "std" "async-await" "executor" ]; + "executor" = [ "std" "futures-executor/std" ]; + "io-compat" = [ "compat" "futures-util/io-compat" ]; + "read-initializer" = [ "futures-io/read-initializer" "futures-util/read-initializer" ]; + "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ]; + "thread-pool" = [ "executor" "futures-executor/thread-pool" ]; + "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ]; + "write-all-vectored" = [ "futures-util/write-all-vectored" ]; + }; + resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ]; + }; + "futures-channel" = rec { + crateName = "futures-channel"; + version = "0.3.5"; + edition = "2018"; + sha256 = "1mb756zxpgrsr0lxkgl358jlpyrwi0i68pnrasj6pjlcq9sasrpk"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "futures-core/alloc" ]; + "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" ]; + "default" = [ "std" ]; + "sink" = [ "futures-sink" ]; + "std" = [ "alloc" "futures-core/std" ]; + "unstable" = [ "futures-core/unstable" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ]; + }; + "futures-core" = rec { + crateName = "futures-core"; + version = "0.3.5"; + edition = "2018"; + sha256 = "16d35ic4b4dkv1gy39cvy2v4391b9014hrxd6vwp3nfm1zwzzxar"; + authors = [ + "Alex Crichton " + ]; + features = { + "default" = [ "std" ]; + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + }; + "futures-executor" = rec { + crateName = "futures-executor"; + version = "0.3.5"; + edition = "2018"; + sha256 = "05732bhf9q8sqf9qd8px16rfkx9cn08nn05rpqx3s5g1if4bpmhh"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-task"; + packageId = "futures-task"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ]; + "thread-pool" = [ "std" "num_cpus" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "futures-io" = rec { + crateName = "futures-io"; + version = "0.3.5"; + edition = "2018"; + sha256 = "128pnpcaqj9sxr1d0scy51yfk2ggvqp6szlm2jf8d3is04mi89yy"; + authors = [ + "Alex Crichton " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "futures-macro" = rec { + crateName = "futures-macro"; + version = "0.3.5"; + edition = "2018"; + sha256 = "0f8d4kmdxx0h7nca90zdpnbk429w6d3w8dw2hxrm9ar88c5a7dfh"; + procMacro = true; + authors = [ + "Taylor Cramer " + "Taiki Endo " + ]; + dependencies = [ + { + name = "proc-macro-hack"; + packageId = "proc-macro-hack"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "full" ]; + } + ]; + + }; + "futures-retry" = rec { + crateName = "futures-retry"; + version = "0.5.0"; + edition = "2018"; + sha256 = "083lp8lhd2xgg52layzqrv6w85qzw3h77acp47q8k599cisgx6vm"; + authors = [ + "mexus " + ]; + dependencies = [ + { + name = "futures"; + packageId = "futures"; + } + { + name = "pin-project"; + packageId = "pin-project"; + } + { + name = "tokio"; + packageId = "tokio"; + usesDefaultFeatures = false; + features = [ "time" ]; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "full" ]; + } + ]; + + }; + "futures-sink" = rec { + crateName = "futures-sink"; + version = "0.3.5"; + edition = "2018"; + sha256 = "1k4azaq6x7g9kmpvc91vx5w541y4p340rkl5bnhcfd5p7j4k481z"; + authors = [ + "Alex Crichton " + ]; + features = { + "default" = [ "std" ]; + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + }; + "futures-task" = rec { + crateName = "futures-task"; + version = "0.3.5"; + edition = "2018"; + sha256 = "09m647nghwsg46ckys2846jfga6fbdwgfc08mfqij87215gnpdmx"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "once_cell"; + packageId = "once_cell"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "alloc" "once_cell" ]; + }; + resolvedDefaultFeatures = [ "alloc" "once_cell" "std" ]; + }; + "futures-util" = rec { + crateName = "futures-util"; + version = "0.3.5"; + edition = "2018"; + sha256 = "1iijrqcamgll0h0r6ww9mh3ln4292c1wghw28h41lw4by17mfr47"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "futures-channel"; + packageId = "futures-channel"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-io"; + packageId = "futures-io"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "futures-macro"; + packageId = "futures-macro"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "futures-task"; + packageId = "futures-task"; + usesDefaultFeatures = false; + } + { + name = "memchr"; + packageId = "memchr"; + optional = true; + } + { + name = "pin-project"; + packageId = "pin-project"; + } + { + name = "pin-utils"; + packageId = "pin-utils"; + } + { + name = "proc-macro-hack"; + packageId = "proc-macro-hack"; + optional = true; + } + { + name = "proc-macro-nested"; + packageId = "proc-macro-nested"; + optional = true; + } + { + name = "slab"; + packageId = "slab"; + optional = true; + } + ]; + features = { + "alloc" = [ "futures-core/alloc" "futures-task/alloc" ]; + "async-await-macro" = [ "async-await" "futures-macro" "proc-macro-hack" "proc-macro-nested" ]; + "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" "futures-task/cfg-target-has-atomic" ]; + "channel" = [ "std" "futures-channel" ]; + "compat" = [ "std" "futures_01" ]; + "default" = [ "std" "async-await" "async-await-macro" ]; + "io" = [ "std" "futures-io" "memchr" ]; + "io-compat" = [ "io" "compat" "tokio-io" ]; + "read-initializer" = [ "io" "futures-io/read-initializer" "futures-io/unstable" ]; + "sink" = [ "futures-sink" ]; + "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ]; + "unstable" = [ "futures-core/unstable" "futures-task/unstable" ]; + "write-all-vectored" = [ "io" ]; + }; + resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "proc-macro-hack" "proc-macro-nested" "sink" "slab" "std" ]; + }; + "getrandom" = rec { + crateName = "getrandom"; + version = "0.1.14"; + edition = "2018"; + sha256 = "1sq30li71h19rhnhs1h6576ja68insajx8wvh1nn088r8pc8vg3s"; + 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" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "gimli" = rec { + crateName = "gimli"; + version = "0.21.0"; + edition = "2018"; + sha256 = "0p5n8h265b5acmnhca3ggsbdyaxbn79frnv4b2anhy73pk4y1j5w"; + authors = [ + "Nick Fitzgerald " + "Philip Craig " + ]; + features = { + "default" = [ "read" "write" "std" "fallible-iterator" "endian-reader" ]; + "endian-reader" = [ "stable_deref_trait" ]; + "std" = [ "fallible-iterator/std" "stable_deref_trait/std" ]; + "write" = [ "indexmap" ]; + }; + resolvedDefaultFeatures = [ "read" ]; + }; + "github-label-feed" = rec { + crateName = "github-label-feed"; + version = "0.1.0"; + edition = "2018"; + crateBin = [ + { name = "github-label-feed"; path = "src/main.rs"; } + ]; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; }; + authors = [ + "tilpner " + ]; + dependencies = [ + { + name = "anyhow"; + packageId = "anyhow"; + } + { + name = "atom_syndication"; + packageId = "atom_syndication"; + } + { + name = "chrono"; + packageId = "chrono"; + } + { + name = "futures"; + packageId = "futures"; + } + { + name = "futures-retry"; + packageId = "futures-retry"; + } + { + name = "graphql_client"; + packageId = "graphql_client"; + usesDefaultFeatures = false; + features = [ "log" ]; + } + { + name = "log"; + packageId = "log"; + features = [ "max_level_off" "release_max_level_off" ]; + } + { + name = "reqwest"; + packageId = "reqwest"; + features = [ "json" ]; + } + { + name = "rss"; + packageId = "rss"; + } + { + name = "serde"; + packageId = "serde"; + } + { + name = "smol"; + packageId = "smol"; + features = [ "tokio02" ]; + } + { + name = "sqlx"; + packageId = "sqlx"; + usesDefaultFeatures = false; + features = [ "runtime-tokio" "sqlite" "macros" ]; + } + { + name = "structopt"; + packageId = "structopt"; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + } + { + name = "url"; + packageId = "url"; + } + ]; + + }; + "graphql-introspection-query" = rec { + crateName = "graphql-introspection-query"; + version = "0.1.0"; + edition = "2018"; + sha256 = "0gwpyd1qabfnq8wcn56jbw1kzbkxhai4mwyfsix4aamx3mjaq2k1"; + authors = [ + "Tom Houlé " + ]; + dependencies = [ + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + ]; + + }; + "graphql-parser" = rec { + crateName = "graphql-parser"; + version = "0.2.3"; + edition = "2015"; + sha256 = "1nkalsk4x5fahlxpn0gz0chvnwzk4hhj0ci725jg2xl6y4qkqqd5"; + authors = [ + "Paul Colomiets " + ]; + dependencies = [ + { + name = "combine"; + packageId = "combine"; + } + { + name = "failure"; + packageId = "failure"; + } + ]; + + }; + "graphql_client" = rec { + crateName = "graphql_client"; + version = "0.9.0"; + edition = "2018"; + sha256 = "1a0w0dga5qjz0lvsrgsk6xpibq07bc915ih1il0q0kqy304lzfx0"; + authors = [ + "Tom Houlé " + ]; + dependencies = [ + { + name = "doc-comment"; + packageId = "doc-comment"; + } + { + name = "graphql_query_derive"; + packageId = "graphql_query_derive"; + } + { + name = "log"; + packageId = "log"; + optional = true; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + ]; + features = { + "web" = [ "failure" "futures" "js-sys" "log" "wasm-bindgen" "wasm-bindgen-futures" "web-sys" ]; + }; + resolvedDefaultFeatures = [ "log" ]; + }; + "graphql_client_codegen" = rec { + crateName = "graphql_client_codegen"; + version = "0.9.0"; + edition = "2018"; + sha256 = "1fdb0cd8pbmn93mdjknn65mignwydn78y08l8vzkp6w07hi4qc4f"; + authors = [ + "Tom Houlé " + ]; + dependencies = [ + { + name = "failure"; + packageId = "failure"; + } + { + name = "graphql-introspection-query"; + packageId = "graphql-introspection-query"; + } + { + name = "graphql-parser"; + packageId = "graphql-parser"; + } + { + name = "heck"; + packageId = "heck"; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "syn"; + packageId = "syn"; + } + ]; + + }; + "graphql_query_derive" = rec { + crateName = "graphql_query_derive"; + version = "0.9.0"; + edition = "2018"; + sha256 = "0bywba0yy76pcw58wni7448bj26h6sfwsjg6m5x24jg5bi6v3xp1"; + procMacro = true; + authors = [ + "Tom Houlé " + ]; + dependencies = [ + { + name = "failure"; + packageId = "failure"; + } + { + name = "graphql_client_codegen"; + packageId = "graphql_client_codegen"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "extra-traits" ]; + } + ]; + + }; + "h2" = rec { + crateName = "h2"; + version = "0.2.5"; + edition = "2018"; + sha256 = "1zs3x3bnh5lrcfpi0qzfprmsj5rnzffa6g89z81rr5sbgrnj9dvr"; + authors = [ + "Carl Lerche " + "Sean McArthur " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "fnv"; + packageId = "fnv"; + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + } + { + name = "http"; + packageId = "http"; + } + { + name = "indexmap"; + packageId = "indexmap"; + } + { + name = "log"; + packageId = "log"; + } + { + name = "slab"; + packageId = "slab"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "io-util" ]; + } + { + name = "tokio-util"; + packageId = "tokio-util"; + features = [ "codec" ]; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "dns" "macros" "rt-core" "sync" "tcp" ]; + } + ]; + features = { + }; + }; + "heck" = rec { + crateName = "heck"; + version = "0.3.1"; + edition = "2015"; + sha256 = "01a2v7yvkiqxakdqz4hw3w3g4sm52ivz9cs3qcsv2arxsmw4wmi0"; + authors = [ + "Without Boats " + ]; + dependencies = [ + { + name = "unicode-segmentation"; + packageId = "unicode-segmentation"; + } + ]; + + }; + "hermit-abi" = rec { + crateName = "hermit-abi"; + version = "0.1.13"; + edition = "2015"; + sha256 = "0w9vpn4xy371xc3cnns8xqki4szz2xkfajslyn4hl2vmks00yy4i"; + authors = [ + "Stefan Lankes" + ]; + dependencies = [ + { + name = "libc"; + packageId = "libc"; + usesDefaultFeatures = false; + } + ]; + features = { + "rustc-dep-of-std" = [ "core" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ]; + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "hex" = rec { + crateName = "hex"; + version = "0.4.2"; + edition = "2018"; + sha256 = "0dbf00j3h3pz0lw8jp245rwypna6i23l4cpvym8gsczin9c92kv4"; + authors = [ + "KokaKiwi " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "http" = rec { + crateName = "http"; + version = "0.2.1"; + edition = "2018"; + sha256 = "1y827q7j0gvs8z2x12biaik9db6nb902lpqv889cbcj84sbnkm98"; + authors = [ + "Alex Crichton " + "Carl Lerche " + "Sean McArthur " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "fnv"; + packageId = "fnv"; + } + { + name = "itoa"; + packageId = "itoa"; + } + ]; + + }; + "http-body" = rec { + crateName = "http-body"; + version = "0.3.1"; + edition = "2018"; + sha256 = "06qi0ni45lb92w3ml260c0bxbq5zd4snjmz0a9k69xq6021zzm8k"; + authors = [ + "Carl Lerche " + "Lucio Franco " + "Sean McArthur " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "http"; + packageId = "http"; + } + ]; + + }; + "httparse" = rec { + crateName = "httparse"; + version = "1.3.4"; + edition = "2015"; + sha256 = "1yf23ldnjwfkkhkca7f4w15mky9961gjz28dlwyybhphc7l9l5yd"; + authors = [ + "Sean McArthur " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "hyper" = rec { + crateName = "hyper"; + version = "0.13.6"; + edition = "2018"; + sha256 = "07xaz5vgd7vgd5yb8ngllg19sdlrf9d3p7s3xv84l0lljmdnbrx6"; + authors = [ + "Sean McArthur " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "futures-channel"; + packageId = "futures-channel"; + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + } + { + name = "h2"; + packageId = "h2"; + } + { + name = "http"; + packageId = "http"; + } + { + name = "http-body"; + packageId = "http-body"; + } + { + name = "httparse"; + packageId = "httparse"; + } + { + name = "itoa"; + packageId = "itoa"; + } + { + name = "log"; + packageId = "log"; + } + { + name = "pin-project"; + packageId = "pin-project"; + } + { + name = "socket2"; + packageId = "socket2"; + optional = true; + } + { + name = "time"; + packageId = "time"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "sync" ]; + } + { + name = "tower-service"; + packageId = "tower-service"; + } + { + name = "want"; + packageId = "want"; + } + ]; + devDependencies = [ + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "fs" "macros" "io-std" "rt-util" "sync" "time" "test-util" ]; + } + ]; + features = { + "default" = [ "runtime" "stream" ]; + "runtime" = [ "tcp" "tokio/rt-core" ]; + "tcp" = [ "socket2" "tokio/blocking" "tokio/tcp" "tokio/time" ]; + }; + resolvedDefaultFeatures = [ "socket2" "tcp" ]; + }; + "hyper-tls" = rec { + crateName = "hyper-tls"; + version = "0.4.1"; + edition = "2018"; + sha256 = "1amg79v9dmcc7r4s471544w8pr57fxmw7s9l0xim759b804d7p1s"; + authors = [ + "Sean McArthur " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "hyper"; + packageId = "hyper"; + usesDefaultFeatures = false; + features = [ "tcp" ]; + } + { + name = "native-tls"; + packageId = "native-tls"; + } + { + name = "tokio"; + packageId = "tokio"; + } + { + name = "tokio-tls"; + packageId = "tokio-tls"; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "io-std" "macros" ]; + } + ]; + features = { + "vendored" = [ "native-tls/vendored" ]; + }; + }; + "ident_case" = rec { + crateName = "ident_case"; + version = "1.0.1"; + edition = "2015"; + sha256 = "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r"; + authors = [ + "Ted Driggs " + ]; + + }; + "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"; + } + ]; + + }; + "indexmap" = rec { + crateName = "indexmap"; + version = "1.3.2"; + edition = "2015"; + sha256 = "14i2gmq9pwaafvlxmsc12j6539hjgqk4j4jz40fz763vbcn08vq7"; + authors = [ + "bluss" + "Josh Stone " + ]; + buildDependencies = [ + { + name = "autocfg"; + packageId = "autocfg"; + } + ]; + features = { + "serde-1" = [ "serde" ]; + }; + }; + "iovec" = rec { + crateName = "iovec"; + version = "0.1.4"; + edition = "2015"; + sha256 = "0ph73qygwx8i0mblrf110cj59l00gkmsgrpzz1rm85syz5pymcxj"; + authors = [ + "Carl Lerche " + ]; + dependencies = [ + { + name = "libc"; + packageId = "libc"; + target = { target, features }: target."unix"; + } + ]; + + }; + "itoa" = rec { + crateName = "itoa"; + version = "0.4.5"; + edition = "2015"; + sha256 = "13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq"; + authors = [ + "David Tolnay " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "js-sys" = rec { + crateName = "js-sys"; + version = "0.3.40"; + edition = "2018"; + sha256 = "0xr18n6xkh6a3sf4kppjq2rwb94x4a933gck035cw9gas8xc446f"; + authors = [ + "The wasm-bindgen Developers" + ]; + dependencies = [ + { + name = "wasm-bindgen"; + packageId = "wasm-bindgen"; + } + ]; + + }; + "kernel32-sys" = rec { + crateName = "kernel32-sys"; + version = "0.2.2"; + edition = "2015"; + sha256 = "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm"; + libName = "kernel32"; + authors = [ + "Peter Atashian " + ]; + dependencies = [ + { + name = "winapi"; + packageId = "winapi 0.2.8"; + } + ]; + buildDependencies = [ + { + name = "winapi-build"; + packageId = "winapi-build"; + } + ]; + + }; + "lazy_static" = rec { + crateName = "lazy_static"; + version = "1.4.0"; + edition = "2015"; + sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2"; + authors = [ + "Marvin Löbel " + ]; + features = { + "spin_no_std" = [ "spin" ]; + }; + }; + "libc" = rec { + crateName = "libc"; + version = "0.2.71"; + edition = "2015"; + sha256 = "0jbgi25rhglhvpxv62alyzyral6601kldmlhbxim4w6j15jv0mwl"; + authors = [ + "The Rust Project Developers" + ]; + features = { + "default" = [ "std" ]; + "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ]; + "use_std" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "extra_traits" "std" ]; + }; + "libsqlite3-sys" = rec { + crateName = "libsqlite3-sys"; + version = "0.17.3"; + edition = "2018"; + sha256 = "0784rr46lgfassvypvb27hd33vz543l6n64hadz2hk4hqa0h3nan"; + authors = [ + "John Gallagher " + ]; + buildDependencies = [ + { + name = "cc"; + packageId = "cc"; + optional = true; + } + { + name = "pkg-config"; + packageId = "pkg-config"; + optional = true; + } + { + name = "vcpkg"; + packageId = "vcpkg"; + optional = true; + target = {target, features}: (target."env" == "msvc"); + } + ]; + features = { + "buildtime_bindgen" = [ "bindgen" "pkg-config" "vcpkg" ]; + "bundled" = [ "cc" "bundled_bindings" ]; + "bundled-windows" = [ "cc" "bundled_bindings" ]; + "default" = [ "min_sqlite_version_3_6_8" ]; + "min_sqlite_version_3_6_23" = [ "pkg-config" "vcpkg" ]; + "min_sqlite_version_3_6_8" = [ "pkg-config" "vcpkg" ]; + "min_sqlite_version_3_7_16" = [ "pkg-config" "vcpkg" ]; + "min_sqlite_version_3_7_7" = [ "pkg-config" "vcpkg" ]; + "session" = [ "preupdate_hook" ]; + }; + resolvedDefaultFeatures = [ "bundled" "bundled_bindings" "cc" "pkg-config" "vcpkg" ]; + }; + "log" = rec { + crateName = "log"; + version = "0.4.8"; + edition = "2015"; + sha256 = "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl"; + authors = [ + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + ]; + features = { + "kv_unstable_sval" = [ "kv_unstable" "sval/fmt" ]; + }; + resolvedDefaultFeatures = [ "max_level_off" "release_max_level_off" "std" ]; + }; + "maplit" = rec { + crateName = "maplit"; + version = "1.0.2"; + edition = "2015"; + sha256 = "07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy"; + authors = [ + "bluss" + ]; + + }; + "matchers" = rec { + crateName = "matchers"; + version = "0.0.1"; + edition = "2018"; + sha256 = "1q8ckqmkjqkznvdi9x0z769yz2bmvlqcwx51ad2lpk4mfmgpi6gh"; + authors = [ + "Eliza Weisman " + ]; + dependencies = [ + { + name = "regex-automata"; + packageId = "regex-automata"; + } + ]; + + }; + "matches" = rec { + crateName = "matches"; + version = "0.1.8"; + edition = "2015"; + sha256 = "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"; + libPath = "lib.rs"; + authors = [ + "Simon Sapin " + ]; + + }; + "maybe-uninit" = rec { + crateName = "maybe-uninit"; + version = "2.0.0"; + edition = "2015"; + sha256 = "004y0nzmpfdrhz251278341z6ql34iv1k6dp1h6af7d6nd6jwc30"; + authors = [ + "est31 " + "The Rust Project Developers" + ]; + + }; + "memchr" = rec { + crateName = "memchr"; + version = "2.3.3"; + edition = "2015"; + sha256 = "0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p"; + authors = [ + "Andrew Gallant " + "bluss" + ]; + features = { + "default" = [ "std" ]; + "use_std" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" "use_std" ]; + }; + "memoffset" = rec { + crateName = "memoffset"; + version = "0.5.4"; + edition = "2015"; + sha256 = "1n236rn8yxbi4ckh1qkz34822bgp24qijnp99sfhjx73lw12rz5l"; + authors = [ + "Gilad Naaman " + ]; + buildDependencies = [ + { + name = "autocfg"; + packageId = "autocfg"; + } + ]; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "mime" = rec { + crateName = "mime"; + version = "0.3.16"; + edition = "2015"; + sha256 = "13dcm9lh01hdwfjcg74ppljyjfj1c6w3a3cwkhxf0w8wa37cfq1a"; + authors = [ + "Sean McArthur " + ]; + + }; + "mime_guess" = rec { + crateName = "mime_guess"; + version = "2.0.3"; + edition = "2015"; + sha256 = "04pjpbl90z4yn0cmifvwgf4mqznciw6b095k626q96bxx71d9116"; + authors = [ + "Austin Bonander " + ]; + dependencies = [ + { + name = "mime"; + packageId = "mime"; + } + { + name = "unicase"; + packageId = "unicase"; + } + ]; + buildDependencies = [ + { + name = "unicase"; + packageId = "unicase"; + } + ]; + features = { + "default" = [ "rev-mappings" ]; + }; + resolvedDefaultFeatures = [ "default" "rev-mappings" ]; + }; + "mio" = rec { + crateName = "mio"; + version = "0.6.22"; + edition = "2015"; + sha256 = "0c64razhyam9892kgxsshmkqs6smrd11087nxb48nhjn4q4lgqzw"; + authors = [ + "Carl Lerche " + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "fuchsia-zircon"; + packageId = "fuchsia-zircon"; + target = { target, features }: (target."os" == "fuchsia"); + } + { + name = "fuchsia-zircon-sys"; + packageId = "fuchsia-zircon-sys"; + target = { target, features }: (target."os" == "fuchsia"); + } + { + name = "iovec"; + packageId = "iovec"; + } + { + name = "kernel32-sys"; + packageId = "kernel32-sys"; + target = { target, features }: target."windows"; + } + { + name = "libc"; + packageId = "libc"; + target = { target, features }: target."unix"; + } + { + name = "log"; + packageId = "log"; + } + { + name = "miow"; + packageId = "miow"; + target = { target, features }: target."windows"; + } + { + name = "net2"; + packageId = "net2"; + } + { + name = "slab"; + packageId = "slab"; + } + { + name = "winapi"; + packageId = "winapi 0.2.8"; + target = { target, features }: target."windows"; + } + ]; + features = { + "default" = [ "with-deprecated" ]; + }; + resolvedDefaultFeatures = [ "default" "with-deprecated" ]; + }; + "miow" = rec { + crateName = "miow"; + version = "0.2.1"; + edition = "2015"; + sha256 = "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "kernel32-sys"; + packageId = "kernel32-sys"; + } + { + name = "net2"; + packageId = "net2"; + usesDefaultFeatures = false; + } + { + name = "winapi"; + packageId = "winapi 0.2.8"; + } + { + name = "ws2_32-sys"; + packageId = "ws2_32-sys"; + } + ]; + + }; + "native-tls" = rec { + crateName = "native-tls"; + version = "0.2.4"; + edition = "2015"; + sha256 = "0bcbqm8gpm5azlp8rwznhrfk3ngikr041fj883lmw3g9dz08h39b"; + authors = [ + "Steven Fackler " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + target = { target, features }: ((target."os" == "macos") || (target."os" == "ios")); + } + { + name = "libc"; + packageId = "libc"; + target = { target, features }: ((target."os" == "macos") || (target."os" == "ios")); + } + { + name = "log"; + packageId = "log"; + target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios"))); + } + { + name = "openssl"; + packageId = "openssl"; + target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios"))); + } + { + name = "openssl-probe"; + packageId = "openssl-probe"; + target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios"))); + } + { + name = "openssl-sys"; + packageId = "openssl-sys"; + target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios"))); + } + { + name = "schannel"; + packageId = "schannel"; + target = { target, features }: (target."os" == "windows"); + } + { + name = "security-framework"; + packageId = "security-framework"; + target = { target, features }: ((target."os" == "macos") || (target."os" == "ios")); + } + { + name = "security-framework-sys"; + packageId = "security-framework-sys"; + target = { target, features }: ((target."os" == "macos") || (target."os" == "ios")); + } + { + name = "tempfile"; + packageId = "tempfile"; + target = { target, features }: ((target."os" == "macos") || (target."os" == "ios")); + } + ]; + features = { + "vendored" = [ "openssl/vendored" ]; + }; + }; + "net2" = rec { + crateName = "net2"; + version = "0.2.34"; + edition = "2015"; + sha256 = "1xsay6x9fqkq34mfyfyavkrk29z7j4wb9fzw5as4yw3nmhcck9rb"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "libc"; + packageId = "libc"; + target = { target, features }: ((target."os" == "redox") || target."unix" || (target."os" == "wasi")); + } + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: target."windows"; + features = [ "handleapi" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" ]; + } + ]; + features = { + "default" = [ "duration" ]; + }; + resolvedDefaultFeatures = [ "default" "duration" ]; + }; + "nix" = rec { + crateName = "nix"; + version = "0.17.0"; + edition = "2015"; + sha256 = "0qvk09kib3jpvpbaps0682nav20ibql61pf1s2h8jx9v5igpir2h"; + authors = [ + "The nix-rust Project Developers" + ]; + dependencies = [ + { + name = "bitflags"; + packageId = "bitflags"; + } + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "libc"; + packageId = "libc"; + features = [ "extra_traits" ]; + } + { + name = "void"; + packageId = "void"; + } + ]; + buildDependencies = [ + { + name = "cc"; + packageId = "cc"; + target = {target, features}: (target."os" == "dragonfly"); + } + ]; + + }; + "num-integer" = rec { + crateName = "num-integer"; + version = "0.1.42"; + edition = "2015"; + sha256 = "1fpw8yr9xwsf3qrh91rm7mzqaiwlc2dmnalsxv9pr9w1klpacviz"; + 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.11"; + edition = "2015"; + sha256 = "15khrlm1bra50nd48ijl1vln13m9xg4fxzghf28jp16ic5zf8ay6"; + authors = [ + "The Rust Project Developers" + ]; + buildDependencies = [ + { + name = "autocfg"; + packageId = "autocfg"; + } + ]; + features = { + "default" = [ "std" ]; + }; + }; + "num_cpus" = rec { + crateName = "num_cpus"; + version = "1.13.0"; + edition = "2015"; + sha256 = "1cv6yxhz2zbnwn8pn1yn8grg7zsnd523947fby41a737aqvryj85"; + authors = [ + "Sean McArthur " + ]; + dependencies = [ + { + name = "hermit-abi"; + packageId = "hermit-abi"; + target = { target, features }: (((target."arch" == "x86_64") || (target."arch" == "aarch64")) && (target."os" == "hermit")); + } + { + name = "libc"; + packageId = "libc"; + } + ]; + + }; + "object" = rec { + crateName = "object"; + version = "0.19.0"; + edition = "2018"; + sha256 = "1cpc3arnxypx0292q8mrh08jzlic5s0rr7alz8lfcbj89i1akg4w"; + authors = [ + "Nick Fitzgerald " + "Philip Craig " + ]; + features = { + "compression" = [ "flate2" "std" ]; + "default" = [ "read" "compression" ]; + "pe" = [ "coff" ]; + "read" = [ "read_core" "coff" "elf" "macho" "pe" "wasm" ]; + "wasm" = [ "wasmparser" ]; + "write" = [ "write_core" "coff" "elf" "macho" ]; + "write_core" = [ "crc32fast" "indexmap" "std" ]; + }; + resolvedDefaultFeatures = [ "coff" "elf" "macho" "pe" "read_core" ]; + }; + "once_cell" = rec { + crateName = "once_cell"; + version = "1.4.0"; + edition = "2018"; + sha256 = "138n52yni5qym7ds8kxckvhdy4x0m0scy0gl74brmwsahmz1yqqb"; + authors = [ + "Aleksey Kladov " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "openssl" = rec { + crateName = "openssl"; + version = "0.10.29"; + edition = "2015"; + sha256 = "1p8bybxjkcf8p49jk0lywa10qa1x4f5bdmc5dadgbi5l9igxirnf"; + authors = [ + "Steven Fackler " + ]; + dependencies = [ + { + name = "bitflags"; + packageId = "bitflags"; + } + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "foreign-types"; + packageId = "foreign-types"; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + name = "libc"; + packageId = "libc"; + } + { + name = "openssl-sys"; + packageId = "openssl-sys"; + } + ]; + features = { + "vendored" = [ "openssl-sys/vendored" ]; + }; + }; + "openssl-probe" = rec { + crateName = "openssl-probe"; + version = "0.1.2"; + edition = "2015"; + sha256 = "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp"; + authors = [ + "Alex Crichton " + ]; + + }; + "openssl-sys" = rec { + crateName = "openssl-sys"; + version = "0.9.57"; + edition = "2015"; + sha256 = "142r772cxxbwyg8z34gas47xzhwsp055qxb39wfhgb7q1bwgw43l"; + build = "build/main.rs"; + authors = [ + "Alex Crichton " + "Steven Fackler " + ]; + 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" ]; + }; + }; + "percent-encoding" = rec { + crateName = "percent-encoding"; + version = "2.1.0"; + edition = "2015"; + sha256 = "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl"; + libPath = "lib.rs"; + authors = [ + "The rust-url developers" + ]; + + }; + "pin-project" = rec { + crateName = "pin-project"; + version = "0.4.17"; + edition = "2018"; + sha256 = "14bpkzj4q3hqbkdvz2klqnqyl8zz36rhwx6g835hxrimwzp3mjgd"; + authors = [ + "Taiki Endo " + ]; + dependencies = [ + { + name = "pin-project-internal"; + packageId = "pin-project-internal"; + usesDefaultFeatures = false; + } + ]; + + }; + "pin-project-internal" = rec { + crateName = "pin-project-internal"; + version = "0.4.17"; + edition = "2018"; + sha256 = "0h3ym8qya4h0nkrq9hrnhcx1kfbcsc7w82dysqxwkd553c4b53g5"; + procMacro = true; + authors = [ + "Taiki Endo " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "full" "visit-mut" ]; + } + ]; + + }; + "pin-project-lite" = rec { + crateName = "pin-project-lite"; + version = "0.1.6"; + edition = "2018"; + sha256 = "1bghrjpn93ndvk9zm07002wssyb2jri9am050bbsgww43nhjvwwx"; + authors = [ + "Taiki Endo " + ]; + + }; + "pin-utils" = rec { + crateName = "pin-utils"; + version = "0.1.0"; + edition = "2018"; + sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb"; + authors = [ + "Josef Brandl " + ]; + + }; + "piper" = rec { + crateName = "piper"; + version = "0.1.3"; + edition = "2018"; + sha256 = "062zdv9w7l5037g113bh7r72wmygz92ajzr0z41v3bqdd3x8nq01"; + authors = [ + "Stjepan Glavina " + ]; + dependencies = [ + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + } + { + name = "futures-io"; + packageId = "futures-io"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + ]; + + }; + "pkg-config" = rec { + crateName = "pkg-config"; + version = "0.3.17"; + edition = "2015"; + sha256 = "0xynnaxdv0gzadlw4h79j855k0q7rj4zb9xb1vk00nc6ss559nh5"; + authors = [ + "Alex Crichton " + ]; + + }; + "ppv-lite86" = rec { + crateName = "ppv-lite86"; + version = "0.2.8"; + edition = "2018"; + sha256 = "1shj4q7jwj0azssr8cg51dk3kh7d4lg9rmbbz1kbqk971vc5wyi3"; + authors = [ + "The CryptoCorrosion Contributors" + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "simd" "std" ]; + }; + "proc-macro-error" = rec { + crateName = "proc-macro-error"; + version = "1.0.2"; + edition = "2018"; + sha256 = "0y46q108l4rfkx2kyzfsrkgxq6wz0i8lgsk54n0q3whf5swf9scq"; + authors = [ + "CreepySkeleton " + ]; + dependencies = [ + { + name = "proc-macro-error-attr"; + packageId = "proc-macro-error-attr"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + usesDefaultFeatures = false; + features = [ "derive" "parsing" "proc-macro" "printing" ]; + } + ]; + buildDependencies = [ + { + name = "version_check"; + packageId = "version_check"; + } + ]; + + }; + "proc-macro-error-attr" = rec { + crateName = "proc-macro-error-attr"; + version = "1.0.2"; + edition = "2018"; + sha256 = "0lrf9rwp1529q9g6s2c8r2d5d82jx3vm3p17gyymm4z9skm48m2g"; + procMacro = true; + authors = [ + "CreepySkeleton " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + usesDefaultFeatures = false; + features = [ "derive" "parsing" "proc-macro" "printing" ]; + } + { + name = "syn-mid"; + packageId = "syn-mid"; + } + ]; + buildDependencies = [ + { + name = "version_check"; + packageId = "version_check"; + } + ]; + + }; + "proc-macro-hack" = rec { + crateName = "proc-macro-hack"; + version = "0.5.16"; + edition = "2018"; + sha256 = "1r657v7d9vh1ivrvq65rvg9gjb29dpa0l3zg2fgrn5j8znz5c13y"; + procMacro = true; + authors = [ + "David Tolnay " + ]; + + }; + "proc-macro-nested" = rec { + crateName = "proc-macro-nested"; + version = "0.1.4"; + edition = "2015"; + sha256 = "15664z2pjnn7ajpbrir4wh4c16jxz4i8r46y73n2kvfkz6an154f"; + authors = [ + "David Tolnay " + ]; + + }; + "proc-macro2" = rec { + crateName = "proc-macro2"; + version = "1.0.18"; + edition = "2018"; + sha256 = "1yn8szcbnm9j2sw427vpf603xjg6v27hfny40ifzdc8nm0qn7bmy"; + authors = [ + "Alex Crichton " + "David Tolnay " + ]; + dependencies = [ + { + name = "unicode-xid"; + packageId = "unicode-xid"; + } + ]; + features = { + "default" = [ "proc-macro" ]; + }; + resolvedDefaultFeatures = [ "default" "proc-macro" ]; + }; + "quick-xml 0.17.2" = rec { + crateName = "quick-xml"; + version = "0.17.2"; + edition = "2015"; + sha256 = "1c5vqqbxr4bx7mw6qyv1yhm6g95ikd2rqfq54pf9y37kvh5l67py"; + authors = [ + "Johann Tuffe " + ]; + dependencies = [ + { + name = "encoding_rs"; + packageId = "encoding_rs"; + optional = true; + } + { + name = "memchr"; + packageId = "memchr"; + } + ]; + features = { + "encoding" = [ "encoding_rs" ]; + "serialize" = [ "serde" ]; + }; + resolvedDefaultFeatures = [ "default" "encoding" "encoding_rs" ]; + }; + "quick-xml 0.18.1" = rec { + crateName = "quick-xml"; + version = "0.18.1"; + edition = "2015"; + sha256 = "10hgdb4i80jlxbib27d39mr474as4lz1w0k5f4snxa0293p41i1w"; + authors = [ + "Johann Tuffe " + ]; + dependencies = [ + { + name = "encoding_rs"; + packageId = "encoding_rs"; + optional = true; + } + { + name = "memchr"; + packageId = "memchr"; + } + ]; + features = { + "encoding" = [ "encoding_rs" ]; + "serialize" = [ "serde" ]; + }; + resolvedDefaultFeatures = [ "default" "encoding" "encoding_rs" ]; + }; + "quote" = rec { + crateName = "quote"; + version = "1.0.6"; + edition = "2018"; + sha256 = "1sj4prziz4zdbwad2krk5rlzixlg757ij44m1ihnzbajlr91i8jl"; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "proc-macro" ]; + "proc-macro" = [ "proc-macro2/proc-macro" ]; + }; + resolvedDefaultFeatures = [ "default" "proc-macro" ]; + }; + "rand" = rec { + crateName = "rand"; + version = "0.7.3"; + edition = "2018"; + sha256 = "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva"; + authors = [ + "The Rand Project Developers" + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "getrandom"; + packageId = "getrandom"; + rename = "getrandom_package"; + optional = true; + } + { + name = "libc"; + packageId = "libc"; + optional = true; + usesDefaultFeatures = false; + target = { target, features }: target."unix"; + } + { + name = "rand_chacha"; + packageId = "rand_chacha"; + usesDefaultFeatures = false; + target = { target, features }: (!(target."os" == "emscripten")); + } + { + name = "rand_core"; + packageId = "rand_core"; + } + { + name = "rand_hc"; + packageId = "rand_hc"; + target = { target, features }: (target."os" == "emscripten"); + } + ]; + devDependencies = [ + { + name = "rand_hc"; + packageId = "rand_hc"; + } + ]; + features = { + "alloc" = [ "rand_core/alloc" ]; + "default" = [ "std" ]; + "getrandom" = [ "getrandom_package" "rand_core/getrandom" ]; + "nightly" = [ "simd_support" ]; + "simd_support" = [ "packed_simd" ]; + "small_rng" = [ "rand_pcg" ]; + "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ]; + "stdweb" = [ "getrandom_package/stdweb" ]; + "wasm-bindgen" = [ "getrandom_package/wasm-bindgen" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "getrandom_package" "libc" "std" ]; + }; + "rand_chacha" = rec { + crateName = "rand_chacha"; + version = "0.2.2"; + edition = "2018"; + sha256 = "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l"; + authors = [ + "The Rand Project Developers" + "The Rust Project Developers" + "The CryptoCorrosion Contributors" + ]; + dependencies = [ + { + name = "ppv-lite86"; + packageId = "ppv-lite86"; + usesDefaultFeatures = false; + features = [ "simd" ]; + } + { + name = "rand_core"; + packageId = "rand_core"; + } + ]; + features = { + "default" = [ "std" "simd" ]; + "std" = [ "ppv-lite86/std" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "rand_core" = rec { + crateName = "rand_core"; + version = "0.5.1"; + edition = "2018"; + sha256 = "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch"; + authors = [ + "The Rand Project Developers" + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "getrandom"; + packageId = "getrandom"; + optional = true; + } + ]; + features = { + "serde1" = [ "serde" ]; + "std" = [ "alloc" "getrandom" "getrandom/std" ]; + }; + resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ]; + }; + "rand_hc" = rec { + crateName = "rand_hc"; + version = "0.2.0"; + edition = "2018"; + sha256 = "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa"; + authors = [ + "The Rand Project Developers" + ]; + dependencies = [ + { + name = "rand_core"; + packageId = "rand_core"; + } + ]; + + }; + "redox_syscall" = rec { + crateName = "redox_syscall"; + version = "0.1.56"; + edition = "2015"; + sha256 = "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"; + libName = "syscall"; + authors = [ + "Jeremy Soller " + ]; + + }; + "regex" = rec { + crateName = "regex"; + version = "1.3.9"; + edition = "2015"; + sha256 = "1rnqga94ypykl2apgj26l2j1s9bvr2ix4dlzs323n6abyky80dww"; + 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" "regex-syntax/default" ]; + "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" "regex-syntax/unicode" ]; + "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-automata" = rec { + crateName = "regex-automata"; + version = "0.1.9"; + edition = "2015"; + sha256 = "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df"; + authors = [ + "Andrew Gallant " + ]; + dependencies = [ + { + name = "byteorder"; + packageId = "byteorder"; + usesDefaultFeatures = false; + } + { + name = "regex-syntax"; + packageId = "regex-syntax"; + optional = true; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "regex-syntax" ]; + "transducer" = [ "std" "fst" ]; + }; + resolvedDefaultFeatures = [ "default" "regex-syntax" "std" ]; + }; + "regex-syntax" = rec { + crateName = "regex-syntax"; + version = "0.6.18"; + edition = "2015"; + sha256 = "1s648w7rwpxnq9iqwbyy43ar4al07906jpz0jxlql23bgjwjwh96"; + authors = [ + "The Rust Project Developers" + ]; + features = { + "default" = [ "unicode" ]; + "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ]; + }; + resolvedDefaultFeatures = [ "default" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ]; + }; + "remove_dir_all" = rec { + crateName = "remove_dir_all"; + version = "0.5.2"; + edition = "2015"; + sha256 = "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"; + authors = [ + "Aaronepower " + ]; + dependencies = [ + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: target."windows"; + features = [ "std" "errhandlingapi" "winerror" "fileapi" "winbase" ]; + } + ]; + + }; + "reqwest" = rec { + crateName = "reqwest"; + version = "0.10.6"; + edition = "2018"; + sha256 = "1066brizayzb974qwh7f1f6lpmi8hnya9qs36ksjcprhiciwk0iv"; + authors = [ + "Sean McArthur " + ]; + dependencies = [ + { + name = "base64"; + packageId = "base64"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "encoding_rs"; + packageId = "encoding_rs"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "http"; + packageId = "http"; + } + { + name = "http-body"; + packageId = "http-body"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "hyper"; + packageId = "hyper"; + usesDefaultFeatures = false; + target = { target, features }: (!(target."arch" == "wasm32")); + features = [ "tcp" ]; + } + { + name = "hyper-tls"; + packageId = "hyper-tls"; + optional = true; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "js-sys"; + packageId = "js-sys"; + target = { target, features }: (target."arch" == "wasm32"); + } + { + name = "lazy_static"; + packageId = "lazy_static"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "log"; + packageId = "log"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "mime"; + packageId = "mime"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "mime_guess"; + packageId = "mime_guess"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "native-tls"; + packageId = "native-tls"; + rename = "native-tls-crate"; + optional = true; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "percent-encoding"; + packageId = "percent-encoding"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "pin-project-lite"; + packageId = "pin-project-lite"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "serde"; + packageId = "serde"; + } + { + name = "serde_json"; + packageId = "serde_json"; + optional = true; + } + { + name = "serde_urlencoded"; + packageId = "serde_urlencoded"; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "tokio"; + packageId = "tokio"; + usesDefaultFeatures = false; + target = { target, features }: (!(target."arch" == "wasm32")); + features = [ "tcp" "time" ]; + } + { + name = "tokio-tls"; + packageId = "tokio-tls"; + optional = true; + target = { target, features }: (!(target."arch" == "wasm32")); + } + { + name = "url"; + packageId = "url"; + } + { + name = "wasm-bindgen"; + packageId = "wasm-bindgen"; + target = { target, features }: (target."arch" == "wasm32"); + features = [ "serde-serialize" ]; + } + { + name = "wasm-bindgen-futures"; + packageId = "wasm-bindgen-futures"; + target = { target, features }: (target."arch" == "wasm32"); + } + { + name = "web-sys"; + packageId = "web-sys"; + target = { target, features }: (target."arch" == "wasm32"); + features = [ "Headers" "Request" "RequestInit" "RequestMode" "Response" "Window" ]; + } + { + name = "winreg"; + packageId = "winreg"; + target = { target, features }: target."windows"; + } + ]; + devDependencies = [ + { + name = "hyper"; + packageId = "hyper"; + usesDefaultFeatures = false; + target = {target, features}: (!(target."arch" == "wasm32")); + features = [ "tcp" "stream" ]; + } + { + name = "serde"; + packageId = "serde"; + target = {target, features}: (!(target."arch" == "wasm32")); + features = [ "derive" ]; + } + { + name = "tokio"; + packageId = "tokio"; + usesDefaultFeatures = false; + target = {target, features}: (!(target."arch" == "wasm32")); + features = [ "macros" ]; + } + ]; + features = { + "blocking" = [ "futures-util/io" "tokio/rt-threaded" "tokio/rt-core" "tokio/sync" ]; + "brotli" = [ "async-compression" "async-compression/brotli" ]; + "cookies" = [ "cookie_crate" "cookie_store" "time" ]; + "default" = [ "default-tls" ]; + "default-tls" = [ "hyper-tls" "native-tls-crate" "__tls" "tokio-tls" ]; + "gzip" = [ "async-compression" "async-compression/gzip" ]; + "json" = [ "serde_json" ]; + "native-tls" = [ "default-tls" ]; + "native-tls-vendored" = [ "native-tls" "native-tls-crate/vendored" ]; + "rustls-tls" = [ "hyper-rustls" "tokio-rustls" "webpki-roots" "rustls" "__tls" ]; + "socks" = [ "tokio-socks" ]; + "trust-dns" = [ "trust-dns-resolver" ]; + }; + resolvedDefaultFeatures = [ "__tls" "default" "default-tls" "hyper-tls" "json" "native-tls-crate" "serde_json" "tokio-tls" ]; + }; + "rss" = rec { + crateName = "rss"; + version = "1.9.0"; + edition = "2018"; + sha256 = "1yffddwm3kcb5wr0bwpdhirm29l41fyvmvcx245ghq0ca42r55wr"; + authors = [ + "James Hurst " + "Corey Farwell " + "Chris Palmer " + ]; + dependencies = [ + { + name = "derive_builder"; + packageId = "derive_builder"; + optional = true; + } + { + name = "quick-xml"; + packageId = "quick-xml 0.17.2"; + features = [ "encoding" ]; + } + ]; + features = { + "builders" = [ "derive_builder" ]; + "default" = [ "builders" ]; + "from_url" = [ "reqwest" ]; + "validation" = [ "chrono" "url" "mime" ]; + }; + resolvedDefaultFeatures = [ "builders" "default" "derive_builder" ]; + }; + "rustc-demangle" = rec { + crateName = "rustc-demangle"; + version = "0.1.16"; + edition = "2015"; + sha256 = "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac"; + authors = [ + "Alex Crichton " + ]; + features = { + "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + }; + }; + "ryu" = rec { + crateName = "ryu"; + version = "1.0.5"; + edition = "2018"; + sha256 = "0vpqv1dj7fksa6hm3zpk5rbsjs0ifbfy7xwzsyyil0rx37a03lvi"; + authors = [ + "David Tolnay " + ]; + features = { + }; + }; + "schannel" = rec { + crateName = "schannel"; + version = "0.1.19"; + edition = "2015"; + sha256 = "0xdwr3clrylywpv2r5hw7mrxmsf7ljagwiymw2z60ki3kihbl1cg"; + authors = [ + "Steven Fackler " + "Steffen Butzer " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + name = "winapi"; + packageId = "winapi 0.3.8"; + features = [ "lmcons" "minschannel" "securitybaseapi" "schannel" "sspi" "sysinfoapi" "timezoneapi" "winbase" "wincrypt" "winerror" ]; + } + ]; + + }; + "scoped-tls-hkt" = rec { + crateName = "scoped-tls-hkt"; + version = "0.1.2"; + edition = "2018"; + sha256 = "0qrsmm2013ry5yl7sv5qb6hkr48y1sp3c4d7mbxyh9xjvpmdgsf2"; + authors = [ + "Diggory Blake " + ]; + + }; + "scopeguard" = rec { + crateName = "scopeguard"; + version = "1.1.0"; + edition = "2015"; + sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj"; + authors = [ + "bluss" + ]; + features = { + "default" = [ "use_std" ]; + }; + }; + "security-framework" = rec { + crateName = "security-framework"; + version = "0.4.4"; + edition = "2015"; + sha256 = "0dg504y0ys27qksdcnn8qcyvrfhkjx8f5d6jvpm7i7yrsw18k034"; + authors = [ + "Steven Fackler " + "Kornel " + ]; + dependencies = [ + { + name = "bitflags"; + packageId = "bitflags"; + } + { + name = "core-foundation"; + packageId = "core-foundation"; + } + { + name = "core-foundation-sys"; + packageId = "core-foundation-sys"; + } + { + name = "libc"; + packageId = "libc"; + } + { + name = "security-framework-sys"; + packageId = "security-framework-sys"; + } + ]; + features = { + "OSX_10_10" = [ "OSX_10_9" "security-framework-sys/OSX_10_10" ]; + "OSX_10_11" = [ "OSX_10_10" "security-framework-sys/OSX_10_11" ]; + "OSX_10_12" = [ "OSX_10_11" "security-framework-sys/OSX_10_12" ]; + "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" ]; + "OSX_10_9" = [ "security-framework-sys/OSX_10_9" ]; + }; + }; + "security-framework-sys" = rec { + crateName = "security-framework-sys"; + version = "0.4.3"; + edition = "2015"; + sha256 = "01c4fkj78frz6kz9vri1am2pbkz52raxws5lbrli5xajjbci3gqp"; + authors = [ + "Steven Fackler " + "Kornel " + ]; + dependencies = [ + { + name = "core-foundation-sys"; + packageId = "core-foundation-sys"; + } + { + name = "libc"; + packageId = "libc"; + } + ]; + features = { + "OSX_10_10" = [ "OSX_10_9" ]; + "OSX_10_11" = [ "OSX_10_10" ]; + "OSX_10_12" = [ "OSX_10_11" ]; + "OSX_10_13" = [ "OSX_10_12" ]; + }; + }; + "serde" = rec { + crateName = "serde"; + version = "1.0.111"; + edition = "2015"; + sha256 = "0zg3i95c663yqyfmqpwr1l3s6h60jjw6mk5jh003ig8cnksls4n9"; + authors = [ + "Erick Tryzelaar " + "David Tolnay " + ]; + 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.111"; + edition = "2015"; + sha256 = "0l5j3v7g4lj18w4iifzz7jp83gv206a2645yp209q7nawv43lb1z"; + procMacro = true; + authors = [ + "Erick Tryzelaar " + "David Tolnay " + ]; + 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.53"; + edition = "2018"; + sha256 = "18nfckwa4zqaz27l7di0jwgw5bf6a3wjhx8snfli34hqbgklhfcr"; + authors = [ + "Erick Tryzelaar " + "David Tolnay " + ]; + 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" ]; + }; + "serde_urlencoded" = rec { + crateName = "serde_urlencoded"; + version = "0.6.1"; + edition = "2015"; + sha256 = "15rcwfkff0md5i231m2ym5756ksw1mkh5b5g2rw72wsc5mzdgicy"; + authors = [ + "Anthony Ramine " + ]; + dependencies = [ + { + name = "dtoa"; + packageId = "dtoa"; + } + { + name = "itoa"; + packageId = "itoa"; + } + { + name = "serde"; + packageId = "serde"; + } + { + name = "url"; + packageId = "url"; + } + ]; + + }; + "sharded-slab" = rec { + crateName = "sharded-slab"; + version = "0.0.9"; + edition = "2018"; + sha256 = "0gpz2zmc73w0qlhypqv1b4irw56yp7lfxwirahmb9dbg2vss7m86"; + authors = [ + "Eliza Weisman " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + } + ]; + + }; + "slab" = rec { + crateName = "slab"; + version = "0.4.2"; + edition = "2015"; + sha256 = "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"; + authors = [ + "Carl Lerche " + ]; + + }; + "smallvec" = rec { + crateName = "smallvec"; + version = "1.4.0"; + edition = "2018"; + sha256 = "1r2yxn8qamzb1jn91zbphl0x49scbfxxjr629ql58mv1w5w5djy7"; + libPath = "lib.rs"; + authors = [ + "Simon Sapin " + ]; + features = { + }; + }; + "smol" = rec { + crateName = "smol"; + version = "0.1.10"; + edition = "2018"; + sha256 = "1dv1lqsp7zch9hwh465k7fzlyhnyxs0g287ddbpzygw7s5566v38"; + authors = [ + "Stjepan Glavina " + ]; + dependencies = [ + { + name = "async-task"; + packageId = "async-task"; + } + { + name = "crossbeam"; + packageId = "crossbeam"; + } + { + name = "futures-io"; + packageId = "futures-io"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "std" "io" ]; + } + { + name = "nix"; + packageId = "nix"; + target = { target, features }: target."unix"; + } + { + name = "once_cell"; + packageId = "once_cell"; + } + { + name = "piper"; + packageId = "piper"; + } + { + name = "scoped-tls-hkt"; + packageId = "scoped-tls-hkt"; + } + { + name = "slab"; + packageId = "slab"; + } + { + name = "socket2"; + packageId = "socket2"; + features = [ "pair" "unix" ]; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + features = [ "rt-threaded" ]; + } + { + name = "wepoll-binding"; + packageId = "wepoll-binding"; + target = { target, features }: target."windows"; + } + ]; + features = { + "tokio02" = [ "tokio" ]; + }; + resolvedDefaultFeatures = [ "tokio" "tokio02" ]; + }; + "socket2" = rec { + crateName = "socket2"; + version = "0.3.12"; + edition = "2018"; + sha256 = "062921z4yc29mwzxx982nwd1kb8lnfqyvhncydbf7p3pys9qf203"; + authors = [ + "Alex Crichton " + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + target = { target, features }: (target."unix" || (target."os" == "redox")); + } + { + name = "libc"; + packageId = "libc"; + target = { target, features }: (target."unix" || (target."os" == "redox")); + } + { + name = "redox_syscall"; + packageId = "redox_syscall"; + target = { target, features }: (target."os" == "redox"); + } + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: target."windows"; + features = [ "handleapi" "ws2def" "ws2ipdef" "ws2tcpip" "minwindef" ]; + } + ]; + features = { + }; + resolvedDefaultFeatures = [ "pair" "unix" ]; + }; + "sqlformat" = rec { + crateName = "sqlformat"; + version = "0.1.0"; + edition = "2018"; + sha256 = "0cf609g4hsfk1fmcnnr6zk8gwv0gikdwrwqva4p0lwp1fr2lmrjw"; + authors = [ + "Josh Holmer " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + name = "maplit"; + packageId = "maplit"; + } + { + name = "regex"; + packageId = "regex"; + } + ]; + + }; + "sqlx" = rec { + crateName = "sqlx"; + version = "0.3.5"; + edition = "2018"; + sha256 = "0f5h0clgnvmj0lwlrhsdc18v6vzc1mk8sw3qwx4vwpq8h36wlx49"; + authors = [ + "Ryan Leckey " + "Austin Bonander " + "Zachery Gyurkovitz " + "Daniel Akhterov " + ]; + dependencies = [ + { + name = "sqlx-core"; + packageId = "sqlx-core"; + usesDefaultFeatures = false; + } + { + name = "sqlx-macros"; + packageId = "sqlx-macros"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "all" = [ "tls" "all-database" "all-type" ]; + "all-database" = [ "mysql" "sqlite" "postgres" ]; + "all-type" = [ "bigdecimal" "json" "time" "chrono" "ipnetwork" "uuid" ]; + "bigdecimal" = [ "sqlx-core/bigdecimal" "sqlx-macros/bigdecimal" ]; + "chrono" = [ "sqlx-core/chrono" "sqlx-macros/chrono" ]; + "default" = [ "macros" "runtime-async-std" ]; + "ipnetwork" = [ "sqlx-core/ipnetwork" "sqlx-macros/ipnetwork" ]; + "json" = [ "sqlx-core/json" "sqlx-macros/json" ]; + "macros" = [ "sqlx-macros" ]; + "mysql" = [ "sqlx-core/mysql" "sqlx-macros/mysql" ]; + "postgres" = [ "sqlx-core/postgres" "sqlx-macros/postgres" ]; + "runtime-async-std" = [ "sqlx-core/runtime-async-std" "sqlx-macros/runtime-async-std" ]; + "runtime-tokio" = [ "sqlx-core/runtime-tokio" "sqlx-macros/runtime-tokio" ]; + "sqlite" = [ "sqlx-core/sqlite" "sqlx-macros/sqlite" ]; + "time" = [ "sqlx-core/time" "sqlx-macros/time" ]; + "tls" = [ "sqlx-core/tls" ]; + "uuid" = [ "sqlx-core/uuid" "sqlx-macros/uuid" ]; + }; + resolvedDefaultFeatures = [ "macros" "runtime-tokio" "sqlite" "sqlx-macros" ]; + }; + "sqlx-core" = rec { + crateName = "sqlx-core"; + version = "0.3.5"; + edition = "2018"; + sha256 = "0wv2414dknzykb9qrrjh2j7cbhzm1mriliq9qpm4474ldx1mmb48"; + authors = [ + "Ryan Leckey " + "Austin Bonander " + "Zachery Gyurkovitz " + "Daniel Akhterov " + ]; + dependencies = [ + { + name = "async-native-tls"; + packageId = "async-native-tls"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "async-stream"; + packageId = "async-stream"; + usesDefaultFeatures = false; + } + { + name = "bitflags"; + packageId = "bitflags"; + usesDefaultFeatures = false; + } + { + name = "byteorder"; + packageId = "byteorder"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "crossbeam-queue"; + packageId = "crossbeam-queue"; + } + { + name = "crossbeam-utils"; + packageId = "crossbeam-utils"; + usesDefaultFeatures = false; + } + { + name = "futures-channel"; + packageId = "futures-channel"; + usesDefaultFeatures = false; + features = [ "alloc" "std" ]; + } + { + name = "futures-core"; + packageId = "futures-core"; + usesDefaultFeatures = false; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + } + { + name = "hex"; + packageId = "hex"; + } + { + name = "libc"; + packageId = "libc"; + } + { + name = "libsqlite3-sys"; + packageId = "libsqlite3-sys"; + optional = true; + usesDefaultFeatures = false; + features = [ "pkg-config" "vcpkg" "bundled" ]; + } + { + name = "log"; + packageId = "log"; + usesDefaultFeatures = false; + } + { + name = "memchr"; + packageId = "memchr"; + usesDefaultFeatures = false; + } + { + name = "percent-encoding"; + packageId = "percent-encoding"; + } + { + name = "sqlformat"; + packageId = "sqlformat"; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + features = [ "dns" "fs" "time" "tcp" ]; + } + { + name = "url"; + packageId = "url"; + usesDefaultFeatures = false; + } + ]; + features = { + "all" = [ "all-database" "all-type" ]; + "all-database" = [ "mysql" "sqlite" "postgres" ]; + "all-type" = [ "bigdecimal" "json" "time" "chrono" "ipnetwork" "uuid" ]; + "bigdecimal" = [ "bigdecimal_" "num-bigint" ]; + "default" = [ "runtime-async-std" ]; + "json" = [ "serde" "serde_json" ]; + "mysql" = [ "sha-1" "sha2" "generic-array" "num-bigint" "base64" "digest" "rand" ]; + "postgres" = [ "md-5" "sha2" "base64" "sha-1" "rand" "hmac" "futures-channel/sink" "futures-util/sink" "tokio/uds" ]; + "runtime-async-std" = [ "async-native-tls/runtime-async-std" "async-std" ]; + "runtime-tokio" = [ "async-native-tls/runtime-tokio" "tokio" ]; + "sqlite" = [ "libsqlite3-sys" ]; + "tls" = [ "async-native-tls" ]; + }; + resolvedDefaultFeatures = [ "async-native-tls" "libsqlite3-sys" "runtime-tokio" "sqlite" "tokio" ]; + }; + "sqlx-macros" = rec { + crateName = "sqlx-macros"; + version = "0.3.5"; + edition = "2018"; + sha256 = "1037bvqp3kr4rw2vhyq8qcqyam9pb9d6c50vh4nr5x9sg25yfany"; + procMacro = true; + authors = [ + "Ryan Leckey " + "Austin Bonander " + "Zachery Gyurkovitz " + "Daniel Akhterov " + ]; + dependencies = [ + { + name = "dotenv"; + packageId = "dotenv"; + usesDefaultFeatures = false; + } + { + name = "futures"; + packageId = "futures"; + usesDefaultFeatures = false; + features = [ "executor" ]; + } + { + name = "heck"; + packageId = "heck"; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + optional = true; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + usesDefaultFeatures = false; + } + { + name = "quote"; + packageId = "quote"; + usesDefaultFeatures = false; + } + { + name = "sqlx-core"; + packageId = "sqlx-core"; + rename = "sqlx"; + usesDefaultFeatures = false; + } + { + name = "syn"; + packageId = "syn"; + usesDefaultFeatures = false; + features = [ "full" ]; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + features = [ "rt-threaded" ]; + } + { + name = "url"; + packageId = "url"; + usesDefaultFeatures = false; + } + ]; + features = { + "bigdecimal" = [ "sqlx/bigdecimal" ]; + "chrono" = [ "sqlx/chrono" ]; + "default" = [ "runtime-async-std" ]; + "ipnetwork" = [ "sqlx/ipnetwork" ]; + "json" = [ "sqlx/json" "serde_json" ]; + "mysql" = [ "sqlx/mysql" ]; + "postgres" = [ "sqlx/postgres" ]; + "runtime-async-std" = [ "sqlx/runtime-async-std" "async-std" ]; + "runtime-tokio" = [ "sqlx/runtime-tokio" "tokio" "lazy_static" ]; + "sqlite" = [ "sqlx/sqlite" ]; + "time" = [ "sqlx/time" ]; + "uuid" = [ "sqlx/uuid" ]; + }; + resolvedDefaultFeatures = [ "lazy_static" "runtime-tokio" "sqlite" "tokio" ]; + }; + "strsim 0.8.0" = rec { + crateName = "strsim"; + version = "0.8.0"; + edition = "2015"; + sha256 = "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"; + authors = [ + "Danny Guo " + ]; + + }; + "strsim 0.9.3" = rec { + crateName = "strsim"; + version = "0.9.3"; + edition = "2015"; + sha256 = "0k497pv882qn3q977ckznm13vxx927g8s1swvcv68j3c1pccwik4"; + authors = [ + "Danny Guo " + ]; + + }; + "structopt" = rec { + crateName = "structopt"; + version = "0.3.14"; + edition = "2018"; + sha256 = "1vxl2rsi0xbyxwsrjf8v9sg5j1gmcp5akcgyin9ddl6xynm4ccl6"; + authors = [ + "Guillaume Pinot " + "others" + ]; + dependencies = [ + { + name = "clap"; + packageId = "clap"; + usesDefaultFeatures = false; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + 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.4.7"; + edition = "2018"; + sha256 = "0ylj5w6l7p7z7qxx7biph3znaxj5kvbcp5b75qaa5rxf2d5wlffj"; + procMacro = true; + authors = [ + "Guillaume Pinot " + ]; + 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.30"; + edition = "2018"; + sha256 = "1qp4bypcmgx3w078p8lgv1z3wwcw4k635j5n93z21klxqnmnz9ck"; + authors = [ + "David Tolnay " + ]; + 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" "visit-mut" ]; + }; + "syn-mid" = rec { + crateName = "syn-mid"; + version = "0.5.0"; + edition = "2018"; + sha256 = "12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv"; + authors = [ + "Taiki Endo " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + usesDefaultFeatures = false; + features = [ "parsing" "printing" "derive" ]; + } + ]; + features = { + "clone-impls" = [ "syn/clone-impls" ]; + }; + }; + "synstructure" = rec { + crateName = "synstructure"; + version = "0.12.3"; + edition = "2018"; + sha256 = "0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7"; + authors = [ + "Nika Layzell " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + usesDefaultFeatures = false; + } + { + name = "quote"; + packageId = "quote"; + usesDefaultFeatures = false; + } + { + name = "syn"; + packageId = "syn"; + usesDefaultFeatures = false; + features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ]; + } + { + name = "unicode-xid"; + packageId = "unicode-xid"; + } + ]; + features = { + "default" = [ "proc-macro" ]; + "proc-macro" = [ "proc-macro2/proc-macro" "syn/proc-macro" "quote/proc-macro" ]; + }; + resolvedDefaultFeatures = [ "default" "proc-macro" ]; + }; + "tempfile" = rec { + crateName = "tempfile"; + version = "3.1.0"; + edition = "2018"; + sha256 = "1a9cfdqw70n7bcnkx05aih9xdba8lqazmqlkjpkmn2la6gcj8vks"; + authors = [ + "Steven Allen " + "The Rust Project Developers" + "Ashley Mannix " + "Jason White " + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "libc"; + packageId = "libc"; + target = { target, features }: target."unix"; + } + { + name = "rand"; + packageId = "rand"; + } + { + name = "redox_syscall"; + packageId = "redox_syscall"; + target = { target, features }: (target."os" == "redox"); + } + { + name = "remove_dir_all"; + packageId = "remove_dir_all"; + } + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: target."windows"; + features = [ "fileapi" "handleapi" "winbase" ]; + } + ]; + + }; + "textwrap" = rec { + crateName = "textwrap"; + version = "0.11.0"; + edition = "2015"; + sha256 = "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"; + authors = [ + "Martin Geisler " + ]; + dependencies = [ + { + name = "unicode-width"; + packageId = "unicode-width"; + } + ]; + + }; + "thiserror" = rec { + crateName = "thiserror"; + version = "1.0.19"; + edition = "2018"; + sha256 = "0i63pw7qanxhyajv0nh8x5kgifq47f115yi9s5fmj05dcmlr4gxi"; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "thiserror-impl"; + packageId = "thiserror-impl"; + } + ]; + + }; + "thiserror-impl" = rec { + crateName = "thiserror-impl"; + version = "1.0.19"; + edition = "2018"; + sha256 = "0ygllwcnbglqx156fv04n5sa0c2hbfk6aqlhizhwv61gdh484dc9"; + procMacro = true; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + } + ]; + + }; + "thread_local" = rec { + crateName = "thread_local"; + version = "1.0.1"; + edition = "2015"; + sha256 = "054vlrr1vsdy1h4b7n99mr24pnj8928ig9qwzg36wnkld4dns36l"; + authors = [ + "Amanieu d'Antras " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + } + ]; + + }; + "time" = rec { + crateName = "time"; + version = "0.1.43"; + edition = "2015"; + sha256 = "0f14wrgxj7ya2v4msg5mni7046bsm2angm7cn3pd3yv04gpm12na"; + authors = [ + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "libc"; + packageId = "libc"; + } + { + name = "winapi"; + packageId = "winapi 0.3.8"; + target = { target, features }: target."windows"; + features = [ "std" "minwinbase" "minwindef" "ntdef" "profileapi" "sysinfoapi" "timezoneapi" ]; + } + ]; + devDependencies = [ + { + name = "winapi"; + packageId = "winapi 0.3.8"; + features = [ "std" "processthreadsapi" "winbase" ]; + } + ]; + + }; + "tokio" = rec { + crateName = "tokio"; + version = "0.2.21"; + edition = "2018"; + sha256 = "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh"; + authors = [ + "Tokio Contributors " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "fnv"; + packageId = "fnv"; + optional = true; + } + { + name = "futures-core"; + packageId = "futures-core"; + optional = true; + } + { + name = "iovec"; + packageId = "iovec"; + optional = true; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + optional = true; + } + { + name = "memchr"; + packageId = "memchr"; + optional = true; + } + { + name = "mio"; + packageId = "mio"; + optional = true; + } + { + name = "num_cpus"; + packageId = "num_cpus"; + optional = true; + } + { + name = "pin-project-lite"; + packageId = "pin-project-lite"; + } + { + name = "slab"; + packageId = "slab"; + optional = true; + } + ]; + features = { + "blocking" = [ "rt-core" ]; + "dns" = [ "rt-core" ]; + "fs" = [ "rt-core" "io-util" ]; + "full" = [ "blocking" "dns" "fs" "io-driver" "io-util" "io-std" "macros" "net" "process" "rt-core" "rt-util" "rt-threaded" "signal" "stream" "sync" "time" ]; + "io-driver" = [ "mio" "lazy_static" ]; + "io-std" = [ "rt-core" ]; + "io-util" = [ "memchr" ]; + "macros" = [ "tokio-macros" ]; + "net" = [ "dns" "tcp" "udp" "uds" ]; + "process" = [ "io-driver" "libc" "mio-named-pipes" "signal" "winapi/consoleapi" "winapi/minwindef" "winapi/threadpoollegacyapiset" "winapi/winerror" ]; + "rt-threaded" = [ "num_cpus" "rt-core" ]; + "signal" = [ "io-driver" "lazy_static" "libc" "mio-uds" "signal-hook-registry" "winapi/consoleapi" "winapi/minwindef" ]; + "stream" = [ "futures-core" ]; + "sync" = [ "fnv" ]; + "tcp" = [ "io-driver" "iovec" ]; + "time" = [ "slab" ]; + "udp" = [ "io-driver" ]; + "uds" = [ "io-driver" "mio-uds" "libc" ]; + }; + resolvedDefaultFeatures = [ "blocking" "default" "dns" "fnv" "fs" "futures-core" "io-driver" "io-util" "iovec" "lazy_static" "memchr" "mio" "num_cpus" "rt-core" "rt-threaded" "slab" "stream" "sync" "tcp" "time" ]; + }; + "tokio-tls" = rec { + crateName = "tokio-tls"; + version = "0.3.1"; + edition = "2018"; + sha256 = "0hv375949532p32d0w6bm2f6d3r0d00mcdzqjjqlzcmkszyg8w4s"; + authors = [ + "Tokio Contributors " + ]; + dependencies = [ + { + name = "native-tls"; + packageId = "native-tls"; + } + { + name = "tokio"; + packageId = "tokio"; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "macros" "stream" "rt-core" "io-util" "net" ]; + } + ]; + + }; + "tokio-util" = rec { + crateName = "tokio-util"; + version = "0.3.1"; + edition = "2018"; + sha256 = "16b48dl6sbc9x944jgjvsd65ab1w2c2qcziddbrbwv1b3y4l50my"; + authors = [ + "Tokio Contributors " + ]; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "futures-core"; + packageId = "futures-core"; + } + { + name = "futures-sink"; + packageId = "futures-sink"; + } + { + name = "log"; + packageId = "log"; + } + { + name = "pin-project-lite"; + packageId = "pin-project-lite"; + } + { + name = "tokio"; + packageId = "tokio"; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "full" ]; + } + ]; + features = { + "codec" = [ "tokio/stream" ]; + "compat" = [ "futures-io" ]; + "full" = [ "codec" "udp" "compat" ]; + "udp" = [ "tokio/udp" ]; + }; + resolvedDefaultFeatures = [ "codec" "default" ]; + }; + "tower-service" = rec { + crateName = "tower-service"; + version = "0.3.0"; + edition = "2018"; + sha256 = "0q4q53w82w1wd71x7vbspg2l3jicb6al2w1qdwxmnjrz8jzvd1z9"; + authors = [ + "Tower Maintainers " + ]; + + }; + "tracing" = rec { + crateName = "tracing"; + version = "0.1.14"; + edition = "2018"; + sha256 = "08r98sp312rxwsm26wzgd013w134gfvhdswhv6r8q8bd26fvbim7"; + authors = [ + "Eliza Weisman " + "Tokio Contributors " + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "tracing-attributes"; + packageId = "tracing-attributes"; + optional = true; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + usesDefaultFeatures = false; + } + ]; + features = { + "attributes" = [ "tracing-attributes" ]; + "default" = [ "std" "attributes" ]; + "log-always" = [ "log" ]; + "std" = [ "tracing-core/std" ]; + }; + resolvedDefaultFeatures = [ "attributes" "default" "std" "tracing-attributes" ]; + }; + "tracing-attributes" = rec { + crateName = "tracing-attributes"; + version = "0.1.8"; + edition = "2018"; + sha256 = "0k4qvq437md3zynm8qbas6jfb0xp222xisij6af3r4pxwc6svfwr"; + procMacro = true; + authors = [ + "Tokio Contributors " + "Eliza Weisman " + "David Barsky " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { + }; + }; + "tracing-core" = rec { + crateName = "tracing-core"; + version = "0.1.10"; + edition = "2018"; + sha256 = "05dpa21valy0c6nj5ybn951774icxhdb70cwq0ida7088yd3ma0a"; + authors = [ + "Tokio Contributors " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + optional = true; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "lazy_static" ]; + }; + resolvedDefaultFeatures = [ "default" "lazy_static" "std" ]; + }; + "tracing-log" = rec { + crateName = "tracing-log"; + version = "0.1.1"; + edition = "2018"; + sha256 = "1fdr0az98q9m5kiybvdvsb2m9mg86fdidgb5czzq2d71g1qqq3sy"; + authors = [ + "Tokio Contributors " + ]; + dependencies = [ + { + name = "lazy_static"; + packageId = "lazy_static"; + } + { + name = "log"; + packageId = "log"; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + } + ]; + features = { + "default" = [ "log-tracer" "trace-logger" "std" ]; + "std" = [ "log/std" ]; + }; + resolvedDefaultFeatures = [ "log-tracer" "std" ]; + }; + "tracing-serde" = rec { + crateName = "tracing-serde"; + version = "0.1.1"; + edition = "2018"; + sha256 = "0ybfv0bzx542xkqzhcjx33knbs92zyvxjrf7iwkfvq0niwpvmk5n"; + authors = [ + "Tokio Contributors " + ]; + dependencies = [ + { + name = "serde"; + packageId = "serde"; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + } + ]; + + }; + "tracing-subscriber" = rec { + crateName = "tracing-subscriber"; + version = "0.2.5"; + edition = "2018"; + sha256 = "1li6g1hw2q3wz39c5g9kvw1q9jl6d3r87x0zsapcjsdai42c8lqx"; + authors = [ + "Eliza Weisman " + "David Barsky " + "Tokio Contributors " + ]; + dependencies = [ + { + name = "ansi_term"; + packageId = "ansi_term"; + optional = true; + } + { + name = "chrono"; + packageId = "chrono"; + optional = true; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + optional = true; + } + { + name = "matchers"; + packageId = "matchers"; + optional = true; + } + { + name = "regex"; + packageId = "regex"; + optional = true; + } + { + name = "serde"; + packageId = "serde"; + optional = true; + } + { + name = "serde_json"; + packageId = "serde_json"; + optional = true; + } + { + name = "sharded-slab"; + packageId = "sharded-slab"; + optional = true; + } + { + name = "smallvec"; + packageId = "smallvec"; + optional = true; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + } + { + name = "tracing-log"; + packageId = "tracing-log"; + optional = true; + usesDefaultFeatures = false; + features = [ "log-tracer" "std" ]; + } + { + name = "tracing-serde"; + packageId = "tracing-serde"; + optional = true; + } + ]; + devDependencies = [ + { + name = "tracing-log"; + packageId = "tracing-log"; + } + ]; + features = { + "ansi" = [ "fmt" "ansi_term" ]; + "default" = [ "env-filter" "smallvec" "fmt" "ansi" "chrono" "tracing-log" "json" ]; + "env-filter" = [ "matchers" "regex" "lazy_static" ]; + "fmt" = [ "registry" ]; + "json" = [ "tracing-serde" "serde" "serde_json" ]; + "registry" = [ "sharded-slab" ]; + }; + resolvedDefaultFeatures = [ "ansi" "ansi_term" "chrono" "default" "env-filter" "fmt" "json" "lazy_static" "matchers" "regex" "registry" "serde" "serde_json" "sharded-slab" "smallvec" "tracing-log" "tracing-serde" ]; + }; + "try-lock" = rec { + crateName = "try-lock"; + version = "0.2.2"; + edition = "2015"; + sha256 = "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"; + authors = [ + "Sean McArthur " + ]; + + }; + "unicase" = rec { + crateName = "unicase"; + version = "2.6.0"; + edition = "2015"; + sha256 = "1xmlbink4ycgxrkjspp0mf7pghcx4m7vxq7fpfm04ikr2zk7pwsh"; + authors = [ + "Sean McArthur " + ]; + buildDependencies = [ + { + name = "version_check"; + packageId = "version_check"; + } + ]; + features = { + }; + }; + "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.12"; + edition = "2015"; + sha256 = "195gb4fzlgg4g9cv6w057ncpmvvnx30r00w9hj114knhmlmm6yal"; + authors = [ + "kwantam " + ]; + dependencies = [ + { + name = "smallvec"; + packageId = "smallvec"; + } + ]; + + }; + "unicode-segmentation" = rec { + crateName = "unicode-segmentation"; + version = "1.6.0"; + edition = "2015"; + sha256 = "1h7d48mzpi8hwf5cvnq07warkv86pvapzzzf32hvbjsk20yiagp8"; + authors = [ + "kwantam " + "Manish Goregaokar " + ]; + features = { + }; + }; + "unicode-width" = rec { + crateName = "unicode-width"; + version = "0.1.7"; + edition = "2015"; + sha256 = "0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana"; + authors = [ + "kwantam " + "Manish Goregaokar " + ]; + 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 " + "kwantam " + ]; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "unreachable" = rec { + crateName = "unreachable"; + version = "1.0.0"; + edition = "2015"; + sha256 = "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q"; + authors = [ + "Jonathan Reem " + ]; + dependencies = [ + { + name = "void"; + packageId = "void"; + usesDefaultFeatures = false; + } + ]; + + }; + "url" = rec { + crateName = "url"; + version = "2.1.1"; + edition = "2015"; + sha256 = "1jw7cw8br4xvjb92ddrrh1r7jvqhyhiknnnfpgq9np63fs24m7c2"; + authors = [ + "The rust-url developers" + ]; + dependencies = [ + { + name = "idna"; + packageId = "idna"; + } + { + name = "matches"; + packageId = "matches"; + } + { + name = "percent-encoding"; + packageId = "percent-encoding"; + } + ]; + + }; + "vcpkg" = rec { + crateName = "vcpkg"; + version = "0.2.9"; + edition = "2015"; + sha256 = "0k6p226prl1g8rns3xi5ak44aki0xx6hmnr3wbqhf7hjaqfy9lam"; + authors = [ + "Jim McGrath " + ]; + + }; + "vec_map" = rec { + crateName = "vec_map"; + version = "0.8.2"; + edition = "2015"; + sha256 = "1481w9g1dw9rxp3l6snkdqihzyrd2f8vispzqmwjwsdyhw8xzggi"; + authors = [ + "Alex Crichton " + "Jorge Aparicio " + "Alexis Beingessner " + "Brian Anderson <>" + "tbu- <>" + "Manish Goregaokar <>" + "Aaron Turon " + "Adolfo Ochagavía <>" + "Niko Matsakis <>" + "Steven Fackler <>" + "Chase Southwood " + "Eduard Burtescu <>" + "Florian Wilkens <>" + "Félix Raimundo <>" + "Tibor Benke <>" + "Markus Siemens " + "Josh Branchaud " + "Huon Wilson " + "Corey Farwell " + "Aaron Liblong <>" + "Nick Cameron " + "Patrick Walton " + "Felix S Klock II <>" + "Andrew Paseltiner " + "Sean McArthur " + "Vadim Petrochenkov <>" + ]; + features = { + "eders" = [ "serde" ]; + }; + }; + "version_check" = rec { + crateName = "version_check"; + version = "0.9.2"; + edition = "2015"; + sha256 = "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm"; + authors = [ + "Sergio Benitez " + ]; + + }; + "void" = rec { + crateName = "void"; + version = "1.0.2"; + edition = "2015"; + sha256 = "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"; + authors = [ + "Jonathan Reem " + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "want" = rec { + crateName = "want"; + version = "0.3.0"; + edition = "2018"; + sha256 = "181b2zmwfq389x9n2g1n37cvcvvdand832zz6v8i1l8wrdlaks0w"; + authors = [ + "Sean McArthur " + ]; + dependencies = [ + { + name = "log"; + packageId = "log"; + } + { + name = "try-lock"; + packageId = "try-lock"; + } + ]; + + }; + "wasi" = rec { + crateName = "wasi"; + version = "0.9.0+wasi-snapshot-preview1"; + edition = "2018"; + sha256 = "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc"; + authors = [ + "The Cranelift Project Developers" + ]; + features = { + "default" = [ "std" ]; + "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "wasm-bindgen" = rec { + crateName = "wasm-bindgen"; + version = "0.2.63"; + edition = "2018"; + sha256 = "1w6yhs29qs4sbgvwkmcpcs5nlhb6p031lv2h9wrvqd182nmc8bac"; + authors = [ + "The wasm-bindgen Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "serde"; + packageId = "serde"; + optional = true; + } + { + name = "serde_json"; + packageId = "serde_json"; + optional = true; + } + { + 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" "serde" "serde-serialize" "serde_json" "spans" "std" ]; + }; + "wasm-bindgen-backend" = rec { + crateName = "wasm-bindgen-backend"; + version = "0.2.63"; + edition = "2018"; + sha256 = "0091h4fwamfc1x7572fsqnq2fis9nc60xpw4c6glj8gdw034zn6y"; + 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-futures" = rec { + crateName = "wasm-bindgen-futures"; + version = "0.4.13"; + edition = "2018"; + sha256 = "1xm2cdlsg5qj8srzvj9cf6sprwhis64j2ip8fzmhkwb3v0274j34"; + authors = [ + "The wasm-bindgen Developers" + ]; + dependencies = [ + { + name = "cfg-if"; + packageId = "cfg-if"; + } + { + name = "js-sys"; + packageId = "js-sys"; + } + { + name = "wasm-bindgen"; + packageId = "wasm-bindgen"; + } + { + name = "web-sys"; + packageId = "web-sys"; + target = { target, features }: (target."feature" == "atomics"); + features = [ "MessageEvent" "Worker" ]; + } + ]; + + }; + "wasm-bindgen-macro" = rec { + crateName = "wasm-bindgen-macro"; + version = "0.2.63"; + edition = "2018"; + sha256 = "1qzz0gvlc2mgzxix2sjhn4vqwimcvx6ygp0ywdrqvhfsi0v453l3"; + 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.63"; + edition = "2018"; + sha256 = "14lfwqk9k1i03p6liy8kn8vrb25sdildsg2k382l4wf7iqnhamii"; + authors = [ + "The wasm-bindgen Developers" + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "visit" ]; + } + { + 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.63"; + edition = "2018"; + sha256 = "1k8saav8a80pxcr2dyr9rn9r8a0fvirxlbimdzdz9njq7abikfn9"; + authors = [ + "The wasm-bindgen Developers" + ]; + + }; + "web-sys" = rec { + crateName = "web-sys"; + version = "0.3.40"; + edition = "2018"; + sha256 = "05qxyilbkgi03hppwnfjx7gv7rhbk8lzs4j4m8zbvr1rzmvzwwkv"; + 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 = [ "Event" "EventTarget" "Headers" "MessageEvent" "Request" "RequestInit" "RequestMode" "Response" "Window" "Worker" ]; + }; + "wepoll-binding" = rec { + crateName = "wepoll-binding"; + version = "2.0.2"; + edition = "2018"; + sha256 = "19wri7a6fngzhrhi731dcdil1i2n676vl50dmnvgh7vhz57zykrp"; + authors = [ + "Yorick Peterse " + ]; + dependencies = [ + { + name = "bitflags"; + packageId = "bitflags"; + } + { + name = "wepoll-sys"; + packageId = "wepoll-sys"; + } + ]; + + }; + "wepoll-sys" = rec { + crateName = "wepoll-sys"; + version = "2.0.0"; + edition = "2018"; + sha256 = "093azxx6rdh7kf10kw6s2pbc7w99rfh4lr9bkrvgd4frmrvsg0lh"; + authors = [ + "Yorick Peterse " + ]; + buildDependencies = [ + { + name = "cc"; + packageId = "cc"; + } + ]; + features = { + "buildtime-bindgen" = [ "bindgen" ]; + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "winapi 0.2.8" = rec { + crateName = "winapi"; + version = "0.2.8"; + edition = "2015"; + sha256 = "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"; + authors = [ + "Peter Atashian " + ]; + + }; + "winapi 0.3.8" = rec { + crateName = "winapi"; + version = "0.3.8"; + edition = "2015"; + sha256 = "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"; + authors = [ + "Peter Atashian " + ]; + dependencies = [ + { + name = "winapi-i686-pc-windows-gnu"; + packageId = "winapi-i686-pc-windows-gnu"; + target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu"); + } + { + name = "winapi-x86_64-pc-windows-gnu"; + packageId = "winapi-x86_64-pc-windows-gnu"; + target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu"); + } + ]; + features = { + "debug" = [ "impl-debug" ]; + }; + resolvedDefaultFeatures = [ "consoleapi" "errhandlingapi" "fileapi" "handleapi" "impl-debug" "impl-default" "lmcons" "minschannel" "minwinbase" "minwindef" "ntdef" "processenv" "profileapi" "schannel" "securitybaseapi" "sspi" "std" "sysinfoapi" "timezoneapi" "winbase" "wincrypt" "winerror" "winnt" "winreg" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" ]; + }; + "winapi-build" = rec { + crateName = "winapi-build"; + version = "0.1.1"; + edition = "2015"; + sha256 = "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"; + libName = "build"; + authors = [ + "Peter Atashian " + ]; + + }; + "winapi-i686-pc-windows-gnu" = rec { + crateName = "winapi-i686-pc-windows-gnu"; + version = "0.4.0"; + edition = "2015"; + sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"; + authors = [ + "Peter Atashian " + ]; + + }; + "winapi-x86_64-pc-windows-gnu" = rec { + crateName = "winapi-x86_64-pc-windows-gnu"; + version = "0.4.0"; + edition = "2015"; + sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"; + authors = [ + "Peter Atashian " + ]; + + }; + "winreg" = rec { + crateName = "winreg"; + version = "0.7.0"; + edition = "2015"; + sha256 = "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801"; + authors = [ + "Igor Shaula " + ]; + dependencies = [ + { + name = "winapi"; + packageId = "winapi 0.3.8"; + features = [ "impl-default" "impl-debug" "minwindef" "minwinbase" "timezoneapi" "winerror" "winnt" "winreg" "handleapi" ]; + } + ]; + features = { + "serialization-serde" = [ "transactions" "serde" ]; + "transactions" = [ "winapi/ktmw32" ]; + }; + }; + "ws2_32-sys" = rec { + crateName = "ws2_32-sys"; + version = "0.2.1"; + edition = "2015"; + sha256 = "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"; + libName = "ws2_32"; + authors = [ + "Peter Atashian " + ]; + dependencies = [ + { + name = "winapi"; + packageId = "winapi 0.2.8"; + } + ]; + buildDependencies = [ + { + name = "winapi-build"; + packageId = "winapi-build"; + } + ]; + + }; + }; + + # +# 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 + ) + ); + crateRenames = + builtins.listToAttrs + (map (d: { name = d.name; value = d.rename; }) dependenciesWithRenames); + 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) + # + + }; +} -- cgit v1.2.3