Compare commits
17 Commits
master
...
edafb34091
| Author | SHA1 | Date | |
|---|---|---|---|
| edafb34091 | |||
| a48df5437f | |||
| df62997c39 | |||
| df0639192b | |||
| 317e3f2245 | |||
| 040b13861a | |||
| 1d2fc73173 | |||
| 0494b326f5 | |||
| e0da95ba13 | |||
| 8148ecc8de | |||
| 629a6a4f68 | |||
| d843c5d28a | |||
| 638f8ac8c4 | |||
| 6f80ab6987 | |||
| 8575a02a2a | |||
| 3d78fc1a62 | |||
| 113b291e14 |
118
lib32-libdrm/alr.sh
Normal file
118
lib32-libdrm/alr.sh
Normal 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
|
||||||
|
}
|
||||||
154
lib32-llvm18/alr.sh
Normal file
154
lib32-llvm18/alr.sh
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
name='lib32-llvm18'
|
||||||
|
version='18.1.8'
|
||||||
|
release='7'
|
||||||
|
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=()
|
||||||
|
|
||||||
|
deps_redos=()
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Keep llvm-config but rename it for 32-bit
|
||||||
|
if [ -d "$pkgdir/usr/bin" ]; then
|
||||||
|
mkdir -p "$pkgdir/usr/bin"
|
||||||
|
if [ -f "$pkgdir/usr/bin/llvm-config" ]; then
|
||||||
|
mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/bin/llvm-config-18-32"
|
||||||
|
fi
|
||||||
|
# Remove other executables
|
||||||
|
find "$pkgdir/usr/bin" -type f ! -name "llvm-config-18-32" -delete
|
||||||
|
rmdir "$pkgdir/usr/bin" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
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
103
lib32-lm_sensors/alr.sh
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
name='lib32-lm_sensors'
|
||||||
|
version='3.6.0'
|
||||||
|
release='4'
|
||||||
|
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) \
|
||||||
|
lib/libsensors.so
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
255
lib32-mesa/alr.sh
Normal file
255
lib32-mesa/alr.sh
Normal file
@@ -0,0 +1,255 @@
|
|||||||
|
name='lib32-mesa'
|
||||||
|
version='25.2.6'
|
||||||
|
release='8'
|
||||||
|
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) < 25.2.6'
|
||||||
|
'mesa-vulkan-drivers(x86-32) < 25.2.6'
|
||||||
|
'mesa-va-drivers(x86-32) < 25.2.6'
|
||||||
|
'mesa-vdpau-drivers(x86-32) < 25.2.6'
|
||||||
|
'mesa-libgbm(x86-32) < 25.2.6'
|
||||||
|
'mesa-libEGL(x86-32) < 25.2.6'
|
||||||
|
'mesa-libGL(x86-32) < 25.2.6'
|
||||||
|
'mesa-libGLES(x86-32) < 25.2.6'
|
||||||
|
'libglvnd-gles(x86-32) < 25.2.6'
|
||||||
|
)
|
||||||
|
|
||||||
|
# 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-64)'
|
||||||
|
'wayland-devel(x86-32)'
|
||||||
|
'wayland-protocols-devel'
|
||||||
|
'libva-devel(x86-64)'
|
||||||
|
'libvdpau-devel(x86-64)'
|
||||||
|
'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"
|
||||||
|
|
||||||
|
# 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
110
libdrm/alr.sh
Normal 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
209
linux-xanmode-bin/alr.sh
Normal 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
|
||||||
|
}
|
||||||
93
linux-xanmode-bin/postinstall.sh
Normal file
93
linux-xanmode-bin/postinstall.sh
Normal 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 "=========================================="
|
||||||
59
linux-xanmode-bin/postremove.sh
Normal file
59
linux-xanmode-bin/postremove.sh
Normal 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."
|
||||||
238
mesa/alr.sh
Normal file
238
mesa/alr.sh
Normal file
@@ -0,0 +1,238 @@
|
|||||||
|
name='mesa'
|
||||||
|
version='25.2.6'
|
||||||
|
release='4'
|
||||||
|
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(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'
|
||||||
|
'libglvnd-gles(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-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
|
||||||
|
}
|
||||||
0
validate-alr.sh
Normal file → Executable file
0
validate-alr.sh
Normal file → Executable file
Reference in New Issue
Block a user