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.
Closes: https://bugs.gentoo.org/934198 Closes: gentoo#37273 Signed-off-by: Xiangzhe xz-dev <[email protected]> Signed-off-by: Yixun Lan <[email protected]>
- Loading branch information
Showing
2 changed files
with
143 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,3 +1,4 @@ | ||
DIST hyprland-0.37.1.gh.tar.gz 54651435 BLAKE2B 92bd78168909510ffb21b46f7d66e139e7b86f7655c7a8126eaf90b6ef6d7d5affaf0bc55ca1647a2f80b6d767afc00e1efe5f2241b2bc88d20357acee611b92 SHA512 f09316e210805b833a27524894222edc7a048b77f9f5d9cc8faa5b4e37040485ad3b9638f60a346da8d4d4aff24bbd6382b7fde64d07528990e9a521b2f46454 | ||
DIST hyprland-0.39.1.gh.tar.gz 54681029 BLAKE2B 5a78c5e7cef3369fd72abc05941f88f0391fb87e79afaa13c128acd9f8d2aa79d6af4d0dc82a90c09689993fe914ac48bc5ba4a32173eed31ecc20204f5a4edc SHA512 da8ee577aa823c9fb7b45bfd07503656561c1cd4cac42a9bf8f582f653c93b20824b3bce7bbcbd47b7f7f8e83fb1b630d6d5c983fe345c971322369f193c2c8f | ||
DIST hyprland-0.40.0.gh.tar.gz 54734246 BLAKE2B 54d5b1bb062003e38156c67bfc0b796d0e4d855f35b0122fa191037caa47e5be2a25acfe588835c49ac747fc7430124480e4a7716782fd23d028289bee236e7f SHA512 948e7237fa811f104ee11764d7947d2fd8291e79cf6db00d3f3905204f5bb2df1e51e26b2600f086f5b22d910ef50c2941343dd05e7a5d2f4b6053b150800f21 | ||
DIST hyprland-0.41.1.gh.tar.gz 54813832 BLAKE2B 1dd17e7e1f885da91fca596bf8ce9efc76b3110640a9bc11538fabf975eb55d76180c202527e0b0eac300f027adfed815d2a9a5396a48429097ef2a5ffcc4d9e SHA512 fa63e7c429e33535fa30ca70133f6ac8617f2386bdca1e8063628a2895677c9b80965548ee21f897aea2fe6bdcc10d74d8c46989a7563b36504f4a4f43c3eaad |
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,142 @@ | ||
# 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 | ||
" | ||
# 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_DEPEND=" | ||
>=dev-libs/wayland-1.22 | ||
media-libs/libglvnd | ||
|| ( | ||
>=media-libs/mesa-24.1.0_rc1[opengl] | ||
<media-libs/mesa-24.1.0_rc1[egl(+),gles2] | ||
) | ||
>=x11-libs/libdrm-2.4.114 | ||
x11-libs/libxkbcommon | ||
>=x11-libs/pixman-0.42.0 | ||
media-libs/libdisplay-info | ||
sys-apps/hwdata | ||
>=dev-libs/libinput-1.14.0:= | ||
sys-auth/seatd:= | ||
virtual/libudev:= | ||
X? ( | ||
x11-libs/libxcb:= | ||
x11-libs/xcb-util-renderutil | ||
x11-libs/xcb-util-wm | ||
x11-base/xwayland | ||
) | ||
" | ||
WLROOTS_RDEPEND=" | ||
${WLROOTS_DEPEND} | ||
" | ||
WLROOTS_BDEPEND=" | ||
>=dev-libs/wayland-protocols-1.32 | ||
dev-util/hyprwayland-scanner | ||
virtual/pkgconfig | ||
" | ||
RDEPEND=" | ||
${HYPRPM_RDEPEND} | ||
${WLROOTS_RDEPEND} | ||
dev-cpp/tomlplusplus | ||
dev-libs/glib:2 | ||
dev-libs/libinput | ||
>=dev-libs/wayland-1.20.0 | ||
~gui-libs/hyprcursor-0.1.9 | ||
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-0.3 | ||
>=dev-libs/hyprlang-0.3.2 | ||
>=dev-libs/wayland-protocols-1.36 | ||
>=gui-libs/hyprutils-0.1.2 | ||
x11-libs/xcb-util-errors | ||
" | ||
BDEPEND=" | ||
${WLROOTS_BDEPEND} | ||
|| ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* ) | ||
app-misc/jq | ||
dev-build/cmake | ||
>=dev-util/hyprwayland-scanner-0.3.9 | ||
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_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 | ||
} |