Files
RedBear-OS/recipes/libs/mesa/recipe.toml
T
vasilito 04b7641e85 config: add x11proto dependency for libxau and SDDM
- Add x11proto to redbear-full.toml package list
- libxau recipe updated with x11proto dependency and custom build script
- Fixes libxau build failure: 'Package xproto was not found'
2026-06-20 14:57:46 +03:00

82 lines
2.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
patches = [
"../../../local/patches/mesa/01-virgl-redox-disk-cache.patch",
"../../../local/patches/mesa/02-gbm-dumb-prime-export.patch",
"../../../local/patches/mesa/03-platform-redox-gpu-probe.patch",
"../../../local/patches/mesa/04-sys-ioccom-stub-header.patch",
"../../../local/patches/mesa/05-vk-sync-wchar-include.patch",
"../../../local/patches/mesa/06-redox-surface-image-fields.patch",
]
[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
for tool in gcc-ar gcc-ranlib g++ gcc cpp c++; do
src="$(command -v "${TARGET}-${tool}" 2>/dev/null)"
if [ -n "$src" ]; then
ln -sf "$src" ".cookbook-tools/${TARGET}-${tool}"
fi
done
# Symlink redbear-run-tool if gcc is a wrapper script
if [ -x ".cookbook-tools/${TARGET}-gcc" ]; then
if head -1 ".cookbook-tools/${TARGET}-gcc" | grep -q "#!/usr/bin/env bash"; then
runtool="$(dirname "$(readlink -f ".cookbook-tools/${TARGET}-gcc")")/redbear-run-tool"
if [ -x "$runtool" ]; then
ln -sf "$runtool" .cookbook-tools/redbear-run-tool
fi
fi
fi
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"
"""