Add various packages and patches for build system improvements

- 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.
This commit is contained in:
2026-03-22 23:25:50 -05:00
parent a0e45c65d3
commit bf96e50e44
144 changed files with 7131 additions and 45 deletions
+111
View File
@@ -0,0 +1,111 @@
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"
}
+423
View File
@@ -0,0 +1,423 @@
[package]
name = "mesa"
version = "26.0.3"
revision = 1
description = "several libraries and drivers for multiple APIs like OpenGL and Vulkan"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "opencl-mesa"
version = "26.0.3"
revision = 1
description = "Open-source OpenCL driver"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-asahi"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for Apple GPUs"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-dzn"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for D3D12"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-freedreno"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for Adreno GPUs"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-gfxstream"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for Graphics Streaming Kit"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-intel"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for Intel GPUs"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-nouveau"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for Nvidia GPUs"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-radeon"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for AMD GPUs"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-swrast"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for CPUs (Software Rasterizer)"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-virtio"
version = "26.0.3"
revision = 1
description = "Open-source Vulkan driver for Virtio-GPU (Venus)"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-mesa-device-select"
version = "26.0.3"
revision = 1
description = "Mesa's Vulkan Device Select layer"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[packages]]
name = "vulkan-mesa-layers"
version = "26.0.3"
revision = 1
description = "Mesa's Vulkan layers"
homepage = "https://www.mesa3d.org/"
license = ["MIT", "BSD-3-Clause", "SGI-B-2.0"]
[[source]]
url = "https://mesa.freedesktop.org/archive/mesa-$version.tar.xz"
sha256 = "b2:348df0a426c9e41565bf63c116d2a9b6b7e76b8d4310facfb0ba04f4d6da40942a7e622f25451f91d9e08722ad1f512eefb8ddbc6aefb6a82e5ab1e87e291ee5"
extract_dir = "mesa-$version"
[build]
type = "custom"
[dependencies]
build = [
"cbindgen",
"clang",
"cmake",
"directx-headers",
"elfutils",
"expat",
"libunwind",
"libcxx",
"glibc",
"glslang",
"libclc",
"libdrm",
"libelf",
"libglvnd",
"libpng",
"libva",
"libx11",
"libxcb",
"libxext",
"libxml215",
"libxrandr",
"libxshmfence",
"libxxf86vm",
"llvm",
"llvm-libs",
"meson",
"python-mako",
"python-packaging",
"python-ply",
"python-sphinx",
"python-sphinx-hawkmoth",
"cargo",
"rust-bindgen",
"spirv-llvm-translator",
"spirv-tools",
"vulkan-icd-loader",
"wayland",
"wayland-protocols",
"xcb-util-keysyms",
"xorgproto",
"zlib-ng",
"zstd",
"python-yaml",
]
runtime = [
"expat",
"libcxx",
"glibc",
"libdrm",
"libelf",
"libglvnd",
"libx11",
"libxcb",
"libxext",
"libxshmfence",
"libxxf86vm",
"llvm-libs",
"spirv-tools",
"wayland",
"zlib-ng",
"zstd",
]
optional = ["opengl-man-pages"]
[alternatives]
provides = [
"libva-mesa-driver",
"mesa-libgl",
"mesa-vdpau",
"libva-driver",
"opengl-driver",
"vdpau-driver",
]
conflicts = ["libva-mesa-driver", "mesa-libgl", "mesa-vdpau"]
[package_dependencies.opencl-mesa]
runtime = [
"clang",
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libelf",
"llvm-libs",
"spirv-llvm-translator",
"spirv-tools",
"zlib-ng",
"zstd",
"libclc",
]
optional = ["opencl-headers"]
[package_alternatives.opencl-mesa]
provides = ["opencl-driver"]
conflicts = ["opencl-clover-mesa", "opencl-rusticl-mesa"]
[package_dependencies.vulkan-asahi]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-asahi]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-dzn]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-dzn]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-freedreno]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-freedreno]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-gfxstream]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-gfxstream]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-intel]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-intel]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-nouveau]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-nouveau]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-radeon]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-radeon]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-swrast]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"spirv-tools",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-swrast]
provides = ["vulkan-driver"]
conflicts = ["vulkan-mesa"]
[package_dependencies.vulkan-virtio]
runtime = [
"expat",
"libunwind",
"libcxx",
"glibc",
"libdrm",
"libx11",
"libxcb",
"libxshmfence",
"vulkan-icd-loader",
"vulkan-mesa-device-select",
"wayland",
"xcb-util-keysyms",
"zlib-ng",
"zstd",
]
optional = ["vulkan-mesa-layers"]
[package_alternatives.vulkan-virtio]
provides = ["vulkan-driver"]
[package_dependencies.vulkan-mesa-device-select]
runtime = ["glibc", "libdrm", "libxcb", "wayland"]
[package_dependencies.vulkan-mesa-layers]
runtime = ["libunwind", "libcxx", "glibc", "libpng", "python"]
[package_alternatives.vulkan-mesa-layers]
conflicts = ["vulkan-mesa-layer"]