mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-util/maturin: add 1.11.5
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
@@ -6,3 +6,5 @@ DIST maturin-1.11.3-vendor.tar.xz 16510300 BLAKE2B d5430cdfabaadb8ef4b350b1f80b1
|
||||
DIST maturin-1.11.3.gh.tar.gz 596142 BLAKE2B e251685a0d283e6de38febe7dd98baa4937505e15ef7580240a44aaeae2bc9e1ffff6b6461e84a4785a545915c2a11bf97fda7bca334528d62e6d2e7eaf510e9 SHA512 820d30f7a6dff462674df0b98ee08f6fbefdd074cd33555b91db670415151982e16e5a79d37164cea806058bf1e3c74d3ca76a9a7c6b6b3b990d40c3aa4dd4f9
|
||||
DIST maturin-1.11.4-vendor.tar.xz 16514440 BLAKE2B b0110c7933aaa9b7531aa7655085e52402f86bc6ae96858f0ea2b3b1e4ff9d9f305cc6a598be8eedcadcc84b6fb21a792dc3b8f6db3b3b5747d9487b47985073 SHA512 dc05f8d9f4bc0ab7c6c9cc34691fba28a2162a79d8cfa64b1cb81ee05fc7e1bc72bd4279a7eb011940d4f9936853e8fe381a607f8a801d11a66dbb6a92cceb18
|
||||
DIST maturin-1.11.4.gh.tar.gz 596874 BLAKE2B f2fe04b1b00b29fef7705f75a1c26b93d35f8baee45639af9c9fcc2d42d53e9f9811060a71c64279e216aa63425c42f8badf4d3624cd4288537683e9c495d307 SHA512 8b0b3af6f27afefadf6cd320cc8650fc6dd97bc565bb7d8a251a22dcc52318abb48b31ef26d075a2f2bee5448861f92f2cfb29433d5e3248c8cc631bfd350e91
|
||||
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
|
||||
|
||||
157
dev-util/maturin/maturin-1.11.5.ebuild
Normal file
157
dev-util/maturin/maturin-1.11.5.ebuild
Normal file
@@ -0,0 +1,157 @@
|
||||
# Copyright 1999-2026 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.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"
|
||||
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? ( OFL-1.1 )"
|
||||
LICENSE+="
|
||||
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"
|
||||
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-0.5 )
|
||||
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 "${T}"/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
|
||||
# these currently attempt to install tomli regardless of python version
|
||||
--skip pep517_default_profile
|
||||
--skip pep517_editable_profile
|
||||
)
|
||||
|
||||
cargo_src_test -- "${skip[@]}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
dobin "$(cargo_target_dir)"/maturin
|
||||
|
||||
dodoc Changelog.md README.md
|
||||
use doc && dodoc -r "${T}"/html
|
||||
|
||||
if ! tc-is-cross-compiler; then
|
||||
dobashcomp "${T}"/${PN}
|
||||
dofishcomp "${T}"/${PN}.fish
|
||||
dozshcomp "${T}"/_${PN}
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user