f31522130f
Build system (5 gaps hardened): - COOKBOOK_OFFLINE defaults to true (fork-mode) - normalize_patch handles diff -ruN format - New 'repo validate-patches' command (25/25 relibc patches) - 14 patched Qt/Wayland/display recipes added to protected list - relibc archive regenerated with current patch chain Boot fixes (fixable): - Full ISO EFI partition: 16 MiB → 1 MiB (matches mini, BIOS hardcoded 2 MiB offset) - D-Bus system bus: absolute /usr/bin/dbus-daemon path (was skipped) - redbear-sessiond: absolute /usr/bin/redbear-sessiond path (was skipped) - daemon framework: silenced spurious INIT_NOTIFY warnings for oneshot_async services (P0-daemon-silence-init-notify.patch) - udev-shim: demoted INIT_NOTIFY warning to INFO (expected for oneshot_async) - relibc: comprehensive named semaphores (sem_open/close/unlink) replacing upstream todo!() stubs - greeterd: Wayland socket timeout 15s → 30s (compositor DRM wait) - greeter-ui: built and linked (header guard unification, sem_compat stubs removed) - mc: un-ignored in both configs, fixed glib/libiconv/pcre2 transitive deps - greeter config: removed stale keymapd dependency from display/greeter services - prefix toolchain: relibc headers synced, _RELIBC_STDLIB_H guard unified Unfixable (diagnosed, upstream): - i2c-hidd: abort on no-I2C-hardware (QEMU) — process::exit → relibc abort - kded6/greeter-ui: page fault 0x8 — Qt library null deref - Thread panics fd != -1 — Rust std library on Redox - DHCP timeout / eth0 MAC — QEMU user-mode networking - hwrngd/thermald — no hardware RNG/thermal in VM - live preload allocation — BIOS memory fragmentation, continues on demand
48 lines
1.3 KiB
TOML
48 lines
1.3 KiB
TOML
[source]
|
|
tar = "https://ftp.osuosl.org/pub/midnightcommander/mc-4.8.33.tar.xz"
|
|
blake3 = "cad9c1587f2976b9e42016191a72c4f23a07222c96ec7a9454a1a66ce639ac63"
|
|
patches = ["redox.patch"]
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"glib",
|
|
"ncursesw",
|
|
"libiconv",
|
|
"pcre2",
|
|
]
|
|
script = """
|
|
DYNAMIC_INIT
|
|
|
|
# Set pkg-config and include paths for glib
|
|
export GLIB_CFLAGS="-I${COOKBOOK_SYSROOT}/usr/include/glib-2.0 -I${COOKBOOK_SYSROOT}/usr/lib/glib-2.0/include"
|
|
export GLIB_LIBS="-lglib-2.0 -lgobject-2.0"
|
|
export CFLAGS="${CFLAGS} -include stdint.h -I${COOKBOOK_SYSROOT}/usr/include ${GLIB_CFLAGS}"
|
|
export LIBS="${LIBS} -lintl -liconv -lpcre2-8"
|
|
|
|
# Tell configure about sysroot headers. MC's ncurses probe resets CPPFLAGS from CFLAGS.
|
|
export CPPFLAGS="-I${COOKBOOK_SYSROOT}/usr/include ${GLIB_CFLAGS}"
|
|
|
|
# Redox lacks PTY and resolver interfaces expected by optional MC features.
|
|
export ac_cv_func_posix_openpt=no
|
|
export ac_cv_func_getpt=no
|
|
export ac_cv_func_grantpt=no
|
|
export ac_cv_func_unlockpt=no
|
|
export ac_cv_func_ptsname=no
|
|
export ac_cv_func_openpty=no
|
|
export ac_cv_header_arpa_nameser_h=no
|
|
export ac_cv_header_resolv_h=no
|
|
|
|
# Configure with minimal features for initial port
|
|
COOKBOOK_CONFIGURE_FLAGS+=(
|
|
--without-x
|
|
--without-gpm-mouse
|
|
--without-subshell
|
|
--disable-vfs-sftp
|
|
--disable-vfs-ftp
|
|
--with-screen=ncurses
|
|
)
|
|
|
|
cookbook_configure
|
|
"""
|