Rewild Your Web
web browser dweb
at main 270 lines 10 kB view raw
1[workspace] 2resolver = "2" 3members = ["htmlshell"] 4 5# Copied from the main Cargo.toml to allow 6# workspace inheritance from component/ crates. 7[workspace.package] 8version = "0.1.0" 9edition = "2024" 10authors = ["The Servo Project Developers"] 11license = "MPL-2.0" 12publish = false 13rust-version = "1.86.0" 14 15[workspace.dependencies] 16accesskit = { version = "0.21.1", features = ["serde"] } 17accountable-refcell = "0.2.2" 18aes = "0.8.4" 19aes-gcm = "0.10.3" 20aes-kw = { version = "0.2.1", features = ["alloc"] } 21app_units = "0.7" 22arboard = "3" 23argon2 = { version = "0.5", features = ["alloc"] } 24arrayvec = "0.7" 25async-tungstenite = { version = "0.32", features = ["tokio-rustls-webpki-roots"] } 26atomic_refcell = "0.1.13" 27aws-lc-rs = { version = "1.15", default-features = false, features = ["aws-lc-sys"] } 28background_hang_monitor_api = { path = "source/components/shared/background_hang_monitor" } 29backtrace = "0.3" 30base = { path = "source/components/shared/base" } 31base64 = "0.22.1" 32base64ct = { version = "1.8", features = ["alloc"] } 33# bincode 1.3.3 is the last known good version of bincode 1. 34# The crate was declared finished and won't receive further updates by the author. 35# Since the git history was rewritten by the author, any bump of this crate should 36# be reviewed carefully by doing a manual diff based on the crates.io version, 37# before doing **any** bump to this dependency to rule out a supply chain attack. 38bincode = "=1.3.3" 39bitflags = "2.10" 40bluetooth_traits = { path = "source/components/shared/bluetooth" } 41brotli = "8.0.2" 42bytemuck = "1" 43byteorder = "1.5" 44canvas_traits = { path = "source/components/shared/canvas" } 45cbc = "0.1.2" 46cfg-if = "1.0.4" 47chacha20poly1305 = "0.10" 48chardetng = "0.1" 49chrono = { version = "0.4", features = ["serde"] } 50cipher = { version = "0.4.4", features = ["alloc"] } 51constellation_traits = { path = "source/components/shared/constellation" } 52content-security-policy = { version = "0.6.0", features = ["serde"] } 53cookie = { package = "cookie", version = "0.18" } 54crossbeam-channel = "0.5" 55cssparser = { version = "0.36", features = ["serde"] } 56ctr = "0.9.2" 57data-url = "0.3" 58der = { version = "0.7", features = ["alloc", "derive"] } 59devtools_traits = { path = "source/components/shared/devtools" } 60digest = "0.10" 61dpi = "0.1" 62dwrote = "0.11.5" 63ecdsa = "0.16" 64elliptic-curve = "0.13" 65embedder_traits = { path = "source/components/shared/embedder" } 66encoding_rs = { version = "0.8", features = ["serde"] } 67env_logger = "0.11" 68euclid = "0.22" 69flate2 = "1.1" 70fonts_traits = { path = "source/components/shared/fonts" } 71freetype-sys = "0.20" 72gleam = "0.15" 73glib = "0.21" 74glib-sys = "0.21" 75glow = "0.16.0" 76gstreamer = { version = "0.24", features = ["v1_18"] } 77gstreamer-app = "0.24" 78gstreamer-audio = "0.24" 79gstreamer-base = "0.24" 80gstreamer-gl = "0.24" 81gstreamer-gl-egl = "0.24" 82gstreamer-gl-sys = "0.24" 83gstreamer-gl-wayland = "0.24" 84gstreamer-gl-x11 = "0.24" 85gstreamer-play = "0.24" 86gstreamer-sdp = "0.24" 87gstreamer-sys = "0.24" 88gstreamer-video = "0.24" 89gstreamer-webrtc = { version = "0.24", features = ["v1_18"] } 90harfbuzz-sys = "0.6.1" 91headers = "0.4" 92hitrace = "0.1.6" 93hkdf = "0.12" 94html5ever = "0.38" 95http = "1.4" 96http-body-util = "0.1" 97hyper = "1.8" 98hyper-rustls = { version = "0.27", default-features = false, features = ["http1", "http2", "logging", "tls12", "webpki-tokio"] } 99hyper-util = { version = "0.1", features = ["client-legacy", "http2", "tokio", "client-proxy"] } 100hyper_serde = { path = "source/components/hyper_serde" } 101icu_locid = "1.5.0" 102icu_segmenter = "1.5.0" 103image = { version = "0.25", default-features = false, features = ["avif", "rayon", "bmp", "gif", "ico", "jpeg", "png", "webp"] } 104imsz = "0.4" 105indexmap = { version = "2.11.4", features = ["std"] } 106ipc-channel = "0.20.2" 107itertools = "0.14" 108js = { package = "mozjs", version = "=0.14.8", default-features = false, features = ["libz-sys", "intl"] } 109keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] } 110kurbo = { version = "0.12", features = ["euclid"] } 111layout_api = { path = "source/components/shared/layout" } 112libc = "0.2" 113log = "0.4.29" 114mach2 = "0.6" 115malloc_size_of = { package = "servo_malloc_size_of", path = "source/components/malloc_size_of" } 116malloc_size_of_derive = "0.1" 117markup5ever = "0.38" 118memmap2 = "0.9.9" 119mime = "0.3.13" 120mime-multipart-hyper1 = "0.10.0" 121mime_guess = "2.0.5" 122ml-dsa = "0.0.4" 123ml-kem = { version = "0.2", features = ["deterministic"] } 124mozangle = "0.5.3" 125net_traits = { path = "source/components/shared/net" } 126nix = "0.30" 127nom = "8.0.0" 128nom-rfc8288 = "0.4.0" 129num-bigint-dig = "0.8" 130num-derive = "0.4.2" 131num-traits = "0.2" 132num_cpus = "1.17.0" 133ocb3 = "0.1.0" 134objc2 = "0.6.3" 135objc2-core-foundation = "0.3.2" 136objc2-core-graphics = "0.3.2" 137objc2-core-text = "0.3.2" 138openxr = "0.20" 139paint_api = { path = "source/components/shared/paint" } 140p256 = { version = "0.13", features = ["ecdh"] } 141p384 = { version = "0.13", features = ["ecdh"] } 142p521 = { version = "0.13", features = ["ecdh"] } 143parking_lot = { version = "0.12", features = ["serde"] } 144peniko = "0.5" 145percent-encoding = "2.3" 146pkcs8 = { version = "0.10", features = ["rand_core"] } 147postcard = { version = "1.1.3", default-features = false, features = ["use-std"] } 148proc-macro2 = "1" 149profile_traits = { path = "source/components/shared/profile" } 150quote = "1" 151rand = "0.9" 152raw-window-handle = "0.6" 153rayon = "1" 154read-fonts = "0.35.0" 155regex = "1.12" 156resvg = "0.45.0" 157rsa = { version = "0.9.10", features = ["sha1", "sha2"] } 158rustc-hash = "2.1.1" 159rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12"] } 160rustls-pki-types = "1.14" 161rustls-platform-verifier = "0.6.2" 162script_traits = { path = "source/components/shared/script" } 163sea-query = { version = "1.0.0-rc.30", default-features = false, features = ["backend-sqlite", "derive"] } 164sea-query-rusqlite = { version = "0.8.0-rc.15" } 165sec1 = "0.7" 166selectors = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 167serde = "1.0.228" 168serde_bytes = "0.11" 169serde_core = "1.0.226" 170serde_json = "1.0" 171servo-media = { path = "source/components/media/servo-media" } 172servo-media-dummy = { path = "source/components/media/backends/dummy" } 173servo-media-gstreamer = { path = "source/components/media/backends/gstreamer" } 174servo-tracing = { path = "source/components/servo_tracing" } 175servo_arc = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 176sha1 = "0.10" 177sha2 = "0.10" 178sha3 = "0.10" 179skrifa = "0.37.0" 180smallvec = { version = "1.15", features = ["serde", "union"] } 181storage_traits = { path = "source/components/shared/storage" } 182string_cache = "0.9" 183strum = { version = "0.27", features = ["derive"] } 184stylo = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 185stylo_atoms = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 186stylo_config = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 187stylo_dom = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 188stylo_malloc_size_of = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 189stylo_traits = { git = "https://github.com/servo/stylo", rev = "3b46f3ef27eb14ca276b4bf3ff041a6c43d93827" } 190surfman = { version = "0.11.0", features = ["chains"] } 191syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] } 192synstructure = "0.13" 193taffy = { version = "0.9.2", default-features = false, features = ["calc", "detailed_layout_info", "grid", "std"] } 194tendril = { version = "0.5", features = ["encoding_rs"] } 195tikv-jemalloc-sys = "0.6.1" 196tikv-jemallocator = "0.6.1" 197time = { package = "time", version = "0.3", features = ["large-dates", "local-offset", "serde"] } 198tokio = "1" 199tokio-rustls = { version = "0.26", default-features = false, features = ["logging"] } 200tokio-stream = "0.1" 201tokio-util = { version = "0.7.18", default-features = false } 202tower = { version = "0.5", default-features = false, features = ["util"] } 203tracing = "0.1.44" 204tracing-perfetto = "0.1.5" 205tracing-subscriber = "0.3.22" 206tungstenite = "0.28" 207unicode-bidi = "0.3.18" 208unicode-properties = { version = "0.1.4", features = ["emoji"] } 209unicode-script = "0.5" 210unicode-segmentation = "1.12.0" 211url = "2.5" 212urlpattern = "0.3" 213utf-8 = "0.7" 214uuid = { version = "1.20.0", features = ["v4", "v5"] } 215vello = "0.6" 216vello_cpu = "0.0.4" 217webdriver = "0.53.0" 218webgpu_traits = { path = "source/components/shared/webgpu" } 219webpki-roots = "1.0" 220webrender = { version = "0.68", features = ["capture"] } 221webrender_api = "0.68" 222webxr-api = { path = "source/components/shared/webxr" } 223wgpu-core = "26" 224wgpu-types = "26" 225winapi = "0.3" 226windows-sys = "0.61" 227winit = "0.30.12" 228wio = "0.2" 229wr_malloc_size_of = "0.2.2" 230x25519-dalek = { version = "2.0.1", features = ["static_secrets"] } 231xi-unicode = "0.3.0" 232xml5ever = "0.38" 233xpath = { path = "source/components/xpath" } 234 235# RSA key generation could be very slow without compilation 236# optimizations, in development mode. Without optimizations, WPT might 237# consider RSA key generation tests fail due to timeout. 238# Building with higher optimization levels can speed up the key 239# generation process to avoid false negative result in those tests. 240# More details: <https://docs.rs/rsa/0.9.8/rsa/index.html#example> 241[profile.dev.package.num-bigint-dig] 242opt-level = 3 243 244# Force tikv-jemalloc-sys to build with at least -O1. 245# This can help with build environments that force _FORTIFY_SOURCE, such as Nix. 246# More details: <https://github.com/tikv/jemallocator/issues/108> 247[profile.dev.package.tikv-jemalloc-sys] 248opt-level = 1 249 250[profile.release] 251opt-level = 3 252debug-assertions = true 253 254[profile.production] 255inherits = "release" 256debug-assertions = false 257lto = true 258codegen-units = 1 259opt-level = "s" 260 261[profile.production-stripped] 262inherits = "production" 263strip = true 264 265[profile.profiling] 266inherits = "release" 267debug-assertions = false 268debug = true 269lto = "thin" 270codegen-units = 1