upd and patches

This commit is contained in:
2026-07-22 04:29:56 +03:00
parent 2be695fa6a
commit c6dcbc1ca5
90 changed files with 1688 additions and 91 deletions

View File

@ -25,7 +25,7 @@ nolibc /pkg/gnu/aeropkg/var/nolibc
> disable=true|false (default: false)
``` env *** env ***
SHELL=/bin/sh
SHELL=/bin/zsh
```
``` env *** env gnu ***

View File

@ -9,6 +9,6 @@ make install
```
``` cfg *** build deps ***
linux-headers
linux/headers
json-c
```

8
assets/var/gnu/btop.md Normal file
View File

@ -0,0 +1,8 @@
btop
=
https://github.com/aristocratos/btop.git
``` sh *** build ***
make PREFIX=$pkgpath -j$(nproc)
make install PREFIX=$pkgpath
```

19
assets/var/gnu/clang.md Normal file
View File

@ -0,0 +1,19 @@
clang 22.1.8
=
https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-22.1.8.tar.gz
``` sh *** build ***
mkdir -p build && cd build
cmake -G Ninja ../llvm \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/clang \
-DLLVM_ENABLE_PROJECTS="clang" \
-DLLVM_TARGETS_TO_BUILD="host" \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DCLANG_INCLUDE_TESTS=OFF
ninja -j$(nproc)
ninja install
```

View File

@ -1,9 +1,9 @@
cmake 4.0.2
cmake 4.3.4
=
https://github.com/Kitware/CMake/releases/download/v4.0.2/cmake-4.0.2.tar.gz
https://github.com/Kitware/CMake/archive/refs/tags/v4.3.4.tar.gz
``` sh *** build ***
./configure --prefix=/pkg/gnu/cmake
./configure --prefix=/pkg/gnu/cmake -- -DBUILD_CursesDialog=OFF
make -j$(nproc)
make install
```

14
assets/var/gnu/dhcpcd.md Normal file
View File

@ -0,0 +1,14 @@
dhcpcd 10.3.2
=
https://github.com/NetworkConfiguration/dhcpcd/releases/download/v10.3.2/dhcpcd-10.3.2.tar.xz
``` sh *** build ***
./configure --prefix=/pkg/gnu/dhcpcd --localstatedir=/pkg/gnu/dhcpcd/var
make -j$(nproc)
make install
```
``` sh *** config ***
mkdir -p /pkg/gnu/dhcpcd/var/{db/dhcpcd,run/dhcpcd}
chmod 755 /pkg/gnu/dhcpcd/var/{db/dhcpcd,run/dhcpcd}
```

View File

@ -0,0 +1,13 @@
dosfstools 4.2
=
https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz
``` sh *** build ***
./configure --prefix=/pkg/gnu/dosfstools
make -j$(nproc)
make install
```
``` sh *** config ***
ln -s mkfs.fat sbin/mkfs.vfat
```

View File

@ -0,0 +1,16 @@
efibootmgr 18
=
https://github.com/rhboot/efibootmgr/archive/refs/tags/18.tar.gz
``` sh *** build ***
make prefix=/pkg/gnu/efibootmgr EFIDIR=aerolinux EFI_LOADER=LinuxStub.efi install
```
``` cfg *** build deps ***
efivar
```
``` sh *** up ***
modprobe efivarfs
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
```

11
assets/var/gnu/efivar.md Normal file
View File

@ -0,0 +1,11 @@
efivar 39
=
https://github.com/rhboot/efivar/archive/refs/tags/39.tar.gz
``` sh *** build ***
make PREFIX=/pkg/gnu/efivar LIBDIR=/pkg/gnu/efivar/lib install
```
``` cfg *** run deps ***
mandoc
```

View File

@ -3,17 +3,18 @@ eudev 3.2.14
https://github.com/eudev-project/eudev/releases/download/v3.2.14/eudev-3.2.14.tar.gz
``` sh *** build ***
./configure --prefix=/pkg/gnu/eudev
./configure --prefix=/pkg/gnu/eudev --with-rootrundir=/pkg/gnu/eudev/run
make -j$(nproc)
make install
```
``` sh *** config ***
sed -i '/KERNEL=="sgx_enclave"/d; /KERNEL=="sgx_vepc"/d' /pkg/gnu/eudev/lib/udev/rules.d/50-udev-default.rules
cat <<EOF > /pkg/gnu/eudev/etc/udev/rules.d/80-drivers.rules
ACTION=="add", KERNEL=="*", ENV{MODALIAS}=="?*", RUN+="/pkg/gnu/sbin/modprobe $env{MODALIAS}"
sed -i '/KERNEL=="sgx_enclave"/d; /KERNEL=="sgx_vepc"/d' lib/udev/rules.d/50-udev-default.rules
cat <<EOF > etc/udev/rules.d/80-drivers.rules
ACTION=="add", KERNEL=="*", ENV{MODALIAS}=="?*", RUN+="/pkg/gnu/sbin/modprobe \$env{MODALIAS}"
EOF
udevadm hwdb --update
mkdir -p var/log run
```
``` cfg *** run deps ***

View File

@ -0,0 +1,10 @@
f2fs-tools
=
https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/f2fs-tools
make -j$(nproc)
make install
```

14
assets/var/gnu/fmt.md Normal file
View File

@ -0,0 +1,14 @@
fmt 12.2.0
=
https://github.com/fmtlib/fmt/archive/refs/tags/12.2.0.tar.gz
``` sh *** build ***
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/fmt \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=ON \
-DFMT_TEST=OFF
cmake --build build -j$(nproc)
cmake --install build
```

View File

@ -1,10 +1,9 @@
gcc 15.2.0
gcc 15.3.0
=
https://ftp.gnu.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.xz
https://ftp.gnu.org/gnu/gcc/gcc-15.3.0/gcc-15.3.0.tar.xz
``` sh *** patch ***
rg -l "/lib64/ld-linux-x86-64.so.2" ./ | xargs sed -i 's|/lib64/ld-linux-x86-64.so.2|/pkg/gnu/lib/ld-linux-x86-64.so.2|g'
rg -l "/lib64/ld-linux-x86-64.so.2" ./ | xargs sed -i 's|/lib64/ld-linux-x86-64.so.2|/pkg/gnu/glibc/lib/ld-linux-x86-64.so.2|g'
```
``` sh *** build ***
@ -13,11 +12,14 @@ cd build
../configure \
--prefix=/pkg/gnu/gcc \
--disable-multilib \
--enable-languages=c,c++ \
--disable-werror &&
--enable-languages=c,c++,fortran \
--disable-werror
make -j$(nproc)
make install
ln /pkg/gnu/gcc/bin/gcc /pkg/gnu/gcc/bin/cc
```
``` sh *** config ***
ln bin/gcc bin/cc
```
``` cfg *** build deps ***
@ -33,4 +35,5 @@ zlib
binutils
ripgrep
sed
findutils
```

View File

@ -2,6 +2,9 @@ gcc14 14.3.0
=
https://ftp.gnu.org/gnu/gcc/gcc-14.3.0/gcc-14.3.0.tar.xz
``` env *** env ***
disable=true
```
``` sh *** patch ***
rg -l "/lib64/ld-linux-x86-64.so.2" ./ | xargs sed -i 's|/lib64/ld-linux-x86-64.so.2|/pkg/gnu/lib/ld-linux-x86-64.so.2|g'

39
assets/var/gnu/gcc16.md Normal file
View File

@ -0,0 +1,39 @@
gcc 16.1.0
=
https://ftp.gnu.org/gnu/gcc/gcc-16.1.0/gcc-16.1.0.tar.xz
``` env *** env ***
disable=true
```
``` sh *** patch ***
rg -l "/lib64/ld-linux-x86-64.so.2" ./ | xargs sed -i 's|/lib64/ld-linux-x86-64.so.2|/pkg/gnu/lib/ld-linux-x86-64.so.2|g'
```
``` sh *** build ***
mkdir -p build
cd build
../configure \
--prefix=/pkg/gnu/gcc \
--disable-multilib \
--enable-languages=c,c++ \
--disable-werror &&
make -j$(nproc)
make install
ln /pkg/gnu/gcc/bin/gcc /pkg/gnu/gcc/bin/cc
```
``` cfg *** build deps ***
gmp
mpfr
mpc
isl
zstd
zlib
```
``` cfg *** run deps ***
binutils
ripgrep
sed
```

View File

@ -24,7 +24,7 @@ sed -i 's|/pkg/gnu/glibc/lib64/ld-linux-x86-64.so.2|/pkg/gnu/glibc/lib/ld-linux-
```
``` cfg *** build deps ***
linux-headers
linux/headers
```
``` cfg *** run deps ***

15
assets/var/gnu/glslang.md Normal file
View File

@ -0,0 +1,15 @@
glslang 16.3.0
=
https://github.com/KhronosGroup/glslang/archive/refs/tags/16.3.0.tar.gz
``` sh *** build ***
python3 ./update_glslang_sources.py
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=ON \
-DENABLE_HLSL=OFF
cmake --build build -j$(nproc)
cmake --install build
```

View File

@ -10,7 +10,7 @@ make install
``` cfg *** build deps ***
glibc
linux-headers
linux/headers
```
``` cfg *** run deps ***

