dev-util/maturin: Sync with Gentoo

It's from Gentoo commit 680a147dd104aef8802205c6364bbfa753aca30d.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-01-12 07:12:21 +00:00 committed by Krzesimir Nowak
parent df7bc6e81d
commit 994f0a36ce
4 changed files with 20 additions and 173 deletions

View File

@ -1,6 +1,4 @@
DIST maturin-1.10.1-vendor.tar.xz 16231828 BLAKE2B 639f91b569a9286bdfee615c07bfbe73c07db79983833cd85d820ca061732b56282f2474184a4c36870fdde126ac7e05ce788a5c757a64f586b852536e3becd2 SHA512 f76e0a6c2fee9cd243c813c29ce0fe445edec9b6f703151cd59ba6f2cef549fc6812ac89fcdd02b77f8e2830caa4fe5c237f48943bb16fe0368512a9e22a93ae
DIST maturin-1.10.1.gh.tar.gz 586836 BLAKE2B 56187009b4e240c5fcd56666a7d45cef406bb6e534164197f64427101c18aa38aebbb9f1fc0404b250c8e48030a9cbda748d28616817fda1d4ad4e5a60da7bb9 SHA512 9246d7bfc7992d9365b69096955beb36921105bc4988220b35b74aa6b4aee6fa63d0033377bb4c02e77a61637e1d951a0dc4d3cadef13af50edd6d97f06f2211
DIST maturin-1.9.4-vendor.tar.xz 15870760 BLAKE2B 8ea5a26d618fc2698ecf0a264a81d41a28b0e74602dc6004c6a72788c1b5f7e65e9efbc56e2e2b2418f550055ff4510bdb7d77445472da300a495d31a3e84a11 SHA512 901ff4dd5901ea21f6f0ef6c055e58f3592ef651f95c413669f4fabdc009c55a453247866ab23a4ebf4c0a1b987084eeb9719d0f474ec72587bc0fba964958e2
DIST maturin-1.9.4.gh.tar.gz 564039 BLAKE2B 968c3838ba27c358fca2d00c748ecc0b8a19ca4d0c2da61c6b2df9fb1a6387366bf9ff600a3850e9cc866fe1516e4be468f2eb229030a1d85a023e2d59106d02 SHA512 8fb6dcb1d75f47b41b3541b5084fdf3c64f4264b8f254a2767449963cde2f9f8dbef833273d245e87732ebfc8ff61139ef463b18888f422365361fc8fa966fca
DIST maturin-1.9.6-vendor.tar.xz 15789148 BLAKE2B 74b7b1b7ec6b0b0339f7833e6dbfe1ab77324edf6199a20e1820fb784da635ac5e60297201e225bc99b521a88eee75e9b45b8db447ad962585ee4cb158424fe1 SHA512 77a800cc9652529507628acbab7dd3c27fb80a3972499fd5c342054db4ae104c5e42d343f08d23fee56aa58d929c82a4f9c41c3cf172f4a3044b4f4279b1fe4a
DIST maturin-1.9.6.gh.tar.gz 571883 BLAKE2B f47d2fa2899d3e3f489985746afdc15854180915aaad1b365f16c11808e6338f7ea5d83792357bb907c81f59a78b872786d3d49365cd068112aea16e4b9aeb8c SHA512 6e1c43f2b81a5f13be11d5ab488a3f6614a447cedf7e1242006a1bcd738ef29482e04b9a255fa4b54f1893d7a534a9758977695c13d7261b0723dfe725367ff3
DIST maturin-1.10.2-vendor.tar.xz 16239924 BLAKE2B 6561098c0e9c6d42239a53ed01a59d68967df6c26190ea8e35d207ee4631dca9eda588cac8de2f75c47f86f7866d45604bc19e12625fcb6286b2c75dabfda6f6 SHA512 80a588970b93e0cf9f4bca5aa4541bb7aa080c491285fe39cabc8747f2b43f8e7d6cb6bc0b37f24841181bd12a6ba8fe7d0518d5f2dea0f791f0266fda327bde
DIST maturin-1.10.2.gh.tar.gz 586416 BLAKE2B a1aa5edcdc40b96149605b4fbe3672a8f7ec69327b42a96915fd8ba55aa4a03798b59db9d228e8df5be195933613080768ade58ca8d393aae2c123508c9d28a0 SHA512 5b14426d8324e48ccce1979ddc6b71a2055b725d090156a5de5b54c598ed2da282da54e25fe5dfe260ab09f4788f4af6235272e266ee62bd6a690ce5476c758a
DIST maturin-1.11.5-vendor.tar.xz 16507616 BLAKE2B 83b6607c91a0925ad52bbdb888eef01fa871a29129600471269d25c9a2a56206c845a56f1bfd5dbcaaf9b74da88df35e6f3c857d551834fc8564853d6e455b0e SHA512 94a8c8cb296afd33da5175e6ce39ecd8ccb739df30bfac0476551352a002032cefa5de6ea41c81f65cd905225d1cf8a13f473594560a8f2a29df563a4adc9e9a
DIST maturin-1.11.5.gh.tar.gz 596610 BLAKE2B f78673c59d13211771d37b74468041255cb8f7fa2113851e3fda2da8811e34c1a6e5c0eeb5d61430653342b97f899fff24984446e533759d3db06458afab2eda SHA512 49e7976be5790f524d5a423519c4ee73ccb450f0e84fea5ba691421cd8e303cb4166324d42985b1ae321a71c4295f244632da194a5be7cacbe7951cdbc0dbb92

