summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2023-10-17 22:34:10 +0100
committerJames Le Cuirot <chewi@gentoo.org>2023-10-17 22:34:10 +0100
commit3676a080151157102af9a3a0067b8e76e8ff07ca (patch)
treef8168a8b5de2a11dc536b03bbe2125e7752632ac /dev-libs
parentdev-libs/weston: Version bump to 12.0.91 (diff)
downloadgentoo-3676a080151157102af9a3a0067b8e76e8ff07ca.tar.gz
gentoo-3676a080151157102af9a3a0067b8e76e8ff07ca.tar.bz2
gentoo-3676a080151157102af9a3a0067b8e76e8ff07ca.zip
dev-libs/weston: Drop old 12.0.1-r1
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/weston/Manifest1
-rw-r--r--dev-libs/weston/files/weston-12.0.1-issue757.patch183
-rw-r--r--dev-libs/weston/weston-12.0.1-r1.ebuild146
3 files changed, 0 insertions, 330 deletions
diff --git a/dev-libs/weston/Manifest b/dev-libs/weston/Manifest
index ebb411e42a9e..af7985426f41 100644
--- a/dev-libs/weston/Manifest
+++ b/dev-libs/weston/Manifest
@@ -1,4 +1,3 @@
DIST weston-11.0.1.tar.xz 1900796 BLAKE2B 33d7d5b3340e7074265885bd54ee039e8b5d448fa9f58f4bf9f823efd2557da9b916d903119565a806ab698382fe185165c8ede8614e983c872dfe15b474b616 SHA512 d451230fc260b45aaaadb5cf0aa360629e45e72e3b3676c6ec040d6c6549dbb57d05683effd962c3b2d61482b47a6c990d12cc736c896b501d982c8c4d34834c
-DIST weston-12.0.1.tar.xz 1969772 BLAKE2B d7a76ad6e11b76b73b91aeb9b3b49e823ecc8170bd1306f9a8ed90fa49d9bc7734e4c0595ca67f11421ecf5b4dbf04289cf803726c508e8c979a9850c0e94ccb SHA512 3dcfa1a2a6b9a605d3ecd597bf7ac0f87b0fd1971845b6e5c44b5e34296943ac146dae6e1cfea9be14ad7a9a8b6d30dc765f9289ef80920d7c516ebba1ba4688
DIST weston-12.0.2.tar.xz 1969720 BLAKE2B 2a6749ae183b32365c6f7a135a1e1f57aedefa7071ab95b820a788903771b98de18f5ffe991990751bfa11cee14c1cd42364f97583f63ca388caecb44d5b1b4e SHA512 4277cc71a2001768816d6c30df6c01f09ee24efd16651e7048d425afa63c78f92d6def0cca78150965b0f3fa946675b0325881ff9d2878925dedea216a968d59
DIST weston-12.0.91.tar.xz 1986200 BLAKE2B 368fe795bd6121390f14995d8c5ddfcd585e620bcb54f0818b9e9131bb442e79048f82bcd90cfff563c7ad9968cdc9e4f1d859fdd318f4e9b08fec371c4a62e4 SHA512 8e1ceae599344c305e1b65294403d434c4a6ca740f76bdcc67a9f83afe9d352d75ab9cf8bb5091b889ddece43941adf9c4666767098c4c27cb732f8c7f8f738a
diff --git a/dev-libs/weston/files/weston-12.0.1-issue757.patch b/dev-libs/weston/files/weston-12.0.1-issue757.patch
deleted file mode 100644
index c36647e22446..000000000000
--- a/dev-libs/weston/files/weston-12.0.1-issue757.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-https://gitlab.freedesktop.org/wayland/weston/-/issues/757
-https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1257
-
-From 6d8e3c569cf7e9ad80569768871e1ed30bf4d2a8 Mon Sep 17 00:00:00 2001
-From: Leandro Ribeiro <leandro.ribeiro@collabora.com>
-Date: Thu, 1 Jun 2023 18:51:34 -0300
-Subject: [PATCH 1/3] drm: drop disable_planes being false as a condition to
- support writeback
-
-In 2d70bdfdcdb236ee3e466b1a24df494da43c8a68 "drm-backend: add support to
-output capture writeback source" we've ensured that disable_planes
-should be false in order to support writeback capture tasks.
-
-But this was wrong; disable_planes is transient (it is true when
-there's some sort of content recording happening), and we enable/disable
-that during compositor's lifetime.
-
-This is dangerous and may result in a crash. Imagine the following
-sequence:
-
- 1. screen recording starts, disable_planes is set to true.
-
- 2. for whatever reason the output size changes, and we end up
- not updating capture info because we think that writeback is not
- supported by the device.
-
- 3. screen recording stops, disable_planes is set to false.
-
- 4. user tries to take a writeback screenshot, and the
- DRM-backend will pull a writeback capture task with
- weston_output_pull_capture_task().
-
- 5. this function has an assert to ensure that the DRM-backend
- did not forget to update the capture info, and we hit that
- assert.
-
-With this patch we drop disable_planes being false as a condition to
-support writeback. So now we keep the capture info up-to-date even when
-screen recording is happening, and we gracefully fail writeback tasks.
-
-Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
----
- libweston/backend-drm/drm.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
-index 1078b89bf..a1e61df8c 100644
---- a/libweston/backend-drm/drm.c
-+++ b/libweston/backend-drm/drm.c
-@@ -561,6 +561,12 @@ drm_output_pick_writeback_capture_task(struct drm_output *output)
-
- assert(output->device->atomic_modeset);
-
-+ if (output->base.disable_planes > 0) {
-+ msg = "drm: KMS planes usage is disabled for now, so " \
-+ "writeback capture tasks are rejected";
-+ goto err;
-+ }
-+
- wb = drm_output_find_compatible_writeback(output);
- if (!wb) {
- msg = "drm: could not find writeback connector for output";
-@@ -948,7 +954,7 @@ drm_output_apply_mode(struct drm_output *output)
- }
- }
-
-- if (device->atomic_modeset && !output->base.disable_planes)
-+ if (device->atomic_modeset)
- weston_output_update_capture_info(&output->base,
- WESTON_OUTPUT_CAPTURE_SOURCE_WRITEBACK,
- output->base.current_mode->width,
-@@ -2138,7 +2144,7 @@ drm_output_enable(struct weston_output *base)
- output->base.switch_mode = drm_output_switch_mode;
- output->base.set_gamma = drm_output_set_gamma;
-
-- if (device->atomic_modeset && !base->disable_planes)
-+ if (device->atomic_modeset)
- weston_output_update_capture_info(base, WESTON_OUTPUT_CAPTURE_SOURCE_WRITEBACK,
- base->current_mode->width,
- base->current_mode->height,
---
-GitLab
-
-
-From 3226417573ac12e7d41823335bcb3036bf442cbc Mon Sep 17 00:00:00 2001
-From: Leandro Ribeiro <leandro.ribeiro@collabora.com>
-Date: Fri, 2 Jun 2023 14:44:44 -0300
-Subject: [PATCH 2/3] drm: do not pull writeback task if KMS atomic API is not
- supported
-
-Since 2d70bdfdcdb236ee3e466b1a24df494da43c8a68 "drm-backend: add support
-to output capture writeback source", the DRM-backend was broken for KMS
-devices that do not support the atomic API. This fixes that.
-
-We don't support writeback screenshots without atomic modeset support.
-So for such devices, we never update the output capture info
-(weston_output_update_capture_info()) for the writeback source.
-
-The function that we use to pull writeback tasks
-(weston_output_pull_capture_task()) asserts that the capture providers
-(renderers, DRM-backend) did not forget to update the capture info
-(size/format) if something changed. But as we've never updated the
-capture info for such devices, it is zeroed, leading to an assert hit.
-
-With this patch we only pull the capture task for KMS devices that
-support the atomic API.
-
-Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
----
- libweston/backend-drm/drm.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
-index a1e61df8c..b43791db5 100644
---- a/libweston/backend-drm/drm.c
-+++ b/libweston/backend-drm/drm.c
-@@ -553,14 +553,14 @@ drm_output_pick_writeback_capture_task(struct drm_output *output)
- int32_t height = output->base.current_mode->height;
- uint32_t format = output->format->format;
-
-+ assert(output->device->atomic_modeset);
-+
- ct = weston_output_pull_capture_task(&output->base,
- WESTON_OUTPUT_CAPTURE_SOURCE_WRITEBACK,
- width, height, pixel_format_get_info(format));
- if (!ct)
- return;
-
-- assert(output->device->atomic_modeset);
--
- if (output->base.disable_planes > 0) {
- msg = "drm: KMS planes usage is disabled for now, so " \
- "writeback capture tasks are rejected";
-@@ -642,7 +642,8 @@ drm_output_repaint(struct weston_output *output_base, pixman_region32_t *damage)
- if (drm_output_ensure_hdr_output_metadata_blob(output) < 0)
- goto err;
-
-- drm_output_pick_writeback_capture_task(output);
-+ if (device->atomic_modeset)
-+ drm_output_pick_writeback_capture_task(output);
-
- drm_output_render(state, damage);
- scanout_state = drm_output_state_get_plane(state,
---
-GitLab
-
-
-From cf64fbe7847859ca11d4722f056d2ebfa8d10177 Mon Sep 17 00:00:00 2001
-From: Leandro Ribeiro <leandro.ribeiro@collabora.com>
-Date: Thu, 1 Jun 2023 17:04:56 -0300
-Subject: [PATCH 3/3] tests: assert that capture info was received before
- trying screenshot
-
-If the source is not supported, we won't receive the capture
-information. So the capture info (size/format) will be zeroed, and we
-fail while trying to create a buffer for the screenshot with size/format
-zeroed.
-
-With this patch we fail if we don't receive the capture info, what makes
-the failure reason more explicit.
-
-Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
----
- tests/weston-test-client-helper.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c
-index 3e24a0310..2a7f938d3 100644
---- a/tests/weston-test-client-helper.c
-+++ b/tests/weston-test-client-helper.c
-@@ -1705,6 +1705,9 @@ client_capture_output(struct client *client,
-
- client_roundtrip(client);
-
-+ assert(capt.width != 0 && capt.height != 0 && capt.drm_format != 0 &&
-+ "capture source not available");
-+
- buf = create_shm_buffer(client,
- capt.width, capt.height, capt.drm_format);
-
---
-GitLab
-
diff --git a/dev-libs/weston/weston-12.0.1-r1.ebuild b/dev-libs/weston/weston-12.0.1-r1.ebuild
deleted file mode 100644
index 35a02ce6cc88..000000000000
--- a/dev-libs/weston/weston-12.0.1-r1.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
- GIT_ECLASS="git-r3"
- EXPERIMENTAL="true"
-fi
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
-
-DESCRIPTION="Wayland reference compositor"
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI="${SRC_PATCHES}"
-else
- SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86"
-fi
-
-LICENSE="MIT CC-BY-SA-3.0"
-SLOT="0"
-
-IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test vnc wayland-compositor webp +X xwayland"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- drm? ( gles2 )
- pipewire? ( drm )
- remoting? ( drm gles2 )
- screen-sharing? ( rdp )
- test? ( desktop headless lcms xwayland )
- wayland-compositor? ( gles2 )
- || ( drm headless rdp vnc wayland-compositor X )
-"
-
-RDEPEND="
- >=dev-libs/libinput-1.2.0
- >=dev-libs/wayland-1.20.0
- media-libs/libpng:0=
- sys-auth/seatd:=
- >=x11-libs/cairo-1.11.3
- >=x11-libs/libdrm-2.4.108
- >=x11-libs/libxkbcommon-0.5.0
- >=x11-libs/pixman-0.25.2
- x11-misc/xkeyboard-config
- drm? (
- >=media-libs/mesa-17.1[gbm(+)]
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- editor? ( x11-libs/pango )
- examples? ( x11-libs/pango )
- gles2? ( media-libs/mesa[gles2,wayland] )
- jpeg? ( media-libs/libjpeg-turbo:0= )
- lcms? ( >=media-libs/lcms-2.9:2 )
- pipewire? ( >=media-video/pipewire-0.3:= )
- rdp? ( >=net-misc/freerdp-2.3.0:=[server] )
- remoting? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- systemd? ( sys-apps/systemd )
- vnc? (
- =dev-libs/aml-0.3*
- =gui-libs/neatvnc-0.6*
- sys-libs/pam
- )
- webp? ( media-libs/libwebp:0= )
- X? (
- >=x11-libs/libxcb-1.9
- x11-libs/libX11
- )
- xwayland? (
- x11-base/xwayland
- x11-libs/cairo[X,xcb(+)]
- >=x11-libs/libxcb-1.9
- x11-libs/libXcursor
- >=x11-libs/xcb-util-cursor-0.1.4
- )
-"
-DEPEND="${RDEPEND}
- >=dev-libs/wayland-protocols-1.24
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/wayland-scanner
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/weston-12.0.1-issue757.patch"
-)
-
-src_configure() {
- local emesonargs=(
- $(meson_use drm backend-drm)
- -Dbackend-drm-screencast-vaapi=false
- $(meson_use headless backend-headless)
- $(meson_use pipewire backend-pipewire)
- $(meson_use rdp backend-rdp)
- $(meson_use screen-sharing screenshare)
- $(meson_use vnc backend-vnc)
- $(meson_use wayland-compositor backend-wayland)
- $(meson_use X backend-x11)
- -Dbackend-default=auto
- $(meson_use gles2 renderer-gl)
- $(meson_use xwayland)
- -Dlauncher-libseat=true
- $(meson_use systemd)
- $(meson_use remoting)
- $(meson_use pipewire)
- $(meson_use desktop shell-desktop)
- $(meson_use fullscreen shell-fullscreen)
- $(meson_use ivi shell-ivi)
- $(meson_use kiosk shell-kiosk)
- $(meson_use lcms color-management-lcms)
- $(meson_use jpeg image-jpeg)
- $(meson_use webp image-webp)
- -Dtools=debug,info,terminal
- $(meson_use examples demo-clients)
- -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
- $(meson_use resize-optimization resize-pool)
- -Dtest-junit-xml=false
- "${myconf[@]}"
- )
- meson_src_configure
-}
-
-src_test() {
- xdg_environment_reset
- addwrite /dev/dri/
-
- # xwayland test can fail if X11 socket already exists.
- cd "${BUILD_DIR}" || die
- meson test $(meson test --list | grep -Exv "xwayland") || die
-}
-
-src_install() {
- meson_src_install
- readme.gentoo_create_doc
-}