741f144c79
- Add full VirtIO GPU driver with command submission, resource management, VirtQueue implementation, and transport layer; includes diagnostic probes for resource_create_2d ERR_INVALID_RESOURCE_ID investigation - Expand libdrm Redox support with DRM ioctl wrappers (ADDFB, RMFB, CREATE_DUMB, MAP_DUMB, DESTROY_DUMB, GET_RESOURCES, GET_CONNECTOR, GET_CRTC, SET_CRTC, MODE_OBJ_GET_PROPERTIES, etc.) and xf86drm_redox.h - Add redox-drm scheme handlers for VirtIO GPU-specific DRM ioctls (VIRTGPU_RESOURCE_CREATE, VIRTGPU_MAP, VIRTGPU_WAIT, VIRTGPU_INFO, etc.) - Add display stack recipes: freetype2, lcms2, libdisplay-info, libepoxy, libxcvt - Fix KWin build (recipe.toml expanded, kf6-ksvg added) - Fix KF6 CMakeLists for cross-compilation (attica, kcmutils, kcolorscheme, kcompletion, kconfigwidgets, kdeclarative, kiconthemes, kitemmodels, kitemviews, kjobwidgets, ktextwidgets, kwayland, kxmlgui, kpty, solid) - Add Qt6 futex support patch - Add relibc patches: P3 strtold, P3 ld-so search path, P5 DRM ioctl removal - Add base P4 pcid config scheme patch - Update driver-manager hotplug/config, PCI config in redox-driver-sys - Update greeter compositor and KDE session scripts - Update AGENTS.md with zero-tolerance stubs policy and project knowledge
109 lines
4.3 KiB
TOML
109 lines
4.3 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",
|
|
|
|
# sys_types_internal: include stdint.h so uint32_t/int32_t are available to
|
|
# all downstream headers (signal.h, sys_signalfd.h, etc.) via the
|
|
# signal.h -> sys/types.h -> sys/types/internal.h include chain
|
|
"P3-sys-types-stdint-include.patch",
|
|
|
|
# open_memstream: creates stdio/open_memstream.rs
|
|
"P3-open-memstream-create.patch",
|
|
# open_memstream: wires mod into stdio/mod.rs
|
|
"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",
|
|
# 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",
|
|
]
|
|
|
|
[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
|
|
"""
|