mirror of
https://github.com/marcoallegretti/WEFT_OS.git
synced 2026-03-26 17:03:09 +00:00
Includes winit Wayland input audit for servo-shell integration planning. New files: - crates/weft-servo-shell/: new workspace member - Cargo.toml: anyhow + tracing deps; no servo dep yet (requires git dependency on github.com/servo/servo with multi-minute build; deferred until embedder contract is confirmed) - src/main.rs: reads WAYLAND_DISPLAY and WEFT_SYSTEM_UI_HTML, locates system-ui.html from packaged path, calls embed_servo() stub that returns a descriptive error explaining the integration work remaining - infra/shell/system-ui.html: system UI document per blueprint Section 5 DOM structure (weft-desktop, weft-wallpaper, weft-taskbar, weft-launcher, weft-notification-center, weft-window); includes clock and launcher toggle - infra/systemd/servo-shell.service: Requires+After weft-compositor.service, Type=simple, Restart=on-failure - docs/architecture/winit-wayland-audit.md: audit of winit 0.30.x Wayland backend against WEFT input requirements; identifies keyboard shortcut inhibit gap, touch gesture gap, IME incomplete (zwp_text_input_v3), frame pacing absent (wp_presentation_time), DMA-BUF unverified; none block initial integration; all tracked as pre-GA work items Modified: - Cargo.toml: add weft-servo-shell to workspace members - scripts/wsl-check.sh: switch to --workspace for all three gates
43 lines
1.5 KiB
Bash
43 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
PROJECT="/mnt/c/Users/might/Desktop/Development/Systems/WEFT OS"
|
|
|
|
# ── Fake libdisplay-info.pc that reports 0.2.9 ───────────────────────────────
|
|
# libdisplay-info-sys 0.2.2 requires >= 0.1.0 < 0.3.0; openSUSE ships 0.3.0.
|
|
# cargo check does not link, so reporting 0.2.9 satisfies the version guard
|
|
# without requiring a source build.
|
|
FAKE_PC_DIR="$HOME/.local/fake-pkgconfig"
|
|
mkdir -p "$FAKE_PC_DIR"
|
|
cat > "$FAKE_PC_DIR/libdisplay-info.pc" << 'EOF'
|
|
prefix=/usr
|
|
exec_prefix=${prefix}
|
|
libdir=/usr/lib64
|
|
includedir=/usr/include
|
|
|
|
Name: libdisplay-info
|
|
Description: EDID and DisplayID library (version shim for cargo check)
|
|
Version: 0.2.9
|
|
Libs: -L${libdir} -ldisplay-info
|
|
Cflags: -I${includedir}
|
|
EOF
|
|
echo "==> libdisplay-info shim: $(pkg-config --modversion libdisplay-info --with-path "$FAKE_PC_DIR" 2>/dev/null || echo written)"
|
|
|
|
# ── cargo check ───────────────────────────────────────────────────────────────
|
|
source "$HOME/.cargo/env"
|
|
|
|
export PKG_CONFIG_PATH="$FAKE_PC_DIR:/usr/lib64/pkgconfig:/usr/share/pkgconfig"
|
|
|
|
cd "$PROJECT"
|
|
|
|
echo ""
|
|
echo "==> cargo check --workspace"
|
|
cargo check --workspace 2>&1
|
|
echo ""
|
|
echo "==> cargo clippy --workspace -- -D warnings"
|
|
cargo clippy --workspace -- -D warnings 2>&1
|
|
echo ""
|
|
echo "==> cargo fmt --check --all"
|
|
cargo fmt --check --all 2>&1
|
|
echo ""
|
|
echo "ALL DONE"
|