diff options
Diffstat (limited to 'community/cargo-c/APKBUILD')
-rw-r--r-- | community/cargo-c/APKBUILD | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/community/cargo-c/APKBUILD b/community/cargo-c/APKBUILD new file mode 100644 index 00000000000..f648c7fdb0a --- /dev/null +++ b/community/cargo-c/APKBUILD @@ -0,0 +1,68 @@ +# Contributor: Oleg Titov <oleg.titov@gmail.com> +# Maintainer: Oleg Titov <oleg.titov@gmail.com> +pkgname=cargo-c +pkgver=0.9.31 +pkgrel=0 +pkgdesc="cargo subcommand to build and install C-ABI compatibile dynamic and static libraries" +url="https://github.com/lu-zero/cargo-c" +arch="all" +license="MIT" +# nghttp2-sys doesn't support system +makedepends=" + cargo + cargo-auditable + curl-dev + libgit2-dev + libssh2-dev + openssl-dev>3 + zlib-dev + " +subpackages="$pkgname-doc" +source="$pkgname-$pkgver.tar.gz::https://github.com/lu-zero/cargo-c/archive/v$pkgver.tar.gz + $pkgname-$pkgver-Cargo.lock::https://github.com/lu-zero/cargo-c/releases/download/v$pkgver/Cargo.lock" +options="net" # To download crates + +export LIBSSH2_SYS_USE_PKG_CONFIG=1 +export DEP_NGHTTP2_ROOT=/usr + +prepare() { + default_prepare + + cp "$srcdir"/$pkgname-$pkgver-Cargo.lock Cargo.lock + + # Rust target triple. + local target=$(rustc -vV | sed -n 's/host: //p') + + # Build against system-provided libs + mkdir -p .cargo + cat >> .cargo/config.toml <<-EOF + [target.$target] + git2 = { rustc-link-lib = ["git2"] } + EOF + + cargo fetch --target="$CTARGET" --locked +} + +build() { + cargo auditable build --release --frozen +} + +check() { + # fixes debug builds of p384 on 32b architectures + # https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/58129#note_391279 + export RUST_MIN_STACK=8388608 + + cargo test --frozen +} + +package() { + rm target/release/cargo-*.d + install -Dm755 target/release/cargo-* -t "$pkgdir"/usr/bin/ + + install -Dm644 -t "$pkgdir/usr/share/doc/cargo-c" README.md +} + +sha512sums=" +12aa5fd857ca6fdba50ffb08d120084ac063b5dfad037b54caf3e28ccaa36bfd07b43e61619ccce72c081655e1759be05f455ea93caebb0e763a63dd4246d0cf cargo-c-0.9.31.tar.gz +0366ba0c51954ee59f032aeb42a0dcc89aced5ffeb14fe5d7b2cd641009fee09eb81cc1025d3d14e4399184bba2154b0583e9045643e3af8384c72fdee32e1be cargo-c-0.9.31-Cargo.lock +" |