[package] name = "librsvg" documentation = "https://gnome.pages.gitlab.gnome.org/librsvg/doc/rsvg/index.html" version = "2.59.2" authors.workspace = true description.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true edition.workspace = true rust-version.workspace = true exclude = ["tests/fixtures", "tests/resources"] [package.metadata.docs.rs] rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"] [package.metadata.system-deps] cairo = "1.18" cairo-gobject = "1.18" cairo-png = "1.18" cairo-pdf = { version = "1.18", optional = true } cairo-ps = { version = "1.18", optional = true } cairo-svg = { version = "1.18", optional = true } freetype2 = "20.0.14" gio = { name = "gio-2.0", version = "2.24" } glib = { name = "glib-2.0", version = "2.50" } harfbuzz = "2.0" libxml2 = { name = "libxml-2.0", fallback-names = ["libxml2"], version = "2.9" } pangocairo = "1.50" [package.metadata.system-deps.'cfg(any(target_os = "macos", target_os = "windows"))'] fontconfig = { version = "1.7", optional = true } pangoft2 = { version = "1.50", optional = true } [package.metadata.system-deps.'cfg(all(not(target_os = "macos"), not(target_os = "windows")))'] fontconfig = { version = "1.7" } pangoft2 = { version = "1.50" } [features] avif = ["image/avif-native"] capi = [] test-utils = ["yeslogic-fontconfig-sys"] [lib] name = "rsvg" [dependencies] # Keep these in sync with respect to the cairo-rs version: # src/lib.rs - toplevel example in the docs cairo-rs = { workspace = true, features = ["v1_16", "png", "pdf", "ps", "svg"] } cast.workspace = true cssparser.workspace = true data-url.workspace = true encoding_rs.workspace = true float-cmp.workspace = true gio.workspace = true glib.workspace = true image = { workspace = true, features = ["jpeg", "png", "gif", "webp"] } itertools.workspace = true language-tags.workspace = true libc.workspace = true locale_config.workspace = true markup5ever.workspace = true nalgebra.workspace = true num-traits.workspace = true pango = { workspace = true, features = ["v1_46"] } pangocairo.workspace = true rayon.workspace = true rctree.workspace = true regex.workspace = true rgb = { workspace = true, features = ["argb"] } selectors.workspace = true string_cache.workspace = true tinyvec = { workspace = true, features = ["alloc", "rustc_1_55"] } url.workspace = true xml5ever.workspace = true [target.'cfg(all(not(target_os = "macos"), not(target_os = "windows")))'.dependencies] yeslogic-fontconfig-sys = { workspace = true, optional = true } [dev-dependencies] anyhow.workspace = true chrono = { workspace = true, features = ["clock", "std"] } criterion.workspace = true lopdf.workspace = true matches.workspace = true png.workspace = true predicates.workspace = true proptest.workspace = true quick-error.workspace = true serde = { workspace = true, features = ["derive"] } serde_json.workspace = true tempfile.workspace = true [build-dependencies] system-deps.workspace = true [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = [ 'cfg(system_deps_have_fontconfig)', 'cfg(system_deps_have_pangoft2)', ] } [[bench]] name = "box_blur" harness = false [[bench]] name = "composite" harness = false [[bench]] name = "lighting" harness = false [[bench]] name = "path_parser" harness = false [[bench]] name = "pixel_iterators" harness = false [[bench]] name = "pixel_ops" harness = false [[bench]] name = "srgb" harness = false