diff options
Diffstat (limited to 'dev-util/ruff/ruff-0.0.258.ebuild')
-rw-r--r-- | dev-util/ruff/ruff-0.0.258.ebuild | 423 |
1 files changed, 423 insertions, 0 deletions
diff --git a/dev-util/ruff/ruff-0.0.258.ebuild b/dev-util/ruff/ruff-0.0.258.ebuild new file mode 100644 index 000000000000..4999c4c519cb --- /dev/null +++ b/dev-util/ruff/ruff-0.0.258.ebuild @@ -0,0 +1,423 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + Inflector-0.11.4 + adler-1.0.2 + ahash-0.7.6 + aho-corasick-0.7.20 + android_system_properties-0.1.5 + anes-0.1.6 + annotate-snippets-0.6.1 + annotate-snippets-0.9.1 + anyhow-1.0.69 + ascii-1.1.0 + ascii-canvas-3.0.0 + assert_cmd-2.0.8 + atty-0.2.14 + autocfg-1.1.0 + base64-0.13.1 + bincode-1.3.3 + bisection-0.1.0 + bit-set-0.5.3 + bit-vec-0.6.3 + bitflags-1.3.2 + block-buffer-0.10.3 + bstr-0.2.17 + bstr-1.3.0 + bumpalo-3.12.0 + cachedir-0.3.0 + cast-0.3.0 + cc-1.0.79 + cfg-if-1.0.0 + chic-1.2.2 + chrono-0.4.23 + ciborium-0.2.0 + ciborium-io-0.2.0 + ciborium-ll-0.2.0 + clap-3.2.23 + clap-4.1.8 + clap_complete-4.1.2 + clap_complete_command-0.5.1 + clap_complete_fig-4.1.1 + clap_complete_nushell-0.1.10 + clap_derive-4.1.8 + clap_lex-0.2.4 + clap_lex-0.3.1 + clearscreen-2.0.0 + codespan-reporting-0.11.1 + colored-2.0.0 + configparser-3.0.2 + console-0.15.5 + console_error_panic_hook-0.1.7 + console_log-0.2.1 + core-foundation-sys-0.8.3 + cpufeatures-0.2.5 + crc32fast-1.3.2 + criterion-0.4.0 + criterion-plot-0.5.0 + crossbeam-channel-0.5.6 + crossbeam-deque-0.8.2 + crossbeam-epoch-0.9.13 + crossbeam-utils-0.8.14 + crunchy-0.2.2 + crypto-common-0.1.6 + ctor-0.1.26 + cxx-1.0.91 + cxx-build-1.0.91 + cxxbridge-flags-1.0.91 + cxxbridge-macro-1.0.91 + diff-0.1.13 + difflib-0.4.0 + digest-0.10.6 + dirs-4.0.0 + dirs-next-2.0.0 + dirs-sys-0.3.7 + dirs-sys-next-0.1.2 + doc-comment-0.3.3 + drop_bomb-0.1.5 + dyn-clone-1.0.10 + either-1.8.1 + ena-0.14.0 + encode_unicode-0.3.6 + errno-0.2.8 + errno-dragonfly-0.1.2 + fastrand-1.9.0 + fern-0.6.1 + filetime-0.2.20 + fixedbitset-0.4.2 + flate2-1.0.25 + fnv-1.0.7 + form_urlencoded-1.1.0 + fsevent-sys-4.1.0 + generic-array-0.14.6 + getrandom-0.2.8 + glob-0.3.1 + globset-0.4.10 + half-1.8.2 + hashbrown-0.12.3 + heck-0.4.1 + hermit-abi-0.1.19 + hermit-abi-0.2.6 + hermit-abi-0.3.1 + hexf-parse-0.2.1 + iana-time-zone-0.1.53 + iana-time-zone-haiku-0.1.1 + idna-0.3.0 + ignore-0.4.20 + imperative-1.0.4 + indexmap-1.9.2 + inotify-0.9.6 + inotify-sys-0.1.5 + insta-1.28.0 + instant-0.1.12 + io-lifetimes-1.0.5 + is-macro-0.2.2 + is-terminal-0.4.4 + itertools-0.10.5 + itoa-1.0.5 + js-sys-0.3.61 + kqueue-1.0.7 + kqueue-sys-1.0.3 + lalrpop-0.19.8 + lalrpop-util-0.19.8 + lazy_static-1.4.0 + lexical-parse-float-0.8.5 + lexical-parse-integer-0.8.6 + lexical-util-0.8.5 + libc-0.2.139 + libmimalloc-sys-0.1.30 + link-cplusplus-1.0.8 + linked-hash-map-0.5.6 + linux-raw-sys-0.1.4 + lock_api-0.4.9 + log-0.4.17 + lz4_flex-0.9.5 + matches-0.1.10 + memchr-2.5.0 + memoffset-0.7.1 + mimalloc-0.1.34 + miniz_oxide-0.6.2 + mio-0.8.6 + natord-1.0.9 + new_debug_unreachable-1.0.4 + nextest-workspace-hack-0.1.0 + nix-0.26.2 + nohash-hasher-0.2.0 + nom-5.1.2 + notify-5.1.0 + num-bigint-0.4.3 + num-complex-0.4.3 + num-integer-0.1.45 + num-traits-0.2.15 + num_cpus-1.15.0 + once_cell-1.17.1 + oorandom-11.1.3 + os_str_bytes-6.4.1 + output_vt100-0.1.3 + parking_lot-0.12.1 + parking_lot_core-0.9.7 + paste-1.0.11 + path-absolutize-3.0.14 + path-dedot-3.0.18 + pathdiff-0.2.1 + peg-0.8.1 + peg-macros-0.8.1 + peg-runtime-0.8.1 + percent-encoding-2.2.0 + pest-2.5.5 + pest_derive-2.5.5 + pest_generator-2.5.5 + pest_meta-2.5.5 + petgraph-0.6.3 + phf-0.11.1 + phf_codegen-0.11.1 + phf_generator-0.11.1 + phf_shared-0.10.0 + phf_shared-0.11.1 + pico-args-0.4.2 + pin-project-lite-0.2.9 + plotters-0.3.4 + plotters-backend-0.3.4 + plotters-svg-0.3.3 + pmutil-0.5.3 + ppv-lite86-0.2.17 + precomputed-hash-0.1.1 + predicates-2.1.5 + predicates-core-1.0.5 + predicates-tree-1.0.7 + pretty_assertions-1.3.0 + proc-macro-error-1.0.4 + proc-macro-error-attr-1.0.4 + proc-macro2-1.0.51 + quick-junit-0.3.2 + quick-xml-0.26.0 + quote-1.0.23 + radium-0.7.0 + 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.1 + regex-automata-0.1.10 + regex-syntax-0.6.28 + remove_dir_all-0.5.3 + result-like-0.4.6 + result-like-derive-0.4.6 + ring-0.16.20 + rust-stemmers-1.2.0 + rustc-hash-1.1.0 + rustix-0.36.8 + rustls-0.20.8 + rustversion-1.0.11 + ryu-1.0.12 + same-file-1.0.6 + schemars-0.8.12 + schemars_derive-0.8.12 + scoped-tls-1.0.1 + scopeguard-1.1.0 + scratch-1.0.3 + sct-0.7.0 + semver-1.0.16 + serde-1.0.152 + serde-wasm-bindgen-0.5.0 + serde_derive-1.0.152 + serde_derive_internals-0.26.0 + serde_json-1.0.93 + serde_spanned-0.6.1 + serde_test-1.0.152 + sha2-0.10.6 + shellexpand-3.0.0 + similar-2.2.1 + siphasher-0.3.10 + smallvec-1.10.0 + smawk-0.3.1 + spin-0.5.2 + static_assertions-1.1.0 + string_cache-0.8.4 + strsim-0.10.0 + strum-0.24.1 + strum_macros-0.24.3 + syn-1.0.109 + syn-ext-0.4.0 + tempfile-3.3.0 + term-0.7.0 + termcolor-1.2.0 + terminfo-0.7.5 + termtree-0.4.0 + test-case-3.0.0 + test-case-core-3.0.0 + test-case-macros-3.0.0 + textwrap-0.16.0 + thiserror-1.0.38 + thiserror-impl-1.0.38 + thread_local-1.1.7 + tikv-jemalloc-sys-0.5.3+5.3.0-patched + tikv-jemallocator-0.5.0 + time-0.1.45 + tiny-keccak-2.0.2 + tinytemplate-1.2.1 + tinyvec-1.6.0 + tinyvec_macros-0.1.1 + toml-0.7.2 + toml_datetime-0.6.1 + toml_edit-0.19.4 + tracing-0.1.37 + tracing-attributes-0.1.23 + tracing-core-0.1.30 + twox-hash-1.6.3 + typenum-1.16.0 + ucd-trie-0.1.5 + unic-char-property-0.9.0 + unic-char-range-0.9.0 + unic-common-0.9.0 + unic-emoji-char-0.9.0 + unic-ucd-category-0.9.0 + unic-ucd-ident-0.9.0 + unic-ucd-version-0.9.0 + unicode-bidi-0.3.10 + unicode-ident-1.0.6 + unicode-linebreak-0.1.4 + unicode-normalization-0.1.22 + unicode-width-0.1.10 + unicode-xid-0.2.4 + untrusted-0.7.1 + ureq-2.6.2 + url-2.3.1 + uuid-1.3.0 + version_check-0.9.4 + volatile-0.3.0 + wait-timeout-0.2.0 + walkdir-2.3.2 + wasi-0.10.0+wasi-snapshot-preview1 + wasi-0.11.0+wasi-snapshot-preview1 + wasm-bindgen-0.2.84 + wasm-bindgen-backend-0.2.84 + wasm-bindgen-futures-0.4.34 + wasm-bindgen-macro-0.2.84 + wasm-bindgen-macro-support-0.2.84 + wasm-bindgen-shared-0.2.84 + wasm-bindgen-test-0.3.34 + wasm-bindgen-test-macro-0.3.34 + web-sys-0.3.61 + webpki-0.22.0 + webpki-roots-0.22.6 + which-4.4.0 + widestring-0.5.1 + 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-sys-0.45.0 + windows-targets-0.42.1 + windows_aarch64_gnullvm-0.42.1 + windows_aarch64_msvc-0.42.1 + windows_i686_gnu-0.42.1 + windows_i686_msvc-0.42.1 + windows_x86_64_gnu-0.42.1 + windows_x86_64_gnullvm-0.42.1 + windows_x86_64_msvc-0.42.1 + winnow-0.3.3 + yaml-rust-0.4.5 + yansi-0.5.1 + yansi-term-0.1.2 +" + +PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=maturin + +LIBCST_COMMIT="80e4c1399f95e5beb532fdd1e209ad2dbb470438" +RUSTPYTHON_COMMIT="c15f670f2c30cfae6b41a1874893590148c74bc4" +declare -A GIT_CRATES=( + [libcst]="https://github.com/charliermarsh/LibCST;${LIBCST_COMMIT};LibCST-%commit%/native/libcst" + [libcst_derive]="https://github.com/charliermarsh/LibCST;${LIBCST_COMMIT};LibCST-%commit%/native/libcst_derive" + [rustpython-ast]="https://github.com/RustPython/RustPython;${RUSTPYTHON_COMMIT};RustPython-%commit%/compiler/ast" + [rustpython-common]="https://github.com/RustPython/RustPython;${RUSTPYTHON_COMMIT};RustPython-%commit%/common" + [rustpython-compiler-core]="https://github.com/RustPython/RustPython;${RUSTPYTHON_COMMIT};RustPython-%commit%/compiler/core" + [rustpython-parser]="https://github.com/RustPython/RustPython;${RUSTPYTHON_COMMIT};RustPython-%commit%/compiler/parser" + [pep440_rs]="https://github.com/konstin/pep440-rs;a8fef4ec47f4c25b070b39cdbe6a0b9847e49941;pep440-rs-%commit%" + [unicode_names2]="https://github.com/youknowone/unicode_names2;4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde" +) + +inherit distutils-r1 cargo + +DESCRIPTION="An extremely fast Python linter, written in Rust" +# Double check the homepage as the cargo_metadata crate +# does not provide this value so instead repository is used +HOMEPAGE="https://github.com/charliermarsh/ruff" + +SRC_URI=" + $(cargo_crate_uris) + https://github.com/charliermarsh/ruff/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz +" + +# License set may be more restrictive as OR is not respected +# use cargo-license for a more accurate license picture +LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 BSD BSD-2 Boost-1.0 CC0-1.0 ISC LGPL-3+ MIT MPL-2.0 Unicode-DFS-2016 Unlicense WTFPL-2 ZLIB" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + dev-util/patchelf +" + +# rust does not use *FLAGS from make.conf, silence portage warning +# update with proper path to binaries this crate installs, omit leading / +QA_FLAGS_IGNORED="usr/bin/ruff usr/lib.*/libruff.so" + +# haven't been able to figure out how to get tests working yet +RESTRICT=test + +DOCS=( + BREAKING_CHANGES.md + CODE_OF_CONDUCT.md + CONTRIBUTING.md + README.md +) + +src_prepare() { + sed -r 's:(strip[[:space:]]*=[[:space:]]*)true:\1false:' \ + -i pyproject.toml || die + + eapply_user +} + +src_configure() { + export RUSTFLAGS="${RUSTFLAGS}" + cargo_src_configure +} + +src_compile() { + cargo_src_compile + + python_copy_sources + distutils-r1_src_configure + distutils-r1_src_compile + + local solib + for solib in $(find target/$(usex 'debug' 'debug' 'release') -maxdepth 1 -name '*.so'); do + patchelf --set-soname "${solib##*/}" "${solib}" || die + done +} + +src_test() { + cargo_src_test + distutils-r1_src_test +} + +src_install() { + distutils-r1_src_install + + local releasedir=target/$(usex 'debug' 'debug' 'release') + + dobin ${releasedir}/{ruff,flake8-to-ruff,ruff_python_formatter} + dolib.so $(find target/$(usex 'debug' 'debug' 'release') -maxdepth 1 -name '*.so') + + dodoc "${DOCS[@]}" +} |