# 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 use grimblast && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/grimblast" install use shellevents && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/shellevents" install }