Files
RedBear-OS/recipes/core/relibc/recipe.toml
T
vasilito b9de373b31 Merge bootprocess branch overlay into 0.2.0
Restore all bootprocess branch files that were overwritten by later 0.2.0
commits. This overlay brings back the complete boot infrastructure:

- Configs: redbear-full, redbear-mini, redbear-device-services, driver .d files
- Kernel: IRQ affinity, x2APIC, C-states, NUMA (SLIT/SRAT), MCS locks, cpuidle
- Base patches: P0-P55 + new P6 (lived block_size=512) + P57 (fbbootlogd graceful init)
- Driver infra: driver-manager, udev-shim, thermald, cpufreqd, iommu, redox-driver-sys/core
- GPU: redox-drm with improved connector handling
- System: redbear-info, redbear-hwutils phase-timer-check
- Build system: fetch.rs improvements, build-iso.sh, run_full.sh
- Kernel source: new ACPI (SLIT, SRAT), cpuidle, cstate, MCS lock modules

83 files changed, +3966/-1248 lines
2026-05-27 06:47:23 +03:00

122 lines
5.0 KiB
TOML

[source]
git = "https://gitlab.redox-os.org/redox-os/relibc.git"
rev = "861bbb0"
patches = [
"P3-eventfd-mod.patch",
# Add pub mod bits_eventfd to header/mod.rs
"P3-bits-eventfd-mod.patch",
# bits_eventfd module (eventfd_t type)
"P3-bits-eventfd.patch",
# sys_eventfd module — FULL eventfd() implementation (opens /scheme/event/eventfd)
"P3-eventfd-impl.patch",
# cbindgen.toml for sys/eventfd.h C header generation
"P3-eventfd-cbindgen.patch",
# eventfd_read() and eventfd_write() helpers
"P3-eventfd-readwrite.patch",
# sys_signalfd module (cbindgen.toml + mod.rs with cbindgen exports)
"P3-signalfd-header.patch",
# signalfd implementation (signal/signalfd.rs + signal/mod.rs wiring)
"P3-signalfd.patch",
# sys_timerfd module (creates mod.rs with timerfd_create/settime/gettime)
"P3-timerfd-impl.patch",
# timerfd: creates cbindgen.toml, reformats, adds relative time handling
"P3-timerfd-relative.patch",
# timerfd: fix cbindgen.toml to generate C (not C++) headers
"P3-timerfd-cbindgen-fix.patch",
# REMOVED: P3-sys-types-stdint-include.patch — upstream already has
# sys_includes = ["stddef.h"] (no stdint.h). Adding stdint.h here creates
# a circular include chain with gnulib:
# gnulib stdint.h → inttypes.h → wchar.h → stdio.h → sys/types.h →
# sys/types/internal.h → stdint.h → cycle
# Headers needing stdint.h include it directly (signal.h, signalfd.h, eventfd.h).
# open_memstream: temporarily disabled — module file and wiring need recreation
# "P3-open-memstream-create.patch",
# "P3-stdio-open-memstream-mod.patch",
# F_DUPFD_CLOEXEC fallback (try CLOEXEC, fall back to DUPFD + SETFD)
"P3-fcntl-dupfd-cloexec.patch",
# Non-conflicting individual patches
"P3-elf64-types.patch",
"P3-clock-nanosleep.patch",
"P3-exec-root-bypass.patch",
"P3-secure-getenv.patch",
"P3-getentropy.patch",
"P3-dup3.patch",
"P3-waitid-header.patch",
"P3-waitid.patch",
"P3-in6-pktinfo.patch",
"P3-inet6-pton-ntop.patch",
"P3-tcp-nodelay.patch",
"P3-tcp-sockopt-forward.patch",
# Named POSIX semaphores (sem_open/close/unlink) — comprehensive + refcount + va_list
"P3-semaphore-comprehensive.patch",
# semaphore.h: expose SEM_FAILED and real variadic sem_open() prototype/ABI
"P3-semaphore-varargs-header.patch",
# Reverse From<&syscall::TimeSpec> for timespec (needed by getrusage)
"P3-timespec-reverse-from.patch",
"P10-stack-size-8mb.patch",
"P11-getrlimit-getrusage.patch",
# Move #include <stdint.h> after size_t/ptrdiff_t typedefs in stddef.h
# to prevent recursive include chain (stdint.h → sys/types.h → pthread.h)
# from seeing undefined size_t when gnulib wrappers are present
"P3-stddef-reorder.patch",
# ld.so: parse DT_RPATH in addition to DT_RUNPATH (RUNPATH takes precedence per gABI)
"P3-ldso-rpath-support.patch",
# signal.h cbindgen: expose stdint types to downstream consumers
"P3-signal-stdint-include.patch",
# spawn.h implementation (new header module)
"P3-spawn.patch",
# spawn: wire pub mod spawn into header/mod.rs
"P3-spawn-module-wire.patch",
# spawn: posix_spawnattr_setflags, posix_spawnattr_setsigmask + getters
"P3-spawn-setflags-setsigmask.patch",
# C11 threads.h compatibility header
"P3-threads.patch",
# stdio_ext: __freadahead, __fpending, __fseterr helpers
"P3-stdio-fseterr.patch",
# locale: getlocalename_l function
"P3-locale-getlocalename-l.patch",
# SysV IPC foundation (key_t, ipc_perm, IPC_* constants, sys/ipc.h header)
"P3-sysv-ipc.patch",
# SysV semaphore implementation (semget/semop/semctl)
"P3-sysv-sem-impl.patch",
# SysV shared memory implementation (shmget/shmat/shmdt/shmctl)
"P3-sysv-shm-impl.patch",
# IPC tests (semaphore/shm)
"P3-ipc-tests.patch",
# ST_RDONLY/ST_NOSUID constants for statvfs (POSIX)
"P3-statvfs-constants.patch",
"P3-ld-so-usr-lib-search-path.patch",
# Remove relibc's DRM ioctl handler — libdrm's redox_drm_simple_ioctl()
# handles all DRM ioctls with its own scheme:drm wire format.
"P5-remove-drm-ioctl-intercept.patch",
# Break gnulib circular include chain: inttypes.h → wchar.h conditional guard
"P3-inttypes-wchar-guard.patch",
# Break gnulib circular include chain: wchar.h forward-declare FILE/tm instead
# of including stdio.h/time.h
"P3-wchar-forward-decls.patch",
# stdlib: getloadavg() — returns -1 (load average not available on Redox)
"P3-getloadavg.patch",
]
[build]
template = "custom"
script = """
# rustup workaround https://github.com/rust-lang/rustup/issues/988
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ] && command -v rustup >/dev/null 2>&1; then
pushd ${COOKBOOK_SOURCE}
${RUSTUP:-rustup} install
popd
fi
export CARGO=${CARGO:-env -u CARGO cargo}
"${COOKBOOK_MAKE}" \
-C "${COOKBOOK_SOURCE}" \
-j"${COOKBOOK_MAKE_JOBS}" \
DESTDIR="${COOKBOOK_STAGE}/usr" \
install
"""