Compare commits

..

8 Commits

Author SHA1 Message Date
8148ecc8de lib32-mesa и lib32-llvm18: миграция на (x86-32) зависимости
lib32-mesa (release 4):
- Все зависимости изменены с .i686 на (x86-32)
- deps: удалена самопредоставляемая зависимость 'mesa'
- provides: удалены дубликаты .i686, оставлены только (x86-32)
- conflicts: удалены дубликаты .i686, оставлены только (x86-32)
- build_deps: все 32-битные -devel зависимости изменены на (x86-32)

lib32-llvm18 (release 5):
- provides: удалены дубликаты .i686, оставлены только (x86-32)
- conflicts: упрощены до версионного конфликта llvm18-libs(x86-32)
- build_deps: все 32-битные -devel зависимости изменены на (x86-32)
- package(): удаление .a файлов и конфликтующих .so (libLTO, libRemarks, LLVMgold)

Полностью устраняет использование .i686 суффикса в пользу архитектурных меток (x86-32) для RedOS.
Устраняет файловые конфликты при установке lib32-mesa.
2025-11-22 12:55:02 +03:00
629a6a4f68 lib32-llvm18 и lib32-lm_sensors: исправление конфликтов и сборки
lib32-llvm18:
- Добавлены provides для llvm-libs(x86-32) и llvm-static(x86-32) для замены системных пакетов
- Расширены conflicts для предотвращения конфликтов файлов с llvm-libs.i686 и llvm-static.i686
- release: 3 -> 4

lib32-lm_sensors:
- Исправлена сборка: использование make target 'user' вместо 'lib/libsensors.so'
- Исправлена установка: использование 'make install-lib' для корректной установки библиотек
- Удаление конфликтующего pkgconfig файла
- release: 2 -> 3

Устраняет конфликты при установке lib32-mesa.
2025-11-20 19:48:38 +03:00
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
638f8ac8c4 исправления зависимостей 2025-11-13 00:26:31 +03:00
6f80ab6987 Исправление названий зависимостей 2025-11-12 23:52:08 +03:00
8575a02a2a теперь использует полный llvm-project вместо только llvm 2025-11-12 23:36:50 +03:00
3d78fc1a62 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 (заготовка)
2025-11-12 23:12:05 +03:00
113b291e14 - mesa (v25.2.6): OpenGL и Vulkan драйверы с поддержкой AMD RDNA 4 (RX 9070 XT)
* Gallium драйверы: r300, r600, radeonsi, llvmpipe, softpipe, zink
  * Vulkan драйверы: amd, swrast
  * Поддержка VA-API и VDPAU для аппаратного декодирования
  * Использует LLVM 18
  * Заменяет стандартные пакеты mesa из репозитория

- lib32-mesa (v25.2.6): 32-битная версия Mesa для поддержки 32-битных игр и приложений
  * Те же драйверы и функции что и в 64-битной версии
  * Кросс-компиляция с использованием meson cross-file
  * Устанавливается в /usr/lib (не конфликтует с 64-битной версией)

- linux-xanmod-bin (v6.17.6): Prebuilt ядро Xanmod с оптимизациями
  * Автоопределение CPU микроархитектуры (x64v1-v4)
  * Поддержка BLS (Boot Loader Specification) с grubby
  * Автоматическое создание initramfs и регистрация в GRUB
  * Кеширование загруженных файлов
2025-11-11 00:22:57 +03:00
30 changed files with 1377 additions and 34 deletions

View File

@@ -6,7 +6,7 @@ ALR - это независимая от дистрибутива система
## Установка ALR
```bash
curl -fsSL https://gitea.plemya-x.ru/Plemya-x/ALR/raw/branch/master/scripts/install.sh | bash
curl -fsSL plemya-x.ru/alr/install.sh | bash
```
## Добавление этого репозитория
```bash
@@ -14,5 +14,5 @@ alr repo add alr-repo https://gitea.plemya-x.ru/Plemya-x/alr-repo.git
```
## Соцсети
Сайт - https://alr.plemya-x.ru/
Telegram - https://t.me/plemyakh

View File

@@ -1,5 +1,5 @@
name='deduplicator-git'
version='r20251117.c5dbbc14'
version='r20251022.26ee86c4'
release='1'
desc='Find, Sort, Filter & Delete duplicate files'
desc_ru='Поиск, сортировка, фильтрация и удаление дубликатов файлов'

View File

