From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 69831158287 for ; Thu, 15 May 2025 13:35:31 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 5561934323F for ; Thu, 15 May 2025 13:35:31 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 5328411036D; Thu, 15 May 2025 13:35:30 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 473C511036D for ; Thu, 15 May 2025 13:35:30 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E36A13431CC for ; Thu, 15 May 2025 13:35:29 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 51BFB289B for ; Thu, 15 May 2025 13:35:28 +0000 (UTC) From: "orbea" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "orbea" Message-ID: <1747315990.7faef0635da995810dfa5ec7412c514560bc84fe.orbea@gentoo> Subject: [gentoo-commits] repo/proj/libressl:master commit in: dev-util/maturin/ X-VCS-Repository: repo/proj/libressl X-VCS-Files: dev-util/maturin/Manifest dev-util/maturin/maturin-1.8.6.ebuild X-VCS-Directories: dev-util/maturin/ X-VCS-Committer: orbea X-VCS-Committer-Name: orbea X-VCS-Revision: 7faef0635da995810dfa5ec7412c514560bc84fe X-VCS-Branch: master Date: Thu, 15 May 2025 13:35:28 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 046e9c50-a544-4065-b804-889aae02e773 X-Archives-Hash: 6baedfacb7c0786d20caab47ed1e5833 commit: 7faef0635da995810dfa5ec7412c514560bc84fe Author: orbea riseup net> AuthorDate: Thu May 15 13:19:37 2025 +0000 Commit: orbea riseup 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 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 +}