# Maintainer: Sick Codes # pkgname=riscv-gnu-toolchain-bin # To maintain, simply change the nightly date: https://github.com/riscv-collab/riscv-gnu-toolchain/releases pkgver=2022.10.11 _target=12.2.0 _pkg_prefix=ubuntu-20.04-nightly pkgrel=1 pkgdesc="GNU toolchain for RISC-V, including GCC. Precompiled riscv64-unknown-elf-gcc, riscv32-unknown-elf-gcc, riscv64-unknown-linux-gnu-gcc, and riscv32-unknown-linux-gnu-gcc." arch=('x86_64' 'aarch64' 'i386') url="https://github.com/riscv-collab/riscv-gnu-toolchain" license=('GPL2') provides=(${pkgname} riscv32-unknown-elf-gcc-12.2.0 riscv32-unknown-elf-size riscv32-unknown-elf-run riscv32-unknown-elf-objdump riscv32-unknown-elf-nm riscv32-unknown-elf-gdb-add-index riscv32-unknown-elf-c++filt riscv32-unknown-elf-addr2line riscv32-unknown-elf-gcc-nm riscv32-unknown-elf-readelf riscv32-unknown-elf-lto-dump riscv32-unknown-elf-gcc riscv32-unknown-elf-ld.bfd riscv32-unknown-elf-ranlib riscv32-unknown-elf-gcov-tool riscv32-unknown-elf-ld riscv32-unknown-elf-gcc-ar riscv32-unknown-elf-gdb riscv32-unknown-elf-gcov riscv32-unknown-elf-as riscv32-unknown-elf-gcov-dump riscv32-unknown-elf-objcopy riscv32-unknown-elf-gcc-ranlib riscv32-unknown-elf-strip riscv32-unknown-elf-c++ riscv32-unknown-elf-cpp riscv32-unknown-elf-strings riscv32-unknown-elf-ar riscv32-unknown-elf-elfedit riscv32-unknown-elf-gprof riscv32-unknown-elf-g++ riscv64-unknown-elf-gcc-12.2.0 riscv64-unknown-elf-size riscv64-unknown-elf-run riscv64-unknown-elf-objdump riscv64-unknown-elf-nm riscv64-unknown-elf-gdb-add-index riscv64-unknown-elf-c++filt riscv64-unknown-elf-addr2line riscv64-unknown-elf-gcc-nm riscv64-unknown-elf-readelf riscv64-unknown-elf-lto-dump riscv64-unknown-elf-gcc riscv64-unknown-elf-ld.bfd riscv64-unknown-elf-ranlib riscv64-unknown-elf-gcov-tool riscv64-unknown-elf-ld riscv64-unknown-elf-gcc-ar riscv64-unknown-elf-gdb riscv64-unknown-elf-gcov riscv64-unknown-elf-as riscv64-unknown-elf-gcov-dump riscv64-unknown-elf-objcopy riscv64-unknown-elf-gcc-ranlib riscv64-unknown-elf-strip riscv64-unknown-elf-c++ riscv64-unknown-elf-cpp riscv64-unknown-elf-strings riscv64-unknown-elf-ar riscv64-unknown-elf-elfedit riscv64-unknown-elf-gprof riscv64-unknown-elf-g++ riscv32-unknown-linux-gnu-lto-dump riscv32-unknown-linux-gnu-cpp riscv32-unknown-linux-gnu-ar riscv32-unknown-linux-gnu-run riscv32-unknown-linux-gnu-strings riscv32-unknown-linux-gnu-ld riscv32-unknown-linux-gnu-gcc riscv32-unknown-linux-gnu-gcc-ar riscv32-unknown-linux-gnu-nm riscv32-unknown-linux-gnu-addr2line riscv32-unknown-linux-gnu-readelf riscv32-unknown-linux-gnu-gcc-ranlib riscv32-unknown-linux-gnu-g++ riscv32-unknown-linux-gnu-gcc-12.2.0 riscv32-unknown-linux-gnu-elfedit riscv32-unknown-linux-gnu-as riscv32-unknown-linux-gnu-objcopy riscv32-unknown-linux-gnu-gcov-dump riscv32-unknown-linux-gnu-size riscv32-unknown-linux-gnu-ranlib riscv32-unknown-linux-gnu-gdb-add-index riscv32-unknown-linux-gnu-strip riscv32-unknown-linux-gnu-objdump riscv32-unknown-linux-gnu-c++filt riscv32-unknown-linux-gnu-gcc-nm riscv32-unknown-linux-gnu-gcov riscv32-unknown-linux-gnu-ld.bfd riscv32-unknown-linux-gnu-gfortran riscv32-unknown-linux-gnu-gprof riscv32-unknown-linux-gnu-c++ riscv32-unknown-linux-gnu-gcov-tool riscv32-unknown-linux-gnu-gdb riscv64-unknown-linux-gnu-lto-dump riscv64-unknown-linux-gnu-cpp riscv64-unknown-linux-gnu-ar riscv64-unknown-linux-gnu-run riscv64-unknown-linux-gnu-strings riscv64-unknown-linux-gnu-ld riscv64-unknown-linux-gnu-gcc riscv64-unknown-linux-gnu-gcc-ar riscv64-unknown-linux-gnu-nm riscv64-unknown-linux-gnu-addr2line riscv64-unknown-linux-gnu-readelf riscv64-unknown-linux-gnu-gcc-ranlib riscv64-unknown-linux-gnu-g++ riscv64-unknown-linux-gnu-gcc-12.2.0 riscv64-unknown-linux-gnu-elfedit riscv64-unknown-linux-gnu-as riscv64-unknown-linux-gnu-objcopy riscv64-unknown-linux-gnu-gcov-dump riscv64-unknown-linux-gnu-size riscv64-unknown-linux-gnu-ranlib riscv64-unknown-linux-gnu-gdb-add-index riscv64-unknown-linux-gnu-strip riscv64-unknown-linux-gnu-objdump riscv64-unknown-linux-gnu-c++filt riscv64-unknown-linux-gnu-gcc-nm riscv64-unknown-linux-gnu-gcov riscv64-unknown-linux-gnu-ld.bfd riscv64-unknown-linux-gnu-gfortran riscv64-unknown-linux-gnu-gprof riscv64-unknown-linux-gnu-c++ riscv64-unknown-linux-gnu-gcov-tool riscv64-unknown-linux-gnu-gdb ) depends=() optdepends=() makedepends=() options=(!strip) source=( "https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${pkgver}/riscv32-elf-${_pkg_prefix}-${pkgver}-nightly.tar.gz" "https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${pkgver}/riscv32-glibc-${_pkg_prefix}-${pkgver}-nightly.tar.gz" "https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${pkgver}/riscv64-elf-${_pkg_prefix}-${pkgver}-nightly.tar.gz" "https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${pkgver}/riscv64-glibc-${_pkg_prefix}-${pkgver}-nightly.tar.gz" ) # skipping shasums due to size sha256sums=( 'SKIP' 'SKIP' 'SKIP' 'SKIP' ) package() { install -dm755 "${pkgdir}"/usr/ cp -pr "${srcdir}"/riscv/* "${pkgdir}"/usr/ # Remove existing conflicts with gcc and other packages rm -rf "${pkgdir}"/usr/include/gdb/jit-reader.h rm -rf "${pkgdir}"/usr/share/man/man7 rm -rf "${pkgdir}"/usr/lib/libcc1.so* rm -rf "${pkgdir}"/usr/lib/bfd-plugins/libdep.so rm -rf "${pkgdir}"/usr/share/gcc-12.2.0/python/libstdcxx rm -rf "${pkgdir}"/usr/share/gdb/python/gdb rm -rf "${pkgdir}"/usr/share/gdb/syscalls rm -rf "${pkgdir}"/usr/share/gdb/system-gdbinit rm -rf "${pkgdir}"/usr/share/info }