View File

@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_UPSTREAM_PEP517=standalone
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
RUST_MIN_VER=1.75.0
RUST_MIN_VER=1.83.0
inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs
DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings"
@ -18,10 +18,10 @@ SRC_URI="
"
# ^ tarball also includes test-crates' Cargo.lock(s) crates for tests
LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )"
LICENSE="|| ( Apache-2.0 MIT ) doc? ( OFL-1.1 )"
LICENSE+="
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT
MPL-2.0 Unicode-3.0 Unicode-DFS-2016
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0
Unicode-3.0 ZLIB BZIP2
" # crates
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
@ -36,7 +36,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
doc? ( app-text/mdbook )
doc? ( >=app-text/mdbook-0.5 )
test? (
$(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
dev-python/boltons[${PYTHON_USEDEP}]
@ -102,7 +102,7 @@ src_configure() {
python_compile_all() {
cargo_src_compile
use !doc || mdbook build -d html guide || die
use !doc || mdbook build -d "${T}"/html guide || die
if ! tc-is-cross-compiler; then
local maturin=$(cargo_target_dir)/maturin
@ -135,6 +135,9 @@ python_test() {
--skip develop_pyo3_ffi_pure::case_2
# compliance test using zig requires an old libc to pass (bug #946967)
--skip integration_pyo3_mixed_py_subdir
# these currently attempt to install tomli regardless of python version
--skip pep517_default_profile
--skip pep517_editable_profile
)
cargo_src_test -- "${skip[@]}"
@ -144,7 +147,7 @@ python_install_all() {
dobin "$(cargo_target_dir)"/maturin
dodoc Changelog.md README.md
use doc && dodoc -r guide/html
use doc && dodoc -r "${T}"/html
if ! tc-is-cross-compiler; then
dobashcomp "${T}"/${PN}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_UPSTREAM_PEP517=standalone
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
RUST_MIN_VER=1.83.0
RUST_MIN_VER=1.85.0
inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs
DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings"
@ -18,7 +18,7 @@ SRC_URI="
"
# ^ tarball also includes test-crates' Cargo.lock(s) crates for tests
LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )"
LICENSE="|| ( Apache-2.0 MIT ) doc? ( OFL-1.1 )"
LICENSE+="
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0
Unicode-3.0 ZLIB BZIP2
@ -36,7 +36,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
doc? ( app-text/mdbook )
doc? ( >=app-text/mdbook-0.5 )
test? (
$(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
dev-python/boltons[${PYTHON_USEDEP}]
@ -102,7 +102,7 @@ src_configure() {
python_compile_all() {
cargo_src_compile
use !doc || mdbook build -d html guide || die
use !doc || mdbook build -d "${T}"/html guide || die
if ! tc-is-cross-compiler; then
local maturin=$(cargo_target_dir)/maturin
@ -147,7 +147,7 @@ python_install_all() {
dobin "$(cargo_target_dir)"/maturin
dodoc Changelog.md README.md
use doc && dodoc -r guide/html
use doc && dodoc -r "${T}"/html
if ! tc-is-cross-compiler; then
dobashcomp "${T}"/${PN}

View File

@ -1,154 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_UPSTREAM_PEP517=standalone
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
RUST_MIN_VER=1.75.0
inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs
DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings"
HOMEPAGE="https://www.maturin.rs/"
SRC_URI="
https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz
-> ${P}.gh.tar.gz
https://dev.gentoo.org/~ionen/distfiles/${P}-vendor.tar.xz
"
# ^ tarball also includes test-crates' Cargo.lock(s) crates for tests
LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )"
LICENSE+="
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT
MPL-2.0 Unicode-3.0 Unicode-DFS-2016
" # crates
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="doc +ssl test"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/xz-utils
app-arch/zstd:=
ssl? ( dev-libs/openssl:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
doc? ( app-text/mdbook )
test? (
$(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
dev-python/boltons[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
dev-vcs/git
elibc_musl? ( dev-util/patchelf )
)
"
QA_FLAGS_IGNORED="usr/bin/${PN}"
src_prepare() {
distutils-r1_src_prepare
# we build the Rust executable (just once) via cargo_src_compile
sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die
if use test; then
# used to prevent use of network during tests, and silence pip
# if it finds unrelated issues with system packages (bug #913613)
cat > "${T}"/pip.conf <<-EOF || die
[global]
quiet = 2
[install]
no-index = yes
no-dependencies = yes
EOF
# uv does not work easily w/ network-sandbox, force virtualenv
sed -i 's/"uv"/"uv-not-found"/' tests/common/mod.rs || die
# increase timeouts for tests (bug #950332)
sed -i '/^#\[timeout/s/secs(60)/secs(300)/' tests/run.rs || die
# used by *git_sdist_generator tests
git init -q || die
git config --global user.email "larry@gentoo.org" || die
git config --global user.name "Larry the Cow" || die
git add . || die
git commit -qm init || die
fi
}
src_configure() {
export OPENSSL_NO_VENDOR=1
export ZSTD_SYS_USE_PKG_CONFIG=1
# https://github.com/rust-lang/stacker/issues/79
use s390 && ! is-flagq '-march=*' &&
append-cflags $(test-flags-CC -march=z10)
local myfeatures=(
# like release.yml + native-tls for better platform support than rustls
full
password-storage
$(usev ssl native-tls)
)
cargo_src_configure --no-default-features
}
python_compile_all() {
cargo_src_compile
use !doc || mdbook build -d html guide || die
if ! tc-is-cross-compiler; then
local maturin=$(cargo_target_dir)/maturin
"${maturin}" completions bash > "${T}"/${PN} || die
"${maturin}" completions fish > "${T}"/${PN}.fish || die
"${maturin}" completions zsh > "${T}"/_${PN} || die
else
ewarn "shell completion files were skipped due to cross-compilation"
fi
}
python_test() {
local -x MATURIN_TEST_PYTHON=${EPYTHON}
local -x PIP_CONFIG_FILE=${T}/pip.conf
local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1
# need this for (new) python versions not yet recognized by pyo3
local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
local skip=(
# picky cli output test that easily benignly fail (bug #937992)
--skip cli_tests
# avoid need for wasm over a single hello world test
--skip integration_wasm_hello_world
# fragile depending on rust version, also wants libpypy*-c.so for pypy
--skip pyo3_no_extension_module
# unimportant tests that require uv, and not obvious to get it
# to work with network-sandbox (not worth the trouble)
--skip develop_hello_world::case_2
--skip develop_pyo3_ffi_pure::case_2
# compliance test using zig requires an old libc to pass (bug #946967)
--skip integration_pyo3_mixed_py_subdir
)
cargo_src_test -- "${skip[@]}"
}
python_install_all() {
dobin "$(cargo_target_dir)"/maturin
dodoc Changelog.md README.md
use doc && dodoc -r guide/html
if ! tc-is-cross-compiler; then
dobashcomp "${T}"/${PN}
dofishcomp "${T}"/${PN}.fish
dozshcomp "${T}"/_${PN}
fi
}