# The naming scheme in non-Mandriva-based distros %if 0%{!?mklibname:1} %define mklibname(ds) lib%{1}%{?2:%{2}}%{-s:-static}%{-d:-devel} %endif %if 0%{!?mkrel:1} %define mkrel(c) %{1}%{?dist} %endif %define apiver 3 %define major 0 %define libname %mklibname sdl %{apiver} %{major} %define develname %mklibname sdl %{apiver} -d Name: sdl3 Version: 3.2.4 Release: %mkrel 1 Summary: Simple DirectMedia Layer Library 3 License: Zlib Group: System/Libraries URL: https://libsdl.org/ Source: https://github.com/libsdl-org/SDL/releases/download/release-%{version}/SDL3-%{version}.tar.gz BuildRequires: cmake BuildRequires: gcc BuildRequires: pkgconfig(libdecor-0) BuildRequires: pkgconfig(alsa) >= 1.0.11 BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(fcitx) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(ibus-1.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(jack) # KMS/DRM driver needs libdrm and libgbm BuildRequires: pkgconfig(gbm) >= 11.1.0 BuildRequires: pkgconfig(libdrm) >= 2.4.82 BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.20 BuildRequires: pkgconfig(libpulse-simple) >= 0.9 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(sndio) BuildRequires: pkgconfig(udev) BuildRequires: pkgconfig(wayland-client) >= 1.18 BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xxf86vm) %description This is the "Simple DirectMedia Layer 3" library. It provides a generic API for access to audio, keyboard, mouse, and display framebuffer across multiple platforms. SDL fully supports high end 3D graphics using Direct3D and OpenGL, and has a 2D graphics API for emulators and classic games. %package -n %{libname} Summary: Simple DirectMedia Layer Library 3 Group: System/Libraries %description -n %{libname} This is the "Simple DirectMedia Layer" library 3. It provides a generic API for access to audio, keyboard, mouse, and display framebuffer across multiple platforms. SDL uses dlopen, so if you experience problems under X11, check again that libXrandr2 and libXi6 are in fact installed. %package -n %{develname} Summary: Headers for developing programs that use %{name} Group: Development/C++ Requires: %{libname} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Provides: SDL%{apiver}-devel = %{version}-%{release} Requires: pkgconfig(gl) Requires: pkgconfig(glesv1_cm) Requires: pkgconfig(glesv2) Requires: pkgconfig(glu) Requires: pkgconfig(x11) Requires: pkgconfig(xproto) %description -n %{develname} This package contains the headers that programmers will need to develop applications which will use %{name}. %prep %autosetup -p1 -n SDL3-%{version} %build %cmake \ %ifarch %{ix86} -DSDL_MMX:BOOL=OFF \ -DSDL_SSE:BOOL=OFF \ -DSDL_SSE2:BOOL=OFF \ %endif -DSDL_SSE3:BOOL=OFF \ -DSDL_ALSA_SHARED:BOOL=OFF \ -DSDL_JACK_SHARED:BOOL=OFF \ -DSDL_PIPEWIRE_SHARED:BOOL=OFF \ -DSDL_PULSEAUDIO_SHARED:BOOL=OFF \ -DSDL_X11_SHARED:BOOL=OFF \ -DSDL_WAYLAND_SHARED:BOOL=OFF \ -DSDL_WAYLAND_LIBDECOR_SHARED=OFF \ -DSDL_KMSDRM_SHARED:BOOL=OFF \ -DSDL_STATIC:BOOL=OFF \ -DSDL_RPATH:BOOL=OFF \ -DSDL_INSTALL_DOCS:BOOL=ON \ -DSDL_TEST_LIBRARY:BOOL=OFF %cmake_build %install %cmake_install rm -rf %{buildroot}%{_datadir}/licenses/SDL3/LICENSE.txt %files -n %{libname} %license LICENSE.txt %doc BUGS.txt CREDITS.md README.md %{_libdir}/libSDL3.so.%{major}{,.*} %files -n %{develname} %doc README.md WhatsNew.txt %{_includedir}/SDL3/ %{_libdir}/libSDL3.so %{_libdir}/cmake/SDL3/ %{_libdir}/pkgconfig/%{name}.pc %{_mandir}/man3/SDL*.3*