From 49b3e3291c93355792757f94af9774617ed3d7bf Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 20 Oct 2019 19:04:25 +0200 Subject: added some build-support for rust --- build-support/extra/rust-bin/PKGBUILD | 38 ++++++ build-support/extra/rust/PKGBUILD | 190 +++++++++++++++++++++++++++++ build-support/extra/rust/config.toml.patch | 26 ++++ build-support/extra/rust/watcher.sh | 25 ++++ 4 files changed, 279 insertions(+) create mode 100644 build-support/extra/rust-bin/PKGBUILD create mode 100644 build-support/extra/rust/PKGBUILD create mode 100644 build-support/extra/rust/config.toml.patch create mode 100755 build-support/extra/rust/watcher.sh (limited to 'build-support') diff --git a/build-support/extra/rust-bin/PKGBUILD b/build-support/extra/rust-bin/PKGBUILD new file mode 100644 index 00000000..125dac5f --- /dev/null +++ b/build-support/extra/rust-bin/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Andreas Baumann + +pkgname=rust-bin +pkgver=1.38.0 +pkgrel=1 +pkgdesc='Binary precompiled packages for Rust' +url='https://www.rust-lang.org/' +arch=(x86_64 pentium4 i686) +license=('MIT' 'Apache') +provides=('rust' 'cargo') +conflicts=('rust' 'cargo') +options=('!emptydirs') + +source_x86_64=("https://static.rust-lang.org/dist/rust-$pkgver-x86_64-unknown-linux-gnu.tar.gz"{,.asc}) +source_pentium4=("https://static.rust-lang.org/dist/rust-$pkgver-i686-unknown-linux-gnu.tar.gz"{,.asc}) +source_i686=("https://static.rust-lang.org/dist/rust-$pkgver-i686-unknown-linux-gnu.tar.gz"{,.asc}) + +sha256sums_x86_64=('cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb' + 'SKIP') +sha256sums_pentium4=('41aed8a350e24a0cac1444ed99b3dd24a90bc581dd88cb420c6e547d6b5f57af' + 'SKIP') +sha256sums_i686=('41aed8a350e24a0cac1444ed99b3dd24a90bc581dd88cb420c6e547d6b5f57af' + 'SKIP') + +validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE' # Rust Language (Tag and Release Signing Key) + '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard + +case "${CARCH}" in + x86_64) _ARCH='x86_64-unknown-linux-gnu';; + pentium4) _ARCH='i686-unknown-linux-gnu';; + i686) _ARCH='i686-unknown-linux-gnu';; +esac + +package() { + cd "rust-$pkgver-$_ARCH" + + ./install.sh --prefix=/usr --destdir="$pkgdir" +} diff --git a/build-support/extra/rust/PKGBUILD b/build-support/extra/rust/PKGBUILD new file mode 100644 index 00000000..b94c4e14 --- /dev/null +++ b/build-support/extra/rust/PKGBUILD @@ -0,0 +1,190 @@ +# Maintainer: Johannes Löthberg +# Contributor: Alexander F Rødseth +# Contributor: Daniel Micay +# Contributor: userwithuid + +pkgname=('rust' 'rust-docs') +epoch=1 +pkgver=1.38.0 +pkgrel=2 + +_llvm_ver=9.0.0 + +pkgdesc='Systems programming language focused on safety, speed and concurrency' +url='https://www.rust-lang.org/' +arch=(i486 i686 pentium4 'x86_64') +license=('MIT' 'Apache') + +#makedepends=('rust' "llvm=$_llvm_ver" 'libffi' 'perl' 'python' 'curl' 'cmake' 'inotify-tools' 'procps-ng') +makedepends=('rust' "llvm=$_llvm_ver" 'libffi' 'perl' 'python' 'curl' 'cmake') +checkdepends=('procps-ng' 'gdb') + +options=('!emptydirs') + +source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc} + "https://github.com/llvm/llvm-project/releases/download/llvmorg-$_llvm_ver/compiler-rt-$_llvm_ver.src.tar.xz"{,.sig} + bootstrap-1.38.patch + 0001-WIP-minimize-the-rust-std-component.patch) + +sha256sums=('644263ca7c7106f8ee8fcde6bb16910d246b30668a74be20b8c7e0e9f4a52d80' + 'SKIP' + '56e4cd96dd1d8c346b07b4d6b255f976570c6f2389697347a6c3dcb9e820d10e' + 'SKIP' + '71935e8994d1045680cde22f72a12c4959e1877e5a42fc21fd034d677100dab3' + '1d6b69444ef6ff033fe1612e56ecdaad5c52aa44395e704f78b1a047c65b9321') +validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE' # Rust Language (Tag and Release Signing Key) + '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg + +prepare() { + cd "rustc-$pkgver-src" + + # Fix bootstrap to compile with 1.38 + patch -Np1 -i ../bootstrap-1.38.patch + + # For https://bugzilla.redhat.com/show_bug.cgi?id=1756487 + # From https://src.fedoraproject.org/rpms/rust/tree/master + patch -Np1 -i ../0001-WIP-minimize-the-rust-std-component.patch + + cat >config.toml < Got SIGTERM" + echo "--> killing inotifywait with PID $inotifywait" + kill -TERM "$inotifywait" +} + +srcdir="$1" + +trap term SIGTERM + +inotifywait -mr -e close_write --format %w%f $srcdir | while read -r FILE; do + case "$FILE" in + *consts.rs) + echo "--> patching $FILE" + sed -i '/pub type U1024/d;/pub type P1024/d' $FILE + echo "--> finished patching $FILE" + ;; + esac +done & +inotifywait=$(ps -ef | grep inotifywait | grep -v grep | tr -s ' ' | cut -d ' ' -f2) +echo "--> waiting for inotifywait $inotifywait" +wait "$inotifywait" +echo "--> watcher terminated" -- cgit v1.2.3