summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2024-04-13 22:56:35 +0100
committerJames Le Cuirot <chewi@gentoo.org>2024-04-13 23:01:19 +0100
commit3867373890791642ee64a315e067bbd3a8ca62f1 (patch)
tree5f6068ef2ed461a0ba1881a000eab4e21603cbba /media-libs/libsdl2
parentx11-plugins/wmpop3: Stabilize 0.5.6a-r2 x86, #929959 (diff)
downloadgentoo-3867373890791642ee64a315e067bbd3a8ca62f1.tar.gz
gentoo-3867373890791642ee64a315e067bbd3a8ca62f1.tar.bz2
gentoo-3867373890791642ee64a315e067bbd3a8ca62f1.zip
media-libs/libsdl2: Bump to 2.30.2, migrate to CMake
SDL3 only suppports CMake, and we have seen issues with flags not being respected in the tests under Autotools. There are CMake options for nearly every configure option we were using before. I have kept the options in the same order for easier comparison, at least for now. There is no way to explicitly select gles1 or gles2, only gles in general. Detection is performed for each at build time, but this will always succeed as libglvnd covers them both. Detection is also performed at runtime, so the usual auto-magic concerns don't apply here. Closes: https://bugs.gentoo.org/929065 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'media-libs/libsdl2')
-rw-r--r--media-libs/libsdl2/Manifest1
-rw-r--r--media-libs/libsdl2/libsdl2-2.30.2.ebuild205
2 files changed, 206 insertions, 0 deletions
diff --git a/media-libs/libsdl2/Manifest b/media-libs/libsdl2/Manifest
index da206de2e72c..fccd26d09142 100644
--- a/media-libs/libsdl2/Manifest
+++ b/media-libs/libsdl2/Manifest
@@ -3,3 +3,4 @@ DIST SDL2-2.28.3.tar.gz 7340914 BLAKE2B 1ef8950b7736fbbca4607ed9750114f94b8e6e94
DIST SDL2-2.28.4.tar.gz 7344208 BLAKE2B 03d1fec4c9c43d5b906ec9fafd69b75040f7c80696d9097b03c33a93760e579ff677b1dd9385c77d44209a5a8dbb295074d47595b8a2e39f00bc11ad32b7f154 SHA512 16950ccedcfdef42ee6eba1a6bf09ed7231ea0205fe8600388de2aed1aba94da2e5450d16e9732dce9f12569a238730b3727bf64b8699f1fed4cb3c5c94c3eaa
DIST SDL2-2.28.5.tar.gz 7345355 BLAKE2B c96481bc02af6b6d077247238f7e46b0e3ec216664584add29cafb0a91d06dc6ddc637a01519dbd7182d4fa59cfaf26ad6733f72583021cf65849416f9c4b698 SHA512 12593eb78fcca877a8dfb78cf21a4e6feba7dc87c964de378ac462b36d8e41ecb587222cb41d5f56dd35b838e1b9867b8ae0cf2f4d2a01afaf23ac8c11edc84d
DIST SDL2-2.30.1.tar.gz 7428023 BLAKE2B 5cc651bcb38a1a3989a966351074b1a77f511b5bef0d3c9aef06d67d89f1d0ee926f5cba4bf2d45be28bb3f1e9da9b3f17a85f094c8547586072b24ee342777d SHA512 bb1863310d627e7b49cfc31bea7eb9100da1908cd83a97c533c28a2e32eac377c72dde83d2c2c4791007f534ea2e5ec8b1ac545a0d2e291dfdce1734a727c4af
+DIST SDL2-2.30.2.tar.gz 7426565 BLAKE2B 258084c6965281951b78619d7ebcd80b0f6873f54ded93d35b6b898f0533fef9a29bef4a8babe53df50bc589b0565b3a3b1378a930b43fdce575c4a5baa70864 SHA512 19316bb4c483a8c4be2140b70d906b7767beabada481873217a9207bd41e79c1854a837e1394325f59795da010f5344f791a7973a846b8189e3f9b662f408aca
diff --git a/media-libs/libsdl2/libsdl2-2.30.2.ebuild b/media-libs/libsdl2/libsdl2-2.30.2.ebuild
new file mode 100644
index 000000000000..02c8eabacee0
--- /dev/null
+++ b/media-libs/libsdl2/libsdl2-2.30.2.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib 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 ~ia64 ~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 fcitx4 gles1 gles2 +haptic ibus jack +joystick kms libsamplerate nas opengl oss pipewire pulseaudio sndio +sound static-libs test +threads udev +video vulkan wayland X xscreensaver"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ alsa? ( sound )
+ fcitx4? ( dbus )
+ gles1? ( video )
+ gles2? ( video )
+ haptic? ( joystick )
+ ibus? ( dbus )
+ jack? ( sound )
+ 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}]
+ >=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}
+ fcitx4? ( app-i18n/fcitx:4 )
+ 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
+)
+
+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
+
+ 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_PTHREADS=$(usex threads)
+ -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_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_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 SDL_GAMECONTROLLERCONFIG SDL_GAMECONTROLLER_USE_BUTTON_LABELS
+ 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/
+}