tauri-runtime-servo 0.1.0

Servo bindings to the Tauri runtime — an experimental Tauri runtime backed by the Servo web engine
[workspace]
members = ["examples/helloworld"]

[package]
name = "tauri-runtime-servo"
version = "0.1.0"
description = "Servo bindings to the Tauri runtime — an experimental Tauri runtime backed by the Servo web engine"
readme = "README.md"
authors = [
  "Jonathan Kingston",
  "Tauri Programme within The Commons Conservancy",
]
homepage = "https://tauri.app/"
repository = "https://github.com/copse-dev/tauri-runtime-servo"
categories = ["gui", "web-programming"]
keywords = ["tauri", "servo", "webview", "gui", "runtime"]
license = "Apache-2.0 OR MIT"
edition = "2021"
# Oldest toolchain the crate has actually been built with (the full servo
# graph compiles on it); rust-toolchain.toml pins the development toolchain.
rust-version = "1.94"
# servo-patches/ is opt-in material for downstream [patch] users and stays in
# git only; everything it documents is reproduced in this README.
exclude = ["CHANGELOG.md", "/target", "/examples", "/servo-patches"]

[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
targets = [
  "x86_64-pc-windows-msvc",
  "x86_64-unknown-linux-gnu",
  "x86_64-apple-darwin",
]

[dependencies]
# Stock libservo from crates.io, so this crate is publishable there. The
# servo-patches/ series is opt-in via consumer [patch.crates-io] overrides —
# see "Using a patched Servo" in the README. Keep this requirement satisfiable
# by the servo tree the series is based on, or those overrides stop resolving.
#
# Not 0.4: servo-script 0.4.0 exact-pins `p256 =0.14.0-rc.14`, which no longer
# compiles against the stable `primeorder 0.14.0` its caret requirement now
# resolves to. 0.5.0 dropped those pre-release pins.
servo = "0.5"
tao = { version = "0.36", default-features = false, features = ["rwh_06"] }
tauri-runtime = "2.11.3"
tauri-utils = "2.9.3"
raw-window-handle = "0.6"
euclid = "0.22"
futures-channel = "0.3"
keyboard-types = "0.8.3"
percent-encoding = "2.3"
url = "2.5"
http = "1"
dpi = "0.1"
cookie = "0.18"
thiserror = "2"
rustls = { version = "0.23", default-features = false, features = [
  "aws-lc-rs",
  "logging",
  "std",
  "tls12",
] }
tracing = { version = "0.1", optional = true }
log = "0.4.21"

[target."cfg(windows)".dependencies]
softbuffer = { version = "0.4", default-features = false }
once_cell = "1.20"

[target."cfg(windows)".dependencies.windows]
version = "0.61"
features = [
  "Win32_Foundation",
  "Win32_Graphics_Dwm",
  "Win32_Graphics_Gdi",
  "Win32_System_LibraryLoader",
  "Win32_UI_HiDpi",
  "Win32_UI_Input",
  "Win32_UI_Input_KeyboardAndMouse",
  "Win32_UI_Shell",
  "Win32_UI_WindowsAndMessaging",
]

[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
gtk = { version = "0.18", features = ["v3_24"] }

[target."cfg(target_os = \"macos\")".dependencies]
objc2-app-kit = { version = "0.3.2", default-features = false, features = [
  "block2",
  "NSApplication",
  "NSResponder",
  "NSView",
  "NSWindow",
  "NSScreen",
  "NSGraphics",
] }
objc2 = "0.6"

[target."cfg(target_os = \"android\")".dependencies]
jni = "0.21"

[features]
default = ["x11", "dbus"]
# Sets preferences that only exist on a servo tree with servo-patches/
# applied (layout_svg_native_enabled arrives with patch 0009). Without this
# feature the crate compiles against the stock pinned servo rev; enable it
# together with a `[patch]` override pointing at the patched checkout.
patched-servo = []
devtools = ["tauri-runtime/devtools"]
x11 = ["tao/x11"]
macos-private-api = ["tauri-runtime/macos-private-api"]
macos-proxy = []
unstable = []
tracing = ["dep:tracing"]
dbus = ["tao/dbus"]