diff --git a/media-libs/libsdl3/Manifest b/media-libs/libsdl3/Manifest index eb66b9c..1b420c0 100644 --- a/media-libs/libsdl3/Manifest +++ b/media-libs/libsdl3/Manifest @@ -1 +1,2 @@ DIST libsdl3-3.1.6.tar.gz 7773892 BLAKE2B 6701e4d65816bc2845096f69479ca2759a24c365d1bb25be2e7588b96dbe9eeec1eb7e7031d1b72911fbe198d3358f67feb308a23cc8cc80e509731dddda8b1b SHA512 a0ca7263cd2f1b883829c39ae0ee2ea18d814f8dde768c8be9a49487193bc856bb45870764fd70169e75d2ec80457e5b45811c07a926479f1ac4f9d3157f40a4 +DIST libsdl3-3.1.8.tar.gz 15997157 BLAKE2B 1bb6c6215d773d01e9a56b95f64cf9952b598b1fdc923b7a6822f7d4b25705c18988b6c620456cec34fce6039386f025e4164ef73f4e1e4ce65015aadd469107 SHA512 5a40cf838fce3a0ddd895269c5ad51fc4ca63bf9919f23c45b04218ae55096708b8f24027056256e69f9b4ae730b967c8ba3b77a24f7771a0770cf45fddaeb34 diff --git a/media-libs/libsdl3/libsdl3-3.1.6-r1.ebuild b/media-libs/libsdl3/libsdl3-3.1.6-r1.ebuild index 750edf5..90b635e 100644 --- a/media-libs/libsdl3/libsdl3-3.1.6-r1.ebuild +++ b/media-libs/libsdl3/libsdl3-3.1.6-r1.ebuild @@ -95,6 +95,9 @@ BDEPEND=" ) wayland? ( >=dev-util/wayland-scanner-1.20 ) " +PATCHES=( + "${FILESDIR}"/${PN}-3.1.6-fix_sdl_gl_getattribute.patch +) src_prepare() { cmake_src_prepare @@ -146,7 +149,7 @@ src_configure() { -DSDL_LIBUDEV=$(usex udev) -DSDL_MMX=$(usex cpu_flags_x86_mmx) -DSDL_OPENGL=$(usex opengl) - -DSDL_OPENGLES=$(use gles1 || usex gles2 && echo ON || echo OFF) + -DSDL_OPENGLES=$(use gles1 || use gles2 && echo ON || echo OFF) -DSDL_PIPEWIRE=$(usex pipewire) -DSDL_PIPEWIRE_SHARED=OFF -DSDL_PULSEAUDIO=$(usex pulseaudio) diff --git a/media-libs/libsdl3/libsdl3-3.1.8.ebuild b/media-libs/libsdl3/libsdl3-3.1.8.ebuild new file mode 100644 index 0000000..d96fc38 --- /dev/null +++ b/media-libs/libsdl3/libsdl3-3.1.8.ebuild @@ -0,0 +1,206 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib flag-o-matic + +DESCRIPTION="Simple Direct Media Layer" +HOMEPAGE="https://www.libsdl.org/" +SRC_URI="https://github.com/libsdl-org/SDL/archive/refs/tags/preview-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/SDL-preview-${PV}" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~x86" + +IUSE="X alsa +sound 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 camera custom-cflags dbus debug doc gles1 gles2 +haptic ibus \ +jack +joystick kms opengl pipewire pulseaudio sndio static-libs \ +test udev +video vulkan wayland xscreensaver" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + alsa? ( sound ) + haptic? ( joystick ) + ibus? ( dbus ) + jack? ( sound ) + gles1? ( video ) + gles2? ( video ) + opengl? ( video ) + pipewire? ( sound ) + pulseaudio? ( sound ) + sndio? ( sound ) + vulkan? ( video ) + wayland? ( gles2 ) + xscreensaver? ( X ) +" + +COMMON_DEPEND=" + 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}] ) + ) + 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}] + ) + 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}] ) + virtual/libiconv[${MULTILIB_USEDEP}] + wayland? ( + >=dev-libs/wayland-1.20[${MULTILIB_USEDEP}] + gui-libs/libdecor[${MULTILIB_USEDEP}] + >=media-libs/mesa-9.1.6[${MULTILIB_USEDEP},wayland] + >=x11-libs/libxkbcommon-0.2.0[${MULTILIB_USEDEP}] + ) +" +RDEPEND=" + ${COMMON_DEPEND} + opengl? ( media-libs/mesa[${MULTILIB_USEDEP},opengl(+)] ) + vulkan? ( + media-libs/mesa[${MULTILIB_USEDEP},vulkan(+)] + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + gles1? ( media-libs/libglvnd ) + gles2? ( media-libs/libglvnd ) + ibus? ( dev-libs/glib:2 ) + 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 ) +" +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_ALSA=$(usex alsa) + -DSDL_ALSA_SHARED=OFF + -DSDL_ASAN=$(usex debug) + -DSDL_ASSEMBLY=ON + -DSDL_ASSERTIONS=$(usex debug enabled disabled) + -DSDL_AUDIO=$(usex sound) + -DSDL_AVX=$(usex cpu_flags_x86_avx) + -DSDL_AVX2=$(usex cpu_flags_x86_avx2) + -DSDL_AVX512F=$(usex cpu_flags_x86_avx512f) + -DSDL_CAMERA=$(usex camera) + -DSDL_CCACHE=OFF + -DSDL_DBUS=$(usex dbus) + -DSDL_DIALOG=ON + -DSDL_DISABLE_INSTALL=OFF + -DSDL_DISABLE_INSTALL_CPACK=OFF + -DSDL_DISABLE_INSTALL_DOCS=$(usex doc OFF ON) + -DSDL_DISKAUDIO=$(usex sound) + -DSDL_DUMMYAUDIO=$(usex sound) + -DSDL_DUMMYCAMERA=$(usex camera) + -DSDL_DUMMYVIDEO=$(usex video) + -DSDL_EXAMPLES=$(usex doc) + -DSDL_EXAMPLES_LINK_SHARED=OFF + -DSDL_GCC_ATOMICS=ON + -DSDL_GPU=$(usex video) + -DSDL_HAPTIC=$(usex haptic) + -DSDL_IBUS=$(usex ibus) + -DSDL_JACK=$(usex jack) + -DSDL_JACK_SHARED=OFF + -DSDL_JOYSTICK=$(usex joystick) + -DSDL_HIDAPI=ON + -DSDL_KMSDRM=$(usex kms) + -DSDL_KMSDRM_SHARED=OFF + -DSDL_LIBC=ON + -DSDL_LIBICONV=ON + -DSDL_SYSTEM_ICONV=ON + -DSDL_LIBUDEV=$(usex udev) + -DSDL_MMX=$(usex cpu_flags_x86_mmx) + -DSDL_OPENGL=$(usex opengl) + -DSDL_OPENGLES=$(use gles1 || use gles2 && echo ON || echo OFF) + -DSDL_PIPEWIRE=$(usex pipewire) + -DSDL_PIPEWIRE_SHARED=OFF + -DSDL_PULSEAUDIO=$(usex pulseaudio) + -DSDL_PULSEAUDIO_SHARED=OFF + -DSDL_RENDER=$(usex video) + -DSDL_RENDER_GPU=$(usex video) + -DSDL_RENDER_VULKAN=$(usex vulkan) + -DSDL_RENDER_D3D=OFF + -DSDL_RENDER_D3D11=OFF + -DSDL_RENDER_D3D12=OFF + -DSDL_RENDER_METAL=OFF + -DSDL_RPATH=OFF + -DSDL_RPI=OFF + -DSDL_SNDIO=$(usex sndio) + -DSDL_SNDIO_SHARED=OFF + -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) + -DSDL_STATIC=$(usex static-libs) + -DSDL_TESTS=$(usex test) + -DSDL_TESTS_LINK_SHARED=OFF + -DSDL_TEST_LIBRARY=$(usex test) + -DSDL_VIDEO=$(usex video) + -DSDL_VIRTUAL_JOYSTICK=$(usex joystick) + -DSDL_VULKAN=$(usex vulkan) + -DSDL_WAYLAND=$(usex wayland) + -DSDL_WAYLAND_LIBDECOR=$(usex wayland) + -DSDL_WAYLAND_LIBDECOR_SHARED=OFF + -DSDL_WAYLAND_SHARED=OFF + -DSDL_WERROR=$(usex debug) + -DSDL_X11=$(usex X) + -DSDL_X11_SHARED=OFF + -DSDL_X11_XSCRNSAVER=$(usex xscreensaver) + ) + cmake-multilib_src_configure +} + +src_compile() { + cmake-multilib_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,README-SDL,WhatsNew}.txt CREDITS.md README.md docs/README*.md + use doc && dodoc -r docs/output/html/ +}