View File

@ -0,0 +1,18 @@
gptfdisk
=
https://git.code.sf.net/p/gptfdisk/code.git
``` sh *** patch ***
sed -i 's/-lncursesw/-lncursesw -ltinfow/' Makefile
```
``` sh *** build ***
make -j$(nproc)
install -d /pkg/gnu/gptfdisk/sbin /pkg/gnu/gptfdisk/share/man/man8 && \
install -m 0755 sgdisk fixparts gdisk cgdisk /pkg/gnu/gptfdisk/sbin/ && \
install -m 0644 *.8 /pkg/gnu/gptfdisk/share/man/man8/
```
``` cfg *** build deps ***
popt
```

View File

@ -9,7 +9,7 @@ printf '\nnoarch_pkgconfigdir = /pkg/gnu/lib/pkgconfig\npkgconfigdir = /pkg/gnu/
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/kmod --disable-manpages
./configure --prefix=/pkg/gnu/kmod --with-module-directory=/pkg/gnu/linux/kernel/modules/lib/ --disable-manpages
make -j$(nproc)
make install
```

7
assets/var/gnu/libaio.md Normal file
View File

@ -0,0 +1,7 @@
libaio
=
https://pagure.io/libaio/archive/libaio-0.3.113/libaio-libaio-0.3.113.tar.gz
``` sh *** build ***
make prefix=/pkg/gnu/libaio install
```

View File

@ -0,0 +1,8 @@
libdivide 5.3.0
=
https://github.com/ridiculousfish/libdivide/archive/refs/tags/v5.3.0.tar.gz
``` sh *** build ***
cmake -B build -DCMAKE_INSTALL_PREFIX=/pkg/gnu/libdivide -DLIBDIVIDE_BUILD_TESTS=OFF
cmake --install build
```

View File

@ -0,0 +1,10 @@
libevent 2.1.12
=
https://github.com/libevent/libevent/archive/refs/tags/release-2.1.12-stable.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```

10
assets/var/gnu/libnl.md Normal file
View File

@ -0,0 +1,10 @@
libnl 3.12.0
=
https://github.com/thom311/libnl/archive/refs/tags/libnl3_12_0.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/libnl
make -j$(nproc)
make install
```

14
assets/var/gnu/libxaw.md Normal file
View File

@ -0,0 +1,14 @@
libxaw 1.0.16
=
https://gitlab.freedesktop.org/xorg/lib/libxaw/-/archive/libXaw-1.0.16/libxaw-libXaw-1.0.16.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```
``` cfg *** build deps ***
libxpm
```

10
assets/var/gnu/libxft.md Normal file
View File

@ -0,0 +1,10 @@
libxft 2.3.9
=
https://gitlab.freedesktop.org/xorg/lib/libxft/-/archive/libXft-2.3.9/libxft-libXft-2.3.9.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```

10
assets/var/gnu/libxmu.md Normal file
View File

@ -0,0 +1,10 @@
libxmu 1.3.1
=
https://gitlab.freedesktop.org/xorg/lib/libxmu/-/archive/libXmu-1.3.1/libxmu-libXmu-1.3.1.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/libxmu
make -j$(nproc)
make install
```

10
assets/var/gnu/libxpm.md Normal file
View File

@ -0,0 +1,10 @@
libxpm 3.5.19
=
https://gitlab.freedesktop.org/xorg/lib/libxpm/-/archive/libXpm-3.5.19/libxpm-libXpm-3.5.19.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```

View File

@ -0,0 +1,10 @@
libxshmfence 1.3.3
=
https://gitlab.freedesktop.org/xorg/lib/libxshmfence/-/archive/libxshmfence-1.3.3/libxshmfence-libxshmfence-1.3.3.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```

View File

@ -0,0 +1,10 @@
libxxf86vm 1.1.7
=
https://gitlab.freedesktop.org/xorg/lib/libxxf86vm/-/archive/libXxf86vm-1.1.7/libxxf86vm-libXxf86vm-1.1.7.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```

View File

@ -1,12 +0,0 @@
linux-headers 6.18.7
=
https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.7.tar.xz
``` sh *** build ***
make ARCH=x86 INSTALL_HDR_PATH=/pkg/gnu/linux-headers headers_install
```
``` cfg *** build deps ***
glibc
gcc
```

View File

@ -0,0 +1,12 @@
linux/headers 7.1.4
=
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.4.tar.xz
``` sh *** build ***
make ARCH=x86 INSTALL_HDR_PATH=/pkg/gnu/linux/headers headers_install
```
``` cfg *** build deps ***
glibc
gcc
```

View File

@ -0,0 +1,102 @@
linux/kernel-usb 7.0.12
=
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.0.12.tar.xz
``` sh *** patch ***
mkdir -p certs
cp /pkg/gnu/linux/kernel/var/certs/* certs || true
sed -i '/^static const char \* const fw_path\[\] = {$/,/^};$/ s|"/lib/firmware|"/pkg/gnu/linux/kernel/firmware/lib|g' drivers/base/firmware_loader/main.c
```
``` sh *** build ***
#
# Configuration
#
cat > .config.base <<ENDCONFIG
# Kernel settings
CONFIG_KERNEL_LZ4=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_PREEMPT=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# Video
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_DRM_FBDEV_EMULATION=y
# Security
CONFIG_INTEGRITY=n
CONFIG_SECURITY_SELINUX=n
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_TCG_TPM=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_SECURITYFS=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY_LANDLOCK=y
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_LOADPIN=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_LSM="landlock,yama,loadpin,safesetid"
# Block devices
CONFIG_BLK_DEV_NVME=y
CONFIG_BLK_WBT=y
CONFIG_NVME_CORE=y
CONFIG_NVME_HWMON=y
# USB Support
CONFIG_SCSI=y
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_BLK_DEV_SD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_COMMON=y
CONFIG_USB_HID=y
CONFIG_HID=y
CONFIG_HID_GENERIC=y
# AeroLinux conf
CONFIG_F2FS_FS=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="root=PARTLABEL=aerolinux-usb init=/pkg/gnu/s6/bin/s6-init rootwait rw console=tty0 earlycon=efifb loglevel=8 debug"
CONFIG_MODPROBE_PATH="/pkg/gnu/bin/modprobe"
ENDCONFIG
make defconfig
./scripts/kconfig/merge_config.sh -m .config .config.base
find . -name Kconfig -exec awk '
/^(config|menuconfig) [A-Za-z0-9_]+$/ {
config_name = $2
getline next_line
if (next_line ~ /^[[:space:]]*tristate([[:space:]]|$)/) {
print "CONFIG_" config_name "=m"
}
}
' {} + > .config.modules
./scripts/kconfig/merge_config.sh .config .config.modules
sed -E '/.*DEBUG.*/ s/=(y|m)/=n/' -i .config
make olddefconfig
./scripts/kconfig/merge_config.sh -m .config .config.base
make -j$(nproc) bzImage
mkdir -p /pkg/gnu/linux/kernel-usb/var/certs
objcopy arch/x86/boot/bzImage /pkg/gnu/linux/kernel-usb/var/BOOTX64.EFI
cp System.map /pkg/gnu/linux/kernel-usb/var/System.map
cp .config /pkg/gnu/linux/kernel-usb/var/config
cp {certs/signing_key.pem,certs/signing_key.x509} /pkg/gnu/linux/kernel-usb/var/certs || true
```
``` sh *** set ***
cp -r /pkg/gnu/linux/kernel-usb/var/BOOTX64.EFI /boot/efi/EFI/aerolinux/LinuxStub.efi
```

View File

