From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 65CD61382C5 for ; Mon, 1 Jun 2020 10:13:31 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 72499E08F2; Mon, 1 Jun 2020 10:13:30 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 49BA2E08F2 for ; Mon, 1 Jun 2020 10:13:30 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2E1DC34F19F for ; Mon, 1 Jun 2020 10:13:28 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 19626242 for ; Mon, 1 Jun 2020 10:13:26 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1591006397.6ea1782b800dc1a0320567860886460dd3857f35.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch kde-plasma/kwin/kwin-5.18.5-r2.ebuild X-VCS-Directories: kde-plasma/kwin/ kde-plasma/kwin/files/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 6ea1782b800dc1a0320567860886460dd3857f35 X-VCS-Branch: master Date: Mon, 1 Jun 2020 10:13:26 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3ecaface-9032-417f-8451-24d37798cd8a X-Archives-Hash: 28ce53e561b5ebb96a07b2495828862d commit: 6ea1782b800dc1a0320567860886460dd3857f35 Author: Andreas Sturmlechner gentoo org> AuthorDate: Mon Jun 1 10:12:56 2020 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Mon Jun 1 10:13:17 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ea1782b kde-plasma/kwin: Fix build with upcoming mesa version Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Andreas Sturmlechner gentoo.org> kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch | 193 ++++++++++++++++++++++++ kde-plasma/kwin/kwin-5.18.5-r2.ebuild | 118 +++++++++++++++ 2 files changed, 311 insertions(+) diff --git a/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch b/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch new file mode 100644 index 00000000000..dc87b404548 --- /dev/null +++ b/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch @@ -0,0 +1,193 @@ +From 2c76cc4784382b3df9b5413860d0793ea26cea31 Mon Sep 17 00:00:00 2001 +From: Vlad Zahorodnii +Date: Fri, 29 May 2020 16:01:27 +0300 +Subject: [wayland] Fix misuse of EGL/eglmesaext.h + +The recommended way to get all EGL extension defines is to include +EGL/eglext.h. EGL/eglmesaext.h is a private header that compositors +should not use. + +BUG: 422131 +--- + .../scenes/opengl/abstract_egl_backend.cpp | 11 +--- + platformsupport/scenes/opengl/egl_dmabuf.cpp | 41 +----------- + platformsupport/scenes/opengl/kwineglext.h | 76 ++++++++++++++++++++++ + 3 files changed, 78 insertions(+), 50 deletions(-) + create mode 100644 platformsupport/scenes/opengl/kwineglext.h + +diff --git a/platformsupport/scenes/opengl/abstract_egl_backend.cpp b/platformsupport/scenes/opengl/abstract_egl_backend.cpp +index 532ec27..e160ef3 100644 +--- a/platformsupport/scenes/opengl/abstract_egl_backend.cpp ++++ b/platformsupport/scenes/opengl/abstract_egl_backend.cpp +@@ -19,6 +19,7 @@ along with this program. If not, see . + *********************************************************************/ + #include "abstract_egl_backend.h" + #include "egl_dmabuf.h" ++#include "kwineglext.h" + #include "texture.h" + #include "composite.h" + #include "egl_context_attribute_builder.h" +@@ -49,16 +50,6 @@ eglBindWaylandDisplayWL_func eglBindWaylandDisplayWL = nullptr; + eglUnbindWaylandDisplayWL_func eglUnbindWaylandDisplayWL = nullptr; + eglQueryWaylandBufferWL_func eglQueryWaylandBufferWL = nullptr; + +-#ifndef EGL_WAYLAND_BUFFER_WL +-#define EGL_WAYLAND_BUFFER_WL 0x31D5 +-#endif +-#ifndef EGL_WAYLAND_PLANE_WL +-#define EGL_WAYLAND_PLANE_WL 0x31D6 +-#endif +-#ifndef EGL_WAYLAND_Y_INVERTED_WL +-#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB +-#endif +- + AbstractEglBackend::AbstractEglBackend() + : QObject(nullptr) + , OpenGLBackend() +diff --git a/platformsupport/scenes/opengl/egl_dmabuf.cpp b/platformsupport/scenes/opengl/egl_dmabuf.cpp +index 3f75bc7..753f15e 100644 +--- a/platformsupport/scenes/opengl/egl_dmabuf.cpp ++++ b/platformsupport/scenes/opengl/egl_dmabuf.cpp +@@ -21,10 +21,10 @@ along with this program. If not, see . + #include "egl_dmabuf.h" + + #include "drm_fourcc.h" ++#include "kwineglext.h" + #include "../../../wayland_server.h" + + #include +-#include + + namespace KWin + { +@@ -34,45 +34,6 @@ typedef EGLBoolean (*eglQueryDmaBufModifiersEXT_func) (EGLDisplay dpy, EGLint fo + eglQueryDmaBufFormatsEXT_func eglQueryDmaBufFormatsEXT = nullptr; + eglQueryDmaBufModifiersEXT_func eglQueryDmaBufModifiersEXT = nullptr; + +-#ifndef EGL_EXT_image_dma_buf_import +-#define EGL_LINUX_DMA_BUF_EXT 0x3270 +-#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 +-#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 +-#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 +-#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 +-#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 +-#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 +-#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 +-#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 +-#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 +-#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A +-#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B +-#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C +-#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D +-#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E +-#define EGL_ITU_REC601_EXT 0x327F +-#define EGL_ITU_REC709_EXT 0x3280 +-#define EGL_ITU_REC2020_EXT 0x3281 +-#define EGL_YUV_FULL_RANGE_EXT 0x3282 +-#define EGL_YUV_NARROW_RANGE_EXT 0x3283 +-#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 +-#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 +-#endif // EGL_EXT_image_dma_buf_import +- +-#ifndef EGL_EXT_image_dma_buf_import_modifiers +-#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 +-#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441 +-#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442 +-#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443 +-#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444 +-#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445 +-#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446 +-#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447 +-#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448 +-#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449 +-#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A +-#endif // EGL_EXT_image_dma_buf_import_modifiers +- + struct YuvPlane + { + int widthDivisor; +diff --git a/platformsupport/scenes/opengl/kwineglext.h b/platformsupport/scenes/opengl/kwineglext.h +new file mode 100644 +index 0000000..834701b +--- /dev/null ++++ b/platformsupport/scenes/opengl/kwineglext.h +@@ -0,0 +1,76 @@ ++/******************************************************************** ++ KWin - the KDE window manager ++ This file is part of the KDE project. ++ ++Copyright (C) 2018 Fredrik Höglund ++Copyright (C) 2020 Vlad Zahorodnii ++ ++This program is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 2 of the License, or ++(at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program. If not, see . ++*********************************************************************/ ++ ++#ifndef KWINEGLEXT_H ++#define KWINEGLEXT_H ++ ++#include ++ ++#ifndef EGL_WL_bind_wayland_display ++#define EGL_WAYLAND_BUFFER_WL 0x31D5 ++#define EGL_WAYLAND_PLANE_WL 0x31D6 ++#define EGL_TEXTURE_Y_U_V_WL 0x31D7 ++#define EGL_TEXTURE_Y_UV_WL 0x31D8 ++#define EGL_TEXTURE_Y_XUXV_WL 0x31D9 ++#define EGL_TEXTURE_EXTERNAL_WL 0x31DA ++#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB ++#endif // EGL_WL_bind_wayland_display ++ ++#ifndef EGL_EXT_image_dma_buf_import ++#define EGL_LINUX_DMA_BUF_EXT 0x3270 ++#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 ++#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 ++#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 ++#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 ++#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 ++#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 ++#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 ++#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 ++#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 ++#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A ++#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B ++#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C ++#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D ++#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E ++#define EGL_ITU_REC601_EXT 0x327F ++#define EGL_ITU_REC709_EXT 0x3280 ++#define EGL_ITU_REC2020_EXT 0x3281 ++#define EGL_YUV_FULL_RANGE_EXT 0x3282 ++#define EGL_YUV_NARROW_RANGE_EXT 0x3283 ++#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 ++#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 ++#endif // EGL_EXT_image_dma_buf_import ++ ++#ifndef EGL_EXT_image_dma_buf_import_modifiers ++#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 ++#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441 ++#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442 ++#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443 ++#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444 ++#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445 ++#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446 ++#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447 ++#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448 ++#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449 ++#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A ++#endif // EGL_EXT_image_dma_buf_import_modifiers ++ ++#endif // KWINEGLEXT_H +-- +cgit v1.1 + diff --git a/kde-plasma/kwin/kwin-5.18.5-r2.ebuild b/kde-plasma/kwin/kwin-5.18.5-r2.ebuild new file mode 100644 index 00000000000..ca3ce65cfd4 --- /dev/null +++ b/kde-plasma/kwin/kwin-5.18.5-r2.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +ECM_HANDBOOK="optional" +ECM_TEST="optional" +KFMIN=5.66.0 +PVCUT=$(ver_cut 1-3) +QTMIN=5.12.3 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" + +LICENSE="GPL-2+" +SLOT="5" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="caps gles2-only multimedia" + +COMMON_DEPEND=" + >=kde-frameworks/kactivities-${KFMIN}:5 + >=kde-frameworks/kauth-${KFMIN}:5 + >=kde-frameworks/kcmutils-${KFMIN}:5 + >=kde-frameworks/kcompletion-${KFMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kcrash-${KFMIN}:5 + >=kde-frameworks/kdeclarative-${KFMIN}:5 + >=kde-frameworks/kglobalaccel-${KFMIN}:5= + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kiconthemes-${KFMIN}:5 + >=kde-frameworks/kidletime-${KFMIN}:5= + >=kde-frameworks/kinit-${KFMIN}:5 + >=kde-frameworks/kio-${KFMIN}:5 + >=kde-frameworks/knewstuff-${KFMIN}:5 + >=kde-frameworks/knotifications-${KFMIN}:5 + >=kde-frameworks/kpackage-${KFMIN}:5 + >=kde-frameworks/kservice-${KFMIN}:5 + >=kde-frameworks/ktextwidgets-${KFMIN}:5 + >=kde-frameworks/kwayland-${KFMIN}:5 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 + >=kde-frameworks/kwindowsystem-${KFMIN}:5[X] + >=kde-frameworks/kxmlgui-${KFMIN}:5 + >=kde-frameworks/plasma-${KFMIN}:5 + >=kde-plasma/breeze-${PVCUT}:5 + >=kde-plasma/kdecoration-${PVCUT}:5 + >=kde-plasma/kscreenlocker-${PVCUT}:5 + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5=[gles2-only=] + >=dev-qt/qtscript-${QTMIN}:5 + >=dev-qt/qtsensors-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtx11extras-${QTMIN}:5 + >=dev-libs/libinput-1.9 + >=dev-libs/wayland-1.2 + media-libs/fontconfig + media-libs/freetype + media-libs/libepoxy + media-libs/mesa[egl,gbm,wayland,X(+)] + virtual/libudev:= + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXi + x11-libs/libdrm + >=x11-libs/libxcb-1.10 + >=x11-libs/libxkbcommon-0.7.0 + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-wm + caps? ( sys-libs/libcap ) + gles2-only? ( media-libs/mesa[gles2] ) +" +RDEPEND="${COMMON_DEPEND} + >=kde-frameworks/kirigami-${KFMIN}:5 + >=dev-qt/qtquickcontrols-${QTMIN}:5 + >=dev-qt/qtquickcontrols2-${QTMIN}:5 + >=dev-qt/qtvirtualkeyboard-${QTMIN}:5 + multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] ) +" +DEPEND="${COMMON_DEPEND} + >=dev-qt/designer-${QTMIN}:5 + >=dev-qt/qtconcurrent-${QTMIN}:5 + x11-base/xorg-proto +" +PDEPEND=" + >=kde-plasma/kde-cli-tools-${PVCUT}:5 +" + +RESTRICT+=" test" + +PATCHES=( + # in Plasma/5.18 + "${FILESDIR}/${P}-dont-exec-QDialog.patch" # KDE-bug 421053 + "${FILESDIR}/${P}-wayland-lockscreen-greeter.patch" # KDE-bug 420802 + "${FILESDIR}/${P}-mesa-21.patch" # KDE-bug 422131 +) + +src_prepare() { + ecm_src_prepare + use multimedia || eapply "${FILESDIR}/${PN}-5.16.80-gstreamer-optional.patch" + + # Access violations, bug #640432 + sed -e "s/^ecm_find_qmlmodule.*QtMultimedia/#&/" \ + -i CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package caps Libcap) + ) + + ecm_src_configure +}