# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=cargo pkgver=0.11.0 pkgrel=0 pkgdesc="The Rust package manager" url="https://crates.io" arch="x86_64" license="MIT ASL-2.0" depends="rust" makedepends="cmake curl-dev libssh2-dev openssl-dev python2 zlib-dev" subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp $pkgname-zsh-completion:zshcomp" # XXX: Cargo is self-hosted, so you need cargo to build cargo (ugh). # The problem is that Rust doesn't provide prebuilt cargo for musl yet. Thus # I bootstrapped cargo using cargo-bootstrap and uploaded the built tarball # to my server. We're gonna replace it once Rust start providing prebuilt # binary for musl. # TODO: Implement some support for verifying crates fetched by cargo! source="$pkgname-$pkgver.tar.gz::https://github.com/rust-lang/cargo/archive/$pkgver.tar.gz https://alpine.geeknet.cz/distfiles/cargo-0.11.0-nightly-x86_64-alpine-linux-musl.tar.gz musl-NFS_SUPER_MAGICK.patch " builddir="$srcdir/$pkgname-$pkgver" _CTARGET="$CARCH-unknown-linux-musl" prepare() { default_prepare || return 1 cd "$builddir" _mv "$srcdir"/cargo-*-$_CTARGET/cargo/* target/snapshot } build() { export CARGO_HOME="$builddir/.cargo" cd "$builddir" ./configure && make VERBOSE=1 } package() { cd "$builddir" make prepare-image-$_CTARGET IMGDIR_$_CTARGET="$pkgdir/usr" } bashcomp() { pkgdesc="Bash completions for $pkgname" depends="" arch="noarch" install_if="$pkgname=$pkgver-r$pkgrel bash" _mv "$pkgdir"/usr/etc/bash_completion.d/* \ "$subpkgdir"/usr/share/bash-completion/completions/ || return 1 # Clean directories which are supposed to be empty. rmdir "$pkgdir"/usr/etc/bash_completion.d && rmdir "$pkgdir"/usr/etc } zshcomp() { pkgdesc="ZSH completions for $pkgname" depends="" arch="noarch" install_if="$pkgname=$pkgver-r$pkgrel zsh" _mv "$pkgdir"/usr/share/zsh "$subpkgdir"/usr/share/ || return 1 rmdir "$pkgdir"/usr/share } _mv() { local dest; for dest; do true; done # get last argument mkdir -p "$dest" mv $@ } md5sums="39b2ef9d3f4ca9febf309f751806a357 cargo-0.11.0.tar.gz 79f81ecfa861f4d97a3b9235e66ba594 cargo-0.11.0-nightly-x86_64-alpine-linux-musl.tar.gz 284d4477b72157e5edb3b27f7045ab5e musl-NFS_SUPER_MAGICK.patch" sha256sums="4f390d7ea3352a1ecafb53d1a2b98c2e195b81a5c652342a8b91672d9f1dde0a cargo-0.11.0.tar.gz 587172026c0565e839d96b0c1d4c68c000927817398241f96682dca47fa8c3b9 cargo-0.11.0-nightly-x86_64-alpine-linux-musl.tar.gz 43a348ad5ef2830d109ac4a1c759b03f009281b58b4b8c1f3f6c463316c69fc8 musl-NFS_SUPER_MAGICK.patch" sha512sums="deb7254541182b0035cda2d4aecc30c55555ddcfebd660004de9b45d5c799619cbf4e79142dddca9e0a8469558d8f0d5268ea53221e62ef13a26a717731e6553 cargo-0.11.0.tar.gz 17838355ff6d87165aa0f61bd01f48c58a426c069bba7c3852d016e1836666bfafe2609c323a0409fc8530ad27fb3ad5989d8cee033633e38b07fefa670597d5 cargo-0.11.0-nightly-x86_64-alpine-linux-musl.tar.gz ab70985df7d32b6e82af806986ecf6ba22939d27b9d7abdd31e5c35d2ead668c8f56f2c53c59d86843c762fd43856cc22c57e3373cb746519dc68937bcdb86dd musl-NFS_SUPER_MAGICK.patch"