@ -1,24 +1,12 @@
linux-kernel 7.0.12
linux/kernel 7.1.4
=
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.0.12.tar.xz
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_HID=m
CONFIG_HID_GENERIC=m
CONFIG_USB_COMMON=m
CONFIG_KEYBOARD_ATKBD=m
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=m
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_GPIO=m
7299
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.4.tar.xz
``` sh *** patch ***
mkdir -p certs
cp /pkg/gnu/linux/kernel/var/certs/* certs || true
sed -i '/^static const char \* const fw_path\[\] = {$/,/^};$/ s|"/lib/firmware|"/pkg/gnu/linux/kernel/firmware/lib|g' drivers/base/firmware_loader/main.c
```
``` sh *** build ***
#
@ -86,20 +74,18 @@ find . -name Kconfig -exec awk '
sed -E '/.*DEBUG.*/ s/=(y|m)/=n/' -i .config
make olddefconfig
./scripts/kconfig/merge_config.sh -m .config .config.base
make -j$(nproc) bzImage modules
make INSTALL_MOD_PATH=/pkg/gnu/linux-kernel modules_install
mkdir -p /pkg/gnu/linux-kernel/var/certs
objcopy arch/x86/boot/bzImage /pkg/gnu/linux-kernel/var/BOOTX64.EFI
cp System.map /pkg/gnu/linux-kernel/var/System.map
cp .config /pkg/gnu/linux-kernel/var/config
cp {certs/signing_key.pem,certs/signing_key.x509} /pkg/gnu/linux-kernel/var/certs || true
make -j$(nproc) bzImage
mkdir -p /pkg/gnu/linux/kernel/var/certs
objcopy arch/x86/boot/bzImage /pkg/gnu/linux/kernel/var/BOOTX64.EFI
cp System.map /pkg/gnu/linux/kernel/var/System.map
cp .config /pkg/gnu/linux/kernel/var/config
cp {certs/signing_key.pem,certs/signing_key.x509} /pkg/gnu/linux/kernel/var/certs || true
```
``` sh *** config ***
cp -rPl /pkg/gnu/linux-kernel/lib /
pkg run set linux-kernel
pkg run set linux/kernel
```
``` sh *** set ***
cp -r /pkg/gnu/linux-kernel/var/BOOTX64.EFI /boot/efi/EFI/BOOT/BOOTX64.EFI
cp -r /pkg/gnu/linux/kernel/var/BOOTX64.EFI /boot/efi/EFI/aerolinux/LinuxStub.efi
```

View File

@ -0,0 +1,16 @@
linux/kernel/firmware
=
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
``` env *** env ***
disable=true
```
``` sh *** build ***
make DESTDIR=/pkg/gnu/linux/kernel/firmware install
```
``` sh *** config ***
mv lib/firmware/* lib
rm -r lib/firmware
```

View File

@ -0,0 +1,93 @@
linux/kernel/modules 7.1.4
=
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.4.tar.xz
``` env *** env ***
disable=true
```
``` sh *** patch ***
mkdir -p certs
cp /pkg/gnu/linux/kernel/var/certs/* certs || true
sed -i '/^static const char \* const fw_path\[\] = {$/,/^};$/ s|"/lib/firmware|"/pkg/gnu/linux/kernel/firmware/lib|g' drivers/base/firmware_loader/main.c
```
``` sh *** build ***
#
# Configuration
#
cat > .config.base <<ENDCONFIG
# Kernel settings
CONFIG_KERNEL_LZ4=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_PREEMPT=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# Video
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_DRM_FBDEV_EMULATION=y
# Security
CONFIG_INTEGRITY=n
CONFIG_SECURITY_SELINUX=n
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_TCG_TPM=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_SECURITYFS=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY_LANDLOCK=y
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_LOADPIN=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_LSM="landlock,yama,loadpin,safesetid"
# Block devices
CONFIG_BLK_DEV_NVME=y
CONFIG_BLK_WBT=y
CONFIG_NVME_CORE=y
CONFIG_NVME_HWMON=y
CONFIG_F2FS_FS=y
# AeroLinux conf
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="root=PARTLABEL=aerolinux init=/pkg/gnu/s6/bin/s6-init rootwait rw console=tty0 earlycon=efifb loglevel=8 debug"
CONFIG_MODPROBE_PATH="/pkg/gnu/bin/modprobe"
ENDCONFIG
make defconfig
./scripts/kconfig/merge_config.sh -m .config .config.base
find . -name Kconfig -exec awk '
/^(config|menuconfig) [A-Za-z0-9_]+$/ {
config_name = $2
getline next_line
if (next_line ~ /^[[:space:]]*tristate([[:space:]]|$)/) {
print "CONFIG_" config_name "=m"
}
}
' {} + > .config.modules
./scripts/kconfig/merge_config.sh .config .config.modules
sed -E '/.*DEBUG.*/ s/=(y|m)/=n/' -i .config
make olddefconfig
./scripts/kconfig/merge_config.sh -m .config .config.base
make olddefconfig
make -j$(nproc) vmlinux modules
make INSTALL_MOD_PATH=/pkg/gnu/linux/kernel/modules modules_install
mkdir -p /pkg/gnu/linux/kernel/var/certs
cp System.map /pkg/gnu/linux/kernel/var/System.map
cp .config /pkg/gnu/linux/kernel/var/config
cp {certs/signing_key.pem,certs/signing_key.x509} /pkg/gnu/linux/kernel/var/certs || true
```
``` sh *** config ***
mv lib/modules/* lib
rm -r lib/modules
```

20
assets/var/gnu/llvm.md Normal file
View File

@ -0,0 +1,20 @@
llvm 22.1.8
=
https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-22.1.8.tar.gz
``` sh *** build ***
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_LIBDIR=lib \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RUNTIMES="libclc" \
-DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_ENABLE_RTTI=ON \
-DCLANG_DEFAULT_LINKER=lld \
llvm
cmake --build build -j$(nproc)
cmake --install build
```

View File

@ -0,0 +1,19 @@
llvm/libclc 22.1.8
=
https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-22.1.8.tar.gz
``` sh *** build ***
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_LIBDIR=lib \
-DLLVM_DIR=/pkg/gnu/llvm/lib/cmake/llvm \
-DLIBCLC_TARGETS_TO_BUILD="amdgcn--;clspv64--" \
libclc
cmake --build build -j$(nproc)
cmake --install build
```
``` cfg *** build deps ***
llvm
```

14
assets/var/gnu/lvm2.md Normal file
View File

@ -0,0 +1,14 @@
lvm2
=
https://gitlab.com/lvmteam/lvm2.git
https://sourceware.org/git/lvm2.git
``` sh *** build ***
./configure --prefix=/pkg/gnu/lvm2
make -j$(nproc)
make install
```
``` cfg *** build deps ***
libaio
```

10
assets/var/gnu/mandoc.md Normal file
View File

@ -0,0 +1,10 @@
mandoc
=
https://mandoc.bsd.lv/snapshots/mandoc.tar.gz
``` sh *** build ***
echo 'PREFIX=/pkg/gnu/mandoc' > configure.local
./configure
make -j$(nproc)
make install
```

28
assets/var/gnu/mesa.md Normal file
View File

@ -0,0 +1,28 @@
mesa 26.1.4
=
https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-26.1.4/mesa-mesa-26.1.4.tar.gz
``` sh *** build ***
pip3 install mako pyyaml
command -v bindgen >/dev/null 2>&1 || cargo install bindgen-cli
pkg link rustup
mkdir -p build; cd build
meson setup --prefix=$pkgpath --buildtype=release \
-Dgallium-drivers=radeonsi,zink \
-Dvulkan-drivers=amd \
-Dglx=dri \
-Degl=enabled \
-Dgbm=enabled \
-Dplatforms=x11,wayland \
..
ninja
ninja install
```
``` cfg *** build deps ***
glslang
llvm/libclc
libxshmfence
libxxf86vm
```

View File

@ -12,7 +12,7 @@ make install
```
``` cfg *** build deps ***
linux-headers
linux/headers
glibc
gmp
mpfr

View File

