cargo-binstall/crates/binstalk/Cargo.toml
Jiahao XU d9cc3ce219
Refactor: Extract new crate binstalk-types plus other misc refactor and optimization (#535)
* Refactor: Extract new crate binstalk-types
* Optimize: Rm field `CrateInfo::other`
   which also removes dep serde-tuple-vec-map and serde-json from
   binstalk-types.
   
   This also makes `CrateInfo` easier to use, more generic and can be used
   over any `Serializer`, not just `serde_json::Value`.
* Mark all errors in `binstalk-manifests` as non_exhaustive
* Reduce size of `CvsParseError` by using `Box<str>`
   instead of `String` for variant `UnknownSourceType`.
* Reduce size of `CratesTomlParseError` to 16 bytes on 64bit platform
   by boxing variants `TomlWrite` and `CvsParse` as these two fields are
   significantly larger than other variants.
* Unify import style in mod `binstall_crates_v1`
* Replace dep binstalk-manifests with binstalk-types in binstalk-downloader
   to reduce its transitive dependencies and enables binstalk-downloader to
   be built in parallel to binstak-manifests.
* Replace dep binstalk-manifests with binstalk-types in binstalk
   to reduce transitive dependencies and enables binstalk to be built in
   parallel to binstalk-manifests.
   
   This is benefitial because binstalk-manifests pulls in toml_edit, which
   could takes up to 15s to be built on M1 (7-9s for codegen).
* Add dep binstalk-manifests to crates/bin
* Update dependabot and GHA release-pr

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-11-17 13:46:27 +13:00

50 lines
1.7 KiB
TOML

[package]
name = "binstalk"
description = "The binstall toolkit (library interface)"
repository = "https://github.com/cargo-bins/cargo-binstall"
documentation = "https://docs.rs/binstalk"
version = "0.4.1"
rust-version = "1.61.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "GPL-3.0"
[dependencies]
async-trait = "0.1.58"
binstalk-downloader = { version = "0.1.0", path = "../binstalk-downloader" }
binstalk-types = { version = "0.1.0", path = "../binstalk-types" }
cargo_toml = "0.13.0"
compact_str = { version = "0.6.0", features = ["serde"] }
crates_io_api = { version = "0.8.1", default-features = false }
detect-targets = { version = "0.1.2", path = "../detect-targets" }
futures-util = { version = "0.3.25", default-features = false, features = ["std"] }
home = "0.5.4"
itertools = "0.10.5"
jobslot = { version = "0.2.6", features = ["tokio"] }
miette = "5.4.1"
normalize-path = { version = "0.2.0", path = "../normalize-path" }
once_cell = "1.16.0"
semver = { version = "1.0.14", features = ["serde"] }
serde = { version = "1.0.147", features = ["derive"] }
strum = "0.24.1"
tempfile = "3.3.0"
thiserror = "1.0.37"
tinytemplate = "1.2.1"
# parking_lot for `tokio::sync::OnceCell::const_new`
tokio = { version = "1.21.2", features = ["rt", "process", "sync", "signal", "parking_lot"], default-features = false }
tracing = "0.1.37"
url = { version = "2.3.1", features = ["serde"] }
xz2 = "0.1.7"
[features]
default = ["static", "rustls"]
static = ["binstalk-downloader/static"]
pkg-config = ["binstalk-downloader/pkg-config"]
zlib-ng = ["binstalk-downloader/zlib-ng"]
rustls = ["crates_io_api/rustls", "binstalk-downloader/rustls"]
native-tls = ["binstalk-downloader/native-tls"]
trust-dns = ["binstalk-downloader/trust-dns"]