bf96e50e44
- Introduced valgrind with a patch to respect flags and updated its configuration. - Added Vulkan ICD loader with CMake build configuration. - Implemented Waf build system with a custom build script and configuration. - Included Wayland protocols with Meson build system. - Added xcb-util-keysyms with autotools configuration. - Introduced Yasm with multiple patches for compatibility and improvements. - Added Yelp tools and XSL with Meson build configurations and necessary patches for POSIX compliance.
112 lines
3.2 KiB
Bash
112 lines
3.2 KiB
Bash
mesa_version=26.0.3
|
|
mesa_srcdir="./"
|
|
mesa_builddir="build"
|
|
|
|
haul_to_output() {
|
|
output=$1
|
|
shift
|
|
haul "$output" "$@"
|
|
}
|
|
|
|
depot_build() {
|
|
meson setup "$mesa_builddir" "$mesa_srcdir" \
|
|
--prefix=/usr \
|
|
--buildtype=release \
|
|
-Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,llvmpipe,softpipe,iris,crocus,i915,zink,d3d12,asahi,freedreno \
|
|
-Dgallium-extra-hud=true \
|
|
-Dgallium-mediafoundation=disabled \
|
|
-Dgallium-rusticl=true \
|
|
-Dgles1=disabled \
|
|
-Dhtml-docs=disabled \
|
|
-Dintel-rt=enabled \
|
|
-Dlibunwind=disabled \
|
|
-Dmicrosoft-clc=disabled \
|
|
-Dvideo-codecs=all \
|
|
-Dvulkan-drivers=amd,gfxstream,intel,intel_hasvk,nouveau,swrast,virtio,microsoft-experimental,asahi,freedreno \
|
|
-Dvulkan-layers=device-select,intel-nullhw,overlay,screenshot,vram-report-limit
|
|
meson compile -C "$mesa_builddir"
|
|
}
|
|
|
|
depot_install() {
|
|
meson install -C "$mesa_builddir" --destdir "$DESTDIR"
|
|
ln -sr "$DESTDIR/usr/lib/libGLX_mesa.so.0" "$DESTDIR/usr/lib/libGLX_indirect.so.0"
|
|
}
|
|
|
|
depot_install_opencl_mesa() {
|
|
haul_to_output "opencl-mesa" \
|
|
"usr/lib/libRusticlOpenCL*" \
|
|
"etc/OpenCL/vendors/rusticl.icd"
|
|
}
|
|
|
|
depot_install_vulkan_asahi() {
|
|
haul_to_output "vulkan-asahi" \
|
|
"usr/share/vulkan/icd.d/asahi_icd.*.json" \
|
|
"usr/lib/libvulkan_asahi.so"
|
|
}
|
|
|
|
depot_install_vulkan_dzn() {
|
|
haul_to_output "vulkan-dzn" \
|
|
"usr/share/vulkan/icd.d/dzn_icd.*.json" \
|
|
"usr/lib/libvulkan_dzn.so" \
|
|
"usr/lib/libspirv_to_dxil.*" \
|
|
"usr/bin/spirv2dxil"
|
|
}
|
|
|
|
depot_install_vulkan_freedreno() {
|
|
haul_to_output "vulkan-freedreno" \
|
|
"usr/share/vulkan/icd.d/freedreno_icd.*.json" \
|
|
"usr/lib/libvulkan_freedreno.so"
|
|
}
|
|
|
|
depot_install_vulkan_gfxstream() {
|
|
haul_to_output "vulkan-gfxstream" \
|
|
"usr/share/vulkan/icd.d/gfxstream_vk_icd.*.json" \
|
|
"usr/lib/libvulkan_gfxstream.so"
|
|
}
|
|
|
|
depot_install_vulkan_intel() {
|
|
haul_to_output "vulkan-intel" \
|
|
"usr/share/vulkan/icd.d/intel_icd.*.json" \
|
|
"usr/share/vulkan/icd.d/intel_hasvk_icd.*.json" \
|
|
"usr/lib/libvulkan_intel.so" \
|
|
"usr/lib/libvulkan_intel_hasvk.so"
|
|
}
|
|
|
|
depot_install_vulkan_nouveau() {
|
|
haul_to_output "vulkan-nouveau" \
|
|
"usr/share/vulkan/icd.d/nouveau_icd.*.json" \
|
|
"usr/lib/libvulkan_nouveau.so"
|
|
}
|
|
|
|
depot_install_vulkan_radeon() {
|
|
haul_to_output "vulkan-radeon" \
|
|
"usr/share/vulkan/icd.d/radeon_icd.*.json" \
|
|
"usr/lib/libvulkan_radeon.so" \
|
|
"usr/share/drirc.d/00-radv-defaults.conf"
|
|
}
|
|
|
|
depot_install_vulkan_swrast() {
|
|
haul_to_output "vulkan-swrast" \
|
|
"usr/share/vulkan/icd.d/lvp_icd.*.json" \
|
|
"usr/lib/libvulkan_lvp.so"
|
|
}
|
|
|
|
depot_install_vulkan_virtio() {
|
|
haul_to_output "vulkan-virtio" \
|
|
"usr/share/vulkan/icd.d/virtio_icd.*.json" \
|
|
"usr/lib/libvulkan_virtio.so"
|
|
}
|
|
|
|
depot_install_vulkan_mesa_device_select() {
|
|
haul_to_output "vulkan-mesa-device-select" \
|
|
"usr/lib/libVkLayer_MESA_device_select.so" \
|
|
"usr/share/vulkan/implicit_layer.d"
|
|
}
|
|
|
|
depot_install_vulkan_mesa_layers() {
|
|
haul_to_output "vulkan-mesa-layers" \
|
|
"usr/lib/libVkLayer_*.so" \
|
|
"usr/bin/mesa-*-control.py" \
|
|
"usr/share/vulkan/explicit_layer.d"
|
|
}
|