@ -11,7 +11,7 @@ make install
```
``` cfg *** build deps ***
linux-headers
linux/headers
glibc
gmp
```

View File

@ -0,0 +1,9 @@
msgpack-cxx 8.0.0
=
https://github.com/msgpack/msgpack-c/releases/download/cpp-8.0.0/msgpack-cxx-8.0.0.tar.gz
``` sh *** build ***
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/pkg/gnu/msgpack-cxx -DMSGPACK_USE_BOOST=OFF
cmake --build . --target install
```

View File

@ -1,11 +1,10 @@
ncurses 6.5
ncurses 6.6
=
https://ftp.gnu.org/gnu/ncurses/ncurses-6.5.tar.gz
https://ftp.gnu.org/gnu/ncurses/ncurses-6.6.tar.gz
``` sh *** build ***
./configure \
--prefix=/pkg/gnu/ncurses \
--without-cxx-binding \
--without-debug \
--with-termlib \
--with-shared \
@ -17,7 +16,6 @@ make clean
./configure \
--prefix=/pkg/gnu/ncurses \
--without-cxx-binding \
--without-debug \
--without-normal \
--with-termlib \
@ -27,10 +25,14 @@ make clean
--disable-widec
make -j$(nproc)
make install
make clean
```
--without-cxx-binding \
``` cfg *** build deps ***
pkg-config
```
--enable-getcap \
pkg disable ncurses; LD_LIBRARY_PATH=/pkg/gnu/ncurses/lib pkg enable ncurses

13
assets/var/gnu/ng-log.md Normal file
View File

@ -0,0 +1,13 @@
ng-log 0.8.3.
=
https://github.com/ng-log/ng-log/archive/refs/tags/v0.8.3.tar.gz
``` sh *** build ***
mkdir -p build; cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build . -j$(nproc)
cmake --install .
```

10
assets/var/gnu/numactl.md Normal file
View File

@ -0,0 +1,10 @@
numactl 2.0.19
=
https://github.com/numactl/numactl/archive/refs/tags/v2.0.19.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```

View File

@ -0,0 +1,8 @@
openblas 0.3.34
=
https://github.com/OpenMathLib/OpenBLAS/archive/refs/tags/v0.3.34.tar.gz
``` sh *** build ***
make -j$(nproc) TARGET=COOPERLAKE DYNAMIC_ARCH=1 PREFIX=/pkg/gnu/openblas
make PREFIX=/pkg/gnu/openblas install
```

View File

@ -4,7 +4,18 @@ https://github.com/openssh/openssh-portable.git
``` sh *** build ***
autoreconf -fi
./configure --prefix=/pkg/gnu/openssh --sysconfdir=/pkg/gnu/openssh/etc --with-ssl-dir=/pkg/gnu --with-zlib
./configure \
--prefix=/pkg/gnu/openssh \
--sysconfdir=/pkg/gnu/openssh/etc \
--with-zlib \
--with-privsep-path=/pkg/gnu/openssh/var/empty \
--with-xauth=/usr/bin/xauth
make -j$(nproc)
make install
```
``` sh *** config ***
mkdir -p /pkg/gnu/openssh/var/empty
userdel sshd
useradd -r -s /usr/sbin/nologin -d /pkg/gnu/openssh/var/empty -c "sshd privilege separation user" sshd
```

13
assets/var/gnu/parted.md Normal file
View File

@ -0,0 +1,13 @@
parted 3.7
=
https://ftp.gnu.org/gnu/parted/parted-3.7.tar.xz
``` sh *** build ***
./configure --prefix=/pkg/gnu/parted
make -j$(nproc)
make install
```
``` cfg *** build deps ***
lvm2
```

View File

@ -0,0 +1,9 @@
patchelf 0.19
=
https://github.com/NixOS/patchelf/archive/refs/tags/0.19.0.tar.gz
``` sh *** build ***
meson setup build --prefix=/pkg/gnu/patchelf
meson compile -C build
meson install -C build
```

10
assets/var/gnu/popt.md Normal file
View File

@ -0,0 +1,10 @@
popt 1.19
=
https://github.com/rpm-software-management/popt/archive/refs/tags/popt-1.19-release.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/popt
make -j$(nproc)
make install
```

View File

@ -0,0 +1,15 @@
procps-ng 4.0.6
=
https://gitlab.com/procps-ng/procps/-/archive/v4.0.6/procps-v4.0.6.tar.gz
``` sh *** patch ***
sed -i '/#include "xalloc.h"/a #include <stdbool.h>' src/watch.c
```
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/procps-ng
sed -i 's/^[[:space:]]*-e[[:space:]]*//' local/capnames.h 2>/dev/null || true
make -j$(nproc)
make install
```

View File

@ -10,6 +10,7 @@ make install
``` sh *** config ***
pip3 install setuptools
ln bin/python3 bin/python
```
``` cfg *** build deps ***

39
assets/var/gnu/rocm.md Normal file
View File

@ -0,0 +1,39 @@
rocm 7.2.4
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
mkdir build; cd build
```
``` cfg *** build deps ***
rocm/cmake
```
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DTHEROCK_AMDGPU_TARGETS=gfx1103 \
-DTHEROCK_DIST_AMDGPU_TARGETS=gfx1103 \
-DCMAKE_BUILD_TYPE=Release \
-DTHEROCK_ENABLE_ALL=ON \
-DTHEROCK_BUNDLE_SYSDEPS=OFF
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DTHEROCK_AMDGPU_TARGETS=gfx1103 \
-DTHEROCK_DIST_AMDGPU_TARGETS=gfx1103 \
-DCMAKE_BUILD_TYPE=Release \
-DTHEROCK_BUNDLE_SYSDEPS=OFF \
-DTHEROCK_ENABLE_WSL_ROCDXG=OFF
Нужны
llvm
libquadmath-devel
elfutils-devel
Исполняемые
xxd (vim ?)
python-lit

View File

