# $Id$ # Maintainer: Johannes Löthberg # Contributor: Alexander F Rødseth # Contributor: Daniel Micay # Contributor: userwithuid # ALARM: Kevin Mihelich # - add a link to g++ to compensate for broken cross-compiler decisions # - build v6/v7 with -j2 - RAM constraints buildarch=28 highmem=1 pkgname=('rust' 'rust-docs') epoch=1 pkgver=1.21.0 pkgrel=1 pkgdesc='Systems programming language focused on safety, speed and concurrency' url='https://www.rust-lang.org/' arch=('x86_64' 'i686') license=('MIT' 'Apache') makedepends=('rust' 'libffi' 'perl' 'python2' 'curl' 'llvm' 'cmake') options=('!emptydirs') source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc} 0001-librustc_llvm-build-Force-link-against-libffi.patch bootstrap-config.toml) sha256sums=('1707c142244b5bd909993559c6116c81987c1de21d6207c05d3ecbe5bba548fa' 'SKIP' '563529da8e02f575ddde7247d5fc5350d74031daa54743b86d075f3c45ae2713' '4252d4873a840216115ee306e4d689819bc791ee05bedd1faa0b00c49ff91c62') validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE') # Rust Language (Tag and Release Signing Key) prepare() { cd "rustc-$pkgver-src" patch -p1 <"$srcdir"/0001-librustc_llvm-build-Force-link-against-libffi.patch cp "$srcdir"/bootstrap-config.toml config.toml if [[ $CARCH == armv7h ]]; then mkdir path ln -s /usr/bin/g++ path/arm-linux-gnueabihf-g++ export PATH="$srcdir/path:$PATH" fi if [[ $CARCH == armv7h || $CARCH == armv6h ]]; then jobs="-j 2" fi } build() { cd "rustc-$pkgver-src" msg2 "Run build under x.py" python2 ./x.py build $jobs } package_rust() { depends=('gcc-libs' 'llvm-libs') provides=('cargo') conflicts=('cargo') replaces=('cargo') cd "rustc-$pkgver-src" DESTDIR="$pkgdir" python2 ./x.py install for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done cd "$pkgdir/usr/lib" rm rustlib/{components,manifest-rustc,rust-installer-version} ln -sf rustlib/$CARCH-unknown-linux-gnu/lib/*.so . # move docs out of the way mv "$pkgdir/usr/share/doc" "$srcdir/" } package_rust-docs() { msg2 "Packaging documentation" install -d "$pkgdir/usr/share/doc/" mv "$srcdir"/doc/* "$pkgdir"/usr/share/doc/rust/ msg2 "Packaging license files for the documentation" for license in APACHE MIT; do install -Dm644 "rustc-$pkgver-src/LICENSE-$license" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done } # vim:set ts=2 sw=2 et: