packages/cargo-c/PKGBUILD

48 lines
1.7 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Daniel Bermond <dbermond@archlinux.org>
pkgname=cargo-c
pkgver=0.10.7
pkgrel=1
pkgdesc='A cargo subcommand to build and install C-ABI compatibile dynamic and static libraries'
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url='https://github.com/lu-zero/cargo-c/'
license=('MIT')
depends=(
'cargo'
'curl' 'libcurl.so'
'gcc-libs'
'glibc'
'openssl' 'libssl.so'
'zlib' 'libz.so'
)
options=(!lto)
source=("https://github.com/lu-zero/cargo-c/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz"
"${pkgname}-${pkgver}.Cargo.lock"::"https://github.com/lu-zero/cargo-c/releases/download/v${pkgver}/Cargo.lock")
sha256sums=('c4532dd2bf23769df5f64649d5b0c037fb2a29467c74d16a54bad3054d9f3f3a'
'7272f41442713ce20c42198fdf9128a77b539ded1649872ab88dc1411db8dee4')
prepare() {
ln -sf "../${pkgname}-${pkgver}.Cargo.lock" "${pkgname}-${pkgver}/Cargo.lock"
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" --manifest-path="${pkgname}-${pkgver}/Cargo.toml"
}
build() {
export CFLAGS+=' -ffat-lto-objects'
export RUSTUP_TOOLCHAIN='stable'
export CARGO_TARGET_DIR="${pkgname}-${pkgver}/target"
cargo build --release --frozen --manifest-path="${pkgname}-${pkgver}/Cargo.toml"
}
check() {
export CFLAGS+=' -ffat-lto-objects'
export RUSTUP_TOOLCHAIN='stable'
export CARGO_TARGET_DIR="${pkgname}-${pkgver}/target"
cargo test --frozen --manifest-path="${pkgname}-${pkgver}/Cargo.toml"
}
package() {
find "${pkgname}-${pkgver}/target/release" -maxdepth 1 -type f -executable -exec install -D -m755 -t "${pkgdir}/usr/bin" {} +
install -D -m644 "${pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}