# This file was @generated by crate2nix 0.8.0 with the command: # "generate" # 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 }: rec { # # "public" attributes that we attempt to keep stable with new versions of crate2nix. # rootCrate = rec { packageId = "maj"; # 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; }; }; root_crate = internal.deprecationWarning "root_crate is deprecated since crate2nix 0.4. Please use rootCrate instead." rootCrate.build; # Refer your crate build derivation by name here. # You can override the features with # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }. workspaceMembers = { "maj" = rec { packageId = "maj"; build = internal.buildRustCrateWithFeatures { packageId = "maj"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; "majc" = rec { packageId = "majc"; build = internal.buildRustCrateWithFeatures { packageId = "majc"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; "majsite" = rec { packageId = "majsite"; build = internal.buildRustCrateWithFeatures { packageId = "majsite"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; }; workspace_members = internal.deprecationWarning "workspace_members is deprecated in crate2nix 0.4. Please use workspaceMembers instead." lib.mapAttrs (n: v: v.build) workspaceMembers; # # "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 = { "ahash 0.3.8" = rec { crateName = "ahash"; version = "0.3.8"; edition = "2018"; sha256 = "05qjnr0wccch0gg2kghg0xyh8qd5gfqd15q9dd6r1lamcs375zg8"; authors = [ "Tom Kaitchuck " ]; dependencies = [ { name = "const-random"; packageId = "const-random"; optional = true; } ]; features = { "compile-time-rng" = [ "const-random" ]; "default" = [ "compile-time-rng" "std" ]; }; resolvedDefaultFeatures = [ "compile-time-rng" "const-random" "default" "std" ]; }; "ahash 0.4.4" = rec { crateName = "ahash"; version = "0.4.4"; edition = "2018"; sha256 = "06bxygcis4pfx0axi1ld0lclg8mf4plywdy7fnkyw2hrhcb74rkd"; authors = [ "Tom Kaitchuck " ]; dependencies = [ { name = "const-random"; packageId = "const-random"; optional = true; } ]; features = { "compile-time-rng" = [ "const-random" ]; "default" = [ "compile-time-rng" "std" ]; }; resolvedDefaultFeatures = [ "compile-time-rng" "const-random" "default" "std" ]; }; "aho-corasick" = rec { crateName = "aho-corasick"; version = "0.7.13"; edition = "2015"; sha256 = "11hfmqf90rdvjdpk0x1lixw1s9n08y3fxfy9zqsk0k2wpbc68c84"; 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.9"; target = { target, features }: (target."os" == "windows"); features = [ "errhandlingapi" "consoleapi" "processenv" ]; } ]; }; "arc-swap" = rec { crateName = "arc-swap"; version = "0.4.7"; edition = "2015"; sha256 = "0d2hqwpkkz7jflrf3ziy5gpblix0h72x1yalls01a15qss7xh9ad"; authors = [ "Michal 'vorner' Vaner " ]; features = { }; }; "array-macro" = rec { crateName = "array-macro"; version = "1.0.5"; edition = "2015"; sha256 = "19mdx2xlppnqwl6rhsbzylx61a0kkp2ql8q16195b7iga977ps86"; authors = [ "Konrad Borowski " ]; }; "async-trait" = rec { crateName = "async-trait"; version = "0.1.36"; edition = "2018"; sha256 = "14pbhl1psi81851in004fh3ccdzy4ar12ykbwar31kpxxymy6rd2"; procMacro = true; authors = [ "David Tolnay " ]; dependencies = [ { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; features = [ "full" "visit-mut" ]; } ]; }; "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.9"; 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 " ]; }; "base64" = rec { crateName = "base64"; version = "0.12.3"; edition = "2018"; sha256 = "1zq33had71xh48n17g4kqs96szhx3yh7qibzwi4fk217n3vz0h9l"; 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.4.0"; edition = "2018"; sha256 = "082qig1vxlklb9qwkg3j4hpfxb4b5blm59ln21njfc2p01zhi31f"; authors = [ "Nick Fitzgerald " ]; features = { }; resolvedDefaultFeatures = [ "default" ]; }; "bytes" = rec { crateName = "bytes"; version = "0.5.6"; edition = "2018"; sha256 = "0f5s7xq6qzmdh22ygsy8v0sp02m51y0radvq4i4y8cizy1lfqk0f"; authors = [ "Carl Lerche " "Sean McArthur " ]; features = { "default" = [ "std" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; "cc" = rec { crateName = "cc"; version = "1.0.58"; edition = "2018"; crateBin = []; sha256 = "065m2fphrv5csy8hvv37msi3a739mfkgw7pcg71dfw9jwnr6z87r"; 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.13"; edition = "2015"; sha256 = "1dm0q1kmk2vq5djwhp1j9cm4aa38wr9vy1i1w19p2y0nj4188kf7"; 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" ]; }; "const-random" = rec { crateName = "const-random"; version = "0.1.8"; edition = "2018"; sha256 = "0sp1ang5sh27fq5b7g9fdwpq4d5s17ymj7khfzax4bbvffngj6ig"; authors = [ "Tom Kaitchuck " ]; dependencies = [ { name = "const-random-macro"; packageId = "const-random-macro"; } { name = "proc-macro-hack"; packageId = "proc-macro-hack"; } ]; }; "const-random-macro" = rec { crateName = "const-random-macro"; version = "0.1.8"; edition = "2018"; sha256 = "0ykc9riajn6bijvw46092gp18vrbky3y1cjpgjgx57a5xc3cdr15"; procMacro = true; authors = [ "Tom Kaitchuck " ]; dependencies = [ { name = "getrandom"; packageId = "getrandom"; } { name = "proc-macro-hack"; packageId = "proc-macro-hack"; } ]; }; "crossbeam-channel" = rec { crateName = "crossbeam-channel"; version = "0.4.3"; edition = "2018"; sha256 = "1dh74jk8zh6fb3x96fvg32jqf02jk5806fvlim3r6lsdh340rvh9"; authors = [ "The Crossbeam Project Developers" ]; dependencies = [ { name = "cfg-if"; packageId = "cfg-if"; } { name = "crossbeam-utils"; packageId = "crossbeam-utils"; optional = true; usesDefaultFeatures = false; } ]; features = { "default" = [ "std" ]; "std" = [ "crossbeam-utils/std" ]; }; resolvedDefaultFeatures = [ "crossbeam-utils" "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 = [ "lazy_static" "std" ]; }; "cursive" = rec { crateName = "cursive"; version = "0.15.0"; edition = "2018"; sha256 = "0x0kz1hrkbcjv21ply1vn1yjhbhwkbpwy07gg5ls5g5j58ri57vs"; authors = [ "Alexandre Bury " ]; dependencies = [ { name = "ahash"; packageId = "ahash 0.3.8"; } { name = "cfg-if"; packageId = "cfg-if"; } { name = "crossbeam-channel"; packageId = "crossbeam-channel"; } { name = "cursive_core"; packageId = "cursive_core"; } { name = "enumset"; packageId = "enumset"; } { name = "lazy_static"; packageId = "lazy_static"; } { name = "libc"; packageId = "libc"; } { name = "log"; packageId = "log"; } { name = "maplit"; packageId = "maplit"; optional = true; } { name = "ncurses"; packageId = "ncurses"; optional = true; features = [ "wide" ]; } { name = "signal-hook"; packageId = "signal-hook"; target = { target, features }: target."unix"; } { name = "term_size"; packageId = "term_size"; optional = true; } { name = "unicode-segmentation"; packageId = "unicode-segmentation"; } { name = "unicode-width"; packageId = "unicode-width"; } ]; features = { "blt-backend" = [ "bear-lib-terminal" ]; "crossterm-backend" = [ "crossterm" ]; "default" = [ "ncurses-backend" ]; "markdown" = [ "cursive_core/markdown" ]; "ncurses-backend" = [ "ncurses" "maplit" "term_size" ]; "pancurses-backend" = [ "pancurses" "maplit" "term_size" ]; "termion-backend" = [ "termion" ]; "toml" = [ "cursive_core/toml" ]; "unstable_scroll" = [ "cursive_core/unstable_scroll" ]; }; resolvedDefaultFeatures = [ "default" "maplit" "ncurses" "ncurses-backend" "term_size" ]; }; "cursive_core" = rec { crateName = "cursive_core"; version = "0.1.1"; edition = "2018"; sha256 = "1dx4vqzxbgwlq0npw6a7ca6zff348vg8n1lj71sbrwd2idm5pz45"; authors = [ "Alexandre Bury " ]; dependencies = [ { name = "ahash"; packageId = "ahash 0.4.4"; } { name = "chrono"; packageId = "chrono"; } { name = "crossbeam-channel"; packageId = "crossbeam-channel"; } { name = "enum-map"; packageId = "enum-map"; } { name = "enumset"; packageId = "enumset"; } { name = "lazy_static"; packageId = "lazy_static"; } { name = "libc"; packageId = "libc"; } { name = "log"; packageId = "log"; } { name = "num"; packageId = "num 0.3.0"; usesDefaultFeatures = false; } { name = "owning_ref"; packageId = "owning_ref"; } { name = "signal-hook"; packageId = "signal-hook"; target = { target, features }: target."unix"; } { name = "unicode-segmentation"; packageId = "unicode-segmentation"; } { name = "unicode-width"; packageId = "unicode-width"; } { name = "xi-unicode"; packageId = "xi-unicode"; } ]; features = { "markdown" = [ "pulldown-cmark" ]; }; }; "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"; } ]; }; "enum-map" = rec { crateName = "enum-map"; version = "0.6.2"; edition = "2018"; sha256 = "0vmj50cdqqmh6j8siznrwld8br4hpysmkd4zmm49hfx5k7w7b8vh"; authors = [ "Konrad Borowski " ]; dependencies = [ { name = "array-macro"; packageId = "array-macro"; } { name = "enum-map-derive"; packageId = "enum-map-derive"; } ]; }; "enum-map-derive" = rec { crateName = "enum-map-derive"; version = "0.4.3"; edition = "2015"; sha256 = "1mwscbnqdvnj74z6y8vxzbgaisgshxl6asgq7w85lbsknbgh2w75"; procMacro = true; authors = [ "Konrad Borowski " ]; dependencies = [ { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; } ]; }; "enumset" = rec { crateName = "enumset"; version = "1.0.0"; edition = "2018"; sha256 = "0hd29inm395rx70zgh2hjwzjdi72i3kdhzfm03cnlc9ljmswx49n"; authors = [ "Alissa Rao " ]; dependencies = [ { name = "enumset_derive"; packageId = "enumset_derive"; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; } ]; features = { "serde" = [ "serde2" "enumset_derive/serde" ]; }; }; "enumset_derive" = rec { crateName = "enumset_derive"; version = "0.5.0"; edition = "2018"; sha256 = "1b3mm2aq1vwlbnjhj3m015mj889ilfdszmv8yxf0r0kimhvg9gkl"; procMacro = true; authors = [ "Alissa Rao " ]; dependencies = [ { name = "darling"; packageId = "darling"; } { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; } ]; features = { }; }; "env_logger" = rec { crateName = "env_logger"; version = "0.7.1"; edition = "2018"; sha256 = "0djx8h8xfib43g5w94r1m1mkky5spcw4wblzgnhiyg5vnfxknls4"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "atty"; packageId = "atty"; optional = true; } { name = "humantime"; packageId = "humantime"; optional = true; } { name = "log"; packageId = "log"; features = [ "std" ]; } { name = "regex"; packageId = "regex"; optional = true; } { name = "termcolor"; packageId = "termcolor"; optional = true; } ]; features = { "default" = [ "termcolor" "atty" "humantime" "regex" ]; }; resolvedDefaultFeatures = [ "atty" "default" "humantime" "regex" "termcolor" ]; }; "fnv" = rec { crateName = "fnv"; version = "1.0.7"; edition = "2015"; sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz"; libPath = "lib.rs"; authors = [ "Alex Crichton " ]; features = { "default" = [ "std" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; "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-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" ]; }; "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" ]; }; }; "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.15"; edition = "2018"; sha256 = "1ac5bij39rhzs8zngfxi109dh0h3v0jl5ng8595f9yg7nsbd3vix"; 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" ]; }; "humantime" = rec { crateName = "humantime"; version = "1.3.0"; edition = "2015"; sha256 = "0krwgbf35pd46xvkqg14j070vircsndabahahlv3rwhflpy4q06z"; authors = [ "Paul Colomiets " ]; dependencies = [ { name = "quick-error"; packageId = "quick-error"; } ]; }; "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"; } ]; }; "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"; } ]; }; "js-sys" = rec { crateName = "js-sys"; version = "0.3.42"; edition = "2018"; sha256 = "1ql3v72ihk3wwcg4z6ivjk8fqikvq7wj81n75nnmhb6p78yjlwsj"; 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.73"; edition = "2015"; sha256 = "1fa20bc68n28zyw1fn0c4dzas845vwkpqdkzlvrlpbrj8zb4nzdx"; authors = [ "The Rust Project Developers" ]; features = { "default" = [ "std" ]; "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ]; "use_std" = [ "std" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; "log" = rec { crateName = "log"; version = "0.4.11"; edition = "2015"; sha256 = "12xzqaflpiljn5cmxsbnbv9sjaj13ykhwsvll0gysbx4blbyvasg"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "cfg-if"; packageId = "cfg-if"; } ]; features = { "kv_unstable_sval" = [ "kv_unstable" "sval/fmt" ]; }; resolvedDefaultFeatures = [ "std" ]; }; "maj" = rec { crateName = "maj"; version = "0.1.0"; edition = "2018"; src = (builtins.filterSource sourceFilter ./.); authors = [ "Christine Dodrill " ]; dependencies = [ { name = "async-trait"; packageId = "async-trait"; optional = true; } { name = "log"; packageId = "log"; } { name = "num"; packageId = "num 0.2.1"; } { name = "num-derive"; packageId = "num-derive"; } { name = "num-traits"; packageId = "num-traits"; } { name = "rustls"; packageId = "rustls"; optional = true; features = [ "dangerous_configuration" ]; } { name = "structopt"; packageId = "structopt"; } { name = "thiserror"; packageId = "thiserror"; } { name = "tokio"; packageId = "tokio"; optional = true; features = [ "macros" "net" "tcp" "io-util" "rt-core" "time" "stream" ]; } { name = "tokio-rustls"; packageId = "tokio-rustls"; optional = true; features = [ "dangerous_configuration" ]; } { name = "url"; packageId = "url"; } { name = "webpki"; packageId = "webpki"; optional = true; } { name = "webpki-roots"; packageId = "webpki-roots"; optional = true; } ]; devDependencies = [ { name = "pretty_env_logger"; packageId = "pretty_env_logger"; } ]; features = { "client" = [ "rustls" "webpki" "webpki-roots" ]; "default" = [ "client" "server" ]; "server" = [ "rustls" "webpki" "webpki-roots" "tokio" "async-trait" "tokio-rustls" ]; }; resolvedDefaultFeatures = [ "async-trait" "client" "default" "rustls" "server" "tokio" "tokio-rustls" "webpki" "webpki-roots" ]; }; "majc" = rec { crateName = "majc"; version = "0.1.0"; edition = "2018"; crateBin = [ { name = "majc"; path = "src/main.rs"; } ]; src = (builtins.filterSource sourceFilter ./majc); authors = [ "Christine Dodrill " ]; dependencies = [ { name = "cursive"; packageId = "cursive"; } { name = "log"; packageId = "log"; } { name = "maj"; packageId = "maj"; } { name = "url"; packageId = "url"; } ]; }; "majsite" = rec { crateName = "majsite"; version = "0.1.0"; edition = "2018"; crateBin = [ { name = "majsite"; path = "src/main.rs"; } ]; src = (builtins.filterSource sourceFilter ./site); authors = [ "Christine Dodrill " ]; dependencies = [ { name = "async-trait"; packageId = "async-trait"; } { name = "maj"; packageId = "maj"; } { name = "pretty_env_logger"; packageId = "pretty_env_logger"; } { name = "structopt"; packageId = "structopt"; } { name = "tokio"; packageId = "tokio"; features = [ "full" ]; } { name = "tokio-rustls"; packageId = "tokio-rustls"; features = [ "dangerous_configuration" ]; } ]; }; "maplit" = rec { crateName = "maplit"; version = "1.0.2"; edition = "2015"; sha256 = "07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy"; authors = [ "bluss" ]; }; "matches" = rec { crateName = "matches"; version = "0.1.8"; edition = "2015"; sha256 = "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"; libPath = "lib.rs"; authors = [ "Simon Sapin " ]; }; "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" ]; }; "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 0.2.1"; 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" ]; }; "mio-named-pipes" = rec { crateName = "mio-named-pipes"; version = "0.1.7"; edition = "2018"; sha256 = "0mjnjcg5dkb2jwxh4zxx4fgp15wr3hj9r53z4hdm4pnm1z2w2h08"; authors = [ "Brendan Molloy " "Alex Crichton " ]; dependencies = [ { name = "log"; packageId = "log"; target = { target, features }: target."windows"; } { name = "mio"; packageId = "mio"; target = { target, features }: target."windows"; } { name = "miow"; packageId = "miow 0.3.5"; target = { target, features }: target."windows"; } { name = "winapi"; packageId = "winapi 0.3.9"; target = { target, features }: target."windows"; features = [ "winerror" "ioapiset" "minwinbase" "winbase" ]; } ]; }; "mio-uds" = rec { crateName = "mio-uds"; version = "0.6.8"; edition = "2015"; sha256 = "1w36w09gd8as1mah80wdy0kgpshmphmljj68gij34hvdnag6kjxg"; authors = [ "Alex Crichton " ]; dependencies = [ { name = "iovec"; packageId = "iovec"; target = { target, features }: target."unix"; } { name = "libc"; packageId = "libc"; target = { target, features }: target."unix"; } { name = "mio"; packageId = "mio"; target = { target, features }: target."unix"; } ]; }; "miow 0.2.1" = 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"; } ]; }; "miow 0.3.5" = rec { crateName = "miow"; version = "0.3.5"; edition = "2018"; sha256 = "17lpb2754vg6vflk2vgka4kz2p4gkbsgnb815bb3ckaxg6wqzf07"; authors = [ "Alex Crichton " ]; dependencies = [ { name = "socket2"; packageId = "socket2"; } { name = "winapi"; packageId = "winapi 0.3.9"; features = [ "std" "fileapi" "handleapi" "ioapiset" "minwindef" "namedpipeapi" "ntdef" "synchapi" "winerror" "winsock2" "ws2def" "ws2ipdef" ]; } ]; }; "ncurses" = rec { crateName = "ncurses"; version = "5.99.0"; edition = "2015"; sha256 = "10kbafzgln5p2dvm0b9z8pdlcf6if2yb4dbvij1gis9p5zp9ns8m"; authors = [ "contact@jeaye.com" ]; dependencies = [ { name = "libc"; packageId = "libc"; } ]; buildDependencies = [ { name = "cc"; packageId = "cc"; } { name = "pkg-config"; packageId = "pkg-config"; } ]; features = { "extended_colors" = [ "wide" ]; }; resolvedDefaultFeatures = [ "default" "wide" ]; }; "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.9"; target = { target, features }: target."windows"; features = [ "handleapi" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" ]; } ]; features = { "default" = [ "duration" ]; }; resolvedDefaultFeatures = [ "default" "duration" ]; }; "num 0.2.1" = rec { crateName = "num"; version = "0.2.1"; edition = "2015"; sha256 = "0dhcvhprvvx1iaaq7sxlgxw5awmj8dibni8vhizi59zyz4q60lxq"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-bigint"; packageId = "num-bigint"; optional = true; usesDefaultFeatures = false; } { name = "num-complex"; packageId = "num-complex 0.2.4"; usesDefaultFeatures = false; } { name = "num-integer"; packageId = "num-integer"; usesDefaultFeatures = false; } { name = "num-iter"; packageId = "num-iter"; usesDefaultFeatures = false; } { name = "num-rational"; packageId = "num-rational 0.2.4"; usesDefaultFeatures = false; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; } ]; features = { "default" = [ "std" ]; "i128" = [ "num-bigint/i128" "num-complex/i128" "num-integer/i128" "num-iter/i128" "num-rational/i128" "num-traits/i128" ]; "rand" = [ "num-bigint/rand" "num-complex/rand" ]; "serde" = [ "num-bigint/serde" "num-complex/serde" "num-rational/serde" ]; "std" = [ "num-bigint/std" "num-complex/std" "num-integer/std" "num-iter/std" "num-rational/std" "num-rational/bigint" "num-traits/std" ]; }; resolvedDefaultFeatures = [ "default" "num-bigint" "std" ]; }; "num 0.3.0" = rec { crateName = "num"; version = "0.3.0"; edition = "2018"; sha256 = "0jng6s3i51k3227id2z8h348l2da8x3jq4p3az9slkxwj5hifgmb"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-complex"; packageId = "num-complex 0.3.0"; usesDefaultFeatures = false; } { name = "num-integer"; packageId = "num-integer"; usesDefaultFeatures = false; features = [ "i128" ]; } { name = "num-iter"; packageId = "num-iter"; usesDefaultFeatures = false; features = [ "i128" ]; } { name = "num-rational"; packageId = "num-rational 0.3.0"; usesDefaultFeatures = false; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; features = [ "i128" ]; } ]; features = { "alloc" = [ "num-bigint" "num-rational/num-bigint" ]; "default" = [ "std" ]; "libm" = [ "num-complex/libm" "num-traits/libm" ]; "rand" = [ "num-bigint/rand" "num-complex/rand" ]; "serde" = [ "num-bigint/serde" "num-complex/serde" "num-rational/serde" ]; "std" = [ "num-bigint/std" "num-complex/std" "num-integer/std" "num-iter/std" "num-rational/std" "num-rational/num-bigint-std" "num-traits/std" ]; }; }; "num-bigint" = rec { crateName = "num-bigint"; version = "0.2.6"; edition = "2015"; sha256 = "015k3wixdi4w698sappvy43pf8bvkw0f88xplmdgc3zfk2cpy309"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-integer"; packageId = "num-integer"; usesDefaultFeatures = false; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; } ]; buildDependencies = [ { name = "autocfg"; packageId = "autocfg"; } ]; features = { "default" = [ "std" ]; "i128" = [ "num-integer/i128" "num-traits/i128" ]; "std" = [ "num-integer/std" "num-traits/std" ]; }; resolvedDefaultFeatures = [ "std" ]; }; "num-complex 0.2.4" = rec { crateName = "num-complex"; version = "0.2.4"; edition = "2015"; sha256 = "15dwaksw729r3v14sgzc9723s3fnfixiir8jzwx7b7kim48r9cdn"; 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" ]; }; resolvedDefaultFeatures = [ "std" ]; }; "num-complex 0.3.0" = rec { crateName = "num-complex"; version = "0.3.0"; edition = "2018"; sha256 = "1dczd81f2xb092dhb0brbdbf19pyfn0v9xmkf6qm0w4pv1dx0nmh"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; features = [ "i128" ]; } ]; features = { "default" = [ "std" ]; "libm" = [ "num-traits/libm" ]; "std" = [ "num-traits/std" ]; }; }; "num-derive" = rec { crateName = "num-derive"; version = "0.3.0"; edition = "2018"; sha256 = "0imprwv8cs01k46g56ajlvc97dp8kz51y2vn6cp9jkw1c6r1b2qc"; procMacro = true; libName = "num_derive"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; } ]; features = { "full-syntax" = [ "syn/full" ]; }; }; "num-integer" = rec { crateName = "num-integer"; version = "0.1.43"; edition = "2015"; sha256 = "0nw79ynfvw8br6yncv27pw65y2vw2z7m3kv9g2hinm1dcrz4ancd"; 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" ]; }; resolvedDefaultFeatures = [ "i128" "std" ]; }; "num-iter" = rec { crateName = "num-iter"; version = "0.1.41"; edition = "2015"; sha256 = "17sb142lhmpsq17cf9wrffjh8vjk901axxf55565r6cgfiy6nvks"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-integer"; packageId = "num-integer"; usesDefaultFeatures = false; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; } ]; buildDependencies = [ { name = "autocfg"; packageId = "autocfg"; } ]; features = { "default" = [ "std" ]; "i128" = [ "num-integer/i128" "num-traits/i128" ]; "std" = [ "num-integer/std" "num-traits/std" ]; }; resolvedDefaultFeatures = [ "i128" "std" ]; }; "num-rational 0.2.4" = rec { crateName = "num-rational"; version = "0.2.4"; edition = "2015"; sha256 = "1vsaz96chxcgpqd5a0dq8hb3b4sj6dnlhwmpbkf4mx6vnls0202w"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-bigint"; packageId = "num-bigint"; optional = true; usesDefaultFeatures = false; } { name = "num-integer"; packageId = "num-integer"; usesDefaultFeatures = false; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; } ]; buildDependencies = [ { name = "autocfg"; packageId = "autocfg"; } ]; features = { "bigint" = [ "num-bigint" ]; "bigint-std" = [ "bigint" "num-bigint/std" ]; "default" = [ "bigint-std" "std" ]; "i128" = [ "num-integer/i128" "num-traits/i128" ]; "std" = [ "num-integer/std" "num-traits/std" ]; }; resolvedDefaultFeatures = [ "bigint" "num-bigint" "std" ]; }; "num-rational 0.3.0" = rec { crateName = "num-rational"; version = "0.3.0"; edition = "2018"; sha256 = "0f41j1l1kn5jj36a8xdy8kv242wlwq0ka578vm8gnb1n1wvdgd55"; authors = [ "The Rust Project Developers" ]; dependencies = [ { name = "num-integer"; packageId = "num-integer"; usesDefaultFeatures = false; features = [ "i128" ]; } { name = "num-traits"; packageId = "num-traits"; usesDefaultFeatures = false; features = [ "i128" ]; } ]; buildDependencies = [ { name = "autocfg"; packageId = "autocfg"; } ]; features = { "default" = [ "num-bigint-std" "std" ]; "num-bigint-std" = [ "num-bigint/std" ]; "std" = [ "num-integer/std" "num-traits/std" ]; }; }; "num-traits" = rec { crateName = "num-traits"; version = "0.2.12"; edition = "2015"; sha256 = "04fnzwlnn6fcy09jjbi9l7bj5dvg657x5c2sjgwfb3pl0z67n9mc"; authors = [ "The Rust Project Developers" ]; buildDependencies = [ { name = "autocfg"; packageId = "autocfg"; } ]; features = { "default" = [ "std" ]; }; resolvedDefaultFeatures = [ "default" "i128" "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"; } ]; }; "once_cell" = rec { crateName = "once_cell"; version = "1.4.0"; edition = "2018"; sha256 = "138n52yni5qym7ds8kxckvhdy4x0m0scy0gl74brmwsahmz1yqqb"; authors = [ "Aleksey Kladov " ]; features = { "default" = [ "std" ]; }; resolvedDefaultFeatures = [ "std" ]; }; "owning_ref" = rec { crateName = "owning_ref"; version = "0.4.1"; edition = "2015"; sha256 = "1kjj9m28wjv452jw49p1mp3d8ql058x78v4bz00avr7rvsnmpxbg"; authors = [ "Marvin Löbel " ]; dependencies = [ { name = "stable_deref_trait"; packageId = "stable_deref_trait"; } ]; }; "percent-encoding" = rec { crateName = "percent-encoding"; version = "2.1.0"; edition = "2015"; sha256 = "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl"; libPath = "lib.rs"; authors = [ "The rust-url developers" ]; }; "pin-project-lite" = rec { crateName = "pin-project-lite"; version = "0.1.7"; edition = "2018"; sha256 = "05dp09xswfb18i2jmlvzkb0pd0fin9s3m64fgyksg6161zqxnai8"; authors = [ "Taiki Endo " ]; }; "pkg-config" = rec { crateName = "pkg-config"; version = "0.3.18"; edition = "2015"; sha256 = "0cxc4yd9qb40944a2svgci41bws68f1hqvyljhrldwbadda94r6k"; authors = [ "Alex Crichton " ]; }; "pretty_env_logger" = rec { crateName = "pretty_env_logger"; version = "0.4.0"; edition = "2015"; sha256 = "17gva1rlf9fhgr0jr19kv39f8bir3f4pa4jz02qbhl9qanwkcvcj"; authors = [ "Sean McArthur " ]; dependencies = [ { name = "env_logger"; packageId = "env_logger"; } { name = "log"; packageId = "log"; } ]; }; "proc-macro-error" = rec { crateName = "proc-macro-error"; version = "1.0.3"; edition = "2018"; sha256 = "103qvh4qzlhxgpghl75yr82p9672ngwfi1454hknc4f3fybmw5zw"; 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.3"; edition = "2018"; sha256 = "0l2w8caxbx5n30qx3pgj6hzmlcy2gzd3cjf4bql83dbyl5f7kj9w"; 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-macro2" = rec { crateName = "proc-macro2"; version = "1.0.19"; edition = "2018"; sha256 = "04lb4n7g5z9mq6in39i7yb1m5bb107dfawc2rf4227npnn2z1x84"; authors = [ "Alex Crichton " "David Tolnay " ]; dependencies = [ { name = "unicode-xid"; packageId = "unicode-xid"; } ]; features = { "default" = [ "proc-macro" ]; }; resolvedDefaultFeatures = [ "default" "proc-macro" ]; }; "quick-error" = rec { crateName = "quick-error"; version = "1.2.3"; edition = "2015"; sha256 = "1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51"; authors = [ "Paul Colomiets " "Colin Kiegel " ]; }; "quote" = rec { crateName = "quote"; version = "1.0.7"; edition = "2018"; sha256 = "0drzd6pq7whq7qhdvvs8wn6pbb0hhc12pz8wv80fb05ixhbksmma"; 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" ]; }; "redox_syscall" = rec { crateName = "redox_syscall"; version = "0.1.57"; edition = "2015"; sha256 = "1kh59fpwy33w9nwd5iyc283yglq8pf2s41hnhvl48iax9mz0zk21"; 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-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" ]; }; "ring" = rec { crateName = "ring"; version = "0.16.15"; edition = "2018"; sha256 = "1r1l7qqk552vc19glzr8ng4gw4mzi8xpi98vz87c7fw5ijwxcb4m"; authors = [ "Brian Smith " ]; dependencies = [ { name = "libc"; packageId = "libc"; usesDefaultFeatures = false; target = { target, features }: ((target."os" == "android") || (target."os" == "linux")); } { name = "once_cell"; packageId = "once_cell"; optional = true; usesDefaultFeatures = false; target = { target, features }: ((target."os" == "android") || (target."os" == "freebsd") || (target."os" == "linux") || (target."os" == "netbsd") || (target."os" == "openbsd") || (target."os" == "solaris")); features = [ "std" ]; } { name = "spin"; packageId = "spin"; usesDefaultFeatures = false; target = { target, features }: (((target."arch" == "aarch64") || (target."arch" == "arm") || (target."arch" == "x86") || (target."arch" == "x86_64")) && (!(target."os" == "ios"))); } { name = "untrusted"; packageId = "untrusted"; } { name = "web-sys"; packageId = "web-sys"; usesDefaultFeatures = false; target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (target."env" == "")); features = [ "Crypto" "Window" ]; } { name = "winapi"; packageId = "winapi 0.3.9"; usesDefaultFeatures = false; target = { target, features }: (target."os" == "windows"); features = [ "ntsecapi" "wtypesbase" ]; } ]; buildDependencies = [ { name = "cc"; packageId = "cc"; usesDefaultFeatures = false; } ]; devDependencies = [ { name = "libc"; packageId = "libc"; usesDefaultFeatures = false; target = {target, features}: (target."unix" || target."windows"); } ]; features = { "default" = [ "alloc" "dev_urandom_fallback" ]; "dev_urandom_fallback" = [ "once_cell" ]; "std" = [ "alloc" ]; }; resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ]; }; "rustls" = rec { crateName = "rustls"; version = "0.18.0"; edition = "2018"; sha256 = "14xn1splgl6v7kikyki4ijlcn4fxnizip2jv9hlc7ap27qrlpjfa"; authors = [ "Joseph Birr-Pixton " ]; dependencies = [ { name = "base64"; packageId = "base64"; } { name = "log"; packageId = "log"; optional = true; } { name = "ring"; packageId = "ring"; } { name = "sct"; packageId = "sct"; } { name = "webpki"; packageId = "webpki"; } ]; devDependencies = [ { name = "log"; packageId = "log"; } ]; features = { "default" = [ "logging" ]; "logging" = [ "log" ]; }; resolvedDefaultFeatures = [ "dangerous_configuration" "default" "log" "logging" ]; }; "sct" = rec { crateName = "sct"; version = "0.6.0"; edition = "2018"; sha256 = "0g4dz7las43kcpi9vqv9c6l1afjkdv3g3w3s7d2w7a7w77wjl173"; authors = [ "Joseph Birr-Pixton " ]; dependencies = [ { name = "ring"; packageId = "ring"; } { name = "untrusted"; packageId = "untrusted"; } ]; }; "signal-hook" = rec { crateName = "signal-hook"; version = "0.1.16"; edition = "2018"; sha256 = "1v85mgs4dbgw0765b9nx0jd8lamv55425aawjbhxz6cb870hhib0"; authors = [ "Michal 'vorner' Vaner " ]; dependencies = [ { name = "libc"; packageId = "libc"; } { name = "signal-hook-registry"; packageId = "signal-hook-registry"; } ]; features = { "mio-0_7-support" = [ "mio_0_7" ]; "mio-support" = [ "mio" ]; "tokio-support" = [ "futures" "mio-support" "tokio-reactor" ]; }; }; "signal-hook-registry" = rec { crateName = "signal-hook-registry"; version = "1.2.0"; edition = "2015"; sha256 = "0haz828bif1lbp3alx17zkcy5hwy15bbpmvks72j8iznx7npix4l"; authors = [ "Michal 'vorner' Vaner " "Masaki Hara " ]; dependencies = [ { name = "arc-swap"; packageId = "arc-swap"; } { name = "libc"; packageId = "libc"; } ]; }; "slab" = rec { crateName = "slab"; version = "0.4.2"; edition = "2015"; sha256 = "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"; authors = [ "Carl Lerche " ]; }; "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.9"; target = { target, features }: target."windows"; features = [ "handleapi" "ws2def" "ws2ipdef" "ws2tcpip" "minwindef" ]; } ]; features = { }; }; "spin" = rec { crateName = "spin"; version = "0.5.2"; edition = "2015"; sha256 = "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf"; authors = [ "Mathijs van de Nes " "John Ericson " ]; }; "stable_deref_trait" = rec { crateName = "stable_deref_trait"; version = "1.2.0"; edition = "2015"; sha256 = "1lxjr8q2n534b2lhkxd6l6wcddzjvnksi58zv11f9y0jjmr15wd8"; authors = [ "Robert Grosse " ]; features = { "default" = [ "std" ]; "std" = [ "alloc" ]; }; resolvedDefaultFeatures = [ "alloc" "default" "std" ]; }; "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.15"; edition = "2018"; sha256 = "0p06h59dpxb8y2rplb7h1pc0wpk2ikj77kmdcadhh1z8kqimwbyy"; 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.8"; edition = "2018"; sha256 = "0661n4qs9g0g51qwvmvj7dh2kiqmpw4jbdpazfj64rv1vvwi612i"; 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.35"; edition = "2018"; sha256 = "1c39agngv58dgqaz0wvszr3bg7p8a748rp8rbs2ighgqkm8lqzzv"; 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" ]; }; }; "term_size" = rec { crateName = "term_size"; version = "0.3.2"; edition = "2015"; sha256 = "1n885cykajsppx86xl7d0dqkgmgsp8v914lvs12qzvd0dij2jh8y"; authors = [ "Kevin K. " "Benjamin Sago " ]; dependencies = [ { name = "libc"; packageId = "libc"; target = { target, features }: (!(target."os" == "windows")); } { name = "winapi"; packageId = "winapi 0.3.9"; target = { target, features }: (target."os" == "windows"); features = [ "wincon" "processenv" "winbase" ]; } ]; features = { "travis" = [ "nightly" ]; }; resolvedDefaultFeatures = [ "default" ]; }; "termcolor" = rec { crateName = "termcolor"; version = "1.1.0"; edition = "2018"; sha256 = "0pyp8vc0gx7124y80ixdl6plbfn1yjhw04i875k5fz2dk8lglsxv"; authors = [ "Andrew Gallant " ]; dependencies = [ { name = "winapi-util"; packageId = "winapi-util"; target = { target, features }: target."windows"; } ]; }; "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.20"; edition = "2018"; sha256 = "020d7pfq7vg2iw1bbilnyq764zy35ncg2syn9a7vgk6qriqd1zbx"; authors = [ "David Tolnay " ]; dependencies = [ { name = "thiserror-impl"; packageId = "thiserror-impl"; } ]; }; "thiserror-impl" = rec { crateName = "thiserror-impl"; version = "1.0.20"; edition = "2018"; sha256 = "14qphjwa68sfjk3404iwv6hh8kvk6vmcwan9589sqqrhyw9gr05x"; 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.9"; target = { target, features }: target."windows"; features = [ "std" "minwinbase" "minwindef" "ntdef" "profileapi" "sysinfoapi" "timezoneapi" ]; } ]; devDependencies = [ { name = "winapi"; packageId = "winapi 0.3.9"; features = [ "std" "processthreadsapi" "winbase" ]; } ]; }; "tinyvec" = rec { crateName = "tinyvec"; version = "0.3.3"; edition = "2018"; sha256 = "1vgg2z317kq75bpd0nfda2v507qjpd7g2cjahjgivn2s78nkv5ak"; authors = [ "Lokathor " ]; features = { }; resolvedDefaultFeatures = [ "alloc" "default" ]; }; "tokio" = rec { crateName = "tokio"; version = "0.2.22"; edition = "2018"; sha256 = "1kfw5lgq1sswlbxq98j5q45bdxv4hhd907nksysbbwjbv1acld2x"; 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 = "libc"; packageId = "libc"; optional = true; target = { target, features }: target."unix"; } { name = "memchr"; packageId = "memchr"; optional = true; } { name = "mio"; packageId = "mio"; optional = true; } { name = "mio-named-pipes"; packageId = "mio-named-pipes"; optional = true; target = { target, features }: target."windows"; } { name = "mio-uds"; packageId = "mio-uds"; optional = true; target = { target, features }: target."unix"; } { name = "num_cpus"; packageId = "num_cpus"; optional = true; } { name = "pin-project-lite"; packageId = "pin-project-lite"; } { name = "signal-hook-registry"; packageId = "signal-hook-registry"; optional = true; target = { target, features }: target."unix"; } { name = "slab"; packageId = "slab"; optional = true; } { name = "tokio-macros"; packageId = "tokio-macros"; optional = true; } { name = "winapi"; packageId = "winapi 0.3.9"; optional = true; usesDefaultFeatures = false; target = { target, features }: target."windows"; } ]; 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" "full" "futures-core" "io-driver" "io-std" "io-util" "iovec" "lazy_static" "libc" "macros" "memchr" "mio" "mio-named-pipes" "mio-uds" "net" "num_cpus" "process" "rt-core" "rt-threaded" "rt-util" "signal" "signal-hook-registry" "slab" "stream" "sync" "tcp" "time" "tokio-macros" "udp" "uds" "winapi" ]; }; "tokio-macros" = rec { crateName = "tokio-macros"; version = "0.2.5"; edition = "2018"; sha256 = "1283aq0l7rnh79zzqk4r34dgimvwcymrzmg1yah9ai2nmb3arhzh"; procMacro = true; authors = [ "Tokio Contributors " ]; dependencies = [ { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; features = [ "full" ]; } ]; }; "tokio-rustls" = rec { crateName = "tokio-rustls"; version = "0.14.0"; edition = "2018"; sha256 = "1afnj0wd1sj8ckmgfyl0a8z86dajcc4k08r9b8sgm8zyskfkk092"; authors = [ "quininer kel " ]; dependencies = [ { name = "futures-core"; packageId = "futures-core"; } { name = "rustls"; packageId = "rustls"; } { name = "tokio"; packageId = "tokio"; } { name = "webpki"; packageId = "webpki"; } ]; devDependencies = [ { name = "tokio"; packageId = "tokio"; features = [ "macros" "net" "io-util" "rt-core" "time" ]; } ]; features = { "dangerous_configuration" = [ "rustls/dangerous_configuration" ]; "unstable" = [ "bytes" ]; }; resolvedDefaultFeatures = [ "dangerous_configuration" ]; }; "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.13"; edition = "2018"; sha256 = "0xx9k05f82yf5wmhniq6nsplvszb4536kpv2l606m37sd7vrrcbg"; authors = [ "kwantam " ]; dependencies = [ { name = "tinyvec"; packageId = "tinyvec"; features = [ "alloc" ]; } ]; features = { "default" = [ "std" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; "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.8"; edition = "2015"; sha256 = "1qxizyi6xbcqyi4z79p523ywvmgsfcgfqb3zv3c8i6x1jcc5jdwk"; authors = [ "kwantam " "Manish Goregaokar " ]; features = { "rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ]; }; resolvedDefaultFeatures = [ "default" ]; }; "unicode-xid" = rec { crateName = "unicode-xid"; version = "0.2.1"; edition = "2015"; sha256 = "0r6mknipyy9vpz8mwmxvkx65ff2ha1n2pxqjj6f46lcn8yrhpzpp"; authors = [ "erick.tryzelaar " "kwantam " ]; features = { }; resolvedDefaultFeatures = [ "default" ]; }; "untrusted" = rec { crateName = "untrusted"; version = "0.7.1"; edition = "2018"; sha256 = "0jkbqaj9d3v5a91pp3wp9mffvng1nhycx6sh4qkdd9qyr62ccmm1"; libPath = "src/untrusted.rs"; authors = [ "Brian Smith " ]; }; "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"; } ]; }; "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 " ]; }; "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.65"; edition = "2018"; sha256 = "0ggkm2qmc11pgzhcaqnmnsi17zkv1d53gln6pjxfmdvaag4vrvgk"; authors = [ "The wasm-bindgen Developers" ]; dependencies = [ { name = "cfg-if"; packageId = "cfg-if"; } { name = "wasm-bindgen-macro"; packageId = "wasm-bindgen-macro"; } ]; features = { "default" = [ "spans" "std" ]; "enable-interning" = [ "std" ]; "serde-serialize" = [ "serde" "serde_json" "std" ]; "spans" = [ "wasm-bindgen-macro/spans" ]; "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ]; "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ]; }; resolvedDefaultFeatures = [ "default" "spans" "std" ]; }; "wasm-bindgen-backend" = rec { crateName = "wasm-bindgen-backend"; version = "0.2.65"; edition = "2018"; sha256 = "0k94q67yqcwc26apvzk9b9rshyry7xsa69kblq7d5yjbr2w2zvc9"; authors = [ "The wasm-bindgen Developers" ]; dependencies = [ { name = "bumpalo"; packageId = "bumpalo"; } { name = "lazy_static"; packageId = "lazy_static"; } { name = "log"; packageId = "log"; } { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; features = [ "full" ]; } { name = "wasm-bindgen-shared"; packageId = "wasm-bindgen-shared"; } ]; features = { "extra-traits" = [ "syn/extra-traits" ]; }; resolvedDefaultFeatures = [ "spans" ]; }; "wasm-bindgen-macro" = rec { crateName = "wasm-bindgen-macro"; version = "0.2.65"; edition = "2018"; sha256 = "17lj633vfgdlbcy6i3sdd580k955biqr3xkczj94v9iin1l141zb"; 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.65"; edition = "2018"; sha256 = "1ipjj6vaias79c4dfzh7n8lfvcxdrf3scigjy8grswc0f202qnfg"; authors = [ "The wasm-bindgen Developers" ]; dependencies = [ { name = "proc-macro2"; packageId = "proc-macro2"; } { name = "quote"; packageId = "quote"; } { name = "syn"; packageId = "syn"; features = [ "visit" "full" ]; } { name = "wasm-bindgen-backend"; packageId = "wasm-bindgen-backend"; } { name = "wasm-bindgen-shared"; packageId = "wasm-bindgen-shared"; } ]; features = { "extra-traits" = [ "syn/extra-traits" ]; "spans" = [ "wasm-bindgen-backend/spans" ]; }; resolvedDefaultFeatures = [ "spans" ]; }; "wasm-bindgen-shared" = rec { crateName = "wasm-bindgen-shared"; version = "0.2.65"; edition = "2018"; sha256 = "11synnxxsdn5894sgvzllcf8smfc7f7w6y0chrirsm7d1lic1dkj"; authors = [ "The wasm-bindgen Developers" ]; }; "web-sys" = rec { crateName = "web-sys"; version = "0.3.42"; edition = "2018"; sha256 = "1cip46ry16z8maf0j392g62p1p9lbw4h7d6h2nca0yvb6a7kkqlb"; authors = [ "The wasm-bindgen Developers" ]; dependencies = [ { name = "js-sys"; packageId = "js-sys"; } { name = "wasm-bindgen"; packageId = "wasm-bindgen"; } ]; features = { "AbortSignal" = [ "EventTarget" ]; "AnalyserNode" = [ "AudioNode" "EventTarget" ]; "Animation" = [ "EventTarget" ]; "AnimationEvent" = [ "Event" ]; "AnimationPlaybackEvent" = [ "Event" ]; "Attr" = [ "EventTarget" "Node" ]; "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ]; "AudioContext" = [ "BaseAudioContext" "EventTarget" ]; "AudioDestinationNode" = [ "AudioNode" "EventTarget" ]; "AudioNode" = [ "EventTarget" ]; "AudioProcessingEvent" = [ "Event" ]; "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ]; "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ]; "AudioTrackList" = [ "EventTarget" ]; "AudioWorklet" = [ "Worklet" ]; "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ]; "AudioWorkletNode" = [ "AudioNode" "EventTarget" ]; "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ]; "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ]; "BaseAudioContext" = [ "EventTarget" ]; "BatteryManager" = [ "EventTarget" ]; "BeforeUnloadEvent" = [ "Event" ]; "BiquadFilterNode" = [ "AudioNode" "EventTarget" ]; "BlobEvent" = [ "Event" ]; "BroadcastChannel" = [ "EventTarget" ]; "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ]; "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ]; "ChannelMergerNode" = [ "AudioNode" "EventTarget" ]; "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ]; "CharacterData" = [ "EventTarget" "Node" ]; "ChromeWorker" = [ "EventTarget" "Worker" ]; "Clipboard" = [ "EventTarget" ]; "ClipboardEvent" = [ "Event" ]; "CloseEvent" = [ "Event" ]; "Comment" = [ "CharacterData" "EventTarget" "Node" ]; "CompositionEvent" = [ "Event" "UiEvent" ]; "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ]; "ConvolverNode" = [ "AudioNode" "EventTarget" ]; "CssAnimation" = [ "Animation" "EventTarget" ]; "CssConditionRule" = [ "CssGroupingRule" "CssRule" ]; "CssCounterStyleRule" = [ "CssRule" ]; "CssFontFaceRule" = [ "CssRule" ]; "CssFontFeatureValuesRule" = [ "CssRule" ]; "CssGroupingRule" = [ "CssRule" ]; "CssImportRule" = [ "CssRule" ]; "CssKeyframeRule" = [ "CssRule" ]; "CssKeyframesRule" = [ "CssRule" ]; "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ]; "CssNamespaceRule" = [ "CssRule" ]; "CssPageRule" = [ "CssRule" ]; "CssStyleRule" = [ "CssRule" ]; "CssStyleSheet" = [ "StyleSheet" ]; "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ]; "CssTransition" = [ "Animation" "EventTarget" ]; "CustomEvent" = [ "Event" ]; "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ]; "DelayNode" = [ "AudioNode" "EventTarget" ]; "DeviceLightEvent" = [ "Event" ]; "DeviceMotionEvent" = [ "Event" ]; "DeviceOrientationEvent" = [ "Event" ]; "DeviceProximityEvent" = [ "Event" ]; "Document" = [ "EventTarget" "Node" ]; "DocumentFragment" = [ "EventTarget" "Node" ]; "DocumentTimeline" = [ "AnimationTimeline" ]; "DocumentType" = [ "EventTarget" "Node" ]; "DomMatrix" = [ "DomMatrixReadOnly" ]; "DomPoint" = [ "DomPointReadOnly" ]; "DomRect" = [ "DomRectReadOnly" ]; "DomRequest" = [ "EventTarget" ]; "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ]; "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ]; "Element" = [ "EventTarget" "Node" ]; "ErrorEvent" = [ "Event" ]; "EventSource" = [ "EventTarget" ]; "ExtendableEvent" = [ "Event" ]; "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ]; "FetchEvent" = [ "Event" "ExtendableEvent" ]; "FetchObserver" = [ "EventTarget" ]; "File" = [ "Blob" ]; "FileReader" = [ "EventTarget" ]; "FileSystemDirectoryEntry" = [ "FileSystemEntry" ]; "FileSystemFileEntry" = [ "FileSystemEntry" ]; "FocusEvent" = [ "Event" "UiEvent" ]; "FontFaceSet" = [ "EventTarget" ]; "FontFaceSetLoadEvent" = [ "Event" ]; "GainNode" = [ "AudioNode" "EventTarget" ]; "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ]; "GamepadButtonEvent" = [ "Event" "GamepadEvent" ]; "GamepadEvent" = [ "Event" ]; "GpuDevice" = [ "EventTarget" ]; "GpuUncapturedErrorEvent" = [ "Event" ]; "HashChangeEvent" = [ "Event" ]; "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ]; "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlDocument" = [ "Document" "EventTarget" "Node" ]; "HtmlElement" = [ "Element" "EventTarget" "Node" ]; "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlFormControlsCollection" = [ "HtmlCollection" ]; "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlOptionsCollection" = [ "HtmlCollection" ]; "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ]; "IdbCursorWithValue" = [ "IdbCursor" ]; "IdbDatabase" = [ "EventTarget" ]; "IdbFileHandle" = [ "EventTarget" ]; "IdbFileRequest" = [ "DomRequest" "EventTarget" ]; "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ]; "IdbMutableFile" = [ "EventTarget" ]; "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ]; "IdbRequest" = [ "EventTarget" ]; "IdbTransaction" = [ "EventTarget" ]; "IdbVersionChangeEvent" = [ "Event" ]; "IirFilterNode" = [ "AudioNode" "EventTarget" ]; "ImageCapture" = [ "EventTarget" ]; "ImageCaptureErrorEvent" = [ "Event" ]; "InputEvent" = [ "Event" "UiEvent" ]; "KeyboardEvent" = [ "Event" "UiEvent" ]; "KeyframeEffect" = [ "AnimationEffect" ]; "LocalMediaStream" = [ "EventTarget" "MediaStream" ]; "MediaDevices" = [ "EventTarget" ]; "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ]; "MediaEncryptedEvent" = [ "Event" ]; "MediaKeyError" = [ "Event" ]; "MediaKeyMessageEvent" = [ "Event" ]; "MediaKeySession" = [ "EventTarget" ]; "MediaQueryList" = [ "EventTarget" ]; "MediaQueryListEvent" = [ "Event" ]; "MediaRecorder" = [ "EventTarget" ]; "MediaRecorderErrorEvent" = [ "Event" ]; "MediaSource" = [ "EventTarget" ]; "MediaStream" = [ "EventTarget" ]; "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ]; "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ]; "MediaStreamEvent" = [ "Event" ]; "MediaStreamTrack" = [ "EventTarget" ]; "MediaStreamTrackEvent" = [ "Event" ]; "MessageEvent" = [ "Event" ]; "MessagePort" = [ "EventTarget" ]; "MidiAccess" = [ "EventTarget" ]; "MidiConnectionEvent" = [ "Event" ]; "MidiInput" = [ "EventTarget" "MidiPort" ]; "MidiMessageEvent" = [ "Event" ]; "MidiOutput" = [ "EventTarget" "MidiPort" ]; "MidiPort" = [ "EventTarget" ]; "MouseEvent" = [ "Event" "UiEvent" ]; "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ]; "MutationEvent" = [ "Event" ]; "NetworkInformation" = [ "EventTarget" ]; "Node" = [ "EventTarget" ]; "Notification" = [ "EventTarget" ]; "NotificationEvent" = [ "Event" "ExtendableEvent" ]; "OfflineAudioCompletionEvent" = [ "Event" ]; "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ]; "OfflineResourceList" = [ "EventTarget" ]; "OffscreenCanvas" = [ "EventTarget" ]; "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ]; "PageTransitionEvent" = [ "Event" ]; "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ]; "PannerNode" = [ "AudioNode" "EventTarget" ]; "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ]; "PaymentRequestUpdateEvent" = [ "Event" ]; "Performance" = [ "EventTarget" ]; "PerformanceMark" = [ "PerformanceEntry" ]; "PerformanceMeasure" = [ "PerformanceEntry" ]; "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ]; "PerformanceResourceTiming" = [ "PerformanceEntry" ]; "PermissionStatus" = [ "EventTarget" ]; "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ]; "PopStateEvent" = [ "Event" ]; "PopupBlockedEvent" = [ "Event" ]; "PresentationAvailability" = [ "EventTarget" ]; "PresentationConnection" = [ "EventTarget" ]; "PresentationConnectionAvailableEvent" = [ "Event" ]; "PresentationConnectionCloseEvent" = [ "Event" ]; "PresentationConnectionList" = [ "EventTarget" ]; "PresentationRequest" = [ "EventTarget" ]; "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ]; "ProgressEvent" = [ "Event" ]; "PromiseRejectionEvent" = [ "Event" ]; "PublicKeyCredential" = [ "Credential" ]; "PushEvent" = [ "Event" "ExtendableEvent" ]; "RadioNodeList" = [ "NodeList" ]; "RtcDataChannel" = [ "EventTarget" ]; "RtcDataChannelEvent" = [ "Event" ]; "RtcPeerConnection" = [ "EventTarget" ]; "RtcPeerConnectionIceEvent" = [ "Event" ]; "RtcTrackEvent" = [ "Event" ]; "RtcdtmfSender" = [ "EventTarget" ]; "RtcdtmfToneChangeEvent" = [ "Event" ]; "Screen" = [ "EventTarget" ]; "ScreenOrientation" = [ "EventTarget" ]; "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ]; "ScrollAreaEvent" = [ "Event" "UiEvent" ]; "SecurityPolicyViolationEvent" = [ "Event" ]; "ServiceWorker" = [ "EventTarget" ]; "ServiceWorkerContainer" = [ "EventTarget" ]; "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ]; "ServiceWorkerRegistration" = [ "EventTarget" ]; "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ]; "SharedWorker" = [ "EventTarget" ]; "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ]; "SourceBuffer" = [ "EventTarget" ]; "SourceBufferList" = [ "EventTarget" ]; "SpeechRecognition" = [ "EventTarget" ]; "SpeechRecognitionError" = [ "Event" ]; "SpeechRecognitionEvent" = [ "Event" ]; "SpeechSynthesis" = [ "EventTarget" ]; "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ]; "SpeechSynthesisEvent" = [ "Event" ]; "SpeechSynthesisUtterance" = [ "EventTarget" ]; "StereoPannerNode" = [ "AudioNode" "EventTarget" ]; "StorageEvent" = [ "Event" ]; "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgElement" = [ "Element" "EventTarget" "Node" ]; "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ]; "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgPathSegArcAbs" = [ "SvgPathSeg" ]; "SvgPathSegArcRel" = [ "SvgPathSeg" ]; "SvgPathSegClosePath" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ]; "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ]; "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ]; "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ]; "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ]; "SvgPathSegLinetoRel" = [ "SvgPathSeg" ]; "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ]; "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ]; "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ]; "SvgPathSegMovetoRel" = [ "SvgPathSeg" ]; "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ]; "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ]; "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ]; "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ]; "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ]; "TcpServerSocket" = [ "EventTarget" ]; "TcpServerSocketEvent" = [ "Event" ]; "TcpSocket" = [ "EventTarget" ]; "TcpSocketErrorEvent" = [ "Event" ]; "TcpSocketEvent" = [ "Event" ]; "Text" = [ "CharacterData" "EventTarget" "Node" ]; "TextTrack" = [ "EventTarget" ]; "TextTrackCue" = [ "EventTarget" ]; "TextTrackList" = [ "EventTarget" ]; "TimeEvent" = [ "Event" ]; "TouchEvent" = [ "Event" "UiEvent" ]; "TrackEvent" = [ "Event" ]; "TransitionEvent" = [ "Event" ]; "UiEvent" = [ "Event" ]; "UserProximityEvent" = [ "Event" ]; "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ]; "VideoTrackList" = [ "EventTarget" ]; "VrDisplay" = [ "EventTarget" ]; "VttCue" = [ "EventTarget" "TextTrackCue" ]; "WaveShaperNode" = [ "AudioNode" "EventTarget" ]; "WebGlContextEvent" = [ "Event" ]; "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ]; "WebSocket" = [ "EventTarget" ]; "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ]; "Window" = [ "EventTarget" ]; "WindowClient" = [ "Client" ]; "Worker" = [ "EventTarget" ]; "WorkerDebuggerGlobalScope" = [ "EventTarget" ]; "WorkerGlobalScope" = [ "EventTarget" ]; "XmlDocument" = [ "Document" "EventTarget" "Node" ]; "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ]; "XmlHttpRequestEventTarget" = [ "EventTarget" ]; "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ]; "Xr" = [ "EventTarget" ]; "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ]; "XrInputSourceEvent" = [ "Event" ]; "XrInputSourcesChangeEvent" = [ "Event" ]; "XrReferenceSpace" = [ "EventTarget" "XrSpace" ]; "XrReferenceSpaceEvent" = [ "Event" ]; "XrSession" = [ "EventTarget" ]; "XrSessionEvent" = [ "Event" ]; "XrSpace" = [ "EventTarget" ]; "XrViewerPose" = [ "XrPose" ]; }; resolvedDefaultFeatures = [ "Crypto" "EventTarget" "Window" ]; }; "webpki" = rec { crateName = "webpki"; version = "0.21.3"; edition = "2018"; sha256 = "1bij23xq5yx637y0ji667qvp6r95bbjhksxfh9gx947pylq6255b"; libPath = "src/webpki.rs"; authors = [ "Brian Smith " ]; dependencies = [ { name = "ring"; packageId = "ring"; usesDefaultFeatures = false; features = [ "alloc" ]; } { name = "untrusted"; packageId = "untrusted"; } ]; features = { "default" = [ "std" "trust_anchor_util" ]; "trust_anchor_util" = [ "std" ]; }; resolvedDefaultFeatures = [ "default" "std" "trust_anchor_util" ]; }; "webpki-roots" = rec { crateName = "webpki-roots"; version = "0.20.0"; edition = "2018"; crateBin = []; sha256 = "17qpmyym1lsi967b4nc3112nb13ism8731bhjqd9hlajafkxw80g"; authors = [ "Joseph Birr-Pixton " ]; dependencies = [ { name = "webpki"; packageId = "webpki"; } ]; }; "winapi 0.2.8" = rec { crateName = "winapi"; version = "0.2.8"; edition = "2015"; sha256 = "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"; authors = [ "Peter Atashian " ]; }; "winapi 0.3.9" = rec { crateName = "winapi"; version = "0.3.9"; edition = "2015"; sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw"; 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" "ioapiset" "minwinbase" "minwindef" "namedpipeapi" "ntdef" "ntsecapi" "processenv" "profileapi" "std" "synchapi" "sysinfoapi" "threadpoollegacyapiset" "timezoneapi" "winbase" "wincon" "winerror" "winnt" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" "wtypesbase" ]; }; "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-util" = rec { crateName = "winapi-util"; version = "0.1.5"; edition = "2018"; sha256 = "0y71bp7f6d536czj40dhqk0d55wfbbwqfp2ymqf1an5ibgl6rv3h"; authors = [ "Andrew Gallant " ]; dependencies = [ { name = "winapi"; packageId = "winapi 0.3.9"; target = { target, features }: target."windows"; features = [ "std" "consoleapi" "errhandlingapi" "fileapi" "minwindef" "processenv" "winbase" "wincon" "winerror" "winnt" ]; } ]; }; "winapi-x86_64-pc-windows-gnu" = rec { crateName = "winapi-x86_64-pc-windows-gnu"; version = "0.4.0"; edition = "2015"; sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"; authors = [ "Peter Atashian " ]; }; "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"; } ]; }; "xi-unicode" = rec { crateName = "xi-unicode"; version = "0.2.1"; edition = "2018"; sha256 = "1cj8pp53w6nlxwrzmfy247b8q6i09maqfhc3bi5szgxqn7c8a6z7"; authors = [ "Raph Levien " ]; }; }; # # 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 cd ${crate.src} for file in ${drv}/tests/*; do $file $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 ? ( if crateOverrides == pkgs.defaultCrateOverrides then buildRustCrate else buildRustCrate.override { defaultCrateOverrides = crateOverrides; } ) , runTests ? false , testCrateFlags ? [] , testInputs ? [] }: lib.makeOverridable ( { features, crateOverrides, runTests, testCrateFlags, testInputs }: let builtRustCrates = builtRustCratesWithFeatures { inherit packageId features buildRustCrateFunc; runTests = false; }; builtTestRustCrates = builtRustCratesWithFeatures { inherit packageId features buildRustCrateFunc; runTests = true; }; drv = builtRustCrates.${packageId}; testDrv = builtTestRustCrates.${packageId}; in if runTests then crateWithTest { crate = drv; testCrate = testDrv; inherit testCrateFlags testInputs; } else drv ) { 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 { name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz"; url = "https://crates.io/api/v1/crates/${crateConfig.crateName}/${crateConfig.version}/download"; sha256 = 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 = builtins.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) # }; }