import SDL2-2.0.18-1.el9
This commit is contained in:
		
							parent
							
								
									8d6831641c
								
							
						
					
					
						commit
						0558d6df56
					
				| @ -1 +1 @@ | |||||||
| 57825428174adb2ac947e4014080c262505aa972 SOURCES/SDL2-2.0.16.tar.gz | 419c62567d197a52a2136865c158f894939c1adf SOURCES/SDL2-2.0.18.tar.gz | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | |||||||
| SOURCES/SDL2-2.0.16.tar.gz | SOURCES/SDL2-2.0.18.tar.gz | ||||||
|  | |||||||
							
								
								
									
										111
									
								
								SOURCES/PR5171-split-static-cmake-targets.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								SOURCES/PR5171-split-static-cmake-targets.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | |||||||
|  | From 7393bdae70b445334157410f61372937b922cdc6 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Neal Gompa <ngompa13@gmail.com> | ||||||
|  | Date: Tue, 4 Jan 2022 09:35:41 -0500 | ||||||
|  | Subject: [PATCH] cmake: Split SDL2-static and SDL2main into their own target | ||||||
|  |  exports | ||||||
|  | 
 | ||||||
|  | This makes it so that the generated targets are not interdependent, | ||||||
|  | which allows Linux distributions to split libraries into the | ||||||
|  | appropriate subpackages as needed. | ||||||
|  | ---
 | ||||||
|  |  CMakeLists.txt | 56 +++++++++++++++++++++++++++++++++++++++----------- | ||||||
|  |  1 file changed, 44 insertions(+), 12 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/CMakeLists.txt b/CMakeLists.txt
 | ||||||
|  | index 76cc3c516..be15edc74 100644
 | ||||||
|  | --- a/CMakeLists.txt
 | ||||||
|  | +++ b/CMakeLists.txt
 | ||||||
|  | @@ -2748,7 +2748,6 @@ if(NOT WINDOWS_STORE)
 | ||||||
|  |    add_library(SDL2::SDL2main ALIAS SDL2main) | ||||||
|  |    target_include_directories(SDL2main BEFORE PRIVATE "${SDL2_BINARY_DIR}/include") | ||||||
|  |    target_include_directories(SDL2main PUBLIC "$<BUILD_INTERFACE:${SDL2_SOURCE_DIR}/include>" $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>) | ||||||
|  | -  set(_INSTALL_LIBS "SDL2main")
 | ||||||
|  |    if (NOT ANDROID) | ||||||
|  |      set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") | ||||||
|  |    endif() | ||||||
|  | @@ -2794,7 +2793,6 @@ if(SDL_SHARED)
 | ||||||
|  |      endif() | ||||||
|  |      set_target_properties(SDL2 PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB") | ||||||
|  |    endif() | ||||||
|  | -  set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS})
 | ||||||
|  |    target_link_libraries(SDL2 PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) | ||||||
|  |    target_include_directories(SDL2 BEFORE PRIVATE "${SDL2_BINARY_DIR}/include") | ||||||
|  |    target_include_directories(SDL2 PUBLIC "$<BUILD_INTERFACE:${SDL2_SOURCE_DIR}/include>;$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>;$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>") | ||||||
|  | @@ -2826,7 +2824,6 @@ if(SDL_STATIC)
 | ||||||
|  |    endif() | ||||||
|  |    # TODO: Win32 platforms keep the same suffix .lib for import and static | ||||||
|  |    # libraries - do we need to consider this? | ||||||
|  | -  set(_INSTALL_LIBS "SDL2-static" ${_INSTALL_LIBS})
 | ||||||
|  |    target_link_libraries(SDL2-static PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) | ||||||
|  |    target_include_directories(SDL2-static BEFORE PRIVATE "${SDL2_BINARY_DIR}/include") | ||||||
|  |    target_include_directories(SDL2-static PUBLIC "$<BUILD_INTERFACE:${SDL2_SOURCE_DIR}/include>" $<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include/SDL2>) | ||||||
|  | @@ -2848,10 +2845,26 @@ if(SDL_TEST)
 | ||||||
