aboutsummaryrefslogtreecommitdiff
path: root/gui-wm/hyprland/hyprland-0.20.1.ebuild
blob: d1e437b0b1eb4ff04d6113f66567d33e1297e0fb (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
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit cmake toolchain-funcs

DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
HOMEPAGE="https://github.com/hyprwm/Hyprland/releases"

if [[ "${PV}" == *9999* ]]; then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/hyprwm/Hyprland"
else
	PROTOCOMMIT=301733ae466b229066ba15a53e6d8b91c5dcef5b
	WLRCOMMIT=dc7cc98cf21a8dc19ab8895505500e3700646af0
	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://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${WLRCOMMIT}/wlroots-${WLRCOMMIT}.tar.bz2 -> wlr.tar.bz2"
	KEYWORDS="~amd64"
	S="${WORKDIR}/Hyprland-${PV}beta"
fi

LICENSE="BSD"
SLOT="0"
IUSE="X systemd"

RDEPEND="
	dev-libs/libevdev
	dev-libs/libinput
	dev-libs/wayland
	>=dev-libs/wayland-protocols-1.31
	dev-utils/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
	X? (
	   x11-base/xwayland
	   x11-libs/libxcb
	   x11-libs/xcb-util-image
	   x11-libs/xcb-util-wm
	)
"
DEPEND="${RDEPEND}"

src_unpack() {
	default

	if [[ "${PV}" != *9999* ]]; then
		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
	fi
}

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

	mycmakeargs+=( -DNO_XWAYLAND:STRING=$(usex X false true) )
	mycmakeargs+=( -DNO_SYSTEMD:STRING=$(usex systemd false true) )
	cmake_src_configure
}