[package]
edition = "2021"
rust-version = "1.75"
name = "ashpd"
version = "0.12.2"
authors = ["Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>"]
build = false
exclude = [
"interfaces/*.xml",
"ashpd-demo/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "XDG portals wrapper in Rust using zbus"
readme = "README.md"
keywords = [
"portal",
"flatpak",
"xdg",
"desktop",
"dbus",
]
categories = [
"gui",
"os::linux-apis",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/bilelmoussaoui/ashpd"
[package.metadata.docs.rs]
features = [
"backend",
"gtk4",
"raw_handle",
]
rustdoc-args = ["--generate-link-to-definition"]
[features]
async-std = [
"zbus/async-io",
"dep:async-fs",
"dep:async-net",
"futures-util/io",
]
backend = ["async-trait"]
default = ["tokio"]
glib = ["dep:glib"]
gtk4 = [
"gtk4_x11",
"gtk4_wayland",
]
gtk4_wayland = [
"gdk4wayland",
"glib",
"dep:gtk4",
]
gtk4_x11 = [
"gdk4x11",
"glib",
"dep:gtk4",
]
raw_handle = ["raw-window-handle"]
tokio = [
"zbus/tokio",
"dep:tokio",
]
wayland = [
"wayland-client",
"wayland-protocols",
"wayland-backend",
]
[lib]
name = "ashpd"
path = "src/lib.rs"
[[example]]
name = "screen_cast_gstreamer"
path = "examples/screen_cast_gstreamer.rs"
[[example]]
name = "screen_cast_pw"
path = "examples/screen_cast_pw.rs"
[dependencies.async-fs]
version = "2.1"
optional = true
[dependencies.async-net]
version = "2.0"
optional = true
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.enumflags2]
version = "0.7"
[dependencies.futures-channel]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.gdk4wayland]
version = "0.10"
optional = true
package = "gdk4-wayland"
[dependencies.gdk4x11]
version = "0.10"
features = ["xlib"]
optional = true
package = "gdk4-x11"
[dependencies.glib]
version = "0.21"
optional = true
[dependencies.gtk4]
version = "0.10"
optional = true
[dependencies.pipewire]
version = "0.8"
optional = true
[dependencies.rand]
version = "0.9"
features = [
"std",
"thread_rng",
]
default-features = false
[dependencies.raw-window-handle]
version = "0.6"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_repr]
version = "0.1"
[dependencies.tokio]
version = "1.43"
features = [
"fs",
"io-util",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.url]
version = "2.5"
features = ["serde"]
[dependencies.wayland-backend]
version = "0.3"
features = ["client_system"]
optional = true
[dependencies.wayland-client]
version = "0.31"
optional = true
[dependencies.wayland-protocols]
version = "0.32"
features = [
"unstable",
"client",
"staging",
]
optional = true
[dependencies.zbus]
version = "5.0"
features = ["url"]
default-features = false
[dev-dependencies.gst]
version = "0.24"
package = "gstreamer"
[dev-dependencies.pipewire]
version = "0.8.0"
[dev-dependencies.reis]
version = "0.4"
features = ["tokio"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.tokio]
version = "1.41"
features = [
"rt-multi-thread",
"macros",
]