@ -0,0 +1,14 @@
rocm/cmake 7.2.4
=
https://github.com/ROCm/rocm-cmake/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
disable=true
```
``` sh *** build ***
mkdir -p build; cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$pkgpath
cmake --build .
cmake --build . --target install
```

View File

@ -0,0 +1,18 @@
rocm/libraries/hipblas-common 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblas-common.tar.gz
``` sh *** build ***
mkdir -p build; cd build
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/hipblas-common \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-DROCmCMakeBuildTools_DIR=/pkg/gnu/rocm/cmake/share/rocmcmakebuildtools/cmake
cmake --build . -j$(nproc)
cmake --install .
```

View File

@ -0,0 +1,48 @@
hipblas 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblas.tar.gz
``` sh *** build ***
mkdir -p build; cd build
LDFLAGS="-L/pkg/gnu/rocm/systems/rocr-runtime/lib \
-L/pkg/gnu/rocm/llvm/amd/comgr/lib \
-L/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-L/pkg/gnu/rocm/systems/clr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocr-runtime/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/llvm/amd/comgr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/clr/lib" \
LIBRARY_PATH="/pkg/gnu/rocm/systems/rocr-runtime/lib:\
/pkg/gnu/rocm/llvm/amd/comgr/lib:\
/pkg/gnu/rocm/systems/rocprofiler-register/lib:\
/pkg/gnu/rocm/systems/clr/lib" \
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
ROCM_PATH=/pkg/gnu/rocm/systems/clr \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin:/pkg/gnu/rocm/systems/clr/bin:$PATH \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/hipblas \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-DAMDDeviceLibs_DIR=/pkg/gnu/rocm/llvm/amd/device-libs/lib/cmake/AMDDeviceLibs \
-Damd_comgr_DIR=/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr \
-Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
-DGPU_TARGETS="gfx1150" \
-DBUILD_CLIENTS=OFF \
-LH
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/llvm/amd/comgr
rocm/llvm/amd/device-libs
rocm/llvm/amd/hipcc
rocm/systems/clr
rocm/systems/rocr-runtime
rocm/libraries/hipblas-common
```
rocblas ?

View File

@ -0,0 +1,47 @@
hipblaslt 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblaslt.tar.gz
``` sh *** build ***
mkdir -p build; cd build
LDFLAGS="-L/pkg/gnu/rocm/systems/rocr-runtime/lib \
-L/pkg/gnu/rocm/llvm/amd/comgr/lib \
-L/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-L/pkg/gnu/rocm/systems/clr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocr-runtime/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/llvm/amd/comgr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/clr/lib" \
LIBRARY_PATH="/pkg/gnu/rocm/systems/rocr-runtime/lib:\
/pkg/gnu/rocm/llvm/amd/comgr/lib:\
/pkg/gnu/rocm/systems/rocprofiler-register/lib:\
/pkg/gnu/rocm/systems/clr/lib" \
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
ROCM_PATH=/pkg/gnu/rocm/systems/clr \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin:/pkg/gnu/rocm/systems/clr/bin:$PATH \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/hipblaslt \
-DCMAKE_PREFIX_PATH="/pkg/gnu/rocm/llvm/amd/device-libs;/pkg/gnu/rocm/systems/clr;/pkg/gnu/rocm/systems/rocr-runtime;/pkg/gnu/rocm/llvm/amd/comgr;/pkg/gnu/rocm/systems/rocprofiler-register" \
-Dhipblas-common_DIR=/pkg/gnu/rocm/libraries/hipblas-common/lib/cmake/hipblas-common \
-DGPU_TARGETS=gfx1150 \
-DBUILD_CLIENTS=OFF \
-DHIPBLASLT_ENABLE_BLIS=OFF \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-LH
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/libraries/hipblas-common
rocm/systems/roctracer
rocm/systems/rocm-smi
openblas
rocm/llvm/openmp
rocm/libraries/rocroller
msgpack-cxx
```

View File

@ -0,0 +1,38 @@
rocm/libraries/rocblas 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocblas.tar.gz
``` sh *** build ***
mkdir -p build; cd build
LDFLAGS="-L/pkg/gnu/rocm/systems/rocr-runtime/lib \
-L/pkg/gnu/rocm/llvm/amd/comgr/lib \
-L/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-L/pkg/gnu/rocm/systems/clr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocr-runtime/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/llvm/amd/comgr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/clr/lib" \
LIBRARY_PATH="/pkg/gnu/rocm/systems/rocr-runtime/lib:\
/pkg/gnu/rocm/llvm/amd/comgr/lib:\
/pkg/gnu/rocm/systems/rocprofiler-register/lib:\
/pkg/gnu/rocm/systems/clr/lib" \
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
ROCM_PATH=/pkg/gnu/rocm/systems/clr \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin:/pkg/gnu/rocm/systems/clr/bin:$PATH \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/rocblas \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-DGPU_TARGETS="gfx1150" \
-DBUILD_CLIENTS=OFF \
-LH
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/libraries/hipblaslt
```

View File

@ -0,0 +1,168 @@
rocm/libraries/rocroller 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocroller.tar.gz
```
cp /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp.bkp
cp -f /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp.bkp /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
sed -i 's/return val == 0;/return val == static_cast<T>(0);/g' \
/pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
# 1. Восстанавливаем оригинал
cp -f /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp.bkp \
/pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
# 2. Применяем исправленный патч
# Заменяем "return val == 0;" на "return val == T{};"
# T{} для арифметических типов = 0, для __half = __half(), для E8M0 = E8M0() (default ctor)
sed -i 's/return val == 0;/return val == T{};/g' \
/pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
```
``` sh *** build ***
mkdir -p build; cd build
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
CC=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
CXX=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/rocroller \
-DCMAKE_BUILD_TYPE=Release \
-DROCROLLER_BUILD_TESTING=OFF \
-DROCROLLER_ENABLE_CLIENT=OFF \
-DGPU_BUILD_TARGETS=gfx1150 \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld -Wno-deprecated-declarations"
CC=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
CXX=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/llvm/libcxx
fmt
spdlog
libdivide
yaml-cpp
msgpack-cxx
```
sed -i '/inline bool Value::isZeroLiteral() const/,/^ }$/{
/inline bool Value::isZeroLiteral() const/,/^ }$/c\
inline bool Value::isZeroLiteral() const\
{\
if(m_regType != Type::Literal)\
return false;\
\
return std::visit(\
[](auto const& val) -> bool {\
using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\
else if constexpr(std::is_integral_v<T>)\
return val == 0;\
else if constexpr(std::is_floating_point_v<T> || std::is_same_v<T, __half>)\
return val == static_cast<T>(0);\
else\
return false;\
},\
m_literalValue);\
}
}' Register_impl.hpp
sed -i '/inline bool Value::isZeroLiteral() const/,/^ }$/{
/inline bool Value::isZeroLiteral() const/,/^ }$/c\
inline bool Value::isZeroLiteral() const\
{\
if(m_regType != Type::Literal)\
return false;\
\
return std::visit(\
[](auto const& val) -> bool {\
using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\
else if constexpr(std::is_arithmetic_v<T> || std::is_same_v<T, __half>)\
return val == T{0};\
else\
return false;\
},\
m_literalValue);\
}
}' Register_impl.hpp
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld -stdlib=libc++"
sed -i 's/return val == static_cast<T>(0);/if constexpr(std::is_same_v<T, rocRoller::E8M0>) return false; else return val == static_cast<T>(0);/g' Register_impl.hpp
sed -i '/return val == static_cast<T>(0);/c\
else if constexpr(std::is_arithmetic_v<T> || std::is_same_v<T, __half>)\
return val == static_cast<T>(0);\
else\
return false;' Register_impl.hpp
sed -i '/inline bool Value::isZeroLiteral/,/^ }$/c\
inline bool Value::isZeroLiteral() const\
{\
if(m_regType != Type::Literal)\
return false;\
\
return std::visit(\
[](auto const& val) -> bool {\
using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\
else if constexpr(std::is_arithmetic_v<T> || std::is_same_v<T, __half>\
|| std::is_same_v<T, rocRoller::BFloat16>\
|| std::is_same_v<T, rocRoller::FP8>\
|| std::is_same_v<T, rocRoller::BF8>\
|| std::is_same_v<T, rocRoller::FP6>\
|| std::is_same_v<T, rocRoller::BF6>\
|| std::is_same_v<T, rocRoller::FP4>\
|| std::is_same_v<T, rocRoller::E8M0>)\
return val == static_cast<T>(0);\
else\
return false;\
},\
m_literalValue);\
}' Register_impl.hpp
sed -i '/return std::visit(/,/m_literalValue);/{
s/return static_cast<float>(val) == 0.0f;/using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 \&\& val.desc1 == 0 \&\& val.desc2 == 0 \&\& val.desc3 == 0;\
else if constexpr(std::is_arithmetic_v<T>)\
return val == decltype(val)(0);\
else\
return false;/
}' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
sed -i '/return std::visit(/,/m_literalValue);/{
s/return val == 0;/using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 \&\& val.desc1 == 0 \&\& val.desc2 == 0 \&\& val.desc3 == 0;\
else if constexpr(std::is_same_v<T, __half>)\
return static_cast<float>(val) == 0.0f;\
else if constexpr(std::is_arithmetic_v<T>)\
return val == 0;\
else\
return false;/
}' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp

View File

@ -0,0 +1,47 @@
rocm/llvm 7.2.4
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
disable=true
```
``` sh *** patch ***
FILE=compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
sed -i 's|^#include <linux/scc.h>|#if __has_include(<linux/scc.h>)\n#include <linux/scc.h>\n#define SANITIZER_HAS_SCC_H 1\n#else\n#define SANITIZER_HAS_SCC_H 0\n#endif|' "$FILE"
sed -i '/unsigned struct_scc_modem_sz = sizeof(struct scc_modem);/c\
#if SANITIZER_HAS_SCC_H\
unsigned struct_scc_modem_sz = sizeof(struct scc_modem);\
#else\
unsigned struct_scc_modem_sz = 0;\
#endif' "$FILE"
sed -i '/unsigned struct_scc_stat_sz = sizeof(struct scc_stat);/c\
#if SANITIZER_HAS_SCC_H\
unsigned struct_scc_stat_sz = sizeof(struct scc_stat);\
#else\
unsigned struct_scc_stat_sz = 0;\
#endif' "$FILE"
```
``` sh *** build ***
mkdir -p build; cd build
cmake ../llvm \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt" \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DCLANG_INCLUDE_TESTS=OFF
cmake --build . -j$(nproc)
cmake --install .
```
``` sh *** config ***
sed -i 's/^#define _fmaxd max$/#define _fmaxd fmax/; s/^#define _fmaxf max$/#define _fmaxf fmaxf/' lib/clang/22/include/__clang_cuda_complex_builtins.h
sed -i 's/^#define _fmaxd fmax$/#define _fmaxd __builtin_fmax/; s/^#define _fmaxf fmaxf$/#define _fmaxf __builtin_fmaxf/' \
/pkg/gnu/rocm/llvm/lib/clang/22/include/__clang_cuda_complex_builtins.h
```

View File

