diff options
Diffstat (limited to 'community/maturin/APKBUILD')
-rw-r--r-- | community/maturin/APKBUILD | 95 |
1 files changed, 69 insertions, 26 deletions
diff --git a/community/maturin/APKBUILD b/community/maturin/APKBUILD index 968542addd5..92fd2d446c1 100644 --- a/community/maturin/APKBUILD +++ b/community/maturin/APKBUILD @@ -1,29 +1,68 @@ # Contributor: omni <omni+alpine@hack.org> # Maintainer: messense <messense@icloud.com> pkgname=maturin -pkgver=0.12.18 +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 openssl-dev" -checkdepends="py3-virtualenv py3-pyo py3-cffi libffi-dev python3-dev" +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-doc $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() { export OPENSSL_NO_VENDOR=1 - case "$CARCH" in - ppc64le | s390x) cargo build --release --locked \ - --no-default-features --features "log,human-panic,password-storage,upload,native-tls" ;; - *) cargo build --release --locked --features "password-storage" ;; - esac + + 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 @@ -32,25 +71,29 @@ build() { check() { export OPENSSL_NO_VENDOR=1 - # 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,password-storage,upload,native-tls" ;; - *) cargo test --release --locked --features "password-storage" ;; - esac + + 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/completions/$pkgname.fish + 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="c4e4c758d9f73e6a6804bb9daccc60b21b9b77b6e3e0f32afc7788e98ce5664de77227f89e7c9f1d4b4330d671c190e3fb6f3c6b3abfcb1c22722b080a53bfbc maturin-0.12.18.tar.gz" +sha512sums=" +92cca4b398f9ecf767ed7da27599cc328570e5ef18b39c0f1104438f2977395a02737c8a5c62d994490e248000cceaffbeba11cbf94e9f8756538851af8e6884 maturin-1.5.1.tar.gz +" |