# Template file for 'maturin' pkgname=maturin version=0.11.2 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 " 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.1.tar.gz" checksum="4c37b25c327fedf46c0b0833d0e8a5c69e9edcdfeb5b6c946b94198001044f1d 0d9843a39228a70c05d4f6ebb1bc8c36900176ed71e40a410a4ef0f99fe510fe" 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 } do_check() { echo "Tests use unstable features and fail to build; skipping" } 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 }