-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
142 lines (121 loc) · 3.92 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# {{{ Workspace
[workspace]
members = ["fht-compositor-config"]
resolver = "2"
[workspace.package]
version = "0.1.1"
description = "A dynamic tiling Wayland compositor"
authors = ["Nadjib Ferhat <[email protected]>"]
license = "GPL-3.0"
edition = "2021"
repository = "https://github.com/nferhat/fht-compositor"
[workspace.dependencies]
anyhow = "1.0.79"
# Basic logging setup
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
# Config file support
[workspace.dependencies.smithay]
git = "https://github.com/smithay/Smithay"
rev = "e1a863b"
default-features = false
[workspace.dependencies.smithay-drm-extras]
git = "https://github.com/Smithay/Smithay"
rev = "e1a863b"
[profile.opt]
inherits = "release"
codegen-units = 1
lto = "fat"
opt-level = 3
[profile.dev]
opt-level = 3
# }}}
# {{{ fht-compositor
[package]
name = "fht-compositor"
version.workspace = true
description.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true
readme = "README.md"
[dependencies]
anyhow.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
smithay = { workspace = true, features = [
"desktop", "wayland_frontend", # Provide abstractions for wayland stuff
"renderer_glow", # Default renderer used everywhere
"use_system_lib", "backend_egl", # EGL support for wayland
"backend_libinput", # Input handling
] }
smithay-drm-extras = { workspace = true, optional = true }
bitflags = "2.6.0"
thiserror = "1.0.61"
libc = "0.2.155"
zbus = { version = "4.3.1", optional = true }
zvariant = { version = "4.1.2", features = ["option-as-array"], optional = true }
pipewire = { git = "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git", optional = true, features = ["v0_3_33"] }
xcursor = "0.3.5"
fht-compositor-config.path = "./fht-compositor-config"
glam = "0.28.0"
egui = "0.29"
egui_glow = "0.29"
fht-animation = { git = "https://github.com/nferhat/fht-animation", version = "0.1.0" }
# FIXME: We use this instead of std::sync::MappedMutexGuard
# SEE: tracking issue for nightly flag: https://github.com/rust-lang/rust/issues/117108
owning_ref = "0.4.1"
clap = { version = "4.5.18", features = ["derive", "string"] }
async-channel = "2.3.1"
async-io = "2.3.4"
puffin = { version = "0.19.1", optional = true }
puffin_http = { version = "0.16.1", optional = true }
clap_complete = "4.5.38"
sd-notify = "0.4.3"
serde_json = "1.0.134"
xdg = "2.5.2"
serde = { version = "1.0.217", features = ["derive"] }
[features]
default = ["winit-backend", "udev-backend", "all-portals"]
# Marker feature to enable D-Bus connectivity.
#
# You should not enable this yourself, this is meant to be used by compositor
# feature dependencies.
dbus = ["zbus", "zvariant"]
# Enable the winit backend.
#
# This allows the compositor to run under a winit window.
#
# NOTE: Although this backend works, it's not explicity supported, since its only here for
# developement. For all regular usage, please use the udev backend.
winit-backend = [
"smithay/backend_winit",
"smithay/renderer_glow",
"smithay/backend_drm",
]
# Enable the winit backend.
#
# This allows the compositor to run under a libseat session.
udev-backend = [
"smithay-drm-extras",
"smithay/backend_libinput",
"smithay/backend_udev",
"smithay/backend_drm",
"smithay/backend_gbm",
"smithay/backend_vulkan",
"smithay/backend_egl",
"smithay/backend_session_libseat",
"smithay/renderer_multi",
]
# Enable profiling with puffin
#
# You should **NOT** enable this unless you want to profile compositor performance.
# This will automatically stream compositor data to localhost:DEFAULT_PORT.
profile-with-puffin = ["dep:puffin", "dep:puffin_http"]
# Marker feature to enable all supported portals.
all-portals = ["xdg-screencast-portal"]
# Enable xdg-screencast portal support
xdg-screencast-portal = ["pipewire", "dbus"]
# }}}
# vim: foldmethod=marker