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.84.0"
13authors = ["LongYinan <lynweklm@gmail.com>", "Armin Sander <armin@replicator.org>"]
14edition = "2021"
15rust-version.workspace = true
16build = "build.rs"
17links = "skia"
18include = [
19 "Cargo.toml",
20 "bindings_docs.rs",
21 "build.rs",
22 "build_support.rs",
23 "build_support/**/*.rs",
24 "src/**/*.h",
25 "src/**/*.cpp",
26 "src/*.rs" ]
27
28[lib]
29doctest = false
30
31# Metadata used from inside the packaged crate that defines where to download the Skia archive from.
32# Note: use short hashes here because of filesystem path size restrictions.
33[package.metadata]
34skia = "m135-0.83.1"
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 = []
57freetype-woff2 = []
58
59[dependencies]
60mozjpeg-sys = { version = "2", features = ["with_simd"], optional = true }
61lazy_static = { version = "1.4.0", optional = true }
62
63[build-dependencies]
64cc = { version = "1.1.28" }
65bindgen = { version = "0.71.1" }
66
67# For enum variant name replacements.
68regex = "1.4.5"
69heck = "0.5.0"
70
71flate2 = { version = "1.0.7", optional = true }
72tar = { version = "0.4.26", optional = true }
73
74# For reading .cargo.vcs_info.json to get the repository sha1 that is used to download
75# the matching prebuilt binaries.
76serde_json = "1.0.39"
77# For reading Cargo.toml from within a package.
78toml = "0.8.0"
79
80[dev-dependencies]
81# build dependencies duplicated for testing :(
82cc = { version = "1.1.28" }
83bindgen = { version = "0.71.1" }
84regex = "1.4.5"
85heck = "0.5.0"
86# ureq = { version = "2.8.0" }
87flate2 = { version = "1.0.7" }
88tar = { version = "0.4.26" }
89serde_json = "1.0.39"
90toml = "0.8.0"
91