name='mesa' version='25.3.0' release='1' epoch='1' desc='Open-source OpenGL and Vulkan drivers' desc_ru='OpenGL и Vulkan драйверы с открытым исходным кодом' homepage='https://www.mesa3d.org/' maintainer='Evgeniy Khramov ' maintainer_ru='Евгений Храмов ' architectures=('amd64') license=('MIT' 'BSD-3-Clause' 'SGI-B-2.0') provides=( 'mesa' 'mesa-dri-drivers' 'mesa-dri-drivers(x86-64)' 'mesa-vulkan-drivers' 'mesa-vulkan-drivers(x86-64)' 'mesa-va-drivers' 'mesa-va-drivers(x86-64)' 'mesa-vdpau-drivers' 'mesa-vdpau-drivers(x86-64)' 'mesa-libgbm' 'mesa-libgbm(x86-64)' 'mesa-libEGL' 'mesa-libEGL(x86-64)' 'mesa-libGL' 'mesa-libGL(x86-64)' 'mesa-libGLES' 'mesa-libGLES(x86-64)' 'vulkan-radeon' 'libva-mesa-driver' 'opengl-driver' 'vulkan-driver' 'libdril_dri.so()(64bit)' 'libEGL_mesa.so.0()(64bit)' 'libGLX_mesa.so.0()(64bit)' 'libVkLayer_MESA_device_select.so()(64bit)' 'libvulkan_lvp.so()(64bit)' 'libvulkan_radeon.so()(64bit)' 'libgbm.so.1()(64bit)' 'libGLESv1_CM.so.1()(64bit)' 'libGLESv2.so.2()(64bit)' ) conflicts=( 'mesa(x86-64) < 25.2.6' 'mesa-dri-drivers(x86-64) < 25.2.6' 'mesa-vulkan-drivers(x86-64) < 25.2.6' 'mesa-va-drivers(x86-64) < 25.2.6' 'mesa-vdpau-drivers(x86-64) < 25.2.6' 'mesa-libgbm(x86-64) < 25.2.6' 'mesa-libEGL(x86-64) < 25.2.6' 'mesa-libGL(x86-64) < 25.2.6' 'mesa-libGLES(x86-64) < 25.2.6' ) # Базовые зависимости deps=( 'expat' 'libdrm' 'libelf' 'libglvnd' 'libx11' 'libxcb' 'libxext' 'libxshmfence' 'libxxf86vm' 'llvm18-libs' 'lm_sensors' 'libwayland-client' 'libwayland-server' 'zlib' 'zstd' 'vulkan-icd-loader' ) # Зависимости для RedOS deps_redos=( 'expat' 'libdrm' 'elfutils-libelf' 'libglvnd' 'libglvnd-gles' 'libX11' 'libxcb' 'libXext' 'libxshmfence' 'libXxf86vm' 'llvm18-libs' 'lm_sensors-libs' 'libwayland-client' 'libwayland-server' 'zlib' 'zstd' 'vulkan-loader' ) # Зависимости для сборки build_deps=( 'gcc' 'clang' 'meson' 'ninja-build' 'cmake' 'python3' 'python3-mako' 'python3-packaging' 'python3-pyyaml' 'bison' 'flex' 'llvm18' 'llvm18-devel' 'clang-devel' 'rust' 'rust-bindgen-devel' 'cbindgen' 'glslang-devel' 'spirv-tools-devel' 'libdrm-devel' 'libxcb-devel' 'libX11-devel' 'libXext-devel' 'libXxf86vm-devel' 'libXfixes-devel' 'libXdamage-devel' 'libxshmfence-devel' 'libXrandr-devel' 'elfutils-libelf-devel' 'libglvnd-devel' 'wayland-devel' 'wayland-protocols-devel' 'libva-devel' 'libvdpau-devel' 'expat-devel' 'libxml2-devel' 'libzstd-devel' 'lm_sensors-devel' 'systemd-devel' 'libpng-devel' 'vulkan-headers' 'vulkan-loader-devel' ) build_deps_redos=("${build_deps[@]}") sources=("https://archive.mesa3d.org/mesa-${version}.tar.xz") checksums=('361c97e8afa5fe20141c5362c5b489040751e12861c186a16c621a2fb182fc42') build() { cd "$srcdir/mesa-${version}" export LLVM_CONFIG="/usr/bin/llvm-config-18" meson setup builddir \ --prefix=/usr \ --libdir=lib64 \ --buildtype=release \ -Db_ndebug=true \ -Dplatforms=x11,wayland \ -Dgallium-drivers=r300,r600,radeonsi,llvmpipe,softpipe,zink \ -Dvulkan-drivers=amd,swrast \ -Dvideo-codecs=all \ -Dgallium-extra-hud=true \ -Dgallium-rusticl=false \ -Dgallium-va=enabled \ -Dgallium-vdpau=enabled \ -Dgbm=enabled \ -Dgles1=disabled \ -Dgles2=enabled \ -Dglvnd=enabled \ -Dglx=dri \ -Degl=enabled \ -Dllvm=enabled \ -Dlmsensors=enabled \ -Dvalgrind=disabled \ -Dvulkan-layers=device-select,overlay \ -Dintel-rt=disabled \ -Dlibunwind=disabled \ -Dmicrosoft-clc=disabled meson compile -C builddir -j$(($(nproc) - 1)) } package() { cd "$srcdir/mesa-${version}" DESTDIR="$pkgdir" meson install -C builddir --no-rebuild install-license docs/license.rst mesa/LICENSE" } files() { if [ -d ./usr/lib64 ]; then find ./usr/lib64 -type f -printf '%p\n' find ./usr/lib64 -type l -printf '%p\n' fi if [ -d ./usr/lib ]; then find ./usr/lib -type f -printf '%p\n' find ./usr/lib -type l -printf '%p\n' fi if [ -d ./usr/include ]; then find ./usr/include -type f -printf '%p\n' fi if [ -d ./usr/share ]; then find ./usr/share -type f -printf '%p\n' fi if [ -d ./usr/bin ]; then find ./usr/bin -type f -printf '%p\n' fi if [ -d ./etc ]; then find ./etc -type f -printf '%p\n' fi }