@ -0,0 +1,30 @@
rocm/llvm/amd/comgr 7.24
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
mkdir -p build; cd build
cmake ../amd/comgr \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE=Release \
-DClang_DIR=/pkg/gnu/rocm/llvm/lib/cmake/clang \
-DLLD_DIR=/pkg/gnu/rocm/llvm/lib/cmake/lld \
-DAMDDeviceLibs_DIR=/pkg/gnu/rocm/llvm/amd/device-libs/lib/cmake/AMDDeviceLibs
cmake --build . -j$(nproc)
cmake --install .
```
``` sh *** config ***
sed -i 's/set(PACKAGE_VERSION_COMPATIBLE FALSE)/set(PACKAGE_VERSION_COMPATIBLE TRUE)/' \
/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr/amd_comgr-config-version.cmake
sed -i 's|lib64/cmake/amd_comgr|lib/cmake/amd_comgr|g' \
/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr/amd_comgr-config.cmake
sed -i 's|lib64/cmake/amd_comgr|lib/cmake/amd_comgr|g' \
/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr/amd_comgr-targets*.cmake
sed -i 's|/lib64/|/lib/|g' /pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr/*.cmake
```
``` cfg *** build deps ***
rocm/llvm/amd/device-libs
```

View File

@ -0,0 +1,19 @@
rocm/llvm/amd/device-libs 7.24
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
mkdir -p build
cd build
cmake ../amd/device-libs \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DROCmCMakeBuildTools_DIR=/pkg/gnu/rocm/cmake/share/rocmcmakebuildtools/cmake \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/cmake
```

View File

@ -0,0 +1,19 @@
rocm/llvm/amd/hipcc 7.24
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
mkdir -p build; cd build
cmake ../amd/hipcc \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)
cmake --install .
```
``` sh *** config ***
mkdir -p share/hip; echo "HIP_VERSION=7.2.4" > share/hip/version
mkdir -p lib/llvm/bin
ln -sf /pkg/gnu/rocm/llvm/bin/clang++ lib/llvm/bin/clang++
ln -sf /pkg/gnu/rocm/llvm/bin/clang lib/llvm/bin/clang
```

View File

@ -0,0 +1,22 @@
rocm/llvm/libcxx 22.1.8
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_LIBDIR=lib \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
-DLIBCXX_CXX_ABI=libcxxabi \
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
runtimes
cmake --build build -j$(nproc)
cmake --install build
```
``` cfg *** build deps ***
rocm/llvm
```

View File

@ -0,0 +1,18 @@
rocm/llvm/openmp 22.1.8
=
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_LIBDIR=lib \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm \
openmp
cmake --build build -j$(nproc)
cmake --install build
```
``` cfg *** build deps ***
rocm/llvm
```

View File

@ -0,0 +1,37 @@
rocm/systems/clr 7.2.4
=
https://github.com/ROCm/rocm-systems/archive/refs/tags/rocm-7.2.4.tar.gz
``` sh *** build ***
pip3 install CppHeaderParser
mkdir -p build; cd build
cmake ../projects/clr \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/systems/clr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE=Release \
-DCLR_BUILD_HIP=ON \
-DCLR_BUILD_OCL=OFF \
-DHIP_COMMON_DIR=/pkg/gnu/rocm/systems/clr/src/projects/hip \
-DHIPCC_BIN_DIR=/pkg/gnu/rocm/llvm/amd/hipcc/bin \
-Damd_comgr_DIR=/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr \
-Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
-Drocprofiler-register_DIR=/pkg/gnu/rocm/systems/rocprofiler-register/lib/cmake/rocprofiler-register
cmake --build . -j$(nproc)
cmake --install .
```
``` sh *** config ***
mkdir -p /pkg/gnu/rocm/systems/clr/lib/llvm/bin
ln -sf /pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang++ lib/llvm/bin/clang++
ln -sf /pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang lib/llvm/bin/clang
ln -sf /pkg/gnu/rocm/systems/rocminfo/bin/rocm_agent_enumerator bin/rocm_agent_enumerator
```
``` cfg *** build deps ***
rocm/llvm/amd/comgr
rocm/llvm/amd/hipcc
rocm/llvm/amd/device-libs
rocm/systems/rocr-runtime
rocm/systems/rocprofiler-register
mesa
```

View File

@ -0,0 +1,13 @@
rocm/systems/rocm-smi 7.2.4
=
https://github.com/ROCm/rocm-systems/releases/download/rocm-7.2.4/rocm-smi-lib.tar.gz
``` sh *** build ***
mkdir -p build; cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/systems/rocm-smi \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build . -j$(nproc)
cmake --install .
```

View File

@ -0,0 +1,21 @@
rocm/systems/rocminfo 7.2.4
=
https://github.com/ROCm/rocm-systems/releases/download/rocm-7.2.4/rocminfo.tar.gz
``` sh *** build ***
mkdir -p build; cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/systems/rocminfo \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib \
-Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld --rocm-path=/pkg/gnu"
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/systems/rocr-runtime
```

View File

@ -0,0 +1,12 @@
rocm/systems/rocprofiler-register 7.2.4
=
https://github.com/ROCm/rocm-systems.git
``` sh *** build ***
mkdir -p build; cd build
cmake ../projects/rocprofiler-register \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)
cmake --install .
```

View File

@ -0,0 +1,28 @@
rocm/systems/rocr-runtime 7.2.4
=
https://github.com/ROCm/rocm-systems/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu/rocm/systems/clr
```
``` sh *** build ***
mkdir -p build; cd build
cmake ../projects/rocr-runtime \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib \
-DTARGET_DEVICES=gfx1150 \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/bin/clang++ \
-DLLVM_TOOLS_BINARY_DIR=/pkg/gnu/rocm/llvm/bin \
-DClang_DIR=/pkg/gnu/rocm/llvm/lib/cmake/clang \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm
cmake --build . -j$(nproc)
cmake --install .
```
-DTARGET_DEVICES=gfx1150 \
-DTARGET_DEVICES="gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx942;gfx950;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201" \

View File

@ -0,0 +1,35 @@
rocm/systems/roctracer 7.2.4
=
https://github.com/ROCm/rocm-systems/releases/download/rocm-7.2.4/roctracer.tar.gz
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
ROCM_PATH=/pkg/gnu
```
``` sh *** build ***
mkdir -p build; cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/systems/roctracer \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib \
-DGPU_BUILD_TARGETS=gfx1150 \
-DHIP_DIR=/pkg/gnu/lib/cmake/hip \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--allow-shlib-undefined" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--allow-shlib-undefined" \
-Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
-DAMDDeviceLibs_DIR=/pkg/gnu/rocm/llvm/amd/device-libs/lib/cmake/AMDDeviceLibs \
-Damd_comgr_DIR=/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/systems/rocr-runtime
rocm/systems/rocminfo
rocm/llvm/amd/device-libs
rocm/llvm/amd/comgr
```

15
assets/var/gnu/spdlog.md Normal file
View File

@ -0,0 +1,15 @@
spdlog 1.17.0
=
https://github.com/gabime/spdlog/archive/refs/tags/v1.17.0.tar.gz
``` sh *** build ***
mkdir -p build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/spdlog \
-DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)
cmake --install .
```
-DSPDLOG_BUILD_SHARED=ON

116
assets/var/gnu/therock.md Normal file
View File

@ -0,0 +1,116 @@
therock 7.13
=
https://github.com/ROCm/TheRock.git
``` sh *** patch ***
git checkout 6d2136cd12be28c6251eb38c700e980c8c2f8cf6
python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install "dvc[s3]"
python3 ./build_tools/fetch_sources.py
```
pip install "cmake==3.31.10"
``` sh *** build ***
rm -f config_full.txt build_full.txt install_full.txt
source .venv/bin/activate
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/therock \
-DTHEROCK_AMDGPU_TARGETS=gfx1150 \
-DTHEROCK_DIST_AMDGPU_FAMILIES=gfx1150 \
-DTHEROCK_ENABLE_ALL=OFF \
-DTHEROCK_ENABLE_COMPILER=ON \
-DTHEROCK_ENABLE_CORE_RUNTIME=ON \
-DTHEROCK_ENABLE_HIP_RUNTIME=ON \
-DTHEROCK_ENABLE_BLAS=ON \
-DTHEROCK_ENABLE_RAND=ON \
-DTHEROCK_ENABLE_PRIM=ON \
-DBUILD_TESTING=OFF \
. 2>&1 | tee config_full.txt
cmake --build build -j$(nproc) 2>&1 | tee build_full.txt
cmake --install build 2>&1 | tee install_full.txt
```
``` cfg *** build deps ***
vim
```
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/therock \
-DTHEROCK_AMDGPU_TARGETS=gfx1150 \
-DTHEROCK_DIST_AMDGPU_FAMILIES=gfx1150 \
. 2>&1 | tee config_full.txt
-DTHEROCK_BUNDLE_SYSDEPS=OFF \
cmake --build build -j$(nproc) 2>&1 | tee build_full.log
rsync root@aura:/pkg/src/therock/{config_full.txt,install_full.txt,build_full.txt} ~/Documents/
rsync root@aura:/pkg/src/therock/{config_full.txt,build_full.txt} ~/Documents/
``` cfg *** build deps ***
numactl
clang
```
``` cfg *** run deps ***
patchelf
elfutils
```
lsb-release
[amd-llvm configure] CMake Error at /pkg/src/therock/compiler/amd-llvm/mlir/cmake/modules/CMakeLists.txt:63 (configure_file):
[amd-llvm configure] No such file or directory
[amd-llvm configure]
[amd-llvm configure]
[amd-llvm] CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
[amd-llvm] CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
[amd-llvm] CMake Error at /usr/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile):
[amd-llvm] Failed to configure test project build system.
[amd-llvm] Call Stack (most recent call first):
[amd-llvm] /usr/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)
[amd-llvm] CMakeLists.txt:9 (project)
[amd-llvm]
[amd-llvm]
[amd-llvm] CMake Error at /usr/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile):
[amd-llvm] Failed to configure test project build system.
[amd-llvm] Call Stack (most recent call first):
[amd-llvm] /usr/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)
[amd-llvm] CMakeLists.txt:9 (project)
[amd-llvm]
[amd-llvm]
[amd-llvm] -- Configuring incomplete, errors occurred!
[amd-llvm] -- Configuring incomplete, errors occurred!
[amd-llvm] make[5]: *** [runtimes/CMakeFiles/builtins-amdgcn-amd-amdhsa-configure.dir/build.make:75: runtimes/builtins-amdgcn-amd-amdhsa-stamps/bui
ltins-amdgcn-amd-amdhsa-configure] Error 1
[amd-llvm] make[4]: *** [CMakeFiles/Makefile2:179256: runtimes/CMakeFiles/builtins-amdgcn-amd-amdhsa-configure.dir/all] Error 2
[amd-llvm] [ 74%] Building CXX object tools/clang/tools/extra/include-cleaner/tool/CMakeFiles/clang-include-cleaner.dir/IncludeCleaner.cpp.o
[amd-llvm] [ 74%] Built target MLIRLoopLikeInterface
[amd-llvm] make[5]: *** [runtimes/CMakeFiles/builtins-configure.dir/build.make:75: runtimes/builtins-stamps/builtins-configure] Error 1
[amd-llvm] make[4]: *** [CMakeFiles/Makefile2:178882: runtimes/CMakeFiles/builtins-configure.dir/all] Error 2
[amd-llvm] -- The C compiler identification is Clang 23.0.0
[amd-llvm] [ 74%] Built target clangParse
[amd-llvm] VERSION BUILD DEFINED version_7.15.61800-0-g72822631d4
[amd-llvm] [ 74%] Built target clangSerialization
[amd-llvm] -- Not able to detect OS
[amd-llvm] CMake Error at /pkg/src/therock/build/compiler/amd-llvm/prefix/NUMAConfig.cmake:22 (message):
[amd-llvm] Super-project based find_package(NUMA) config file not found under
[amd-llvm] /pkg/src/therock/build/third-party/sysdeps/linux/numactl/build/dist/lib/rocm_sysdeps/lib/cmake/NUMA
[amd-llvm] Call Stack (most recent call first):
[amd-llvm] libhsakmt/CMakeLists.txt:241 (find_package)
[amd-llvm]
[amd-llvm]
[amd-llvm] -- Configuring incomplete, errors occurred!
[amd-llvm] [ 74%] Building CXX object tools/clang/tools/extra/clang-tidy/hicpp/CMakeFiles/obj.clangTidyHICPPModule.dir/HICPPTidyModule.cpp.o
[amd-llvm] [ 74%] Linking CXX static library ../../../../lib/libclangFrontend.a
[amd-llvm] [ 74%] Building CXX object tools/clang/tools/extra/clang-tidy/hicpp/CMakeFiles/obj.clangTidyHICPPModule.dir/MultiwayPathsCoveredCheck.cp
p.o
[amd-llvm] make[5]: *** [runtimes/CMakeFiles/rocr-runtime.dir/build.make:92: runtimes/rocr-runtime-prefix/src/rocr-runtime-stamp/rocr-runtime-confi
gure] Error 1

13
assets/var/gnu/tmux.md Normal file
View File

@ -0,0 +1,13 @@
tmux 3.7
=
https://github.com/tmux/tmux/releases/download/3.7/tmux-3.7.tar.gz
``` sh *** build ***
./configure --prefix=$pkgpath
make -j$(nproc)
make install
```
``` cfg *** build deps ***
libevent
```

9
assets/var/gnu/vim.md Normal file
View File

@ -0,0 +1,9 @@
vim
=
https://github.com/vim/vim/archive/refs/tags/v9.2.0780.tar.gz
``` sh *** build ***
./configure --prefix=$pkgpath --with-tlib=tinfo
make -j$(nproc)
make install
```

View File

@ -1,3 +1,27 @@
wpa_supplicant 2.12
=
https://git.w1.fi/hostap.git
``` sh *** build ***
cd wpa_supplicant
cp defconfig .config
make
make install \
SBINDIR=/pkg/gnu/wpa_supplicant/sbin \
BINDIR=/pkg/gnu/wpa_supplicant/bin \
CONFDIR=/pkg/gnu/wpa_supplicant/etc \
DBUSDIR=/pkg/gnu/wpa_supplicant/share/dbus-1/system.d \
LIBDIR=/pkg/gnu/wpa_supplicant/lib \
MANDIR=/pkg/gnu/wpa_supplicant/share/man
```
``` sh *** config ***
mkdir -p /pkg/gnu/wpa_supplicant/run
sed -i 's|^ctrl_interface=.*|ctrl_interface=/pkg/gnu/wpa_supplicant/run|' /pkg/gnu/wpa_supplicant/etc/wpa_supplicant.conf
```
``` cfg *** build deps ***
libnl
dbus
openssl
```

18
assets/var/gnu/xauth.md Normal file
View File

@ -0,0 +1,18 @@
xauth 1.1.5
=
https://gitlab.freedesktop.org/xorg/app/xauth/-/archive/xauth-1.1.5/xauth-xauth-1.1.5.tar.gz
``` sh *** build ***
./autogen.sh
./configure --prefix=/pkg/gnu/xauth
make -j$(nproc)
make install
```
``` cfg *** build deps ***
libx11
libxau
libxext
libxmu
xproto
```

14
assets/var/gnu/xterm.md Normal file
View File

@ -0,0 +1,14 @@
xterm
=
https://invisible-island.net/archives/xterm/xterm.tar.gz
``` sh *** build ***
./configure --prefix=$pkgpath LIBS="-ltinfo"
make -j$(nproc)
make install
```
``` cfg *** build deps ***
libxaw
libxft
```

View File

@ -0,0 +1,13 @@
yaml-cpp 0.9.0
=
https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.9.0.tar.gz
``` sh *** build ***
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/yaml-cpp \
-DCMAKE_BUILD_TYPE=Release \
-DYAML_BUILD_SHARED_LIBS=OFF
cmake --build build -j$(nproc)
cmake --install build
```

View File

@ -17,5 +17,12 @@ make install.bin install.modules install.fns
``` sh *** config ***
mkdir -p /pkg/gnu/zsh/etc
cat > /pkg/gnu/zsh/etc/zprofile << 'EOF'
if [ -d /pkg/gnu/s6/etc/envdir ]; then
for f in /pkg/gnu/s6/etc/envdir/*; do
[ -r "$f" ] && export "$(basename "$f")=$(cat "$f")"
done
fi
EOF
echo "PROMPT='[%n@%m %~]$ '\nalias ls='ls --color=auto'\nsetopt no_hup\nsetopt no_checkjobs\nsetopt RM_STAR_SILENT" > /pkg/gnu/zsh/etc/zshrc
```

View File

@ -21,6 +21,8 @@ cp -f "$SCRIPT_DIR/target/release/pkg" "$SCRIPT_DIR/target/release/bin"
echo "Installing to '$INSTALL_PATH'..."
rsync -a --delete "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" "$INSTALL_PATH/"
#rsync -a --delete "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" air:"$INSTALL_PATH/"
rsync -a --delete "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" root@aura:"$INSTALL_PATH/"
BIN_PATH="$INSTALL_PATH/bin/pkg"
if [ -f "$BIN_PATH" ]; then

View File

@ -6,9 +6,7 @@ pub fn disable(repo: &String, pkgname: &String) {
let source = &crate::commands::get_aeropkg_base().join(repo).join(pkgname);
if source.join("disabled").exists() { return };
let destination = &source.parent()
.ok_or("Failed to get parent directory for path").unwrap()
.to_path_buf();
let destination = &crate::commands::get_aeropkg_base().join(repo);
let dirs_to_copy = vec![
("bin"),

View File

@ -5,9 +5,7 @@ pub fn link(repo: &String, pkgname: &String) {
let source = crate::commands::get_aeropkg_base().join(repo).join(pkgname);
if source.join("disabled").exists() { println!("Disabled package, no linking: {}\nUse `pkg enable {}` to link", pkgname, pkgname); return }
let destination = source.parent()
.ok_or("Failed to get parent directory for path").unwrap()
.to_path_buf();
let destination = &crate::commands::get_aeropkg_base().join(repo);
let dirs_to_copy = vec![
("bin"),

View File

@ -8,7 +8,10 @@ use super::patch::patch;
pub fn build(repo: &String, pkgname: &String) {
let src_dir = &crate::commands::get_aeropkg_base().join("src").join(pkgname);
let pkgpath = &crate::commands::get_aeropkg_base().join(repo).join(pkgname);
fs::create_dir_all(&pkgpath).ok();
let src = &pkgpath.join("src");
let pkg_md_path = &crate::commands::get_aeropkg_var().join(format!("{}/{}.md", repo, pkgname));
let builded_pkg_md_path = &crate::commands::get_aeropkg_base().join(repo).join(pkgname).join("build-script.md");
@ -28,19 +31,19 @@ pub fn build(repo: &String, pkgname: &String) {
if build_script == builded_script { return }
}
if src_dir.join("aeropkg.applied-build").exists() {
let src_build = fs::read_to_string(src_dir.join("aeropkg.applied-build")).unwrap_or("".to_string());
if src.join("aeropkg.applied-build").exists() {
let src_build = fs::read_to_string(src.join("aeropkg.applied-build")).unwrap_or("".to_string());
if build_script == src_build {
return
} else {
fs::remove_dir_all(src_dir).unwrap();
fs::remove_dir_all(src).unwrap();
download(repo, pkgname);
patch(repo, pkgname)
}
}
let full_env = get_install_env(repo, pkgname, pkg_md_path, "build");
run_install_script(&build_script, src_dir, &full_env);
run_install_script(&build_script, src, &full_env);
run_install_script_hook(repo, "build", &full_env);
let dest_dir = crate::commands::get_aeropkg_base().join(repo).join(pkgname);
@ -48,12 +51,12 @@ pub fn build(repo: &String, pkgname: &String) {
let dest_path = &dest_dir.join("build-script.md");
fs::remove_file(dest_path).ok();
if let Err(e) = fs::hard_link(pkg_md_path, dest_path) { panic!("Failed to copy build script to destination: {}", e) }
fs::write(src_dir.join("aeropkg.build-script"), &build_script).unwrap();
fs::write(src.join("aeropkg.build-script"), &build_script).unwrap();
let save_source_flag = full_env.get("save_source").map_or(false, |v| v == "true");
if !save_source_flag {
if let Err(e) = fs::remove_dir_all(&src_dir) { panic!("Failed to remove source directory: {}", e) }
if let Err(e) = fs::remove_dir_all(&src) { panic!("Failed to remove source directory: {}", e) }
}
hook(repo, pkgname);

View File

@ -18,7 +18,10 @@ pub fn download(repo: &String, pkgname: &String) {
}
};
let src = crate::commands::get_aeropkg_base().join("src").join(pkgname);
let pkgpath = &crate::commands::get_aeropkg_base().join(repo).join(pkgname);
fs::create_dir_all(&pkgpath).ok();
let src = pkgpath.join("src");
if src.exists() {
let src_url = fs::read_to_string(src.join("aeropkg.download-url")).unwrap_or("".to_string());
if url == src_url { return }
@ -29,6 +32,7 @@ pub fn download(repo: &String, pkgname: &String) {
if url.ends_with(".git") || url.starts_with("git://") {
let git_status = Command::new("git")
.current_dir(&pkgpath)
.arg("clone")
.arg(&url)
.arg(&src)

View File

@ -5,21 +5,23 @@ use crate::utils::shell::{run_install_script,run_install_script_hook};
use super::download::download;
pub fn patch(repo: &String, pkgname: &String) {
let src_dir = &crate::commands::get_aeropkg_base().join("src").join(pkgname);
let pkgpath = &crate::commands::get_aeropkg_base().join(repo).join(pkgname);
fs::create_dir_all(&pkgpath).ok();
let src = &pkgpath.join("src");
let pkg_md_path = &crate::commands::get_aeropkg_var().join(format!("{}/{}.md", repo, pkgname));
let patch_script = &parser::get_patch_script(pkg_md_path).unwrap_or("".to_string());
if src_dir.join("aeropkg.applied-patch").exists() {
let src_patch = &fs::read_to_string(src_dir.join("aeropkg.applied-patch")).unwrap_or("".to_string());
if src.join("aeropkg.applied-patch").exists() {
let src_patch = &fs::read_to_string(src.join("aeropkg.applied-patch")).unwrap_or("".to_string());
if patch_script == src_patch { return }
else if src_patch != "" {
fs::remove_dir_all(src_dir).unwrap();
fs::remove_dir_all(src).unwrap();
download(repo, pkgname)
}
}
let full_env = get_install_env(repo, pkgname, pkg_md_path, "patch");
run_install_script(patch_script, src_dir, &full_env);
run_install_script(patch_script, src, &full_env);
run_install_script_hook(repo, "patch", &full_env);
fs::write(src_dir.join("aeropkg.applied-patch"), &patch_script).unwrap()
fs::write(src.join("aeropkg.applied-patch"), &patch_script).unwrap()
}

View File

@ -15,7 +15,6 @@ fn hardcopy(
) -> io::Result<()> {
let metadata = fs::symlink_metadata(source)?;
if metadata.file_type().is_file() {
match fs::hard_link(source, destination) {
Ok(_) => {}
@ -39,7 +38,7 @@ fn hardcopy(
let conflict_list = find_files_with_location(&destination);
let count = conflict_list.len();
if count == 1 {
if count <= 1 {
fs::remove_file(destination)?;
fs::hard_link(source, destination)?
} else if count >= 1 {
@ -75,7 +74,17 @@ fn hardcopy(
})?
} else if metadata.file_type().is_symlink() {
let symlink_value = fs::read_link(source)?;
if destination.exists() { fs::remove_file(destination)? }
if let Ok(dest_meta) = fs::symlink_metadata(destination) {
if dest_meta.is_symlink() {
if let Ok(dest_target) = fs::read_link(destination) {
if dest_target == symlink_value {
return Ok(());
}
}
}
fs::remove_file(destination).ok();
}
unix::fs::symlink(symlink_value, destination)?
}

View File

@ -8,8 +8,11 @@ use super::*;
pub fn get_install_env(repo: &String, pkgname: &String, pkg_md_path: &Path, stage: &str) -> HashMap<String, String> {
let mut full_env = HashMap::new();
let pkgpath = crate::commands::get_aeropkg_base().join(repo).join(pkgname);
full_env.insert("repo".to_string(), repo.clone());
full_env.insert("pkgname".to_string(), pkgname.clone());
full_env.insert("pkgpath".to_string(), pkgpath.to_string_lossy().into_owned());
if let Some(global_env) = get_global_env_string().ok() { full_env.extend(global_env) }
if let Some(pkg_env) = get_pkg_env(pkg_md_path).ok() { full_env.extend(pkg_env) }
if let Some(repo_env) = get_repo_env(repo).ok() { full_env.extend(repo_env) }
@ -21,8 +24,11 @@ pub fn get_install_env(repo: &String, pkgname: &String, pkg_md_path: &Path, stag
pub fn get_custom_env(repo: &String, pkgname: &String, pkg_md_path: &Path) -> HashMap<String, String> {
let mut full_env = HashMap::new();
let pkgpath = crate::commands::get_aeropkg_base().join(repo).join(pkgname);
full_env.insert("repo".to_string(), repo.clone());
full_env.insert("pkgname".to_string(), pkgname.clone());
full_env.insert("pkgpath".to_string(), pkgpath.to_string_lossy().into_owned());
if let Some(global_env) = get_global_env_string().ok() { full_env.extend(global_env) }
if let Some(pkg_env) = get_pkg_env(pkg_md_path).ok() { full_env.extend(pkg_env) }
if let Some(repo_env) = get_repo_env(repo).ok() { full_env.extend(repo_env) }
@ -34,6 +40,7 @@ pub fn get_global_env() -> HashMap<String, String> {
let mut full_env = HashMap::new();
full_env.insert("aeropkg_home".to_string(), crate::commands::get_aeropkg_home().to_string_lossy().into_owned().clone());
full_env.insert("aeropkg_base".to_string(), crate::commands::get_aeropkg_base().to_string_lossy().into_owned().clone());
full_env.insert("pkgbase".to_string(), crate::commands::get_aeropkg_base().to_string_lossy().into_owned().clone());
full_env.insert("aeropkg_etc".to_string(), crate::commands::get_aeropkg_etc().to_string_lossy().into_owned().clone());
full_env.insert("aeropkg_var".to_string(), crate::commands::get_aeropkg_var().to_string_lossy().into_owned().clone());
if let Some(global_env) = get_global_env_string().ok() { full_env.extend(global_env) }