1[package]
2
3name = "skia-bindings"
4description = "Skia Bindings for Rust"
5homepage = "https://github.com/rust-skia/rust-skia/tree/master/skia-bindings"
6repository = "https://github.com/rust-skia/rust-skia"
7readme = "README.md"
8keywords = ["skia", "rust-bindings", "vulkan", "opengl", "pdf"]
9categories = ["external-ffi-bindings", "graphics", "multimedia::images", "rendering::graphics-api", "visualization"]
10license = "MIT"
11
12version = "0.71.0"
13authors = ["LongYinan <lynweklm@gmail.com>", "Armin Sander <armin@replicator.org>"]
14edition = "2021"
15build = "build.rs"
16links = "skia"
17include = [
18 "Cargo.toml",
19 "bindings_docs.rs",
20 "build.rs",
21 "build_support.rs",
22 "build_support/**/*.rs",
23 "src/**/*.h",
24 "src/**/*.cpp",
25 "src/*.rs" ]
26
27[lib]
28doctest = false
29
30# Metadata used from inside the packaged crate that defines where to download skia and depot_tools archives from.
31# Note: use short hashes here because of filesystem path size restrictions.
32[package.metadata]
33skia = "m122-0.70.1"
34depot_tools = "73a2624"
35
36[features]
37default = ["binary-cache", "embed-icudtl"]
38gl = []
39egl = []
40wayland = []
41x11 = []
42vulkan = []
43metal = []
44d3d = []
45textlayout = []
46webp = ["webp-encode", "webp-decode"]
47webp-encode = []
48webp-decode = []
49# sys libraries
50use-system-jpeg-turbo = ["mozjpeg-sys"]
51# `textlayout` because `SkSVGTextContext::SkSVGTextContext()` invokes `SkShaper::Make`.
52svg = ["textlayout"]
53shaper = ["textlayout"]
54binary-cache = ["flate2", "tar"]
55embed-icudtl = ["lazy_static"]
56embed-freetype = []
57
58[dependencies]
59mozjpeg-sys = { version = "2", features = ["with_simd"], optional = true }
60lazy_static = { version = "1.4.0", optional = true }
61
62[build-dependencies]
63cc = "1.0.37"
64bindgen = "0.69.1"
65
66# For enum variant name replacements.
67regex = "1.4.5"
68heck = "0.4.0"
69
70# For downloading and extracting prebuilt binaries and skia / depot_tools archives:
71# ureq = { version = "2.8.0", optional = true }
72flate2 = { version = "1.0.7", optional = true }
73tar = { version = "0.4.26", optional = true }
74
75# For reading .cargo.vcs_info.json to get the repository sha1 that is used to download
76# the matching prebuilt binaries.
77serde_json = "1.0.39"
78# For reading Cargo.toml from within a package.
79toml = "0.8.0"
80
81[dev-dependencies]
82# build dependencies duplicated for testing :(
83cc = "1.0.37"
84bindgen = "0.69.1"
85regex = "1.4.5"
86heck = "0.4.0"
87# ureq = { version = "2.8.0" }
88flate2 = { version = "1.0.7" }
89tar = { version = "0.4.26" }
90serde_json = "1.0.39"
91toml = "0.8.0"
92