|  |  endif() | ||||||
|  |   | ||||||
|  |  ##### Installation targets ##### | ||||||
|  | -install(TARGETS ${_INSTALL_LIBS} EXPORT SDL2Targets
 | ||||||
|  | -  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | -  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | -  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
 | ||||||
|  | +if(SDL_SHARED)
 | ||||||
|  | +  install(TARGETS SDL2 EXPORT SDL2Targets
 | ||||||
|  | +    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | +    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | +    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
 | ||||||
|  | +endif()
 | ||||||
|  | +
 | ||||||
|  | +if(NOT WINDOWS_STORE)
 | ||||||
|  | +  install(TARGETS SDL2main EXPORT SDL2mainTargets
 | ||||||
|  | +    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | +    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | +    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
 | ||||||
|  | +endif()
 | ||||||
|  | +
 | ||||||
|  | +if(SDL_STATIC)
 | ||||||
|  | +  install(TARGETS SDL2-static EXPORT SDL2staticTargets
 | ||||||
|  | +    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | +    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 | ||||||
|  | +    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
 | ||||||
|  | +endif()
 | ||||||
|  |   | ||||||
|  |  ##### Export files ##### | ||||||
|  |  if (WINDOWS AND NOT MINGW) | ||||||
|  | @@ -2866,11 +2879,30 @@ write_basic_package_version_file("${CMAKE_BINARY_DIR}/SDL2ConfigVersion.cmake"
 | ||||||
|  |    COMPATIBILITY AnyNewerVersion | ||||||
|  |  ) | ||||||
|  |   | ||||||
|  | -install(EXPORT SDL2Targets
 | ||||||
|  | -  FILE SDL2Targets.cmake
 | ||||||
|  | -  NAMESPACE SDL2::
 | ||||||
|  | -  DESTINATION ${PKG_PREFIX}
 | ||||||
|  | -)
 | ||||||
|  | +if(SDL_SHARED)
 | ||||||
|  | +  install(EXPORT SDL2Targets
 | ||||||
|  | +    FILE SDL2Targets.cmake
 | ||||||
|  | +    NAMESPACE SDL2::
 | ||||||
|  | +    DESTINATION ${PKG_PREFIX}
 | ||||||
|  | +  )
 | ||||||
|  | +endif()
 | ||||||
|  | +
 | ||||||
|  | +if(NOT WINDOWS_STORE)
 | ||||||
|  | +  install(EXPORT SDL2mainTargets
 | ||||||
|  | +    FILE SDL2mainTargets.cmake
 | ||||||
|  | +    NAMESPACE SDL2::
 | ||||||
|  | +    DESTINATION ${PKG_PREFIX}
 | ||||||
|  | +  )
 | ||||||
|  | +endif()
 | ||||||
|  | +
 | ||||||
|  | +if(SDL_STATIC)
 | ||||||
|  | +  install(EXPORT SDL2staticTargets
 | ||||||
|  | +    FILE SDL2staticTargets.cmake
 | ||||||
|  | +    NAMESPACE SDL2::
 | ||||||
|  | +    DESTINATION ${PKG_PREFIX}
 | ||||||
|  | +  )
 | ||||||
|  | +endif()
 | ||||||
|  | +
 | ||||||
|  |  install( | ||||||
|  |    FILES | ||||||
|  |      ${CMAKE_CURRENT_SOURCE_DIR}/SDL2Config.cmake | ||||||
|  | -- 
 | ||||||
|  | 2.33.1 | ||||||
|  | 
 | ||||||
| @ -1,41 +0,0 @@ | |||||||
| diff --git a/CMakeLists.txt b/CMakeLists.txt
 |  | ||||||
| index 26fe83205..9b7ae7098 100644
 |  | ||||||
| --- a/CMakeLists.txt
 |  | ||||||
| +++ b/CMakeLists.txt
 |  | ||||||
| @@ -2662,15 +2662,15 @@ endif()
 |  | ||||||
|   |  | ||||||
|  ##### Installation targets ##### |  | ||||||
|  install(TARGETS ${_INSTALL_LIBS} EXPORT SDL2Targets |  | ||||||
| -  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}"
 |  | ||||||
| -  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}"
 |  | ||||||
| +  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 |  | ||||||
| +  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
 |  | ||||||
|    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") |  | ||||||
|   |  | ||||||
|  ##### Export files ##### |  | ||||||
|  if (WINDOWS) |  | ||||||
|    set(PKG_PREFIX "cmake") |  | ||||||
|  else () |  | ||||||
| -  set(PKG_PREFIX "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}/cmake/SDL2")
 |  | ||||||
| +  set(PKG_PREFIX "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2")
 |  | ||||||
|  endif () |  | ||||||
|   |  | ||||||
|  include(CMakePackageConfigHelpers) |  | ||||||
| @@ -2717,7 +2717,7 @@ if(NOT (WINDOWS OR CYGWIN OR MINGW))
 |  | ||||||
|            execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink |  | ||||||
|              \"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL2${SOPOSTFIX}${SOEXT}\" |  | ||||||
|              WORKING_DIRECTORY \"${SDL2_BINARY_DIR}\")") |  | ||||||
| -        install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}")
 |  | ||||||
| +        install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "${CMAKE_INSTALL_LIBDIR}")
 |  | ||||||
|      endif() |  | ||||||
|    endif() |  | ||||||
|    if(FREEBSD) |  | ||||||
| @@ -2725,7 +2725,7 @@ if(NOT (WINDOWS OR CYGWIN OR MINGW))
 |  | ||||||
|      install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "libdata/pkgconfig") |  | ||||||
|    else() |  | ||||||
|      install(FILES ${SDL2_BINARY_DIR}/sdl2.pc |  | ||||||
| -      DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}/pkgconfig")
 |  | ||||||
