The official SDL3 release is out (no longer a RC) https://github.com/libsdl-org/SDL/releases/tag/release-3.2.0
There is also a compat layer https://github.com/libsdl-org/sdl2-compat
Created attachment 917984 [details] a quick and dirty ebuild adapted from libsdl2
I am using since a few days https://www.gentoofan.org/gentoo/poly-c_overlay/media-libs/libsdl3/libsdl3-3.2.0.ebuild with the compat ebuild https://www.gentoofan.org/gentoo/poly-c_overlay/media-libs/libsdl2/ The only thing I noticed was media-libs/gegl-9999 needs #include <stdio.h> https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/208 https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/207 I will open a new bug for gegl, if needed, later.
I'll probably have a look at this now that I need it, may look at simplifying USE a bit while at it so it won't be 1:1 with overlays or libsdl2.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4685f8150932d2c04cfc8c415b567c7a6e550c15 commit 4685f8150932d2c04cfc8c415b567c7a6e550c15 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2025-03-03 16:43:24 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2025-03-05 04:48:46 +0000 media-libs/libsdl3: new package, add 3.2.8 Notable changes compared to libsdl2's ebuild: * drop USE=video/sound/joystick (enabled), very little sense in disabling support entirely incl. dummy outputs without deps, and it is annoying for revdeps to need [joystick,sound,video] everywhere (flipping these can also drop symbols and breaks packages, while with the dummy ones it stays the same) * drop USE=haptic (enabled), not *that* common of a requirement but is trivial and has no dependencies * drop USE=fcitx (ignored), fcitx does not need to be present at build time, and support works through USE=dbus (feels redundant, and ebuild does not need to pull/optfeature fcitx for fcitx users) * drop USE=xscreensaver (enabled), like other optional X libs it feels hardly worth a USE and being disabled by default felt subpar * drop MULTILIB_WRAPPED_HEADERS, unless missing something, this seems no longer seems needed * "tentatively" drop USE=custom-cflags, until recently there was still issues with flags but I believe most of these are resolved (not to mention most were LTO-related and strip-flags no longer filtered it anyway) * merge gles1/gles2/gles3/opengl into USE=opengl, they all have the same dependency and it saves very little to disable unused ones * to add to the above, drop dependency on mesa except for libgbm, it's not the job of the ebuild to check if drivers have support for each, unknown if user is even using mesa or nvidia There are more differences but only listing those due to choices and not due to e.g. SDL3 adding/dropping support for something. Other notes: * The [X?] in libglvnd[X?] is not *required* but it prevents automagic for the GLX support bits * Considered dropping multilib given modern SDL3-only prebuilt games would not be 32bit, but there's the sdl2->3 compat lib to consider when we'll want it in the future and Wine may also end up needing it until the ebuild drops multilib support in favour of USE=wow64 * Hoping have not overlooked cases where libglvnd+vulkan-headers are needed (due to the unbundling inherited from libsdl2), seems to be always needed to build tests for one Some changes may be worth backporting to libsdl2, but not planning to look at that, or at least not right now. Closes: https://bugs.gentoo.org/949110 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> media-libs/libsdl3/Manifest | 1 + media-libs/libsdl3/libsdl3-3.2.8.ebuild | 184 ++++++++++++++++++++++++++++++++ media-libs/libsdl3/metadata.xml | 17 +++ 3 files changed, 202 insertions(+)