@@ -1,6 +1,6 @@
name='discord-bin'
version='0.0.116'
release='2'
version='0.0.113'
release='1'
desc='All-in-one voice and text chat for gamers'
desc_ru='Всё в одном: голосовое и текстовое общение для игроков'
homepage='https://discord.com/'
@@ -43,13 +43,13 @@ scripts=(
)
prepare() {
cd $srcdir/Discord/
cd Discord
sed -i "s|Exec=.*|Exec=/usr/bin/discord|" discord.desktop
}
package() {
install -d "$pkgdir"/opt/discord
cp -r --no-preserve=ownership Discord/. "$pkgdir"/opt/discord
cp -a Discord/. "$pkgdir"/opt/discord
rm "$pkgdir"/opt/discord/postinst.sh

View File

@@ -1,5 +1,5 @@
name='electron-bin'
version='39.2.4'
version='39.1.1'
release='1'
desc='Meta package providing the latest available stable Electron build'
desc_ru='Мета-пакет, предоставляющий последнюю доступную стабильную сборку Electron'

View File

@@ -1,5 +1,5 @@
name='extra-cmake-modules'
version='6.20.0'
version='6.20.0-rc1'
release='1'
desc='Extra modules and scripts for CMake'
desc_ru='Дополнительные модули и скрипты для CMake'

View File

@@ -1,6 +1,6 @@
name='fastfetch'
version='2.55.1'
release='1'
version='2.54.0'
release='3'
desc='Fastfetch is a neofetch-like tool for fetching system information and displaying them in a pretty way.'
desc_ru='Fastfetch - это быстрый инструмент для получения информации о системе и отображения их в красивом виде.'
homepage='https://github.com/fastfetch-cli/fastfetch'

View File

@@ -1,5 +1,5 @@
name='firefox-bin'
version='145.0.2'
version='144.0.2'
release='1'
desc='Fast, Private & Safe Web Browser.'
desc_ru='Быстрый, конфиденциальный и безопасный веб-браузер.'

View File

@@ -1,5 +1,5 @@
name='gpu-screen-recorder-ui'
version='1.8.1'
version='1.8.0'
release='1'
desc='A fullscreen overlay UI for GPU Screen Recorder in the style of ShadowPlay'
desc_ru='Полноэкранный интерфейс наложения для GPU Screen Recorder в стиле ShadowPlay'

View File

@@ -1,5 +1,5 @@
name='gpu-screen-recorder'
version='5.9.3'
version='5.8.1'
release='1'
desc='A shadowplay-like screen recorder for Linux. The fastest screen recorder for Linux'
desc_ru='Экранный рекордер, похожий на ShadowPlay для Linux. Самый быстрый экранный рекордер для Linux'

118
lib32-libdrm/alr.sh Normal file
View File

@@ -0,0 +1,118 @@
name='lib32-libdrm'
version='2.4.128'
release='3'
desc='32-bit userspace library for kernel DRM services'
desc_ru='32-битная библиотека пользовательского пространства для служб DRM ядра'
homepage='https://dri.freedesktop.org/'
maintainer='Evgeniy Khramov <xpamych@yandex.ru>'
maintainer_ru='Евгений Храмов <xpamych@yandex.ru>'
license='MIT'
architectures=('amd64')
min_alr_version='v0.0.14'
# Runtime dependencies
deps=(
'libpciaccess.i686'
'libdrm'
)
deps_redos=(
'libpciaccess(x86-32)'
'libdrm'
)
# Build dependencies
build_deps=(
'meson'
'ninja-build'
'gcc'
'libpciaccess-devel.i686'
'systemd-devel.i686'
'python3'
)
build_deps_redos=("${build_deps[@]}")
# Provides 32-bit libdrm
provides=(
'libdrm.i686'
'libdrm(x86-32)'
'libdrm.so.2'
'libdrm_amdgpu.so.1'
'libdrm_intel.so.1'
'libdrm_nouveau.so.2'
'libdrm_radeon.so.1'
'libdrm-devel.i686'
'libdrm-devel(x86-32)'
)
conflicts=(
'libdrm.i686 < 2.4.128'
'libdrm(x86-32) < 2.4.128'
'libdrm-devel.i686 < 2.4.128'
'libdrm-devel(x86-32) < 2.4.128'
)
_pkgver="${version}"
sources=("https://dri.freedesktop.org/libdrm/libdrm-${_pkgver}.tar.xz")
checksums=('SKIP')
prepare() {
cd "$srcdir/libdrm-${_pkgver}"
echo "==> Preparing libdrm ${version} (32-bit)..."
}
build() {
cd "$srcdir/libdrm-${_pkgver}"
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 libdrm (32-bit) with Meson..."
meson setup builddir \
--prefix=/usr \
--libdir=lib \
--buildtype=release \
-Dudev=true \
-Dvalgrind=disabled \
-Dcairo-tests=disabled \
-Dintel=enabled \
-Dradeon=enabled \
-Damdgpu=enabled \
-Dnouveau=enabled \
-Dvmwgfx=enabled \
-Domap=disabled \
-Dexynos=disabled \
-Dfreedreno=disabled \
-Dtegra=disabled \
-Dvc4=disabled \
-Detnaviv=disabled \
-Dinstall-test-programs=false
echo "==> Building libdrm (32-bit)..."
meson compile -C builddir -j$(nproc)
}
package() {
cd "$srcdir/libdrm-${_pkgver}"
echo "==> Installing libdrm (32-bit)..."
DESTDIR="$pkgdir" meson install -C builddir --no-rebuild
# Remove headers and pkg-config files (use from 64-bit libdrm+default)
rm -rf "$pkgdir/usr/include"
rm -rf "$pkgdir/usr/share"
# Install license
install -Dm644 README.rst "$pkgdir/usr/share/licenses/$name/README.rst"
echo "==> libdrm ${version} (32-bit) installed"
}
files() {
# Find all installed files
find "$pkgdir" -type f -o -type l | sed "s|^$pkgdir||" | sort
}

150
lib32-llvm18/alr.sh Normal file
View File

@@ -0,0 +1,150 @@
name='lib32-llvm18'
version='18.1.8'
release='5'
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(x86-32)'
'libzstd-devel(x86-32)'
'libxml2-devel(x86-32)'
'ncurses-devel(x86-32)'
'libedit-devel(x86-32)'
'libffi-devel(x86-32)'
'glibc-devel(x86-32)'
)
build_deps_redos=("${build_deps[@]}")
# Provides 32-bit LLVM libraries
provides=(
'lib32-llvm18'
'llvm18-libs(x86-32)'
'llvm18-devel(x86-32)'
)
conflicts=(
'llvm18-libs(x86-32) < 18.1.8'
)
_pkgver="${version}"
sources=("https://github.com/llvm/llvm-project/releases/download/llvmorg-${_pkgver}/llvm-project-${_pkgver}.src.tar.xz")
checksums=('SKIP')
prepare() {
cd "$srcdir/llvm-project-${_pkgver}.src"
echo "==> Preparing LLVM ${version} (32-bit)..."
}
build() {
cd "$srcdir/llvm-project-${_pkgver}.src/llvm"
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-project-${_pkgver}.src/llvm"
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
# Remove static libraries to avoid conflicts with system llvm-static.i686
echo "==> Removing static libraries (.a files)..."
find "$pkgdir/usr/lib" -name "*.a" -delete
# Remove conflicting shared libraries (keep only LLVM-*.so)
echo "==> Removing conflicting shared libraries..."
rm -f "$pkgdir/usr/lib/libLTO.so"*
rm -f "$pkgdir/usr/lib/libRemarks.so"*
rm -f "$pkgdir/usr/lib/LLVMgold.so"
rm -rf "$pkgdir/usr/lib/bfd-plugins"
# 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
}

