[packages/SDL3] up to 3.2.6

atler atler at pld-linux.org
Sun Mar 2 15:56:19 CET 2025


commit a5887f3c93f598c2dd0f4bedbcf688b1e0e2ca36
Author: Jan Palus <atler at pld-linux.org>
Date:   Sun Mar 2 15:17:22 2025 +0100

    up to 3.2.6

 SDL2-config.patch      |  17 ------
 SDL2.spec => SDL3.spec | 156 ++++++++++++++++++++++---------------------------
 2 files changed, 69 insertions(+), 104 deletions(-)
---
diff --git a/SDL2.spec b/SDL3.spec
similarity index 71%
rename from SDL2.spec
rename to SDL3.spec
index 27b1a77..2f8a422 100644
--- a/SDL2.spec
+++ b/SDL3.spec
@@ -1,10 +1,6 @@
 #
 # Conditional build:
-%bcond_with	directfb	# DirectFB graphics support
-%bcond_with	nas		# NAS audio support
 %bcond_without	alsa		# ALSA audio support
-%bcond_with	arts		# aRts audio support
-%bcond_with	esd		# EsounD audio support
 %bcond_with	jack		# JACK audio support
 %bcond_without	opengl		# OpenGL (GLX) support
 %bcond_without	gles		# OpenGL ES (EGL) support
@@ -12,28 +8,30 @@
 %bcond_without	pipewire	# Pipewire audio support
 %bcond_without	vulkan		# Vulkan graphics support
 %bcond_without	wayland		# Wayland graphics support
-%bcond_without	fcitx		# Fcitx IM support
 %bcond_without	ibus		# IBus IM support
 %bcond_without	static_libs	# don't build static libraries
+%bcond_with	avx		# AVX instructions
+%bcond_with	avx2		# AVX2 instructions
+%bcond_with	avx512f		# AVX512F instructions
 %bcond_with	mmx		# MMX instructions
+%bcond_with	neon		# NEON instructions
 %bcond_with	sse		# SSE instructions
 %bcond_with	sse2		# SSE2 instructions
-%bcond_with	3dnow		# 3Dnow! instructions
+%bcond_with	sse3		# SSE3 instructions
+%bcond_with	sse41		# SSE4.1 instructions
+%bcond_with	sse42		# SSE4.2 instructions
 %bcond_with	altivec		# Altivec instructions
 #
 # NOTE: the following libraries are dlopened by soname detected at build time:
-# libartsc.so.?			[if with arts]
 # libasound.so.2		[if with alsa]
-# libaudio.so.2			[if with nas]
-# libdirectfb-*.so --needs patch (-release not supported by configure)
+# libdecor-0.so.0		[if with wayland]
 # libdrm.so.2			[if with kms]
-# libesd.so.0			[if with esd]
-# libfusionsound-*.so --needs patch (-release not supported by configure)
 # libgbm.so.1			[if with kms]
 # libjack.so.0			[if with jack]
 # libpipewire-0.3.so.0
 # libpulse-simple.so.0
-# libsamplerate.so.0
+# libudev.so.1
+# libusb-1.0.so.0
 # libwayland-client.so.0	[if with wayland]
 # libwayland-cursor.so.0	[if with wayland]
 # libwayland-egl.so.1		[if with wayland]
@@ -41,13 +39,11 @@
 # libX11.so.6
 # libXcursor.so.1
 # libXext.so.6
+# libXfixes.so.3
 # libXi.so.6
 # libXrandr.so.2
 # libXrender.so.1
 # libXss.so.1
-%ifarch k6 athlon
-%define	with_3dnow	1
-%endif
 %ifarch %{x8664} x32 pentium2 pentium3 pentium4 athlon
 %define	with_mmx	1
 %endif
@@ -57,46 +53,44 @@
 %ifarch %{x8664} x32 pentium4
 %define	with_sse2	1
 %endif
