From c6dcbc1ca5b42b527ef427171dcd9e37149b0b2d Mon Sep 17 00:00:00 2001 From: TraceLumen Date: Wed, 22 Jul 2026 04:29:56 +0300 Subject: [PATCH] upd and patches --- assets/etc/aeropkg.md | 2 +- assets/var/gnu/binutils.md | 2 +- assets/var/gnu/btop.md | 8 + assets/var/gnu/clang.md | 19 ++ assets/var/gnu/cmake.md | 6 +- assets/var/gnu/dhcpcd.md | 14 ++ assets/var/gnu/dosfstools.md | 13 ++ assets/var/gnu/efibootmgr.md | 16 ++ assets/var/gnu/efivar.md | 11 ++ assets/var/gnu/eudev.md | 9 +- assets/var/gnu/f2fs-tools.md | 10 ++ assets/var/gnu/fmt.md | 14 ++ assets/var/gnu/gcc.md | 17 +- assets/var/gnu/gcc14.md | 3 + assets/var/gnu/gcc16.md | 39 ++++ assets/var/gnu/glibc.md | 2 +- assets/var/gnu/glslang.md | 15 ++ assets/var/gnu/gmp.md | 2 +- assets/var/gnu/gptfdisk.md | 18 ++ assets/var/gnu/kmod.md | 2 +- assets/var/gnu/libaio.md | 7 + assets/var/gnu/libdivide.md | 8 + assets/var/gnu/libevent.md | 10 ++ assets/var/gnu/libnl.md | 10 ++ assets/var/gnu/libxaw.md | 14 ++ assets/var/gnu/libxft.md | 10 ++ assets/var/gnu/libxmu.md | 10 ++ assets/var/gnu/libxpm.md | 10 ++ assets/var/gnu/libxshmfence.md | 10 ++ assets/var/gnu/libxxf86vm.md | 10 ++ assets/var/gnu/linux-headers.md | 12 -- assets/var/gnu/linux/headers.md | 12 ++ assets/var/gnu/linux/kernel-usb.md | 102 +++++++++++ .../gnu/{linux-kernel.md => linux/kernel.md} | 44 ++--- assets/var/gnu/linux/kernel/firmware.md | 16 ++ assets/var/gnu/linux/kernel/modules.md | 93 ++++++++++ assets/var/gnu/llvm.md | 20 +++ assets/var/gnu/llvm/libclc.md | 19 ++ assets/var/gnu/lvm2.md | 14 ++ assets/var/gnu/mandoc.md | 10 ++ assets/var/gnu/mesa.md | 28 +++ assets/var/gnu/mpc.md | 2 +- assets/var/gnu/mpfr.md | 2 +- assets/var/gnu/msgpack-cxx.md | 9 + assets/var/gnu/ncurses.md | 10 +- assets/var/gnu/ng-log.md | 13 ++ assets/var/gnu/numactl.md | 10 ++ assets/var/gnu/openblas.md | 8 + assets/var/gnu/openssh.md | 13 +- assets/var/gnu/parted.md | 13 ++ assets/var/gnu/patchelf.md | 9 + assets/var/gnu/popt.md | 10 ++ assets/var/gnu/procps-ng.md | 15 ++ assets/var/gnu/python3.md | 1 + assets/var/gnu/rocm.md | 39 ++++ assets/var/gnu/rocm/cmake.md | 14 ++ .../var/gnu/rocm/libraries/hipblas-common.md | 18 ++ assets/var/gnu/rocm/libraries/hipblas.md | 48 +++++ assets/var/gnu/rocm/libraries/hipblaslt.md | 47 +++++ assets/var/gnu/rocm/libraries/rocblas.md | 38 ++++ assets/var/gnu/rocm/libraries/rocroller.md | 168 ++++++++++++++++++ assets/var/gnu/rocm/llvm.md | 47 +++++ assets/var/gnu/rocm/llvm/amd/comgr.md | 30 ++++ assets/var/gnu/rocm/llvm/amd/device-libs.md | 19 ++ assets/var/gnu/rocm/llvm/amd/hipcc.md | 19 ++ assets/var/gnu/rocm/llvm/libcxx.md | 22 +++ assets/var/gnu/rocm/llvm/openmp.md | 18 ++ assets/var/gnu/rocm/systems/clr.md | 37 ++++ assets/var/gnu/rocm/systems/rocm-smi.md | 13 ++ assets/var/gnu/rocm/systems/rocminfo.md | 21 +++ .../gnu/rocm/systems/rocprofiler-register.md | 12 ++ assets/var/gnu/rocm/systems/rocr-runtime.md | 28 +++ assets/var/gnu/rocm/systems/roctracer.md | 35 ++++ assets/var/gnu/spdlog.md | 15 ++ assets/var/gnu/therock.md | 116 ++++++++++++ assets/var/gnu/tmux.md | 13 ++ assets/var/gnu/vim.md | 9 + assets/var/gnu/wpa_supplicant.md | 24 +++ assets/var/gnu/xauth.md | 18 ++ assets/var/gnu/xterm.md | 14 ++ assets/var/gnu/yaml-cpp.md | 13 ++ assets/var/gnu/zsh.md | 7 + install.sh | 2 + src/commands/disable.rs | 4 +- src/commands/link.rs | 4 +- src/commands/run/build.rs | 17 +- src/commands/run/download.rs | 6 +- src/commands/run/patch.rs | 16 +- src/utils/fs/hardcopy.rs | 15 +- src/utils/parser/env.rs | 7 + 90 files changed, 1688 insertions(+), 91 deletions(-) create mode 100644 assets/var/gnu/btop.md create mode 100644 assets/var/gnu/clang.md create mode 100644 assets/var/gnu/dhcpcd.md create mode 100644 assets/var/gnu/dosfstools.md create mode 100644 assets/var/gnu/efibootmgr.md create mode 100644 assets/var/gnu/efivar.md create mode 100644 assets/var/gnu/f2fs-tools.md create mode 100644 assets/var/gnu/fmt.md create mode 100644 assets/var/gnu/gcc16.md create mode 100644 assets/var/gnu/glslang.md create mode 100644 assets/var/gnu/gptfdisk.md create mode 100644 assets/var/gnu/libaio.md create mode 100644 assets/var/gnu/libdivide.md create mode 100644 assets/var/gnu/libevent.md create mode 100644 assets/var/gnu/libnl.md create mode 100644 assets/var/gnu/libxaw.md create mode 100644 assets/var/gnu/libxft.md create mode 100644 assets/var/gnu/libxmu.md create mode 100644 assets/var/gnu/libxpm.md create mode 100644 assets/var/gnu/libxshmfence.md create mode 100644 assets/var/gnu/libxxf86vm.md delete mode 100644 assets/var/gnu/linux-headers.md create mode 100644 assets/var/gnu/linux/headers.md create mode 100644 assets/var/gnu/linux/kernel-usb.md rename assets/var/gnu/{linux-kernel.md => linux/kernel.md} (68%) create mode 100644 assets/var/gnu/linux/kernel/firmware.md create mode 100644 assets/var/gnu/linux/kernel/modules.md create mode 100644 assets/var/gnu/llvm.md create mode 100644 assets/var/gnu/llvm/libclc.md create mode 100644 assets/var/gnu/lvm2.md create mode 100644 assets/var/gnu/mandoc.md create mode 100644 assets/var/gnu/mesa.md create mode 100644 assets/var/gnu/msgpack-cxx.md create mode 100644 assets/var/gnu/ng-log.md create mode 100644 assets/var/gnu/numactl.md create mode 100644 assets/var/gnu/openblas.md create mode 100644 assets/var/gnu/parted.md create mode 100644 assets/var/gnu/patchelf.md create mode 100644 assets/var/gnu/popt.md create mode 100644 assets/var/gnu/procps-ng.md create mode 100644 assets/var/gnu/rocm.md create mode 100644 assets/var/gnu/rocm/cmake.md create mode 100644 assets/var/gnu/rocm/libraries/hipblas-common.md create mode 100644 assets/var/gnu/rocm/libraries/hipblas.md create mode 100644 assets/var/gnu/rocm/libraries/hipblaslt.md create mode 100644 assets/var/gnu/rocm/libraries/rocblas.md create mode 100644 assets/var/gnu/rocm/libraries/rocroller.md create mode 100644 assets/var/gnu/rocm/llvm.md create mode 100644 assets/var/gnu/rocm/llvm/amd/comgr.md create mode 100644 assets/var/gnu/rocm/llvm/amd/device-libs.md create mode 100644 assets/var/gnu/rocm/llvm/amd/hipcc.md create mode 100644 assets/var/gnu/rocm/llvm/libcxx.md create mode 100644 assets/var/gnu/rocm/llvm/openmp.md create mode 100644 assets/var/gnu/rocm/systems/clr.md create mode 100644 assets/var/gnu/rocm/systems/rocm-smi.md create mode 100644 assets/var/gnu/rocm/systems/rocminfo.md create mode 100644 assets/var/gnu/rocm/systems/rocprofiler-register.md create mode 100644 assets/var/gnu/rocm/systems/rocr-runtime.md create mode 100644 assets/var/gnu/rocm/systems/roctracer.md create mode 100644 assets/var/gnu/spdlog.md create mode 100644 assets/var/gnu/therock.md create mode 100644 assets/var/gnu/tmux.md create mode 100644 assets/var/gnu/vim.md create mode 100644 assets/var/gnu/xauth.md create mode 100644 assets/var/gnu/xterm.md create mode 100644 assets/var/gnu/yaml-cpp.md diff --git a/assets/etc/aeropkg.md b/assets/etc/aeropkg.md index d5861f6..706a78e 100644 --- a/assets/etc/aeropkg.md +++ b/assets/etc/aeropkg.md @@ -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 *** diff --git a/assets/var/gnu/binutils.md b/assets/var/gnu/binutils.md index c384d70..d95b7d7 100644 --- a/assets/var/gnu/binutils.md +++ b/assets/var/gnu/binutils.md @@ -9,6 +9,6 @@ make install ``` ``` cfg *** build deps *** -linux-headers +linux/headers json-c ``` diff --git a/assets/var/gnu/btop.md b/assets/var/gnu/btop.md new file mode 100644 index 0000000..fb46f87 --- /dev/null +++ b/assets/var/gnu/btop.md @@ -0,0 +1,8 @@ +btop += +https://github.com/aristocratos/btop.git + +``` sh *** build *** +make PREFIX=$pkgpath -j$(nproc) +make install PREFIX=$pkgpath +``` diff --git a/assets/var/gnu/clang.md b/assets/var/gnu/clang.md new file mode 100644 index 0000000..533a400 --- /dev/null +++ b/assets/var/gnu/clang.md @@ -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 +``` diff --git a/assets/var/gnu/cmake.md b/assets/var/gnu/cmake.md index 9c47f8f..4709ad0 100644 --- a/assets/var/gnu/cmake.md +++ b/assets/var/gnu/cmake.md @@ -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 ``` diff --git a/assets/var/gnu/dhcpcd.md b/assets/var/gnu/dhcpcd.md new file mode 100644 index 0000000..8769df8 --- /dev/null +++ b/assets/var/gnu/dhcpcd.md @@ -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} +``` diff --git a/assets/var/gnu/dosfstools.md b/assets/var/gnu/dosfstools.md new file mode 100644 index 0000000..d0ac3bd --- /dev/null +++ b/assets/var/gnu/dosfstools.md @@ -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 +``` diff --git a/assets/var/gnu/efibootmgr.md b/assets/var/gnu/efibootmgr.md new file mode 100644 index 0000000..53b04a9 --- /dev/null +++ b/assets/var/gnu/efibootmgr.md @@ -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 +``` diff --git a/assets/var/gnu/efivar.md b/assets/var/gnu/efivar.md new file mode 100644 index 0000000..7bb6a27 --- /dev/null +++ b/assets/var/gnu/efivar.md @@ -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 +``` diff --git a/assets/var/gnu/eudev.md b/assets/var/gnu/eudev.md index e1589dd..0705b56 100644 --- a/assets/var/gnu/eudev.md +++ b/assets/var/gnu/eudev.md @@ -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 < /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 < 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 *** diff --git a/assets/var/gnu/f2fs-tools.md b/assets/var/gnu/f2fs-tools.md new file mode 100644 index 0000000..be3a844 --- /dev/null +++ b/assets/var/gnu/f2fs-tools.md @@ -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 +``` diff --git a/assets/var/gnu/fmt.md b/assets/var/gnu/fmt.md new file mode 100644 index 0000000..29eda94 --- /dev/null +++ b/assets/var/gnu/fmt.md @@ -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 +``` diff --git a/assets/var/gnu/gcc.md b/assets/var/gnu/gcc.md index 3a36aa5..198712e 100644 --- a/assets/var/gnu/gcc.md +++ b/assets/var/gnu/gcc.md @@ -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 ``` diff --git a/assets/var/gnu/gcc14.md b/assets/var/gnu/gcc14.md index 82b0b90..57ef986 100644 --- a/assets/var/gnu/gcc14.md +++ b/assets/var/gnu/gcc14.md @@ -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' diff --git a/assets/var/gnu/gcc16.md b/assets/var/gnu/gcc16.md new file mode 100644 index 0000000..0bba1d2 --- /dev/null +++ b/assets/var/gnu/gcc16.md @@ -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 +``` diff --git a/assets/var/gnu/glibc.md b/assets/var/gnu/glibc.md index 242303d..5e0d240 100644 --- a/assets/var/gnu/glibc.md +++ b/assets/var/gnu/glibc.md @@ -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 *** diff --git a/assets/var/gnu/glslang.md b/assets/var/gnu/glslang.md new file mode 100644 index 0000000..40062cd --- /dev/null +++ b/assets/var/gnu/glslang.md @@ -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 +``` diff --git a/assets/var/gnu/gmp.md b/assets/var/gnu/gmp.md index 6b0dcb4..7766360 100644 --- a/assets/var/gnu/gmp.md +++ b/assets/var/gnu/gmp.md @@ -10,7 +10,7 @@ make install ``` cfg *** build deps *** glibc -linux-headers +linux/headers ``` ``` cfg *** run deps *** diff --git a/assets/var/gnu/gptfdisk.md b/assets/var/gnu/gptfdisk.md new file mode 100644 index 0000000..1abcff3 --- /dev/null +++ b/assets/var/gnu/gptfdisk.md @@ -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 +``` diff --git a/assets/var/gnu/kmod.md b/assets/var/gnu/kmod.md index 67f8e22..9024c87 100644 --- a/assets/var/gnu/kmod.md +++ b/assets/var/gnu/kmod.md @@ -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 ``` diff --git a/assets/var/gnu/libaio.md b/assets/var/gnu/libaio.md new file mode 100644 index 0000000..d7a19f2 --- /dev/null +++ b/assets/var/gnu/libaio.md @@ -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 +``` diff --git a/assets/var/gnu/libdivide.md b/assets/var/gnu/libdivide.md new file mode 100644 index 0000000..78ac9a0 --- /dev/null +++ b/assets/var/gnu/libdivide.md @@ -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 +``` diff --git a/assets/var/gnu/libevent.md b/assets/var/gnu/libevent.md new file mode 100644 index 0000000..d245b12 --- /dev/null +++ b/assets/var/gnu/libevent.md @@ -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 +``` diff --git a/assets/var/gnu/libnl.md b/assets/var/gnu/libnl.md new file mode 100644 index 0000000..4e15da7 --- /dev/null +++ b/assets/var/gnu/libnl.md @@ -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 +``` diff --git a/assets/var/gnu/libxaw.md b/assets/var/gnu/libxaw.md new file mode 100644 index 0000000..a91544c --- /dev/null +++ b/assets/var/gnu/libxaw.md @@ -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 +``` diff --git a/assets/var/gnu/libxft.md b/assets/var/gnu/libxft.md new file mode 100644 index 0000000..cb6878b --- /dev/null +++ b/assets/var/gnu/libxft.md @@ -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 +``` diff --git a/assets/var/gnu/libxmu.md b/assets/var/gnu/libxmu.md new file mode 100644 index 0000000..d94fd93 --- /dev/null +++ b/assets/var/gnu/libxmu.md @@ -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 +``` diff --git a/assets/var/gnu/libxpm.md b/assets/var/gnu/libxpm.md new file mode 100644 index 0000000..b846952 --- /dev/null +++ b/assets/var/gnu/libxpm.md @@ -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 +``` diff --git a/assets/var/gnu/libxshmfence.md b/assets/var/gnu/libxshmfence.md new file mode 100644 index 0000000..f5e69cf --- /dev/null +++ b/assets/var/gnu/libxshmfence.md @@ -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 +``` diff --git a/assets/var/gnu/libxxf86vm.md b/assets/var/gnu/libxxf86vm.md new file mode 100644 index 0000000..35a33b7 --- /dev/null +++ b/assets/var/gnu/libxxf86vm.md @@ -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 +``` diff --git a/assets/var/gnu/linux-headers.md b/assets/var/gnu/linux-headers.md deleted file mode 100644 index 3a1dca8..0000000 --- a/assets/var/gnu/linux-headers.md +++ /dev/null @@ -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 -``` diff --git a/assets/var/gnu/linux/headers.md b/assets/var/gnu/linux/headers.md new file mode 100644 index 0000000..4e766b4 --- /dev/null +++ b/assets/var/gnu/linux/headers.md @@ -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 +``` diff --git a/assets/var/gnu/linux/kernel-usb.md b/assets/var/gnu/linux/kernel-usb.md new file mode 100644 index 0000000..ecbce2c --- /dev/null +++ b/assets/var/gnu/linux/kernel-usb.md @@ -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 < .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 +``` diff --git a/assets/var/gnu/linux-kernel.md b/assets/var/gnu/linux/kernel.md similarity index 68% rename from assets/var/gnu/linux-kernel.md rename to assets/var/gnu/linux/kernel.md index 660989d..9f460af 100644 --- a/assets/var/gnu/linux-kernel.md +++ b/assets/var/gnu/linux/kernel.md @@ -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 ``` diff --git a/assets/var/gnu/linux/kernel/firmware.md b/assets/var/gnu/linux/kernel/firmware.md new file mode 100644 index 0000000..b1fcea0 --- /dev/null +++ b/assets/var/gnu/linux/kernel/firmware.md @@ -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 +``` diff --git a/assets/var/gnu/linux/kernel/modules.md b/assets/var/gnu/linux/kernel/modules.md new file mode 100644 index 0000000..413511c --- /dev/null +++ b/assets/var/gnu/linux/kernel/modules.md @@ -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 < .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 +``` diff --git a/assets/var/gnu/llvm.md b/assets/var/gnu/llvm.md new file mode 100644 index 0000000..53db233 --- /dev/null +++ b/assets/var/gnu/llvm.md @@ -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 +``` diff --git a/assets/var/gnu/llvm/libclc.md b/assets/var/gnu/llvm/libclc.md new file mode 100644 index 0000000..e2562e5 --- /dev/null +++ b/assets/var/gnu/llvm/libclc.md @@ -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 +``` diff --git a/assets/var/gnu/lvm2.md b/assets/var/gnu/lvm2.md new file mode 100644 index 0000000..c4aef6e --- /dev/null +++ b/assets/var/gnu/lvm2.md @@ -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 +``` diff --git a/assets/var/gnu/mandoc.md b/assets/var/gnu/mandoc.md new file mode 100644 index 0000000..9cb4af8 --- /dev/null +++ b/assets/var/gnu/mandoc.md @@ -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 +``` diff --git a/assets/var/gnu/mesa.md b/assets/var/gnu/mesa.md new file mode 100644 index 0000000..49a1fd6 --- /dev/null +++ b/assets/var/gnu/mesa.md @@ -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 +``` + diff --git a/assets/var/gnu/mpc.md b/assets/var/gnu/mpc.md index 6bbd202..760d90a 100644 --- a/assets/var/gnu/mpc.md +++ b/assets/var/gnu/mpc.md @@ -12,7 +12,7 @@ make install ``` ``` cfg *** build deps *** -linux-headers +linux/headers glibc gmp mpfr diff --git a/assets/var/gnu/mpfr.md b/assets/var/gnu/mpfr.md index 14fd734..0db17ed 100644 --- a/assets/var/gnu/mpfr.md +++ b/assets/var/gnu/mpfr.md @@ -11,7 +11,7 @@ make install ``` ``` cfg *** build deps *** -linux-headers +linux/headers glibc gmp ``` diff --git a/assets/var/gnu/msgpack-cxx.md b/assets/var/gnu/msgpack-cxx.md new file mode 100644 index 0000000..311d981 --- /dev/null +++ b/assets/var/gnu/msgpack-cxx.md @@ -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 +``` diff --git a/assets/var/gnu/ncurses.md b/assets/var/gnu/ncurses.md index cc931b1..82ef877 100644 --- a/assets/var/gnu/ncurses.md +++ b/assets/var/gnu/ncurses.md @@ -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 diff --git a/assets/var/gnu/ng-log.md b/assets/var/gnu/ng-log.md new file mode 100644 index 0000000..de1a3b3 --- /dev/null +++ b/assets/var/gnu/ng-log.md @@ -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 . +``` diff --git a/assets/var/gnu/numactl.md b/assets/var/gnu/numactl.md new file mode 100644 index 0000000..079827a --- /dev/null +++ b/assets/var/gnu/numactl.md @@ -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 +``` diff --git a/assets/var/gnu/openblas.md b/assets/var/gnu/openblas.md new file mode 100644 index 0000000..117fadb --- /dev/null +++ b/assets/var/gnu/openblas.md @@ -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 +``` diff --git a/assets/var/gnu/openssh.md b/assets/var/gnu/openssh.md index a2b8de6..9da85d3 100644 --- a/assets/var/gnu/openssh.md +++ b/assets/var/gnu/openssh.md @@ -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 +``` diff --git a/assets/var/gnu/parted.md b/assets/var/gnu/parted.md new file mode 100644 index 0000000..f80048f --- /dev/null +++ b/assets/var/gnu/parted.md @@ -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 +``` diff --git a/assets/var/gnu/patchelf.md b/assets/var/gnu/patchelf.md new file mode 100644 index 0000000..050d010 --- /dev/null +++ b/assets/var/gnu/patchelf.md @@ -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 +``` diff --git a/assets/var/gnu/popt.md b/assets/var/gnu/popt.md new file mode 100644 index 0000000..30f5f58 --- /dev/null +++ b/assets/var/gnu/popt.md @@ -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 +``` diff --git a/assets/var/gnu/procps-ng.md b/assets/var/gnu/procps-ng.md new file mode 100644 index 0000000..22cf392 --- /dev/null +++ b/assets/var/gnu/procps-ng.md @@ -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 ' 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 +``` diff --git a/assets/var/gnu/python3.md b/assets/var/gnu/python3.md index 3e39922..246cf4c 100644 --- a/assets/var/gnu/python3.md +++ b/assets/var/gnu/python3.md @@ -10,6 +10,7 @@ make install ``` sh *** config *** pip3 install setuptools +ln bin/python3 bin/python ``` ``` cfg *** build deps *** diff --git a/assets/var/gnu/rocm.md b/assets/var/gnu/rocm.md new file mode 100644 index 0000000..1e76b62 --- /dev/null +++ b/assets/var/gnu/rocm.md @@ -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 + diff --git a/assets/var/gnu/rocm/cmake.md b/assets/var/gnu/rocm/cmake.md new file mode 100644 index 0000000..93e77bc --- /dev/null +++ b/assets/var/gnu/rocm/cmake.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/libraries/hipblas-common.md b/assets/var/gnu/rocm/libraries/hipblas-common.md new file mode 100644 index 0000000..04df8d6 --- /dev/null +++ b/assets/var/gnu/rocm/libraries/hipblas-common.md @@ -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 . +``` diff --git a/assets/var/gnu/rocm/libraries/hipblas.md b/assets/var/gnu/rocm/libraries/hipblas.md new file mode 100644 index 0000000..24849ac --- /dev/null +++ b/assets/var/gnu/rocm/libraries/hipblas.md @@ -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 ? diff --git a/assets/var/gnu/rocm/libraries/hipblaslt.md b/assets/var/gnu/rocm/libraries/hipblaslt.md new file mode 100644 index 0000000..a70af46 --- /dev/null +++ b/assets/var/gnu/rocm/libraries/hipblaslt.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/libraries/rocblas.md b/assets/var/gnu/rocm/libraries/rocblas.md new file mode 100644 index 0000000..6d39236 --- /dev/null +++ b/assets/var/gnu/rocm/libraries/rocblas.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/libraries/rocroller.md b/assets/var/gnu/rocm/libraries/rocroller.md new file mode 100644 index 0000000..9e19289 --- /dev/null +++ b/assets/var/gnu/rocm/libraries/rocroller.md @@ -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(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;\ + if constexpr(std::is_same_v)\ + return static_cast(val) == 0;\ + else if constexpr(std::is_same_v)\ + return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\ + else if constexpr(std::is_integral_v)\ + return val == 0;\ + else if constexpr(std::is_floating_point_v || std::is_same_v)\ + return val == static_cast(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;\ + if constexpr(std::is_same_v)\ + return static_cast(val) == 0;\ + else if constexpr(std::is_same_v)\ + return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\ + else if constexpr(std::is_arithmetic_v || std::is_same_v)\ + 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(0);/if constexpr(std::is_same_v) return false; else return val == static_cast(0);/g' Register_impl.hpp + +sed -i '/return val == static_cast(0);/c\ + else if constexpr(std::is_arithmetic_v || std::is_same_v)\ + return val == static_cast(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;\ + if constexpr(std::is_same_v)\ + return static_cast(val) == 0;\ + else if constexpr(std::is_same_v)\ + return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\ + else if constexpr(std::is_arithmetic_v || std::is_same_v\ + || std::is_same_v\ + || std::is_same_v\ + || std::is_same_v\ + || std::is_same_v\ + || std::is_same_v\ + || std::is_same_v\ + || std::is_same_v)\ + return val == static_cast(0);\ + else\ + return false;\ + },\ + m_literalValue);\ + }' Register_impl.hpp + + +sed -i '/return std::visit(/,/m_literalValue);/{ + s/return static_cast(val) == 0.0f;/using T = std::decay_t;\ + if constexpr(std::is_same_v)\ + return static_cast(val) == 0;\ + else if constexpr(std::is_same_v)\ + return val.desc0 == 0 \&\& val.desc1 == 0 \&\& val.desc2 == 0 \&\& val.desc3 == 0;\ + else if constexpr(std::is_arithmetic_v)\ + 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;\ + if constexpr(std::is_same_v)\ + return static_cast(val) == 0;\ + else if constexpr(std::is_same_v)\ + return val.desc0 == 0 \&\& val.desc1 == 0 \&\& val.desc2 == 0 \&\& val.desc3 == 0;\ + else if constexpr(std::is_same_v)\ + return static_cast(val) == 0.0f;\ + else if constexpr(std::is_arithmetic_v)\ + return val == 0;\ + else\ + return false;/ +}' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp diff --git a/assets/var/gnu/rocm/llvm.md b/assets/var/gnu/rocm/llvm.md new file mode 100644 index 0000000..67ae69a --- /dev/null +++ b/assets/var/gnu/rocm/llvm.md @@ -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 |#if __has_include()\n#include \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 +``` diff --git a/assets/var/gnu/rocm/llvm/amd/comgr.md b/assets/var/gnu/rocm/llvm/amd/comgr.md new file mode 100644 index 0000000..9fb64f7 --- /dev/null +++ b/assets/var/gnu/rocm/llvm/amd/comgr.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/llvm/amd/device-libs.md b/assets/var/gnu/rocm/llvm/amd/device-libs.md new file mode 100644 index 0000000..2a0b8c6 --- /dev/null +++ b/assets/var/gnu/rocm/llvm/amd/device-libs.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/llvm/amd/hipcc.md b/assets/var/gnu/rocm/llvm/amd/hipcc.md new file mode 100644 index 0000000..320bd05 --- /dev/null +++ b/assets/var/gnu/rocm/llvm/amd/hipcc.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/llvm/libcxx.md b/assets/var/gnu/rocm/llvm/libcxx.md new file mode 100644 index 0000000..8749bfd --- /dev/null +++ b/assets/var/gnu/rocm/llvm/libcxx.md @@ -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 +``` + diff --git a/assets/var/gnu/rocm/llvm/openmp.md b/assets/var/gnu/rocm/llvm/openmp.md new file mode 100644 index 0000000..6d130e1 --- /dev/null +++ b/assets/var/gnu/rocm/llvm/openmp.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/systems/clr.md b/assets/var/gnu/rocm/systems/clr.md new file mode 100644 index 0000000..8f6c2a8 --- /dev/null +++ b/assets/var/gnu/rocm/systems/clr.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/systems/rocm-smi.md b/assets/var/gnu/rocm/systems/rocm-smi.md new file mode 100644 index 0000000..9673b41 --- /dev/null +++ b/assets/var/gnu/rocm/systems/rocm-smi.md @@ -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 . +``` diff --git a/assets/var/gnu/rocm/systems/rocminfo.md b/assets/var/gnu/rocm/systems/rocminfo.md new file mode 100644 index 0000000..17e948f --- /dev/null +++ b/assets/var/gnu/rocm/systems/rocminfo.md @@ -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 +``` diff --git a/assets/var/gnu/rocm/systems/rocprofiler-register.md b/assets/var/gnu/rocm/systems/rocprofiler-register.md new file mode 100644 index 0000000..cc48a5e --- /dev/null +++ b/assets/var/gnu/rocm/systems/rocprofiler-register.md @@ -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 . +``` diff --git a/assets/var/gnu/rocm/systems/rocr-runtime.md b/assets/var/gnu/rocm/systems/rocr-runtime.md new file mode 100644 index 0000000..7db7839 --- /dev/null +++ b/assets/var/gnu/rocm/systems/rocr-runtime.md @@ -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" \ diff --git a/assets/var/gnu/rocm/systems/roctracer.md b/assets/var/gnu/rocm/systems/roctracer.md new file mode 100644 index 0000000..1da0fe4 --- /dev/null +++ b/assets/var/gnu/rocm/systems/roctracer.md @@ -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 +``` diff --git a/assets/var/gnu/spdlog.md b/assets/var/gnu/spdlog.md new file mode 100644 index 0000000..f71db8a --- /dev/null +++ b/assets/var/gnu/spdlog.md @@ -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 + diff --git a/assets/var/gnu/therock.md b/assets/var/gnu/therock.md new file mode 100644 index 0000000..f0b1638 --- /dev/null +++ b/assets/var/gnu/therock.md @@ -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 + diff --git a/assets/var/gnu/tmux.md b/assets/var/gnu/tmux.md new file mode 100644 index 0000000..1cb829f --- /dev/null +++ b/assets/var/gnu/tmux.md @@ -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 +``` diff --git a/assets/var/gnu/vim.md b/assets/var/gnu/vim.md new file mode 100644 index 0000000..2127641 --- /dev/null +++ b/assets/var/gnu/vim.md @@ -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 +``` diff --git a/assets/var/gnu/wpa_supplicant.md b/assets/var/gnu/wpa_supplicant.md index 71d5315..2430dd4 100644 --- a/assets/var/gnu/wpa_supplicant.md +++ b/assets/var/gnu/wpa_supplicant.md @@ -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 +``` diff --git a/assets/var/gnu/xauth.md b/assets/var/gnu/xauth.md new file mode 100644 index 0000000..927b935 --- /dev/null +++ b/assets/var/gnu/xauth.md @@ -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 +``` diff --git a/assets/var/gnu/xterm.md b/assets/var/gnu/xterm.md new file mode 100644 index 0000000..cbb8a72 --- /dev/null +++ b/assets/var/gnu/xterm.md @@ -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 +``` diff --git a/assets/var/gnu/yaml-cpp.md b/assets/var/gnu/yaml-cpp.md new file mode 100644 index 0000000..3dd8545 --- /dev/null +++ b/assets/var/gnu/yaml-cpp.md @@ -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 +``` + diff --git a/assets/var/gnu/zsh.md b/assets/var/gnu/zsh.md index de6a07c..3cbf049 100644 --- a/assets/var/gnu/zsh.md +++ b/assets/var/gnu/zsh.md @@ -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 ``` diff --git a/install.sh b/install.sh index 45060af..d9954a4 100755 --- a/install.sh +++ b/install.sh @@ -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 diff --git a/src/commands/disable.rs b/src/commands/disable.rs index aeb581f..668ce0a 100644 --- a/src/commands/disable.rs +++ b/src/commands/disable.rs @@ -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"), diff --git a/src/commands/link.rs b/src/commands/link.rs index c2e2cde..f95c845 100644 --- a/src/commands/link.rs +++ b/src/commands/link.rs @@ -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"), diff --git a/src/commands/run/build.rs b/src/commands/run/build.rs index 5c22d9e..5ad04e6 100644 --- a/src/commands/run/build.rs +++ b/src/commands/run/build.rs @@ -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); diff --git a/src/commands/run/download.rs b/src/commands/run/download.rs index 2c05572..f239e82 100644 --- a/src/commands/run/download.rs +++ b/src/commands/run/download.rs @@ -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) diff --git a/src/commands/run/patch.rs b/src/commands/run/patch.rs index 4145af3..c5d325f 100644 --- a/src/commands/run/patch.rs +++ b/src/commands/run/patch.rs @@ -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() } diff --git a/src/utils/fs/hardcopy.rs b/src/utils/fs/hardcopy.rs index dc8efe1..5e5ce9f 100644 --- a/src/utils/fs/hardcopy.rs +++ b/src/utils/fs/hardcopy.rs @@ -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)? } diff --git a/src/utils/parser/env.rs b/src/utils/parser/env.rs index a0b5abf..66475d8 100644 --- a/src/utils/parser/env.rs +++ b/src/utils/parser/env.rs @@ -8,8 +8,11 @@ use super::*; pub fn get_install_env(repo: &String, pkgname: &String, pkg_md_path: &Path, stage: &str) -> HashMap { 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 { 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 { 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) }