| +      DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
 |  | ||||||
|    endif() |  | ||||||
|    install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION "${CMAKE_INSTALL_BINDIR}") |  | ||||||
|    # TODO: what about the .spec file? Is it only needed for RPM creation? |  | ||||||
							
								
								
									
										39
									
								
								SOURCES/SDL2-2.0.18-Fix-build-against-wayland-1.20.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								SOURCES/SDL2-2.0.18-Fix-build-against-wayland-1.20.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | |||||||
|  | From 068c13b1cac4fead98a458b70ef482ddc8205358 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: David Redondo <kde@david-redondo.de> | ||||||
|  | Date: Fri, 10 Dec 2021 16:22:34 +0100 | ||||||
|  | Subject: [PATCH] Fix build against wayland 1.20 | ||||||
|  | 
 | ||||||
|  | Fixes #5088 | ||||||
|  | ---
 | ||||||
|  |  src/video/wayland/SDL_waylanddyn.h | 2 ++ | ||||||
|  |  src/video/wayland/SDL_waylandsym.h | 4 ++++ | ||||||
|  |  2 files changed, 6 insertions(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h
 | ||||||
|  | index 13b0884d076..2268555604a 100644
 | ||||||
|  | --- a/src/video/wayland/SDL_waylanddyn.h
 | ||||||
|  | +++ b/src/video/wayland/SDL_waylanddyn.h
 | ||||||
|  | @@ -95,6 +95,8 @@ void SDL_WAYLAND_UnloadSymbols(void);
 | ||||||
|  |  #define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned) | ||||||
|  |  #define wl_proxy_set_tag (*WAYLAND_wl_proxy_set_tag) | ||||||
|  |  #define wl_proxy_get_tag (*WAYLAND_wl_proxy_get_tag) | ||||||
|  | +#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 d6e6a761d39..32e47d26e2d 100644
 | ||||||
|  | --- a/src/video/wayland/SDL_waylandsym.h
 | ||||||
|  | +++ b/src/video/wayland/SDL_waylandsym.h
 | ||||||
|  | @@ -84,6 +84,10 @@ SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_18)
 | ||||||
|  |  SDL_WAYLAND_SYM(void, wl_proxy_set_tag, (struct wl_proxy *, const char * const *)) | ||||||
|  |  SDL_WAYLAND_SYM(const char * const *, wl_proxy_get_tag, (struct wl_proxy *)) | ||||||
|  |   | ||||||
|  | +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) | ||||||
							
								
								
									
										83
									
								
								SOURCES/SDL_revision.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								SOURCES/SDL_revision.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | |||||||