+%ifarch %{arm_with_neon}
+%define	with_neon	1
+%endif
 Summary:	SDL (Simple DirectMedia Layer) - Game/Multimedia Library
 Summary(pl.UTF-8):	SDL (Simple DirectMedia Layer) - Biblioteka do gier/multimediów
 Summary(zh_CN.UTF-8):	SDL (Simple DirectMedia Layer) Generic APIs - 游戏/多媒体库
-Name:		SDL2
-Version:	2.32.2
+Name:		SDL3
+Version:	3.2.6
 Release:	1
 License:	Zlib (BSD-like)
 Group:		Libraries
 Source0:	http://www.libsdl.org/release/%{name}-%{version}.tar.gz
-# Source0-md5:	3dbb100178a1f37fa96dfc63c8a23367
-Patch0:		%{name}-config.patch
+# Source0-md5:	2afa7b64f784216cde2c16bbebc544b1
 URL:		http://www.libsdl.org/
 %{?with_kms:BuildRequires:	Mesa-libgbm-devel >= 11.1.0}
-%{?with_directfb:BuildRequires:	DirectFB-devel >= 1.0.0}
-%if %{with opengl} || %{with gles}
+%if %{with opengl} || %{with gles} || %{with wayland}
 BuildRequires:	EGL-devel
 %endif
-%{?with_directfb:BuildRequires:	FusionSound-devel >= 1.1.1}
 %{?with_opengl:BuildRequires:	OpenGL-GLX-devel}
+%{?with_opengl:BuildRequires:	OpenGL-devel}
 %{?with_gles:BuildRequires:	OpenGLES-devel}
+%{?with_gles:BuildRequires:	OpenGLESv2-devel}
 %{?with_alsa:BuildRequires:	alsa-lib-devel >= 1.0.11}
-%{?with_arts:BuildRequires:	artsc-devel >= 1.1}
-BuildRequires:	autoconf >= 2.65
-BuildRequires:	automake
+BuildRequires:	cmake >= 3.16
 BuildRequires:	dbus-devel
-%{?with_esd:BuildRequires:	esound-devel >= 0.2.8}
-%{?with_fcitx:BuildRequires:	fcitx-devel}
 BuildRequires:	gcc >= 5:4.0
-BuildRequires:	hidapi-devel
 %{?with_ibus:BuildRequires:	ibus-devel >= 1.0}
 %{?with_jack:BuildRequires:	jack-audio-connection-kit-devel >= 0.125}
+%{?with_wayland:BuildRequires:	libdecor-devel >= 0.2.0}
 %{?with_kms:BuildRequires:	libdrm-devel >= 1.4.82}
-BuildRequires:	libsamplerate-devel
-BuildRequires:	libtool >= 2:2.0
-%{?with_nas:BuildRequires:	nas-devel}
+BuildRequires:	liburing-ffi-devel
+BuildRequires:	libusb-devel >= 1.0.16
 BuildRequires:	perl-modules
-%{?with_pipewire:BuildRequires:	pipewire-devel >= 0.3.20}
+%{?with_pipewire:BuildRequires:	pipewire-devel >= 0.3.44}
 BuildRequires:	pkgconfig >= 1:0.7
 BuildRequires:	pulseaudio-devel >= 0.9.15
 BuildRequires:	rpm-build >= 4.6
+BuildRequires:	rpmbuild(macros) >= 2.007
 BuildRequires:	udev-devel
 # wayland-client, wayland-cursor
 %{?with_wayland:BuildRequires:	wayland-devel >= 1.18}
@@ -105,6 +99,7 @@ BuildRequires:	xorg-lib-libX11-devel
 BuildRequires:	xorg-lib-libXScrnSaver-devel
 BuildRequires:	xorg-lib-libXcursor-devel
 BuildRequires:	xorg-lib-libXext-devel
