* [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family
@ 2026-08-16 19:18 Alsey Coleman Miller
2026-08-16 19:18 ` [Buildroot] [PATCH 1/8] package/plutovg: new package Alsey Coleman Miller
` (7 more replies)
0 siblings, 8 replies; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
Buildroot has sdl3, sdl3_gfx, sdl3_image and sdl3_ttf. This adds the two
satellite libraries that are missing, fills in options the existing
packages do not offer, and moves SDL3_image off a prerelease.
Patches 1 and 2 add plutovg and plutosvg. plutosvg is a small SVG
renderer built on plutovg, and it is what patch 6 uses: colour emoji
fonts store their glyphs as SVG, which SDL3_ttf renders through the
FreeType OpenType-SVG hooks. Both are useful on their own.
Patch 3 gives sdl3 an ALSA option. There is none today, so whether the
ALSA audio driver is built is decided by what SDL's own detection finds
in the sysroot rather than by the configuration. It also makes D-Bus
follow BR2_PACKAGE_DBUS instead of being off unconditionally - that
costs screensaver inhibition and the D-Bus parts of the Wayland backend
- adds an option for the test programs, and names the audio backends
that were left unset. SDL probes for OSS, JACK, sndio and PipeWire and
builds against whatever it finds, so an unlisted backend makes the
result depend on which unrelated packages happen to be enabled.
Patch 4 moves sdl3_image from 3.1.1, a prerelease, to 3.4.4, and builds
the AVIF, JPEG, TIFF, WEBP and JXL backends according to the image
libraries already in the configuration rather than PNG alone. The option
names changed in 3.4: PNG is SDLIMAGE_PNG_LIBPNG, and
SDLIMAGE_BACKEND_STB selects the built-in decoder used when no helper
library is available.
Patch 5 stops sdl3_ttf building samples that are never installed and
installing man pages that Buildroot deletes again.
Patches 7 and 8 add sdl3_mixer and sdl3_net, the last two SDL3 satellite
libraries without a package. Both are built with CMake, like sdl3
itself, rather than with the autotools setup their SDL2 counterparts
use. sdl3_mixer plays several formats with no dependency at all and
picks up the better decoders - flac, mpg123, opusfile, wavpack,
fluidsynth, libxmp, game-music-emu - when those are already enabled.
check-package is clean over all seven packages. Checked on x86_64/glibc
with alsa-lib, dbus, harfbuzz, jpeg, libpng, tiff and webp enabled, and
again with plutosvg, sdl3_mixer and sdl3_net turned on: the resulting
*_CONF_OPTS and dependency lists are as intended, and BR2_PACKAGE_PLUTOSVG
selects plutovg and turns on SDLTTF_PLUTOSVG. A full build of the series
on that configuration is still running as I send this.
Alsey Coleman Miller (8):
package/plutovg: new package
package/plutosvg: new package
package/sdl3: add ALSA and test program options, follow dbus
package/sdl3_image: bump to version 3.4.4
package/sdl3_ttf: do not build the samples or install man pages
package/sdl3_ttf: build plutosvg support when available
package/sdl3_mixer: new package
package/sdl3_net: new package
DEVELOPERS | 4 ++
package/Config.in | 4 ++
package/plutosvg/Config.in | 10 +++
package/plutosvg/plutosvg.hash | 3 +
package/plutosvg/plutosvg.mk | 18 +++++
package/plutovg/Config.in | 7 ++
package/plutovg/plutovg.hash | 3 +
package/plutovg/plutovg.mk | 16 +++++
package/sdl3/Config.in | 15 +++++
package/sdl3/sdl3.mk | 38 ++++++++++-
package/sdl3_image/Config.in | 10 ++-
package/sdl3_image/sdl3_image.hash | 4 +-
package/sdl3_image/sdl3_image.mk | 62 +++++++++++++++--
package/sdl3_mixer/Config.in | 17 +++++
package/sdl3_mixer/sdl3_mixer.hash | 3 +
package/sdl3_mixer/sdl3_mixer.mk | 103 +++++++++++++++++++++++++++++
package/sdl3_net/Config.in | 9 +++
package/sdl3_net/sdl3_net.hash | 3 +
package/sdl3_net/sdl3_net.mk | 21 ++++++
package/sdl3_ttf/sdl3_ttf.mk | 16 ++++-
20 files changed, 356 insertions(+), 10 deletions(-)
create mode 100644 package/plutosvg/Config.in
create mode 100644 package/plutosvg/plutosvg.hash
create mode 100644 package/plutosvg/plutosvg.mk
create mode 100644 package/plutovg/Config.in
create mode 100644 package/plutovg/plutovg.hash
create mode 100644 package/plutovg/plutovg.mk
create mode 100644 package/sdl3_mixer/Config.in
create mode 100644 package/sdl3_mixer/sdl3_mixer.hash
create mode 100644 package/sdl3_mixer/sdl3_mixer.mk
create mode 100644 package/sdl3_net/Config.in
create mode 100644 package/sdl3_net/sdl3_net.hash
create mode 100644 package/sdl3_net/sdl3_net.mk
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/8] package/plutovg: new package
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-09-22 20:23 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 2/8] package/plutosvg: " Alsey Coleman Miller
` (6 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
plutovg is a standalone 2D vector graphics library providing path
filling and stroking, gradients and text rendering. It is the renderer
plutosvg is built on.
Examples are not built: they are demo programs that are never installed.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/plutovg/Config.in | 7 +++++++
package/plutovg/plutovg.hash | 3 +++
package/plutovg/plutovg.mk | 16 ++++++++++++++++
5 files changed, 28 insertions(+)
create mode 100644 package/plutovg/Config.in
create mode 100644 package/plutovg/plutovg.hash
create mode 100644 package/plutovg/plutovg.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 98c9ee55d3..5e39d38fc9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -170,6 +170,7 @@ F: package/xen/
N: Alsey Coleman Miller <alseycmiller@gmail.com>
F: package/liblc3/
+F: package/plutovg/
N: Alvaro G. M <alvaro.gamez@hazent.com>
F: package/dcron/
diff --git a/package/Config.in b/package/Config.in
index 6058800682..d98705e981 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -350,6 +350,7 @@ comment "Graphic libraries"
source "package/mesa3d-headers/Config.in"
source "package/ocrad/Config.in"
source "package/ogre/Config.in"
+ source "package/plutovg/Config.in"
source "package/psplash/Config.in"
source "package/sdl/Config.in"
source "package/sdl_gfx/Config.in"
diff --git a/package/plutovg/Config.in b/package/plutovg/Config.in
new file mode 100644
index 0000000000..f452318198
--- /dev/null
+++ b/package/plutovg/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PLUTOVG
+ bool "plutovg"
+ help
+ plutovg is a standalone 2D vector graphics library, providing
+ path filling and stroking, gradients, and text rendering.
+
+ https://github.com/sammycage/plutovg
diff --git a/package/plutovg/plutovg.hash b/package/plutovg/plutovg.hash
new file mode 100644
index 0000000000..95ef84fee3
--- /dev/null
+++ b/package/plutovg/plutovg.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 2b0d17a6e016f47b86f9c00e2cb82600041b1ea1f7d2a00c2d46ae542cbfed3c plutovg-1.3.3.tar.gz
+sha256 a55d1e78eaf75779c336b4ba061e74aae56a21195d234474fb24a398935d6ce1 LICENSE
diff --git a/package/plutovg/plutovg.mk b/package/plutovg/plutovg.mk
new file mode 100644
index 0000000000..a77fac1c43
--- /dev/null
+++ b/package/plutovg/plutovg.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# plutovg
+#
+################################################################################
+
+PLUTOVG_VERSION = 1.3.3
+PLUTOVG_SITE = $(call github,sammycage,plutovg,v$(PLUTOVG_VERSION))
+PLUTOVG_LICENSE = MIT
+PLUTOVG_LICENSE_FILES = LICENSE
+PLUTOVG_INSTALL_STAGING = YES
+PLUTOVG_DEPENDENCIES = host-pkgconf
+
+PLUTOVG_CONF_OPTS = -DPLUTOVG_BUILD_EXAMPLES=OFF
+
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 2/8] package/plutosvg: new package
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
2026-08-16 19:18 ` [Buildroot] [PATCH 1/8] package/plutovg: new package Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-09-22 20:27 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 3/8] package/sdl3: add ALSA and test program options, follow dbus Alsey Coleman Miller
` (5 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
plutosvg is a small SVG rendering library built on plutovg.
PLUTOSVG_ENABLE_FREETYPE is on because the FreeType integration is what
provides OpenType-SVG rendering - the hooks FreeType calls for the SVG
glyphs in a colour emoji font - which is what consumers of this library
generally want it for.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/plutosvg/Config.in | 10 ++++++++++
package/plutosvg/plutosvg.hash | 3 +++
package/plutosvg/plutosvg.mk | 18 ++++++++++++++++++
5 files changed, 33 insertions(+)
create mode 100644 package/plutosvg/Config.in
create mode 100644 package/plutosvg/plutosvg.hash
create mode 100644 package/plutosvg/plutosvg.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 5e39d38fc9..56b01fa5cc 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -170,6 +170,7 @@ F: package/xen/
N: Alsey Coleman Miller <alseycmiller@gmail.com>
F: package/liblc3/
+F: package/plutosvg/
F: package/plutovg/
N: Alvaro G. M <alvaro.gamez@hazent.com>
diff --git a/package/Config.in b/package/Config.in
index d98705e981..5e1601036c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -350,6 +350,7 @@ comment "Graphic libraries"
source "package/mesa3d-headers/Config.in"
source "package/ocrad/Config.in"
source "package/ogre/Config.in"
+ source "package/plutosvg/Config.in"
source "package/plutovg/Config.in"
source "package/psplash/Config.in"
source "package/sdl/Config.in"
diff --git a/package/plutosvg/Config.in b/package/plutosvg/Config.in
new file mode 100644
index 0000000000..613b1b8ba6
--- /dev/null
+++ b/package/plutosvg/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_PLUTOSVG
+ bool "plutosvg"
+ select BR2_PACKAGE_FREETYPE
+ select BR2_PACKAGE_PLUTOVG
+ help
+ plutosvg is a small SVG rendering library built on plutovg. It
+ is built with the FreeType integration enabled, which is what
+ provides OpenType-SVG (colour emoji) rendering.
+
+ https://github.com/sammycage/plutosvg
diff --git a/package/plutosvg/plutosvg.hash b/package/plutosvg/plutosvg.hash
new file mode 100644
index 0000000000..fb6c210e93
--- /dev/null
+++ b/package/plutosvg/plutosvg.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 49d5cfe772d3aa10cd4879f2f6e189f5083c08e4c8ea01bf3d5b87c97dfca7d2 plutosvg-0.0.8.tar.gz
+sha256 a55d1e78eaf75779c336b4ba061e74aae56a21195d234474fb24a398935d6ce1 LICENSE
diff --git a/package/plutosvg/plutosvg.mk b/package/plutosvg/plutosvg.mk
new file mode 100644
index 0000000000..17142a1eb4
--- /dev/null
+++ b/package/plutosvg/plutosvg.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# plutosvg
+#
+################################################################################
+
+PLUTOSVG_VERSION = 0.0.8
+PLUTOSVG_SITE = $(call github,sammycage,plutosvg,v$(PLUTOSVG_VERSION))
+PLUTOSVG_LICENSE = MIT
+PLUTOSVG_LICENSE_FILES = LICENSE
+PLUTOSVG_INSTALL_STAGING = YES
+PLUTOSVG_DEPENDENCIES = host-pkgconf freetype plutovg
+
+PLUTOSVG_CONF_OPTS = \
+ -DPLUTOSVG_ENABLE_FREETYPE=ON \
+ -DPLUTOSVG_BUILD_EXAMPLES=OFF
+
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 3/8] package/sdl3: add ALSA and test program options, follow dbus
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
2026-08-16 19:18 ` [Buildroot] [PATCH 1/8] package/plutovg: new package Alsey Coleman Miller
2026-08-16 19:18 ` [Buildroot] [PATCH 2/8] package/plutosvg: " Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-09-22 20:08 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 4/8] package/sdl3_image: bump to version 3.4.4 Alsey Coleman Miller
` (4 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
SDL_ALSA had no option at all, so whether the ALSA audio driver was
built depended on what SDL's own detection found in the sysroot when it
happened to configure. Add BR2_PACKAGE_SDL3_ALSA and pass
SDL_ALSA_SHARED=OFF with it, so libasound is linked rather than
dlopen()ed - a dlopen leaves nothing in the ELF, and the library is then
absent from the target unless something else pulls it in.
SDL_DBUS was off unconditionally, which loses screensaver inhibition and
the D-Bus parts of the Wayland backend; make it follow BR2_PACKAGE_DBUS.
Add BR2_PACKAGE_SDL3_TESTS for the test programs, which are useful for
checking the video and audio drivers on the target.
Finally, name the backends that were left unset - OSS, JACK, sndio,
PipeWire, RPI - and turn the examples off. SDL probes for each of these
and builds against whatever it finds, so leaving them out makes the
result depend on which unrelated packages are enabled.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
package/sdl3/Config.in | 15 +++++++++++++++
package/sdl3/sdl3.mk | 38 +++++++++++++++++++++++++++++++++++++-
2 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/package/sdl3/Config.in b/package/sdl3/Config.in
index 7bce4ceaba..ed43879862 100644
--- a/package/sdl3/Config.in
+++ b/package/sdl3/Config.in
@@ -75,6 +75,21 @@ config BR2_PACKAGE_SDL3_OPENGLES
comment "OpenGL ES support needs an OpenGL ES provider"
depends on !BR2_PACKAGE_HAS_LIBGLES
+config BR2_PACKAGE_SDL3_ALSA
+ bool "ALSA audio"
+ depends on BR2_PACKAGE_ALSA_LIB
+ help
+ Enable the ALSA audio driver.
+
+comment "ALSA audio needs alsa-lib"
+ depends on !BR2_PACKAGE_ALSA_LIB
+
+config BR2_PACKAGE_SDL3_TESTS
+ bool "build test programs"
+ help
+ Build and install the SDL3 test programs, which are useful
+ for checking the video and audio drivers on the target.
+
endif
comment "sdl3 needs a toolchain w/ dynamic library, threads, wchar"
diff --git a/package/sdl3/sdl3.mk b/package/sdl3/sdl3.mk
index ecbcbf4bc2..7c92ee9bc8 100644
--- a/package/sdl3/sdl3.mk
+++ b/package/sdl3/sdl3.mk
@@ -13,23 +13,59 @@ SDL3_CPE_ID_VENDOR = libsdl
SDL3_CPE_ID_PRODUCT = simple_directmedia_layer
SDL3_INSTALL_STAGING = YES
+SDL3_DEPENDENCIES = host-pkgconf
+
+# The audio and video backends this does not have a Buildroot option for are
+# named explicitly rather than left out: SDL probes for each of them and
+# builds against whatever it happens to find in the sysroot, so an unlisted
+# backend makes the result depend on which other packages are enabled.
SDL3_CONF_OPTS = \
- -DSDL_DBUS=OFF \
-DSDL_DUMMYVIDEO=OFF \
+ -DSDL_EXAMPLES=OFF \
-DSDL_HIDAPI=OFF \
-DSDL_IBUS=OFF \
-DSDL_INSTALL_DOCS=OFF \
+ -DSDL_JACK=OFF \
-DSDL_JOYSTICK_MFI=OFF \
-DSDL_JOYSTICK_VIRTUAL=OFF \
-DSDL_OFFSCREEN=OFF \
+ -DSDL_OSS=OFF \
+ -DSDL_PIPEWIRE=OFF \
-DSDL_PULSEAUDIO=OFF \
-DSDL_RENDER_D3D=OFF \
-DSDL_RPATH=OFF \
+ -DSDL_RPI=OFF \
+ -DSDL_SNDIO=OFF \
-DSDL_STATIC=ON \
-DSDL_UNIX_CONSOLE_BUILD=ON \
-DSDL_VIVANTE=OFF \
-DSDL_VULKAN=OFF
+ifeq ($(BR2_PACKAGE_SDL3_ALSA),y)
+SDL3_DEPENDENCIES += alsa-lib
+# SDL_ALSA_SHARED makes SDL dlopen() libasound at runtime rather than link it,
+# which leaves nothing in the ELF for Buildroot to see and the library absent
+# from the target unless something else pulls it in.
+SDL3_CONF_OPTS += -DSDL_ALSA=ON -DSDL_ALSA_SHARED=OFF
+else
+SDL3_CONF_OPTS += -DSDL_ALSA=OFF
+endif
+
+# SDL uses D-Bus for screensaver inhibition and for parts of the Wayland
+# backend, so it follows dbus rather than being off unconditionally.
+ifeq ($(BR2_PACKAGE_DBUS),y)
+SDL3_DEPENDENCIES += dbus
+SDL3_CONF_OPTS += -DSDL_DBUS=ON
+else
+SDL3_CONF_OPTS += -DSDL_DBUS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_SDL3_TESTS),y)
+SDL3_CONF_OPTS += -DSDL_TESTS=ON
+else
+SDL3_CONF_OPTS += -DSDL_TESTS=OFF
+endif
+
# SDL3 fails to build in Thumb mode on some ARM architectures
ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
SDL3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 4/8] package/sdl3_image: bump to version 3.4.4
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
` (2 preceding siblings ...)
2026-08-16 19:18 ` [Buildroot] [PATCH 3/8] package/sdl3: add ALSA and test program options, follow dbus Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-10-19 21:49 ` Thomas Petazzoni via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 5/8] package/sdl3_ttf: do not build the samples or install man pages Alsey Coleman Miller
` (3 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
3.1.1 is a prerelease. 3.4.4 is the current release, and the option
names changed with it: PNG is now SDLIMAGE_PNG_LIBPNG, with
SDLIMAGE_BACKEND_STB selecting the built-in decoder used when no helper
library is available.
Build the optional format backends according to the image libraries
already in the configuration - AVIF, JPEG, TIFF, WEBP and JXL alongside
the existing PNG - rather than PNG alone. VENDORED stays off so the
copies of those libraries carried in the tarball are not used, and
DEPS_SHARED off so they are linked rather than dlopen()ed.
The formats SDL3_image decodes by itself (BMP, GIF, LBM, PCX, PNM, QOI,
SVG, TGA, XCF, XPM, XV) need no helper and are always available.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
package/sdl3_image/Config.in | 10 ++++-
package/sdl3_image/sdl3_image.hash | 4 +-
package/sdl3_image/sdl3_image.mk | 62 ++++++++++++++++++++++++++++--
3 files changed, 68 insertions(+), 8 deletions(-)
diff --git a/package/sdl3_image/Config.in b/package/sdl3_image/Config.in
index 9b9c4f0d74..b93d40c1e7 100644
--- a/package/sdl3_image/Config.in
+++ b/package/sdl3_image/Config.in
@@ -3,7 +3,13 @@ config BR2_PACKAGE_SDL3_IMAGE
depends on BR2_PACKAGE_SDL3
help
SDL3_image is an image file loading library. It loads images
- as SDL surfaces, and supports the following formats: BMP,
- GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, XCF, XPM, XV.
+ as SDL surfaces, and supports the following formats: AVIF,
+ BMP, GIF, JPEG, JXL, LBM, PCX, PNG, PNM, QOI, SVG, TGA, TIFF,
+ WEBP, XCF, XPM, XV.
+
+ The formats needing a helper library are built according to
+ the image libraries enabled in the configuration (jpeg,
+ libpng, tiff, webp, libjxl, libavif); the rest are decoded by
+ SDL3_image itself and are always available.
http://www.libsdl.org/projects/SDL_image/
diff --git a/package/sdl3_image/sdl3_image.hash b/package/sdl3_image/sdl3_image.hash
index 83f5e7eaf1..c7ddbdc43b 100644
--- a/package/sdl3_image/sdl3_image.hash
+++ b/package/sdl3_image/sdl3_image.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 d5685f220d5ae99439d710d808d8c478c6ccfaac539876929239b875a6723792 SDL3_image-3.1.1.tar.gz
-sha256 7826eca0a0f7e591f38dd844e207a200aac81a59b20d8a30c3af8c6282af13e6 LICENSE.txt
+sha256 29751304a13d25ac513f24305fa25b06a6edd9607718c90129b8350d35fc5573 SDL3_image-3.4.4.tar.gz
+sha256 e36997fe492c48e7ed873065cc3a694f38e8189a328d3709099ffdc9a8843f4c LICENSE.txt
diff --git a/package/sdl3_image/sdl3_image.mk b/package/sdl3_image/sdl3_image.mk
index fadb870b6f..ac3e375551 100644
--- a/package/sdl3_image/sdl3_image.mk
+++ b/package/sdl3_image/sdl3_image.mk
@@ -4,19 +4,73 @@
#
################################################################################
-SDL3_IMAGE_VERSION = 3.1.1
+SDL3_IMAGE_VERSION = 3.4.4
SDL3_IMAGE_SITE = https://www.libsdl.org/projects/SDL_image/release
SDL3_IMAGE_SOURCE = SDL3_image-$(SDL3_IMAGE_VERSION).tar.gz
SDL3_IMAGE_LICENSE = Zlib
SDL3_IMAGE_LICENSE_FILES = LICENSE.txt
+SDL3_IMAGE_CPE_ID_VENDOR = libsdl
+SDL3_IMAGE_CPE_ID_PRODUCT = sdl_image
SDL3_IMAGE_INSTALL_STAGING = YES
-SDL3_IMAGE_DEPENDENCIES = sdl3
+SDL3_IMAGE_DEPENDENCIES = sdl3 host-pkgconf
+
+# VENDORED would build the copies of libpng and friends carried in the
+# tarball; DEPS_SHARED would dlopen them at runtime instead of linking, which
+# leaves nothing in the ELF for Buildroot to see.
+SDL3_IMAGE_CONF_OPTS = \
+ -DSDLIMAGE_VENDORED=OFF \
+ -DSDLIMAGE_DEPS_SHARED=OFF \
+ -DSDLIMAGE_STRICT=ON \
+ -DSDLIMAGE_SAMPLES=OFF \
+ -DSDLIMAGE_TESTS=OFF \
+ -DSDLIMAGE_INSTALL_MAN=OFF
+
+ifeq ($(BR2_PACKAGE_LIBAVIF),y)
+SDL3_IMAGE_DEPENDENCIES += libavif
+SDL3_IMAGE_CONF_OPTS += \
+ -DSDLIMAGE_AVIF=ON \
+ -DSDLIMAGE_AVIF_SAVE=OFF
+else
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_AVIF=OFF
+endif
+
+# Without jpeg, JPEG support falls back to the bundled stb_image decoder
+# rather than being dropped.
+ifeq ($(BR2_PACKAGE_JPEG),y)
+SDL3_IMAGE_DEPENDENCIES += jpeg
+SDL3_IMAGE_CONF_OPTS += \
+ -DSDLIMAGE_BACKEND_STB=OFF \
+ -DSDLIMAGE_JPG=ON
+else
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_BACKEND_STB=ON
+endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
SDL3_IMAGE_DEPENDENCIES += libpng
-SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_PNG=ON
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_PNG_LIBPNG=ON
+else
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_PNG_LIBPNG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_TIFF),y)
+SDL3_IMAGE_DEPENDENCIES += tiff
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_TIF=ON
+else
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_TIF=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WEBP_DEMUX)$(BR2_PACKAGE_WEBP_MUX),yy)
+SDL3_IMAGE_DEPENDENCIES += webp
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_WEBP=ON
+else
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_WEBP=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBJXL),y)
+SDL3_IMAGE_DEPENDENCIES += libjxl
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_JXL=ON
else
-SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_PNG=OFF
+SDL3_IMAGE_CONF_OPTS += -DSDLIMAGE_JXL=OFF
endif
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 5/8] package/sdl3_ttf: do not build the samples or install man pages
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
` (3 preceding siblings ...)
2026-08-16 19:18 ` [Buildroot] [PATCH 4/8] package/sdl3_image: bump to version 3.4.4 Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-10-19 21:49 ` Thomas Petazzoni via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 6/8] package/sdl3_ttf: build plutosvg support when available Alsey Coleman Miller
` (2 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
SDLTTF_SAMPLES builds example programs that are not installed, and
SDLTTF_INSTALL_MAN puts man pages on the target that Buildroot removes
again. STRICT makes the build fail on a missing dependency rather than
quietly dropping the feature it belongs to.
Also state SDLTTF_HARFBUZZ=OFF in the branch where harfbuzz is absent
instead of relying on the default set above it, so both halves of the
condition read the same way.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
package/sdl3_ttf/sdl3_ttf.mk | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/package/sdl3_ttf/sdl3_ttf.mk b/package/sdl3_ttf/sdl3_ttf.mk
index 12441e243e..130e07746e 100644
--- a/package/sdl3_ttf/sdl3_ttf.mk
+++ b/package/sdl3_ttf/sdl3_ttf.mk
@@ -15,11 +15,15 @@ SDL3_TTF_DEPENDENCIES = sdl3 freetype host-pkgconf
SDL3_TTF_CONF_OPTS = \
-DSDLTTF_VENDORED=OFF \
- -DSDLTTF_HARFBUZZ=OFF
+ -DSDLTTF_STRICT=ON \
+ -DSDLTTF_SAMPLES=OFF \
+ -DSDLTTF_INSTALL_MAN=OFF
ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
SDL3_TTF_DEPENDENCIES += harfbuzz
SDL3_TTF_CONF_OPTS += -DSDLTTF_HARFBUZZ=ON
+else
+SDL3_TTF_CONF_OPTS += -DSDLTTF_HARFBUZZ=OFF
endif
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 6/8] package/sdl3_ttf: build plutosvg support when available
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
` (4 preceding siblings ...)
2026-08-16 19:18 ` [Buildroot] [PATCH 5/8] package/sdl3_ttf: do not build the samples or install man pages Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-10-19 21:50 ` Thomas Petazzoni via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 7/8] package/sdl3_mixer: new package Alsey Coleman Miller
2026-08-16 19:18 ` [Buildroot] [PATCH 8/8] package/sdl3_net: " Alsey Coleman Miller
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
Colour emoji fonts store their glyphs as SVG, which SDL3_ttf renders
through plutosvg. Without it those glyphs are skipped and the rest of
the font still renders.
plutosvg is packaged in the swift-linux ports tree rather than in
Buildroot, so BR2_PACKAGE_PLUTOSVG is undefined on a plain Buildroot and
the branch selects SDLTTF_PLUTOSVG=OFF - the behaviour before this
commit. Not for upstream until plutosvg and plutovg are packaged there.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
package/sdl3_ttf/sdl3_ttf.mk | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/package/sdl3_ttf/sdl3_ttf.mk b/package/sdl3_ttf/sdl3_ttf.mk
index 130e07746e..660661a5b7 100644
--- a/package/sdl3_ttf/sdl3_ttf.mk
+++ b/package/sdl3_ttf/sdl3_ttf.mk
@@ -26,4 +26,14 @@ else
SDL3_TTF_CONF_OPTS += -DSDLTTF_HARFBUZZ=OFF
endif
+# plutosvg renders the SVG glyphs in a colour emoji font, through the
+# FreeType OpenType-SVG hooks. Without it those glyphs are skipped and the
+# rest of the font still renders.
+ifeq ($(BR2_PACKAGE_PLUTOSVG),y)
+SDL3_TTF_DEPENDENCIES += plutosvg
+SDL3_TTF_CONF_OPTS += -DSDLTTF_PLUTOSVG=ON
+else
+SDL3_TTF_CONF_OPTS += -DSDLTTF_PLUTOSVG=OFF
+endif
+
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 7/8] package/sdl3_mixer: new package
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
` (5 preceding siblings ...)
2026-08-16 19:18 ` [Buildroot] [PATCH 6/8] package/sdl3_ttf: build plutosvg support when available Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-09-22 19:59 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 8/8] package/sdl3_net: " Alsey Coleman Miller
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
SDL3_mixer is the multi-channel audio mixer library for SDL3. It plays
AIFF, AU, VOC and WAVE, MIDI through the built-in timidity, and MP3,
Ogg Vorbis and FLAC through the bundled dr_mp3, stb_vorbis and dr_flac
decoders, none of which need a dependency.
The better decoders are built when their libraries are already in the
configuration: flac, mpg123, opusfile, wavpack, fluidsynth, libxmp for
modules and game-music-emu for console chiptunes. Ogg Vorbis comes from
vorbisfile or tremor and never both, since upstream errors out when the
two are enabled together, so tremor is used only when libvorbis is
absent.
VENDORED is off so the copies of those libraries in the tarball are not
used, DEPS_SHARED off so they are linked rather than dlopen()ed, and
STRICT on so a decoder that cannot find its library fails the build
instead of being dropped silently.
Built with CMake, like sdl3 itself, rather than with the autotools setup
the SDL2 counterpart uses.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/sdl3_mixer/Config.in | 17 +++++
package/sdl3_mixer/sdl3_mixer.hash | 3 +
package/sdl3_mixer/sdl3_mixer.mk | 103 +++++++++++++++++++++++++++++
5 files changed, 125 insertions(+)
create mode 100644 package/sdl3_mixer/Config.in
create mode 100644 package/sdl3_mixer/sdl3_mixer.hash
create mode 100644 package/sdl3_mixer/sdl3_mixer.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 56b01fa5cc..964fe9a597 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -172,6 +172,7 @@ N: Alsey Coleman Miller <alseycmiller@gmail.com>
F: package/liblc3/
F: package/plutosvg/
F: package/plutovg/
+F: package/sdl3_mixer/
N: Alvaro G. M <alvaro.gamez@hazent.com>
F: package/dcron/
diff --git a/package/Config.in b/package/Config.in
index 5e1601036c..853d3bd07d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -369,6 +369,7 @@ comment "Graphic libraries"
source "package/sdl3/Config.in"
source "package/sdl3_gfx/Config.in"
source "package/sdl3_image/Config.in"
+ source "package/sdl3_mixer/Config.in"
source "package/sdl3_ttf/Config.in"
source "package/spirv-headers/Config.in"
source "package/tk/Config.in"
diff --git a/package/sdl3_mixer/Config.in b/package/sdl3_mixer/Config.in
new file mode 100644
index 0000000000..cfefb4719b
--- /dev/null
+++ b/package/sdl3_mixer/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_SDL3_MIXER
+ bool "sdl3_mixer"
+ depends on BR2_PACKAGE_SDL3
+ help
+ SDL3_mixer is a multi-channel audio mixer library for
+ SDL3. It plays AIFF, AU, VOC and WAVE samples, MIDI
+ through the built-in timidity, and MP3, Ogg Vorbis and
+ FLAC through the bundled dr_mp3, stb_vorbis and dr_flac
+ decoders.
+
+ The higher quality decoders are used instead when their
+ libraries are enabled in the configuration (flac, mpg123,
+ libvorbis or tremor, opusfile, wavpack, fluidsynth), and
+ module and console chiptune playback is added by libxmp
+ and game-music-emu.
+
+ https://github.com/libsdl-org/SDL_mixer
diff --git a/package/sdl3_mixer/sdl3_mixer.hash b/package/sdl3_mixer/sdl3_mixer.hash
new file mode 100644
index 0000000000..44602037e1
--- /dev/null
+++ b/package/sdl3_mixer/sdl3_mixer.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 182a07c745375e113dc740d43964ff21b0be29f29f59876c4dbc4db3d32f6901 SDL3_mixer-3.2.4.tar.gz
+sha256 e36997fe492c48e7ed873065cc3a694f38e8189a328d3709099ffdc9a8843f4c LICENSE.txt
diff --git a/package/sdl3_mixer/sdl3_mixer.mk b/package/sdl3_mixer/sdl3_mixer.mk
new file mode 100644
index 0000000000..beff679466
--- /dev/null
+++ b/package/sdl3_mixer/sdl3_mixer.mk
@@ -0,0 +1,103 @@
+################################################################################
+#
+# sdl3_mixer
+#
+################################################################################
+
+SDL3_MIXER_VERSION = 3.2.4
+SDL3_MIXER_SOURCE = SDL3_mixer-$(SDL3_MIXER_VERSION).tar.gz
+SDL3_MIXER_SITE = https://www.libsdl.org/projects/SDL_mixer/release
+SDL3_MIXER_LICENSE = Zlib
+SDL3_MIXER_LICENSE_FILES = LICENSE.txt
+SDL3_MIXER_CPE_ID_VENDOR = libsdl
+SDL3_MIXER_CPE_ID_PRODUCT = sdl_mixer
+SDL3_MIXER_INSTALL_STAGING = YES
+SDL3_MIXER_DEPENDENCIES = sdl3 host-pkgconf
+
+# AIFF, AU, VOC and WAVE, plus the bundled dr_flac, dr_mp3, stb_vorbis and
+# timidity decoders, need no dependency and are left enabled by default.
+# STRICT makes the build fail when a decoder we asked for cannot find its
+# library, instead of silently dropping it. DEPS_SHARED=OFF links the
+# decoder libraries directly rather than dlopen()ing them at runtime.
+SDL3_MIXER_CONF_OPTS = \
+ -DSDLMIXER_VENDORED=OFF \
+ -DSDLMIXER_DEPS_SHARED=OFF \
+ -DSDLMIXER_STRICT=ON \
+ -DSDLMIXER_TESTS=OFF \
+ -DSDLMIXER_EXAMPLES=OFF \
+ -DSDLMIXER_INSTALL_MAN=OFF
+
+ifeq ($(BR2_PACKAGE_GAME_MUSIC_EMU),y)
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_GME=ON
+SDL3_MIXER_DEPENDENCIES += game-music-emu
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_GME=OFF
+endif
+
+# MOD playback goes through libxmp; libxmp-lite is not packaged.
+ifeq ($(BR2_PACKAGE_LIBXMP),y)
+SDL3_MIXER_CONF_OPTS += \
+ -DSDLMIXER_MOD=ON \
+ -DSDLMIXER_MOD_XMP=ON \
+ -DSDLMIXER_MOD_XMP_LITE=OFF
+SDL3_MIXER_DEPENDENCIES += libxmp
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MOD=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_FLAC),y)
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_FLAC_LIBFLAC=ON
+SDL3_MIXER_DEPENDENCIES += flac
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_FLAC_LIBFLAC=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_MPG123),y)
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MP3_MPG123=ON
+SDL3_MIXER_DEPENDENCIES += mpg123
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MP3_MPG123=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y)
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MIDI_FLUIDSYNTH=ON
+SDL3_MIXER_DEPENDENCIES += fluidsynth
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MIDI_FLUIDSYNTH=OFF
+endif
+
+# Opus is decoded through opusfile, which pulls in opus and libogg.
+ifeq ($(BR2_PACKAGE_OPUSFILE),y)
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_OPUS=ON
+SDL3_MIXER_DEPENDENCIES += opusfile
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_OPUS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAVPACK),y)
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_WAVPACK=ON
+SDL3_MIXER_DEPENDENCIES += wavpack
+else
+SDL3_MIXER_CONF_OPTS += -DSDLMIXER_WAVPACK=OFF
+endif
+
+# Ogg Vorbis comes from either vorbisfile or tremor, never both; upstream
+# errors out when the two are enabled together. tremor is the integer-only
+# decoder, so it is only used when libvorbis is absent.
+ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
+SDL3_MIXER_CONF_OPTS += \
+ -DSDLMIXER_VORBIS_VORBISFILE=ON \
+ -DSDLMIXER_VORBIS_TREMOR=OFF
+SDL3_MIXER_DEPENDENCIES += libvorbis
+else ifeq ($(BR2_PACKAGE_TREMOR),y)
+SDL3_MIXER_CONF_OPTS += \
+ -DSDLMIXER_VORBIS_VORBISFILE=OFF \
+ -DSDLMIXER_VORBIS_TREMOR=ON
+SDL3_MIXER_DEPENDENCIES += tremor
+else
+SDL3_MIXER_CONF_OPTS += \
+ -DSDLMIXER_VORBIS_VORBISFILE=OFF \
+ -DSDLMIXER_VORBIS_TREMOR=OFF
+endif
+
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 8/8] package/sdl3_net: new package
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
` (6 preceding siblings ...)
2026-08-16 19:18 ` [Buildroot] [PATCH 7/8] package/sdl3_mixer: new package Alsey Coleman Miller
@ 2026-08-16 19:18 ` Alsey Coleman Miller
2026-10-19 21:51 ` Thomas Petazzoni via buildroot
7 siblings, 1 reply; 17+ messages in thread
From: Alsey Coleman Miller @ 2026-08-16 19:18 UTC (permalink / raw)
To: buildroot; +Cc: Michael Fischer, Alsey Coleman Miller
SDL3_net is the small cross-platform networking library for SDL3,
providing TCP and UDP sockets and hostname resolution.
Samples are not built and the man pages are not installed: the samples
are demo programs that are never installed, and Buildroot removes
/usr/share/man from the target anyway.
Built with CMake, like sdl3 itself, rather than with the autotools setup
the SDL2 counterpart uses.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/sdl3_net/Config.in | 9 +++++++++
package/sdl3_net/sdl3_net.hash | 3 +++
package/sdl3_net/sdl3_net.mk | 21 +++++++++++++++++++++
5 files changed, 35 insertions(+)
create mode 100644 package/sdl3_net/Config.in
create mode 100644 package/sdl3_net/sdl3_net.hash
create mode 100644 package/sdl3_net/sdl3_net.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 964fe9a597..3c8f7c5198 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -173,6 +173,7 @@ F: package/liblc3/
F: package/plutosvg/
F: package/plutovg/
F: package/sdl3_mixer/
+F: package/sdl3_net/
N: Alvaro G. M <alvaro.gamez@hazent.com>
F: package/dcron/
diff --git a/package/Config.in b/package/Config.in
index 853d3bd07d..eeb10fd569 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -370,6 +370,7 @@ comment "Graphic libraries"
source "package/sdl3_gfx/Config.in"
source "package/sdl3_image/Config.in"
source "package/sdl3_mixer/Config.in"
+ source "package/sdl3_net/Config.in"
source "package/sdl3_ttf/Config.in"
source "package/spirv-headers/Config.in"
source "package/tk/Config.in"
diff --git a/package/sdl3_net/Config.in b/package/sdl3_net/Config.in
new file mode 100644
index 0000000000..8375e5e0b6
--- /dev/null
+++ b/package/sdl3_net/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_SDL3_NET
+ bool "sdl3_net"
+ depends on BR2_PACKAGE_SDL3
+ help
+ SDL3_net is a small cross-platform networking library for
+ SDL3, providing TCP and UDP sockets and hostname
+ resolution.
+
+ https://github.com/libsdl-org/SDL_net
diff --git a/package/sdl3_net/sdl3_net.hash b/package/sdl3_net/sdl3_net.hash
new file mode 100644
index 0000000000..af871c8e99
--- /dev/null
+++ b/package/sdl3_net/sdl3_net.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 098522fc26d4e302ef9348aee6e76e67fe504dfefd7f596236568f8330570c41 SDL3_net-3.2.0.tar.gz
+sha256 1c040b8271b37e5076359f8fd54240e371114112924d2df81ef87c7d6a1dfdfd LICENSE.txt
diff --git a/package/sdl3_net/sdl3_net.mk b/package/sdl3_net/sdl3_net.mk
new file mode 100644
index 0000000000..da7deee6f6
--- /dev/null
+++ b/package/sdl3_net/sdl3_net.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# sdl3_net
+#
+################################################################################
+
+SDL3_NET_VERSION = 3.2.0
+SDL3_NET_SOURCE = SDL3_net-$(SDL3_NET_VERSION).tar.gz
+SDL3_NET_SITE = https://www.libsdl.org/projects/SDL_net/release
+SDL3_NET_LICENSE = Zlib
+SDL3_NET_LICENSE_FILES = LICENSE.txt
+SDL3_NET_CPE_ID_VENDOR = libsdl
+SDL3_NET_CPE_ID_PRODUCT = sdl_net
+SDL3_NET_INSTALL_STAGING = YES
+SDL3_NET_DEPENDENCIES = sdl3 host-pkgconf
+
+SDL3_NET_CONF_OPTS = \
+ -DSDLNET_SAMPLES=OFF \
+ -DSDLNET_INSTALL_MAN=OFF
+
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 7/8] package/sdl3_mixer: new package
2026-08-16 19:18 ` [Buildroot] [PATCH 7/8] package/sdl3_mixer: new package Alsey Coleman Miller
@ 2026-09-22 19:59 ` Julien Olivain via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain via buildroot @ 2026-09-22 19:59 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
Hi Alsey,
Thanks for the patch. I have few comments, see below.
On 16/08/2026 21:18, Alsey Coleman Miller wrote:
> SDL3_mixer is the multi-channel audio mixer library for SDL3. It plays
> AIFF, AU, VOC and WAVE, MIDI through the built-in timidity, and MP3,
> Ogg Vorbis and FLAC through the bundled dr_mp3, stb_vorbis and dr_flac
> decoders, none of which need a dependency.
>
> The better decoders are built when their libraries are already in the
> configuration: flac, mpg123, opusfile, wavpack, fluidsynth, libxmp for
> modules and game-music-emu for console chiptunes. Ogg Vorbis comes from
> vorbisfile or tremor and never both, since upstream errors out when the
> two are enabled together, so tremor is used only when libvorbis is
> absent.
>
> VENDORED is off so the copies of those libraries in the tarball are not
> used, DEPS_SHARED off so they are linked rather than dlopen()ed, and
> STRICT on so a decoder that cannot find its library fails the build
> instead of being dropped silently.
>
> Built with CMake, like sdl3 itself, rather than with the autotools
> setup
> the SDL2 counterpart uses.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/sdl3_mixer/Config.in | 17 +++++
> package/sdl3_mixer/sdl3_mixer.hash | 3 +
> package/sdl3_mixer/sdl3_mixer.mk | 103 +++++++++++++++++++++++++++++
> 5 files changed, 125 insertions(+)
> create mode 100644 package/sdl3_mixer/Config.in
> create mode 100644 package/sdl3_mixer/sdl3_mixer.hash
> create mode 100644 package/sdl3_mixer/sdl3_mixer.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 56b01fa5cc..964fe9a597 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -172,6 +172,7 @@ N: Alsey Coleman Miller <alseycmiller@gmail.com>
> F: package/liblc3/
> F: package/plutosvg/
> F: package/plutovg/
> +F: package/sdl3_mixer/
>
> N: Alvaro G. M <alvaro.gamez@hazent.com>
> F: package/dcron/
> diff --git a/package/Config.in b/package/Config.in
> index 5e1601036c..853d3bd07d 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -369,6 +369,7 @@ comment "Graphic libraries"
> source "package/sdl3/Config.in"
> source "package/sdl3_gfx/Config.in"
> source "package/sdl3_image/Config.in"
> + source "package/sdl3_mixer/Config.in"
> source "package/sdl3_ttf/Config.in"
> source "package/spirv-headers/Config.in"
> source "package/tk/Config.in"
> diff --git a/package/sdl3_mixer/Config.in
> b/package/sdl3_mixer/Config.in
> new file mode 100644
> index 0000000000..cfefb4719b
> --- /dev/null
> +++ b/package/sdl3_mixer/Config.in
> @@ -0,0 +1,17 @@
> +config BR2_PACKAGE_SDL3_MIXER
> + bool "sdl3_mixer"
> + depends on BR2_PACKAGE_SDL3
> + help
> + SDL3_mixer is a multi-channel audio mixer library for
> + SDL3. It plays AIFF, AU, VOC and WAVE samples, MIDI
> + through the built-in timidity, and MP3, Ogg Vorbis and
> + FLAC through the bundled dr_mp3, stb_vorbis and dr_flac
> + decoders.
> +
> + The higher quality decoders are used instead when their
> + libraries are enabled in the configuration (flac, mpg123,
> + libvorbis or tremor, opusfile, wavpack, fluidsynth), and
> + module and console chiptune playback is added by libxmp
> + and game-music-emu.
> +
> + https://github.com/libsdl-org/SDL_mixer
> diff --git a/package/sdl3_mixer/sdl3_mixer.hash
> b/package/sdl3_mixer/sdl3_mixer.hash
> new file mode 100644
> index 0000000000..44602037e1
> --- /dev/null
> +++ b/package/sdl3_mixer/sdl3_mixer.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256
> 182a07c745375e113dc740d43964ff21b0be29f29f59876c4dbc4db3d32f6901
> SDL3_mixer-3.2.4.tar.gz
> +sha256
> e36997fe492c48e7ed873065cc3a694f38e8189a328d3709099ffdc9a8843f4c
> LICENSE.txt
> diff --git a/package/sdl3_mixer/sdl3_mixer.mk
> b/package/sdl3_mixer/sdl3_mixer.mk
> new file mode 100644
> index 0000000000..beff679466
> --- /dev/null
> +++ b/package/sdl3_mixer/sdl3_mixer.mk
> @@ -0,0 +1,103 @@
> +################################################################################
> +#
> +# sdl3_mixer
> +#
> +################################################################################
> +
> +SDL3_MIXER_VERSION = 3.2.4
> +SDL3_MIXER_SOURCE = SDL3_mixer-$(SDL3_MIXER_VERSION).tar.gz
> +SDL3_MIXER_SITE = https://www.libsdl.org/projects/SDL_mixer/release
> +SDL3_MIXER_LICENSE = Zlib
> +SDL3_MIXER_LICENSE_FILES = LICENSE.txt
> +SDL3_MIXER_CPE_ID_VENDOR = libsdl
> +SDL3_MIXER_CPE_ID_PRODUCT = sdl_mixer
> +SDL3_MIXER_INSTALL_STAGING = YES
> +SDL3_MIXER_DEPENDENCIES = sdl3 host-pkgconf
> +
> +# AIFF, AU, VOC and WAVE, plus the bundled dr_flac, dr_mp3, stb_vorbis
> and
> +# timidity decoders, need no dependency and are left enabled by
> default.
> +# STRICT makes the build fail when a decoder we asked for cannot find
> its
> +# library, instead of silently dropping it. DEPS_SHARED=OFF links the
> +# decoder libraries directly rather than dlopen()ing them at runtime.
> +SDL3_MIXER_CONF_OPTS = \
> + -DSDLMIXER_VENDORED=OFF \
> + -DSDLMIXER_DEPS_SHARED=OFF \
> + -DSDLMIXER_STRICT=ON \
> + -DSDLMIXER_TESTS=OFF \
> + -DSDLMIXER_EXAMPLES=OFF \
> + -DSDLMIXER_INSTALL_MAN=OFF
> +
> +ifeq ($(BR2_PACKAGE_GAME_MUSIC_EMU),y)
Here, the script "utils/check-symbols" reports an error:
package/sdl3_mixer/sdl3_mixer.mk:30: BR2_PACKAGE_GAME_MUSIC_EMU
referenced but not defined
This symbol does not exist. This package is missing in
your patch series, or this block should be removed.
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_GME=ON
> +SDL3_MIXER_DEPENDENCIES += game-music-emu
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_GME=OFF
> +endif
> +
> +# MOD playback goes through libxmp; libxmp-lite is not packaged.
> +ifeq ($(BR2_PACKAGE_LIBXMP),y)
Same comment here:
The script "utils/check-symbols" reports an error:
package/sdl3_mixer/sdl3_mixer.mk:38: BR2_PACKAGE_LIBXMP referenced but
not defined
> +SDL3_MIXER_CONF_OPTS += \
> + -DSDLMIXER_MOD=ON \
> + -DSDLMIXER_MOD_XMP=ON \
> + -DSDLMIXER_MOD_XMP_LITE=OFF
> +SDL3_MIXER_DEPENDENCIES += libxmp
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MOD=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLAC),y)
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_FLAC_LIBFLAC=ON
> +SDL3_MIXER_DEPENDENCIES += flac
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_FLAC_LIBFLAC=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_MPG123),y)
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MP3_MPG123=ON
> +SDL3_MIXER_DEPENDENCIES += mpg123
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MP3_MPG123=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH),y)
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MIDI_FLUIDSYNTH=ON
> +SDL3_MIXER_DEPENDENCIES += fluidsynth
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_MIDI_FLUIDSYNTH=OFF
> +endif
> +
> +# Opus is decoded through opusfile, which pulls in opus and libogg.
> +ifeq ($(BR2_PACKAGE_OPUSFILE),y)
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_OPUS=ON
> +SDL3_MIXER_DEPENDENCIES += opusfile
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_OPUS=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_WAVPACK),y)
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_WAVPACK=ON
> +SDL3_MIXER_DEPENDENCIES += wavpack
> +else
> +SDL3_MIXER_CONF_OPTS += -DSDLMIXER_WAVPACK=OFF
> +endif
> +
> +# Ogg Vorbis comes from either vorbisfile or tremor, never both;
> upstream
> +# errors out when the two are enabled together. tremor is the
> integer-only
> +# decoder, so it is only used when libvorbis is absent.
> +ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
> +SDL3_MIXER_CONF_OPTS += \
> + -DSDLMIXER_VORBIS_VORBISFILE=ON \
> + -DSDLMIXER_VORBIS_TREMOR=OFF
> +SDL3_MIXER_DEPENDENCIES += libvorbis
> +else ifeq ($(BR2_PACKAGE_TREMOR),y)
> +SDL3_MIXER_CONF_OPTS += \
> + -DSDLMIXER_VORBIS_VORBISFILE=OFF \
> + -DSDLMIXER_VORBIS_TREMOR=ON
> +SDL3_MIXER_DEPENDENCIES += tremor
> +else
> +SDL3_MIXER_CONF_OPTS += \
> + -DSDLMIXER_VORBIS_VORBISFILE=OFF \
> + -DSDLMIXER_VORBIS_TREMOR=OFF
> +endif
> +
> +$(eval $(cmake-package))
> --
> 2.47.3
Could you send an updated patch, please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 3/8] package/sdl3: add ALSA and test program options, follow dbus
2026-08-16 19:18 ` [Buildroot] [PATCH 3/8] package/sdl3: add ALSA and test program options, follow dbus Alsey Coleman Miller
@ 2026-09-22 20:08 ` Julien Olivain via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain via buildroot @ 2026-09-22 20:08 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
Hi Alsey,
Thanks for the patch.
On 16/08/2026 21:18, Alsey Coleman Miller wrote:
> SDL_ALSA had no option at all, so whether the ALSA audio driver was
> built depended on what SDL's own detection found in the sysroot when it
> happened to configure. Add BR2_PACKAGE_SDL3_ALSA and pass
> SDL_ALSA_SHARED=OFF with it, so libasound is linked rather than
> dlopen()ed - a dlopen leaves nothing in the ELF, and the library is
> then
> absent from the target unless something else pulls it in.
>
> SDL_DBUS was off unconditionally, which loses screensaver inhibition
> and
> the D-Bus parts of the Wayland backend; make it follow
> BR2_PACKAGE_DBUS.
>
> Add BR2_PACKAGE_SDL3_TESTS for the test programs, which are useful for
> checking the video and audio drivers on the target.
>
> Finally, name the backends that were left unset - OSS, JACK, sndio,
> PipeWire, RPI - and turn the examples off. SDL probes for each of these
> and builds against whatever it finds, so leaving them out makes the
> result depend on which unrelated packages are enabled.
Could you split this patch in 4 smaller ones?
- one patch for the ALSA change,
- another for DBUS
- another for introducing BR2_PACKAGE_SDL3_TESTS
- finally a last one disabling examples and other unbeeded options
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
> ---
> package/sdl3/Config.in | 15 +++++++++++++++
> package/sdl3/sdl3.mk | 38 +++++++++++++++++++++++++++++++++++++-
> 2 files changed, 52 insertions(+), 1 deletion(-)
>
> diff --git a/package/sdl3/Config.in b/package/sdl3/Config.in
> index 7bce4ceaba..ed43879862 100644
> --- a/package/sdl3/Config.in
> +++ b/package/sdl3/Config.in
> @@ -75,6 +75,21 @@ config BR2_PACKAGE_SDL3_OPENGLES
> comment "OpenGL ES support needs an OpenGL ES provider"
> depends on !BR2_PACKAGE_HAS_LIBGLES
>
> +config BR2_PACKAGE_SDL3_ALSA
> + bool "ALSA audio"
> + depends on BR2_PACKAGE_ALSA_LIB
> + help
> + Enable the ALSA audio driver.
> +
> +comment "ALSA audio needs alsa-lib"
> + depends on !BR2_PACKAGE_ALSA_LIB
> +
> +config BR2_PACKAGE_SDL3_TESTS
> + bool "build test programs"
> + help
> + Build and install the SDL3 test programs, which are useful
> + for checking the video and audio drivers on the target.
> +
> endif
>
> comment "sdl3 needs a toolchain w/ dynamic library, threads, wchar"
> diff --git a/package/sdl3/sdl3.mk b/package/sdl3/sdl3.mk
> index ecbcbf4bc2..7c92ee9bc8 100644
> --- a/package/sdl3/sdl3.mk
> +++ b/package/sdl3/sdl3.mk
> @@ -13,23 +13,59 @@ SDL3_CPE_ID_VENDOR = libsdl
> SDL3_CPE_ID_PRODUCT = simple_directmedia_layer
> SDL3_INSTALL_STAGING = YES
>
> +SDL3_DEPENDENCIES = host-pkgconf
> +
> +# The audio and video backends this does not have a Buildroot option
> for are
> +# named explicitly rather than left out: SDL probes for each of them
> and
> +# builds against whatever it happens to find in the sysroot, so an
> unlisted
> +# backend makes the result depend on which other packages are enabled.
> SDL3_CONF_OPTS = \
> - -DSDL_DBUS=OFF \
> -DSDL_DUMMYVIDEO=OFF \
> + -DSDL_EXAMPLES=OFF \
> -DSDL_HIDAPI=OFF \
> -DSDL_IBUS=OFF \
> -DSDL_INSTALL_DOCS=OFF \
> + -DSDL_JACK=OFF \
> -DSDL_JOYSTICK_MFI=OFF \
> -DSDL_JOYSTICK_VIRTUAL=OFF \
> -DSDL_OFFSCREEN=OFF \
> + -DSDL_OSS=OFF \
> + -DSDL_PIPEWIRE=OFF \
> -DSDL_PULSEAUDIO=OFF \
> -DSDL_RENDER_D3D=OFF \
> -DSDL_RPATH=OFF \
> + -DSDL_RPI=OFF \
> + -DSDL_SNDIO=OFF \
> -DSDL_STATIC=ON \
> -DSDL_UNIX_CONSOLE_BUILD=ON \
> -DSDL_VIVANTE=OFF \
> -DSDL_VULKAN=OFF
>
> +ifeq ($(BR2_PACKAGE_SDL3_ALSA),y)
> +SDL3_DEPENDENCIES += alsa-lib
> +# SDL_ALSA_SHARED makes SDL dlopen() libasound at runtime rather than
> link it,
> +# which leaves nothing in the ELF for Buildroot to see and the library
> absent
> +# from the target unless something else pulls it in.
> +SDL3_CONF_OPTS += -DSDL_ALSA=ON -DSDL_ALSA_SHARED=OFF
> +else
> +SDL3_CONF_OPTS += -DSDL_ALSA=OFF
> +endif
> +
> +# SDL uses D-Bus for screensaver inhibition and for parts of the
> Wayland
> +# backend, so it follows dbus rather than being off unconditionally.
> +ifeq ($(BR2_PACKAGE_DBUS),y)
> +SDL3_DEPENDENCIES += dbus
> +SDL3_CONF_OPTS += -DSDL_DBUS=ON
> +else
> +SDL3_CONF_OPTS += -DSDL_DBUS=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SDL3_TESTS),y)
> +SDL3_CONF_OPTS += -DSDL_TESTS=ON
> +else
> +SDL3_CONF_OPTS += -DSDL_TESTS=OFF
> +endif
> +
> # SDL3 fails to build in Thumb mode on some ARM architectures
> ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
> SDL3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
> --
> 2.47.3
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 1/8] package/plutovg: new package
2026-08-16 19:18 ` [Buildroot] [PATCH 1/8] package/plutovg: new package Alsey Coleman Miller
@ 2026-09-22 20:23 ` Julien Olivain via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain via buildroot @ 2026-09-22 20:23 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
On 16/08/2026 21:18, Alsey Coleman Miller wrote:
> plutovg is a standalone 2D vector graphics library providing path
> filling and stroking, gradients and text rendering. It is the renderer
> plutosvg is built on.
>
> Examples are not built: they are demo programs that are never
> installed.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 2/8] package/plutosvg: new package
2026-08-16 19:18 ` [Buildroot] [PATCH 2/8] package/plutosvg: " Alsey Coleman Miller
@ 2026-09-22 20:27 ` Julien Olivain via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain via buildroot @ 2026-09-22 20:27 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
Hi Alsey,
On 16/08/2026 21:18, Alsey Coleman Miller wrote:
> plutosvg is a small SVG rendering library built on plutovg.
>
> PLUTOSVG_ENABLE_FREETYPE is on because the FreeType integration is what
> provides OpenType-SVG rendering - the hooks FreeType calls for the SVG
> glyphs in a colour emoji font - which is what consumers of this library
> generally want it for.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
When trying to build this new package with "test-pkg -a -p plutosvg",
the cmake configuration fails for the br-arm-full-nothread toolchain.
See:
https://gitlab.com/jolivain/buildroot/-/pipelines/2872694570
Maybe there is some missing build requirements.
Could you have a look, please?
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/plutosvg/Config.in | 10 ++++++++++
> package/plutosvg/plutosvg.hash | 3 +++
> package/plutosvg/plutosvg.mk | 18 ++++++++++++++++++
> 5 files changed, 33 insertions(+)
> create mode 100644 package/plutosvg/Config.in
> create mode 100644 package/plutosvg/plutosvg.hash
> create mode 100644 package/plutosvg/plutosvg.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 5e39d38fc9..56b01fa5cc 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -170,6 +170,7 @@ F: package/xen/
>
> N: Alsey Coleman Miller <alseycmiller@gmail.com>
> F: package/liblc3/
> +F: package/plutosvg/
> F: package/plutovg/
>
> N: Alvaro G. M <alvaro.gamez@hazent.com>
> diff --git a/package/Config.in b/package/Config.in
> index d98705e981..5e1601036c 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -350,6 +350,7 @@ comment "Graphic libraries"
> source "package/mesa3d-headers/Config.in"
> source "package/ocrad/Config.in"
> source "package/ogre/Config.in"
> + source "package/plutosvg/Config.in"
> source "package/plutovg/Config.in"
> source "package/psplash/Config.in"
> source "package/sdl/Config.in"
> diff --git a/package/plutosvg/Config.in b/package/plutosvg/Config.in
> new file mode 100644
> index 0000000000..613b1b8ba6
> --- /dev/null
> +++ b/package/plutosvg/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_PLUTOSVG
> + bool "plutosvg"
> + select BR2_PACKAGE_FREETYPE
> + select BR2_PACKAGE_PLUTOVG
> + help
> + plutosvg is a small SVG rendering library built on plutovg. It
> + is built with the FreeType integration enabled, which is what
> + provides OpenType-SVG (colour emoji) rendering.
> +
> + https://github.com/sammycage/plutosvg
> diff --git a/package/plutosvg/plutosvg.hash
> b/package/plutosvg/plutosvg.hash
> new file mode 100644
> index 0000000000..fb6c210e93
> --- /dev/null
> +++ b/package/plutosvg/plutosvg.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256
> 49d5cfe772d3aa10cd4879f2f6e189f5083c08e4c8ea01bf3d5b87c97dfca7d2
> plutosvg-0.0.8.tar.gz
> +sha256
> a55d1e78eaf75779c336b4ba061e74aae56a21195d234474fb24a398935d6ce1
> LICENSE
> diff --git a/package/plutosvg/plutosvg.mk
> b/package/plutosvg/plutosvg.mk
> new file mode 100644
> index 0000000000..17142a1eb4
> --- /dev/null
> +++ b/package/plutosvg/plutosvg.mk
> @@ -0,0 +1,18 @@
> +################################################################################
> +#
> +# plutosvg
> +#
> +################################################################################
> +
> +PLUTOSVG_VERSION = 0.0.8
> +PLUTOSVG_SITE = $(call github,sammycage,plutosvg,v$(PLUTOSVG_VERSION))
> +PLUTOSVG_LICENSE = MIT
> +PLUTOSVG_LICENSE_FILES = LICENSE
> +PLUTOSVG_INSTALL_STAGING = YES
> +PLUTOSVG_DEPENDENCIES = host-pkgconf freetype plutovg
> +
> +PLUTOSVG_CONF_OPTS = \
> + -DPLUTOSVG_ENABLE_FREETYPE=ON \
> + -DPLUTOSVG_BUILD_EXAMPLES=OFF
> +
> +$(eval $(cmake-package))
> --
> 2.47.3
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 4/8] package/sdl3_image: bump to version 3.4.4
2026-08-16 19:18 ` [Buildroot] [PATCH 4/8] package/sdl3_image: bump to version 3.4.4 Alsey Coleman Miller
@ 2026-10-19 21:49 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-19 21:49 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
On Sun, Aug 16, 2026 at 03:18:26PM -0400, Alsey Coleman Miller wrote:
> 3.1.1 is a prerelease. 3.4.4 is the current release, and the option
> names changed with it: PNG is now SDLIMAGE_PNG_LIBPNG, with
> SDLIMAGE_BACKEND_STB selecting the built-in decoder used when no helper
> library is available.
>
> Build the optional format backends according to the image libraries
> already in the configuration - AVIF, JPEG, TIFF, WEBP and JXL alongside
> the existing PNG - rather than PNG alone. VENDORED stays off so the
> copies of those libraries carried in the tarball are not used, and
> DEPS_SHARED off so they are linked rather than dlopen()ed.
>
> The formats SDL3_image decodes by itself (BMP, GIF, LBM, PCX, PNM, QOI,
> SVG, TGA, XCF, XPM, XV) need no helper and are always available.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
Thanks for your patch. In the mean time another version bump has been
applied on sdl3_image, but it didn't as much as your patch. So I've
taken the bits of your patch that still made sense, and split them
across multiple commits:
bc8a47c1ef07eabd14789bf11a41eee97d887466 package/sdl3_image: disable vendoring, use direct dynamic linking
1f02444f51c07b9cf7d9d4a644a2709bca8fad7c package/sdl3_image: disable examples, tests, man pages
785365def77065e0338061b9cad5aeee481946e7 package/sdl3_image: be explicit about using libpng
396e388f83af8c54bd27ac59e584fd6daafbc2d4 package/sdl3_image: add optional support for avif, jpeg, tiff, webp, jxl
145d360b9ba62cb918563c034eb1218956db61d5 package/sdl3_image: fail if dependencies are not found
The one thing I didn't pick up are the CPE information. Are there
already CVEs against sdl3_image that allow us to be sure what the
correct CPE identifiers are?
Thanks!
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 5/8] package/sdl3_ttf: do not build the samples or install man pages
2026-08-16 19:18 ` [Buildroot] [PATCH 5/8] package/sdl3_ttf: do not build the samples or install man pages Alsey Coleman Miller
@ 2026-10-19 21:49 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-19 21:49 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
On Sun, Aug 16, 2026 at 03:18:27PM -0400, Alsey Coleman Miller wrote:
> SDLTTF_SAMPLES builds example programs that are not installed, and
> SDLTTF_INSTALL_MAN puts man pages on the target that Buildroot removes
> again. STRICT makes the build fail on a missing dependency rather than
> quietly dropping the feature it belongs to.
>
> Also state SDLTTF_HARFBUZZ=OFF in the branch where harfbuzz is absent
> instead of relying on the default set above it, so both halves of the
> condition read the same way.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
This patch did several unrelated things in the same commit, so I split
it up into several commits:
f9e468d6bb6556933fce7e9ac2dad35ed9fdc42f package/sdl3_ttf: put -DSDLTTF_HARFBUZZ=OFF where it belongs
b636e15bce8e3795c117d2dd57d43b25e2023733 package/sdl3_ttf: disable samples and man pages
6588d61513f8eccf8c9a1eae6185a286d47ece42 package/sdl3_ttf: be strict about dependencies
Thanks!
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 6/8] package/sdl3_ttf: build plutosvg support when available
2026-08-16 19:18 ` [Buildroot] [PATCH 6/8] package/sdl3_ttf: build plutosvg support when available Alsey Coleman Miller
@ 2026-10-19 21:50 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-19 21:50 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
On Sun, Aug 16, 2026 at 03:18:28PM -0400, Alsey Coleman Miller wrote:
> Colour emoji fonts store their glyphs as SVG, which SDL3_ttf renders
> through plutosvg. Without it those glyphs are skipped and the rest of
> the font still renders.
>
> plutosvg is packaged in the swift-linux ports tree rather than in
> Buildroot, so BR2_PACKAGE_PLUTOSVG is undefined on a plain Buildroot and
> the branch selects SDLTTF_PLUTOSVG=OFF - the behaviour before this
> commit. Not for upstream until plutosvg and plutovg are packaged there.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
I'm not sure what happened, but we don't have plutosvg in Buildroot at
the moment, so I changed this to a simpler commit that disables
plutosvg support entirely.
Could you resubmit the plutosvg package and its support, if you're
still interested into this?
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH 8/8] package/sdl3_net: new package
2026-08-16 19:18 ` [Buildroot] [PATCH 8/8] package/sdl3_net: " Alsey Coleman Miller
@ 2026-10-19 21:51 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-19 21:51 UTC (permalink / raw)
To: Alsey Coleman Miller; +Cc: buildroot, Michael Fischer
On Sun, Aug 16, 2026 at 03:18:30PM -0400, Alsey Coleman Miller wrote:
> SDL3_net is the small cross-platform networking library for SDL3,
> providing TCP and UDP sockets and hostname resolution.
>
> Samples are not built and the man pages are not installed: the samples
> are demo programs that are never installed, and Buildroot removes
> /usr/share/man from the target anyway.
>
> Built with CMake, like sdl3 itself, rather than with the autotools setup
> the SDL2 counterpart uses.
>
> Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
Thanks, I've applied your patch. The only thing I've changed is that
I've dropped the CPE identifier information since the commit log did
not provide evidence that these were correct. If you have such
evidence, do not hesitate to submit a follow-up commit.
Thanks for your contribution!
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2026-10-19 21:51 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-16 19:18 [Buildroot] [PATCH 0/8] package/sdl3*: complete the SDL3 family Alsey Coleman Miller
2026-08-16 19:18 ` [Buildroot] [PATCH 1/8] package/plutovg: new package Alsey Coleman Miller
2026-09-22 20:23 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 2/8] package/plutosvg: " Alsey Coleman Miller
2026-09-22 20:27 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 3/8] package/sdl3: add ALSA and test program options, follow dbus Alsey Coleman Miller
2026-09-22 20:08 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 4/8] package/sdl3_image: bump to version 3.4.4 Alsey Coleman Miller
2026-10-19 21:49 ` Thomas Petazzoni via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 5/8] package/sdl3_ttf: do not build the samples or install man pages Alsey Coleman Miller
2026-10-19 21:49 ` Thomas Petazzoni via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 6/8] package/sdl3_ttf: build plutosvg support when available Alsey Coleman Miller
2026-10-19 21:50 ` Thomas Petazzoni via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 7/8] package/sdl3_mixer: new package Alsey Coleman Miller
2026-09-22 19:59 ` Julien Olivain via buildroot
2026-08-16 19:18 ` [Buildroot] [PATCH 8/8] package/sdl3_net: " Alsey Coleman Miller
2026-10-19 21:51 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.