Files
alr-RG/mesa/alr.sh
Евгений Храмов 061750c3ac fix: исправление конфликтов зависимостей
- mesa, lib32-mesa: убрал libglvnd-gles из deps_redos (mesa сама предоставляет mesa-libGLES)
- lib32-llvm18: убрал llvm-libs(x86-32) из provides (конфликт с системным llvm-libs-17)
2025-11-28 01:01:36 +03:00

213 lines
4.2 KiB
Bash
Raw Permalink 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.3.0'
release='2'
epoch='1'
desc='Open-source OpenGL and Vulkan drivers'
desc_ru='OpenGL и Vulkan драйверы с открытым исходным кодом'
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)'
'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'
'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'
'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=('0fd54fea7dbbddb154df05ac752b18621f26d97e27863db3be951417c6abe8ae')
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 \
-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
}