relibc now provides the real <byteswap.h> header and Linux mmap
extension flags (MAP_LOCKED, MAP_HUGETLB, etc.) in <sys/mman.h>.
Drop the redox_compat/ shim files from the WirePlumber patch, update
README-redbear.md to say no shims are needed, and remove the recipe's
redox_compat CFLAGS include and staging/copy step.
relibc now provides the real <byteswap.h> header and Linux mmap
extension flags (MAP_LOCKED, MAP_HUGETLB, etc.) in <sys/mman.h>.
Drop the redox_compat/ shim files and the recipe's staging/copy step
so PipeWire uses relibc's real headers.
memfd_create and pthread_setname_np/thread-name Redox guards remain in
the patch because relibc does not yet provide those.
The KAuth framework had '-DKAUTH_BACKEND_NAME=FAKE' which made
all authorization requests silently succeed. This was the #1 CRITICAL
stub in the KDE desktop path.
Two-part fix:
1. Create local/recipes/libs/polkit-qt6/recipe.toml — builds the
PolkitQt6-1 library from upstream KDE Invent (invent.kde.org).
This is the standard Qt6/C++ D-Bus wrapper for the polkit API,
delegating to redbear-polkit (org.freedesktop.PolicyKit1) via
the system bus.
2. Update kf6-kauth recipe:
- Backend: FAKE → POLKITQT6-1
- Helper backend: FAKE → POLKITQT6-1
- Added polkit-qt6 to [build] dependencies
KAuth will now make real D-Bus authorization calls instead of
silently approving everything. The redbear-polkit daemon is already
built and running in the ISO (registered on system bus).
linux-kpi mac80211.h:
- Extract struct ieee80211_channel to top level (was nested in ieee80211_conf)
- Add struct ieee80211_conf conf to struct ieee80211_hw
- Change void* channel to struct ieee80211_channel* in bss_conf.chandef
- Include linux/ieee80211.h (consolidate single channel definition)
linux-kpi limits.h: new header with S8_MIN/S8_MAX/U8_MAX etc.
iwlwifi build.rs: add linux_mvm.c to cc-rs compilation
iwlwifi linux_mvm.c: add S8_MIN fallback define
Systemic fix: all local recipes (~150 references across 40+ Cargo.toml files)
now resolve libredox, redox_syscall, and redox-scheme through
recipes/core/base/ symlinks instead of local/sources/ paths.
Eliminates lockfile collision between Cargo's resolution of the same
package through different path strings (local/sources/ vs recipes/core/base/).
This is required because the base recipe's workspace Cargo.toml resolves
these deps through recipes/core/base/ (via symlink chain from the
recipe copy location), and Cargo treats different path strings to the
same directory as different packages.
KWin now uses the real libepoxy recipe (full EGL/GLES dispatch
via epoxy_*_resolve()) instead of the hardcoded-zero stub.
The stub recipe remains for any other consumers that haven't
migrated yet.
python312: Added --disable-test-modules to host build configure flags.
The host build (needed as dev-dependency for cross-compile) was
trying to compile test modules (_testmultiphase, xxlimited, etc.)
which fail on this system. The cross-compile already had this flag.
icu: Added --disable-tools to cross-compile configure flags. The ICU
data tools (genrb, derb) try to link against cross-compiled static
libraries, causing C++ vtable linker errors (undefined reference
to vtable for UTF16CollationIterator). Tools are built in the host
step; cross-compile only needs the libraries.
Combined with zsh --srcdir, base staging mkdir, and netstack fix,
these unblock the redbear-mini build.
- Cookbook Cargo.toml: 0.1.0 → 0.2.5
- All 61 in-house crate Cargo.toml versions: 0.2.4 → 0.2.5
- os-release.in: fix URLs from github.com to gitea.redbearos.org
- sync-versions.sh --check passes with zero drift
The OS version is derived from the git branch name at build time.
Building on branch 0.2.5 produces os-release with VERSION_ID=0.2.5.
Bump the lower-delta graphics-stack lane to real upstream latest stable
on 2026-07-02. Per AGENTS.md fork-adaptation policy, the local patches
in local/patches/{libdrm,libwayland,libevdev,libinput}/ must be re-applied
against the new source trees before the next build; rebase is open work.
Versions resolved against authoritative upstream registries (real latest stable):
libwayland 1.24.0 -> 1.25.0 (gitlab.freedesktop.org/wayland/wayland)
wayland-protocols 1.38 -> 1.49 (gitlab.freedesktop.org/wayland/wayland-protocols)
libdrm 2.4.125 -> 2.4.134 (gitlab.freedesktop.org/mesa/libdrm)
libxkbcommon 1.7.0 -> 1.9.2 (github.com/xkbcommon/libxkbcommon mirror)
libevdev 1.13.2 -> 1.13.6 (freedesktop.org/software/libevdev)
libinput 1.30.2 -> 1.31.3 (gitlab.freedesktop.org/libinput/libinput)
seatd-redox 0.9.1 -> 0.9.3 (git.sr.ht/~kennylevinsen/seatd)
expat 2.5.0 -> 2.8.2 (github.com/libexpat/libexpat)
BLAKE3 hashes verified against the actual downloaded upstream tarballs.
Not changed (already at or near upstream latest):
- dbus 1.16.2 (== upstream latest)
- xkeyboard-config (no standalone recipe; consumed via libxkbcommon)
- linux-input-headers (Red Bear original, not upstream)
Patches NOT yet rebased: see local/patches/{libdrm,libwayland,libevdev,
libinput}/. The dependency surfaces they patch (libdrm 2.4.134 has new
DRM modifier code, libwayland 1.25.0 has new server-decoder helpers,
libinput 1.31 has new touchpad gesture tables) will need review before
re-fetch.
- redox-drm P1-P4 symlinks pointed to ../../../local/patches/ which
resolves to local/local/patches/ (double local/). Fixed to
../../../patches/ to match P6/P7 and actually resolve.
- lcms2 upstream tarball blake3 changed; updated recipe hash from
730f873... to 3cb343... to match current download.
- gettext: use -I${COOKBOOK_HOST_SYSROOT}/share/aclocal instead of
/usr/share/aclocal so autoreconf picks up the Redox-patched libtool 2.5.4
macros instead of the host system's libtool 2.6.1, fixing version mismatch
at build time
- libxau: add ACLOCAL=true AUTOMAKE=true AUTOHEADER=true to make invocations
to prevent automake regeneration when host autotools version differs from
what the source expects
- build-redbear.sh: make pre-cook failures non-fatal (warn only) and run with
COOKBOOK_OFFLINE=false so packages that need source fetching can succeed
- redox-drm: restore source from git history (was deleted in dc6805430);
update Cargo.toml version 0.1.0 -> 0.2.4 and dependency constraints to
match current project version
The qtquick-config.h file was being generated empty by the cmake
build, causing 'division by zero in #if' errors in downstream
consumers (SDDM, KWin) because QT_CONFIG(quick_shadereffect) and
QT_CONFIG(quick_draganddrop) were undefined.
Two fixes:
1. Explicitly enable QT_FEATURE_quick_shadereffect and
QT_FEATURE_quick_draganddrop in the cmake configuration.
2. Add a safety net that regenerates qtquick-config.h with the
required feature definitions if cmake produces an empty file.
- Add x11proto to redbear-full.toml package list
- libxau recipe updated with x11proto dependency and custom build script
- Fixes libxau build failure: 'Package xproto was not found'
TLC (Twilight Commander) was missing from both ISO configs. Added
tlc = {} to [packages] in redbear-mini.toml and redbear-full.toml.
Created missing symlink: recipes/tui/tlc -> ../../local/recipes/tui/tlc.