From 880502a94df5df57cc31f3cc6e58d79a995ac2c7 Mon Sep 17 00:00:00 2001 From: tigro Date: Mon, 11 Dec 2023 19:14:21 +0300 Subject: [PATCH] Backport fix for building against wayland-1.20+ --- .../0001-Fix-build-against-wayland-1.20.patch | 54 +++++++++++++++++++ SPECS/SDL2.spec | 6 ++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0001-Fix-build-against-wayland-1.20.patch diff --git a/SOURCES/0001-Fix-build-against-wayland-1.20.patch b/SOURCES/0001-Fix-build-against-wayland-1.20.patch new file mode 100644 index 0000000..857dec8 --- /dev/null +++ b/SOURCES/0001-Fix-build-against-wayland-1.20.patch @@ -0,0 +1,54 @@ +From f0d459c3487894c16dd4605c5e4e58260cffbe5b Mon Sep 17 00:00:00 2001 +From: tigro +Date: Mon, 11 Dec 2023 18:46:23 +0300 +Subject: [PATCH] Fix build against wayland 1.20 + +--- + src/video/wayland/SDL_waylanddyn.h | 3 +++ + src/video/wayland/SDL_waylandsym.h | 6 ++++++ + 2 files changed, 9 insertions(+) + +diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h +index b8707f0..c0d823f 100644 +--- a/src/video/wayland/SDL_waylanddyn.h ++++ b/src/video/wayland/SDL_waylanddyn.h +@@ -74,9 +74,12 @@ void SDL_WAYLAND_UnloadSymbols(void); + #define wl_proxy_marshal (*WAYLAND_wl_proxy_marshal) + #define wl_proxy_set_user_data (*WAYLAND_wl_proxy_set_user_data) + #define wl_proxy_get_user_data (*WAYLAND_wl_proxy_get_user_data) ++#define wl_proxy_get_version (*WAYLAND_wl_proxy_get_version) + #define wl_proxy_add_listener (*WAYLAND_wl_proxy_add_listener) + #define wl_proxy_marshal_constructor (*WAYLAND_wl_proxy_marshal_constructor) + #define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned) ++#define wl_proxy_marshal_flags (*WAYLAND_wl_proxy_marshal_flags) ++#define wl_proxy_marshal_array_flags (*WAYLAND_wl_proxy_marshal_array_flags) + + #define wl_seat_interface (*WAYLAND_wl_seat_interface) + #define wl_surface_interface (*WAYLAND_wl_surface_interface) +diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h +index bae46a3..6cf0a4f 100644 +--- a/src/video/wayland/SDL_waylandsym.h ++++ b/src/video/wayland/SDL_waylandsym.h +@@ -40,6 +40,7 @@ SDL_WAYLAND_SYM(void, wl_proxy_destroy, (struct wl_proxy *)) + SDL_WAYLAND_SYM(int, wl_proxy_add_listener, (struct wl_proxy *, void (**)(void), void *)) + SDL_WAYLAND_SYM(void, wl_proxy_set_user_data, (struct wl_proxy *, void *)) + SDL_WAYLAND_SYM(void *, wl_proxy_get_user_data, (struct wl_proxy *)) ++SDL_WAYLAND_SYM(uint32_t, wl_proxy_get_version, (struct wl_proxy *)) + SDL_WAYLAND_SYM(uint32_t, wl_proxy_get_id, (struct wl_proxy *)) + SDL_WAYLAND_SYM(const char *, wl_proxy_get_class, (struct wl_proxy *)) + SDL_WAYLAND_SYM(void, wl_proxy_set_queue, (struct wl_proxy *, struct wl_event_queue *)) +@@ -70,6 +71,11 @@ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor, (struct wl_prox + SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_10) + SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor_versioned, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, ...)) + ++SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_20) ++SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interfac, uint32_t version, uint32_t flags, ...)) ++SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_array_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, uint32_t flags, union ++wl_argument *args)) ++ + SDL_WAYLAND_INTERFACE(wl_seat_interface) + SDL_WAYLAND_INTERFACE(wl_surface_interface) + SDL_WAYLAND_INTERFACE(wl_shm_pool_interface) +-- +2.43.0 + diff --git a/SPECS/SDL2.spec b/SPECS/SDL2.spec index 93fd6eb..c5a273d 100644 --- a/SPECS/SDL2.spec +++ b/SPECS/SDL2.spec @@ -1,6 +1,6 @@ Name: SDL2 Version: 2.0.10 -Release: 2%{?dist} +Release: 2%{?dist}.inferit Summary: Cross-platform multimedia library %if 0%{?fedora} @@ -16,6 +16,7 @@ Patch0: multilib.patch # ptrdiff_t is not the same as khronos defines on 32bit arches Patch1: SDL2-2.0.9-khrplatform.patch Patch2: CVE-2019-13616-validate_image_size_when_loading_BMP_files.patch +Patch3: 0001-Fix-build-against-wayland-1.20.patch BuildRequires: gcc BuildRequires: alsa-lib-devel @@ -148,6 +149,9 @@ rm -vf %{buildroot}%{_libdir}/*.la %{_libdir}/lib*.a %changelog +* Mon Dec 11 2023 Arkady L. Shane - 2.0.10-2.inferit +- Backport fix for building against wayland-1.20+ + * Thu Dec 07 2023 MSVSphere Packaging Team - 2.0.10-2 - Rebuilt for MSVSphere 8.8