Files
RedBear-OS/recipes/wip/AGENTS.md
T
2026-04-15 12:57:45 +01:00

99 lines
4.8 KiB
Markdown

# RECIPES/WIP — WORK-IN-PROGRESS PORTS
Experimental ports not yet ready for production. Wayland, KDE, GNOME, and driver WIP.
## OWNERSHIP RULE FOR UPSTREAM WIP
In Red Bear OS, an upstream recipe or subsystem being marked **WIP** changes how we treat it.
### What WIP means for Red Bear
If an upstream recipe, package group, or subsystem is still WIP:
1. Red Bear treats that area as a **local project** rather than a first-class upstream dependency
2. we may study, import, and refresh from the upstream WIP recipe
3. but the version we fix, validate, and ship should live in the Red Bear overlay (`local/recipes/`,
`local/patches/`, `local/docs/`), not in trust of the upstream WIP tree alone
### What happens when upstream promotes it
If upstream later removes the WIP status and the recipe becomes a first-class supported Redox
package, Red Bear should reevaluate immediately:
- prefer the upstream recipe where it now solves the same problem adequately
- reduce or remove the local Red Bear copy/patches if they are no longer needed
- keep only the Red Bear-specific integration delta that upstream still does not solve
### Practical implication
`recipes/wip/` is therefore not “safe upstream ownership” for Red Bear shipping decisions. For this
project, upstream WIP is a **source of inputs and ideas**, but stable Red Bear delivery should come
from the local overlay until upstream promotes that work.
## STRUCTURE
```
recipes/wip/
├── wayland/ # 21 Wayland-related recipes
│ ├── libwayland/ # Wayland protocol library (builds with redox.patch)
│ ├── wayland-protocols/# Wayland protocol definitions
│ ├── wayland-rs/ # Rust Wayland bindings
│ ├── cosmic-comp/ # COSMIC compositor (no keyboard input yet)
│ ├── smallvil/ # Smithay-based compositor (basic, slow)
│ ├── libcosmic-wayland/# COSMIC Wayland client library
│ ├── winit-wayland/ # winit with Wayland backend
│ ├── softbuffer-wayland/# softbuffer with Wayland backend
│ ├── iced-wayland/ # Iced GUI with Wayland backend
│ ├── gtk3/ # GTK3 Wayland support
│ ├── wlroots/ # wlroots (not compiled/tested)
│ ├── sway/ # sway (not compiled/tested)
│ ├── hyprland/ # hyprland (not compiled/tested)
│ ├── xwayland/ # XWayland (partially patched)
│ └── seatd/ # Seat daemon (recipe exists, untested)
├── kde/ # 9 KDE app recipes
│ ├── kde-dolphin/ # File manager (needs kio)
│ ├── kdenlive/ # Video editor (needs MLT)
│ ├── krita/ # Painting (needs Qt + OpenGL)
│ ├── kdevelop/ # IDE (needs Qt + kio)
│ └── ... # okteta, ktorrent, ark, kamoso, kpatience
├── libs/ # WIP libraries
│ └── tls/openssl3/ # OpenSSL 3.x port
├── monitors/ # System monitors
│ └── bottom/ # bottom system monitor
└── drivers/ # WIP driver ports (planned)
```
## WHERE TO LOOK
| Task | Location |
|------|----------|
| Fix Wayland build | `wayland/libwayland/redox.patch` — still carries POSIX compatibility workarounds |
| Add Wayland compositor | `wayland/<name>/recipe.toml` — use `dependencies = ["libwayland"]` |
| Fix cosmic-comp | `wayland/cosmic-comp/` — missing libinput causes no keyboard |
| Work on smallvil | `wayland/smallvil/` — Smithay-based, already running |
| Port a KDE app | Copy existing recipe pattern, add `#TODO` header |
| Add Qt port | Prefer the newer `local/recipes/qt/` / `local/recipes/kde/` work over this older note |
## WAYLAND STATUS
- **libwayland**: Builds with `redox.patch`; several POSIX-dependent code paths are still commented out there
- **cosmic-comp**: Partially working, no keyboard input (missing libinput)
- **smallvil**: Basic compositor running, poor performance
- **wlroots/sway/hyprland**: Not compiled or tested
- **xwayland**: Partially patched
- **Blockers**: downstream Wayland patch reduction, libinput/runtime input validation, DRM/KMS hardware/runtime validation
## KDE STATUS
- Older WIP KDE app notes here are stale relative to `local/recipes/kde/` and `config/redbear-kde.toml`
- See `docs/05-KDE-PLASMA-ON-REDOX.md` top-level status note plus `local/docs/QT6-PORT-STATUS.md` for current state
## CONVENTIONS
- ALL WIP recipes MUST start with `#TODO` explaining what's missing
- BLAKE3 hashes optional for WIP
- Test with `make r.<package>` before adding to config
- When ready: move from `wip/` to appropriate category, add BLAKE3 hash
- If Red Bear depends on a WIP subsystem long-term, prefer moving the maintained shipping version
under `local/recipes/` and documenting the delta in `local/docs/`