media-libs/libsdl3: add 3.4.10

Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
Ionen Wolkens
2026-05-31 23:23:28 -04:00
parent afe3933187
commit 52ee1cd358
2 changed files with 197 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
DIST SDL3-3.2.30.tar.gz 15908113 BLAKE2B 3c0c1435662ce7a5891d28f476c92c4113b3967a9c3a0e36f8fd46069c8352c9b8f518122a761af4e64c374f3afc8476e57b19b7cb02ba282911f304ee21782a SHA512 ccb24c98095013404a7b470591aab6f7d45511580d895d6ce393df669a91d8faa1bf987a52b948fdf2c114ac41805cf6fa20eddacd470172029e1ebb7405e317
DIST SDL3-3.4.10.tar.gz 15606216 BLAKE2B c4c652e6c023ef6e8d4f1f81f0ffc2db0d620b5899a9ef23a6d46a8feaeef851135ca276435938188172939e5c4ec7a7d46738af65b5eb3bac60cc1cdc351afa SHA512 a66366071aa5dcc5949c3f48b2041dff8850cd05917c1ba5f6ae251e9eef3277d31884fe020251388051887c8c1587cd80457a02bdb96c11eb41065ac9f69958
DIST SDL3-3.4.4.tar.gz 15585523 BLAKE2B d9ac4a1d3fcca0792cdaf7aab1d24dbeaf4c38ef0b7325a4e886d56f2552fede320aca54e50c58ce5839c1b401787c6c254f3a1e63be709f40887bc5d2a139a9 SHA512 2c28a10c49f79efcfbb486156e7271b84cca028b3d6d8b436e99c3be85e5e648aa6543387817b3281ae9f4fcc6cb4046d998c7b273e62d3d9fe76e019ac91b6e
DIST SDL3-3.4.6.tar.gz 15597806 BLAKE2B f1546045e6a2443af8de12775ce3358153c943a62a86264eb64847a56243bfdc8e4e673b9e2ea08345587be090bf6c202f818f01b98e63b7b5ea449816db6084 SHA512 fcdfe5cd3b0cb1674b08a3dd3c195d2da1fc57160e70cde4639e9d4ce7702c8e110c4eb34a61b67cda7c4152587ccbca3d762e1bd5d8b7bd0ce41d86563e4b53
DIST SDL3-3.4.8.tar.gz 15597898 BLAKE2B 5bab0bc0f70aa4b83170942b2186edb29c8a382d439fa5f90a994e5cc7027093c7631ebc2f938906f333ae24af115401cd59b7c2bfaae51daa53e765109a5b07 SHA512 2fd6b0ecb46278e8c625fce85bd3e7e9813c0380c86fde3ccca4c8e608cfeb316c9c905ae471e8c881d651e3a73fce668e3b7709fb7912234e9de1588259e4a3

View File

