sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (6b43fc00f091e6121ee01a90d1e9d99aeabe60fb)
- From: Ismael Luceno <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (6b43fc00f091e6121ee01a90d1e9d99aeabe60fb)
- Date: Wed, 30 Sep 2026 17:55:20 +0000
GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:
ChangeLog | 3 +
libs/sdl3/BUILD | 3 +
libs/sdl3/CONFIGURE | 54 ++++++++++++++++++++++++++++
libs/sdl3/DEPENDS | 99
++++++++++++++++++++++++++++++++++++++++++++++++++++
libs/sdl3/DETAILS | 19 +++++++++
libs/sdl3/HISTORY | 2 +
6 files changed, 180 insertions(+)
New commits:
commit 6b43fc00f091e6121ee01a90d1e9d99aeabe60fb
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
sdl3: new spell, Simple DirectMedia Layer, version 3
diff --git a/ChangeLog b/ChangeLog
index 7cbb571..0d2f9ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2026-09-30 Ismael Luceno <ismael AT sourcemage.org>
+ * libs/sdl3: new spell, Simple DirectMedia Layer, version 3
+
2026-09-28 Ismael Luceno <ismael AT sourcemage.org>
* audio-libs/iir1: new spell, infinite impulse response filter
library
diff --git a/libs/sdl3/BUILD b/libs/sdl3/BUILD
new file mode 100755
index 0000000..f5237a0
--- /dev/null
+++ b/libs/sdl3/BUILD
@@ -0,0 +1,3 @@
+# Enable building without windowing drivers
+OPTS+=" -DSDL_UNIX_CONSOLE_BUILD=ON" &&
+default_build
diff --git a/libs/sdl3/CONFIGURE b/libs/sdl3/CONFIGURE
new file mode 100755
index 0000000..911f499
--- /dev/null
+++ b/libs/sdl3/CONFIGURE
@@ -0,0 +1,54 @@
+###### Subsystems (core) ######
+config_query_option SDL3_OPTS "Enable the GPU subsystem?" y \
+ "-DSDL_GPU=ON" "-DSDL_GPU=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the Render subsystem?" y \
+ "-DSDL_RENDER=ON" "-DSDL_RENDER=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the Camera subsystem?" y \
+ "-DSDL_CAMERA=ON" "-DSDL_CAMERA=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the Joystick subsystem?" y \
+ "-DSDL_JOYSTICK=ON" "-DSDL_JOYSTICK=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the Haptic (force feedback)
subsystem?" y \
+ "-DSDL_HAPTIC=ON" "-DSDL_HAPTIC=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the HIDAPI subsystem?" y \
+ "-DSDL_HIDAPI=ON" "-DSDL_HIDAPI=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the power management subsystem?" y \
+ "-DSDL_POWER=ON" "-DSDL_POWER=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the Sensor subsystem?" y \
+ "-DSDL_SENSOR=ON" "-DSDL_SENSOR=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the Dialog subsystem?" y \
+ "-DSDL_DIALOG=ON" "-DSDL_DIALOG=OFF" &&
+
+config_query_option SDL3_OPTS "Enable the System Tray subsystem?" y \
+ "-DSDL_TRAY=ON" "-DSDL_TRAY=OFF" &&
+
+###### Internal HIDAPI drivers (only if SDL_HIDAPI is enabled) ######
+if list_find "$SDL3_OPTS" "-DSDL_HIDAPI=ON" ; then
+ config_query_option SDL3_OPTS "Enable HIDAPI for joysticks?" y \
+ "-DSDL_HIDAPI_JOYSTICK=ON" "-DSDL_HIDAPI_JOYSTICK=OFF" &&
+ config_query_option SDL3_OPTS "Enable virtual joystick support?" y \
+ "-DSDL_VIRTUAL_JOYSTICK=ON" "-DSDL_VIRTUAL_JOYSTICK=OFF"
+fi &&
+
+###### Render backends (only if SDL_RENDER is enabled) ######
+if list_find "$SDL3_OPTS" "-DSDL_RENDER=ON" ; then
+ config_query_option SDL3_OPTS "Enable GPU render driver?" n \
+ "-DSDL_RENDER_GPU=ON" "-DSDL_RENDER_GPU=OFF"
+fi &&
+
+###### Other common options ######
+config_query_option SDL3_OPTS "Use clock_gettime() instead of
gettimeofday()?" y \
+ "-DSDL_CLOCK_GETTIME=ON" "-DSDL_CLOCK_GETTIME=OFF" &&
+
+config_query_option SDL3_OPTS "Use an rpath when linking SDL?" y \
+ "-DSDL_RPATH=ON" "-DSDL_RPATH=OFF" &&
+
+config_query_option SDL3_OPTS "Use gcc builtin atomics?" y \
+ "-DSDL_GCC_ATOMICS=ON" "-DSDL_GCC_ATOMICS=OFF"
diff --git a/libs/sdl3/DEPENDS b/libs/sdl3/DEPENDS
new file mode 100755
index 0000000..776d4db
--- /dev/null
+++ b/libs/sdl3/DEPENDS
@@ -0,0 +1,99 @@
+depends -sub CXX gcc &&
+
+###### Video drivers ######
+optional_depends libx11 \
+ "-DSDL_X11=ON" "-DSDL_X11=OFF" \
+ "for X11 video output support" &&
+
+if is_depends_enabled $SPELL libx11; then
+ depends libxext &&
+ optional_depends libxcursor \
+ "-DSDL_X11_XCURSOR=ON" "-DSDL_X11_XCURSOR=OFF" \
+ "for the X11 Xcursor extension" &&
+ optional_depends libxi \
+ "-DSDL_X11_XINPUT=ON" "-DSDL_X11_XINPUT=OFF" \
+ "for the X11 XInput extension" &&
+ optional_depends libxfixes \
+ "-DSDL_X11_XFIXES=ON" "-DSDL_X11_XFIXES=OFF" \
+ "for the X11 Xfixes extension" &&
+ optional_depends libxrandr \
+ "-DSDL_X11_XRANDR=ON" "-DSDL_X11_XRANDR=OFF" \
+ "for the X11 Xrandr extension" &&
+ optional_depends libxscrnsaver \
+ "-DSDL_X11_XSCRNSAVER=ON" "-DSDL_X11_XSCRNSAVER=OFF" \
+ "for the X11 screensaver extension" &&
+ optional_depends libxtst \
+ "-DSDL_X11_XTEST=ON" "-DSDL_X11_XTEST=OFF" \
+ "for the X11 XTest extension" &&
+ optional_depends fribidi \
+ "-DSDL_FRIBIDI=ON" "-DSDL_FRIBIDI=OFF" \
+ "for Fribidi text shaping (X11)" &&
+ optional_depends libthai \
+ "-DSDL_LIBTHAI=ON" "-DSDL_LIBTHAI=OFF" \
+ "for Thai language support (X11)"
+fi &&
+
+optional_depends wayland \
+ "-DSDL_WAYLAND=ON" "-DSDL_WAYLAND=OFF" \
+ "for Wayland video output support" &&
+
+if is_depends_enabled $SPELL wayland; then
+ depends libxkbcommon &&
+ optional_depends libdecor \
+ "-DSDL_WAYLAND_LIBDECOR=ON" "-DSDL_WAYLAND_LIBDECOR=OFF" \
+ "for client-side window decorations on Wayland"
+fi &&
+
+###### Audio drivers ######
+optional_depends alsa-lib \
+ "-DSDL_ALSA=ON" "-DSDL_ALSA=OFF" \
+ "for ALSA audio output support" &&
+
+optional_depends pulseaudio \
+ "-DSDL_PULSEAUDIO=ON" "-DSDL_PULSEAUDIO=OFF" \
+ "for PulseAudio audio output support" &&
+
+optional_depends pipewire \
+ "-DSDL_PIPEWIRE=ON" "-DSDL_PIPEWIRE=OFF" \
+ "for PipeWire audio support" &&
+
+optional_depends JACK-DRIVER \
+ "-DSDL_JACK=ON" "-DSDL_JACK=OFF" \
+ "for JACK audio output support" &&
+
+optional_depends oss \
+ "-DSDL_OSS=ON" "-DSDL_OSS=OFF" \
+ "for OSS audio output support" &&
+
+optional_depends sndio \
+ "-DSDL_SNDIO=ON" "-DSDL_SNDIO=OFF" \
+ "for sndio audio support" &&
+
+###### Graphics APIs ######
+# SDL ships its own GLES2 headers, but GL and EGL headers come from mesa
+optional_depends mesa \
+ "-DSDL_OPENGL=ON -DSDL_OPENGLES=ON" \
+ "-DSDL_OPENGL=OFF -DSDL_OPENGLES=OFF" \
+ "for OpenGL and OpenGL ES support" &&
+
+suggest_depends vulkan-loader \
+ "-DSDL_VULKAN=ON -DSDL_RENDER_VULKAN=ON" \
+ "-DSDL_VULKAN=OFF -DSDL_RENDER_VULKAN=OFF" \
+ "for Vulkan support" &&
+
+###### Input / system ######
+optional_depends libusb \
+ "-DSDL_HIDAPI_LIBUSB=ON" "-DSDL_HIDAPI_LIBUSB=OFF" \
+ "for HIDAPI on top of libusb" &&
+
+optional_depends DEVICE-MANAGER \
+ "-DSDL_LIBUDEV=ON" "-DSDL_LIBUDEV=OFF" \
+ "for libudev device hotplug support" &&
+
+optional_depends dbus \
+ "-DSDL_DBUS=ON" "-DSDL_DBUS=OFF" \
+ "for D-Bus support" &&
+
+optional_depends liburing \
+ "-DSDL_LIBURING=ON" "-DSDL_LIBURING=OFF" \
+ "for liburing async I/O (experimental)"
diff --git a/libs/sdl3/DETAILS b/libs/sdl3/DETAILS
new file mode 100755
index 0000000..698b45d
--- /dev/null
+++ b/libs/sdl3/DETAILS
@@ -0,0 +1,19 @@
+. "$GRIMOIRE/CMAKE_FUNCTIONS"
+ SPELL=sdl3
+ VERSION=3.4.2
+ SOURCE=SDL3-$VERSION.tar.gz
+
SOURCE_URL[0]=https://github.com/libsdl-org/SDL/releases/download/release-$VERSION/$SOURCE
+
SOURCE_HASH=sha256:ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/SDL3-$VERSION"
+ WEB_SITE=https://www.libsdl.org/
+ ENTERED=20260322
+ LICENSE[0]=zlib
+ KEYWORDS="libs"
+ SHORT="Simple DirectMedia Layer, version 3"
+cat << EOF
+Simple DirectMedia Layer is a cross-platform development library designed to
+provide low level access to audio, keyboard, mouse, joystick, and graphics
+hardware via OpenGL and Direct3D. It is used by video playback software,
+emulators, and popular games including Valve's award winning catalog and many
+Humble Bundle games.
+EOF
diff --git a/libs/sdl3/HISTORY b/libs/sdl3/HISTORY
new file mode 100644
index 0000000..154ef20
--- /dev/null
+++ b/libs/sdl3/HISTORY
@@ -0,0 +1,2 @@
+2026-09-30 Ismael Luceno <ismael AT sourcemage.org>
+ * BUILD, CONFIGURE, DEPENDS, DETAILS: spell created
- [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (6b43fc00f091e6121ee01a90d1e9d99aeabe60fb), Ismael Luceno, 09/30/2026
Archive powered by MHonArc 2.6.24.