a23012cee0
BREAKING CHANGE: The patch-based build system is removed. All Red Bear source now lives in local/sources/<component>/ as git repos. Changes: - src/recipe.rs: remove patches field from SourceRecipe::Git/Tar, add Local variant - src/cook/fetch.rs: delete fetch_apply_patches, validate_patches, normalize_patch, fetch_compute_patches_hash, fetch_write_patches_state, fetch_patches_state_stale, fetch_validate_patch_symlinks, fetch_is_patches_newer. Simplify fetch and fetch_offline. Remove recipe_has_patches. Add Local source handler. - src/bin/repo.rs: remove validate-patches command and handle_validate_patches - 70 recipe.toml files: remove patches arrays, convert core recipes to Local source - 272 .patch symlinks deleted from recipe directories - integrate-redbear.sh: replace patch symlink logic with source fork validation - Makefile: replace validate-patches with validate-sources target - AGENTS.md: remove 369 lines of patch documentation, add source ownership model - local/docs/PATCH-GOVERNANCE.md: deleted (replaced by SOURCE-OWNERSHIP-MODEL.md) - local/docs/SOURCE-OWNERSHIP-MODEL.md: new canonical reference - local/sources/: Red Bear fork repos created (kernel, relibc, base, bootloader, installer) from frozen 0.1.0 pre-patched archives - .gitignore: exclude local/sources/ (separate git repos) - create-forks.sh: new script for initializing fork repos Build: cargo check passes (5 warnings, 0 errors). Developer workflow is now: edit local/sources/ → repo cook → test. No patches.
59 lines
1.9 KiB
TOML
59 lines
1.9 KiB
TOML
[source]
|
|
git = "https://gitlab.redox-os.org/redox-os/mesa.git"
|
|
upstream = "https://gitlab.freedesktop.org/mesa/mesa"
|
|
branch = "redox-24.0"
|
|
shallow_clone = true
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"expat",
|
|
"libdrm",
|
|
"liborbital",
|
|
"llvm21",
|
|
"zlib",
|
|
]
|
|
dev-dependencies = [
|
|
"llvm21.dev",
|
|
]
|
|
script = """
|
|
DYNAMIC_INIT
|
|
|
|
#TODO: Should be CPPFLAGS but cookbook_meson isn't reading it
|
|
export CFLAGS+=" -DHAVE_PTHREAD=1 -I${COOKBOOK_SYSROOT}/include/libdrm"
|
|
export LLVM_CONFIG="${TARGET}-llvm-config"
|
|
if [ -x "${HOME}/.redoxer/${TARGET}/toolchain/bin/llvm-config" ]; then
|
|
export COOKBOOK_HOST_SYSROOT="${HOME}/.redoxer/${TARGET}/toolchain"
|
|
fi
|
|
export LDFLAGS+=" -lorbital"
|
|
|
|
mkdir -p .cookbook-tools
|
|
ln -sf "$(command -v "${LLVM_CONFIG}")" .cookbook-tools/llvm-config
|
|
export PATH="$(pwd)/.cookbook-tools:${PATH}"
|
|
|
|
if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then
|
|
COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=enabled)
|
|
else
|
|
COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=disabled)
|
|
fi
|
|
|
|
cookbook_meson \
|
|
-Ddri-drivers-path=/usr/lib/dri \
|
|
-Degl=enabled \
|
|
-Dgbm=enabled \
|
|
-Dglx=disabled \
|
|
-Dgallium-drivers=swrast,virgl \
|
|
-Dllvm=enabled \
|
|
-Dosmesa=true \
|
|
-Dplatforms=redox \
|
|
-Dshader-cache=disabled \
|
|
-Dc_args="['-Wno-error=implicit-function-declaration','-Wno-error','-std=gnu11','-Dstatic_assert=_Static_assert']" \
|
|
-Dcpp_args="['-Wno-error=implicit-function-declaration','-Wno-error']" \
|
|
-Dvulkan-drivers=swrast \
|
|
-Dshared-glapi=enabled
|
|
|
|
# Hack to add LLVM libs, the list can be seen from meson log and check for matches $("${LLVM_CONFIG}" --libs)
|
|
LLVMLIBS="-lLLVMBitReader -lLLVMCore -lLLVMExecutionEngine -lLLVMInstCombine -lLLVMMCDisassembler"
|
|
LLVMLIBS+=" -lLLVMMCJIT -lLLVMScalarOpts -lLLVMTransformUtils -lLLVMCoroutines -lLLVMLTO"
|
|
sed -i "s/ -lOSMesa / -lOSMesa ${LLVMLIBS} -lstdc++ /" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/osmesa.pc"
|
|
"""
|