commit: f6aaae97b085b77c9599c2bdc6e63f87a21b0216 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Sun May 7 15:03:03 2023 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Sun May 7 15:41:52 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6aaae97
dev-util/maturin: add 0.15.1 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> dev-util/maturin/Manifest | 1 + dev-util/maturin/maturin-0.15.1.ebuild | 477 +++++++++++++++++++++++++++++++++ 2 files changed, 478 insertions(+) diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest index 5c1df340fdbb..2f7850cf4e67 100644 --- a/dev-util/maturin/Manifest +++ b/dev-util/maturin/Manifest @@ -188,6 +188,7 @@ DIST mailparse-0.13.8.crate 36008 BLAKE2B 8112658b4ceb5b3528375f4f8a178a26c18b54 DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 DIST maturin-0.14.17.gh.tar.gz 392461 BLAKE2B 4d0d2d5101a05017883b27dca270c3f3b84c77dd53f19db04c2b5a988b699f3b39b6b7a88c7ac02b5e322679f5509bdf68b5c5f27ec229816c394ebc5fb57fd8 SHA512 d12503530b0d865b6b3c40e564742d0e798107102fb7167c137c1b0a4fa63bfad739320901cff15a680a09034aae553c3cd55cf0c8f1d3ed0fd96404bb93cbfe DIST maturin-0.15.0.gh.tar.gz 425158 BLAKE2B 43b23a97e078f67b3352ac888d09ae5737072ab26c7fbfdbdcbeb60afb1b52f275b9e29f88053c32ec87f0242ea27e62e72818861e6befb93117ef41c9584af8 SHA512 31d6d3165a9d201b847713b562bda82ee9d25da9195e5a32db3d6a1ded09d5597d929b1fb3c3bcbbef90bcd0eee78ef42358db7f1c7969924e67fd0d4745a2f7 +DIST maturin-0.15.1.gh.tar.gz 425107 BLAKE2B 2a1b50080033618c062ec2013779465a1eb11cbd5b2f8800cbd8b46b9c75709cbe0cdbeb3fe0d5f7564e10e3d27e6439e9e2caea6bf7a0049f5474353c1ba53c SHA512 e298abb3cbfeae266c5f7c4bc8e57154527a5d040bf0276afe6e63e6d56978101ef399ab4883e7a5826d5eaa31f03019130200ca519b08d4e3bb0a12bee8eb77 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-0.15.1.ebuild b/dev-util/maturin/maturin-0.15.1.ebuild new file mode 100644 index 000000000000..ee39e5179621 --- /dev/null +++ b/dev-util/maturin/maturin-0.15.1.ebuild @@ -0,0 +1,477 @@ +# 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.1 + 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.7 + 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.10 + clap_complete-4.1.6 + clap_complete_command-0.5.1 + clap_complete_fig-4.1.2 + clap_complete_nushell-0.1.10 + clap_derive-4.1.9 + clap_lex-0.3.3 + 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.6 + 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.61 + keyring-2.0.2 + lazy_static-1.4.0 + lddtree-0.3.2 + libc-0.2.142 + 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.31.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.50 + openssl-macros-0.1.0 + openssl-probe-0.1.5 + openssl-src-111.25.2+1.1.1t + openssl-sys-0.9.85 + os_pipe-1.1.2 + os_str_bytes-6.5.0 + 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.26 + 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-macro-error-1.0.4 + proc-macro-error-attr-1.0.4 + proc-macro2-1.0.56 + psm-0.1.21 + pyproject-toml-0.6.0 + python-pkginfo-0.5.5 + quote-1.0.26 + 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.8.2 + security-framework-sys-2.8.0 + semver-1.0.17 + serde-1.0.155 + serde_derive-1.0.155 + serde_json-1.0.95 + 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 + 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.39 + thiserror-impl-1.0.39 + 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.23 + tracing-core-0.1.30 + 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.1 + 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.84 + wasm-bindgen-backend-0.2.84 + wasm-bindgen-macro-0.2.84 + wasm-bindgen-macro-support-0.2.84 + wasm-bindgen-shared-0.2.84 + web-sys-0.3.61 + 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.4" +# 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_{9..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 + + # needed by *git_sdist_generator tests + git init -q || die + git config --global user.email "la...@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[*]} # --no-default-features if empty + 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 +}