diff options
Diffstat (limited to 'community/maturin/APKBUILD')
-rw-r--r-- | community/maturin/APKBUILD | 111 |
1 files changed, 84 insertions, 27 deletions
diff --git a/community/maturin/APKBUILD b/community/maturin/APKBUILD index 6a34395fd92..92fd2d446c1 100644 --- a/community/maturin/APKBUILD +++ b/community/maturin/APKBUILD @@ -1,42 +1,99 @@ # Contributor: omni <omni+alpine@hack.org> -# Maintainer: omni <omni+alpine@hack.org> +# Maintainer: messense <messense@icloud.com> pkgname=maturin -pkgver=0.10.6 +pkgver=1.5.1 pkgrel=0 pkgdesc="Build and publish crates with pyo3, rust-cpython and cffi bindings" url="https://github.com/PyO3/maturin" -arch="aarch64 armv7 armhf x86 x86_64 ppc64le" # limited by rust -license="Apache-2.0 MIT" -makedepends="cargo dbus-dev" -checkdepends="py3-virtualenv py3-pyo py3-cffi libffi-dev python3-dev" -subpackages="$pkgname-doc" -source="$pkgname-$pkgver.tar.gz::https://github.com/PyO3/maturin/archive/v$pkgver.tar.gz - integration_tests_platform.patch" +arch="all" +license="Apache-2.0 OR MIT" +makedepends=" + bzip2-dev + cargo + dbus-dev + openssl-dev + py3-gpep517 + py3-setuptools + py3-setuptools-rust + py3-wheel + " +checkdepends=" + libffi-dev + patchelf + py3-cffi + py3-pyo + py3-virtualenv + python3-dev + " +subpackages=" + $pkgname-bash-completion + $pkgname-fish-completion + $pkgname-zsh-completion + py3-$pkgname:py3:noarch + " +source="$pkgname-$pkgver.tar.gz::https://github.com/PyO3/maturin/archive/v$pkgver.tar.gz" +options="net" + +_features="--features=full,native-tls" + +case "$CARCH" in +aarch64) + # zipfile.BadZipFile: Bad CRC-32 for file '_cffi_backend.cpython-312-aarch64-linux-musl.so' + options="$options !check" + ;; +s390x) + # s390x fails to build password-storage, so don't append it + ;; +*) + _features="$_features,password-storage" + ;; +esac + +prepare() { + default_prepare + + cargo fetch --target="$CTARGET" --locked +} build() { - case "$CARCH" in - ppc64le | s390x) cargo build --release --locked --no-default-features --features "log,human-panic" ;; - *) cargo build --release --locked --all-features ;; - esac + export OPENSSL_NO_VENDOR=1 + + export MATURIN_SETUP_ARGS="--no-default-features $_features" + + gpep517 build-wheel \ + --wheel-dir .dist \ + --output-fd 3 3>&1 >&2 + + ./target/release/maturin completions bash > $pkgname.bash + ./target/release/maturin completions fish > $pkgname.fish + ./target/release/maturin completions zsh > $pkgname.zsh } check() { - # enable interpreter "python" hack - mkdir "$builddir"/pythonbindir - ln -s /usr/bin/python3 "$builddir"/pythonbindir/python - export PATH="$PATH:$builddir/pythonbindir" - - case "$CARCH" in - ppc64le | s390x) cargo test --release --locked --no-default-features --features "log,human-panic" ;; - *) cargo test --release --locked --all-features ;; - esac + export OPENSSL_NO_VENDOR=1 + + cargo test \ + --frozen \ + --no-default-features $_features \ + -- --skip git_sdist_generator } package() { - install -Dm0755 target/release/$pkgname -t "$pkgdir"/usr/bin - install -Dm0644 license-apache "$pkgdir"/usr/share/licenses/$pkgname/license-apache - install -Dm0644 license-mit "$pkgdir"/usr/share/licenses/$pkgname/license-mit + install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname + install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish + install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname + + python3 -m installer -d "$pkgdir" \ + .dist/maturin*.whl +} + +py3() { + pkgdesc="$pkgdesc (python module)" + depends="$pkgname=$pkgver-r$pkgrel" + + amove usr/lib/python3* } -sha512sums="967c9275b2dca7ca0ebc597686680d2d33e7271b0beb0f477aac3776a3592e939ae9b155466a2cb5c8684e427217cc7d7e69b86c959ae8e6cbbd5f4cc8987501 maturin-0.10.6.tar.gz -7a9ff735f2594f844639f9d9611800e063ecf584457cc82f26c13f20b31e6068da21bfe650a35f79a40aba64f75df83dc77fdc00f3c68ae1f43d4896fcffa0f1 integration_tests_platform.patch" +sha512sums=" +92cca4b398f9ecf767ed7da27599cc328570e5ef18b39c0f1104438f2977395a02737c8a5c62d994490e248000cceaffbeba11cbf94e9f8756538851af8e6884 maturin-1.5.1.tar.gz +" |