1
0
Fork 0

first commit

This commit is contained in:
root 2024-11-23 01:15:11 +02:00
commit 528f89a79b
90 changed files with 13567 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST libsdl3-3.1.6.tar.gz 7773892 BLAKE2B 6701e4d65816bc2845096f69479ca2759a24c365d1bb25be2e7588b96dbe9eeec1eb7e7031d1b72911fbe198d3358f67feb308a23cc8cc80e509731dddda8b1b SHA512 a0ca7263cd2f1b883829c39ae0ee2ea18d814f8dde768c8be9a49487193bc856bb45870764fd70169e75d2ec80457e5b45811c07a926479f1ac4f9d3157f40a4

View file

@ -0,0 +1,203 @@
# 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=$(use sound)
-DSDL_DUMMYCAMERA=$(use camera)
-DSDL_DUMMYVIDEO=$(use 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=$(usex gles1 || usex gles2 && echo ON || echo OFF)
-DSDL_PIPEWIRE=$(usex pipewire)
-DSDL_PIPEWIRE_SHARED=OFF
-DSDL_PULSEAUDIO=$(usex pulseaudio)
-DSDL_PULSEAUDIO_SHARED=OFF
-DSDL_RENDER=$(use video)
-DSDL_RENDER_GPU=$(use video)
-DSDL_RENDER_VULKAN=$(usex vulkan)
-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/
}

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>noreply@local</email>
<name>nil</name>
</maintainer>
<longdescription>
Simple DirectMedia Layer is a cross-platform multimedia library
designed to provide low level access to audio, keyboard, mouse,
joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is
used by MPEG playback software, emulators, and many popular games,
including the award winning Linux port of "Civilization: Call To
Power."
Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS
Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
There is also code, but no official support, for Windows CE,
AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and
SymbianOS.
SDL is written in C, but works with C++ natively, and has bindings
to several other languages, including Ada, Eiffel, Java, Lua, ML,
Perl, PHP, Pike, Python, and Ruby.
</longdescription>
<use>
<flag name="camera">Enable camera subsystem.</flag>
<flag name="video">Control video support (disable at your own risk).</flag>
<flag name="sound">Control audio support (disable at your own risk).</flag>
<flag name="gles1">Include OpenGL ES 1.0 support.</flag>
<flag name="haptic">Enable the haptic (force feedback) subsystem</flag>
<flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag>
<flag name="pipewire">Enable support for the <pkg>media-video/pipewire</pkg> audio backend</flag>
<flag name="ibus">Enable support for app-i18n/ibus.</flag>
<flag name="kms">Build the KMSDRM video driver.</flag>
</use>
</pkgmetadata>