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:
@@ -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"
|
||||
}
|
||||
@@ -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"]
|
||||
Reference in New Issue
Block a user