Mesa 25.2.6 и libdrm 2.4.128: поддержка AMD RDNA 4 (RX 9070 XT)
* libdrm (v2.4.128): Обновление до версии 2.4.128 для поддержки AMD RDNA 4 - Требуется для Mesa 25.2.x с RDNA 4 GPU - Заменяет стандартную libdrm-2.4.123 - Полный список provides включая .so библиотеки и pkgconfig * mesa (v25.2.6): Обновлены provides для корректной замены системной mesa - Добавлены архитектурные теги (x86-64) - Добавлены .so библиотеки в provides - Gallium драйверы: r300, r600, radeonsi, llvmpipe, softpipe, zink - Vulkan драйверы: amd, swrast - Использует LLVM 18 * lib32-mesa (v25.2.6-10): 32-битная Mesa без LLVM (только softpipe) - Отключен LLVM из-за конфликтов multilib в RedOS - Только softpipe драйвер (программный рендеринг) - Обновлены provides с синтаксисом (x86-32) для RedOS * Добавлены заготовки пакетов: - lib32-libdrm: 32-битная libdrm (заготовка) - lib32-llvm18: 32-битный LLVM 18 (заготовка) - lib32-lm_sensors: 32-битные lm_sensors (заготовка)
This commit is contained in:
135
lib32-llvm18/alr.sh
Normal file
135
lib32-llvm18/alr.sh
Normal file
@@ -0,0 +1,135 @@
|
||||
name='lib32-llvm18'
|
||||
version='18.1.8'
|
||||
release='1'
|
||||
desc='32-bit LLVM libraries for Mesa'
|
||||
desc_ru='32-битные библиотеки LLVM для Mesa'
|
||||
homepage='https://llvm.org/'
|
||||
maintainer='Evgeniy Khramov <xpamych@yandex.ru>'
|
||||
maintainer_ru='Евгений Храмов <xpamych@yandex.ru>'
|
||||
license='Apache-2.0 WITH LLVM-exception'
|
||||
architectures=('amd64')
|
||||
min_alr_version='v0.0.14'
|
||||
|
||||
# Runtime dependencies
|
||||
deps=(
|
||||
'llvm18-libs(x86-32)'
|
||||
)
|
||||
|
||||
deps_redos=(
|
||||
'llvm18-libs(x86-32)'
|
||||
)
|
||||
|
||||
# Build dependencies
|
||||
build_deps=(
|
||||
'cmake'
|
||||
'ninja-build'
|
||||
'gcc'
|
||||
'gcc-c++'
|
||||
'python3'
|
||||
'python3-devel'
|
||||
'zlib-devel.i686'
|
||||
'libzstd-devel.i686'
|
||||
'libxml2-devel.i686'
|
||||
'ncurses-devel.i686'
|
||||
'libedit-devel.i686'
|
||||
'libffi-devel.i686'
|
||||
'glibc-devel.i686'
|
||||
)
|
||||
|
||||
build_deps_redos=("${build_deps[@]}")
|
||||
|
||||
# Provides 32-bit LLVM libraries
|
||||
provides=(
|
||||
'lib32-llvm18'
|
||||
'llvm18-libs.i686'
|
||||
'llvm18-devel.i686'
|
||||
)
|
||||
|
||||
_pkgver="${version}"
|
||||
|
||||
sources=("https://github.com/llvm/llvm-project/releases/download/llvmorg-${_pkgver}/llvm-${_pkgver}.src.tar.xz")
|
||||
checksums=('SKIP')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/llvm-${_pkgver}.src"
|
||||
echo "==> Preparing LLVM ${version} (32-bit)..."
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/llvm-${_pkgver}.src"
|
||||
|
||||
export CFLAGS="-m32 -O2 -g1"
|
||||
export CXXFLAGS="-m32 -O2 -g1"
|
||||
export LDFLAGS="-m32"
|
||||
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig"
|
||||
|
||||
echo "==> Configuring LLVM (32-bit) with CMake..."
|
||||
cmake -B build -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_C_FLAGS="-m32" \
|
||||
-DCMAKE_CXX_FLAGS="-m32" \
|
||||
-DLLVM_LIBDIR_SUFFIX="" \
|
||||
-DLLVM_TARGET_ARCH=i686 \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE=i686-redsoft-linux-gnu \
|
||||
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" \
|
||||
-DLLVM_ENABLE_PROJECTS="" \
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DLLVM_BUILD_TOOLS=OFF \
|
||||
-DLLVM_BUILD_UTILS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=OFF \
|
||||
-DLLVM_ENABLE_DOXYGEN=OFF \
|
||||
-DLLVM_ENABLE_SPHINX=OFF \
|
||||
-DLLVM_ENABLE_BINDINGS=OFF \
|
||||
-DLLVM_ENABLE_TERMINFO=ON \
|
||||
-DLLVM_ENABLE_ZLIB=ON \
|
||||
-DLLVM_ENABLE_ZSTD=ON \
|
||||
-DLLVM_ENABLE_LIBXML2=ON \
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
|
||||
echo "==> Building LLVM (32-bit) - this may take 30-60 minutes..."
|
||||
cmake --build build -j$(nproc)
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/llvm-${_pkgver}.src"
|
||||
|
||||
echo "==> Installing LLVM (32-bit) libraries..."
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
|
||||
# Remove executables and tools (to avoid conflicts with 64-bit LLVM)
|
||||
rm -rf "$pkgdir/usr/bin"
|
||||
rm -rf "$pkgdir/usr/share/man"
|
||||
rm -rf "$pkgdir/usr/share/opt-viewer"
|
||||
|
||||
# Move libraries to /usr/lib (32-bit location)
|
||||
if [ -d "$pkgdir/usr/lib64" ]; then
|
||||
mkdir -p "$pkgdir/usr/lib"
|
||||
mv "$pkgdir/usr/lib64"/* "$pkgdir/usr/lib/" 2>/dev/null || true
|
||||
rmdir "$pkgdir/usr/lib64"
|
||||
fi
|
||||
|
||||
# Keep only essential headers for Mesa compilation
|
||||
# Remove conflicting includes
|
||||
if [ -d "$pkgdir/usr/include" ]; then
|
||||
mkdir -p "$pkgdir/usr/include/llvm-32"
|
||||
mv "$pkgdir/usr/include/llvm" "$pkgdir/usr/include/llvm-32/" 2>/dev/null || true
|
||||
mv "$pkgdir/usr/include/llvm-c" "$pkgdir/usr/include/llvm-32/" 2>/dev/null || true
|
||||
# Remove other includes that conflict
|
||||
rm -rf "$pkgdir/usr/include"/*.h
|
||||
fi
|
||||
|
||||
# Install license
|
||||
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$name/LICENSE.TXT"
|
||||
|
||||
echo "==> LLVM ${version} (32-bit) libraries installed"
|
||||
}
|
||||
|
||||
files() {
|
||||
# Find all installed files
|
||||
find "$pkgdir" -type f -o -type l | sed "s|^$pkgdir||" | sort
|
||||
}
|
||||
Reference in New Issue
Block a user