4c2402af76
The redbear-full desktop target now pulls in pipewire and wireplumber
as the audio backend for KDE Plasma (Phonon, KMix, the Plasma audio
widget). This wires up the packages built by the new
local/recipes/libs/pipewire and local/recipes/libs/wireplumber
recipes on top of the existing audiod scheme daemon in the base
package.
Changes:
* config/redbear-full.toml
- new [packages] entries for pipewire and wireplumber
- two new [[files]] init services: 15_pipewire.service and
16_wireplumber.service (both oneshot_async, depend on
12_dbus.service)
* local/recipes/system/redbear-dbus-services/files/
- new org.freedesktop.PipeWire.service (system bus, runs
/usr/bin/pipewire) and org.pulseaudio.Server.service
(system bus, runs /usr/bin/pipewire-pulse)
- new org.freedesktop.impl.pulseaudio.service (session bus,
runs /usr/bin/pipewire-pulse) for KDE Phonon / KMix
- matching .conf policy files for org.freedesktop.PipeWire
and org.pulseaudio.Server that allow the expected
Introspectable / Properties / *Manager / *Node / *Link /
*Client / *Device / *Meter / *Core / *Port send and
receive patterns
* config/protected-recipes.toml
- new [libs] entries for pipewire and wireplumber, so the
cookbook never silently re-fetches them; sources are
directly editable in local/sources/
* recipes/wip/services/{pipewire,wireplumber}
- replaced the tracked WIP directories with symlinks to
local/recipes/libs/{pipewire,wireplumber}, per the
local-over-WIP convention enforced by
local/scripts/build-redbear.sh
Known build state (documented in the upstream README-redbear.md
files in each source fork):
* pipewire build reaches ~24/603 C files compiled before
hitting relibc gaps (sys/prctl.h, sys/mount.h, and a few
Linux-specific ioctls). The recipe, source fork, and
Redox-compat shims are in place; the remaining work is
upstream relibc headers, not PipeWire porting decisions.
* wireplumber recipe is in place but the build has not been
attempted yet — wireplumber depends on the pipewire build
completing first.
The audiod integration (the scheme backend that pipewire would
talk to) is not implemented in this commit. That is the next
gating work item and is tracked in
local/sources/pipewire/README-redbear.md.
100 lines
3.1 KiB
TOML
100 lines
3.1 KiB
TOML
# Protected recipes — these recipes are NEVER re-fetched from upstream.
|
|
# They use offline/archived sources from sources/redbear-<release>/.
|
|
#
|
|
# Protection reasons:
|
|
# - patched: carries Red Bear patches (upstream changes could break patches)
|
|
# - custom: Red Bear-specific recipe (no upstream equivalent)
|
|
# - core: core system component (kernel, libc, bootloader, etc.)
|
|
#
|
|
# The Rust code in src/cook/fetch.rs reads this file at startup.
|
|
# Recipes NOT listed here but carrying patches (patches = [...] in recipe.toml)
|
|
# are automatically protected by the recipe_has_patches() check.
|
|
|
|
# Core patched recipes (upstream + Red Bear patches)
|
|
[patched]
|
|
recipes = [
|
|
"relibc", "bootloader", "kernel", "base", "base-initfs",
|
|
"installer", "redoxfs", "grub",
|
|
]
|
|
|
|
# Red Bear custom core recipes
|
|
[custom]
|
|
recipes = [
|
|
"ext4d", "fatd",
|
|
]
|
|
|
|
# Red Bear driver infrastructure
|
|
[drivers]
|
|
recipes = [
|
|
"redox-driver-sys", "linux-kpi", "firmware-loader",
|
|
"redbear-btusb", "redbear-iwlwifi",
|
|
"redox-drm", "amdgpu",
|
|
]
|
|
|
|
# Red Bear system tools
|
|
[system]
|
|
recipes = [
|
|
"cub", "evdevd", "udev-shim", "iommu",
|
|
"redbear-firmware", "redbear-hwutils", "redbear-info", "rbos-info",
|
|
"redbear-meta", "redbear-netctl", "redbear-netctl-console",
|
|
"redbear-netstat", "redbear-btctl", "redbear-wifictl",
|
|
"redbear-traceroute", "redbear-mtr", "redbear-nmap",
|
|
"redbear-sessiond", "redbear-authd", "redbear-session-launch",
|
|
"redbear-greeter", "redbear-dbus-services", "redbear-notifications",
|
|
"redbear-upower", "redbear-udisks", "redbear-polkit", "redbear-quirks",
|
|
"redbear-release", "redbear-keymapd", "redbear-ime", "redbear-accessibility",
|
|
]
|
|
|
|
# Qt stack with Red Bear patches
|
|
[qt]
|
|
recipes = [
|
|
"qtbase", "qtwayland", "qtdeclarative", "qtbase-compat",
|
|
]
|
|
|
|
# Graphics / display stack with Red Bear patches
|
|
[graphics]
|
|
recipes = [
|
|
"libdrm", "mesa",
|
|
"libwayland", "libevdev", "libinput",
|
|
"libepoxy", "libxcvt", "libdisplay-info", "lcms2",
|
|
"dbus", "glib",
|
|
]
|
|
|
|
# Red Bear custom libs (no stubs)
|
|
[libs]
|
|
recipes = [
|
|
"zbus", "libqrencode",
|
|
"pipewire", "wireplumber",
|
|
]
|
|
|
|
# Red Bear Wayland
|
|
[wayland]
|
|
recipes = [
|
|
"qt6-wayland-smoke", "smallvil", "seatd-redox",
|
|
]
|
|
|
|
# Red Bear KDE (47 recipes)
|
|
[kde]
|
|
recipes = [
|
|
"kf6-extra-cmake-modules", "kf6-kcoreaddons", "kf6-kwidgetsaddons",
|
|
"kf6-kconfig", "kf6-ki18n", "kf6-kcodecs", "kf6-kguiaddons",
|
|
"kf6-kcolorscheme", "kf6-kauth", "kf6-kitemmodels", "kf6-kitemviews",
|
|
"kf6-karchive", "kf6-kwindowsystem", "kf6-knotifications",
|
|
"kf6-kjobwidgets", "kf6-kconfigwidgets", "kf6-kcrash", "kf6-kdbusaddons",
|
|
"kf6-kglobalaccel", "kf6-kservice", "kf6-kpackage", "kf6-kiconthemes",
|
|
"kf6-kxmlgui", "kf6-ktextwidgets", "kf6-solid", "kf6-sonnet",
|
|
"kf6-kio", "kf6-kbookmarks", "kf6-kcompletion", "kf6-kdeclarative",
|
|
"kf6-kcmutils", "kf6-kidletime", "kf6-kwayland", "kf6-knewstuff",
|
|
"kf6-kwallet", "kf6-prison", "kf6-kirigami",
|
|
"kf6-ksvg", "kf6-pty", "kf6-notifyconfig", "kf6-parts",
|
|
"kdecoration", "kwin", "plasma-desktop", "plasma-workspace",
|
|
"plasma-framework", "plasma-wayland-protocols", "kirigami",
|
|
"kglobalacceld",
|
|
]
|
|
|
|
# Orbutils (has local patch)
|
|
[other]
|
|
recipes = [
|
|
"orbutils",
|
|
]
|