diff --git a/add_EGL_WL_bind_wayland_display_definitions.patch b/add_EGL_WL_bind_wayland_display_definitions.patch new file mode 100644 index 0000000..50ce1f4 --- /dev/null +++ b/add_EGL_WL_bind_wayland_display_definitions.patch @@ -0,0 +1,56 @@ +From 4a343a4b563e84c6258efbddf1d910f9dd6e0300 Mon Sep 17 00:00:00 2001 +From: Erik Kurzinger +Date: Wed, 25 Mar 2020 08:38:09 -0700 +Subject: [PATCH] add EGL_WL_bind_wayland_display definitions to + wayland-egl-ext.h + +The definitions for the EGL_WL_bind_wayland_display extension were previously +provided by eglmesaext.h, included through eglext.h. However, recent versions +of the eglext.h header shipped with mesa (which most distributions use) no +longer include platform headers. This causes the build to fail due to undefined +symbols. + +This change adds the required definitions to wayland-egl-ext.h ensuring they're +always available. This also avoids having a dependency on the aforementioned +mesa header. + +Signed-off-by: Erik Kurzinger +--- + wayland-egl/wayland-egl-ext.h | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/wayland-egl/wayland-egl-ext.h b/wayland-egl/wayland-egl-ext.h +index 6688e45..a258bf4 100644 +--- a/wayland-egl/wayland-egl-ext.h ++++ b/wayland-egl/wayland-egl-ext.h +@@ -23,6 +23,30 @@ + #ifndef WAYLAND_EGL_EXT_H + #define WAYLAND_EGL_EXT_H + ++#ifndef EGL_WL_bind_wayland_display ++#define EGL_WL_bind_wayland_display 1 ++#define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC ++#define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC ++#define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC ++struct wl_display; ++struct wl_resource; ++#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 ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display); ++EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display); ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value); ++#endif ++#endif /* EGL_WL_bind_wayland_display */ ++ + #ifndef EGL_WL_wayland_eglstream + #define EGL_WL_wayland_eglstream 1 + #define EGL_WAYLAND_EGLSTREAM_WL 0x334B diff --git a/add_missing_includes.patch b/add_missing_includes.patch deleted file mode 100644 index db21ba8..0000000 --- a/add_missing_includes.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1f0230f5c41722d8ec0df2828e97188ffd0a11eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fabian=20M=C3=B6ller?= -Date: Wed, 27 Nov 2019 12:28:14 +0100 -Subject: [PATCH] Add eglmesaext.h include in wayland-eglsurface.c - -eglmesaext.h was previously included via eglext.h but mesa stopped providing GLVND headers in [1]. -Without eglmesaext.h EGL_WAYLAND_Y_INVERTED_WL is not defined. - -[1]: https://gitlab.freedesktop.org/mesa/mesa/commit/8355658fa857536d948773b361c5ede770e637a3 ---- - src/wayland-eglsurface.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c -index 01c9cb3..45736b0 100644 ---- a/src/wayland-eglsurface.c -+++ b/src/wayland-eglsurface.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #define WL_EGL_WINDOW_DESTROY_CALLBACK_SINCE 3 - diff --git a/egl-wayland.spec b/egl-wayland.spec index b9af029..010f854 100644 --- a/egl-wayland.spec +++ b/egl-wayland.spec @@ -1,18 +1,22 @@ Name: egl-wayland Version: 1.1.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Wayland EGL External Platform library License: MIT URL: https://github.com/NVIDIA/%{name} Source0: %url/archive/%{version}/%{name}-%{version}.tar.gz Source1: 10_nvidia_wayland.json -Patch0: %url/pull/24.patch#/add_missing_includes.patch +Patch0: %url/commit/4a343a4b563e84c6258efbddf1d910f9dd6e0300.patch#/add_EGL_WL_bind_wayland_display_definitions.patch BuildRequires: meson BuildRequires: libtool BuildRequires: eglexternalplatform-devel +%if 0%{?fedora} > 31 +BuildRequires: libglvnd-devel +%else BuildRequires: mesa-libEGL-devel +%endif BuildRequires: wayland-devel # Required for directory ownership @@ -62,6 +66,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' %{_datadir}/wayland-eglstream/ %changelog +* Mon Mar 30 2020 leigh123linux - 1.1.4-4 +- Use upstream commit to address missing mesa includes + * Tue Jan 28 2020 Fedora Release Engineering - 1.1.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild