From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1520789-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C870F15806E for <garchives@archives.gentoo.org>; Tue, 23 May 2023 14:35:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E4151E0923; Tue, 23 May 2023 14:35:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (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 pigeon.gentoo.org (Postfix) with ESMTPS id BFA71E0923 for <gentoo-commits@lists.gentoo.org>; Tue, 23 May 2023 14:35:14 +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 96E0D335D8A for <gentoo-commits@lists.gentoo.org>; Tue, 23 May 2023 14:35:13 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DF454A67 for <gentoo-commits@lists.gentoo.org>; Tue, 23 May 2023 14:35:11 +0000 (UTC) From: "Ionen Wolkens" <ionen@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" <ionen@gentoo.org> Message-ID: <1684852471.9e3f22ce1a2e0bb6176b22ee18f088b712c1bc7e.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/maturin/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-util/maturin/Manifest dev-util/maturin/maturin-1.0.0.ebuild X-VCS-Directories: dev-util/maturin/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 9e3f22ce1a2e0bb6176b22ee18f088b712c1bc7e X-VCS-Branch: master Date: Tue, 23 May 2023 14:35:11 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 0dc73944-7f76-40e5-9ec5-9760e9572c10 X-Archives-Hash: 7fb45cd0792e2856b89440d42809debe commit: 9e3f22ce1a2e0bb6176b22ee18f088b712c1bc7e Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Tue May 23 14:19:27 2023 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Tue May 23 14:34:31 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e3f22ce dev-util/maturin: add 1.0.0 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> dev-util/maturin/Manifest | 1 + dev-util/maturin/maturin-1.0.0.ebuild | 476 ++++++++++++++++++++++++++++++++++ 2 files changed, 477 insertions(+) diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest index f3c18f24d5ec..356b526d7f11 100644 --- a/dev-util/maturin/Manifest +++ b/dev-util/maturin/Manifest @@ -202,6 +202,7 @@ DIST maturin-0.14.17.gh.tar.gz 392461 BLAKE2B 4d0d2d5101a05017883b27dca270c3f3b8 DIST maturin-0.15.1.gh.tar.gz 425107 BLAKE2B 2a1b50080033618c062ec2013779465a1eb11cbd5b2f8800cbd8b46b9c75709cbe0cdbeb3fe0d5f7564e10e3d27e6439e9e2caea6bf7a0049f5474353c1ba53c SHA512 e298abb3cbfeae266c5f7c4bc8e57154527a5d040bf0276afe6e63e6d56978101ef399ab4883e7a5826d5eaa31f03019130200ca519b08d4e3bb0a12bee8eb77 DIST maturin-0.15.2.gh.tar.gz 425933 BLAKE2B 8efd8bd1a4580dcccec5261031333af07818107808df4d6e86281d23e76303d9692406c4648e980d3550498a1c4524cce3ececdfbe9a737e8283cfb6e070face SHA512 360965fe33d67fb0c75310b9dee357ccbdc71dffda92778a23d2044312728a38869579e3703ed357bc14869f06d482c550c6daaa2f8b5c403de39e82987397a9 DIST maturin-0.15.3.gh.tar.gz 427294 BLAKE2B 61dda09204420eafed248544364eef4af0af13820e9d3ac1713399dd09fb59312c87ef17efcb5933d717d89a9d70b6fc8bad3bf8db2f31c5784643d4006c18fb SHA512 a23ffda02afad59a11ce81ee62fcd455be7d410b922fac9af36a8eb355d86a8de58a1e13608f535c4312e5bed22869f48ccc811a3a8921293dee3e7d54e77906 +DIST maturin-1.0.0.gh.tar.gz 427098 BLAKE2B 246abc31bd5f9d52a6ec76e631e14dce5574ee578a79ab400514c4bd6cd3c1df3709b9da3484680a88580310d28542fbefad3b0e6e6a998c648c077f8f3d5ad1 SHA512 69af5162134c6b0601b7bab3f6198085633e616960edcbf2792a77a6af756da9d9237e49c8a190cd68c7694f0c63fa4d80d661c1bf3786c261edbac0f80cafcf DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe diff --git a/dev-util/maturin/maturin-1.0.0.ebuild b/dev-util/maturin/maturin-1.0.0.ebuild new file mode 100644 index 000000000000..ec18beb0cdc1 --- /dev/null +++ b/dev-util/maturin/maturin-1.0.0.ebuild @@ -0,0 +1,476 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler-1.0.2 + ahash-0.7.6 + aho-corasick-0.7.20 + anyhow-1.0.71 + autocfg-1.1.0 + base64-0.13.1 + base64-0.21.0 + bitflags-1.3.2 + block-buffer-0.10.4 + bstr-1.4.0 + bumpalo-3.12.2 + byteorder-1.4.3 + bytes-1.4.0 + bytesize-1.2.0 + bzip2-0.4.4 + bzip2-sys-0.1.11+1.0.8 + cab-0.4.1 + camino-1.1.4 + cargo-config2-0.1.7 + cargo-options-0.6.0 + cargo-platform-0.1.2 + cargo-xwin-0.14.2 + cargo-zigbuild-0.16.9 + cargo_metadata-0.15.4 + cbindgen-0.24.3 + cc-1.0.79 + cfb-0.7.3 + cfg-expr-0.15.1 + cfg-if-1.0.0 + charset-0.1.3 + chumsky-0.9.2 + clap-4.1.14 + clap_builder-4.1.14 + clap_complete-4.2.3 + clap_complete_command-0.5.1 + clap_complete_fig-4.2.0 + clap_complete_nushell-0.1.10 + clap_derive-4.1.14 + clap_lex-0.4.1 + cli-table-0.4.7 + concolor-0.0.11 + concolor-query-0.1.0 + configparser-3.0.2 + console-0.15.5 + content_inspector-0.2.4 + core-foundation-0.9.3 + core-foundation-sys-0.8.4 + cpufeatures-0.2.7 + crc32fast-1.3.2 + crossbeam-channel-0.5.8 + crossbeam-deque-0.8.3 + crossbeam-epoch-0.9.14 + crossbeam-utils-0.8.15 + crypto-common-0.1.6 + ctor-0.1.26 + data-encoding-2.3.3 + dialoguer-0.10.4 + diff-0.1.13 + digest-0.10.6 + dirs-4.0.0 + dirs-sys-0.3.7 + dunce-1.0.4 + either-1.8.1 + encode_unicode-0.3.6 + encoding_rs-0.8.32 + errno-0.2.8 + errno-dragonfly-0.1.2 + fastrand-1.9.0 + fat-macho-0.4.6 + filetime-0.2.19 + flate2-1.0.26 + fnv-1.0.7 + foreign-types-0.3.2 + foreign-types-shared-0.1.1 + form_urlencoded-1.1.0 + fs-err-2.9.0 + generic-array-0.14.7 + getrandom-0.2.9 + glob-0.3.1 + globset-0.4.10 + goblin-0.6.1 + hashbrown-0.12.3 + heck-0.4.1 + hermit-abi-0.2.6 + home-0.5.4 + humantime-2.1.0 + humantime-serde-1.1.1 + idna-0.3.0 + ignore-0.4.20 + indexmap-1.9.3 + indicatif-0.17.3 + indoc-2.0.1 + instant-0.1.12 + io-lifetimes-1.0.4 + is-terminal-0.4.2 + itertools-0.10.5 + itoa-1.0.6 + js-sys-0.3.63 + keyring-2.0.2 + lazy_static-1.4.0 + lddtree-0.3.2 + libc-0.2.144 + linux-keyutils-0.2.3 + linux-raw-sys-0.1.4 + lock_api-0.4.9 + log-0.4.17 + lzxd-0.1.4 + mailparse-0.13.8 + matchers-0.1.0 + memchr-2.5.0 + memoffset-0.8.0 + mime-0.3.17 + mime_guess-2.0.4 + minijinja-0.32.1 + minimal-lexical-0.2.1 + miniz_oxide-0.7.1 + msi-0.5.1 + multipart-0.18.0 + native-tls-0.2.11 + nom-7.1.3 + normalize-line-endings-0.3.0 + normpath-1.0.1 + nu-ansi-term-0.46.0 + num_cpus-1.15.0 + number_prefix-0.4.0 + once_cell-1.17.1 + openssl-0.10.52 + openssl-macros-0.1.1 + openssl-probe-0.1.5 + openssl-src-111.25.2+1.1.1t + openssl-sys-0.9.87 + os_pipe-1.1.2 + output_vt100-0.1.3 + overload-0.1.1 + parking_lot-0.12.1 + parking_lot_core-0.9.6 + path-slash-0.2.1 + pep440_rs-0.3.6 + pep508_rs-0.1.5 + percent-encoding-2.2.0 + pin-project-lite-0.2.9 + pkg-config-0.3.27 + plain-0.2.3 + platform-info-1.0.2 + portable-atomic-0.3.19 + ppv-lite86-0.2.17 + pretty_assertions-1.3.0 + proc-macro2-1.0.58 + psm-0.1.21 + pyproject-toml-0.6.0 + python-pkginfo-0.5.5 + quote-1.0.27 + quoted_printable-0.4.8 + rand-0.8.5 + rand_chacha-0.3.1 + rand_core-0.6.4 + rayon-1.7.0 + rayon-core-1.11.0 + redox_syscall-0.2.16 + redox_users-0.4.3 + regex-1.7.3 + regex-automata-0.1.10 + regex-syntax-0.6.29 + rfc2047-decoder-0.2.2 + ring-0.16.20 + rustc_version-0.4.0 + rustix-0.36.7 + rustls-0.20.8 + rustls-pemfile-1.0.2 + rustversion-1.0.12 + ryu-1.0.13 + same-file-1.0.6 + schannel-0.1.21 + scopeguard-1.1.0 + scroll-0.11.0 + scroll_derive-0.11.0 + sct-0.7.0 + security-framework-2.9.0 + security-framework-sys-2.9.0 + semver-1.0.17 + serde-1.0.163 + serde_derive-1.0.163 + serde_json-1.0.96 + serde_spanned-0.6.1 + sha2-0.10.6 + sharded-slab-0.1.4 + shell-escape-0.1.5 + shell-words-1.1.0 + shlex-1.1.0 + similar-2.2.1 + smallvec-1.10.0 + smawk-0.3.1 + snapbox-0.4.4 + snapbox-macros-0.3.1 + socks-0.3.4 + spin-0.5.2 + stacker-0.1.15 + static_assertions-1.1.0 + strsim-0.10.0 + syn-1.0.109 + syn-2.0.16 + tar-0.4.38 + target-lexicon-0.12.7 + tempfile-3.4.0 + termcolor-1.2.0 + terminal_size-0.2.3 + textwrap-0.16.0 + thiserror-1.0.40 + thiserror-impl-1.0.40 + thread_local-1.1.7 + time-0.3.20 + time-core-0.1.0 + time-macros-0.2.8 + tinyvec-1.6.0 + tinyvec_macros-0.1.1 + toml-0.5.11 + toml-0.7.3 + toml_datetime-0.6.1 + toml_edit-0.19.8 + tracing-0.1.37 + tracing-attributes-0.1.24 + tracing-core-0.1.31 + tracing-log-0.1.3 + tracing-serde-0.1.3 + tracing-subscriber-0.3.17 + trycmd-0.14.11 + twox-hash-1.6.3 + typenum-1.16.0 + unicase-2.6.0 + unicode-bidi-0.3.13 + unicode-ident-1.0.8 + unicode-linebreak-0.1.4 + unicode-normalization-0.1.22 + unicode-width-0.1.10 + untrusted-0.7.1 + ureq-2.6.2 + url-2.3.1 + uuid-1.3.3 + valuable-0.1.0 + vcpkg-0.2.15 + version_check-0.9.4 + versions-4.1.0 + wait-timeout-0.2.0 + walkdir-2.3.3 + wasi-0.11.0+wasi-snapshot-preview1 + wasm-bindgen-0.2.86 + wasm-bindgen-backend-0.2.86 + wasm-bindgen-macro-0.2.86 + wasm-bindgen-macro-support-0.2.86 + wasm-bindgen-shared-0.2.86 + web-sys-0.3.63 + webpki-0.22.0 + webpki-roots-0.22.6 + which-4.4.0 + wild-2.1.0 + winapi-0.3.9 + winapi-i686-pc-windows-gnu-0.4.0 + winapi-util-0.1.5 + winapi-x86_64-pc-windows-gnu-0.4.0 + windows-sys-0.42.0 + windows_aarch64_gnullvm-0.42.2 + windows_aarch64_msvc-0.42.2 + windows_i686_gnu-0.42.2 + windows_i686_msvc-0.42.2 + windows_x86_64_gnu-0.42.2 + windows_x86_64_gnullvm-0.42.2 + windows_x86_64_msvc-0.42.2 + winnow-0.4.6 + xattr-0.2.3 + xwin-0.2.12 + yansi-0.5.1 + zeroize-1.6.0 + zip-0.6.6" +# additional crates used by test-crates/* test packages, +# `grep test-crates tests/run.rs` to see which are needed +CRATES_TEST=" + anyhow-1.0.69 + askama-0.11.1 + askama_derive-0.11.2 + askama_escape-0.10.3 + askama_shared-0.12.2 + bincode-1.3.3 + camino-1.1.2 + cargo_metadata-0.15.3 + cc-1.0.73 + cc-1.0.74 + getrandom-0.2.8 + goblin-0.6.0 + indoc-1.0.7 + itoa-1.0.5 + libc-0.2.134 + libc-0.2.137 + libc-0.2.141 + mime-0.3.16 + once_cell-1.15.0 + once_cell-1.16.0 + once_cell-1.17.0 + parking_lot_core-0.9.3 + parking_lot_core-0.9.4 + parking_lot_core-0.9.7 + paste-1.0.11 + proc-macro2-1.0.46 + proc-macro2-1.0.47 + proc-macro2-1.0.51 + pyo3-0.18.1 + pyo3-0.18.3 + pyo3-build-config-0.18.1 + pyo3-build-config-0.18.3 + pyo3-ffi-0.18.1 + pyo3-ffi-0.18.3 + pyo3-macros-0.18.1 + pyo3-macros-backend-0.18.1 + python3-dll-a-0.2.6 + quote-1.0.21 + quote-1.0.23 + ryu-1.0.12 + semver-1.0.16 + serde-1.0.152 + serde_derive-1.0.152 + serde_json-1.0.93 + siphasher-0.3.10 + syn-1.0.102 + syn-1.0.103 + syn-1.0.107 + thiserror-1.0.38 + thiserror-impl-1.0.38 + unicode-ident-1.0.5 + unicode-ident-1.0.6 + uniffi-0.23.0 + uniffi_bindgen-0.23.0 + uniffi_build-0.23.0 + uniffi_checksum_derive-0.23.0 + uniffi_core-0.23.0 + uniffi_macros-0.23.0 + uniffi_meta-0.23.0 + uniffi_testing-0.23.0 + unindent-0.1.10 + weedle2-4.0.0 + windows-sys-0.36.1 + windows-sys-0.45.0 + windows-targets-0.42.2 + windows_aarch64_gnullvm-0.42.0 + windows_aarch64_msvc-0.36.1 + windows_aarch64_msvc-0.42.0 + windows_i686_gnu-0.36.1 + windows_i686_gnu-0.42.0 + windows_i686_msvc-0.36.1 + windows_i686_msvc-0.42.0 + windows_x86_64_gnu-0.36.1 + windows_x86_64_gnu-0.42.0 + windows_x86_64_gnullvm-0.42.0 + windows_x86_64_msvc-0.36.1 + windows_x86_64_msvc-0.42.0" +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..11} ) +inherit bash-completion-r1 cargo distutils-r1 edo flag-o-matic 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 + $(cargo_crate_uris) + test? ( $(cargo_crate_uris ${CRATES_TEST}) )" + +# note: ring is unused, so SSLeay+openssl licenses can be skipped +LICENSE=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD CC0-1.0 ISC + MIT MPL-2.0 Unicode-DFS-2016 doc? ( CC-BY-4.0 OFL-1.1 )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc +ssl test" +RESTRICT="!test? ( test )" + +RDEPEND="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.{9..10})" +DEPEND="ssl? ( dev-libs/openssl:= )" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + doc? ( app-text/mdbook ) + test? ( + ${RDEPEND} + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + dev-python/boltons[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-vcs/git + )" +RDEPEND+=" ${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + distutils-r1_src_prepare + + if use test; then + # used to prevent use of network during tests + cat > "${T}"/pip.conf <<-EOF || die + [install] + no-index = yes + no-dependencies = yes + EOF + + # 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() { + filter-lto # TODO: cleanup after bug #893658 + + local cargoargs=( + # TODO: try switching to `--profile gentoo` then should be able to + # remove all `use debug` checks and --release in tests, but needs: + # https://github.com/gentoo/gentoo/pull/29510 + $(usev debug '--profile dev') + --no-default-features + # like release.yml + native-tls for better platform support than rustls + --features full,password-storage$(usev ssl ,native-tls) + ) + + export MATURIN_SETUP_ARGS=${cargoargs[*]} + export OPENSSL_NO_VENDOR=1 +} + +python_compile_all() { + use !doc || mdbook build -d html guide || die + + if ! tc-is-cross-compiler; then + local maturin=target/$(usex debug{,} release)/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 COLUMNS=100 # what tests/cmd was generated for + local -x MATURIN_TEST_PYTHON=${EPYTHON} + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + local skip=( + # 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 + ) + + edo cargo test $(usev !debug --release) ${MATURIN_SETUP_ARGS} -- "${skip[@]}" +} + +python_install_all() { + dodoc Changelog.md README.md + use doc && dodoc -r guide/html + + if ! tc-is-cross-compiler; then + dobashcomp "${T}"/${PN} + + insinto /usr/share/fish/vendor_completions.d + doins "${T}"/${PN}.fish + + insinto /usr/share/zsh/site-functions + doins "${T}"/_${PN} + fi +}