audio: un-defer pipewire + wireplumber in redbear-full

Both now build for x86_64-unknown-redox against the ported relibc surface:
- wireplumber recipe: fix meson option types for 0.4.14 (doc feature; tests/
  tools/daemon are booleans, not features) — configure was erroring out.
- pcre2: build the static archive with -fPIC so it links into WirePlumber's
  shared PipeWire modules (via glib); matches expat/icu/libffi. Fixes the
  R_X86_64_32S-in-shared-object link failure.
- config/redbear-full.toml: re-add pipewire + wireplumber to packages[] and
  [files]; drop the TODO(audio) deferral.
- bump relibc submodule pointer to the ported C-runtime surface.
This commit is contained in:
2026-08-01 13:12:13 +03:00
parent c7492d7a8c
commit 7ddb4acf98
4 changed files with 16 additions and 11 deletions
+5 -6
View File
@@ -82,10 +82,9 @@ packages = [
"plasma-framework", "plasma-workspace", "plasma-desktop",
"kde-cli-tools", "kf6-attica",
"zbus",
# TODO(audio): pipewire + wireplumber deferred — the PipeWire audio stack
# needs deeper Redox porting (alloca decl via meson, MAP_LOCKED/mmap flags,
# and more Linux-isms). Audio is NOT required for the SDDM login / desktop
# session; re-add once the port is complete. "pipewire", "wireplumber",
# PipeWire audio stack — ported to Redox via real relibc primitives
# (CPU affinity, gettid, statfs, iface ioctls) rather than disabled modules.
"pipewire", "wireplumber",
]
# Convenience meta-group referencing the entire desktop. Useful as a single
@@ -241,8 +240,8 @@ zbus = {}
# StatusNotifierWatcher — session-bus system-tray broker. D-Bus activated via
# redbear-dbus-services (inherited), consistent with redbear-notifications.
redbear-statusnotifierwatcher = {}
# pipewire = {} # deferred — see packages[] TODO(audio)
# wireplumber = {} # deferred — see packages[] TODO(audio)
pipewire = {}
wireplumber = {}
# AMD GPU display
amdgpu = {}
+4 -4
View File
@@ -105,15 +105,15 @@ export LDFLAGS="--sysroot=${COOKBOOK_SYSROOT}"
# Disable the Linux-specific optional integrations. Keep the core
# session manager, the C library, and the command-line tools.
cookbook_meson \\
-Ddocs=disabled \\
-Dtests=disabled \\
-Ddoc=disabled \\
-Dtests=false \\
-Dsystemd=disabled \\
-Delogind=disabled \\
-Dsystemd-system-service=false \\
-Dsystemd-user-service=false \\
-Dintrospection=disabled \\
-Dtools=enabled \\
-Ddaemon=enabled \\
-Dtools=true \\
-Ddaemon=true \\
-Dmodules=true \\
-Ddbus-tests=false \\
-Dsystem-lua=false
+6
View File
@@ -13,5 +13,11 @@ autotools_recursive_regenerate
template = "custom"
script = """
DYNAMIC_STATIC_INIT
# Build the static archive with position-independent code so it can be linked
# into shared objects (e.g. WirePlumber's PipeWire modules pull pcre2 in via
# glib). Without -fPIC the R_X86_64_32S relocations in libpcre2-8.a are
# rejected when producing a .so. Matches the expat/icu/libffi recipes.
export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC"
cookbook_configure
"""