From 0b1102df5ad9d9f729d2b88de1b798a91227e95c Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Wed, 9 Jul 2025 11:26:11 +0200 Subject: [PATCH] Wlroots update --- gui-libs/wlroots/Manifest | 2 +- gui-libs/wlroots/wlroots-0.19.0.ebuild | 112 +++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 gui-libs/wlroots/wlroots-0.19.0.ebuild diff --git a/gui-libs/wlroots/Manifest b/gui-libs/wlroots/Manifest index d05f5ba..877df5b 100644 --- a/gui-libs/wlroots/Manifest +++ b/gui-libs/wlroots/Manifest @@ -1,2 +1,2 @@ -DIST wlroots-0.17.4.tar.gz 609179 BLAKE2B dc5a7749533ab54631d4a26be554b86e5b08b2472cf8f22ccebddb319d571cbd98a5c56e64e7bc762a5918d4272eb6b4261050288f3053c18c824c6a9c32b96b SHA512 35803df9fe68cadb0b9b5e522863535407ba2354ed1ca8f824a9c40b64698a97c579fec0afeb444b05d429adc1e3dfc45b20c3a1b7a2004e4f5a10d2305c9116 DIST wlroots-0.18.2.tar.gz 629379 BLAKE2B db88626c208085f5e3744ab90427469f828a602d3842d8fefd8fa35efa10928e5ff1f38bfc40fee69106dfb60d84847ddf3fee380fd71535482aff5a2e567dfb SHA512 a03826f51dbca287ecbb217aadc361a1dedbbe5e225ee7b9ca22779456156c1035acaea7301ca509c410bfef9d0c33cf94cba140bba25d979608b14a99be8c8a +DIST wlroots-0.19.0.tar.gz 669326 BLAKE2B 7f98bab6c21dee7d1634042c8d430c77b572dc760913fae8d4ae6defc525909b6eb65174ed21a84eda1d4da9dceb91b2029cf754775ec15df8cbca6f23c4d581 SHA512 f48055b9bf480f05c97d1d65597697ac9a68cc0529f09bd8667e86555eea5c4635613045076017f87dee6a1b72419b9828d3493991e563ac7b9e614684d7bcde diff --git a/gui-libs/wlroots/wlroots-0.19.0.ebuild b/gui-libs/wlroots/wlroots-0.19.0.ebuild new file mode 100644 index 0000000..6a01676 --- /dev/null +++ b/gui-libs/wlroots/wlroots-0.19.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor" +HOMEPAGE="https://gitlab.freedesktop.org/wlroots/wlroots" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" + inherit git-r3 + SLOT="0.19" +else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/releases/${PV}/downloads/${P}.tar.gz" + KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86" + SLOT="$(ver_cut 1-2)" +fi + +LICENSE="MIT" +IUSE="liftoff +libinput +drm +session lcms vulkan x11-backend xcb-errors X +phoc-patch" +REQUIRED_USE=" + drm? ( session ) + libinput? ( session ) + liftoff? ( drm ) + xcb-errors? ( || ( x11-backend X ) ) +" + +DEPEND=" + >=dev-libs/wayland-1.23.1 + media-libs/libglvnd + >=media-libs/mesa-24.1.0_rc1[opengl] + >=x11-libs/libdrm-2.4.122 + >=x11-libs/libxkbcommon-1.8.0 + >=x11-libs/pixman-0.43.0 + drm? ( + media-libs/libdisplay-info:= + sys-apps/hwdata + liftoff? ( >=dev-libs/libliftoff-0.4 ) + ) + lcms? ( media-libs/lcms:2 ) + libinput? ( >=dev-libs/libinput-1.19.0:= ) + session? ( + sys-auth/seatd:= + virtual/libudev + ) + vulkan? ( + dev-util/glslang:= + dev-util/vulkan-headers + media-libs/vulkan-loader + ) + xcb-errors? ( x11-libs/xcb-util-errors ) + x11-backend? ( + x11-libs/libxcb:= + x11-libs/xcb-util-renderutil + ) + X? ( + x11-libs/libxcb:= + x11-libs/xcb-util-wm + x11-base/xwayland + ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=dev-libs/wayland-protocols-1.41 + dev-util/wayland-scanner + virtual/pkgconfig +" +PATCHES=( +"${FILESDIR}"/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch +"${FILESDIR}"/0001-seat-Don-t-forget-to-destroy-touch-points-on-touch-u.patch +"${FILESDIR}"/0001-xwm-Handle-NET_WM_WINDOW_OPACITY.patch +) + +src_configure() { + # assert SLOT matches the version + grep -q -e "version.*${SLOT}" meson.build || die "SLOT ${SLOT} does not match the version in meson.build" + + local backends=( + $(usev drm) + $(usev libinput) + $(usev x11-backend 'x11') + ) + local meson_backends=$(IFS=','; echo "${backends[*]}") + local emesonargs=( + $(meson_feature xcb-errors) + -Dexamples=false + -Drenderers=$(usex vulkan 'gles2,vulkan' gles2) + $(meson_feature X xwayland) + -Dbackends=${meson_backends} + $(meson_feature session) + $(meson_feature lcms color-management) + $(meson_feature liftoff libliftoff) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + dodoc docs/* +} + +pkg_postinst() { + if use !session; then + elog "You must be in the input group to allow your compositor" + elog "to access input devices via libinput." + fi +}