@@ -0,0 +1,196 @@
# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib dot-a
DESCRIPTION="Simple Direct Media Layer"
HOMEPAGE="https://www.libsdl.org/"
SRC_URI="https://www.libsdl.org/release/SDL3-${PV}.tar.gz"
S=${WORKDIR}/SDL3-${PV}
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="
X alsa aqua bidi dbus doc ibus io-uring jack kms opengl oss
pipewire pulseaudio sndio test udev usb vulkan wayland
cpu_flags_ppc_altivec cpu_flags_x86_avx cpu_flags_x86_avx2
cpu_flags_x86_avx512f cpu_flags_x86_mmx cpu_flags_x86_sse
cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1
cpu_flags_x86_sse4_2
"
REQUIRED_USE="
ibus? ( dbus )
kms? ( opengl )
wayland? ( opengl )
"
RESTRICT="!test? ( test )"
# dlopen/dbus-only: dbus, ibus, libudev, liburing, vulkan-loader
RDEPEND="
virtual/libiconv[${MULTILIB_USEDEP}]
X? (
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXScrnSaver[${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXtst[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
bidi? ( dev-libs/fribidi[${MULTILIB_USEDEP}] )
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
ibus? ( app-i18n/ibus )
io-uring? ( sys-libs/liburing:=[${MULTILIB_USEDEP}] )
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
kms? (
media-libs/mesa[gbm(+),${MULTILIB_USEDEP}]
x11-libs/libdrm[${MULTILIB_USEDEP}]
)
opengl? ( media-libs/libglvnd[X?,${MULTILIB_USEDEP}] )
pipewire? ( media-video/pipewire:=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
wayland? (
dev-libs/wayland[${MULTILIB_USEDEP}]
gui-libs/libdecor[${MULTILIB_USEDEP}]
x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
)
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
"
DEPEND="
${RDEPEND}
X? ( x11-base/xorg-proto )
test? (
dev-util/vulkan-headers
media-libs/libglvnd
)
vulkan? ( dev-util/vulkan-headers )
"
BDEPEND="
doc? (
app-text/doxygen
media-gfx/graphviz
)
wayland? ( dev-util/wayland-scanner )
"
CMAKE_QA_COMPAT_SKIP=1 #964577
src_prepare() {
cmake_src_prepare
# unbundle libglvnd and vulkan headers
rm -r src/video/khronos || die
ln -s -- "${ESYSROOT}"/usr/include src/video/khronos || die
}
src_configure() {
lto-guarantee-fat
local mycmakeargs=(
-DSDL_ASSERTIONS=disabled
-DSDL_DEPS_SHARED=no # link rather than dlopen() where possible
-DSDL_RPATH=no
-DSDL_STATIC=no
-DSDL_TESTS=$(usex test)
# audio
-DSDL_ALSA=$(usex alsa)
-DSDL_JACK=$(usex jack)
-DSDL_OSS=$(usex oss)
-DSDL_PIPEWIRE=$(usex pipewire)
-DSDL_PULSEAUDIO=$(usex pulseaudio)
-DSDL_SNDIO=$(usex sndio)
# input
-DSDL_HIDAPI_LIBUSB=$(usex usb)
-DSDL_IBUS=$(use ibus)
-DSDL_LIBUDEV=$(usex udev)
# video
-DSDL_COCOA=$(usex aqua)
-DSDL_DIRECTX=no
-DSDL_KMSDRM=$(usex kms)
-DSDL_LIBTHAI=no # not packaged
-DSDL_OPENGL=$(usex opengl)
-DSDL_OPENGLES=$(usex opengl)
-DSDL_OPENVR=no # not packaged, note needs opengl REQUIRED_USE if added
-DSDL_ROCKCHIP=no
-DSDL_RPI=no
-DSDL_VIVANTE=no
-DSDL_VULKAN=$(usex vulkan)
-DSDL_WAYLAND=$(usex wayland)
-DSDL_X11=$(usex X)
# SDL disallows this by default, allow it but warn in pkg_postinst
$(use !X && use !wayland && echo -DSDL_UNIX_CONSOLE_BUILD=yes)
# misc
-DSDL_DBUS=$(usex dbus)
-DSDL_FRIBIDI=$(usex bidi)
-DSDL_LIBURING=$(usex io-uring)
# cpu instruction sets
-DSDL_ALTIVEC=$(usex cpu_flags_ppc_altivec)
-DSDL_AVX=$(usex cpu_flags_x86_avx)
-DSDL_AVX2=$(usex cpu_flags_x86_avx2)
-DSDL_AVX512F=$(usex cpu_flags_x86_avx512f)
-DSDL_MMX=$(usex cpu_flags_x86_mmx)
-DSDL_SSE=$(usex cpu_flags_x86_sse)
-DSDL_SSE2=$(usex cpu_flags_x86_sse2)
-DSDL_SSE3=$(usex cpu_flags_x86_sse3)
-DSDL_SSE4_1=$(usex cpu_flags_x86_sse4_1)
-DSDL_SSE4_2=$(usex cpu_flags_x86_sse4_2)
)
cmake-multilib_src_configure
}
src_compile() {
cmake-multilib_src_compile
if use doc; then
cd docs && doxygen || die
fi
}
src_test() {
unset "${!SDL_@}" # ignore users' preferences for tests
cmake-multilib_src_test
}
src_install() {
local DOCS=( {BUGS,WhatsNew}.txt {CREDITS,README}.md docs/*.md )
cmake-multilib_src_install
strip-lto-bytecode
rm -r -- "${ED}"/usr/share/licenses || die
use doc && dodoc -r docs/output/html/
}
pkg_postinst() {
# skipping audio/video can make sense given many packages only use SDL
# for input, but still warn given off-by-default and may be unexpected
if use !X && use !aqua && use !kms && use !wayland; then
ewarn
ewarn "All typical display drivers (e.g. USE=wayland) are disabled,"
ewarn "applications using SDL for display may not function properly."
fi
if use !alsa && use !jack && use !oss && use !pipewire &&
use !pulseaudio && use !sndio; then
ewarn
ewarn "All typical audio drivers (e.g. USE=pipewire) are disabled,"
ewarn "applications using SDL for audio may not function properly."
fi
}