commit:     fde55ffaf2c15bb6faaed8d926670658f19364fe
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Oct 31 20:44:56 2025 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri Oct 31 20:44:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=fde55ffa

dev-util/maturin: add 1.9.5, 1.9.6

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-util/maturin/Manifest             |   4 +
 dev-util/maturin/maturin-1.9.5.ebuild | 163 ++++++++++++++++++++++++++++++++++
 dev-util/maturin/maturin-1.9.6.ebuild | 163 ++++++++++++++++++++++++++++++++++
 3 files changed, 330 insertions(+)

diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest
index 1ae4758..d1702c1 100644
--- a/dev-util/maturin/Manifest
+++ b/dev-util/maturin/Manifest
@@ -1,2 +1,6 @@
 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.5-vendor.tar.xz 15793068 BLAKE2B 
bf627f4cd57f8eca78090fbe6372678f1c2c21b69fd5482a2fa883c9d02ac351093278b66dbdf64894137deac6a610106f67b396255a394c5bdf5ef50247afca
 SHA512 
0cf29ccc3a55f9f66bf0e75243d01ffa1a231c2f2be4e07d0f09cec3174a137aaaffbff23d35e9dc978d45c0c9b4a6dd4d2972d7e4970bef055135e91d973273
+DIST maturin-1.9.5.gh.tar.gz 571851 BLAKE2B 
c884102228a2281303b11971150a2011ec50f8d64c8643229274866b336547e97ca43817ec55444d6fdf67eeecccf9d0b39c5e19c2d606db939fe5c36210a55a
 SHA512 
afbd75a6f479b7ebf4e17efd3eb56e12ef313a686ba919962842437f4e2d2b381eb9a1fa287c222e4fabfa3f353db91aeb8429548d388819ed261a36f7fc1707
+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

diff --git a/dev-util/maturin/maturin-1.9.5.ebuild 
b/dev-util/maturin/maturin-1.9.5.ebuild
new file mode 100644
index 0000000..a5e8506
--- /dev/null
+++ b/dev-util/maturin/maturin-1.9.5.ebuild
@@ -0,0 +1,163 @@
+# 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}"
+
+eapply_crate() {
+       pushd "vendor/${1:?}" > /dev/null || die
+       eapply "${2:?}"
+       popd > /dev/null || die
+       sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || 
die
+}
+
+src_prepare() {
+       eapply_crate openssl-sys-0.9.107 
"${FILESDIR}/${PN}-1.8.2-libressl-openssl-sys-0.9.105.patch"
+
+       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 "[email protected]" || 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
+}

diff --git a/dev-util/maturin/maturin-1.9.6.ebuild 
b/dev-util/maturin/maturin-1.9.6.ebuild
new file mode 100644
index 0000000..40b295b
--- /dev/null
+++ b/dev-util/maturin/maturin-1.9.6.ebuild
@@ -0,0 +1,163 @@
+# 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}"
+
+eapply_crate() {
+       pushd "vendor/${1:?}" > /dev/null || die
+       eapply "${2:?}"
+       popd > /dev/null || die
+       sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || 
die
+}
+
+src_prepare() {
+       eapply_crate openssl-sys-0.9.107 
"${FILESDIR}/${PN}-1.8.2-libressl-openssl-sys-0.9.105.patch"
+
+       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 "[email protected]" || 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
+}

Reply via email to