From 7ddb4acf981e4a44fc862bc1f6b073293ac53af0 Mon Sep 17 00:00:00 2001 From: vasilito Date: Sat, 1 Aug 2026 13:12:13 +0300 Subject: [PATCH] audio: un-defer pipewire + wireplumber in redbear-full MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- config/redbear-full.toml | 11 +++++------ local/recipes/libs/wireplumber/recipe.toml | 8 ++++---- local/sources/relibc | 2 +- recipes/libs/pcre2/recipe.toml | 6 ++++++ 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/config/redbear-full.toml b/config/redbear-full.toml index cf5a6c9998..8815c5ccb9 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -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 = {} diff --git a/local/recipes/libs/wireplumber/recipe.toml b/local/recipes/libs/wireplumber/recipe.toml index b22f100a41..6db10d9140 100644 --- a/local/recipes/libs/wireplumber/recipe.toml +++ b/local/recipes/libs/wireplumber/recipe.toml @@ -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 diff --git a/local/sources/relibc b/local/sources/relibc index 1d1e3ebe0e..599627a926 160000 --- a/local/sources/relibc +++ b/local/sources/relibc @@ -1 +1 @@ -Subproject commit 1d1e3ebe0eea1be02d3871154b55d45782509fac +Subproject commit 599627a926472b8e92a892a40f312a759857a044 diff --git a/recipes/libs/pcre2/recipe.toml b/recipes/libs/pcre2/recipe.toml index b6b5a0d487..7c1bd9bef1 100644 --- a/recipes/libs/pcre2/recipe.toml +++ b/recipes/libs/pcre2/recipe.toml @@ -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 """