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
+}

Reply via email to