blob: 2589ddedf9b2c2f6979299dd3032f560c1aa9726 (
plain)
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
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson optfeature toolchain-funcs
DESCRIPTION="Highly customizable Wayland bar for Sway and Wlroots based compositors"
HOMEPAGE="https://github.com/Alexays/Waybar"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Alexays/${PN^}.git"
else
SRC_URI="https://github.com/Alexays/${PN^}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm64"
S="${WORKDIR}/${PN^}-${PV}"
fi
LICENSE="MIT"
SLOT="0"
IUSE="backlight evdev experimental gps jack +libinput +logind mpd mpris network niri pipewire pulseaudio screencast sndio systemd test tray +udev upower wifi"
REQUIRED_USE="
upower? ( logind )
backlight? ( udev logind )
"
RESTRICT="!test? ( test )"
BDEPEND="
>=app-text/scdoc-1.9.2
>=dev-util/gdbus-codegen-2.80.5-r1
dev-util/wayland-scanner
virtual/pkgconfig
"
# dev-libs/date not used if C++ library supports chrono
RDEPEND="
dev-cpp/cairomm:0
dev-cpp/glibmm:2
dev-cpp/gtkmm:3.0
dev-libs/glib:2
dev-libs/jsoncpp:=
dev-libs/libsigc++:2
>=dev-libs/libfmt-8.1.1:=
>=dev-libs/spdlog-1.15.2:=
dev-libs/date:=
dev-libs/wayland
>=gui-libs/gtk-layer-shell-0.9.0
x11-libs/gtk+:3[wayland]
x11-libs/libxkbcommon
evdev? ( dev-libs/libevdev )
gps? ( sci-geosciences/gpsd:= )
jack? ( virtual/jack )
libinput? ( dev-libs/libinput:= )
logind? (
systemd? ( sys-apps/systemd )
!systemd? ( sys-auth/elogind )
)
mpd? ( media-libs/libmpdclient )
mpris? ( >=media-sound/playerctl-2 )
network? ( dev-libs/libnl:3 )
pipewire? ( media-video/wireplumber:0/0.5 )
pulseaudio? ( media-libs/libpulse )
screencast? ( media-video/pipewire:= )
sndio? ( media-sound/sndio:= )
systemd? ( sys-apps/systemd:= )
tray? (
dev-libs/libayatana-appindicator
dev-libs/libdbusmenu[gtk3]
)
udev? ( virtual/libudev:= )
upower? ( sys-power/upower:= )
wifi? ( sys-apps/util-linux )
"
DEPEND="${RDEPEND}
dev-libs/wayland-protocols
test? ( dev-cpp/catch:0 )
"
PATCHES=(
"${FILESDIR}"/meson-fix-build.patch
)
src_configure() {
local cxx_stdlib=$(tc-get-cxx-stdlib)
einfo "C++ standard library: ${cxx_stdlib:-unknown}"
local libcxx=false
if [[ ${cxx_stdlib} == libc++ ]]; then
libcxx=true
fi
local emesonargs=(
-Dlibcxx=${libcxx}
-Dman-pages=enabled
-Dcava=disabled # depends on LukashonakV/cava fork, but media-sound/cava is karlstav/cava
$(meson_feature evdev libevdev)
$(meson_feature gps)
$(meson_feature jack)
$(meson_feature libinput)
$(meson_feature logind)
$(meson_feature mpd)
$(meson_feature mpris)
$(meson_feature network libnl)
$(meson_feature pulseaudio)
$(meson_feature pipewire wireplumber) # module for changing the volume for pipewire with wireplumber
$(meson_feature screencast pipewire) # module for checking whether the screen is recorded
$(meson_feature sndio)
$(meson_feature systemd)
$(meson_feature test tests)
$(meson_feature tray dbusmenu-gtk)
$(meson_feature udev libudev)
$(meson_feature upower upower_glib)
$(meson_feature wifi rfkill)
$(meson_use backlight login-proxy)
$(meson_use experimental)
$(meson_use niri) # communicates by socket with gui-wm/niri::guru
)
meson_src_configure
}
pkg_postinst() {
optfeature "default icons support" "media-fonts/fontawesome"
}
|