+BuildRequires:	xorg-lib-libXfixes-devel
 BuildRequires:	xorg-lib-libXi-devel
 BuildRequires:	xorg-lib-libXrandr-devel
 BuildRequires:	xorg-lib-libXrender-devel
@@ -149,8 +144,7 @@ Summary(ru.UTF-8):	Файлы, необходимые для разработк
 Summary(uk.UTF-8):	Файли, необхідні для розробки програм, що використовують SDL
 Summary(zh_CN.UTF-8):	SDL (Simple DirectMedia Layer) 开发库
 Group:		Development/Libraries
-Requires:	%{name} = %{version}-%{release}
-%{?with_directfb:Requires:	DirectFB-devel >= 1.0.0}
+Requires:	%{name}%{?_isa} = %{version}-%{release}
 Requires:	xorg-lib-libX11-devel
 Suggests:	OpenGL-GLU-devel
 
@@ -179,7 +173,7 @@ Summary(pt_BR.UTF-8):	Biblioteca estática para desenvolvimento de aplicações
 Summary(ru.UTF-8):	Статические библиотеки для разработки с использованием SDL
 Summary(uk.UTF-8):	Статичні бібліотеки для розробки з використанням SDL
 Group:		Development/Libraries
-Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-devel%{?_isa} = %{version}-%{release}
 
 %description static
 SDL - static libraries.
@@ -214,49 +208,44 @@ SDL - przykładowe programy.
 
 %prep
 %setup -q
-%patch -P0 -p1
+
+%{__sed} -i -e '1s,.*env python\b,#!%{__python3},' test/emscripten/{driver,server}.py
 
 %build
