summaryrefslogtreecommitdiff
path: root/gui-libs/wlroots
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /gui-libs/wlroots
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'gui-libs/wlroots')
-rw-r--r--gui-libs/wlroots/Manifest6
-rw-r--r--gui-libs/wlroots/files/0.15.0-59b9518f.patch88
-rw-r--r--gui-libs/wlroots/wlroots-0.15.0-r2.ebuild75
-rw-r--r--gui-libs/wlroots/wlroots-0.15.1.ebuild73
-rw-r--r--gui-libs/wlroots/wlroots-9999.ebuild8
5 files changed, 245 insertions, 5 deletions
diff --git a/gui-libs/wlroots/Manifest b/gui-libs/wlroots/Manifest
index 080876b4059f..b589644811c8 100644
--- a/gui-libs/wlroots/Manifest
+++ b/gui-libs/wlroots/Manifest
@@ -1,8 +1,12 @@
+AUX 0.15.0-59b9518f.patch 3473 BLAKE2B a90910cb8be97f3c030afb3fcab3613fcff29acdface938165b33801a5e72366b1bdd77210262ba0eb803a489f8947b36d5a875fbf8fe20c9e8dd100b4637f9d SHA512 252ff3eb1ae8ad6d06d52e69f3703dbd98abd3491f2871d2f00f72b05e48ada78ffe8bad84a0e3df5e708d2e5a41cd75b5fca2f99378bf57e5a12439519d6a88
DIST wlroots-0.14.0.tar.gz 505461 BLAKE2B d2fa28f64014ef9d840838cb5938af23f6f6b211b62dc352d0d5bb824ccaa7d7a85531e1eca14feeb06d31d59955ff9a913e40a73cad21ed1ebfe76ada39d558 SHA512 83f001133cb4b11a72bb9532b7321655428826662848f67de8e3220a33d9dff4d37c859602bdc319929949d387d014a257b0347039a6649944d7b084c76bb611
DIST wlroots-0.14.1.tar.gz 505840 BLAKE2B fca4d259cdde62da0c196344ce1d0f5dd679d012ff33e3ceb5385b9374667e16d91059a2ba6a318153e79ac2f0a6464e3066e614a13398f8c433f442560d84d2 SHA512 4f557c827f9673eccf208a3644954de80e7355b95cc374cc5e851a47087b227f196e0936c0913d21a6c776c29b74de2d028a100931264e41934c747568d8ebe0
DIST wlroots-0.15.0.tar.gz 565059 BLAKE2B d98529b4548e3b751a505a26af143be585ed42fb9617bc67b4a10747bb494f1359d7bdb75d1730a72396e7c550fe481e858a5ac88621d61671698439e3656920 SHA512 730b1e0cf003dabae23101664c6d1993636bd3a8ecbdb3c165eef415a92811c4d5228f48e0275f75361d8528f118dfb8a2298cfb05dbf6364539224ceedca447
+DIST wlroots-0.15.1.tar.gz 565816 BLAKE2B 09b704a55d8b4a5ab19bb0fcdd041635fbbbb8eed94ff6d189ef47f9f86e90178efa8441c7db78839b1145ed79ed016d520d6599e256cdcf49130cda38bc307d SHA512 6228160f2f350a406c612f1048d7075cf2f78206cc84bc16f889d5d0acd614f9e98845fffed03d7067cfdbd7558b77fcc5d8cedc3868d866e476523126a63677
EBUILD wlroots-0.14.0-r2.ebuild 1500 BLAKE2B 766fa524353658f542c648281b05e9871140ee5272f160fbcbc36a28a48246d83494c6bd3e02ebbd16e1527c61139ea00ec00085d68a2a0b87b2b06347b2fa12 SHA512 22fc3dd03ec1c1a719bba7990b264dbb789445ba56afbff0c8e6aec6765b9a0a30ad4a27469f7d5a5ffa95848e861615aaa75a418ad6c771caec5b2179feeb21
EBUILD wlroots-0.14.1-r1.ebuild 1503 BLAKE2B 12a12358ec5b012bb94a58d2aa20bbff7ddbf3fb34f06c1b6380429cec6fe9952ec53c85ea6607d1b0261a9c00060bdae71a23a40bc4f217c4fb8e0d28ee2853 SHA512 2a555ab4b3dc620394a4a9a975cbad6075757f27c85ee120448e6e0eb28c92ead7bbdd51ef935a104efafe8f5cb2f163f95f8fba6668258d8be996328027402f
EBUILD wlroots-0.15.0-r1.ebuild 1673 BLAKE2B 2bca9e82c6fc86221ded32517c88bc8bcaf573dcbe92ae47887c763bc62fb53a31d7962e4cdd85dca5a3e5c3845230e24d87218c407cc18f5bada1f19b271c92 SHA512 0d5e34031d57c598913eaa66fdc9e7cac613e2ea7e25adc3f450aa395a2218632b3f84028d3fcfa28213812b9a54ea82767b5a477bec22052c464b970293d109
-EBUILD wlroots-9999.ebuild 1688 BLAKE2B 54d38429e05901724e4a81c398da94cdb147125c5b8ad68efe81a716068022f141b0363d0c6849d40fc5823dbe9cf982db51ba526611f2299175fd146685b2f9 SHA512 fb44f6a7eb908d4504843c07d038c97131f42e969ac52a51036af8cb29d9827ddd73f0b61d8defb952667df4513183ef2de7ad074a3dad80a5e86981731a596a
+EBUILD wlroots-0.15.0-r2.ebuild 1719 BLAKE2B 8ebddc0765cd61eb9ee4bf219e79c3388bba10f75348efe32de09bb13d46f4af5412037367a76336ccf885a106741708d470f25f009a946b692622a19827a2cf SHA512 c0a9ece186c59cc600d55fe8a60b7b1ac5faca3bd55fe6532a9f43452c6955e2f5fb02b7c5b017bed7ee9a52ad0ec7170d79d092b857952375f6ca2a00f1d88b
+EBUILD wlroots-0.15.1.ebuild 1683 BLAKE2B bf1425c40b8760d5bfd33f87e7c629ac4ac3d23e0d102cd64e66a41896b6b5526db2bb712ec8b429b2eba024c70ea1355526d5af39427005ec47476d6cd6c7ea SHA512 17e6bd10ed1aee3f74072afb804fc8b63b168a7a307c9091ecf0c6a6a639cde9a9aa6f12cd83f2439d15cdecb463363d6357fa7e291faec109a4c9f92c361f5d
+EBUILD wlroots-9999.ebuild 1683 BLAKE2B bf1425c40b8760d5bfd33f87e7c629ac4ac3d23e0d102cd64e66a41896b6b5526db2bb712ec8b429b2eba024c70ea1355526d5af39427005ec47476d6cd6c7ea SHA512 17e6bd10ed1aee3f74072afb804fc8b63b168a7a307c9091ecf0c6a6a639cde9a9aa6f12cd83f2439d15cdecb463363d6357fa7e291faec109a4c9f92c361f5d
MISC metadata.xml 1545 BLAKE2B 561769f8f3911ce04fabf9300f08f264a15c3196009a1334601f3094409eef2c869b622997f5e31d7c7c5d9e05507124d62306e8aa0d635b535b6bbcd7d9e7ba SHA512 4f1ff86f60ec2c723682d0cdc9f4dd696af73c77e68937f53ab11641e8fc443f0a99c8f28ec6b844fe230bb493749e676a243a16bea7096635f68c3ae432f0ae
diff --git a/gui-libs/wlroots/files/0.15.0-59b9518f.patch b/gui-libs/wlroots/files/0.15.0-59b9518f.patch
new file mode 100644
index 000000000000..95ca0becd618
--- /dev/null
+++ b/gui-libs/wlroots/files/0.15.0-59b9518f.patch
@@ -0,0 +1,88 @@
+From 59b9518f072527ac59593e51df7f5d5331a34f0e Mon Sep 17 00:00:00 2001
+From: Thomas Hebb <tommyhebb@gmail.com>
+Date: Wed, 5 Jan 2022 00:16:59 -0800
+Subject: [PATCH] render/gles2: don't constrain shm formats to ones that
+ support reading
+
+commit 44e8451cd93e ("render/gles2: hide shm formats without GL
+support") added the is_gles2_pixel_format_supported() function to
+render/gles2/pixel_format.c, whose stated purpose is to "check whether
+the renderer has the needed GL extensions to read a given pixel format."
+It then used that function to filter the pixel formats returned by
+get_gles2_shm_formats().
+
+The result of this change is that RGB formats are no longer reported for
+GL drivers that don't implement EXT_read_format_bgra, even when those
+formats are supported for rendering (which they have to be for
+wlr_gles2_renderer_create() to succeed). This is a pretty clear
+regression, since wlr_renderer_init_wl_shm() fails when either of
+WL_SHM_FORMAT_ARGB8888 or WL_SHM_FORMAT_XRGB8888 are missing.
+
+To fix the regression, change is_gles2_pixel_format_supported() to
+accept all pixel formats that support rendering, regardless of whether
+we can read them or not, and move the check for EXT_read_format_bgra
+back into gles2_read_pixels(). (There's already a check for this
+extension in gles2_preferred_read_format(), so we're not breaking any
+abstraction that wasn't already broken.)
+
+Tested on the NVIDIA 495.46 proprietary driver, which doesn't support
+EXT_read_format_bgra.
+
+Fixes: 44e8451cd93e ("render/gles2: hide shm formats without GL support")
+---
+ render/gles2/pixel_format.c | 14 ++++++++++----
+ render/gles2/renderer.c | 6 ++++++
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/render/gles2/pixel_format.c b/render/gles2/pixel_format.c
+index 31bb3908..b155bbbe 100644
+--- a/render/gles2/pixel_format.c
++++ b/render/gles2/pixel_format.c
+@@ -98,6 +98,10 @@ static const struct wlr_gles2_pixel_format formats[] = {
+
+ // TODO: more pixel formats
+
++/*
++ * Return true if supported for texturing, even if other operations like
++ * reading aren't supported.
++ */
+ bool is_gles2_pixel_format_supported(const struct wlr_gles2_renderer *renderer,
+ const struct wlr_gles2_pixel_format *format) {
+ if (format->gl_type == GL_UNSIGNED_INT_2_10_10_10_REV_EXT
+@@ -108,10 +112,12 @@ bool is_gles2_pixel_format_supported(const struct wlr_gles2_renderer *renderer,
+ && !renderer->exts.OES_texture_half_float_linear) {
+ return false;
+ }
+- if (format->gl_format == GL_BGRA_EXT
+- && !renderer->exts.EXT_read_format_bgra) {
+- return false;
+- }
++ /*
++ * Note that we don't need to check for GL_EXT_texture_format_BGRA8888
++ * here, since we've already checked if we have it at renderer creation
++ * time and bailed out if not. We do the check there because Wayland
++ * requires all compositors to support SHM buffers in that format.
++ */
+ return true;
+ }
+
+diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
+index 527d85bf..67b8ead4 100644
+--- a/render/gles2/renderer.c
++++ b/render/gles2/renderer.c
+@@ -441,6 +441,12 @@ static bool gles2_read_pixels(struct wlr_renderer *wlr_renderer,
+ return false;
+ }
+
++ if (fmt->gl_format == GL_BGRA_EXT && !renderer->exts.EXT_read_format_bgra) {
++ wlr_log(WLR_ERROR,
++ "Cannot read pixels: missing GL_EXT_read_format_bgra extension");
++ return false;
++ }
++
+ const struct wlr_pixel_format_info *drm_fmt =
+ drm_get_pixel_format_info(fmt->drm_format);
+ assert(drm_fmt);
+--
+GitLab
+
diff --git a/gui-libs/wlroots/wlroots-0.15.0-r2.ebuild b/gui-libs/wlroots/wlroots-0.15.0-r2.ebuild
new file mode 100644
index 000000000000..9c30f69fea8b
--- /dev/null
+++ b/gui-libs/wlroots/wlroots-0.15.0-r2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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}/-/archive/${PV}/${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+ SLOT="0/15"
+fi
+
+LICENSE="MIT"
+IUSE="vulkan x11-backend X"
+
+DEPEND="
+ >=dev-libs/libinput-1.14.0:0=
+ >=dev-libs/wayland-1.20.0
+ >=dev-libs/wayland-protocols-1.24
+ media-libs/mesa[egl(+),gles2,gbm(+)]
+ sys-auth/seatd:=
+ virtual/libudev
+ vulkan? (
+ dev-util/glslang:0=
+ dev-util/vulkan-headers:0=
+ media-libs/vulkan-loader:0=
+ )
+ >=x11-libs/libdrm-2.4.109:0=
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-backend? ( x11-libs/libxcb:0= )
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb:0=
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-wm
+ )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-libs/wayland-protocols-1.24
+ >=dev-util/meson-0.60.0
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}/0.15.0-59b9518f.patch" )
+
+src_configure() {
+ # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?)
+ local emesonargs=(
+ "-Dxcb-errors=disabled"
+ "-Dexamples=false"
+ "-Dwerror=false"
+ -Drenderers=$(usex vulkan 'gles2,vulkan' gles2)
+ -Dxwayland=$(usex X enabled disabled)
+ -Dbackends=drm,libinput$(usex x11-backend ',x11' '')
+ )
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ elog "You must be in the input group to allow your compositor"
+ elog "to access input devices via libinput."
+}
diff --git a/gui-libs/wlroots/wlroots-0.15.1.ebuild b/gui-libs/wlroots/wlroots-0.15.1.ebuild
new file mode 100644
index 000000000000..f6a2d61c92a4
--- /dev/null
+++ b/gui-libs/wlroots/wlroots-0.15.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 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}/-/archive/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+ SLOT="0/$(ver_cut 2)"
+fi
+
+LICENSE="MIT"
+IUSE="vulkan x11-backend X"
+
+DEPEND="
+ >=dev-libs/libinput-1.14.0:0=
+ >=dev-libs/wayland-1.20.0
+ >=dev-libs/wayland-protocols-1.24
+ media-libs/mesa[egl(+),gles2,gbm(+)]
+ sys-auth/seatd:=
+ virtual/libudev
+ vulkan? (
+ dev-util/glslang:0=
+ dev-util/vulkan-headers:0=
+ media-libs/vulkan-loader:0=
+ )
+ >=x11-libs/libdrm-2.4.109:0=
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ x11-backend? ( x11-libs/libxcb:0= )
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb:0=
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-wm
+ )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-libs/wayland-protocols-1.24
+ >=dev-util/meson-0.60.0
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?)
+ local emesonargs=(
+ "-Dxcb-errors=disabled"
+ "-Dexamples=false"
+ "-Dwerror=false"
+ -Drenderers=$(usex vulkan 'gles2,vulkan' gles2)
+ -Dxwayland=$(usex X enabled disabled)
+ -Dbackends=drm,libinput$(usex x11-backend ',x11' '')
+ )
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ elog "You must be in the input group to allow your compositor"
+ elog "to access input devices via libinput."
+}
diff --git a/gui-libs/wlroots/wlroots-9999.ebuild b/gui-libs/wlroots/wlroots-9999.ebuild
index 47b97d1e07e4..f6a2d61c92a4 100644
--- a/gui-libs/wlroots/wlroots-9999.ebuild
+++ b/gui-libs/wlroots/wlroots-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson
@@ -13,9 +13,9 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
SLOT="0/9999"
else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
- SLOT="0/16"
+ SLOT="0/$(ver_cut 2)"
fi
LICENSE="MIT"