commit: feced519baa5b74967824e152560c130c0b9b821 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Wed Dec 4 11:51:39 2024 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Wed Dec 4 12:18:04 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=feced519
dev-util/maturin: add 1.7.8 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> dev-util/maturin/Manifest | 2 + dev-util/maturin/maturin-1.7.8.ebuild | 601 ++++++++++++++++++++++++++++++++++ 2 files changed, 603 insertions(+) diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest index bf8278e7e3ba..f743f3d05964 100644 --- a/dev-util/maturin/Manifest +++ b/dev-util/maturin/Manifest @@ -189,6 +189,7 @@ DIST mailparse-0.15.0.crate 37293 BLAKE2B 3ef9c0f3e65288066a1a792b3ad5bf4ca08126 DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 DIST maturin-1.7.4.gh.tar.gz 511488 BLAKE2B 008b2d67d553479040fcd3062b93ca12dc6f2b98c3d6cb43cac7ff0d8e4772417b99fbf2a73ed96cfcc8a7372b37d845e8485ba0afc80342943a10d716492377 SHA512 72fb43a10d3cdf35eca224232c59723bff5b9230c7d40ff01537e1ba869254b4b6e9a0c52e8b7154f7b74f0f0b5bace4e7bb9ac5257c9fbc04750160791c35e3 DIST maturin-1.7.7.gh.tar.gz 526716 BLAKE2B 3ba81530e84b9f1ade50b4d17aa5841a75ae731e32ac0e2581ea31a424042141e3d452c5547f79d84f76e6205255c8137354aa7e203f97349f9e88a28b91a30f SHA512 4926cd5fa764f571d2b98cd0ec2e458c0da09524521d99c85179a55bb2729d1a12fdcbc2e56e9ccc62ed2a40a4c4a9b71c2fc51a2c3e69f58c5c9a7aa48244ee +DIST maturin-1.7.8.gh.tar.gz 526856 BLAKE2B 0fcd40dbf20cd961aa97e936b58ea79aceddfe6175ba4c1d1b413c224c889f393719dffe583859c35894173801cbd5303093802c5a4986038eb00a1f4ff3f3d4 SHA512 11dd229bc0a240fe915ae4aa69d5dd10032ea41782cb2bf76e77e58a8d474543b133a78d6b24a0383ef281f83122f34e1e0c332227720643b63226c18e318445 DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40 DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55 @@ -265,6 +266,7 @@ DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acaf DIST pyo3-macros-backend-0.23.1.crate 70118 BLAKE2B df6e7db9f88bc0fd039c2b0553c3371fcde654bad4528320e0e8cb8ee5ae98b541bf7fe800a872fb5ee43562e07a5b0cd9543f4b5c66b482818107a53e6e49ea SHA512 bb6df78ad712ab6c85535c60d3d5d8aa1b012b175845c6e073ca7b174c558e4a546fed5e62453bc3ce7f46dfaf3b016c01b88e13c8516b18d5024565464c1bf8 DIST pyproject-toml-0.11.0.crate 6083 BLAKE2B 187c00dbf90bb32081088efd986d2072d8f8f35eefec683403f5a0a509e4673f443293051b7d828a1d917fd0f7bc308852a77c8bc9b4832d361e32135e9c0a79 SHA512 05a2529bf3ff5aab74ed86c71e1a0a2e8247404e2fab2dd24c04a7e832325c30da915d43a1c2e47ed5143824c24d4c961e19bf078e60687faedcec3a43e53b08 DIST python-pkginfo-0.6.3.crate 212171 BLAKE2B b943b04300cdb75011aeb2eb6eccbc21eebc7f5ba17780442d990e76797de81f01b1f550dbb3cc4cecd555ec6c7e66c7d1155b2d4bf8d985bcaf4ab06bb6f427 SHA512 71c8a51860459f0a63ba21d2c9da54a7aba0c65d8c5e7edce695ae1b220e33209b43b058ea8f064d56954dc099c0bca495eb7ba6d4458d582383014af94e1bab +DIST python3-dll-a-0.2.11.crate 83622 BLAKE2B 4bb801097422fc59be57b64edebeaee851dbad6ccb334d2fb672d279458d8925a08ae5a00c8603c8ab51e4210753483dba81bde189724ec47d1019bd9c4f4dee SHA512 3a5bee1eaec72650fc093105a4139f14c1f65012903a1311aa4ab754fbf7104936f743f0e7c69ee6d7b8d344ec25746c1fd415bdcd0a959c3828a28f9b63ce52 DIST python3-dll-a-0.2.6.crate 56866 BLAKE2B e8a83d0e02c281d8a626565fe1cde1158726c9ff718afb0888298454762832d47117d7a1bfd4e3e471e82ce684cd8c36d8d7ee036b07748cbf09aa915c2e046f SHA512 f64be4ed3b217d6905df5787afb3d403580eed1bffc17a251e2c8eab61aee6a187460894b568140c4d38369e77fb51c4d49f6df9127786f344b460951df249d5 DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35 DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 diff --git a/dev-util/maturin/maturin-1.7.8.ebuild b/dev-util/maturin/maturin-1.7.8.ebuild new file mode 100644 index 000000000000..f35627301954 --- /dev/null +++ b/dev-util/maturin/maturin-1.7.8.ebuild @@ -0,0 +1,601 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler2@2.0.0 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.89 + arbitrary@1.4.1 + autocfg@1.3.0 + automod@1.0.14 + base64@0.21.7 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + bstr@1.10.0 + bumpalo@3.16.0 + byteorder@1.5.0 + bytesize@1.3.0 + bytes@1.7.1 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cab@0.6.0 + camino@1.1.9 + cargo-config2@0.1.26 + cargo-options@0.7.4 + cargo-platform@0.1.8 + cargo-xwin@0.17.5 + cargo-zigbuild@0.19.5 + cargo_metadata@0.19.0 + cbindgen@0.27.0 + cc@1.1.21 + cfb@0.10.0 + cfg-if@1.0.0 + charset@0.1.5 + chumsky@0.9.3 + clap@4.5.7 + clap_builder@4.5.7 + clap_complete@4.5.5 + clap_complete_command@0.6.1 + clap_complete_nushell@4.5.2 + clap_derive@4.5.5 + clap_lex@0.7.1 + cli-table@0.4.7 + colorchoice@1.0.1 + configparser@3.1.0 + console@0.15.8 + content_inspector@0.2.4 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crc-catalog@2.4.0 + crc@3.2.1 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crypto-common@0.1.6 + data-encoding@2.6.0 + deranged@0.3.11 + derivative@2.2.0 + derive_arbitrary@1.4.1 + dialoguer@0.11.0 + diff@0.1.13 + digest@0.10.7 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + dissimilar@1.0.9 + dunce@1.0.5 + dyn-clone@1.0.17 + either@1.13.0 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + equivalent@1.0.1 + errno@0.3.9 + expect-test@1.5.0 + fastrand@2.1.0 + fat-macho@0.4.9 + filetime@0.2.23 + flate2@1.0.33 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs4@0.11.1 + fs-err@2.11.0 + fs-err@3.0.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.30 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.30 + generic-array@0.14.7 + getrandom@0.2.15 + globset@0.4.15 + glob@0.3.1 + goblin@0.9.2 + hashbrown@0.14.5 + heck@0.4.1 + heck@0.5.0 + home@0.5.9 + humantime-serde@1.1.1 + humantime@2.1.0 + idna@0.5.0 + ignore@0.4.23 + indexmap@2.5.0 + indicatif@0.17.8 + indoc@2.0.5 + instant@0.1.13 + is_terminal_polyfill@1.70.0 + itertools@0.12.1 + itoa@1.0.11 + keyring@2.3.3 + lazy_static@1.4.0 + lddtree@0.3.7 + libc@0.2.158 + libmimalloc-sys@0.1.38 + libredox@0.1.3 + linux-keyutils@0.2.4 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lockfree-object-pool@0.1.6 + lock_api@0.4.12 + log@0.4.21 + lzxd@0.2.5 + mailparse@0.15.0 + matchers@0.1.0 + memchr@2.7.2 + mimalloc@0.1.42 + mime@0.3.17 + mime_guess@2.0.4 + minijinja@2.5.0 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + msi@0.8.0 + multipart@0.18.0 + native-tls@0.2.12 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.2.0 + number_prefix@0.4.0 + num-conv@0.1.0 + nu-ansi-term@0.46.0 + once_cell@1.19.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + os_pipe@1.2.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + path-slash@0.2.1 + pep440_rs@0.6.6 + pep508_rs@0.6.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + platform-info@2.0.3 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + pretty_assertions@1.4.1 + proc-macro2@1.0.85 + proc-macro-crate@3.1.0 + psm@0.1.21 + pyproject-toml@0.11.0 + python-pkginfo@0.6.3 + quoted_printable@0.5.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.6 + relative-path@1.9.3 + rfc2047-decoder@1.0.5 + ring@0.17.8 + rstest@0.22.0 + rstest_macros@0.22.0 + rustc_version@0.4.1 + rustflags@0.1.6 + rustix@0.38.34 + rustls-pemfile@2.1.3 + rustls-pki-types@1.10.0 + rustls-webpki@0.102.8 + rustls@0.23.19 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + schemars@0.8.21 + schemars_derive@0.8.21 + scopeguard@1.2.0 + scroll@0.12.0 + scroll_derive@0.12.0 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_derive_internals@0.29.1 + serde_json@1.0.128 + serde_spanned@0.6.6 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + simd-adler32@0.3.7 + similar@2.5.0 + slab@0.4.9 + smallvec@1.13.2 + smawk@0.3.2 + snapbox-macros@0.3.10 + snapbox@0.6.16 + socks@0.3.4 + spin@0.9.8 + stable_deref_trait@1.2.0 + stacker@0.1.15 + static_assertions@1.1.0 + strsim@0.11.1 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.87 + target-lexicon@0.12.16 + tar@0.4.42 + tempfile@3.11.0 + termcolor@1.4.1 + terminal_size@0.3.0 + textwrap@0.16.1 + thiserror-impl@1.0.64 + thiserror-impl@2.0.3 + thiserror@1.0.64 + thiserror@2.0.3 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.7.0 + tinyvec_macros@0.1.1 + toml@0.8.15 + toml_datetime@0.6.6 + toml_edit@0.21.1 + toml_edit@0.22.16 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-serde@0.1.3 + tracing-subscriber@0.3.18 + tracing@0.1.40 + trycmd@0.15.6 + twox-hash@1.6.3 + typenum@1.17.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-width@0.1.13 + unicode-xid@0.2.6 + unscanny@0.1.0 + untrusted@0.9.0 + ureq@2.11.0 + urlencoding@2.1.3 + url@2.5.2 + utf8parse@0.2.2 + uuid@1.8.0 + valuable@0.1.0 + vcpkg@0.2.15 + versions@6.2.0 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + webpki-roots@0.26.2 + which@7.0.0 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winnow@0.6.13 + winsafe@0.0.19 + xattr@1.3.1 + xwin@0.6.5 + yansi@1.0.1 + yoke@0.7.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom@0.1.4 + zeroize@1.8.1 + zip@0.6.6 + zip@2.1.6 + zopfli@0.8.1 +" +# additional crates used by test-crates/* test packages, +# `grep test-crates tests/run.rs` to see which are needed +CRATES_TEST=" + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + anyhow@1.0.86 + askama@0.12.1 + askama_derive@0.12.5 + askama_escape@0.10.3 + askama_parser@0.2.1 + autocfg@1.1.0 + autocfg@1.4.0 + basic-toml@0.1.9 + bincode@1.3.3 + bytes@1.6.0 + camino@1.1.7 + cargo_metadata@0.15.4 + cc@1.0.73 + cc@1.0.81 + cc@1.0.83 + clap@4.5.16 + clap_builder@4.5.15 + clap_derive@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + getrandom@0.2.10 + goblin@0.8.2 + indoc@2.0.4 + is_terminal_polyfill@1.70.1 + libc@0.2.134 + libc@0.2.147 + libc@0.2.149 + libc@0.2.155 + libc@0.2.161 + log@0.4.22 + memchr@2.7.4 + memoffset@0.9.0 + memoffset@0.9.1 + mime_guess@2.0.5 + once_cell@1.15.0 + once_cell@1.18.0 + once_cell@1.20.2 + portable-atomic@1.7.0 + portable-atomic@1.9.0 + proc-macro2@1.0.86 + proc-macro2@1.0.88 + proc-macro2@1.0.92 + pyo3-build-config@0.18.3 + pyo3-build-config@0.23.1 + pyo3-ffi@0.18.3 + pyo3-ffi@0.23.1 + pyo3-macros-backend@0.23.1 + pyo3-macros@0.23.1 + pyo3@0.23.1 + python3-dll-a@0.2.6 + python3-dll-a@0.2.9 + python3-dll-a@0.2.11 + quote@1.0.37 + serde@1.0.203 + serde@1.0.209 + serde_derive@1.0.203 + serde_derive@1.0.209 + serde_json@1.0.118 + serde_json@1.0.127 + siphasher@0.3.11 + syn@2.0.68 + syn@2.0.72 + syn@2.0.79 + syn@2.0.89 + target-lexicon@0.12.11 + target-lexicon@0.12.14 + thiserror-impl@1.0.61 + thiserror-impl@1.0.63 + thiserror@1.0.61 + thiserror@1.0.63 + toml@0.5.11 + unicode-ident@1.0.5 + unicode-ident@1.0.11 + unicode-ident@1.0.13 + unicode-ident@1.0.14 + uniffi@0.28.0 + uniffi@0.28.1 + uniffi_bindgen@0.28.0 + uniffi_bindgen@0.28.1 + uniffi_build@0.28.0 + uniffi_build@0.28.1 + uniffi_checksum_derive@0.28.0 + uniffi_checksum_derive@0.28.1 + uniffi_core@0.28.0 + uniffi_core@0.28.1 + uniffi_macros@0.28.0 + uniffi_macros@0.28.1 + uniffi_meta@0.28.0 + uniffi_meta@0.28.1 + uniffi_testing@0.28.0 + uniffi_testing@0.28.1 + uniffi_udl@0.28.0 + uniffi_udl@0.28.1 + unindent@0.2.3 + version_check@0.9.5 + weedle2@5.0.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_msvc@0.52.6 +" +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..13} ) +RUST_MIN_VER=1.74.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 + ${CARGO_CRATE_URIS} + test? ( $(cargo_crate_uris ${CRATES_TEST}) ) +" + +# note: 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 ISC + MIT MPL-2.0 openssl 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="$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)" +DEPEND="ssl? ( dev-libs/openssl:= )" +BDEPEND=" + virtual/pkgconfig + 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 + elibc_musl? ( dev-util/patchelf ) + ) +" +RDEPEND+=" ${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + 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 + + # used 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() { + export OPENSSL_NO_VENDOR=1 + + # bug #938847 (TODO?: should probably be an eclass default for musl) + use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" + + # 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 use uv, and it does not seem to be able + # to find the system's dev-python/uv (not worth the trouble) + --skip develop_hello_world::case_2 + --skip develop_pyo3_ffi_pure::case_2 + # 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 +}