[package]
edition = "2024"
rust-version = "1.93"
name = "glycin-core"
version = "4.0.0-alpha"
authors = ["Sophie Herold"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sandboxed image decoding"
homepage = "https://gnome.pages.gitlab.gnome.org/glycin/"
readme = "README.md"
license = "MPL-2.0 OR LGPL-2.1-or-later"
repository = "https://gitlab.gnome.org/GNOME/glycin"
[package.metadata.docs.rs]
features = ["gdk4"]
[features]
async-io = [
"dep:async-fs",
"dep:async-global-executor",
"dep:async-io",
"dep:async-lock",
"dep:async-task",
"dep:blocking",
"dep:futures-timer",
"dep:futures-lite",
"glycin-utils/async-io",
"zbus?/async-io",
]
builtin = [
"glycin-utils/builtin",
"futures-util/sink",
"futures-channel/sink",
]
builtin-image-rs = [
"dep:glycin-image-rs",
"builtin",
]
builtin-test = [
"dep:glycin-test",
"builtin",
]
default = ["async-io"]
external = [
"dep:libseccomp",
"dep:gio-unix",
"dep:zbus",
"dep:yeslogic-fontconfig-sys",
"dep:nix",
"glycin-utils/external",
]
gdk4 = ["dep:gdk"]
gobject = [
"glycin-common/gobject",
"glycin-utils/gobject",
"dep:tracing-subscriber",
]
tokio = [
"dep:tokio",
"dep:tokio-stream",
"glycin-utils/tokio",
"zbus?/tokio",
]
unstable = []
[lib]
name = "glycin_core"
path = "src/lib.rs"
[dependencies.async-fs]
version = "2.1.0"
optional = true
[dependencies.async-global-executor]
version = "3.1.0"
optional = true
[dependencies.async-io]
version = "2.3.2"
optional = true
[dependencies.async-lock]
version = "3.3.0"
optional = true
[dependencies.async-task]
version = "4.0.0"
optional = true
[dependencies.blocking]
version = "1.6.1"
optional = true
[dependencies.futures-channel]
version = "0.3.30"
[dependencies.futures-lite]
version = "2.1.0"
optional = true
[dependencies.futures-timer]
version = "3.0.3"
optional = true
[dependencies.futures-util]
version = "0.3.30"
[dependencies.gdk]
version = "0.11.0"
features = ["v4_16"]
optional = true
package = "gdk4"
[dependencies.gio]
version = "0.22.0"
features = ["v2_62"]
[dependencies.gio-unix]
version = "0.22.0"
optional = true
[dependencies.glib]
version = "0.22.0"
features = ["v2_68"]
[dependencies.glycin-common]
version = "2.0.0-alpha"
[dependencies.glycin-image-rs]
version = "2.2.0-alpha"
features = ["builtin"]
optional = true
default-features = false
[dependencies.glycin-test]
version = "2.2.0-alpha"
features = ["builtin"]
optional = true
default-features = false
[dependencies.glycin-utils]
version = "5.0.0-alpha"
features = ["glib"]
default-features = false
[dependencies.gufo-common]
version = "2.0.0-alpha"
features = ["serde"]
[dependencies.gufo-exif]
version = "0.5.0-alpha"
[dependencies.lcms2]
version = "6.0.3"
[dependencies.lcms2-sys]
version = "4.0.4"
[dependencies.libc]
version = "0.2.152"
[dependencies.libseccomp]
version = "0.4.0"
optional = true
[dependencies.nix]
version = "0.31.0"
features = [
"fs",
"resource",
"signal",
"fs",
"resource",
"signal",
]
optional = true
[dependencies.static_assertions]
version = "1.1.0"
[dependencies.thiserror]
version = "2.0.3"
[dependencies.tokio]
version = "1.35.1"
features = [
"fs",
"rt",
"rt-multi-thread",
"time",
]
optional = true
[dependencies.tokio-stream]
version = "0.1.15"
features = ["fs"]
optional = true
[dependencies.tracing]
version = "0.1.40"
[dependencies.tracing-subscriber]
version = "0.3.0"
features = [
"env-filter",
"fmt",
]
optional = true
[dependencies.yeslogic-fontconfig-sys]
version = "6.0.0"
optional = true
[dependencies.zbus]
version = "5.15.0"
features = [
"p2p",
"p2p",
]
optional = true
default-features = false
[lints.clippy]
dbg_macro = "warn"
expect_used = "warn"