-%{__libtoolize}
-%{__aclocal} -I acinclude
-%{__autoconf}
-%configure \
-	%{?with_3dnow:--enable-3dnow} \
-	%{!?with_alsa:--disable-alsa} \
-	%{!?with_altiveca:--disable-altivec} \
-	%{!?with_arts:--disable-arts} \
-	%{!?with_esd:--disable-esd} \
-	%{!?with_fcitx:--disable-fcitx} \
-	%{!?with_ibus:--disable-ibus} \
-	%{!?with_jack:--disable-jack} \
-	%{!?with_mmx:--disable-mmx} \
-	%{!?with_nas:--disable-nas} \
-	%{!?with_pipewire:--disable-pipewire} \
-	--enable-pthreads \
-	--enable-pthread-sem \
-	--disable-rpath \
-	%{!?with_sse:--disable-sse --disable-ssemath} \
-	%{!?with_sse2:--disable-sse2} \
-	%{?with_sse:--enable-ssemath} \
-	%{!?with_static_libs:--disable-static} \
-	%{!?with_directfb:--disable-video-directfb} \
-	%{?with_kms:--enable-video-kmsdrm} \
-	--enable-video-opengl%{!?with_opengl:=no} \
-	--enable-video-opengles%{!?with_gles:=no} \
-	--enable-video-vulkan%{!?with_vulkan:=no} \
-	--enable-video-wayland%{!?with_wayland:=no} \
-	--with-x
-
-%{__make} \
-	V=1
+%cmake -B build \
+	%{cmake_on_off alsa SDL_ALSA} \
+	%{cmake_on_off altivec SDL_ALTIVEC} \
+	%{cmake_on_off neon SDL_ARMNEON} \
+	%{cmake_on_off avx SDL_AVX} \
+	%{cmake_on_off avx2 SDL_AVX2} \
+	%{cmake_on_off avx512f SDL_AVX512F} \
+	%{cmake_on_off ibus SDL_IBUS} \
+	%{cmake_on_off jack SDL_JACK} \
+	%{cmake_on_off mmx SDL_MMX} \
+	%{cmake_on_off pipewire SDL_PIPEWIRE} \
+	-DSDL_PTHREADS:BOOL=ON \
+	-DSDL_PTHREADS_SEM:BOOL=ON \
+	-DSDL_RPATH:BOOL=OFF \
+	%{cmake_on_off sse SDL_SSE} \
+	%{cmake_on_off sse2 SDL_SSE2} \
+	%{cmake_on_off sse41 SDL_SSE4_1} \
+	%{cmake_on_off sse42 SDL_SSE4_2} \
+	%{cmake_on_off static_libs SDL_STATIC} \
+	%{cmake_on_off kms SDL_KMSDRM} \
+	%{cmake_on_off opengl SDL_OPENGL} \
+	%{cmake_on_off gles SDL_OPENGLES} \
+	%{cmake_on_off vulkan SDL_VULKAN} \
+	%{cmake_on_off wayland SDL_WAYLAND} \
+	-DSDL_X11:BOOL=ON
+
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-%{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT \
-	m4datadir=%{_aclocaldir}
+%{__make} -C build install \
+	DESTDIR=$RPM_BUILD_ROOT
 
 cp -pr test/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
@@ -268,29 +257,22 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-# non-Linux READMEs packaged for portability information
-%doc BUGS.txt CREDITS.txt LICENSE.txt README*.txt TODO.txt WhatsNew.txt
-%attr(755,root,root) %{_libdir}/libSDL2-2.0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libSDL2-2.0.so.0
+%doc BUGS.txt CREDITS.md LICENSE.txt README.md WhatsNew.txt
+%attr(755,root,root) %{_libdir}/libSDL3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libSDL3.so.0
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/sdl2-config
-%attr(755,root,root) %{_libdir}/libSDL2.so
-%{_libdir}/libSDL2.la
-%{_libdir}/libSDL2_test.a
-%{_libdir}/libSDL2_test.la
-%{_libdir}/libSDL2main.a
-%{_libdir}/libSDL2main.la
-%{_includedir}/SDL2
-%{_aclocaldir}/sdl2.m4
-%{_pkgconfigdir}/sdl2.pc
-%{_libdir}/cmake/SDL2
+%attr(755,root,root) %{_libdir}/libSDL3.so
+%{_libdir}/libSDL3_test.a
+%{_includedir}/SDL3
+%{_pkgconfigdir}/sdl3.pc
+%{_libdir}/cmake/SDL3
 
 %if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/libSDL2.a
+%{_libdir}/libSDL3.a
 %endif
 
 %files examples
diff --git a/SDL2-config.patch b/SDL2-config.patch
deleted file mode 100644
index 8040af3..0000000
--- a/SDL2-config.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- SDL2-2.24.0/sdl2-config.in.orig	2022-08-19 19:06:52.080709841 +0200
-+++ SDL2-2.24.0/sdl2-config.in	2022-08-19 19:07:49.427138664 +0200
-@@ -49,12 +49,12 @@
-       echo -I at includedir@/SDL2 @SDL_CFLAGS@
-       ;;
- @ENABLE_SHARED_TRUE@    --libs)
-- at ENABLE_SHARED_TRUE@      echo -L at libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
-+ at ENABLE_SHARED_TRUE@      echo @SDL_RLD_FLAGS@ @SDL_LIBS@
- @ENABLE_SHARED_TRUE@      ;;
- @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@    --static-libs)
- @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@    --libs|--static-libs)
- @ENABLE_STATIC_TRUE@      sdl_static_libs=$(echo "@SDL_LIBS@ @SDL_STATIC_LIBS@" | sed -E "s#-lSDL2[ $]#$libdir/libSDL2.a #g")
-- at ENABLE_STATIC_TRUE@      echo -L at libdir@ $sdl_static_libs
-+ at ENABLE_STATIC_TRUE@      echo $sdl_static_libs
- @ENABLE_STATIC_TRUE@      ;;
-     *)
-       echo "${usage}" 1>&2
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/SDL3.git/commitdiff/a5887f3c93f598c2dd0f4bedbcf688b1e0e2ca36



More information about the pld-cvs-commit mailing list