103
lib32-lm_sensors/alr.sh Normal file
View File

@@ -0,0 +1,103 @@
name='lib32-lm_sensors'
version='3.6.0'
release='3'
desc='32-bit hardware monitoring library'
desc_ru='32-битная библиотека мониторинга оборудования'
homepage='https://github.com/lm-sensors/lm-sensors'
maintainer='Evgeniy Khramov <xpamych@yandex.ru>'
maintainer_ru='Евгений Храмов <xpamych@yandex.ru>'
license='GPL-2.0-or-later AND LGPL-2.1-or-later'
architectures=('amd64')
min_alr_version='v0.0.14'
# Runtime dependencies
deps=(
'lm_sensors'
)
deps_redos=(
'lm_sensors'
)
# Build dependencies
build_deps=(
'gcc'
'make'
'bison'
'flex'
'glibc-devel.i686'
)
build_deps_redos=("${build_deps[@]}")
# Provides 32-bit lm_sensors libraries
provides=(
'lm_sensors-libs.i686'
'lm_sensors-libs(x86-32)'
'libsensors.so.5'
)
conflicts=(
'lm_sensors-libs.i686 < 3.6.0'
)
_pkgver="${version}"
sources=("https://github.com/lm-sensors/lm-sensors/archive/V${_pkgver//./-}.tar.gz")
checksums=('SKIP')
prepare() {
cd "$srcdir/lm-sensors-${_pkgver//./-}"
echo "==> Preparing lm_sensors ${version} (32-bit)..."
}
build() {
cd "$srcdir/lm-sensors-${_pkgver//./-}"
export CFLAGS="-m32 -O2 -g1"
export CXXFLAGS="-m32 -O2 -g1"
export LDFLAGS="-m32"
echo "==> Building lm_sensors (32-bit)..."
make PREFIX=/usr \
LIBDIR=/usr/lib \
MANDIR=/usr/share/man \
BUILD_STATIC_LIB=0 \
-j$(nproc) \
user
}
package() {
cd "$srcdir/lm-sensors-${_pkgver//./-}"
echo "==> Installing lm_sensors (32-bit) libraries..."
# Install library using make install (only libraries)
mkdir -p "$pkgdir/usr/lib"
make PREFIX="$pkgdir/usr" \
LIBDIR="$pkgdir/usr/lib" \
BUILD_STATIC_LIB=0 \
install-lib
# Remove pkg-config file (conflicts with 64-bit version)
rm -f "$pkgdir/usr/lib/pkgconfig/libsensors.pc"
rmdir "$pkgdir/usr/lib/pkgconfig" 2>/dev/null || true
# Install license
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$name/COPYING"
install -Dm644 COPYING.LGPL "$pkgdir/usr/share/licenses/$name/COPYING.LGPL"
echo "==> lm_sensors ${version} (32-bit) installed"
}
files() {
# Find all installed files
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/share/licenses ]; then
find ./usr/share/licenses -type f -printf '%p\n'
fi
}

264
lib32-mesa/alr.sh Normal file
View File

