summaryrefslogtreecommitdiff
path: root/media-libs/libsdl3
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libsdl3')
-rw-r--r--media-libs/libsdl3/Manifest4
-rw-r--r--media-libs/libsdl3/libsdl3-3.2.12.ebuild184
-rw-r--r--media-libs/libsdl3/libsdl3-3.2.14.ebuild184
3 files changed, 372 insertions, 0 deletions
diff --git a/media-libs/libsdl3/Manifest b/media-libs/libsdl3/Manifest
index cc2b97c9d236..a683999cd335 100644
--- a/media-libs/libsdl3/Manifest
+++ b/media-libs/libsdl3/Manifest
@@ -1,3 +1,7 @@
DIST SDL3-3.2.10.tar.gz 15876292 BLAKE2B 32e33d4209582fd0889969b30700f793562c7cb0afa3fc05befe421d10e101f558f9c817c7cc7855d793d78339a4c5b01129f24a5981a5651271e14d2e5aeff8 SHA512 e919749ded768ed15c2014efcacfb8ee6614d47727ceb45bbfd4248b36c3790640b4dcbd66de46e4f6870182e13d0d4ceb35da4eb064f9feabdde30ca6eae30d
+DIST SDL3-3.2.12.tar.gz 15886500 BLAKE2B 319e6e8f7348047d2aaa80ccd8b6a321e601a9bce58c338915b7c5a0e62b96d50ebd4de4ef47f9e5613f10c2c5f26220e769e19d8629cb590da92b42dd0731ab SHA512 661f588d0134b32d85eb565f8a03409a2561089595f125660a1815fa245bef58daf4f24b273d33227996858ed2d5ef4cc53003704be3f27dd81f207d8202a7e4
+DIST SDL3-3.2.14.tar.gz 15888107 BLAKE2B 1b0787538f388b11f45e4cc69ee25386021374b29808c54576640139e043f7ae51bcede6f4782a61f389eac4a03b72b43817b5f86d2eda7c28ee755ba3899904 SHA512 7e501bda73cc7b42b860e6ba6f9a0450fdb5014f5999afa64ccd6b4eb633edf6646fd1e251d58189649755a883d7dd51e5bcc53e841974180ed73d56fb8e29cd
EBUILD libsdl3-3.2.10.ebuild 4931 BLAKE2B bfaa0bf8c1646c4b6b6a9e3f20e79a01e78a90b10fd7244d5a9e5545732ec4e4e0e074a7ce4f00cb7b65fa9d83e6be53bf6327b764b20d79e957b4ff2af1241a SHA512 95f4253a9a228512e4ee2adbcd1a01c75e1c9b0b173aee58ec3a43ff56fffcd555ab7f9359a8bbce2f27f5acf3c06fe613b8c3c7ba68a6c7a0d5b7c4d17cb659
+EBUILD libsdl3-3.2.12.ebuild 4931 BLAKE2B bfaa0bf8c1646c4b6b6a9e3f20e79a01e78a90b10fd7244d5a9e5545732ec4e4e0e074a7ce4f00cb7b65fa9d83e6be53bf6327b764b20d79e957b4ff2af1241a SHA512 95f4253a9a228512e4ee2adbcd1a01c75e1c9b0b173aee58ec3a43ff56fffcd555ab7f9359a8bbce2f27f5acf3c06fe613b8c3c7ba68a6c7a0d5b7c4d17cb659
+EBUILD libsdl3-3.2.14.ebuild 4931 BLAKE2B bfaa0bf8c1646c4b6b6a9e3f20e79a01e78a90b10fd7244d5a9e5545732ec4e4e0e074a7ce4f00cb7b65fa9d83e6be53bf6327b764b20d79e957b4ff2af1241a SHA512 95f4253a9a228512e4ee2adbcd1a01c75e1c9b0b173aee58ec3a43ff56fffcd555ab7f9359a8bbce2f27f5acf3c06fe613b8c3c7ba68a6c7a0d5b7c4d17cb659
MISC metadata.xml 662 BLAKE2B f9f126d856a7f2daf998c35f6dd43e0efc7e329dfaad1c1713b7afe1afa57c955f39f5c5f1e0b42ab23aa4cbd07ff14dcccde8887f694444c927817c39696b5e SHA512 caa6f3a3459396c6726feb1af317e982a3baff9ad7ae1ee4d9fa78dd3f197e43b9e9cd4808a28ee8481fc2ebe663549a289f8db829ab3f79f1dbab8fbe624287
diff --git a/media-libs/libsdl3/libsdl3-3.2.12.ebuild b/media-libs/libsdl3/libsdl3-3.2.12.ebuild
new file mode 100644
index 000000000000..9418c4946834
--- /dev/null
+++ b/media-libs/libsdl3/libsdl3-3.2.12.ebuild
@@ -0,0 +1,184 @@
+# 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"
+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"
+
+IUSE="
+ X alsa aqua 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}]
+ )
+ alsa? ( media-libs/alsa-lib[${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 )
+"
+
+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() {
+ local mycmakeargs=(
+ -DSDL_ASSERTIONS=disabled
+ -DSDL_DBUS=$(usex dbus)
+ -DSDL_DEPS_SHARED=no # link rather than dlopen() where possible
+ -DSDL_LIBURING=$(usex io-uring)
+ -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_OPENGL=$(usex opengl)
+ -DSDL_OPENGLES=$(usex opengl)
+ -DSDL_OPENVR=$(usex opengl) # only dependency is libglvnd
+ -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)
+
+ # 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
+
+ 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
+}
diff --git a/media-libs/libsdl3/libsdl3-3.2.14.ebuild b/media-libs/libsdl3/libsdl3-3.2.14.ebuild
new file mode 100644
index 000000000000..9418c4946834
--- /dev/null
+++ b/media-libs/libsdl3/libsdl3-3.2.14.ebuild
@@ -0,0 +1,184 @@
+# 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"
+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"
+
+IUSE="
+ X alsa aqua 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}]
+ )
+ alsa? ( media-libs/alsa-lib[${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 )
+"
+
+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() {
+ local mycmakeargs=(
+ -DSDL_ASSERTIONS=disabled
+ -DSDL_DBUS=$(usex dbus)
+ -DSDL_DEPS_SHARED=no # link rather than dlopen() where possible
+ -DSDL_LIBURING=$(usex io-uring)
+ -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_OPENGL=$(usex opengl)
+ -DSDL_OPENGLES=$(usex opengl)
+ -DSDL_OPENVR=$(usex opengl) # only dependency is libglvnd
+ -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)
+
+ # 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
+
+ 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
+}