aboutsummaryrefslogtreecommitdiffstats
path: root/community/cargo-c/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/cargo-c/APKBUILD')
-rw-r--r--community/cargo-c/APKBUILD68
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
+"