From cde35ad7fd21c110378d6ce620106c7e157bd05e Mon Sep 17 00:00:00 2001 From: Piotr Danecki Date: Sat, 25 Jan 2025 16:32:42 +0100 Subject: [PATCH] New package: SDL3-3.2.0 Signed-off-by: Piotr Danecki --- srcpkgs/SDL3-devel | 1 + srcpkgs/SDL3/template | 120 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 120000 srcpkgs/SDL3-devel create mode 100644 srcpkgs/SDL3/template diff --git a/srcpkgs/SDL3-devel b/srcpkgs/SDL3-devel new file mode 120000 index 00000000000000..e7f2c5206cb0d2 --- /dev/null +++ b/srcpkgs/SDL3-devel @@ -0,0 +1 @@ +SDL3 \ No newline at end of file diff --git a/srcpkgs/SDL3/template b/srcpkgs/SDL3/template new file mode 100644 index 00000000000000..4b11bd77b9b0d2 --- /dev/null +++ b/srcpkgs/SDL3/template @@ -0,0 +1,120 @@ +# Template file for 'SDL3' +pkgname=SDL3 +version=3.2.0 +revision=1 +build_style=cmake +configure_args="-DSDL_ALSA=ON -DSDL_ESD=OFF -DSDL_RPATH=OFF + -DSDL_CLOCK_GETTIME=ON -DSDL_PULSEAUDIO_SHARED=OFF + -DSDL_ALSA_SHARED=OFF -DSDL_DBUS=ON" +hostmakedepends="pkg-config nasm" +makedepends="alsa-lib-devel dbus-devel eudev-libudev-devel libusb-compat-devel + libsamplerate-devel" +short_desc="Simple DirectMedia Layer (version 3)" +maintainer="Piotr Danecki " +license="Zlib" +homepage="https://www.libsdl.org/" +changelog="https://raw.githubusercontent.com/libsdl-org/SDL/refs/heads/main/WhatsNew.txt" +distfiles="https://www.libsdl.org/release/SDL3-${version}.tar.gz" +checksum=bf308f92c5688b1479faf5cfe24af72f3cd4ce08d0c0670d6ce55bc2ec1e9a5e + +# Package build options +build_options="gles opengl pulseaudio pipewire sndio vulkan wayland x11" +build_options_default="gles opengl pulseaudio sndio vulkan wayland x11" + +case "$XBPS_TARGET_MACHINE" in + ppcle*) ;; + *) build_options_default+=" pipewire";; +esac + +case "$XBPS_TARGET_MACHINE" in + # SDL_cpuinfo includes altivec.h, which breaks C++ programs with vector keyword + ppc*) configure_args+=" -DSDL_ALTIVEC=OFF";; + # SDL detects SSE3 on i686, which is above our support target + i686*) configure_args+=" -DSDL_SSE3=OFF";; + *) ;; +esac + +unset depends + +if [ "$build_option_gles" ]; then + configure_args+=" -DSDL_OPENGLES=ON" + # libGLESv2.so.2 is dynamically loaded with dlopen. + shlib_requires="libGLESv2.so.2" + depends+=" virtual?libGLES" +else + configure_args+=" -DSDL_OPENGLES=OFF" +fi + +if [ "$build_option_opengl" ]; then + # libGL.so.1 is dynamically loaded with dlopen. + shlib_requires+=" libGL.so.1" + depends+=" virtual?libGL" + configure_args+=" -DSDL_OPENGL=ON" +else + configure_args+=" -DSDL_OPENGL=OFF" +fi + +if [ "$build_option_opengl" -o "$build_option_gles" ]; then + makedepends+=" glu-devel" +fi + +if [ "$build_option_pulseaudio" ]; then + configure_args+=" -DSDL_PULSEAUDIO=ON" + makedepends+=" pulseaudio-devel" +else + configure_args+=" -DSDL_PULSEAUDIO=OFF" +fi + +if [ "$build_option_pipewire" ]; then + configure_args+=" -DSDL_PIPEWIRE=ON" + makedepends+=" pipewire-devel" +else + configure_args+=" -DSDL_PIPEWIRE=OFF" +fi + +if [ "$build_option_sndio" ]; then + configure_args+=" -DSDL_SNDIO=ON" + makedepends+=" sndio-devel" +else + configure_args+=" -DSDL_SNDIO=OFF" +fi + +if [ "$build_option_wayland" ]; then + if [ -z "$build_option_gles" ]; then + msg_error "$pkgname: wayland option requires gles.\n" + fi + configure_args+=" -DSDL_WAYLAND=ON -DSDL_WAYLAND_SHARED=OFF -DSDL_WAYLAND_LIBDECOR=ON" + makedepends+=" libxkbcommon-devel libdecor-devel wayland-devel wayland-protocols" + if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" wayland-devel" + fi +else + configure_args+=" -DSDL_WAYLAND=OFF" +fi + +if [ "$build_option_x11" ]; then + configure_args+=" -DSDL_X11=ON -DSDL_X11_SHARED=OFF" + makedepends+=" libSM-devel libXcursor-devel libXScrnSaver-devel libXrandr-devel" +else + configure_args+=" -DSDL_X11=OFF" +fi + +if [ "$build_option_vulkan" ]; then + configure_args+=" -DSDL_VULKAN=ON" + makedepends+=" vulkan-loader-devel" +else + configure_args+=" -DSDL_VULKAN=OFF" +fi + +SDL3-devel_package() { + short_desc+=" - development files" + depends="${makedepends} ${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.a" + vmove "usr/lib/*.so" + vmove usr/share + } +}