# 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.79.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=( bash curl gcc gcc-libs glibc libssh2 llvm-libs openssl zlib ) makedepends=( clang 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=('07fbb29007921cffa6fc11a928d64a43c93c14cd421aee77cf44b7ee71a67c67d9f7454f5d1b85f2d79f50dcc7048a356f4f3971ba87ebad21f53321c51808ca' 'SKIP' 'c1cf64e26d240fbacbe2170ad4a114e09deb8230c8c7934415c7b9cb32eb30f708694265b34f281f466c8d8ec7841bfa4895da877d2ca87a3a953a7faa40de80' '093cf81b7c5be5ef8421b4a31a56b5b28d3ecfcb2e952bfea379683f31a237142afdd1c2e45a67e29a11e8e915e80671249fdc2b5760e58702234e5b339abf4e' 'c81eb7e5f4dd8225701aa379381bd377be2348f42f778e67b77118f68e92ac1fe60aab692fbcd61a02af900f9e017ea05adc7bb508ef6297dd096585e0571e5e' '963aa64d27763f063b9fac483a870563f5a71a49ec02d17b7ca0c14dbf67064ba56028bbc45f2ee50b16eada725cb55c2aa2ab17ceadff65ba9e40cb220f7a0c') 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 <