commit: 02adfab62d148a421ee10a14a1dd8c543d37b729 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Feb 28 22:20:14 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Feb 28 22:21:44 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02adfab6
media-libs/libsdl2: add 2.32.10 Noticed this when looking at the bug, but nothing in there looks like it should fix it. I'll also file stablereqs for the latest sdl2-* stuff. Bug: https://bugs.gentoo.org/970706 Signed-off-by: Sam James <sam <AT> gentoo.org> media-libs/libsdl2/Manifest | 1 + .../files/libsdl2-2.32.10-alsa-prototype.patch | 21 ++ media-libs/libsdl2/libsdl2-2.32.10.ebuild | 217 +++++++++++++++++++++ 3 files changed, 239 insertions(+) diff --git a/media-libs/libsdl2/Manifest b/media-libs/libsdl2/Manifest index c55aa6832e06..7903f13fbf65 100644 --- a/media-libs/libsdl2/Manifest +++ b/media-libs/libsdl2/Manifest @@ -1,6 +1,7 @@ DIST SDL2-2.30.11.tar.gz 7585207 BLAKE2B e6038cbf79bec299fae9cfdc4b84ff3e28343abe782942af17e052d7da93111ea04a2ae15b063bfa0ad0d13a1810890dd29d895189f7f417f1bccce715badde1 SHA512 cd4c040ebe4ec74250e32b401a292658353721dda30ad1066522b2a9de9a07560313978880a0bad7e7f5103cc14278fcbe27dbc5a188189e7fb6f097e7308550 DIST SDL2-2.30.7.tar.gz 7525092 BLAKE2B a494ca856f43009957f62ef4e5d401777c2d1f8518e4cc1a1b9fc9a2efedc5031b9cb5e2965aeb7347821310153cf3abc4c898dd493962fb268c5c55081ed7c3 SHA512 1a16c10f500dea97bd4e4ca5f560fe4ab8e746c975d30751b7cf567868743d105ce84055d480e4c18b290adac485e67d1bb14ae1719644d6e42223d96f299a16 DIST SDL2-2.32.0.tar.gz 7625288 BLAKE2B 491796e2b222a49eaead76e60bb6e58bed881667cc61d0ba81ed0e083134b6b13089ca2c4658f6576b2924ddeaffcc9ff5c7532841e7b0797c6bd1769ad74a53 SHA512 a91b8105125f06118e8bfce2a5553fe053f7158dd02f06a36cfc535f09c401eb7da11072e576c6bf6e41fa2e02b08483b9cc4e11c658578b762e1b6c326a45bb +DIST SDL2-2.32.10.tar.gz 7630262 BLAKE2B 932eb4b2994aba27390c3e2c205e359229093f78f591c5fe91f2463344554b40ece92dc8f3a9853d152e917a4317123cc260ddb9a3e140f1f68bf6b6a3de7d74 SHA512 b67ebdb46bc3b41c974113937e15445e47a6e115692761e2812c3965e85b9ca4d804633de6369fa3dd36cc77f5d08655570c1707245b2c46f88114aa3238fd1b DIST SDL2-2.32.2.tar.gz 7627192 BLAKE2B 5ea13fe60f2388e2ff61f60413ec71be84a429b6b2dbcb98bee8bf59e931396e164347288c68453e2932d9201fc8e53907cfe2fa0e456ae0383edaefa901df9b SHA512 9a608974a69b97fd5589bf8feed4742498f8f07731bcd5b99dd518089acda8b9b4216197b6adf7ca79ef1a9fe47c542033eefe94763e66229b1d9ba5207da5c5 DIST SDL2-2.32.4.tar.gz 7627336 BLAKE2B 55a24c75c90d77358b647d44c05525ee00bc69f6ed662894bfc32a26dee816254e5ce4a6ab0fdd20e6854b46ff222a13ed83a08d94595e2c26b8bf65e8e012fb SHA512 36e2f9cc743703f03a4fa161b5a8134ded58be8952cd4a1e019ea013c744ece2ef83eac7a79257ee4ce9190dc79d33108cb6f2613d7f935aebe50af8be100a7b DIST SDL2-2.32.6.tar.gz 7627447 BLAKE2B d08c733d87af036e8a015a4ef313bbdf4049d7ddc3968693a820ea69e473f2df486eda02303d8fd6b33c2d166dcb7dee7ac0cba19e0b8198c80db7d996fe4702 SHA512 2dae8ae9f10e160a50f625daddad891d25e782130e5a5e3f02079d94ab8858aca92ab8871ab19fdf5be6aca83ffeb9c1ea03949841c2506066f12d2bf2332d47 diff --git a/media-libs/libsdl2/files/libsdl2-2.32.10-alsa-prototype.patch b/media-libs/libsdl2/files/libsdl2-2.32.10-alsa-prototype.patch new file mode 100644 index 000000000000..8ae0b81784fa --- /dev/null +++ b/media-libs/libsdl2/files/libsdl2-2.32.10-alsa-prototype.patch @@ -0,0 +1,21 @@ +https://github.com/libsdl-org/SDL/issues/13845 +https://github.com/libsdl-org/SDL/commit/05c9b16183743925e59a489c4348141c8a050603 + +From 05c9b16183743925e59a489c4348141c8a050603 Mon Sep 17 00:00:00 2001 +From: Ozkan Sezer <[email protected]> +Date: Tue, 2 Sep 2025 17:02:28 +0300 +Subject: [PATCH] alsa: fix signature of snd_pcm_info_free + +Reference issue: https://github.com/libsdl-org/SDL/issues/13845. +--- a/src/audio/alsa/SDL_alsa_audio.c ++++ b/src/audio/alsa/SDL_alsa_audio.c +@@ -88,7 +88,7 @@ static const char *(*ALSA_snd_pcm_info_get_name)(const snd_pcm_info_t *); + static int (*ALSA_snd_pcm_info_get_card)(const snd_pcm_info_t *); + static int (*ALSA_snd_card_get_name)(int, char **); + static int (*ALSA_snd_pcm_info_malloc)(snd_pcm_info_t **); +-static int (*ALSA_snd_pcm_info_free)(snd_pcm_info_t *); ++static void (*ALSA_snd_pcm_info_free)(snd_pcm_info_t *); + #ifdef SND_CHMAP_API_VERSION + static snd_pcm_chmap_t *(*ALSA_snd_pcm_get_chmap)(snd_pcm_t *); + static int (*ALSA_snd_pcm_chmap_print)(const snd_pcm_chmap_t *map, size_t maxlen, char *buf); + diff --git a/media-libs/libsdl2/libsdl2-2.32.10.ebuild b/media-libs/libsdl2/libsdl2-2.32.10.ebuild new file mode 100644 index 000000000000..774226d395ab --- /dev/null +++ b/media-libs/libsdl2/libsdl2-2.32.10.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib dot-a flag-o-matic + +MY_P="SDL2-${PV}" +DESCRIPTION="Simple Direct Media Layer" +HOMEPAGE="https://www.libsdl.org/" +SRC_URI="https://www.libsdl.org/release/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +IUSE="alsa aqua cpu_flags_ppc_altivec cpu_flags_x86_3dnow cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 custom-cflags dbus doc fcitx gles1 gles2 +haptic ibus jack +joystick kms libsamplerate nas opengl oss pipewire pulseaudio sndio +sound static-libs test udev +video vulkan wayland X xscreensaver" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + alsa? ( sound ) + fcitx? ( dbus ) + gles1? ( video ) + gles2? ( video ) + haptic? ( joystick ) + ibus? ( dbus ) + jack? ( sound ) + kms? ( || ( gles1 gles2 opengl ) ) + nas? ( sound ) + opengl? ( video ) + pulseaudio? ( sound ) + sndio? ( sound ) + test? ( static-libs ) + vulkan? ( video ) + wayland? ( gles2 ) + xscreensaver? ( X ) +" + +COMMON_DEPEND=" + virtual/libiconv[${MULTILIB_USEDEP}] + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] ) + ibus? ( app-i18n/ibus ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + kms? ( + >=x11-libs/libdrm-2.4.82[${MULTILIB_USEDEP}] + >=media-libs/mesa-9.0.0[${MULTILIB_USEDEP},gbm(+)] + ) + libsamplerate? ( media-libs/libsamplerate[${MULTILIB_USEDEP}] ) + nas? ( + >=media-libs/nas-1.9.4[${MULTILIB_USEDEP}] + >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}] + ) + opengl? ( + >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] + >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}] + ) + pipewire? ( media-video/pipewire:=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) + udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] ) + wayland? ( + >=dev-libs/wayland-1.20[${MULTILIB_USEDEP}] + gui-libs/libdecor[${MULTILIB_USEDEP}] + >=media-libs/mesa-9.1.6[${MULTILIB_USEDEP},egl(+),gles2(+),wayland] + >=x11-libs/libxkbcommon-0.2.0[${MULTILIB_USEDEP}] + ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXcursor-1.1.14[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXfixes-6.0.0[${MULTILIB_USEDEP}] + >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}] + >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}] + xscreensaver? ( >=x11-libs/libXScrnSaver-1.2.2-r1[${MULTILIB_USEDEP}] ) + ) +" +RDEPEND=" + ${COMMON_DEPEND} + fcitx? ( app-i18n/fcitx:* ) + gles1? ( media-libs/mesa[${MULTILIB_USEDEP},gles1(+)] ) + gles2? ( media-libs/mesa[${MULTILIB_USEDEP},gles2(+)] ) + vulkan? ( media-libs/vulkan-loader ) +" +DEPEND=" + ${COMMON_DEPEND} + gles1? ( media-libs/libglvnd ) + gles2? ( media-libs/libglvnd ) + ibus? ( dev-libs/glib:2[${MULTILIB_USEDEP}] ) + test? ( x11-libs/libX11[${MULTILIB_USEDEP}] ) + vulkan? ( dev-util/vulkan-headers ) + X? ( x11-base/xorg-proto ) +" +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen + media-gfx/graphviz + ) + wayland? ( >=dev-util/wayland-scanner-1.20 ) +" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/SDL2/SDL_config.h + /usr/include/SDL2/SDL_platform.h + /usr/include/SDL2/begin_code.h + /usr/include/SDL2/close_code.h +) + +PATCHES=( + "${FILESDIR}"/libsdl2-2.32.0-fix-tests-for-disabled-vulkan-and-gles.patch + "${FILESDIR}"/libsdl2-2.32.10-alsa-prototype.patch +) + +src_prepare() { + cmake_src_prepare + + # Unbundle some headers. + rm -r src/video/khronos || die + ln -s "${ESYSROOT}/usr/include" src/video/khronos || die +} + +src_configure() { + use custom-cflags || strip-flags + lto-guarantee-fat + + local mycmakeargs=( + -DSDL_STATIC=$(usex static-libs) + -DSDL_SYSTEM_ICONV=ON + -DSDL_GCC_ATOMICS=ON + -DSDL_AUDIO=$(usex sound) + -DSDL_VIDEO=$(usex video) + -DSDL_JOYSTICK=$(usex joystick) + -DSDL_HAPTIC=$(usex haptic) + -DSDL_POWER=ON + -DSDL_FILESYSTEM=ON + -DSDL_TIMERS=ON + -DSDL_FILE=ON + -DSDL_LOADSO=ON + -DSDL_ASSEMBLY=ON + -DSDL_ALTIVEC=$(usex cpu_flags_ppc_altivec) + -DSDL_SSEMATH=$(usex cpu_flags_x86_sse) + -DSDL_MMX=$(usex cpu_flags_x86_mmx) + -DSDL_3DNOW=$(usex cpu_flags_x86_3dnow) + -DSDL_SSE=$(usex cpu_flags_x86_sse) + -DSDL_SSE2=$(usex cpu_flags_x86_sse2) + -DSDL_SSE3=$(usex cpu_flags_x86_sse3) + -DSDL_OSS=$(usex oss) + -DSDL_ALSA=$(usex alsa) + -DSDL_ALSA_SHARED=OFF + -DSDL_JACK=$(usex jack) + -DSDL_JACK_SHARED=OFF + -DSDL_ESD=OFF + -DSDL_PIPEWIRE=$(usex pipewire) + -DSDL_PIPEWIRE_SHARED=OFF + -DSDL_PULSEAUDIO=$(usex pulseaudio) + -DSDL_PULSEAUDIO_SHARED=OFF + -DSDL_ARTS=OFF + -DSDL_LIBSAMPLERATE=$(usex libsamplerate) + -DSDL_LIBSAMPLERATE_SHARED=OFF + -DSDL_WERROR=OFF + -DSDL_NAS=$(usex nas) + -DSDL_NAS_SHARED=OFF + -DSDL_SNDIO=$(usex sndio) + -DSDL_SNDIO_SHARED=OFF + -DSDL_DISKAUDIO=$(usex sound) + -DSDL_DUMMYAUDIO=$(usex sound) + -DSDL_WAYLAND=$(usex wayland) + -DSDL_WAYLAND_SHARED=OFF + -DSDL_WAYLAND_LIBDECOR=$(usex wayland) + -DSDL_WAYLAND_LIBDECOR_SHARED=OFF + -DSDL_RPI=OFF + -DSDL_X11=$(usex X) + -DSDL_X11_SHARED=OFF + -DSDL_X11_XSCRNSAVER=$(usex xscreensaver) + -DSDL_COCOA=$(usex aqua) + -DSDL_DIRECTFB=OFF + -DSDL_FUSIONSOUND=OFF + -DSDL_KMSDRM=$(usex kms) + -DSDL_KMSDRM_SHARED=OFF + -DSDL_DUMMYVIDEO=$(usex video) + -DSDL_OPENGL=$(usex opengl) + -DSDL_OPENGLES=$(use gles1 || use gles2 && echo ON || echo OFF) + -DSDL_VULKAN=$(usex vulkan) + -DSDL_LIBUDEV=$(usex udev) + -DSDL_DBUS=$(usex dbus) + -DSDL_IBUS=$(usex ibus) + -DSDL_CCACHE=OFF + -DSDL_DIRECTX=OFF + -DSDL_RPATH=OFF + -DSDL_VIDEO_RENDER_D3D=OFF + -DSDL_TESTS=$(usex test) + ) + cmake-multilib_src_configure +} + +src_compile() { + multilib-minimal_src_compile + + if use doc; then + cd docs || die + doxygen || die + fi +} + +src_test() { + # Unset all SDL_* variables as they cause issues for tests. + unset "${!SDL_@}" + cmake-multilib_src_test +} + +multilib_src_install_all() { + rm -r "${ED}"/usr/share/licenses/ || die + dodoc {BUGS,CREDITS,README-SDL,TODO,WhatsNew}.txt README.md docs/README*.md + use doc && dodoc -r docs/output/html/ + strip-lto-bytecode "${ED}" +}
