You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.3 KiB
101 lines
2.3 KiB
# Copyright 2023-2024 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"
|
|
|
|
if [[ "${PV}" = *9999 ]]; then
|
|
inherit git-r3
|
|
EGIT_REPO_URI="https://github.com/hyprwm/${PN^}.git"
|
|
else
|
|
SRC_URI="https://github.com/hyprwm/${PN^}/releases/download/v${PV}/source-v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
|
S="${WORKDIR}/${PN}-source"
|
|
|
|
KEYWORDS="amd64"
|
|
fi
|
|
|
|
LICENSE="BSD"
|
|
SLOT="0"
|
|
IUSE="X legacy-renderer systemd"
|
|
|
|
# hyprpm (hyprland plugin manager) requires the dependencies at runtime
|
|
# so that it can clone, compile and install plugins.
|
|
HYPRPM_RDEPEND="
|
|
app-alternatives/ninja
|
|
dev-build/cmake
|
|
dev-build/meson
|
|
dev-libs/libliftoff
|
|
dev-vcs/git
|
|
virtual/pkgconfig
|
|
"
|
|
RDEPEND="
|
|
${HYPRPM_RDEPEND}
|
|
dev-cpp/tomlplusplus
|
|
dev-libs/glib:2
|
|
dev-libs/libinput
|
|
>=dev-libs/wayland-1.20.0
|
|
gui-libs/aquamarine
|
|
>=gui-libs/hyprcursor-0.1.9
|
|
media-libs/libglvnd
|
|
x11-libs/cairo
|
|
x11-libs/libdrm
|
|
x11-libs/libxkbcommon
|
|
x11-libs/pango
|
|
x11-libs/pixman
|
|
x11-libs/libXcursor
|
|
X? (
|
|
x11-libs/libxcb:0=
|
|
x11-base/xwayland
|
|
x11-libs/xcb-util-errors
|
|
x11-libs/xcb-util-wm
|
|
)
|
|
"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
>=dev-libs/hyprland-protocols-0.3
|
|
>=dev-libs/hyprlang-0.3.2
|
|
>=dev-libs/wayland-protocols-1.36
|
|
>=gui-libs/hyprutils-0.2.1
|
|
"
|
|
BDEPEND="
|
|
|| ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* )
|
|
app-misc/jq
|
|
dev-build/cmake
|
|
>=dev-util/hyprwayland-scanner-0.3.8
|
|
virtual/pkgconfig
|
|
"
|
|
|
|
pkg_setup() {
|
|
[[ ${MERGE_TYPE} == binary ]] && return
|
|
|
|
if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
|
|
eerror "Hyprland requires >=sys-devel/gcc-13 to build"
|
|
eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
|
|
die "GCC version is too old to compile Hyprland!"
|
|
elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
|
|
eerror "Hyprland requires >=sys-devel/clang-16 to build"
|
|
eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
|
|
die "Clang version is too old to compile Hyprland!"
|
|
fi
|
|
}
|
|
|
|
src_prepare() {
|
|
# skip version.h
|
|
sed -i -e "s|scripts/generateVersion.sh|echo|g" meson.build || die
|
|
default
|
|
}
|
|
|
|
src_configure() {
|
|
local emesonargs=(
|
|
$(meson_feature legacy-renderer legacy_renderer)
|
|
$(meson_feature systemd)
|
|
$(meson_feature X xwayland)
|
|
)
|
|
|
|
meson_src_configure
|
|
}
|