Files
alr-repo/mesa/alr.sh
Евгений Храмов d843c5d28a Mesa и libdrm: исправление конфликтов зависимостей
- mesa: добавлены provides для libglvnd-gles(x86-64) и GLES библиотек для совместимости с libepoxy
- libdrm: конфликты сделаны архитектурно-специфичными (x86-64) для поддержки 32-битных версий
- lib32-mesa: добавлены архитектурные метки (x86-32) и provides для libglvnd-gles(x86-32)
- lib32-libdrm: добавлены архитектурные метки (x86-32) в conflicts

Устраняет проблемы при обновлении системы с конфликтами libepoxy и 32-битных зависимостей.
2025-11-20 19:20:20 +03:00

239 lines
4.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name='mesa'
version='25.2.6'
release='2'
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 <xpamych@yandex.ru>'
maintainer_ru='Евгений Храмов <xpamych@yandex.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)'
'libglvnd-gles'
'libglvnd-gles(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'
'mesa-dri-drivers'
'mesa-vulkan-drivers'
'mesa-va-drivers'
'mesa-vdpau-drivers'
'mesa-libgbm'
'mesa-libEGL'
'mesa-libGL'
'mesa-libGLES'
'libglvnd-gles'
)
# Базовые зависимости
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
}