cosmic-text/Cargo.toml
bjorn3 95e36249d5 Remove the dependency on ouroboros
This reduces compilation time by removing a dependency on syn and other
dependencies of ouroboros_macros. In addition it saves a lot of unused
codegened methods.

On my laptop (2 core + HT) this reduces compilation time by ~20%. On a
many core system this doesn't help much though as the critical path path
consists of both ttf-parser -> rustybuzz and swash. Further gains will
likely need to be made by reducing compilation time for these crates.

Benchmark 1: cargo build
  Time (mean ± σ):     25.150 s ±  0.167 s    [User: 84.414 s, System: 7.335 s]
  Range (min … max):   24.909 s … 25.444 s    10 runs

Benchmark 1: cargo build
  Time (mean ± σ):     19.819 s ±  0.226 s    [User: 67.754 s, System: 5.592 s]
  Range (min … max):   19.492 s … 20.140 s    10 runs

The code is based on an expansion of the ouroboros macro, cleaned up to
remove all unused methods and inline most functions that are only called
once.
2023-06-08 18:00:42 +02:00

48 lines
1.1 KiB
TOML

[package]
name = "cosmic-text"
description = "Pure Rust multi-line text handling"
version = "0.8.0"
authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2021"
license = "MIT OR Apache-2.0"
documentation = "https://docs.rs/cosmic-text/latest/cosmic_text/"
repository = "https://github.com/pop-os/cosmic-text"
[dependencies]
fontdb = { version = "0.13.0", default-features = false }
libm = "0.2.6"
log = "0.4.17"
aliasable = "0.1.3"
rustybuzz = { version = "0.7.0", default-features = false, features = ["libm"] }
swash = { version = "0.1.6", optional = true }
syntect = { version = "5.0.0", optional = true }
sys-locale = { version = "0.3.0", optional = true }
unicode-linebreak = "0.1.4"
unicode-script = "0.5.5"
unicode-segmentation = "1.10.0"
rangemap = "1.2.0"
[dependencies.unicode-bidi]
version = "0.3.8"
default-features = false
features = ["hardcoded-data"]
[features]
default = ["std", "swash"]
no_std = [
"rustybuzz/libm",
]
std = [
"fontdb/memmap",
"fontdb/std",
"rustybuzz/std",
"sys-locale",
"unicode-bidi/std",
]
vi = ["syntect"]
wasm-web = ["sys-locale?/js"]
[workspace]
members = [
"examples/*",
]