From d315b97d22c8038518de0316b35fb8c8a2a06ea9 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 8 Apr 2025 09:37:30 -0400 Subject: [PATCH] media-libs/libsdl2: add 2.32.54 (aka sdl2-compat, unkeyworded) For testing, looking at the upstream issue tracker it is probably still early to have it replace libsdl2 entirely (there's also the qemu static-libs issue, see ebuild comment) but should work in most cases nonetheless. Feel free to opt-in and ideally report issues to sdl's upstream rather than Gentoo unless it looks like a packaging issue (which may well exist, not tested much yet). wrt versions, to clarify, >=x.y.50 are sdl2-compat while =2.32.50. Signed-off-by: Ionen Wolkens --- media-libs/libsdl2/Manifest | 1 + media-libs/libsdl2/libsdl2-2.32.54.ebuild | 43 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 media-libs/libsdl2/libsdl2-2.32.54.ebuild diff --git a/media-libs/libsdl2/Manifest b/media-libs/libsdl2/Manifest index 52d8c98a8a7f6..c634254bc2008 100644 --- a/media-libs/libsdl2/Manifest +++ b/media-libs/libsdl2/Manifest @@ -2,3 +2,4 @@ DIST SDL2-2.30.11.tar.gz 7585207 BLAKE2B e6038cbf79bec299fae9cfdc4b84ff3e28343ab 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.2.tar.gz 7627192 BLAKE2B 5ea13fe60f2388e2ff61f60413ec71be84a429b6b2dbcb98bee8bf59e931396e164347288c68453e2932d9201fc8e53907cfe2fa0e456ae0383edaefa901df9b SHA512 9a608974a69b97fd5589bf8feed4742498f8f07731bcd5b99dd518089acda8b9b4216197b6adf7ca79ef1a9fe47c542033eefe94763e66229b1d9ba5207da5c5 +DIST sdl2-compat-2.32.54.tar.gz 2816984 BLAKE2B 71b28567f0039c1833f3b80f0bc9d025d08d3dc0bc9fe688e18e38064c2ee84149f6e7b66c04004c1d63fd18d141ca2d0a20280a72b12d48fa0f5976a9100cd5 SHA512 857aee92ab78692b9d9fb1734ee8d0bd59cff6d427a4aef8406e98858182299420d1f129676ad9a939e2b263fe7c78991a0a9ff955bae920f5530919a1f9a0ea diff --git a/media-libs/libsdl2/libsdl2-2.32.54.ebuild b/media-libs/libsdl2/libsdl2-2.32.54.ebuild new file mode 100644 index 0000000000000..7451f4d148943 --- /dev/null +++ b/media-libs/libsdl2/libsdl2-2.32.54.ebuild @@ -0,0 +1,43 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="Simple Direct Media Layer 2 compatibility wrapper around SDL3" +HOMEPAGE="https://www.libsdl.org/" +SRC_URI="https://www.libsdl.org/release/sdl2-compat-${PV}.tar.gz" +S=${WORKDIR}/sdl2-compat-${PV} + +LICENSE="ZLIB" +SLOT="0" +# unkeyworded for testing +#KEYWORDS="~amd64" +# this skips most non-compat libsdl2 former IUSE that are not used by revdeps, +# albeit reason that some depend on 'alsa' for should probably be reviewed +# (static-libs left out because it is useless for the app-emulation/qemu +# use case given static sdl2-compat dlopens the shared libsdl3 anyway) +# +# TODO: either update revdeps to have (+) on no-op IUSE (haptic, joystick, +# sound, and video) then cleanup, or don't for less overlay issues and instead +# force in profiles to avoid unnecessary rebuilds -- not forced right now given +# >=2.32.50 would force for a potential future non-compat 2.34.0 fwiw +IUSE="X alsa gles2 +haptic +joystick kms opengl +sound test +video vulkan wayland" +REQUIRED_USE="gles2? ( opengl )" +RESTRICT="!test? ( test )" + +# libsdl3 is dlopen'ed and USE at build time should not matter, it enables +# everything but will not work without libsdl3 support at runtime +RDEPEND=" + media-libs/libsdl3[X?,alsa?,opengl?,vulkan?,wayland?,${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + -DSDL2COMPAT_TESTS=$(usex test) + ) + + cmake-multilib_src_configure +}