void-packages/srcpkgs/rust-bootstrap/template
2024-07-29 17:38:07 +02:00

102 lines
3.5 KiB
Bash

# Template file for 'rust-bootstrap'
pkgname=rust-bootstrap
version=1.80.0
revision=1
short_desc="Rust programming language bootstrap toolchain"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT, Apache-2.0"
homepage="https://www.rust-lang.org/"
conflicts="rust>=0"
lib32disabled=yes
nostrip=yes
repository=bootstrap
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
depends="libexecinfo-devel"
fi
_bootstrap_url="https://static.rust-lang.org/dist"
case "$XBPS_TARGET_MACHINE" in
x86_64*|i686) ;;
# See srcpkgs/rust-bootstrap/files/generating-distfiles.md for details
*) _bootstrap_url="https://repo-default.voidlinux.org/distfiles";;
esac
# hardcode platform triplets
# because this info isn't avaialble here without hacky workarounds
case "$XBPS_TARGET_MACHINE" in
i686)
distfiles="
${_bootstrap_url}/rustc-${version}-i686-unknown-linux-gnu.tar.xz
${_bootstrap_url}/rust-std-${version}-i686-unknown-linux-gnu.tar.xz"
checksum="
d2e4ceb3b3d2c41ba5d5ffc07f09ea46347c4d92e6411d66f0873c664684f68e
f5bcf6d36de3947c663da3f659fcbf8dbb261185284f87b332ab22f490304153"
;;
x86_64)
distfiles="
${_bootstrap_url}/rustc-${version}-x86_64-unknown-linux-gnu.tar.xz
${_bootstrap_url}/rust-std-${version}-x86_64-unknown-linux-gnu.tar.xz"
checksum="
ef1692e3d67236868d32ef26f96f47792b1c3a3f9747bbe05c63742464307c4f
c722cba93c9627e04a6a5ecc749cde9dda39f15e4d02fb6ae8d0b27e02e6488a"
;;
x86_64-musl)
distfiles="
${_bootstrap_url}/rustc-${version}-x86_64-unknown-linux-musl.tar.xz
${_bootstrap_url}/rust-std-${version}-x86_64-unknown-linux-musl.tar.xz"
checksum="
8c64236957359cea987dbc6b99d4d81e403186c7e217e6dfca52b74fd1efc0c6
6570068f0c95fa7a85b1fdf7b72d934fb4cf1689f833ab766ea6ae8cb40d3348"
;;
# placeholders for user-supplied distfiles
ppc64le)
distfiles="
${_bootstrap_url}/rustc-${version}-powerpc64le-unknown-linux-gnu.tar.xz
${_bootstrap_url}/rust-std-${version}-powerpc64le-unknown-linux-gnu.tar.xz"
checksum="
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb"
;;
ppc64le-musl)
distfiles="
${_bootstrap_url}/rustc-${version}-powerpc64le-unknown-linux-musl.tar.xz
${_bootstrap_url}/rust-std-${version}-powerpc64le-unknown-linux-musl.tar.xz"
checksum="
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb"
;;
ppc64)
distfiles="
${_bootstrap_url}/rustc-${version}-powerpc64-unknown-linux-gnu.tar.xz
${_bootstrap_url}/rust-std-${version}-powerpc64-unknown-linux-gnu.tar.xz"
checksum="
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb"
;;
ppc)
distfiles="
${_bootstrap_url}/rustc-${version}-powerpc-unknown-linux-gnu.tar.xz
${_bootstrap_url}/rust-std-${version}-powerpc-unknown-linux-gnu.tar.xz"
checksum="
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb
badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb"
;;
*) broken="rust bootstrap binaries unavailable for ${XBPS_TARGET_MACHINE}";;
esac
do_install() {
for d in *; do
cd $d
./install.sh --prefix=/usr --destdir="${DESTDIR}"
cd ..
done
vlicense rustc-${version}-${RUST_TARGET}/COPYRIGHT
vlicense rustc-${version}-${RUST_TARGET}/LICENSE-APACHE
vlicense rustc-${version}-${RUST_TARGET}/LICENSE-MIT
rm -rf ${DESTDIR}/usr/share/doc/rust
rm -f ${DESTDIR}/usr/lib/rustlib/${RUST_TARGET}/bin/rust-ll*
}