diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 3182538248..b9e25bc9ff 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -70,4 +70,3 @@ }; vault-acme = pkgs.callPackage ./vault-acme { }; } // (import ./heptapod-runner args) - // (import ./lightspeed args) diff --git a/nix/pkgs/lightspeed/default.nix b/nix/pkgs/lightspeed/default.nix deleted file mode 100644 index 53eae57c40..0000000000 --- a/nix/pkgs/lightspeed/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }@args: -{ - lightspeed-ingest = pkgs.callPackage ./lightspeed-ingest { }; - lightspeed-webrtc = pkgs.callPackage ./lightspeed-webrtc { }; - lightspeed-react = pkgs.callPackage ./lightspeed-react { }; -} diff --git a/nix/pkgs/lightspeed/lightspeed-ingest/Cargo.nix b/nix/pkgs/lightspeed/lightspeed-ingest/Cargo.nix deleted file mode 100644 index 6f85120e11..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-ingest/Cargo.nix +++ /dev/null @@ -1,2895 +0,0 @@ - -# This file was @generated by crate2nix 0.9.0-alpha.1 with the command: -# "generate" -# See https://github.com/kolloch/crate2nix for more info. - -{ nixpkgs ? -, 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 - # Used for conditional compilation based on CPU feature detection. -, targetFeatures ? [] - # Whether to perform release builds: longer compile times, faster binaries. -, release ? true - # Additional crate2nix configuration if it exists. -, crateConfig - ? if builtins.pathExists ./crate-config.nix - then pkgs.callPackage ./crate-config.nix {} - else {} -}: - -rec { - # - # "public" attributes that we attempt to keep stable with new versions of crate2nix. - # - - rootCrate = rec { - packageId = "lightspeed-ingest"; - - # Use this attribute to refer to the derivation building your root crate package. - # You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }. - build = internal.buildRustCrateWithFeatures { - inherit packageId; - }; - - # Debug support which might change between releases. - # File a bug if you depend on any for non-debug work! - debug = internal.debugCrate { inherit packageId; }; - }; - # Refer your crate build derivation by name here. - # You can override the features with - # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }. - workspaceMembers = { - "lightspeed-ingest" = rec { - packageId = "lightspeed-ingest"; - build = internal.buildRustCrateWithFeatures { - packageId = "lightspeed-ingest"; - }; - - # Debug support which might change between releases. - # File a bug if you depend on any for non-debug work! - debug = internal.debugCrate { inherit packageId; }; - }; - }; - - # A derivation that joins the outputs of all workspace members together. - allWorkspaceMembers = pkgs.symlinkJoin { - name = "all-workspace-members"; - paths = - let members = builtins.attrValues workspaceMembers; - in builtins.map (m: m.build) members; - }; - - # - # "internal" ("private") attributes that may change in every new version of crate2nix. - # - - internal = rec { - # Build and dependency information for crates. - # Many of the fields are passed one-to-one to buildRustCrate. - # - # Noteworthy: - # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate. - # but with additional information which is used during dependency/feature resolution. - # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging. - # * `devDependencies` as of now not used by `buildRustCrate` but used to - # inject test dependencies into the build - - crates = { - "aho-corasick" = rec { - crateName = "aho-corasick"; - version = "0.7.15"; - edition = "2015"; - sha256 = "1rb8gzhljl8r87dpf2n5pnqnkl694casgns4ma0sqzd4zazzw13l"; - libName = "aho_corasick"; - authors = [ - "Andrew Gallant " - ]; - dependencies = [ - { - name = "memchr"; - packageId = "memchr"; - usesDefaultFeatures = false; - } - ]; - features = { - "default" = [ "std" ]; - "std" = [ "memchr/use_std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "autocfg" = rec { - crateName = "autocfg"; - version = "1.0.1"; - edition = "2015"; - sha256 = "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d"; - authors = [ - "Josh Stone " - ]; - - }; - "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 0.5.6" = rec { - crateName = "bytes"; - version = "0.5.6"; - edition = "2018"; - sha256 = "0f5s7xq6qzmdh22ygsy8v0sp02m51y0radvq4i4y8cizy1lfqk0f"; - authors = [ - "Carl Lerche " - "Sean McArthur " - ]; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "bytes 0.6.0" = rec { - crateName = "bytes"; - version = "0.6.0"; - edition = "2018"; - sha256 = "05ivrcbgl4f7z2zzm9hbsi8cy66spi70xlm6fp16zsq4ylsvrp70"; - authors = [ - "Carl Lerche " - "Sean McArthur " - ]; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "cc" = rec { - crateName = "cc"; - version = "1.0.66"; - edition = "2018"; - crateBin = []; - sha256 = "0j7d7h4n81z5f22l3v8ggjvvw8m64636nlaqax4x1y44da1rc12c"; - authors = [ - "Alex Crichton " - ]; - features = { - "parallel" = [ "jobserver" ]; - }; - }; - "cfg-if 0.1.10" = rec { - crateName = "cfg-if"; - version = "0.1.10"; - edition = "2018"; - sha256 = "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"; - authors = [ - "Alex Crichton " - ]; - features = { - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; - }; - }; - "cfg-if 1.0.0" = rec { - crateName = "cfg-if"; - version = "1.0.0"; - edition = "2018"; - sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds"; - authors = [ - "Alex Crichton " - ]; - features = { - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; - }; - }; - "cloudabi" = rec { - crateName = "cloudabi"; - version = "0.0.3"; - edition = "2015"; - sha256 = "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"; - libPath = "cloudabi.rs"; - authors = [ - "Nuxi (https://nuxi.nl/) and contributors" - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - optional = true; - } - ]; - features = { - "default" = [ "bitflags" ]; - }; - resolvedDefaultFeatures = [ "bitflags" "default" ]; - }; - "fuchsia-cprng" = rec { - crateName = "fuchsia-cprng"; - version = "0.1.1"; - edition = "2018"; - sha256 = "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"; - authors = [ - "Erick Tryzelaar " - ]; - - }; - "futures" = rec { - crateName = "futures"; - version = "0.3.7"; - edition = "2018"; - sha256 = "15s77p4dln00clg5br9sw0rg01ir18z747b22nigvysgb0w4sccm"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "futures-channel"; - packageId = "futures-channel"; - usesDefaultFeatures = false; - features = [ "sink" ]; - } - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-executor"; - packageId = "futures-executor"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "futures-io"; - packageId = "futures-io"; - usesDefaultFeatures = false; - } - { - name = "futures-sink"; - packageId = "futures-sink"; - usesDefaultFeatures = false; - } - { - name = "futures-task"; - packageId = "futures-task"; - usesDefaultFeatures = false; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - features = [ "sink" ]; - } - ]; - features = { - "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ]; - "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ]; - "bilock" = [ "futures-util/bilock" ]; - "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" "futures-task/cfg-target-has-atomic" "futures-channel/cfg-target-has-atomic" "futures-util/cfg-target-has-atomic" ]; - "compat" = [ "std" "futures-util/compat" ]; - "default" = [ "std" "async-await" "executor" ]; - "executor" = [ "std" "futures-executor/std" ]; - "io-compat" = [ "compat" "futures-util/io-compat" ]; - "read-initializer" = [ "futures-io/read-initializer" "futures-util/read-initializer" ]; - "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ]; - "thread-pool" = [ "executor" "futures-executor/thread-pool" ]; - "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ]; - "write-all-vectored" = [ "futures-util/write-all-vectored" ]; - }; - resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ]; - }; - "futures-channel" = rec { - crateName = "futures-channel"; - version = "0.3.7"; - edition = "2018"; - sha256 = "0lf1qb3bnydlwl49lmlkza6amak3i79axi3ssgp3500l055ifj04"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-sink"; - packageId = "futures-sink"; - optional = true; - usesDefaultFeatures = false; - } - ]; - features = { - "alloc" = [ "futures-core/alloc" ]; - "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" ]; - "default" = [ "std" ]; - "sink" = [ "futures-sink" ]; - "std" = [ "alloc" "futures-core/std" ]; - "unstable" = [ "futures-core/unstable" ]; - }; - resolvedDefaultFeatures = [ "alloc" "futures-sink" "sink" "std" ]; - }; - "futures-core" = rec { - crateName = "futures-core"; - version = "0.3.7"; - edition = "2018"; - sha256 = "0ijf1nhhwigjxl69gjh8yp3v9qrwzxn04fgai0nfsjwq09hsbshq"; - authors = [ - "Alex Crichton " - ]; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; - }; - "futures-executor" = rec { - crateName = "futures-executor"; - version = "0.3.7"; - edition = "2018"; - sha256 = "1jq8nxaf7pw0c2z0dw47x68d6rlnxwbxmgcfwy2ymfla4p4y1y7m"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-task"; - packageId = "futures-task"; - usesDefaultFeatures = false; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - } - ]; - features = { - "default" = [ "std" ]; - "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ]; - "thread-pool" = [ "std" "num_cpus" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; - "futures-io" = rec { - crateName = "futures-io"; - version = "0.3.7"; - edition = "2018"; - sha256 = "0ayxbl36z81bmzx2s3dq3nl7mkjqkycsl4kv9aagy9s79a2rh5vf"; - authors = [ - "Alex Crichton " - ]; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; - "futures-macro" = rec { - crateName = "futures-macro"; - version = "0.3.7"; - edition = "2018"; - sha256 = "1zlyallwjz4fx0kr8j7dgxfncfvwc9y04rfj2i53nmjqzkrwqvz3"; - procMacro = true; - authors = [ - "Taylor Cramer " - "Taiki Endo " - ]; - dependencies = [ - { - name = "proc-macro-hack"; - packageId = "proc-macro-hack"; - } - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn"; - features = [ "full" ]; - } - ]; - - }; - "futures-sink" = rec { - crateName = "futures-sink"; - version = "0.3.7"; - edition = "2018"; - sha256 = "048b183c63vjf8cb715ckpl6yfibbg9sgxrxbnp0923fgpqs6g0f"; - authors = [ - "Alex Crichton " - ]; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; - }; - "futures-task" = rec { - crateName = "futures-task"; - version = "0.3.7"; - edition = "2018"; - sha256 = "0g6fg21dr0ivdgkc3p69xshzi0s66wzg0ga5k7plyv0q6yph5mcn"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "once_cell"; - packageId = "once_cell"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" ]; - } - ]; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" "once_cell" ]; - }; - resolvedDefaultFeatures = [ "alloc" "once_cell" "std" ]; - }; - "futures-util" = rec { - crateName = "futures-util"; - version = "0.3.7"; - edition = "2018"; - sha256 = "0d4fpcanr1n7iaqn1l7sbmqgs97p2nl8lys2mklg7rk25ws49jxb"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "futures-channel"; - packageId = "futures-channel"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" ]; - } - { - name = "futures-core"; - packageId = "futures-core"; - usesDefaultFeatures = false; - } - { - name = "futures-io"; - packageId = "futures-io"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" ]; - } - { - name = "futures-macro"; - packageId = "futures-macro"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "futures-sink"; - packageId = "futures-sink"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "futures-task"; - packageId = "futures-task"; - usesDefaultFeatures = false; - } - { - name = "memchr"; - packageId = "memchr"; - optional = true; - } - { - name = "pin-project"; - packageId = "pin-project"; - } - { - name = "pin-utils"; - packageId = "pin-utils"; - } - { - name = "proc-macro-hack"; - packageId = "proc-macro-hack"; - optional = true; - } - { - name = "proc-macro-nested"; - packageId = "proc-macro-nested"; - optional = true; - } - { - name = "slab"; - packageId = "slab"; - optional = true; - } - ]; - features = { - "alloc" = [ "futures-core/alloc" "futures-task/alloc" ]; - "async-await-macro" = [ "async-await" "futures-macro" "proc-macro-hack" "proc-macro-nested" ]; - "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" "futures-task/cfg-target-has-atomic" ]; - "channel" = [ "std" "futures-channel" ]; - "compat" = [ "std" "futures_01" ]; - "default" = [ "std" "async-await" "async-await-macro" ]; - "io" = [ "std" "futures-io" "memchr" ]; - "io-compat" = [ "io" "compat" "tokio-io" ]; - "read-initializer" = [ "io" "futures-io/read-initializer" "futures-io/unstable" ]; - "sink" = [ "futures-sink" ]; - "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ]; - "unstable" = [ "futures-core/unstable" "futures-task/unstable" ]; - "write-all-vectored" = [ "io" ]; - }; - resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "default" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "proc-macro-hack" "proc-macro-nested" "sink" "slab" "std" ]; - }; - "hermit-abi" = rec { - crateName = "hermit-abi"; - version = "0.1.17"; - edition = "2018"; - sha256 = "1s1ss7xypnbpjglmj5k39svzsmni1rqp57a91qi5pyv0yxjmbjjs"; - authors = [ - "Stefan Lankes" - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - } - ]; - features = { - "rustc-dep-of-std" = [ "core" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "hex" = rec { - crateName = "hex"; - version = "0.4.2"; - edition = "2018"; - sha256 = "0dbf00j3h3pz0lw8jp245rwypna6i23l4cpvym8gsczin9c92kv4"; - authors = [ - "KokaKiwi " - ]; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "instant" = rec { - crateName = "instant"; - version = "0.1.9"; - edition = "2018"; - sha256 = "1v659qqm55misvjijfbl1p7azjp4yynjbwldan8836ynpgp4w4k1"; - authors = [ - "sebcrozet " - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if 1.0.0"; - } - ]; - features = { - "now" = [ "time" ]; - "wasm-bindgen" = [ "js-sys" "wasm-bindgen_rs" "web-sys" ]; - }; - }; - "js-sys" = rec { - crateName = "js-sys"; - version = "0.3.46"; - edition = "2018"; - sha256 = "0xc1llkp23q8ac2wdwh46y6gjbc34prrd98g5my9qz4zja1p6gfg"; - authors = [ - "The wasm-bindgen Developers" - ]; - dependencies = [ - { - name = "wasm-bindgen"; - packageId = "wasm-bindgen"; - } - ]; - - }; - "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.79"; - edition = "2015"; - sha256 = "0hw7qnlymw5gi5c3xd7mirpgrc5l0pvqpjg9jb3vzqw0dq3gcj14"; - authors = [ - "The Rust Project Developers" - ]; - features = { - "default" = [ "std" ]; - "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ]; - "use_std" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "align" "default" "std" ]; - }; - "lightspeed-ingest" = rec { - crateName = "lightspeed-ingest"; - version = "0.1.0"; - edition = "2018"; - crateBin = [ - { name = "lightspeed-ingest"; path = "src/main.rs"; } - ]; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/GRVYDEV/lightspeed-ingest"; - rev = "6e7756d427e409480d183a4e2211f0dca38629b1"; - sha256 = "145fqxwzvkcpg94b9f9annqf29nyjaign6yins3jkhsz8zbqcv99"; - }; - authors = [ - "Garrett Graves " - ]; - dependencies = [ - { - name = "bytes"; - packageId = "bytes 0.5.6"; - } - { - name = "futures"; - packageId = "futures"; - } - { - name = "futures-util"; - packageId = "futures-util"; - } - { - name = "hex"; - packageId = "hex"; - } - { - name = "rand"; - packageId = "rand"; - } - { - name = "regex"; - packageId = "regex"; - } - { - name = "ring"; - packageId = "ring"; - } - { - name = "rtp-rs"; - packageId = "rtp-rs"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "full" ]; - } - { - name = "tokio-util"; - packageId = "tokio-util"; - features = [ "codec" ]; - } - ]; - - }; - "lock_api" = rec { - crateName = "lock_api"; - version = "0.4.2"; - edition = "2018"; - sha256 = "04hkhfq308agxg9wwmzh7ncfiyyyhn0d49n07abppzdj6p8zz5nx"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "scopeguard"; - packageId = "scopeguard"; - usesDefaultFeatures = false; - } - ]; - features = { - }; - }; - "log" = rec { - crateName = "log"; - version = "0.4.11"; - edition = "2015"; - sha256 = "12xzqaflpiljn5cmxsbnbv9sjaj13ykhwsvll0gysbx4blbyvasg"; - authors = [ - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if 0.1.10"; - } - ]; - features = { - "kv_unstable_sval" = [ "kv_unstable" "sval/fmt" ]; - }; - }; - "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.7.6"; - edition = "2018"; - sha256 = "12qsvmsmpijnghgci5i0liskvwxrbg2dz6hc09kgvwaf0s3whfzk"; - authors = [ - "Carl Lerche " - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - target = { target, features }: target."unix"; - } - { - name = "log"; - packageId = "log"; - } - { - name = "miow"; - packageId = "miow"; - target = { target, features }: target."windows"; - } - { - name = "ntapi"; - packageId = "ntapi"; - target = { target, features }: target."windows"; - } - { - name = "winapi"; - packageId = "winapi"; - target = { target, features }: target."windows"; - features = [ "winsock2" "mswsock" ]; - } - ]; - features = { - "os-ext" = [ "os-poll" ]; - "os-util" = [ "os-ext" ]; - "pipe" = [ "os-ext" ]; - "tcp" = [ "net" ]; - "udp" = [ "net" ]; - "uds" = [ "net" ]; - }; - resolvedDefaultFeatures = [ "default" "net" "os-ext" "os-poll" "os-util" "tcp" "udp" "uds" ]; - }; - "miow" = rec { - crateName = "miow"; - version = "0.3.6"; - edition = "2018"; - sha256 = "15sqdhh29dqgw5xh59clwv6scbsbvdkbmdc16hbfvyq7b2sw2css"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "socket2"; - packageId = "socket2"; - } - { - name = "winapi"; - packageId = "winapi"; - features = [ "std" "fileapi" "handleapi" "ioapiset" "minwindef" "namedpipeapi" "ntdef" "synchapi" "winerror" "winsock2" "ws2def" "ws2ipdef" ]; - } - ]; - - }; - "ntapi" = rec { - crateName = "ntapi"; - version = "0.3.6"; - edition = "2018"; - sha256 = "0i5daj9sr8wyi5jkpwpybln2jqpn59z0mqfc0dpdidipwh1bjsrz"; - authors = [ - "MSxDOS " - ]; - dependencies = [ - { - name = "winapi"; - packageId = "winapi"; - features = [ "cfg" "evntrace" "in6addr" "inaddr" "minwinbase" "ntsecapi" "windef" "winioctl" ]; - } - ]; - features = { - "default" = [ "user" ]; - "impl-default" = [ "winapi/impl-default" ]; - }; - resolvedDefaultFeatures = [ "default" "user" ]; - }; - "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.5.2"; - edition = "2018"; - sha256 = "183zs1dbmsv24mkafjypf9qwjrx46an58vb004a162l113sl3g8k"; - authors = [ - "Aleksey Kladov " - ]; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; - }; - "parking_lot" = rec { - crateName = "parking_lot"; - version = "0.11.1"; - edition = "2018"; - sha256 = "1sqmgaia8zfd5fbnqw2w13ijh7crk3lf9vw4cb52vwlx0an48xvd"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "instant"; - packageId = "instant"; - } - { - name = "lock_api"; - packageId = "lock_api"; - } - { - name = "parking_lot_core"; - packageId = "parking_lot_core"; - } - ]; - features = { - "deadlock_detection" = [ "parking_lot_core/deadlock_detection" ]; - "nightly" = [ "parking_lot_core/nightly" "lock_api/nightly" ]; - "owning_ref" = [ "lock_api/owning_ref" ]; - "serde" = [ "lock_api/serde" ]; - "stdweb" = [ "instant/stdweb" ]; - "wasm-bindgen" = [ "instant/wasm-bindgen" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "parking_lot_core" = rec { - crateName = "parking_lot_core"; - version = "0.8.1"; - edition = "2018"; - sha256 = "1l6fhxks1xc8vbcwlz2119canmaql5hfhny51552hibl8awdkinp"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if 1.0.0"; - } - { - name = "instant"; - packageId = "instant"; - } - { - name = "libc"; - packageId = "libc"; - target = { target, features }: target."unix"; - } - { - name = "redox_syscall"; - packageId = "redox_syscall"; - target = { target, features }: (target."os" == "redox"); - } - { - name = "smallvec"; - packageId = "smallvec"; - } - { - name = "winapi"; - packageId = "winapi"; - target = { target, features }: target."windows"; - features = [ "winnt" "ntstatus" "minwindef" "winerror" "winbase" "errhandlingapi" "handleapi" ]; - } - ]; - features = { - "deadlock_detection" = [ "petgraph" "thread-id" "backtrace" ]; - }; - }; - "pin-project" = rec { - crateName = "pin-project"; - version = "1.0.1"; - edition = "2018"; - sha256 = "0h9qyx9napp34j5d7jk11xnlbirmdgxklkh7sxcxjq2gfhwdhhgf"; - authors = [ - "Taiki Endo " - ]; - dependencies = [ - { - name = "pin-project-internal"; - packageId = "pin-project-internal"; - usesDefaultFeatures = false; - } - ]; - - }; - "pin-project-internal" = rec { - crateName = "pin-project-internal"; - version = "1.0.1"; - edition = "2018"; - sha256 = "11igpgxqnqlfim2zrmy8k82dr9s9yqfhim4400sgysxnjjjzz941"; - procMacro = true; - authors = [ - "Taiki Endo " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn"; - features = [ "full" "visit-mut" ]; - } - ]; - - }; - "pin-project-lite 0.1.11" = rec { - crateName = "pin-project-lite"; - version = "0.1.11"; - edition = "2018"; - sha256 = "0srgdb3vkx7ppcww1qr7a67c7n84y01lq35j9g44z4h1z8x145y9"; - authors = [ - "Taiki Endo " - ]; - - }; - "pin-project-lite 0.2.0" = rec { - crateName = "pin-project-lite"; - version = "0.2.0"; - edition = "2018"; - sha256 = "070klqy200alrhxb79fxarrrrn0vbwg95dmqw9062vhqxibky1kb"; - authors = [ - "Taiki Endo " - ]; - - }; - "pin-utils" = rec { - crateName = "pin-utils"; - version = "0.1.0"; - edition = "2018"; - sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb"; - authors = [ - "Josef Brandl " - ]; - - }; - "proc-macro-hack" = rec { - crateName = "proc-macro-hack"; - version = "0.5.18"; - edition = "2018"; - sha256 = "16055crxm9l5skrl96l5cs6xc4xnvhiggcf625r7pixdl2whbilr"; - procMacro = true; - authors = [ - "David Tolnay " - ]; - - }; - "proc-macro-nested" = rec { - crateName = "proc-macro-nested"; - version = "0.1.6"; - edition = "2015"; - sha256 = "0nnwm9bvp1fmr8nqjp8ynrkj97yzpsdh3062li8b0f4hzgd818gb"; - authors = [ - "David Tolnay " - ]; - - }; - "proc-macro2" = rec { - crateName = "proc-macro2"; - version = "1.0.24"; - edition = "2018"; - sha256 = "0wcabxzrddcjmryndw8fpyxcq6rw63m701vx86xxf03y3bp081qy"; - authors = [ - "Alex Crichton " - "David Tolnay " - ]; - dependencies = [ - { - name = "unicode-xid"; - packageId = "unicode-xid"; - } - ]; - features = { - "default" = [ "proc-macro" ]; - }; - resolvedDefaultFeatures = [ "default" "proc-macro" ]; - }; - "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" ]; - }; - "rand" = rec { - crateName = "rand"; - version = "0.5.6"; - edition = "2015"; - sha256 = "1fdcgja9167hlzkf4g5daqwp498lwiyq7aqm05whklpbsdyc8666"; - authors = [ - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "cloudabi"; - packageId = "cloudabi"; - optional = true; - target = { target, features }: (target."os" == "cloudabi"); - } - { - name = "fuchsia-cprng"; - packageId = "fuchsia-cprng"; - optional = true; - target = { target, features }: (target."os" == "fuchsia"); - } - { - name = "libc"; - packageId = "libc"; - optional = true; - target = { target, features }: target."unix"; - } - { - name = "rand_core"; - packageId = "rand_core 0.3.1"; - usesDefaultFeatures = false; - } - { - name = "winapi"; - packageId = "winapi"; - optional = true; - target = { target, features }: target."windows"; - features = [ "minwindef" "ntsecapi" "profileapi" "winnt" ]; - } - ]; - features = { - "alloc" = [ "rand_core/alloc" ]; - "default" = [ "std" ]; - "nightly" = [ "i128_support" ]; - "serde1" = [ "serde" "serde_derive" "rand_core/serde1" ]; - "std" = [ "rand_core/std" "alloc" "libc" "winapi" "cloudabi" "fuchsia-cprng" ]; - }; - resolvedDefaultFeatures = [ "alloc" "cloudabi" "default" "fuchsia-cprng" "libc" "std" "winapi" ]; - }; - "rand_core 0.3.1" = rec { - crateName = "rand_core"; - version = "0.3.1"; - edition = "2015"; - sha256 = "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"; - authors = [ - "The Rand Project Developers" - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "rand_core"; - packageId = "rand_core 0.4.2"; - } - ]; - features = { - "alloc" = [ "rand_core/alloc" ]; - "default" = [ "std" ]; - "serde1" = [ "rand_core/serde1" ]; - "std" = [ "rand_core/std" ]; - }; - resolvedDefaultFeatures = [ "alloc" "std" ]; - }; - "rand_core 0.4.2" = rec { - crateName = "rand_core"; - version = "0.4.2"; - edition = "2015"; - sha256 = "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"; - authors = [ - "The Rand Project Developers" - "The Rust Project Developers" - ]; - features = { - "serde1" = [ "serde" "serde_derive" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "std" ]; - }; - "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.4.2"; - edition = "2015"; - sha256 = "172bw2yryv65whn3n5vkww4kgk0bq08lx0zbln8xwia7xl9jrkrq"; - 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.21"; - edition = "2015"; - sha256 = "12d176jkgw9749g07zjxz0n78nyvb2nqx3j4sp5aqyphvji1n61v"; - 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.19"; - edition = "2018"; - sha256 = "09j2jh4cfl6vdlr5qkrvl5rln3pzlwi5dvi4cv36ck57zrk1wjh2"; - 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" == "linux")); - features = [ "std" ]; - } - { - name = "once_cell"; - packageId = "once_cell"; - usesDefaultFeatures = false; - target = { target, features }: ((target."os" == "dragonfly") || (target."os" == "freebsd") || (target."os" == "illumos") || (target."os" == "netbsd") || (target."os" == "openbsd") || (target."os" == "solaris")); - features = [ "std" ]; - } - { - name = "spin"; - packageId = "spin"; - usesDefaultFeatures = false; - target = { target, features }: ((target."arch" == "x86") || (target."arch" == "x86_64") || (((target."arch" == "aarch64") || (target."arch" == "arm")) && ((target."os" == "android") || (target."os" == "fuchsia") || (target."os" == "linux")))); - } - { - name = "untrusted"; - packageId = "untrusted"; - } - { - name = "web-sys"; - packageId = "web-sys"; - usesDefaultFeatures = false; - target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (target."env" == "")); - features = [ "Crypto" "Window" ]; - } - { - name = "winapi"; - packageId = "winapi"; - usesDefaultFeatures = false; - target = { target, features }: (target."os" == "windows"); - features = [ "ntsecapi" "wtypesbase" ]; - } - ]; - buildDependencies = [ - { - name = "cc"; - packageId = "cc"; - usesDefaultFeatures = false; - } - ]; - features = { - "default" = [ "alloc" "dev_urandom_fallback" ]; - "dev_urandom_fallback" = [ "once_cell" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ]; - }; - "rtp-rs" = rec { - crateName = "rtp-rs"; - version = "0.5.0"; - edition = "2018"; - sha256 = "1x8pgqbwwqrqnp2ykzdva7inmn7jzcgr42fy07lldm4ka5lhs4g1"; - libName = "rtp_rs"; - authors = [ - "David Holroyd " - ]; - - }; - "scopeguard" = rec { - crateName = "scopeguard"; - version = "1.1.0"; - edition = "2015"; - sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj"; - authors = [ - "bluss" - ]; - features = { - "default" = [ "use_std" ]; - }; - }; - "signal-hook-registry" = rec { - crateName = "signal-hook-registry"; - version = "1.2.2"; - edition = "2015"; - sha256 = "1ar0dd9q1w952knhs0fx7qfh4iq5jvcvwkw1xg5fmmandh6flcnf"; - authors = [ - "Michal 'vorner' Vaner " - "Masaki Hara " - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - } - ]; - - }; - "slab" = rec { - crateName = "slab"; - version = "0.4.2"; - edition = "2015"; - sha256 = "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"; - authors = [ - "Carl Lerche " - ]; - - }; - "smallvec" = rec { - crateName = "smallvec"; - version = "1.5.1"; - edition = "2018"; - sha256 = "0xcxvc2lh2fj02d91v4dx1l4q14m5rb4yac788bhwxvxdl2lylmf"; - authors = [ - "The Servo Project Developers" - ]; - features = { - }; - }; - "socket2" = rec { - crateName = "socket2"; - version = "0.3.19"; - edition = "2018"; - sha256 = "0vldz14mxqxnjqb6an2pj7mgclv7nrk45cpscwq7g3fj2c0mfbhj"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if 1.0.0"; - target = { target, features }: target."unix"; - } - { - name = "libc"; - packageId = "libc"; - target = { target, features }: target."unix"; - features = [ "align" ]; - } - { - name = "winapi"; - packageId = "winapi"; - 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 " - ]; - - }; - "syn" = rec { - crateName = "syn"; - version = "1.0.46"; - edition = "2018"; - sha256 = "0hn92vd7rj79ldhg3mhrlan2pl1k4b2d5phq4qrdl17a40rdxmas"; - 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" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ]; - }; - "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"; - } - ]; - - }; - "tokio" = rec { - crateName = "tokio"; - version = "0.3.6"; - edition = "2018"; - sha256 = "0z78l7kn4y2qvghsp9dyqgvr1kjvv63pjq3d8nzi31q74lfa42vj"; - authors = [ - "Tokio Contributors " - ]; - dependencies = [ - { - name = "bytes"; - packageId = "bytes 0.6.0"; - optional = true; - } - { - name = "futures-core"; - packageId = "futures-core"; - 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 = "num_cpus"; - packageId = "num_cpus"; - optional = true; - } - { - name = "once_cell"; - packageId = "once_cell"; - optional = true; - } - { - name = "parking_lot"; - packageId = "parking_lot"; - optional = true; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite 0.2.0"; - } - { - 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"; - optional = true; - usesDefaultFeatures = false; - target = { target, features }: target."windows"; - } - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - devDependencies = [ - { - name = "libc"; - packageId = "libc"; - target = {target, features}: target."unix"; - } - ]; - features = { - "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "stream" "sync" "time" ]; - "io-util" = [ "memchr" "bytes" ]; - "macros" = [ "tokio-macros" ]; - "net" = [ "libc" "mio/os-poll" "mio/os-util" "mio/tcp" "mio/udp" "mio/uds" ]; - "process" = [ "bytes" "once_cell" "libc" "mio/os-poll" "mio/os-util" "mio/uds" "signal-hook-registry" "winapi/threadpoollegacyapiset" ]; - "rt" = [ "slab" ]; - "rt-multi-thread" = [ "num_cpus" "rt" ]; - "signal" = [ "once_cell" "libc" "mio/os-poll" "mio/uds" "mio/os-util" "signal-hook-registry" "winapi/consoleapi" ]; - "stream" = [ "futures-core" ]; - }; - resolvedDefaultFeatures = [ "bytes" "default" "fs" "full" "futures-core" "io-std" "io-util" "libc" "macros" "memchr" "mio" "net" "num_cpus" "once_cell" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "signal-hook-registry" "slab" "stream" "sync" "time" "tokio-macros" "winapi" ]; - }; - "tokio-macros" = rec { - crateName = "tokio-macros"; - version = "0.3.2"; - edition = "2018"; - sha256 = "1dvd3gji7a0i1kgck2lwgbcbklk3qb1bsqgd2v9amj63kyjzzps6"; - procMacro = true; - authors = [ - "Tokio Contributors " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn"; - features = [ "full" ]; - } - ]; - - }; - "tokio-util" = rec { - crateName = "tokio-util"; - version = "0.4.0"; - edition = "2018"; - sha256 = "1m4pdg2gciagc9c5psg4lm51mcg69xwxr1yjdr0s0nv6yjckcy94"; - authors = [ - "Tokio Contributors " - ]; - dependencies = [ - { - name = "bytes"; - packageId = "bytes 0.5.6"; - } - { - name = "futures-core"; - packageId = "futures-core"; - } - { - name = "futures-sink"; - packageId = "futures-sink"; - } - { - name = "log"; - packageId = "log"; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite 0.1.11"; - } - { - name = "tokio"; - packageId = "tokio"; - } - ]; - devDependencies = [ - { - name = "tokio"; - packageId = "tokio"; - features = [ "full" ]; - } - ]; - features = { - "codec" = [ "tokio/stream" ]; - "compat" = [ "futures-io" ]; - "full" = [ "codec" "compat" "io" "time" ]; - "rt" = [ "tokio/rt" ]; - "time" = [ "tokio/time" "slab" ]; - }; - resolvedDefaultFeatures = [ "codec" "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 " - ]; - - }; - "wasm-bindgen" = rec { - crateName = "wasm-bindgen"; - version = "0.2.69"; - edition = "2018"; - sha256 = "0vkkpz290k6pphmrgkayzdvk1dinxrp6c5zvr9l0zjlm2dsn9lrw"; - authors = [ - "The wasm-bindgen Developers" - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if 1.0.0"; - } - { - 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.69"; - edition = "2018"; - sha256 = "0qidxjmcn50v2i5hjz7al69sa3mbq0lbi276amdnw47ln6dgh50i"; - 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.69"; - edition = "2018"; - sha256 = "113hyzn0dpqasznzcwgmqw03i5yhjkqna7paim50h7xdbscwhsks"; - 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.69"; - edition = "2018"; - sha256 = "0jbmgj8zxflza1cl15k3r70fqsak4bkkfbn6qxbhbn4ry9r8r95m"; - 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.69"; - edition = "2018"; - sha256 = "0n3ir6gq27np22l6m96y342a6fphk1pkbzbfqx6g364kgzfi2y3y"; - authors = [ - "The wasm-bindgen Developers" - ]; - - }; - "web-sys" = rec { - crateName = "web-sys"; - version = "0.3.46"; - edition = "2018"; - sha256 = "1hx3bcqhczkdc952gychkaakc27kh3yw6gdm7wfs54jg6gwiwar2"; - 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" ]; - "Bluetooth" = [ "EventTarget" ]; - "BluetoothAdvertisingEvent" = [ "Event" ]; - "BluetoothDevice" = [ "EventTarget" ]; - "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ]; - "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ]; - "BluetoothRemoteGattService" = [ "EventTarget" ]; - "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" ]; - "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" ]; - "Usb" = [ "EventTarget" ]; - "UsbConnectionEvent" = [ "Event" ]; - "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ]; - "UserProximityEvent" = [ "Event" ]; - "ValueEvent" = [ "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" ]; - }; - "winapi" = 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 = [ "cfg" "consoleapi" "errhandlingapi" "evntrace" "fileapi" "handleapi" "in6addr" "inaddr" "ioapiset" "minwinbase" "minwindef" "mswsock" "namedpipeapi" "ntdef" "ntsecapi" "ntstatus" "profileapi" "std" "synchapi" "threadpoollegacyapiset" "winbase" "windef" "winerror" "winioctl" "winnt" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" "wtypesbase" ]; - }; - "winapi-i686-pc-windows-gnu" = rec { - crateName = "winapi-i686-pc-windows-gnu"; - version = "0.4.0"; - edition = "2015"; - sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"; - authors = [ - "Peter Atashian " - ]; - - }; - "winapi-x86_64-pc-windows-gnu" = rec { - crateName = "winapi-x86_64-pc-windows-gnu"; - version = "0.4.0"; - edition = "2015"; - sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"; - authors = [ - "Peter Atashian " - ]; - - }; - }; - - # -# crate2nix/default.nix (excerpt start) -# - - /* Target (platform) data for conditional dependencies. - This corresponds roughly to what buildRustCrate is setting. - */ - defaultTarget = { - unix = true; - windows = false; - fuchsia = true; - test = false; - - # This doesn't appear to be officially documented anywhere yet. - # See https://github.com/rust-lang-nursery/rust-forge/issues/101. - os = - if stdenv.hostPlatform.isDarwin - then "macos" - else stdenv.hostPlatform.parsed.kernel.name; - arch = stdenv.hostPlatform.parsed.cpu.name; - family = "unix"; - env = "gnu"; - endian = - if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" - then "little" else "big"; - pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits; - vendor = stdenv.hostPlatform.parsed.vendor.name; - debug_assertions = false; - }; - - /* Filters common temp files and build files. */ - # TODO(pkolloch): Substitute with gitignore filter - sourceFilter = name: type: - let - baseName = builtins.baseNameOf (builtins.toString name); - in - ! ( - # Filter out git - baseName == ".gitignore" - || (type == "directory" && baseName == ".git") - - # Filter out build results - || ( - type == "directory" && ( - baseName == "target" - || baseName == "_site" - || baseName == ".sass-cache" - || baseName == ".jekyll-metadata" - || baseName == "build-artifacts" - ) - ) - - # Filter out nix-build result symlinks - || ( - type == "symlink" && lib.hasPrefix "result" baseName - ) - - # Filter out IDE config - || ( - type == "directory" && ( - baseName == ".idea" || baseName == ".vscode" - ) - ) || lib.hasSuffix ".iml" baseName - - # Filter out nix build files - || baseName == "Cargo.nix" - - # Filter out editor backup / swap files. - || lib.hasSuffix "~" baseName - || builtins.match "^\\.sw[a-z]$$" baseName != null - || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null - || lib.hasSuffix ".tmp" baseName - || lib.hasSuffix ".bak" baseName - || baseName == "tests.nix" - ); - - /* Returns a crate which depends on successful test execution - of crate given as the second argument. - - testCrateFlags: list of flags to pass to the test exectuable - testInputs: list of packages that should be available during test execution - */ - crateWithTest = { crate, testCrate, testCrateFlags, testInputs }: - assert builtins.typeOf testCrateFlags == "list"; - assert builtins.typeOf testInputs == "list"; - let - # override the `crate` so that it will build and execute tests instead of - # building the actual lib and bin targets We just have to pass `--test` - # to rustc and it will do the right thing. We execute the tests and copy - # their log and the test executables to $out for later inspection. - test = - let - drv = testCrate.override - ( - _: { - buildTests = true; - } - ); - in - pkgs.runCommand "run-tests-${testCrate.name}" - { - inherit testCrateFlags; - buildInputs = testInputs; - } '' - set -ex - - export RUST_BACKTRACE=1 - - # recreate a file hierarchy as when running tests with cargo - - # the source for test data - ${pkgs.xorg.lndir}/bin/lndir ${crate.src} - - # build outputs - testRoot=target/debug - mkdir -p $testRoot - - # executables of the crate - # we copy to prevent std::env::current_exe() to resolve to a store location - for i in ${crate}/bin/*; do - cp "$i" "$testRoot" - done - chmod +w -R . - - # test harness executables are suffixed with a hash, like cargo does - # this allows to prevent name collision with the main - # executables of the crate - hash=$(basename $out) - for file in ${drv}/tests/*; do - f=$testRoot/$(basename $file)-$hash - cp $file $f - $f $testCrateFlags 2>&1 | tee -a $out - done - ''; - in - pkgs.runCommand "${crate.name}-linked" - { - inherit (crate) outputs crateName; - passthru = (crate.passthru or { }) // { - inherit test; - }; - } '' - echo tested by ${test} - ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs} - ''; - - /* A restricted overridable version of builtRustCratesWithFeatures. */ - buildRustCrateWithFeatures = - { packageId - , features ? rootFeatures - , crateOverrides ? defaultCrateOverrides - , buildRustCrateFunc ? null - , runTests ? false - , testCrateFlags ? [ ] - , testInputs ? [ ] - }: - lib.makeOverridable - ( - { features - , crateOverrides - , runTests - , testCrateFlags - , testInputs - }: - let - buildRustCrateFuncOverriden = - if buildRustCrateFunc != null - then buildRustCrateFunc - else - ( - if crateOverrides == pkgs.defaultCrateOverrides - then buildRustCrate - else - buildRustCrate.override { - defaultCrateOverrides = crateOverrides; - } - ); - builtRustCrates = builtRustCratesWithFeatures { - inherit packageId features; - buildRustCrateFunc = buildRustCrateFuncOverriden; - runTests = false; - }; - builtTestRustCrates = builtRustCratesWithFeatures { - inherit packageId features; - buildRustCrateFunc = buildRustCrateFuncOverriden; - runTests = true; - }; - drv = builtRustCrates.${packageId}; - testDrv = builtTestRustCrates.${packageId}; - derivation = - if runTests then - crateWithTest - { - crate = drv; - testCrate = testDrv; - inherit testCrateFlags testInputs; - } - else drv; - in - derivation - ) - { inherit features crateOverrides runTests testCrateFlags testInputs; }; - - /* Returns an attr set with packageId mapped to the result of buildRustCrateFunc - for the corresponding crate. - */ - builtRustCratesWithFeatures = - { packageId - , features - , crateConfigs ? crates - , buildRustCrateFunc - , runTests - , target ? defaultTarget - } @ args: - assert (builtins.isAttrs crateConfigs); - assert (builtins.isString packageId); - assert (builtins.isList features); - assert (builtins.isAttrs target); - assert (builtins.isBool runTests); - let - rootPackageId = packageId; - mergedFeatures = mergePackageFeatures - ( - args // { - inherit rootPackageId; - target = target // { test = runTests; }; - } - ); - buildByPackageId = packageId: buildByPackageIdImpl packageId; - - # Memoize built packages so that reappearing packages are only built once. - builtByPackageId = - lib.mapAttrs (packageId: value: buildByPackageId packageId) crateConfigs; - buildByPackageIdImpl = packageId: - let - features = mergedFeatures."${packageId}" or [ ]; - crateConfig' = crateConfigs."${packageId}"; - crateConfig = - builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ]; - devDependencies = - lib.optionals - (runTests && packageId == rootPackageId) - (crateConfig'.devDependencies or [ ]); - dependencies = - dependencyDerivations { - inherit builtByPackageId features target; - dependencies = - (crateConfig.dependencies or [ ]) - ++ devDependencies; - }; - buildDependencies = - dependencyDerivations { - inherit builtByPackageId features target; - dependencies = crateConfig.buildDependencies or [ ]; - }; - filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies { - inherit dependencies features target; - }; - dependenciesWithRenames = - lib.filter (d: d ? "rename") - ( - filterEnabledDependenciesForThis - ( - (crateConfig.buildDependencies or [ ]) - ++ (crateConfig.dependencies or [ ]) - ++ devDependencies - ) - ); - # Crate renames have the form: - # - # { - # crate_name = [ - # { version = "1.2.3"; rename = "crate_name01"; } - # ]; - # # ... - # } - crateRenames = - let - grouped = - lib.groupBy - (dependency: dependency.name) - dependenciesWithRenames; - versionAndRename = dep: - let - package = builtByPackageId."${dep.packageId}"; - in - { inherit (dep) rename; version = package.version; }; - in - lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped; - in - buildRustCrateFunc - ( - crateConfig // { - src = crateConfig.src or ( - pkgs.fetchurl rec { - name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz"; - # https://www.pietroalbini.org/blog/downloading-crates-io/ - # Not rate-limited, CDN URL. - url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate"; - sha256 = - assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}"); - crateConfig.sha256; - } - ); - extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${stdenv.lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}"; - inherit features dependencies buildDependencies crateRenames release; - } - ); - in - builtByPackageId; - - /* Returns the actual derivations for the given dependencies. */ - dependencyDerivations = - { builtByPackageId - , features - , dependencies - , target - }: - assert (builtins.isAttrs builtByPackageId); - assert (builtins.isList features); - assert (builtins.isList dependencies); - assert (builtins.isAttrs target); - let - enabledDependencies = filterEnabledDependencies { - inherit dependencies features target; - }; - depDerivation = dependency: builtByPackageId.${dependency.packageId}; - in - map depDerivation enabledDependencies; - - /* Returns a sanitized version of val with all values substituted that cannot - be serialized as JSON. - */ - sanitizeForJson = val: - if builtins.isAttrs val - then lib.mapAttrs (n: v: sanitizeForJson v) val - else if builtins.isList val - then builtins.map sanitizeForJson val - else if builtins.isFunction val - then "function" - else val; - - /* Returns various tools to debug a crate. */ - debugCrate = { packageId, target ? defaultTarget }: - assert (builtins.isString packageId); - let - debug = rec { - # The built tree as passed to buildRustCrate. - buildTree = buildRustCrateWithFeatures { - buildRustCrateFunc = lib.id; - inherit packageId; - }; - sanitizedBuildTree = sanitizeForJson buildTree; - dependencyTree = sanitizeForJson - ( - buildRustCrateWithFeatures { - buildRustCrateFunc = crate: { - "01_crateName" = crate.crateName or false; - "02_features" = crate.features or [ ]; - "03_dependencies" = crate.dependencies or [ ]; - }; - inherit packageId; - } - ); - mergedPackageFeatures = mergePackageFeatures { - features = rootFeatures; - inherit packageId target; - }; - diffedDefaultPackageFeatures = diffDefaultPackageFeatures { - inherit packageId target; - }; - }; - in - { internal = debug; }; - - /* Returns differences between cargo default features and crate2nix default - features. - - This is useful for verifying the feature resolution in crate2nix. - */ - diffDefaultPackageFeatures = - { crateConfigs ? crates - , packageId - , target - }: - assert (builtins.isAttrs crateConfigs); - let - prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; }); - mergedFeatures = - prefixValues - "crate2nix" - (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; }); - configs = prefixValues "cargo" crateConfigs; - combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ]; - onlyInCargo = - builtins.attrNames - (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined); - onlyInCrate2Nix = - builtins.attrNames - (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined); - differentFeatures = lib.filterAttrs - ( - n: v: - (v ? "crate2nix") - && (v ? "cargo") - && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ]) - ) - combined; - in - builtins.toJSON { - inherit onlyInCargo onlyInCrate2Nix differentFeatures; - }; - - /* Returns an attrset mapping packageId to the list of enabled features. - - If multiple paths to a dependency enable different features, the - corresponding feature sets are merged. Features in rust are additive. - */ - mergePackageFeatures = - { crateConfigs ? crates - , packageId - , rootPackageId ? packageId - , features ? rootFeatures - , dependencyPath ? [ crates.${packageId}.crateName ] - , featuresByPackageId ? { } - , target - # Adds devDependencies to the crate with rootPackageId. - , runTests ? false - , ... - } @ args: - assert (builtins.isAttrs crateConfigs); - assert (builtins.isString packageId); - assert (builtins.isString rootPackageId); - assert (builtins.isList features); - assert (builtins.isList dependencyPath); - assert (builtins.isAttrs featuresByPackageId); - assert (builtins.isAttrs target); - assert (builtins.isBool runTests); - let - crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}"); - expandedFeatures = expandFeatures (crateConfig.features or { }) features; - depWithResolvedFeatures = dependency: - let - packageId = dependency.packageId; - features = dependencyFeatures expandedFeatures dependency; - in - { inherit packageId features; }; - resolveDependencies = cache: path: dependencies: - assert (builtins.isAttrs cache); - assert (builtins.isList dependencies); - let - enabledDependencies = filterEnabledDependencies { - inherit dependencies target; - features = expandedFeatures; - }; - directDependencies = map depWithResolvedFeatures enabledDependencies; - foldOverCache = op: lib.foldl op cache directDependencies; - in - foldOverCache - ( - cache: { packageId, features }: - let - cacheFeatures = cache.${packageId} or [ ]; - combinedFeatures = sortedUnique (cacheFeatures ++ features); - in - if cache ? ${packageId} && cache.${packageId} == combinedFeatures - then cache - else - mergePackageFeatures { - features = combinedFeatures; - featuresByPackageId = cache; - inherit crateConfigs packageId target runTests rootPackageId; - } - ); - cacheWithSelf = - let - cacheFeatures = featuresByPackageId.${packageId} or [ ]; - combinedFeatures = sortedUnique (cacheFeatures ++ expandedFeatures); - in - featuresByPackageId // { - "${packageId}" = combinedFeatures; - }; - cacheWithDependencies = - resolveDependencies cacheWithSelf "dep" - ( - crateConfig.dependencies or [ ] - ++ lib.optionals - (runTests && packageId == rootPackageId) - (crateConfig.devDependencies or [ ]) - ); - cacheWithAll = - resolveDependencies - cacheWithDependencies "build" - (crateConfig.buildDependencies or [ ]); - in - cacheWithAll; - - /* Returns the enabled dependencies given the enabled features. */ - filterEnabledDependencies = { dependencies, features, target }: - assert (builtins.isList dependencies); - assert (builtins.isList features); - assert (builtins.isAttrs target); - - lib.filter - ( - dep: - let - targetFunc = dep.target or (features: true); - in - targetFunc { inherit features target; } - && ( - !(dep.optional or false) - || builtins.any (doesFeatureEnableDependency dep) features - ) - ) - dependencies; - - /* Returns whether the given feature should enable the given dependency. */ - doesFeatureEnableDependency = { name, rename ? null, ... }: feature: - let - prefix = "${name}/"; - len = builtins.stringLength prefix; - startsWithPrefix = builtins.substring 0 len feature == prefix; - in - (rename == null && feature == name) - || (rename != null && rename == feature) - || startsWithPrefix; - - /* Returns the expanded features for the given inputFeatures by applying the - rules in featureMap. - - featureMap is an attribute set which maps feature names to lists of further - feature names to enable in case this feature is selected. - */ - expandFeatures = featureMap: inputFeatures: - assert (builtins.isAttrs featureMap); - assert (builtins.isList inputFeatures); - let - expandFeature = feature: - assert (builtins.isString feature); - [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ])); - outFeatures = lib.concatMap expandFeature inputFeatures; - in - sortedUnique outFeatures; - - /* - Returns the actual features for the given dependency. - - features: The features of the crate that refers this dependency. - */ - dependencyFeatures = features: dependency: - assert (builtins.isList features); - assert (builtins.isAttrs dependency); - let - defaultOrNil = - if dependency.usesDefaultFeatures or true - then [ "default" ] - else [ ]; - explicitFeatures = dependency.features or [ ]; - additionalDependencyFeatures = - let - dependencyPrefix = (dependency.rename or dependency.name) + "/"; - dependencyFeatures = - builtins.filter (f: lib.hasPrefix dependencyPrefix f) features; - in - builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures; - in - defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures; - - /* Sorts and removes duplicates from a list of strings. */ - sortedUnique = features: - assert (builtins.isList features); - assert (builtins.all builtins.isString features); - let - outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features; - outFeaturesUnique = builtins.attrNames outFeaturesSet; - in - builtins.sort (a: b: a < b) outFeaturesUnique; - - deprecationWarning = message: value: - if strictDeprecation - then builtins.throw "strictDeprecation enabled, aborting: ${message}" - else builtins.trace message value; - - # - # crate2nix/default.nix (excerpt end) - # - - }; -} diff --git a/nix/pkgs/lightspeed/lightspeed-ingest/crate2nix-sources.nix b/nix/pkgs/lightspeed/lightspeed-ingest/crate2nix-sources.nix deleted file mode 100644 index 4d86b54758..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-ingest/crate2nix-sources.nix +++ /dev/null @@ -1,108 +0,0 @@ - -# Support functions to create a nix generated workspace for out-of-tree sources. -# -# You do not need to check this in since it will be regenerated every time it is -# used by crate2nix. -# -# This file was @generated by crate2nix 0.9.0-alpha.1 with the command: -# "generate" -# -# See https://github.com/kolloch/crate2nix for more info. - -{ nixpkgs ? -, pkgs ? import nixpkgs {} -, lib ? pkgs.lib -# The path to crate2nix.json. -, crate2nixJson ? ./crate2nix.json -}: - -let config = builtins.fromJSON (builtins.readFile crate2nixJson); - sources = config.sources or (builtins.throw "no sources in ${crate2nixJson}"); -in -rec { - /* An attrset mapping a source name to its source (as a derivation). */ - fetchedSourcesByName = lib.mapAttrs internal.sourceFromConfig sources; - - /* A derivation building a directory symlinking all workspace member sources - by their name. - */ - fetchedSources = - let sources = lib.mapAttrsToList (name: path: { inherit name path; }) fetchedSourcesByName; - in - pkgs.linkFarm "crate2nix-sources" sources; - - internal = rec { - sourceFromConfig = name: { type, ... } @ source: - assert builtins.isString name; - assert builtins.isString type; - - if type == "Git" - then pkgs.fetchgit { - url = source.url; - rev = source.rev; - sha256 = source.sha256; - } - else if type == "CratesIo" - then downloadFromCratesIo source - else if type == "Nix" - then resolveNix source - else builtins.throw "Unexpected source type '${type}' for source: ${builtins.toJSON source}"; - - /* Resolves a source configuration of type "Nix". - - It can either have - - * a `{ package = ...; ... }` path which will be resolved with pkg.callPackage - - * or an `{ import = ...; ... }` path which will be imported. - - Within that context and additional optional `attr` attribute path is resolved. - - E.g. - ```nix - { - type = "Nix"; - import = "./nix/sources.nix"; - attr = "myPackage.release"; - } - ``` - */ - resolveNix = { type, ... } @ source: - assert type == "Nix"; - - let attrs = - if source ? package - then pkgs.callPackage (./. + "/${source.package}") {} - else if source ? "import" - then import (./. + ''/${source."import"}'') - else builtins.throw "Neither import nor package in nix source."; - attrPath = lib.splitString "." source.attr; - sourceDerivation = - if source ? attr - then lib.attrByPath - attrPath - (builtins.throw - '' - Did not find attribute '${source.attr or ""}' - in '${source.package or source.import or "missing file"}'. - '') - attrs - else attrs; - in - sourceDerivation; - - downloadFromCratesIo = { type, name, version, sha256 }: - assert type == "CratesIo"; - - let archive = pkgs.fetchurl { - name = "${name}-${version}.tar.gz"; - url = "https://crates.io/api/v1/crates/${name}/${version}/download"; - inherit sha256; - }; - in pkgs.runCommand (lib.removeSuffix ".tar.gz" name) {} - '' - mkdir -p $out - tar -xzf ${archive} --strip-components=1 -C $out - ''; - }; -} \ No newline at end of file diff --git a/nix/pkgs/lightspeed/lightspeed-ingest/crate2nix.json b/nix/pkgs/lightspeed/lightspeed-ingest/crate2nix.json deleted file mode 100644 index f724f71e14..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-ingest/crate2nix.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "sources": { - "lightspeed-ingest": { - "type": "Git", - "url": "https://github.com/GRVYDEV/lightspeed-ingest", - "rev": "6e7756d427e409480d183a4e2211f0dca38629b1", - "sha256": "145fqxwzvkcpg94b9f9annqf29nyjaign6yins3jkhsz8zbqcv99" - } - } -} \ No newline at end of file diff --git a/nix/pkgs/lightspeed/lightspeed-ingest/default.nix b/nix/pkgs/lightspeed/lightspeed-ingest/default.nix deleted file mode 100644 index 80253b716a..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-ingest/default.nix +++ /dev/null @@ -1,2 +0,0 @@ -{ pkgs, lib, stdenv, buildRustCrate, defaultCrateOverrides }: -(import ./Cargo.nix { inherit pkgs lib stdenv buildRustCrate defaultCrateOverrides; }).workspaceMembers.lightspeed-ingest.build diff --git a/nix/pkgs/lightspeed/lightspeed-react/default.nix b/nix/pkgs/lightspeed/lightspeed-react/default.nix deleted file mode 100644 index 4687fa181a..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-react/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv, pkgs, fetchgit, nodejs, websocketURL ? "ws://stream.gud.software:8080/websocket" }: - -let - nodePackages = import ./node-packages.nix { - inherit pkgs; - inherit (stdenv.hostPlatform) system; - }; - lightspeed-react = nodePackages."lightspeed-react-git://github.com/GRVYDEV/Lightspeed-react.git"; -in - -stdenv.mkDerivation { - pname = "lightspeed-react"; - version = "git-20210104-3d3197286672174efcae21ee3d54b13391858cf2"; - - # We use fetchgit here to match it with the fetch in the nodeDependencies generated code. - src = fetchgit { - url = "git://github.com/GRVYDEV/Lightspeed-react.git"; - rev = "3d3197286672174efcae21ee3d54b13391858cf2"; - sha256 = "c9422ddb6ec05b9fbe2b371d5c60a2d7353bc9dcbfe6c7dde7d77e770fde2238"; - }; - - buildInputs = [ nodejs ]; - - patchPhase = '' - find . -name '.DS_Store' -delete - substituteInPlace src/wsUrl.js \ - --replace 'ws://stream.gud.software:8080/websocket' '${websocketURL}' - ''; - - buildPhase = '' - ln -s ${lightspeed-react}/lib/node_modules/lightspeed-react/node_modules ./node_modules - export PATH="${lightspeed-react}/lib/node_modules/lightspeed-react/node_modules/.bin:$PATH" - - react-scripts build - ''; - - installPhase = '' - cp -R build/ $out - ''; -} diff --git a/nix/pkgs/lightspeed/lightspeed-react/node-env.nix b/nix/pkgs/lightspeed/lightspeed-react/node-env.nix deleted file mode 100644 index c2b723195b..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-react/node-env.nix +++ /dev/null @@ -1,567 +0,0 @@ -# This file originates from node2nix - -{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}: - -let - # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master - utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux; - - python = if nodejs ? python then nodejs.python else python2; - - # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise - tarWrapper = runCommand "tarWrapper" {} '' - mkdir -p $out/bin - - cat > $out/bin/tar <> $out/nix-support/hydra-build-products - ''; - }; - - includeDependencies = {dependencies}: - lib.optionalString (dependencies != []) - (lib.concatMapStrings (dependency: - '' - # Bundle the dependencies of the package - mkdir -p node_modules - cd node_modules - - # Only include dependencies if they don't exist. They may also be bundled in the package. - if [ ! -e "${dependency.name}" ] - then - ${composePackage dependency} - fi - - cd .. - '' - ) dependencies); - - # Recursively composes the dependencies of a package - composePackage = { name, packageName, src, dependencies ? [], ... }@args: - builtins.addErrorContext "while evaluating node package '${packageName}'" '' - DIR=$(pwd) - cd $TMPDIR - - unpackFile ${src} - - # Make the base dir in which the target dependency resides first - mkdir -p "$(dirname "$DIR/${packageName}")" - - if [ -f "${src}" ] - then - # Figure out what directory has been unpacked - packageDir="$(find . -maxdepth 1 -type d | tail -1)" - - # Restore write permissions to make building work - find "$packageDir" -type d -exec chmod u+x {} \; - chmod -R u+w "$packageDir" - - # Move the extracted tarball into the output folder - mv "$packageDir" "$DIR/${packageName}" - elif [ -d "${src}" ] - then - # Get a stripped name (without hash) of the source directory. - # On old nixpkgs it's already set internally. - if [ -z "$strippedName" ] - then - strippedName="$(stripHash ${src})" - fi - - # Restore write permissions to make building work - chmod -R u+w "$strippedName" - - # Move the extracted directory into the output folder - mv "$strippedName" "$DIR/${packageName}" - fi - - # Unset the stripped name to not confuse the next unpack step - unset strippedName - - # Include the dependencies of the package - cd "$DIR/${packageName}" - ${includeDependencies { inherit dependencies; }} - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - ''; - - pinpointDependencies = {dependencies, production}: - let - pinpointDependenciesFromPackageJSON = writeTextFile { - name = "pinpointDependencies.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - function resolveDependencyVersion(location, name) { - if(location == process.env['NIX_STORE']) { - return null; - } else { - var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); - - if(fs.existsSync(dependencyPackageJSON)) { - var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); - - if(dependencyPackageObj.name == name) { - return dependencyPackageObj.version; - } - } else { - return resolveDependencyVersion(path.resolve(location, ".."), name); - } - } - } - - function replaceDependencies(dependencies) { - if(typeof dependencies == "object" && dependencies !== null) { - for(var dependency in dependencies) { - var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); - - if(resolvedVersion === null) { - process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); - } else { - dependencies[dependency] = resolvedVersion; - } - } - } - } - - /* Read the package.json configuration */ - var packageObj = JSON.parse(fs.readFileSync('./package.json')); - - /* Pinpoint all dependencies */ - replaceDependencies(packageObj.dependencies); - if(process.argv[2] == "development") { - replaceDependencies(packageObj.devDependencies); - } - replaceDependencies(packageObj.optionalDependencies); - - /* Write the fixed package.json file */ - fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); - ''; - }; - in - '' - node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"} - - ${lib.optionalString (dependencies != []) - '' - if [ -d node_modules ] - then - cd node_modules - ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} - cd .. - fi - ''} - ''; - - # Recursively traverses all dependencies of a package and pinpoints all - # dependencies in the package.json file to the versions that are actually - # being used. - - pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args: - '' - if [ -d "${packageName}" ] - then - cd "${packageName}" - ${pinpointDependencies { inherit dependencies production; }} - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - fi - ''; - - # Extract the Node.js source code which is used to compile packages with - # native bindings - nodeSources = runCommand "node-sources" {} '' - tar --no-same-owner --no-same-permissions -xf ${nodejs.src} - mv node-* $out - ''; - - # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty) - addIntegrityFieldsScript = writeTextFile { - name = "addintegrityfields.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - function augmentDependencies(baseDir, dependencies) { - for(var dependencyName in dependencies) { - var dependency = dependencies[dependencyName]; - - // Open package.json and augment metadata fields - var packageJSONDir = path.join(baseDir, "node_modules", dependencyName); - var packageJSONPath = path.join(packageJSONDir, "package.json"); - - if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored - console.log("Adding metadata fields to: "+packageJSONPath); - var packageObj = JSON.parse(fs.readFileSync(packageJSONPath)); - - if(dependency.integrity) { - packageObj["_integrity"] = dependency.integrity; - } else { - packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads. - } - - if(dependency.resolved) { - packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided - } else { - packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories. - } - - if(dependency.from !== undefined) { // Adopt from property if one has been provided - packageObj["_from"] = dependency.from; - } - - fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2)); - } - - // Augment transitive dependencies - if(dependency.dependencies !== undefined) { - augmentDependencies(packageJSONDir, dependency.dependencies); - } - } - } - - if(fs.existsSync("./package-lock.json")) { - var packageLock = JSON.parse(fs.readFileSync("./package-lock.json")); - - if(![1, 2].includes(packageLock.lockfileVersion)) { - process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n"); - process.exit(1); - } - - if(packageLock.dependencies !== undefined) { - augmentDependencies(".", packageLock.dependencies); - } - } - ''; - }; - - # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes - reconstructPackageLock = writeTextFile { - name = "addintegrityfields.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - var packageObj = JSON.parse(fs.readFileSync("package.json")); - - var lockObj = { - name: packageObj.name, - version: packageObj.version, - lockfileVersion: 1, - requires: true, - dependencies: {} - }; - - function augmentPackageJSON(filePath, dependencies) { - var packageJSON = path.join(filePath, "package.json"); - if(fs.existsSync(packageJSON)) { - var packageObj = JSON.parse(fs.readFileSync(packageJSON)); - dependencies[packageObj.name] = { - version: packageObj.version, - integrity: "sha1-000000000000000000000000000=", - dependencies: {} - }; - processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies); - } - } - - function processDependencies(dir, dependencies) { - if(fs.existsSync(dir)) { - var files = fs.readdirSync(dir); - - files.forEach(function(entry) { - var filePath = path.join(dir, entry); - var stats = fs.statSync(filePath); - - if(stats.isDirectory()) { - if(entry.substr(0, 1) == "@") { - // When we encounter a namespace folder, augment all packages belonging to the scope - var pkgFiles = fs.readdirSync(filePath); - - pkgFiles.forEach(function(entry) { - if(stats.isDirectory()) { - var pkgFilePath = path.join(filePath, entry); - augmentPackageJSON(pkgFilePath, dependencies); - } - }); - } else { - augmentPackageJSON(filePath, dependencies); - } - } - }); - } - } - - processDependencies("node_modules", lockObj.dependencies); - - fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2)); - ''; - }; - - prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}: - let - forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; - in - '' - # Pinpoint the versions of all dependencies to the ones that are actually being used - echo "pinpointing versions of dependencies..." - source $pinpointDependenciesScriptPath - - # Patch the shebangs of the bundled modules to prevent them from - # calling executables outside the Nix store as much as possible - patchShebangs . - - # Deploy the Node.js package by running npm install. Since the - # dependencies have been provided already by ourselves, it should not - # attempt to install them again, which is good, because we want to make - # it Nix's responsibility. If it needs to install any dependencies - # anyway (e.g. because the dependency parameters are - # incomplete/incorrect), it fails. - # - # The other responsibilities of NPM are kept -- version checks, build - # steps, postprocessing etc. - - export HOME=$TMPDIR - cd "${packageName}" - runHook preRebuild - - ${lib.optionalString bypassCache '' - ${lib.optionalString reconstructLock '' - if [ -f package-lock.json ] - then - echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" - echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" - rm package-lock.json - else - echo "No package-lock.json file found, reconstructing..." - fi - - node ${reconstructPackageLock} - ''} - - node ${addIntegrityFieldsScript} - ''} - - npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild - - if [ "''${dontNpmInstall-}" != "1" ] - then - # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. - rm -f npm-shrinkwrap.json - - npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install - fi - ''; - - # Builds and composes an NPM package including all its dependencies - buildNodePackage = - { name - , packageName - , version - , dependencies ? [] - , buildInputs ? [] - , production ? true - , npmFlags ? "" - , dontNpmInstall ? false - , bypassCache ? false - , reconstructLock ? false - , preRebuild ? "" - , dontStrip ? true - , unpackPhase ? "true" - , buildPhase ? "true" - , ... }@args: - - let - extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ]; - in - stdenv.mkDerivation ({ - name = "node_${name}-${version}"; - buildInputs = [ tarWrapper python nodejs ] - ++ lib.optional (stdenv.isLinux) utillinux - ++ lib.optional (stdenv.isDarwin) libtool - ++ buildInputs; - - inherit nodejs; - - inherit dontStrip; # Stripping may fail a build for some package deployments - inherit dontNpmInstall preRebuild unpackPhase buildPhase; - - compositionScript = composePackage args; - pinpointDependenciesScript = pinpointDependenciesOfPackage args; - - passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; - - installPhase = '' - # Create and enter a root node_modules/ folder - mkdir -p $out/lib/node_modules - cd $out/lib/node_modules - - # Compose the package and all its dependencies - source $compositionScriptPath - - ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} - - # Create symlink to the deployed executable folder, if applicable - if [ -d "$out/lib/node_modules/.bin" ] - then - ln -s $out/lib/node_modules/.bin $out/bin - fi - - # Create symlinks to the deployed manual page folders, if applicable - if [ -d "$out/lib/node_modules/${packageName}/man" ] - then - mkdir -p $out/share - for dir in "$out/lib/node_modules/${packageName}/man/"* - do - mkdir -p $out/share/man/$(basename "$dir") - for page in "$dir"/* - do - ln -s $page $out/share/man/$(basename "$dir") - done - done - fi - - # Run post install hook, if provided - runHook postInstall - ''; - } // extraArgs); - - # Builds a node environment (a node_modules folder and a set of binaries) - buildNodeDependencies = - { name - , packageName - , version - , src - , dependencies ? [] - , buildInputs ? [] - , production ? true - , npmFlags ? "" - , dontNpmInstall ? false - , bypassCache ? false - , reconstructLock ? false - , dontStrip ? true - , unpackPhase ? "true" - , buildPhase ? "true" - , ... }@args: - - let - extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; - in - stdenv.mkDerivation ({ - name = "node-dependencies-${name}-${version}"; - - buildInputs = [ tarWrapper python nodejs ] - ++ lib.optional (stdenv.isLinux) utillinux - ++ lib.optional (stdenv.isDarwin) libtool - ++ buildInputs; - - inherit dontStrip; # Stripping may fail a build for some package deployments - inherit dontNpmInstall unpackPhase buildPhase; - - includeScript = includeDependencies { inherit dependencies; }; - pinpointDependenciesScript = pinpointDependenciesOfPackage args; - - passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; - - installPhase = '' - mkdir -p $out/${packageName} - cd $out/${packageName} - - source $includeScriptPath - - # Create fake package.json to make the npm commands work properly - cp ${src}/package.json . - chmod 644 package.json - ${lib.optionalString bypassCache '' - if [ -f ${src}/package-lock.json ] - then - cp ${src}/package-lock.json . - fi - ''} - - # Go to the parent folder to make sure that all packages are pinpointed - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - - ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} - - # Expose the executables that were installed - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - - mv ${packageName} lib - ln -s $out/lib/node_modules/.bin $out/bin - ''; - } // extraArgs); - - # Builds a development shell - buildNodeShell = - { name - , packageName - , version - , src - , dependencies ? [] - , buildInputs ? [] - , production ? true - , npmFlags ? "" - , dontNpmInstall ? false - , bypassCache ? false - , reconstructLock ? false - , dontStrip ? true - , unpackPhase ? "true" - , buildPhase ? "true" - , ... }@args: - - let - nodeDependencies = buildNodeDependencies args; - in - stdenv.mkDerivation { - name = "node-shell-${name}-${version}"; - - buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; - buildCommand = '' - mkdir -p $out/bin - cat > $out/bin/shell < { - inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}: - -let - nodeEnv = import ./node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile; - inherit pkgs nodejs; - libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; - }; -in -import ./node-packages-generated.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; - inherit nodeEnv; -} diff --git a/nix/pkgs/lightspeed/lightspeed-react/regenerate.sh b/nix/pkgs/lightspeed/lightspeed-react/regenerate.sh deleted file mode 100755 index 7eb921d92c..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-react/regenerate.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i bash -p nodePackages.node2nix -exec node2nix \ - --input node-packages.json \ - --output node-packages-generated.nix \ - --composition node-packages.nix diff --git a/nix/pkgs/lightspeed/lightspeed-webrtc/default.nix b/nix/pkgs/lightspeed/lightspeed-webrtc/default.nix deleted file mode 100644 index 31a858800e..0000000000 --- a/nix/pkgs/lightspeed/lightspeed-webrtc/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ buildGoModule, fetchFromGitHub }: - -buildGoModule rec { - pname = "lightspeed-webrtc"; - version = "git-20210104-e868038a7ebadc85fd810e0d60602bbad8ff981e"; - - src = fetchFromGitHub { - owner = "GRVYDEV"; - repo = "Lightspeed-webrtc"; - rev = "e868038a7ebadc85fd810e0d60602bbad8ff981e"; - sha256 = "sha256:1zq6byxib2j4s1qfqc94zs8ly84879k92da5hgfymgvhxiylfx23"; - }; - - vendorSha256 = "sha256:0d0k35aib87aflf614k6znyyp3wrpm0vysx4ly26j7197nsy4irh"; -}