name='mesa' version='25.2.6' release='3' epoch='1' desc='Open-source OpenGL and Vulkan drivers with AMD RDNA 4 (RX 9070 XT) support' desc_ru='OpenGL и Vulkan драйверы с открытым исходным кодом с поддержкой AMD RDNA 4 (RX 9070 XT)' 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-vulkan-drivers' 'mesa-va-drivers' 'mesa-vdpau-drivers' 'mesa-libgbm' 'mesa-libEGL' 'mesa-libGL' 'mesa-libGLES' 'vulkan-radeon' 'libva-mesa-driver' 'opengl-driver' 'vulkan-driver' ) conflicts=( 'mesa' 'mesa-dri-drivers' 'mesa-vulkan-drivers' 'mesa-va-drivers' 'mesa-vdpau-drivers' 'mesa-libgbm' 'mesa-libEGL' 'mesa-libGL' 'mesa-libGLES' ) # Базовые зависимости 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' '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[@]}") _pkgver="${version}" sources=("https://archive.mesa3d.org/mesa-${_pkgver}.tar.xz") checksums=('361c97e8afa5fe20141c5362c5b489040751e12861c186a16c621a2fb182fc42') prepare() { cd "$srcdir/mesa-${_pkgver}" # Установка версии для правильной идентификации echo "${version}-alr${epoch}.${release}" > VERSION echo "==> Preparing Mesa ${version} for AMD RDNA 4 (RX 9070 XT) support..." } build() { cd "$srcdir/mesa-${_pkgver}" # Set LLVM 18 paths export LLVM_CONFIG="/usr/bin/llvm-config-18" echo "==> Configuring Mesa with Meson..." 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 echo "==> Building Mesa (this may take 15-30 minutes)..." meson compile -C builddir -j$(nproc) } package() { cd "$srcdir/mesa-${_pkgver}" echo "==> Installing Mesa..." DESTDIR="$pkgdir" meson install -C builddir --no-rebuild # Install license install -Dm644 docs/license.rst "$pkgdir/usr/share/licenses/$name/LICENSE" echo "==> Mesa ${_pkgver} installed with AMD RDNA 4 support" } files() { # Find all installed 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 }