From a463ee1fb07b5b87cc0c1d7c8557b07f8bde009c Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Tue, 21 May 2024 15:21:42 +0200 Subject: [PATCH] Added wlroots --- gui-libs/wlroots/Manifest | 1 + ...ll-error-on-0-dimension-without-anch.patch | 36 ++++++ gui-libs/wlroots/wlroots-0.17.0.ebuild | 104 ++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 gui-libs/wlroots/Manifest create mode 100644 gui-libs/wlroots/files/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch create mode 100644 gui-libs/wlroots/wlroots-0.17.0.ebuild diff --git a/gui-libs/wlroots/Manifest b/gui-libs/wlroots/Manifest new file mode 100644 index 0000000..d0501a0 --- /dev/null +++ b/gui-libs/wlroots/Manifest @@ -0,0 +1 @@ +DIST wlroots-0.17.0.tar.gz 606172 BLAKE2B 00e5a8eec166e9ce8fbb1bc365deb5eaad66568b197239581e9bf21bec6d2b77d162daa8534057ed02a208ffb8895ea0f562dd1201e9e1ee4e72bfe63e1bbb0c SHA512 ca7314d7dca3ddac3e6970476b4145a0a2566a6632054f406c6e74ea7280a805cdf9b6972cca15c3170a5f41c83677768843b648b6b98ab6428e4ecde43aa4de diff --git a/gui-libs/wlroots/files/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch b/gui-libs/wlroots/files/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch new file mode 100644 index 0000000..edda95e --- /dev/null +++ b/gui-libs/wlroots/files/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch @@ -0,0 +1,36 @@ +From 4ec4c290b04c5c87ffb7b64e590477e3a58f8547 Mon Sep 17 00:00:00 2001 +Message-ID: <4ec4c290b04c5c87ffb7b64e590477e3a58f8547.1700567169.git.agx@sigxcpu.org> +From: =?UTF-8?q?Guido=20G=C3=BCnther?= +Date: Fri, 1 Jan 2021 13:58:55 +0100 +Subject: [PATCH] Revert "layer-shell: error on 0 dimension without anchors" + +This reverts commit 8dec751a6d84335fb04288b8efab6dd5c90288d3. + +Revert this until phosh has a fixed release. +--- + types/wlr_layer_shell_v1.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c +index 37256db6..2c722a79 100644 +--- a/types/wlr_layer_shell_v1.c ++++ b/types/wlr_layer_shell_v1.c +@@ -335,6 +335,7 @@ static void layer_surface_role_commit(struct wlr_surface *wlr_surface) { + return; + } + ++#if 0 + const uint32_t horiz = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | + ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; + if (surface->pending.desired_width == 0 && +@@ -354,6 +355,7 @@ static void layer_surface_role_commit(struct wlr_surface *wlr_surface) { + "height 0 requested without setting top and bottom anchors"); + return; + } ++#endif + + if (surface->surface->unmap_commit) { + layer_surface_reset(surface); +-- +2.42.0 + diff --git a/gui-libs/wlroots/wlroots-0.17.0.ebuild b/gui-libs/wlroots/wlroots-0.17.0.ebuild new file mode 100644 index 0000000..7663563 --- /dev/null +++ b/gui-libs/wlroots/wlroots-0.17.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2024 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/9999" +else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/releases/${PV}/downloads/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + SLOT="0/$(ver_cut 2)" +fi + +LICENSE="MIT" +IUSE="liftoff +libinput +drm +session tinywl vulkan x11-backend xcb-errors X +phoc-patch" +REQUIRED_USE=" + drm? ( session ) + libinput? ( session ) + xcb-errors? ( || ( x11-backend X ) ) +" + +DEPEND=" + >=dev-libs/wayland-1.22.0 + media-libs/libglvnd + media-libs/mesa[egl(+),gles2] + >=x11-libs/libdrm-2.4.114 + x11-libs/libxkbcommon + >=x11-libs/pixman-0.42.0 + drm? ( + media-libs/libdisplay-info + sys-apps/hwdata + liftoff? ( >=dev-libs/libliftoff-0.4 ) + ) + libinput? ( >=dev-libs/libinput-1.14.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.32 + dev-util/wayland-scanner + virtual/pkgconfig +" + +PATCHES=( "${FILESDIR}"/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch ) + +src_configure() { + local backends=( + $(usev drm) + $(usev libinput) + $(usev x11-backend 'x11') + ) + local meson_backends=$(IFS=','; echo "${backends[*]}") + local emesonargs=( + $(meson_feature xcb-errors) + $(meson_use tinywl examples) + -Drenderers=$(usex vulkan 'gles2,vulkan' gles2) + $(meson_feature X xwayland) + -Dbackends=${meson_backends} + $(meson_feature session) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + dodoc docs/* + + if use tinywl; then + dobin "${BUILD_DIR}"/tinywl/tinywl + fi +} + +pkg_postinst() { + elog "You must be in the input group to allow your compositor" + elog "to access input devices via libinput." +}