public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "orbea" <orbea@riseup.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/libressl:master commit in: dev-util/maturin/
Date: Thu, 15 May 2025 13:35:28 +0000 (UTC)	[thread overview]
Message-ID: <1747315990.7faef0635da995810dfa5ec7412c514560bc84fe.orbea@gentoo> (raw)

commit:     7faef0635da995810dfa5ec7412c514560bc84fe
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Thu May 15 13:19:37 2025 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Thu May 15 13:33:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=7faef063

dev-util/maturin: add 1.8.6

Closes: https://github.com/gentoo/libressl/issues/593
Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-util/maturin/Manifest             |   2 +
 dev-util/maturin/maturin-1.8.6.ebuild | 165 ++++++++++++++++++++++++++++++++++
 2 files changed, 167 insertions(+)

diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest
index dc07efd..acfb472 100644
--- a/dev-util/maturin/Manifest
+++ b/dev-util/maturin/Manifest
@@ -2,3 +2,5 @@ DIST maturin-1.8.3-vendor.tar.xz 15014308 BLAKE2B 5dec263a5297108e5ac36ca6a05f70
 DIST maturin-1.8.3.gh.tar.gz 544455 BLAKE2B 0e0115331a8e23d03b8c96348b505d9573988c1f6fdbf9c179d6c94a0d3aa3d448727babb9d7f6e85ae2bc3f2a8201c7b32dbba894228f0035055662449b1556 SHA512 b4f79df7b099777d6068d2705fd6ca6a79c0a96c77530dcca26fef5d09b39a57feabab9d3871fc5b4760df234955329222dc29a86df5404d880140f1a3736431
 DIST maturin-1.8.5-vendor.tar.xz 15029800 BLAKE2B f81a5700cbc492b333e162b4cd60b53a58500a12686362ea4275b701568ed3aecf64d90167d02f5296c297bb71cb3511dc04f327e95bfafcf5023d8b49f67074 SHA512 ddd891c1e0311939fcd0601e9ec5cc16ea41ba55eef5944f2f3fd29dad8ab8f3c3cdb48a76e672761c11afa1d1979690400a3978440ce669aa62fe8a3a42b7c2
 DIST maturin-1.8.5.gh.tar.gz 551557 BLAKE2B bdc5467c618ef253cbf05c3710c8ffdf37b8d424daa70b918f9afeb1cd5d5c0fb8c4393b4c2ec0589223822b61eda7613582f671be733ff995a55013eb7073ca SHA512 fca9aff8bc6fc6b31c0346d29af3de9b60b59f6c063d4672702114be3631aaf330462e2a46824fd54a741ca693691035d53bac9c5d3d4c176a7b8a5e46f1f460
+DIST maturin-1.8.6-vendor.tar.xz 15035340 BLAKE2B 0bc4016f460c704ac2be81af27842f65ddec9c69ea6a7c29fc421dc863c629109e4efbb6d87825d05c8d33f9e4803eb63081726a8d6d6dcd710c78ed6bca6f9c SHA512 c338cf375640f75d9b9c0151ea9e4ba99781ec6ca065f39e27020c37ce0505c085844d16426df8597063e1f15a965575150a0b25fe6bfc3841c483a45a80a12d
+DIST maturin-1.8.6.gh.tar.gz 551946 BLAKE2B 4fbeadeb25b69e99286238c9f7b7acb2bdde05242af760a0279664277334831a8cd03db49ddb3a0d528b6acd827d3ee3863e283318270ee53c3710c103c7461f SHA512 2616b3bcdbb96c77a3efeda5a24841675fded9d1299507c64905c94e57af15afa855c329f013a1e36527c2b8de4bf7acfb060e5d2828558da658a7b86d88bf8f

diff --git a/dev-util/maturin/maturin-1.8.6.ebuild b/dev-util/maturin/maturin-1.8.6.ebuild
new file mode 100644
index 0000000..3e63004
--- /dev/null
+++ b/dev-util/maturin/maturin-1.8.6.ebuild
@@ -0,0 +1,165 @@
+# 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
+
+# rustls+ring is unused, so openssl license can be skipped
+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 )"
+
+DEPEND="
+	app-arch/xz-utils
+	ssl? ( dev-libs/openssl:= )
+"
+RDEPEND="${DEPEND}"
+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 "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
+
+	# 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
+		# fails on sparc since rust-1.74 (bug #934573), skip for now given
+		# should not affect the pep517 backend which is all we need on sparc
+		$(usev sparc '--skip build_context::test::test_macosx_deployment_target')
+	)
+
+	cargo_src_test -- "${skip[@]}"
+}
+
+python_install_all() {
+	cargo_src_install
+
+	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	other threads:[~2025-05-15 13:35 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-15 13:35 orbea [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-10-10 16:31 [gentoo-commits] repo/proj/libressl:master commit in: dev-util/maturin/ orbea
2025-10-10 16:31 orbea
2025-09-08 16:44 orbea
2025-09-08 16:44 orbea
2025-09-08 16:44 orbea
2025-09-08 16:44 orbea
2025-08-08  3:41 orbea
2025-07-31 18:07 orbea
2025-07-31 18:07 orbea
2025-05-13 14:11 orbea
2025-05-13 14:11 orbea
2025-01-20 16:24 orbea
2025-01-12 16:31 orbea
2025-01-04 15:17 orbea
2024-12-29 17:45 orbea
2024-12-20 17:32 orbea
2024-12-20 17:32 orbea
2024-12-12  2:07 orbea
2024-12-01  6:08 orbea
2024-11-10 16:03 orbea
2024-11-10 16:03 orbea
2024-10-22  1:20 orbea
2024-10-22  1:20 orbea
2024-10-22  1:20 orbea
2024-08-01  1:26 orbea
2024-07-22  5:12 orbea
2024-04-22 23:44 orbea
2024-04-22 23:44 orbea
2023-11-14  0:07 orbea
2023-10-18 17:01 orbea
2023-09-06  1:31 orbea
2023-09-06  1:31 orbea
2023-08-24 15:53 orbea

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1747315990.7faef0635da995810dfa5ec7412c514560bc84fe.orbea@gentoo \
    --to=orbea@riseup.net \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox