aboutsummaryrefslogtreecommitdiffstats
path: root/community/maturin/APKBUILD
blob: d190929871be1030541ab3f5f89dd3fb6fd6fb9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Contributor: omni <omni+alpine@hack.org>
# Maintainer: messense <messense@icloud.com>
pkgname=maturin
pkgver=0.14.14
pkgrel=0
pkgdesc="Build and publish crates with pyo3, rust-cpython and cffi bindings"
url="https://github.com/PyO3/maturin"
arch="all"
license="Apache-2.0 OR MIT"
makedepends="
	cargo
	dbus-dev
	openssl-dev>3
	py3-gpep517
	py3-setuptools
	py3-setuptools-rust
	py3-wheel
	"
checkdepends="py3-virtualenv py3-pyo py3-cffi libffi-dev 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
	cargo-args.patch
	"

_features="--features=log,human-panic,upload,native-tls"

case "$CARCH" in
s390x)
	# s390x fails to build password-storage, so don't append it
	;;
*)
	_features="$_features,password-storage"
	;;
esac

case "$CARCH" in
riscv64)
	options="$options textrels"
	;;
esac

export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"

prepare() {
	default_prepare

	cargo fetch --target="$CTARGET" --locked
}

build() {
	export OPENSSL_NO_VENDOR=1

	export MATURIN_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() {
	export OPENSSL_NO_VENDOR=1

	cargo test --frozen --no-default-features $_features
}

package() {
	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.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="
3fafc15732c32a49797c05166e3e2a1289b8b85200c13beb9dbafda9445bb1dea2f503f4f4cc6776d272652e64eb53997e9588ffcdfd9824adf7d751c6f604e2  maturin-0.14.14.tar.gz
00d356cad073afa11e6f35d2c5662143409a88d5bc6bde85dd2eaaabed988a6976838a48cd9905c7e61286d5ee21c71a4772763f0f7f836c7d081176056485c1  cargo-args.patch
"