# Maintainer: Johannes Löthberg # Maintainer: Jan Alexander Steffens (heftig) # Contributor: Alexander F Rødseth # Contributor: Daniel Micay # Contributor: userwithuid # ALARM: Kevin Mihelich # - remove lib32, musl, and wasm packages and related bits # - add a link to g++ to compensate for broken cross-compiler decisions # - build v6/v7 with -j2 - RAM constraints # - set llvm-config in config.toml for ARM architectures # - set debuginfo-level = 0 in config.toml - RAM constraints # - build aarch64 with 16k page support highmem=1 pkgbase=rust pkgname=( rust rust-src ) epoch=1 pkgver=1.76.0 pkgrel=1 pkgdesc="Systems programming language focused on safety, speed and concurrency" url=https://www.rust-lang.org/ arch=(x86_64) license=("Apache-2.0 OR MIT") options=( !emptydirs !lto ) depends=( curl gcc gcc-libs libssh2 llvm-libs ) makedepends=( cmake libffi lld llvm musl ninja perl python rust ) checkdepends=( gdb procps-ng ) source=( "https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc} 0001-bootstrap-Change-libexec-dir.patch 0002-bootstrap-Change-bash-completion-dir.patch 0003-compiler-Change-LLVM-targets.patch 0004-compiler-Use-wasm-ld-for-wasm-targets.patch ) b2sums=('d06ec8d24fbe42d2f1e3340f5ffd2081bb65d8654b797ecf0de5ea9f8202872676d40422e9debaa0106808b88de74f5823ba85cb081dd11e807862c0e39b1f34' 'SKIP' '975cf9201ca36b8891ef70c218d4b7fd48590e98b7d71e0fee14d9650c6b2db1308a378bfa635b178f64993fe81b95ba31e544ec13ca4cb1995d29f68102115b' '7296d718e58959c494b32d747277ff8635c5713f25f77f22a61d539c0119937551bad0b65105fccc5f9a272b503abc2e396eb00690db5027733d724767a23ded' 'a6ba2f84ea63f81f420743eb5566f18ec722bdecd3fd1f468482361e88f57ba870f90854d390deb83e63f7f7f694397689df2a9f18f6ea96a5dfa0d91858b724' '6a7d2ca75109de1a4b2aedc16f026bb97eaf00fa1ade67da92a48ce47b3d71a6403a349f73b3b4fb02dfde34bcbd6108510d7dd6f6a98eaf439521ab2205e52c') validpgpkeys=( 108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE # Rust Language (Tag and Release Signing Key) ) prepare() { cd rustc-$pkgver-src # Patch bootstrap so that rust-analyzer-proc-macro-srv # is in /usr/lib instead of /usr/libexec patch -Np1 -i ../0001-bootstrap-Change-libexec-dir.patch # Put bash completions where they belong patch -Np1 -i ../0002-bootstrap-Change-bash-completion-dir.patch # Use our *-pc-linux-gnu targets, making LTO with clang simpler patch -Np1 -i ../0003-compiler-Change-LLVM-targets.patch # Use our wasm-ld patch -Np1 -i ../0004-compiler-Use-wasm-ld-for-wasm-targets.patch cat >config.toml <