niri/Cargo.toml

163 lines
5.4 KiB
TOML
Raw Permalink Normal View History

2024-02-06 08:01:26 +03:00
[workspace]
members = ["niri-visual-tests"]
[workspace.package]
2024-09-14 11:55:52 +03:00
version = "0.1.9"
description = "A scrollable-tiling Wayland compositor"
2023-08-09 10:03:38 +03:00
authors = ["Ivan Molodetskikh <yalterz@gmail.com>"]
license = "GPL-3.0-or-later"
2023-08-09 10:03:38 +03:00
edition = "2021"
repository = "https://github.com/YaLTeR/niri"
2024-09-13 15:05:41 +03:00
rust-version = "1.77"
[workspace.dependencies]
2024-09-30 15:27:36 +03:00
anyhow = "1.0.89"
2024-07-08 08:38:18 +03:00
bitflags = "2.6.0"
2024-09-30 15:27:36 +03:00
clap = { version = "4.5.18", features = ["derive"] }
k9 = "0.12.0"
2024-09-13 15:05:33 +03:00
serde = { version = "1.0.210", features = ["derive"] }
serde_json = "1.0.128"
tracing = { version = "0.1.40", features = ["max_level_trace", "release_max_level_debug"] }
2024-02-06 08:01:26 +03:00
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
2024-09-30 15:27:36 +03:00
tracy-client = { version = "0.17.4", default-features = false }
[workspace.dependencies.smithay]
git = "https://github.com/Smithay/smithay.git"
# path = "../smithay"
default-features = false
[workspace.dependencies.smithay-drm-extras]
git = "https://github.com/Smithay/smithay.git"
# path = "../smithay/smithay-drm-extras"
[package]
name = "niri"
version.workspace = true
description.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true
2024-09-13 15:05:41 +03:00
rust-version.workspace = true
2023-08-07 18:44:40 +03:00
2023-11-25 10:24:35 +03:00
readme = "README.md"
keywords = ["wayland", "compositor", "tiling", "smithay", "wm"]
2023-08-07 18:44:40 +03:00
[dependencies]
2024-02-06 08:01:26 +03:00
anyhow.workspace = true
2024-09-13 15:05:33 +03:00
arrayvec = "0.7.6"
2024-05-16 17:04:18 +03:00
async-channel = "2.3.1"
async-io = { version = "1.13.0", optional = true }
atomic = "0.6.0"
2024-03-28 14:46:43 +03:00
bitflags.workspace = true
2024-09-13 15:05:33 +03:00
bytemuck = { version = "1.18.0", features = ["derive"] }
calloop = { version = "0.14.1", features = ["executor", "futures-io"] }
2024-02-10 08:33:32 +03:00
clap = { workspace = true, features = ["string"] }
2023-08-27 18:34:37 +03:00
directories = "5.0.1"
2024-09-30 15:27:36 +03:00
drm-ffi = "0.9.0"
2024-09-13 15:05:33 +03:00
fastrand = "2.1.1"
futures-util = { version = "0.3.30", default-features = false, features = ["std", "io"] }
2023-12-19 20:06:49 +03:00
git-version = "0.3.9"
2024-09-13 15:05:33 +03:00
glam = "0.29.0"
2024-09-30 15:27:36 +03:00
input = { version = "0.9.1", features = ["libinput_1_21"] }
2023-08-14 14:54:11 +03:00
keyframe = { version = "1.1.1", default-features = false }
2024-09-30 15:27:36 +03:00
libc = "0.2.159"
libdisplay-info = "0.1.0"
2024-07-08 08:38:18 +03:00
log = { version = "0.4.22", features = ["max_level_trace", "release_max_level_debug"] }
2024-09-14 11:55:52 +03:00
niri-config = { version = "0.1.9", path = "niri-config" }
niri-ipc = { version = "0.1.9", path = "niri-ipc", features = ["clap"] }
2024-05-16 17:04:18 +03:00
notify-rust = { version = "~4.10.0", optional = true }
2024-09-30 15:27:36 +03:00
ordered-float = "4.3.0"
pango = { version = "0.20.4", features = ["v1_44"] }
pangocairo = "0.20.4"
pipewire = { git = "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git", optional = true, features = ["v0_3_33"] }
2024-09-30 15:27:36 +03:00
png = "0.17.14"
portable-atomic = { version = "1.9.0", default-features = false, features = ["float"] }
2024-02-28 12:45:12 +03:00
profiling = "1.0.15"
2024-07-08 08:38:18 +03:00
sd-notify = "0.4.2"
serde.workspace = true
serde_json.workspace = true
smithay-drm-extras.workspace = true
2024-02-06 08:01:26 +03:00
tracing-subscriber.workspace = true
tracing.workspace = true
tracy-client.workspace = true
2024-06-21 07:53:41 +03:00
url = { version = "2.5.2", optional = true }
2024-09-13 15:05:33 +03:00
wayland-backend = "0.3.7"
wayland-scanner = "0.31.5"
xcursor = "0.3.8"
2024-02-28 12:45:12 +03:00
zbus = { version = "~3.15.2", optional = true }
2023-08-07 18:44:40 +03:00
[dependencies.smithay]
workspace = true
2023-08-07 18:44:40 +03:00
features = [
2023-08-09 10:03:38 +03:00
"backend_drm",
"backend_egl",
"backend_gbm",
"backend_libinput",
"backend_session_libseat",
"backend_udev",
2023-08-07 18:44:40 +03:00
"backend_winit",
"desktop",
2023-08-09 10:03:38 +03:00
"renderer_gl",
2024-01-23 22:44:47 +03:00
"renderer_pixman",
2023-08-09 10:03:38 +03:00
"renderer_multi",
"use_system_lib",
"wayland_frontend",
2023-08-07 18:44:40 +03:00
]
2023-08-10 13:12:20 +03:00
2023-09-27 12:35:02 +03:00
[dev-dependencies]
approx = "0.5.1"
k9.workspace = true
2024-07-08 08:38:18 +03:00
proptest = "1.5.0"
proptest-derive = "0.5.0"
2024-05-16 17:04:18 +03:00
xshell = "0.2.6"
2023-09-27 12:35:02 +03:00
2023-08-10 13:12:20 +03:00
[features]
default = ["dbus", "systemd", "xdp-gnome-screencast"]
# Enables D-Bus support (serve various freedesktop and GNOME interfaces, power button handling).
2024-05-08 07:57:37 +03:00
dbus = ["zbus", "async-io", "notify-rust", "url"]
# Enables systemd integration (global environment, apps in transient scopes).
systemd = ["dbus"]
# Enables screencasting support through xdg-desktop-portal-gnome.
xdp-gnome-screencast = ["dbus", "pipewire"]
# Enables the Tracy profiler instrumentation.
2023-08-10 13:12:20 +03:00
profile-with-tracy = ["profiling/profile-with-tracy", "tracy-client/default"]
# Enables the on-demand Tracy profiler instrumentation.
profile-with-tracy-ondemand = ["profile-with-tracy", "tracy-client/ondemand", "tracy-client/manual-lifetime"]
2024-03-06 20:01:00 +03:00
# Enables dinit integration (global environment).
dinit = []
2023-08-10 13:12:20 +03:00
2023-08-14 14:22:10 +03:00
[profile.release]
debug = "line-tables-only"
2023-08-14 14:22:10 +03:00
overflow-checks = true
2023-11-06 07:47:05 +03:00
lto = "thin"
2023-08-27 15:23:02 +03:00
[profile.release.package.niri-config]
# knuffel with chomsky generates a metric ton of debuginfo.
debug = false
2023-08-27 15:23:02 +03:00
[package.metadata.generate-rpm]
2024-09-14 11:55:52 +03:00
version = "0.1.9"
2023-08-27 15:23:02 +03:00
assets = [
{ source = "target/release/niri", dest = "/usr/bin/", mode = "755" },
{ source = "resources/niri-session", dest = "/usr/bin/", mode = "755" },
{ source = "resources/niri.desktop", dest = "/usr/share/wayland-sessions/", mode = "644" },
{ source = "resources/niri-portals.conf", dest = "/usr/share/xdg-desktop-portal/", mode = "644" },
2023-08-27 15:23:02 +03:00
{ source = "resources/niri.service", dest = "/usr/lib/systemd/user/", mode = "644" },
{ source = "resources/niri-shutdown.target", dest = "/usr/lib/systemd/user/", mode = "644" },
2023-08-27 15:23:02 +03:00
]
[package.metadata.generate-rpm.requires]
alacritty = "*"
2024-03-05 12:40:57 +03:00
fuzzel = "*"
[package.metadata.deb]
depends = "alacritty, fuzzel"
assets = [
["target/release/niri", "usr/bin/", "755"],
["resources/niri-session", "usr/bin/", "755"],
["resources/niri.desktop", "/usr/share/wayland-sessions/", "644"],
["resources/niri-portals.conf", "/usr/share/xdg-desktop-portal/", "644"],
["resources/niri.service", "/usr/lib/systemd/user/", "644"],
["resources/niri-shutdown.target", "/usr/lib/systemd/user/", "644"],
]