diff options
Diffstat (limited to 'dev-util/maturin/maturin-0.12.13.ebuild')
-rw-r--r-- | dev-util/maturin/maturin-0.12.13.ebuild | 363 |
1 files changed, 363 insertions, 0 deletions
diff --git a/dev-util/maturin/maturin-0.12.13.ebuild b/dev-util/maturin/maturin-0.12.13.ebuild new file mode 100644 index 000000000000..aa5b8a666738 --- /dev/null +++ b/dev-util/maturin/maturin-0.12.13.ebuild @@ -0,0 +1,363 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line-0.17.0 + adler-1.0.2 + aes-0.6.0 + aes-soft-0.6.4 + aesni-0.10.0 + aho-corasick-0.7.18 + anyhow-1.0.57 + async-io-1.6.0 + atty-0.2.14 + autocfg-1.1.0 + backtrace-0.3.65 + base64-0.13.0 + bitflags-1.3.2 + block-buffer-0.10.2 + block-buffer-0.9.0 + block-modes-0.7.0 + block-padding-0.2.1 + bstr-0.2.17 + bumpalo-3.9.1 + byteorder-1.4.3 + bytes-1.1.0 + bytesize-1.1.0 + bzip2-0.4.3 + bzip2-sys-0.1.11+1.0.8 + cache-padded-1.2.0 + camino-1.0.7 + cargo-options-0.1.4 + cargo-platform-0.1.2 + cargo-zigbuild-0.8.5 + cargo_metadata-0.14.2 + cbindgen-0.23.0 + cc-1.0.73 + cfg-if-0.1.10 + cfg-if-1.0.0 + charset-0.1.3 + chunked_transfer-1.4.0 + cipher-0.2.5 + clap-3.1.12 + clap_complete-3.1.2 + clap_complete_fig-3.1.5 + clap_derive-3.1.7 + clap_lex-0.1.1 + combine-4.6.3 + concurrent-queue-1.2.2 + configparser-3.0.0 + console-0.15.0 + core-foundation-0.9.3 + core-foundation-sys-0.8.3 + cpufeatures-0.2.2 + crc32fast-1.3.2 + crossbeam-utils-0.8.8 + crypto-common-0.1.3 + crypto-mac-0.10.1 + data-encoding-2.3.2 + derivative-2.2.0 + dialoguer-0.10.0 + digest-0.10.3 + digest-0.9.0 + dirs-4.0.0 + dirs-sys-0.3.7 + either-1.6.1 + encode_unicode-0.3.6 + encoding_rs-0.8.31 + enumflags2-0.6.4 + enumflags2_derive-0.6.4 + env_logger-0.7.1 + fastrand-1.7.0 + fat-macho-0.4.5 + filetime-0.2.16 + flate2-1.0.23 + fnv-1.0.7 + foreign-types-0.3.2 + foreign-types-shared-0.1.1 + form_urlencoded-1.0.1 + fs-err-2.7.0 + futures-0.3.21 + futures-channel-0.3.21 + futures-core-0.3.21 + futures-executor-0.3.21 + futures-io-0.3.21 + futures-lite-1.12.0 + futures-macro-0.3.21 + futures-sink-0.3.21 + futures-task-0.3.21 + futures-util-0.3.21 + generic-array-0.14.5 + getrandom-0.2.6 + gimli-0.26.1 + glob-0.3.0 + globset-0.4.8 + goblin-0.5.1 + hashbrown-0.11.2 + heck-0.4.0 + hermit-abi-0.1.19 + hkdf-0.10.0 + hmac-0.10.1 + human-panic-1.0.3 + humantime-1.3.0 + idna-0.2.3 + ignore-0.4.18 + indexmap-1.8.1 + indoc-1.0.4 + instant-0.1.12 + itertools-0.10.3 + itoa-1.0.1 + js-sys-0.3.57 + keyring-1.1.2 + lazy_static-1.4.0 + lddtree-0.2.9 + libc-0.2.124 + log-0.4.16 + mailparse-0.13.8 + matches-0.1.9 + memchr-2.4.1 + mime-0.3.16 + mime_guess-2.0.4 + minijinja-0.15.0 + miniz_oxide-0.5.1 + multipart-0.18.0 + native-tls-0.2.10 + nb-connect-1.2.0 + nix-0.17.0 + num-0.3.1 + num-bigint-0.3.3 + num-complex-0.3.1 + num-integer-0.1.44 + num-iter-0.1.42 + num-rational-0.3.2 + num-traits-0.2.14 + num_threads-0.1.5 + object-0.28.3 + once_cell-1.10.0 + opaque-debug-0.3.0 + openssl-0.10.38 + openssl-probe-0.1.5 + openssl-sys-0.9.72 + os_str_bytes-6.0.0 + os_type-2.4.0 + parking-2.0.0 + path-slash-0.1.4 + percent-encoding-2.1.0 + pin-project-lite-0.2.8 + pin-utils-0.1.0 + pkg-config-0.3.25 + plain-0.2.3 + platform-info-0.2.0 + polling-2.2.0 + ppv-lite86-0.2.16 + pretty_env_logger-0.4.0 + proc-macro-crate-0.1.5 + proc-macro-crate-1.1.3 + proc-macro-error-1.0.4 + proc-macro-error-attr-1.0.4 + proc-macro2-1.0.37 + pyproject-toml-0.3.1 + python-pkginfo-0.5.4 + quick-error-1.2.3 + quote-1.0.18 + quoted_printable-0.4.5 + rand-0.8.5 + rand_chacha-0.3.1 + rand_core-0.6.3 + redox_syscall-0.2.13 + redox_users-0.4.3 + regex-1.5.5 + regex-syntax-0.6.25 + remove_dir_all-0.5.3 + rfc2047-decoder-0.1.2 + ring-0.16.20 + rpassword-6.0.1 + rustc-demangle-0.1.21 + rustc_version-0.4.0 + rustls-0.20.4 + ryu-1.0.9 + same-file-1.0.6 + schannel-0.1.19 + scoped-tls-1.0.0 + scroll-0.11.0 + scroll_derive-0.11.0 + sct-0.7.0 + secret-service-2.0.1 + security-framework-2.6.1 + security-framework-sys-2.6.1 + semver-1.0.7 + serde-1.0.136 + serde_derive-1.0.136 + serde_json-1.0.79 + serde_repr-0.1.7 + sha2-0.10.2 + sha2-0.9.9 + shlex-1.1.0 + slab-0.4.6 + smawk-0.3.1 + socket2-0.4.4 + spin-0.5.2 + static_assertions-1.1.0 + strsim-0.10.0 + subtle-2.4.1 + syn-1.0.91 + tar-0.4.38 + target-lexicon-0.12.3 + tempfile-3.3.0 + termcolor-1.1.3 + terminal_size-0.1.17 + textwrap-0.15.0 + thiserror-1.0.30 + thiserror-impl-1.0.30 + thread_local-1.1.4 + time-0.3.9 + time-macros-0.2.4 + tinyvec-1.5.1 + tinyvec_macros-0.1.0 + toml-0.5.9 + toml_edit-0.14.2 + typenum-1.15.0 + unicase-2.6.0 + unicode-bidi-0.3.7 + unicode-linebreak-0.1.2 + unicode-normalization-0.1.19 + unicode-width-0.1.9 + unicode-xid-0.2.2 + unindent-0.1.8 + untrusted-0.7.1 + ureq-2.4.0 + url-2.2.2 + uuid-0.8.2 + vcpkg-0.2.15 + version_check-0.9.4 + void-1.0.2 + waker-fn-1.1.0 + walkdir-2.3.2 + wasi-0.10.2+wasi-snapshot-preview1 + wasm-bindgen-0.2.80 + wasm-bindgen-backend-0.2.80 + wasm-bindgen-macro-0.2.80 + wasm-bindgen-macro-support-0.2.80 + wasm-bindgen-shared-0.2.80 + web-sys-0.3.57 + webpki-0.22.0 + webpki-roots-0.22.3 + wepoll-ffi-0.1.2 + 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 + xattr-0.2.2 + zbus-1.9.1 + zbus_macros-1.9.1 + zip-0.6.2 + zvariant-2.10.0 + zvariant_derive-2.10.0" +CRATES_TEST=" + libc-0.2.119 + libc-0.2.123 + lock_api-0.4.7 + once_cell-1.9.0 + parking_lot-0.12.0 + parking_lot_core-0.9.2 + pyo3-0.16.4 + pyo3-build-config-0.16.0 + pyo3-build-config-0.16.4 + pyo3-ffi-0.16.0 + pyo3-ffi-0.16.4 + pyo3-macros-0.16.4 + pyo3-macros-backend-0.16.4 + python3-dll-a-0.2.0 + scopeguard-1.1.0 + smallvec-1.8.0 + windows-sys-0.34.0 + windows_aarch64_msvc-0.34.0 + windows_i686_gnu-0.34.0 + windows_i686_msvc-0.34.0 + windows_x86_64_gnu-0.34.0 + windows_x86_64_msvc-0.34.0" +PYTHON_COMPAT=( python3_{8..10} ) +inherit cargo distutils-r1 flag-o-matic + +DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" +HOMEPAGE="https://maturin.rs/" +SRC_URI=" + https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + $(cargo_crate_uris) + test? ( $(cargo_crate_uris ${CRATES_TEST}) )" + +LICENSE=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 openssl + doc? ( CC-BY-4.0 OFL-1.1 )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND="dev-python/tomli[${PYTHON_USEDEP}]" +BDEPEND=" + doc? ( app-text/mdbook ) + test? ( + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/boltons[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.12.8-zig-tests.patch +) + +python_prepare_all() { + distutils-r1_python_prepare_all + + # TODO: migrate to pep517, deleted meanwhile for bug #836597 + rm pyproject.toml || die + + # use setup.py only for pure python and handle cargo manually + sed -i 's/cmdclass.*/packages=["'${PN}'"],/' setup.py || die + + 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 + + # run plain 'python' from eclass rather than auto-detect 'python3.x' + sed -i 's/"build",/&"-i","python",/' tests/common/integration.rs || die + fi +} + +python_configure_all() { + filter-flags '-flto*' # undefined references with ring crate + + cargo_src_configure +} + +python_compile_all() { + cargo_src_compile + + use !doc || mdbook build -d html guide || die +} + +python_test() { + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + # pyo3_no_extension_module is xfail but passes with >=rust-1.60, still + # need looking into but is not known to cause issues, disable for now. + cargo_src_test -- --skip locked_doesnt_build_without_cargo_lock \ + --skip pyo3_no_extension_module +} + +python_install_all() { + cargo_src_install + + dodoc Changelog.md Readme.md + use doc && dodoc -r guide/html +} |