|  | /*
 | ||||||
|  |   Simple DirectMedia Layer | ||||||
|  |   Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> | ||||||
|  | 
 | ||||||
|  |   This software is provided 'as-is', without any express or implied | ||||||
|  |   warranty.  In no event will the authors be held liable for any damages | ||||||
|  |   arising from the use of this software. | ||||||
|  | 
 | ||||||
|  |   Permission is granted to anyone to use this software for any purpose, | ||||||
|  |   including commercial applications, and to alter it and redistribute it | ||||||
|  |   freely, subject to the following restrictions: | ||||||
|  | 
 | ||||||
|  |   1. The origin of this software must not be misrepresented; you must not | ||||||
|  |      claim that you wrote the original software. If you use this software | ||||||
|  |      in a product, an acknowledgment in the product documentation would be | ||||||
|  |      appreciated but is not required. | ||||||
|  |   2. Altered source versions must be plainly marked as such, and must not be | ||||||
|  |      misrepresented as being the original software. | ||||||
|  |   3. This notice may not be removed or altered from any source distribution. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * This SDL_revision.h is a wrapper include file for the original SDL_revision.h, | ||||||
|  |  * which has been renamed to SDL_revision-<arch>.h. There are conflicts for the | ||||||
|  |  * original SDL_revision.h on multilib systems, which result from REVISION | ||||||
|  |  * inconsistency between architecture builds, though, I'm not sure why. | ||||||
|  |  * Computers are weird. | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2021 Tom Callaway <spotrh@gmail.com> | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  *  \file SDL_revision.h | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #ifdef SDL_revision_wrapper_h | ||||||
|  | #error "SDL_revision_wrapper_h should not be defined!" | ||||||
|  | #endif | ||||||
|  | #define SDL_revision_wrapper_h | ||||||
|  | 
 | ||||||
|  | #if defined(__i386__) | ||||||
|  | #include "SDL_revision-i386.h" | ||||||
|  | #elif defined(__ia64__) | ||||||
|  | #include "SDL_revision-ia64.h" | ||||||
|  | #elif defined(__powerpc64__) | ||||||
|  | # if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ | ||||||
|  | #include "SDL_revision-ppc64.h" | ||||||
|  | # else | ||||||
|  | #include "SDL_revision-ppc64le.h" | ||||||
|  | # endif | ||||||
|  | #elif defined(__powerpc__) | ||||||
|  | #include "SDL_revision-ppc.h" | ||||||
|  | #elif defined(__s390x__) | ||||||
|  | #include "SDL_revision-s390x.h" | ||||||
|  | #elif defined(__s390__) | ||||||
|  | #include "SDL_revision-s390.h" | ||||||
|  | #elif defined(__x86_64__) | ||||||
|  | #include "SDL_revision-x86_64.h" | ||||||
|  | #elif defined(__arm__) | ||||||
|  | #include "SDL_revision-arm.h" | ||||||
|  | #elif defined(__alpha__) | ||||||
|  | #include "SDL_revision-alpha.h" | ||||||
|  | #elif defined(__sparc__) && defined (__arch64__) | ||||||
|  | #include "SDL_revision-sparc64.h" | ||||||
|  | #elif defined(__sparc__) | ||||||
|  | #include "SDL_revision-sparc.h" | ||||||
|  | #elif defined(__aarch64__) | ||||||
|  | #include "SDL_revision-aarch64.h" | ||||||
|  | #elif defined(__mips64) && defined(__MIPSEL__) | ||||||
|  | #include "SDL_revision-mips64el.h" | ||||||
|  | #elif defined(__mips64) | ||||||
|  | #include "SDL_revision-mips64.h" | ||||||
|  | #elif defined(__mips) && defined(__MIPSEL__) | ||||||
|  | #include "SDL_revision-mipsel.h" | ||||||
|  | #elif defined(__mips) | ||||||
|  | #include "SDL_revision-mips.h" | ||||||
|  | #elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 | ||||||
|  | #include "SDL_revision-riscv64.h" | ||||||
|  | #else | ||||||
|  | #error "The SDL2-devel package is not usable with the architecture." | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #undef SDL_revision_wrapper_h | ||||||
| @ -1,20 +1,36 @@ | |||||||
|  | # For the generated library symbol suffix | ||||||
|  | %if 0%{?__isa_bits} == 32 | ||||||
|  | %global libsymbolsuffix %{nil} | ||||||
|  | %else | ||||||
|  | %global libsymbolsuffix ()(%{__isa_bits}bit) | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | # For declaring rich dependency on libdecor | ||||||
|  | %global libdecor_majver 0 | ||||||
|  | 
 | ||||||
| Name:           SDL2 | Name:           SDL2 | ||||||
| Version:        2.0.16 | Version:        2.0.18 | ||||||
| Release:        4%{?dist} | Release:        1%{?dist} | ||||||
| Summary:        Cross-platform multimedia library | Summary:        Cross-platform multimedia library | ||||||
| License:        zlib and MIT | License:        zlib and MIT | ||||||
| URL:            http://www.libsdl.org/ | URL:            http://www.libsdl.org/ | ||||||
| Source0:        http://www.libsdl.org/release/%{name}-%{version}.tar.gz | Source0:        http://www.libsdl.org/release/%{name}-%{version}.tar.gz | ||||||
| Source1:        SDL_config.h | Source1:        SDL_config.h | ||||||
|  | Source2:        SDL_revision.h | ||||||
| 
 | 
 | ||||||
| Patch0:         multilib.patch | Patch0:         multilib.patch | ||||||
| # ptrdiff_t is not the same as khronos defines on 32bit arches | # ptrdiff_t is not the same as khronos defines on 32bit arches | ||||||
| Patch1:         SDL2-2.0.9-khrplatform.patch | Patch1:         SDL2-2.0.9-khrplatform.patch | ||||||
| 
 | 
 | ||||||
| # Proposed upstream | # Backports from upstream | ||||||
| ## From: https://github.com/libsdl-org/SDL/pull/4622 | ## From: https://github.com/libsdl-org/SDL/commit/e2ade2bfc46d915cd306c63c830b81d800b2575f | ||||||
| Patch0101:      SDL2-2.0.16-PR4622.patch | Patch100:       SDL2-2.0.18-Fix-build-against-wayland-1.20.patch | ||||||
| 
 | 
 | ||||||
|  | # Proposed upstream | ||||||
|  | ## From: https://github.com/libsdl-org/SDL/pull/5171 | ||||||
|  | Patch500:       PR5171-split-static-cmake-targets.patch | ||||||
|  | 
 | ||||||
|  | BuildRequires:  git-core | ||||||
| BuildRequires:  cmake | BuildRequires:  cmake | ||||||
| BuildRequires:  make | BuildRequires:  make | ||||||
| BuildRequires:  gcc | BuildRequires:  gcc | ||||||
| @ -45,7 +61,7 @@ BuildRequires:  pkgconfig(dbus-1) | |||||||
| # IBus | # IBus | ||||||
| BuildRequires:  pkgconfig(ibus-1.0) | BuildRequires:  pkgconfig(ibus-1.0) | ||||||
| # Wayland | # Wayland | ||||||
| #BuildRequires:  pkgconfig(libdecor-0) | BuildRequires:  pkgconfig(libdecor-%{libdecor_majver}) | ||||||
| BuildRequires:  pkgconfig(wayland-client) | BuildRequires:  pkgconfig(wayland-client) | ||||||
| BuildRequires:  pkgconfig(wayland-egl) | BuildRequires:  pkgconfig(wayland-egl) | ||||||
| BuildRequires:  pkgconfig(wayland-cursor) | BuildRequires:  pkgconfig(wayland-cursor) | ||||||
| @ -58,6 +74,9 @@ BuildRequires:  vulkan-devel | |||||||
| BuildRequires:  mesa-libgbm-devel | BuildRequires:  mesa-libgbm-devel | ||||||
| BuildRequires:  libdrm-devel | BuildRequires:  libdrm-devel | ||||||
| 
 | 
 | ||||||
|  | # Ensure libdecor is pulled in when libwayland-client is (rhbz#1992804) | ||||||
|  | Requires:       (libdecor-%{libdecor_majver}.so.%{libdecor_majver}%{libsymbolsuffix} if libwayland-client) | ||||||
|  | 
 | ||||||
| %description | %description | ||||||
| Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed | Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed | ||||||
| to provide fast access to the graphics frame buffer and audio device. | to provide fast access to the graphics frame buffer and audio device. | ||||||
| @ -68,8 +87,6 @@ Requires:       %{name}%{?_isa} = %{version}-%{release} | |||||||
| Requires:       mesa-libEGL-devel%{?_isa} | Requires:       mesa-libEGL-devel%{?_isa} | ||||||
| Requires:       mesa-libGLES-devel%{?_isa} | Requires:       mesa-libGLES-devel%{?_isa} | ||||||
| Requires:       libX11-devel%{?_isa} | Requires:       libX11-devel%{?_isa} | ||||||
| # Needed to keep CMake happy |  | ||||||
| Requires:       %{name}-static%{?_isa} = %{version}-%{release} |  | ||||||
| 
 | 
 | ||||||
| %description devel | %description devel | ||||||
| Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed | Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed | ||||||
| @ -79,12 +96,14 @@ developing SDL applications. | |||||||
| 
 | 
 | ||||||
| %package static | %package static | ||||||
| Summary:        Static libraries for SDL2 | Summary:        Static libraries for SDL2 | ||||||
|  | # Needed to keep CMake happy | ||||||
|  | Requires:       %{name}-devel%{?_isa} = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description static | %description static | ||||||
| Static libraries for SDL2. | Static libraries for SDL2. | ||||||
| 
 | 
 | ||||||
| %prep | %prep | ||||||
| %autosetup -p1 | %autosetup -S git | ||||||
| sed -i -e 's/\r//g' TODO.txt README.md WhatsNew.txt BUGS.txt LICENSE.txt CREDITS.txt README-SDL.txt | sed -i -e 's/\r//g' TODO.txt README.md WhatsNew.txt BUGS.txt LICENSE.txt CREDITS.txt README-SDL.txt | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| @ -93,23 +112,23 @@ export LDFLAGS="%{shrink:%{build_ldflags}}" | |||||||
| 
 | 
 | ||||||
| %cmake \ | %cmake \ | ||||||
|     -DSDL_DLOPEN=ON \ |     -DSDL_DLOPEN=ON \ | ||||||
|     -DVIDEO_KMSDRM=ON \ |     -DSDL_VIDEO_KMSDRM=ON \ | ||||||
|     -DARTS=OFF \ |     -DSDL_ARTS=OFF \ | ||||||
|     -DESD=OFF \ |     -DSDL_ESD=OFF \ | ||||||
|     -DNAS=OFF \ |     -DSDL_NAS=OFF \ | ||||||
|     -DPULSEAUDIO_SHARED=ON \ |     -DSDL_PULSEAUDIO_SHARED=ON \ | ||||||
|     -DJACK_SHARED=ON \ |     -DSDL_JACK_SHARED=ON \ | ||||||
|     -DPIPEWIRE_SHARED=ON \ |     -DSDL_PIPEWIRE_SHARED=ON \ | ||||||
|     -DALSA=ON \ |     -DSDL_ALSA=ON \ | ||||||
|     -DVIDEO_WAYLAND=ON \ |     -DSDL_VIDEO_WAYLAND=ON \ | ||||||
|     -DLIBDECOR_SHARED=ON \ |     -DSDL_LIBDECOR_SHARED=ON \ | ||||||
|     -DVIDEO_VULKAN=ON \ |     -DSDL_VIDEO_VULKAN=ON \ | ||||||
|     -DSSE3=OFF \ |     -DSDL_SSE3=OFF \ | ||||||
|     -DRPATH=OFF \ |     -DSDL_RPATH=OFF \ | ||||||
|     -DSDL_STATIC=ON \ |     -DSDL_STATIC=ON \ | ||||||
|     -DSDL_STATIC_PIC=ON \ |     -DSDL_STATIC_PIC=ON \ | ||||||
| %ifarch ppc64le | %ifarch ppc64le | ||||||
|     -DALTIVEC=OFF \ |     -DSDL_ALTIVEC=OFF \ | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %cmake_build | %cmake_build | ||||||
| @ -122,6 +141,11 @@ export LDFLAGS="%{shrink:%{build_ldflags}}" | |||||||
| mv %{buildroot}%{_includedir}/SDL2/SDL_config.h %{buildroot}%{_includedir}/SDL2/SDL_config-%{_arch}.h | mv %{buildroot}%{_includedir}/SDL2/SDL_config.h %{buildroot}%{_includedir}/SDL2/SDL_config-%{_arch}.h | ||||||
| install -p -m 644 %{SOURCE1} %{buildroot}%{_includedir}/SDL2/SDL_config.h | install -p -m 644 %{SOURCE1} %{buildroot}%{_includedir}/SDL2/SDL_config.h | ||||||
| 
 | 
 | ||||||
|  | # Rename SDL_revision.h to SDL_revision-<arch>.h to avoid file conflicts on | ||||||
|  | # multilib systems and install SDL_revision.h wrapper | ||||||
|  | # TODO: Figure out how in the hell the SDL_REVISION changes between architectures on the same SRPM. | ||||||
|  | mv %{buildroot}%{_includedir}/SDL2/SDL_revision.h %{buildroot}%{_includedir}/SDL2/SDL_revision-%{_arch}.h | ||||||
|  | install -p -m 644 %{SOURCE2} %{buildroot}%{_includedir}/SDL2/SDL_revision.h | ||||||
| 
 | 
 | ||||||
| %files | %files | ||||||
| %license LICENSE.txt | %license LICENSE.txt | ||||||
| @ -133,15 +157,30 @@ install -p -m 644 %{SOURCE1} %{buildroot}%{_includedir}/SDL2/SDL_config.h | |||||||
| %{_bindir}/*-config | %{_bindir}/*-config | ||||||
| %{_libdir}/lib*.so | %{_libdir}/lib*.so | ||||||
| %{_libdir}/pkgconfig/sdl2.pc | %{_libdir}/pkgconfig/sdl2.pc | ||||||
| %{_libdir}/cmake/SDL2/ | %dir %{_libdir}/cmake/SDL2 | ||||||
|  | %{_libdir}/cmake/SDL2/SDL2Config*.cmake | ||||||
|  | %{_libdir}/cmake/SDL2/SDL2Targets*.cmake | ||||||
| %{_includedir}/SDL2 | %{_includedir}/SDL2 | ||||||
| %{_datadir}/aclocal/* | %{_datadir}/aclocal/* | ||||||
| 
 | 
 | ||||||
| %files static | %files static | ||||||
| %license LICENSE.txt | %license LICENSE.txt | ||||||
| %{_libdir}/lib*.a | %{_libdir}/lib*.a | ||||||
|  | %{_libdir}/cmake/SDL2/SDL2mainTargets*.cmake | ||||||
|  | %{_libdir}/cmake/SDL2/SDL2staticTargets*.cmake | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Jan 04 2022 Neal Gompa <ngompa@centosproject.org> - 2.0.18-1 | ||||||
|  | - Update to 2.0.18 | ||||||
|  |   Resolves: rhbz#2028076 | ||||||
|  | - Fix multilib conflict with SDL_revision.h (rhbz#2008838) | ||||||
|  | - Backport fix for building against wayland-1.20+ | ||||||
|  | - Add patch to split SDL2 CMake targets for static libraries (rhbz#1965359) | ||||||
|  | 
 | ||||||
|  | * Wed Dec 01 2021 Neal Gompa <ngompa@centosproject.org> - 2.0.16-5 | ||||||
|  | - Re-enable libdecor support now that it's available in RHEL 9 | ||||||
|  |   Resolves: rhbz#2003471 | ||||||
|  | 
 | ||||||
| * Thu Aug 26 2021 Wim Taymans <wtaymans@redhat.com> - 2.0.16-4 | * Thu Aug 26 2021 Wim Taymans <wtaymans@redhat.com> - 2.0.16-4 | ||||||
| - Build with SDL_STATIC_PIC and SDL_STATIC to actually make the | - Build with SDL_STATIC_PIC and SDL_STATIC to actually make the | ||||||
|   static version of SDL2 |   static version of SDL2 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user