@@ -0,0 +1,264 @@
name='lib32-mesa'
version='25.2.6'
release='4'
epoch='1'
desc='Open-source OpenGL and Vulkan drivers (32-bit) with AMD RDNA 4 support for gaming'
desc_ru='OpenGL и Vulkan драйверы (32-бит) с открытым исходным кодом с поддержкой AMD RDNA 4 для игр'
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-dri-drivers(x86-32)'
'mesa-vulkan-drivers(x86-32)'
'mesa-va-drivers(x86-32)'
'mesa-vdpau-drivers(x86-32)'
'mesa-libgbm(x86-32)'
'mesa-libEGL(x86-32)'
'mesa-libGL(x86-32)'
'mesa-libGLES(x86-32)'
'libglvnd-gles(x86-32)'
'lib32-mesa'
'lib32-mesa-dri-drivers'
'lib32-mesa-vulkan-drivers'
'lib32-mesa-va-drivers'
'lib32-mesa-vdpau-drivers'
'lib32-mesa-libgbm'
'lib32-mesa-libEGL'
'lib32-mesa-libGL'
'lib32-mesa-libGLES'
'lib32-vulkan-radeon'
'lib32-libva-mesa-driver'
'lib32-opengl-driver'
'lib32-vulkan-driver'
'libGLESv1_CM.so.1'
'libGLESv2.so.2'
)
conflicts=(
'mesa-dri-drivers(x86-32)'
'mesa-vulkan-drivers(x86-32)'
'mesa-va-drivers(x86-32)'
'mesa-vdpau-drivers(x86-32)'
'mesa-libgbm(x86-32)'
'mesa-libEGL(x86-32)'
'mesa-libGL(x86-32)'
'mesa-libGLES(x86-32)'
'libglvnd-gles(x86-32)'
'lib32-mesa'
'lib32-mesa-dri-drivers'
'lib32-mesa-vulkan-drivers'
'lib32-mesa-va-drivers'
'lib32-mesa-vdpau-drivers'
'lib32-mesa-libgbm'
'lib32-mesa-libEGL'
'lib32-mesa-libGL'
'lib32-mesa-libGLES'
)
# 32-битные зависимости
deps=(
'expat(x86-32)'
'libdrm(x86-32)'
'libelf(x86-32)'
'libglvnd(x86-32)'
'libx11(x86-32)'
'libxcb(x86-32)'
'libxext(x86-32)'
'libxshmfence(x86-32)'
'libxxf86vm(x86-32)'
'libwayland-client(x86-32)'
'libwayland-server(x86-32)'
'zlib(x86-32)'
'libzstd(x86-32)'
'vulkan-icd-loader(x86-32)'
)
# Зависимости для RedOS (32-бит)
deps_redos=(
'expat(x86-32)'
'lib32-libdrm'
'elfutils-libelf(x86-32)'
'libglvnd(x86-32)'
'libX11(x86-32)'
'libxcb(x86-32)'
'libXext(x86-32)'
'libxshmfence(x86-32)'
'libXxf86vm(x86-32)'
'libwayland-client(x86-32)'
'libwayland-server(x86-32)'
'zlib(x86-32)'
'libzstd(x86-32)'
'vulkan-loader(x86-32)'
'lib32-llvm18'
'lib32-lm_sensors'
)
# Зависимости для сборки (в основном 64-бит tools + 32-бит libs)
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'
'glibc-devel(x86-32)'
'lib32-libdrm'
'libxcb-devel(x86-32)'
'libX11-devel(x86-32)'
'libXext-devel(x86-32)'
'libXxf86vm-devel(x86-32)'
'libXfixes-devel(x86-32)'
'libXdamage-devel(x86-32)'
'libxshmfence-devel(x86-32)'
'libXrandr-devel(x86-32)'
'elfutils-libelf-devel(x86-32)'
'libglvnd-devel(x86-32)'
'wayland-devel(x86-32)'
'wayland-protocols-devel'
'libva-devel(x86-32)'
'libvdpau-devel(x86-32)'
'expat-devel(x86-32)'
'libxml2-devel(x86-32)'
'libzstd-devel(x86-32)'
'lm_sensors-devel'
'lib32-lm_sensors'
'systemd-devel(x86-32)'
'libpng-devel(x86-32)'
'vulkan-headers'
'vulkan-loader-devel(x86-32)'
'lib32-llvm18'
)
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
# Create llvm-config-i386.h for 32-bit LLVM support
echo "==> Creating llvm-config-i386.h for 32-bit LLVM..."
sudo cp /usr/lib64/llvm18/include/llvm/Config/llvm-config-x86_64.h /usr/lib64/llvm18/include/llvm/Config/llvm-config-i386.h
sudo sed -i 's/x86_64-redsoft-linux-gnu/i686-redsoft-linux-gnu/g' /usr/lib64/llvm18/include/llvm/Config/llvm-config-i386.h
# Create meson cross-file for 32-bit compilation
cat > "$srcdir/lib32-cross.ini" <<EOF
[binaries]
c = ['gcc', '-m32']
cpp = ['g++', '-m32']
ar = 'gcc-ar'
strip = 'strip'
pkg-config = 'pkg-config'
[built-in options]
c_args = ['-m32']
c_link_args = ['-m32']
cpp_args = ['-m32']
cpp_link_args = ['-m32']
[host_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
EOF
echo "==> Preparing Mesa ${version} (32-bit) with LLVM for AMD RDNA 4 gaming support..."
}
build() {
cd "$srcdir/mesa-${_pkgver}"
# Set environment for 32-bit build
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig"
export LLVM_CONFIG="/usr/bin/llvm-config-18"
# 32-bit CFLAGS/CXXFLAGS
export CFLAGS="-m32 -O2 -g1"
export CXXFLAGS="-m32 -O2 -g1"
export LDFLAGS="-m32"
echo "==> Configuring Mesa (32-bit) with Meson..."
meson setup builddir \
--cross-file="$srcdir/lib32-cross.ini" \
--prefix=/usr \
--libdir=lib \
--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 (32-bit) - this may take 15-30 minutes..."
meson compile -C builddir -j$(nproc)
}
package() {
cd "$srcdir/mesa-${_pkgver}"
echo "==> Installing Mesa (32-bit)..."
DESTDIR="$pkgdir" meson install -C builddir --no-rebuild
# Install license
install -Dm644 docs/license.rst "$pkgdir/usr/share/licenses/$name/LICENSE"
# Remove files that conflict with 64-bit mesa
rm -rf "$pkgdir/usr/include"
rm -rf "$pkgdir/usr/share/drirc.d"
rm -rf "$pkgdir/usr/share/vulkan"
rm -rf "$pkgdir/usr/share/glvnd"
rm -rf "$pkgdir/usr/lib/pkgconfig"
rm -f "$pkgdir/usr/bin"/*
echo "==> Mesa ${version} (32-bit) installed with LLVM and AMD RDNA 4 gaming support"
}
files() {
# Find all installed 32-bit library files
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/share/licenses ]; then
find ./usr/share/licenses -type f -printf '%p\n'
fi
}

110
libdrm/alr.sh Normal file
View File

@@ -0,0 +1,110 @@
name='libdrm'
version='2.4.128'
release='2'
desc='Userspace library for kernel DRM services'
desc_ru='Библиотека пользовательского пространства для служб DRM ядра'
homepage='https://dri.freedesktop.org/'
maintainer='Evgeniy Khramov <xpamych@yandex.ru>'
maintainer_ru='Евгений Храмов <xpamych@yandex.ru>'
license='MIT'
architectures=('amd64')
min_alr_version='v0.0.14'
# Runtime dependencies
deps=(
'libpciaccess'
)
deps_redos=(
'libpciaccess'
)
# Build dependencies
build_deps=(
'meson'
'ninja-build'
'gcc'
'libpciaccess-devel'
'systemd-devel'
'python3'
)
build_deps_redos=("${build_deps[@]}")
# Provides - заменяет системную libdrm
provides=(
'libdrm'
'libdrm(x86-64)'
'libdrm.so.2()(64bit)'
'libdrm_amdgpu.so.1()(64bit)'
'libdrm_intel.so.1()(64bit)'
'libdrm_nouveau.so.2()(64bit)'
'libdrm_radeon.so.1()(64bit)'
'libdrm-devel'
'libdrm-devel(x86-64)'
'pkgconfig(libdrm)'
'pkgconfig(libdrm_amdgpu)'
'pkgconfig(libdrm_intel)'
'pkgconfig(libdrm_nouveau)'
'pkgconfig(libdrm_radeon)'
)
conflicts=(
'libdrm(x86-64) < 2.4.128'
'libdrm-devel(x86-64) < 2.4.128'
)
_pkgver="${version}"
sources=("https://dri.freedesktop.org/libdrm/libdrm-${_pkgver}.tar.xz")
checksums=('SKIP')
prepare() {
cd "$srcdir/libdrm-${_pkgver}"
echo "==> Preparing libdrm ${version}..."
}
build() {
cd "$srcdir/libdrm-${_pkgver}"
echo "==> Configuring libdrm with Meson..."
meson setup builddir \
--prefix=/usr \
--libdir=lib64 \
--buildtype=release \
-Dudev=true \
-Dvalgrind=disabled \
-Dcairo-tests=disabled \
-Dintel=enabled \
-Dradeon=enabled \
-Damdgpu=enabled \
-Dnouveau=enabled \
-Dvmwgfx=enabled \
-Domap=disabled \
-Dexynos=disabled \
-Dfreedreno=disabled \
-Dtegra=disabled \
-Dvc4=disabled \
-Detnaviv=disabled \
-Dinstall-test-programs=false
echo "==> Building libdrm..."
meson compile -C builddir -j$(nproc)
}
package() {
cd "$srcdir/libdrm-${_pkgver}"
echo "==> Installing libdrm..."
DESTDIR="$pkgdir" meson install -C builddir --no-rebuild
# Install license
install -Dm644 README.rst "$pkgdir/usr/share/licenses/$name/README.rst"
echo "==> libdrm ${version} installed"
}
files() {
# Find all installed files
find "$pkgdir" -type f -o -type l | sed "s|^$pkgdir||" | sort
}

209
linux-xanmode-bin/alr.sh Normal file
View File

@@ -0,0 +1,209 @@
check_psabi() {
awk 'BEGIN {
while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1
if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1
if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2
if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3
if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4
if (level > 0) { print "x64v" level }
}' 2>/dev/null||echo "x64v1"
}
is_exe_exist() { command -v "$@" &>/dev/null ; }
check_url_stat_code() {
set -o pipefail
if is_exe_exist curl
then curl -sL -o /dev/null -I -w "%{http_code}" "$@" 2>/dev/null
elif is_exe_exist wget
then wget --no-check-certificate --server-response \
--spider "$@"|& awk '/^ HTTP/{print$2}'|tail -1
else return 1
fi
}
is_url() {
[ ! -n "$1" ] && \
return 1
if [ -n "$2" ]
then [ "$(check_url_stat_code "$1")" == "$2" ]
else [ "$(check_url_stat_code "$1")" == "200" ]
fi
}
name='linux-xanmod-bin'
version='6.17.6'
release='1'
branch='main'
pkgverdl="${version%-*}"
desc='The Linux kernel, modules and headers with Xanmod patches - Prebuilt version'
desc_ru='The Linux kernel, modules and headers with Xanmod patches - Prebuilt version'
homepage='http://www.xanmod.org/'
maintainer="Евгений Храмов <xpamych@yandex.ru> (imported from AUR)"
maintainer_ru="Евгений Храмов <xpamych@yandex.ru> (импортирован из AUR)"
architectures=('amd64')
license=('GPL2')
provides=('VIRTUALBOX-GUEST-MODULES' 'WIREGUARD-MODULE' 'KSMBD-MODULE' 'NTFS3-MODULE' )
conflicts=('linux-xanmod-headers' 'linux-xanmod' )
# Базовые зависимости
deps=('coreutils' 'kmod')
build_deps=('curl' 'gawk' 'grep' 'tar' 'xz' 'jq' 'binutils')
# Зависимости для конкретных дистрибутивов
deps_arch=('coreutils' 'kmod' 'mkinitcpio' 'pahole')
deps_debian=('coreutils' 'kmod' 'initramfs-tools' 'pahole')
deps_altlinux=('coreutils' 'kmod' 'make-initrd' 'dwarves')
deps_alpine=('coreutils' 'kmod' 'mkinitfs' 'pahole')
deps_redos=('coreutils' 'kmod' 'dracut' 'dwarves')
deps_fedora=('coreutils' 'kmod' 'dracut' 'dwarves')
deps_rhel=('coreutils' 'kmod' 'dracut' 'dwarves')
deps_rosa=('coreutils' 'kmod' 'dracut' 'dwarves')
# Опциональные зависимости
opt_deps=(
'crda'
'linux-firmware'
)
scripts=(
['postinstall']='postinstall.sh'
['postremove']='postremove.sh'
)
prepare() {
cd "$srcdir"
# Determine CPU capabilities
detected_psabi="$(check_psabi)"
# Determine best available psabi and construct URLs
for v in ${detected_psabi/x64v/} 3 2 1; do
[[ "$v" -le "${detected_psabi/x64v/}" && "$_psabi" != "x64v$v" ]] || continue
_psabi="x64v$v"
_url="https://sourceforge.net/projects/xanmod/files/releases/$branch/${pkgverdl}-xanmod1/${pkgverdl}-${_psabi}-xanmod1"
if is_url "$_url"; then
detected_psabi="$_psabi"
break
fi
done
echo "==> Определена архитектура процессора: $detected_psabi"
# Get download URLs
url_info="$(curl -sL "$_url" | grep "net.sf.files" | sed 's|net.sf.files = ||g;s|;$||' | jq -r '.[].download_url' | grep -v '\-dbg_')"
url_image="$(echo "$url_info" | grep -o "https:.*/linux-image.*deb" | head -1)"
url_headers="$(echo "$url_info" | grep -o "https:.*/linux-headers.*deb" | head -1)"
file_image="${url_image##*/}"
file_headers="${url_headers##*/}"
# Download files if not already present (caching in $srcdir)
if [ ! -f "$file_image" ]; then
echo "==> Загрузка образа ядра: $file_image"
curl -L -o "$file_image" "$url_image"
else
echo "==> Использование кешированного образа ядра: $file_image"
fi
if [ ! -f "$file_headers" ]; then
echo "==> Загрузка заголовков ядра: $file_headers"
curl -L -o "$file_headers" "$url_headers"
else
echo "==> Использование кешированных заголовков ядра: $file_headers"
fi
# Extract packages using ar and tar
echo "==> Распаковка образа ядра..."
ar x "$file_image" data.tar.xz
mkdir -p .extract && tar --no-same-owner --no-same-permissions -C .extract -xf data.tar.xz
cp -af .extract/* . 2>/dev/null || true
rm -rf .extract data.tar.xz
echo "==> Распаковка заголовков ядра..."
ar x "$file_headers" data.tar.xz
mkdir -p .extract && tar --no-same-owner --no-same-permissions -C .extract -xf data.tar.xz
cp -af .extract/* . 2>/dev/null || true
rm -rf .extract data.tar.xz
# Save psabi for package() function
echo "$detected_psabi" > "$srcdir/.psabi"
}
# Бинарный пакет - сборка не требуется
package() {
cd "$srcdir"
# Read psabi from file
detected_psabi="$(cat "$srcdir/.psabi")"
kernver="${pkgverdl}-${detected_psabi}-xanmod1"
modulesdir="$pkgdir/usr/lib/modules/${kernver}"
echo "==> Установка модулей ядра для ${kernver}..."
mkdir -p "${modulesdir}"
# Copy modules directory
if [ -d "lib/modules/${kernver}" ]; then
cp -r --no-preserve=ownership "lib/modules/${kernver}"/* "${modulesdir}/" || \
cp -R "lib/modules/${kernver}"/* "${modulesdir}/"
fi
# Установка образа ядра в /boot для загрузки
echo "==> Установка образа ядра в /boot..."
mkdir -p "$pkgdir/boot"
install -Dm755 "boot/vmlinuz-${kernver}" "$pkgdir/boot/vmlinuz-${kernver}"
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
install -Dm755 "boot/vmlinuz-${kernver}" "$modulesdir/vmlinuz"
# Used by mkinitcpio to name the kernel
echo "${name%-bin}" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
# Установка System.map если есть
if [ -f "boot/System.map-${kernver}" ]; then
install -Dm644 "boot/System.map-${kernver}" "$pkgdir/boot/System.map-${kernver}"
fi
# Установка конфигурации ядра если есть
if [ -f "boot/config-${kernver}" ]; then
install -Dm644 "boot/config-${kernver}" "$modulesdir/config"
fi
# Установка заголовков из usr если есть
if [ -d usr ]; then
echo "==> Установка заголовков ядра..."
mkdir -p "$pkgdir/usr"
# Copy recursively with fallback for different cp versions
cp -r --no-preserve=ownership usr/* "$pkgdir/usr/" 2>/dev/null || \
cp -R usr/* "$pkgdir/usr/" 2>/dev/null || \
(cd usr && find . -type f -exec install -Dm644 {} "$pkgdir/usr"/{} \;)
fi
}
files() {
# Find all files recursively in boot
if [ -d ./boot ]; then
find ./boot -type f -printf '%p\n'
fi
# Find all files in modules directory
if [ -d ./usr/lib/modules ]; then
find ./usr/lib/modules -type f -printf '%p\n'
find ./usr/lib/modules -type l -printf '%p\n'
fi
# Find additional files in /usr
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/src ]; then
find ./usr/src -type f -printf '%p\n'
find ./usr/src -type l -printf '%p\n'
fi
}

View File

@@ -0,0 +1,93 @@
#!/bin/bash
# Post-install script for linux-xanmod-bin
set -e
# Get kernel version from the installed files
kernel_version=$(basename /usr/lib/modules/*-xanmod1 2>/dev/null | head -n 1)
if [ -z "$kernel_version" ]; then
echo "Error: Could not determine kernel version"
exit 1
fi
if [ ! -f "/boot/vmlinuz-$kernel_version" ]; then
echo "Error: Kernel image /boot/vmlinuz-$kernel_version not found"
exit 1
fi
echo "Detected kernel $kernel_version, running system hooks..."
# For RedOS/RHEL/Fedora systems with dracut
if command -v dracut >/dev/null 2>&1; then
initramfs_img="/boot/initramfs-$kernel_version.img"
echo "Creating initramfs for $kernel_version using dracut..."
dracut --force --kmoddir "/usr/lib/modules/$kernel_version" "$initramfs_img" "$kernel_version"
echo "Initramfs created: $initramfs_img"
fi
# For Arch-based systems with mkinitcpio
if command -v mkinitcpio >/dev/null 2>&1; then
echo "Creating initramfs for $kernel_version using mkinitcpio..."
mkinitcpio -k "$kernel_version" -g "/boot/initramfs-$kernel_version.img"
fi
# For Debian-based systems with update-initramfs
if command -v update-initramfs >/dev/null 2>&1; then
echo "Creating initramfs for $kernel_version using update-initramfs..."
update-initramfs -c -k "$kernel_version"
fi
# For Alpine Linux with mkinitfs
if command -v mkinitfs >/dev/null 2>&1; then
echo "Creating initramfs for $kernel_version using mkinitfs..."
mkinitfs -o "/boot/initramfs-$kernel_version" "$kernel_version"
fi
# Update GRUB configuration
echo "Updating bootloader configuration..."
# For RHEL/Fedora/RedOS with grubby (BLS - Boot Loader Specification)
if command -v grubby >/dev/null 2>&1; then
echo "Adding kernel to bootloader using grubby..."
kernel_path="/boot/vmlinuz-$kernel_version"
initrd_path="/boot/initramfs-$kernel_version.img"
# Check if kernel already exists in grubby
if grubby --info="$kernel_path" >/dev/null 2>&1; then
echo "Kernel already registered in bootloader"
else
# Add kernel entry
grubby --add-kernel="$kernel_path" \
--initrd="$initrd_path" \
--title="Red OS Linux ($kernel_version) - Xanmod" \
--copy-default
echo "Kernel added to bootloader"
fi
# For Debian/Ubuntu with update-grub
elif command -v update-grub >/dev/null 2>&1; then
echo "Updating GRUB configuration..."
update-grub
# For other systems with grub2-mkconfig
elif command -v grub2-mkconfig >/dev/null 2>&1; then
echo "Updating GRUB2 configuration..."
grub2-mkconfig -o /boot/grub2/grub.cfg
# For systems with grub-mkconfig
elif command -v grub-mkconfig >/dev/null 2>&1; then
echo "Updating GRUB configuration..."
grub-mkconfig -o /boot/grub/grub.cfg
else
echo "Warning: No bootloader configuration tool found. Please update your bootloader manually."
fi
echo ""
echo "=========================================="
echo "Kernel $kernel_version installed successfully!"
echo ""
echo "To boot into this kernel:"
echo "1. Reboot your system"
echo "2. Select 'linux-xanmod' from the GRUB menu"
echo "=========================================="

View File

@@ -0,0 +1,59 @@
#!/bin/bash
# Post-remove script for linux-xanmod-bin
# Get kernel version from boot files (since modules may already be removed)
kernel_version=$(ls /boot/vmlinuz-*-xanmod1 2>/dev/null | head -n 1 | sed 's|/boot/vmlinuz-||')
if [ -z "$kernel_version" ]; then
echo "Kernel version could not be determined, cleanup may be incomplete"
exit 0
fi
echo "Cleaning up after removal of kernel $kernel_version..."
kernel_path="/boot/vmlinuz-$kernel_version"
# Remove from bootloader first
echo "Removing kernel from bootloader..."
if command -v grubby >/dev/null 2>&1; then
# For RHEL/Fedora/RedOS with grubby
if grubby --info="$kernel_path" >/dev/null 2>&1; then
echo "Removing kernel entry using grubby..."
grubby --remove-kernel="$kernel_path"
echo "Kernel removed from bootloader"
fi
fi
# Remove initramfs if it exists
initramfs_img="/boot/initramfs-$kernel_version.img"
if [ -f "$initramfs_img" ]; then
echo "Removing initramfs: $initramfs_img"
rm -f "$initramfs_img"
fi
# Remove kernel image from /boot if it still exists
if [ -f "$kernel_path" ]; then
echo "Removing kernel image: $kernel_path"
rm -f "$kernel_path"
fi
# Remove System.map if it exists
if [ -f "/boot/System.map-$kernel_version" ]; then
echo "Removing System.map: /boot/System.map-$kernel_version"
rm -f "/boot/System.map-$kernel_version"
fi
# Update GRUB configuration (for non-BLS systems)
if command -v update-grub >/dev/null 2>&1; then
echo "Updating GRUB configuration..."
update-grub
elif command -v grub2-mkconfig >/dev/null 2>&1 && ! command -v grubby >/dev/null 2>&1; then
echo "Updating GRUB2 configuration..."
grub2-mkconfig -o /boot/grub2/grub.cfg
elif command -v grub-mkconfig >/dev/null 2>&1 && ! command -v grubby >/dev/null 2>&1; then
echo "Updating GRUB configuration..."
grub-mkconfig -o /boot/grub/grub.cfg
fi
echo "Kernel $kernel_version has been removed."
echo "Please ensure you have another kernel installed before rebooting."

View File

@@ -1,5 +1,5 @@
name='maturin'
version='1.10.2'
version='1.10.0'
release='1'
desc='Build and publish crates with pyo3, rust-cpython and cffi bindings'
desc_ru='Сборка и публикация крейтов с привязками pyo3, rust-cpython и cffi'
@@ -108,7 +108,7 @@ build_deps_rhel=("${build_deps[@]}")
build_deps_rosa=("${build_deps[@]}")
options=(!lto)
sources=("https://github.com/PyO3/maturin/archive/v$version/$name-v$version.tar.gz")
checksums=('c346e7afa66cdbbece675b4da1e636911a66a9f299affc60f77b5fb50f0ee145')
checksums=('6e3a79d809c9542710055304f8a20d7995990f356cccf83219edb8ed1bdd5a06')
_pick() {
local p="$1" f d; shift

238
mesa/alr.sh Normal file
View File

@@ -0,0 +1,238 @@
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
}

View File

@@ -1,6 +1,6 @@
name='node-gyp'
version='12.1.0'
release='1'
version='11.5.0'
release='2'
desc='Node.js native addon build tool'
desc_ru='Инструмент сборки нативных дополнений для Node.js'
homepage='https://github.com/nodejs/node-gyp'

View File

@@ -1,5 +1,5 @@
name='obsidian-bin'
version='1.10.6'
version='1.9.14'
release='1'
desc='A powerful knowledge base that works on top of a local folder of plain text Markdown files'
desc_ru='Мощная база знаний, работающая с локальными Markdown-файлами'

View File

@@ -1,5 +1,5 @@
name='pnpm'
version='10.24.0'
version='10.21.0'
release='1'
desc='Fast, disk space efficient package manager'
desc_ru='Быстрый и эффективный по дисковому пространству менеджер пакетов'

View File

@@ -1,6 +1,6 @@
name='qmk-cli'
version='1.2.0'
release='1'
version='1.1.8'
release='3'
desc='CLI tool for customizing supported mechanical keyboards'
desc_ru='Утилита командной строки для настройки механических клавиатур'
homepage='https://github.com/qmk/qmk_cli'

View File

@@ -1,5 +1,5 @@
name='qpwgraph-qt5'
version='0.9.7'
version='0.9.6'
release='1'
desc='А pipewire graph using qt(qt5 version)'
desc_ru='Граф PipeWire с использованием Qt (версия для Qt5)'

View File

@@ -1,5 +1,5 @@
name='shfmt-git'
version='r20251125.4d12b4a8'
version='r20251109.65adef8e'
release='1'
desc='A shell formatter. Supports POSIX Shell, Bash, and mksh (Git-version)'
desc_ru='Форматировщик скриптов оболочки с поддержкой POSIX Shell, Bash и mksh (Git-версия)'

View File

@@ -1,5 +1,5 @@
name='telegram-desktop-bin'
version='6.3.4'
version='6.2.4'
release='1'
desc='Official desktop version of Telegram messaging app - Static binaries'
desc_ru='Официальный клиент для Telegram мессенджера - статические бинарники'

0
validate-alr.sh Normal file → Executable file
View File

View File

@@ -1 +1 @@
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0666", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"

View File

@@ -1,6 +1,6 @@
name='vial'
version='0.7.5'
release='7'
release='5'
desc='Vial is an open-source cross-platform (Windows, Linux and Mac) GUI and a QMK fork for configuring your keyboard in real time, similar to VIA'
desc_ru='Кроссплатформенный GUI с открытым исходным кодом для настройки клавиатуры в реальном времени'
homepage='https://get.vial.today/'
@@ -48,7 +48,7 @@ package() {
install-desktop ${srcdir}/squashfs-root/Vial.desktop
install -dm755 "${pkgdir}/usr/share/"
cp -r --no-preserve=ownership "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
cp -a "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
install -dm755 "${pkgdir}/usr/bin"
ln -s "${pkgdir}/opt/vial/vial.AppImage" "${pkgdir}/usr/bin/${name}"
@@ -58,8 +58,8 @@ package() {
files() {
files-find-bin
files-find "./opt/vial/**"
files-find-share "applications"
files-find-share "icons"
files-find "./usr/lib/udev/rules.d/**"
files-find "./opt/vial"
files-find-share-applications
files-find-share-icons
files-find "./usr/lib/udev/rules.d"
}

View File

@@ -1,3 +1,2 @@
#!/bin/env bash
udevadm control --reload-rules
udevadm trigger --subsystem-match=hidraw --action=change
udevadm control --reload-rules && udevadm trigger