blob: f7f9969ab928a694d28c5104dda998cc318ec884 (
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
|
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson toolchain-funcs
DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
HOMEPAGE="https://github.com/hyprwm/Hyprland/releases"
PROTOCOMMIT=301733ae466b229066ba15a53e6d8b91c5dcef5b
WLRCOMMIT=dc7cc98cf21a8dc19ab8895505500e3700646af0
CONTRIBCOMMIT=37c8121f98d76f57caa00dd7106877876e0d7483
SRC_URI="https://github.com/hyprwm/Hyprland/archive/v${PV}beta.tar.gz -> ${P}.tar.gz
https://github.com/hyprwm/hyprland-protocols/archive/${PROTOCOMMIT}.tar.gz -> hyprland-protocols.tar.gz
https://github.com/hyprwm/contrib/archive/${CONTRIBCOMMIT}.tar.gz -> contrib.tar.gz
https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${WLRCOMMIT}/wlroots-${WLRCOMMIT}.tar.bz2 -> wlr.tar.bz2"
S="${WORKDIR}/Hyprland-${PV}beta"
KEYWORDS="~amd64"
LICENSE="BSD"
SLOT="0"
IUSE="X grimblast shellevents systemd"
RDEPEND="
dev-libs/libevdev
dev-libs/libinput
dev-libs/wayland
>=dev-libs/wayland-protocols-1.31
dev-util/glslang
dev-util/vulkan-headers
dev-util/wayland-scanner
gui-libs/gtk-layer-shell
media-libs/libglvnd[X?]
media-libs/mesa[gles2,wayland,X?]
media-libs/vulkan-loader
sys-apps/hwdata
sys-auth/seatd
x11-base/xcb-proto
x11-libs/cairo
x11-libs/libdrm
x11-libs/libxkbcommon
x11-libs/pixman
virtual/libudev
grimblast? (
app-misc/jq
gui-apps/grim
gui-apps/slurp
gui-apps/wl-clipboard
x11-libs/libnotify
)
X? (
x11-base/xwayland
x11-libs/libxcb
x11-libs/xcb-util-image
x11-libs/xcb-util-wm
)
"
DEPEND="${RDEPEND}"
BDEPEND="
grimblast? ( app-text/scdoc )
"
src_unpack() {
default
rmdir "${S}/subprojects/wlroots"
rmdir "${S}/subprojects/hyprland-protocols"
mv "${WORKDIR}/wlroots-${WLRCOMMIT}" "${S}/subprojects/wlroots" || die
mv "${WORKDIR}/hyprland-protocols-${PROTOCOMMIT}" "${S}/subprojects/hyprland-protocols" || die
}
src_configure() {
if ! (tc-is-gcc && [[ $(gcc-major-version) -ge 12 ]] && [[ $(gcc-minor-version) -ge 1 ]]) \
&& ! (tc-is-clang && [[ $(clang-major-version) -ge 15 ]]); then
die "Hyprland requires >=sys-devel/gcc-12.1.0 or >=sys-devel/clang-15.0.0 to build"
fi
local emesonargs=(
$(meson_feature X xwayland)
$(meson_feature systemd)
)
meson_src_configure
}
src_install() {
meson_src_install --skip-subprojects wlroots
use grimblast && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/grimblast" install
use shellevents && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/shellevents" install
}
|