forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Julien Roy <[email protected]> Signed-off-by: Yixun Lan <[email protected]>
- Loading branch information
Showing
2 changed files
with
139 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST hyprland-0.34.0.gh.tar.gz 14128415 BLAKE2B 059fc8b849daeb71b08d7114fd8aea1264c0e9967f471df66b27aca46b95fd499d2929730ba66981bb7d6c423479533b280839db7839ca1df007825f72fb9bf8 SHA512 35cce0668a13d7e7fd220d62efd965a069ff0213996bfa47ca0852c6258881bc070020d4831364b325b71d8ce7373d1793a89006a4341088dcbaf01914920f1a | ||
DIST hyprland-0.35.0.gh.tar.gz 54200453 BLAKE2B f5a8a5ed5f5ca28e5fc5a329d5191abce458b9bf0b99bee970aaa4be40671bfe945dabe2b3ff34ca753beeb35ec7fe016e6a54669dbe1ee4f25e2c128c3e390d SHA512 5afe7c340b994f2542982d8c8fa837b2a43ef9e487810fec0b33e4a5cc9188b71e41a0be22839191cf15e9c1fdfd964d0751def51f93db438e4a45649077c8a7 | ||
DIST hyprland-0.36.0.gh.tar.gz 54632144 BLAKE2B 8f27044702d50fd5b937cab096c340ed7b7c86fda65e2b15fd4704038f2f4a62eb5a75cf00cc721da66dd7aaf820052ba02d8457bef928ad0ecc8622d4e151c1 SHA512 964f60baf08d9e5cc978853f24d3fca8cb5115eab3dd5e9c6542db2bbb0b5b73fa61a863077e12bcfc9ed70c6af75f380928e21246e42af0870ee3a6475df5cc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
# 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-vcs/git | ||
virtual/pkgconfig | ||
" | ||
# bundled wlroots has the following dependency string according to included headers. | ||
# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?] | ||
# enable x11-backend with X and vice versa | ||
WLROOTS_RDEPEND=" | ||
>=dev-libs/libinput-1.14.0:= | ||
dev-libs/libliftoff | ||
>=dev-libs/wayland-1.22 | ||
media-libs/libdisplay-info | ||
media-libs/libglvnd | ||
media-libs/mesa[egl(+),gles2] | ||
sys-apps/hwdata:= | ||
sys-auth/seatd:= | ||
>=x11-libs/libdrm-2.4.118 | ||
x11-libs/libxkbcommon | ||
>=x11-libs/pixman-0.42.0 | ||
virtual/libudev:= | ||
X? ( | ||
x11-base/xwayland | ||
x11-libs/libxcb:0= | ||
x11-libs/xcb-util-renderutil | ||
x11-libs/xcb-util-wm | ||
) | ||
" | ||
WLROOTS_DEPEND=" | ||
>=dev-libs/wayland-protocols-1.33 | ||
" | ||
WLROOTS_BDEPEND=" | ||
dev-util/glslang | ||
dev-util/wayland-scanner | ||
" | ||
RDEPEND=" | ||
${HYPRPM_RDEPEND} | ||
${WLROOTS_RDEPEND} | ||
dev-cpp/tomlplusplus | ||
dev-libs/glib:2 | ||
dev-libs/libinput | ||
dev-libs/wayland | ||
media-libs/libglvnd | ||
x11-libs/cairo | ||
x11-libs/libdrm | ||
x11-libs/libxkbcommon | ||
x11-libs/pango | ||
x11-libs/pixman | ||
X? ( | ||
x11-libs/libxcb:0= | ||
) | ||
" | ||
DEPEND=" | ||
${RDEPEND} | ||
${WLROOTS_DEPEND} | ||
dev-libs/hyprland-protocols | ||
dev-libs/hyprlang | ||
>=dev-libs/wayland-protocols-1.25 | ||
" | ||
BDEPEND=" | ||
${WLROOTS_BDEPEND} | ||
|| ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* ) | ||
app-misc/jq | ||
dev-build/cmake | ||
dev-util/wayland-scanner | ||
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_configure() { | ||
local emesonargs=( | ||
$(meson_feature legacy-renderer legacy_renderer) | ||
$(meson_feature systemd) | ||
$(meson_feature X xwayland) | ||
$(meson_feature X wlroots:xwayland) | ||
-Dwlroots:backends=drm,libinput$(usev X ',x11') | ||
-Dwlroots:xcb-errors=disabled | ||
) | ||
|
||
meson_src_configure | ||
} | ||
|
||
src_install() { | ||
# First install everything except wlroots to avoid conflicts. | ||
meson_src_install --skip-subprojects wlroots | ||
# Then install development files (mainly wlroots) for bug #916760. | ||
meson_src_install --tags devel | ||
|
||
# Wlroots headers are required by hyprland-plugins and the pkgconfig file expects | ||
# them to be in /usr/include/hyprland/wlroots, despite this they aren't installed there. | ||
# Ideally you could override includedir per subproject and the install tags would | ||
# be granular enough to only install headers. But its not requiring this. | ||
mkdir "${ED}"/usr/include/hyprland/wlroots || die | ||
mv "${ED}"/usr/include/wlr "${ED}"/usr/include/hyprland/wlroots || die | ||
# devel tag includes wlroots .pc and .a files still | ||
rm -rf "${ED}"/usr/$(get_libdir)/ || die | ||
} |