void-packages/srcpkgs/maturin/template
2021-12-08 10:42:55 -05:00

54 lines
1.8 KiB
Bash

# Template file for 'maturin'
pkgname=maturin
version=0.12.4
revision=1
build_style=cargo
build_helper=qemu
# Disable the 'rustls' feature, which leads to bad platform compatibility
# The list of enabled features should be reconciled with each new release
configure_args="--no-default-features --features log,upload,human-panic"
hostmakedepends="python3-setuptools python3-toml"
makedepends="openssl-devel"
depends="python3-toml"
short_desc="Build and publish crates as python packages"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="Apache-2.0, MIT"
homepage="https://github.com/PyO3/maturin"
# bump target-lexicon version if it changes in Cargo.lock
distfiles="${homepage}/archive/v${version}.tar.gz
https://github.com/bytecodealliance/target-lexicon/archive/v0.12.2.tar.gz>target-lexicon-${version}.tar.gz"
checksum="5a636c2f5b08654c09d50f429179d1fe93449474db503100a55b85adbad67dfc
b6c2ddab7498cf6eab8e637a5b7895f3170b2f9ef989861d1ff33af6c8459b27"
# Tests use unstable features and fail to build
make_check=no
post_extract() {
mv ../target-lexicon* target-lexicon
echo "[patch.crates-io]" >> Cargo.toml
echo "target-lexicon = { path = './target-lexicon' }" >> Cargo.toml
}
post_patch() {
# setup.py is broken, just use it for the pure python part
vsed -e 's/cmdclass.*/packages=["maturin"],/' -i setup.py
}
post_build() {
# python package is pure; the cross environment is not relevant
python3 setup.py build
# Generate some completions
_matbin="target/${RUST_TARGET}/release/maturin"
vtargetrun "${_matbin}" completions zsh > maturin.zsh
vtargetrun "${_matbin}" completions fish > maturin.fish
vtargetrun "${_matbin}" completions bash > maturin.bash
}
post_install() {
vlicense license-mit LICENSE-MIT
python3 setup.py install --prefix=/usr --root=${DESTDIR}
vcompletion maturin.zsh zsh
vcompletion maturin.fish fish
vcompletion maturin.bash bash
}