# Template file for 'cargo'
pkgname=cargo
version=0.22.0
revision=1
_githash_installer=4f994850808a572e2cc8d43f968893c8e942e9bf
hostmakedepends="rust python curl cmake pkg-config"
makedepends="libcurl-devel libgit2-devel"
depends="rust"
short_desc="Rust package manager"
maintainer="Leah Neukirchen <leah@vuxu.org>"
license="MIT, Apache-2.0"
homepage="https://crates.io/"
distfiles="https://github.com/rust-lang/cargo/archive/${version}.tar.gz
 https://github.com/rust-lang/rust-installer/archive/${_githash_installer}.tar.gz"
checksum="6740e2f8d035a5a5246a12e84a141d37ad4c2b826355aff497e6f1fcfb637aef
 dc7240d60a869fa24a68c8734fb7c810c27cca0a6dad52df6279865e4e8e7fae"
nocross=yes

case "$XBPS_MACHINE" in
x86_64-musl)
	distfiles+="
	 https://repo.voidlinux.eu/distfiles/cargo-0.18.0-x86_64-unknown-linux-musl.tar.gz"
	checksum+="
	 28f2ee839f14f8b3edf3f4e4cc8600ac99ea50905ee8fb91116bba676728c2e9"
	;;
x86_64)
	distfiles+="
	 https://static.rust-lang.org/dist/cargo-0.20.0-x86_64-unknown-linux-gnu.tar.gz"
	checksum+="
	 a677d13b01d00ad13edf75c7d1b484421c7fc09338bf9ed6d456b4685bb42ed1"
	;;
i686)
	distfiles+="
	 https://static.rust-lang.org/dist/cargo-0.20.0-i686-unknown-linux-gnu.tar.gz"
	checksum+="
	 1a6b45f04d63d54c5d265e8bf1d647df171c1624ca1c081d75971eb8bb741d53"
	;;
esac

post_extract() {
	rm -rf src/rust-installer
	mv ../rust-installer-${_githash_installer} src/rust-installer
	mkdir -p target/snapshot
	cp ../cargo-*/cargo/bin/cargo cargo
	rm Cargo.lock  # unlock rust-openssl 0.9.4
}
do_build() {
	export LIBGIT2_SYS_USE_PKG_CONFIG=yes
	export CARGO_HOME="${wrksrc}/.cargo"
	export RUST_BACKTRACE=1
	./cargo build --release
}
do_install() {
	vbin target/release/cargo
	for f in src/etc/man/*.?; do
		vman $f
	done
	vinstall src/etc/cargo.bashcomp.sh 0644 usr/share/bash-completion/completions cargo
	vinstall src/etc/_cargo 0644 usr/share/zsh/site-functions
	
	vlicense LICENSE-APACHE
	vlicense LICENSE-MIT
	vlicense LICENSE-THIRD-PARTY
}
