Files
gentoo/dev-util/ruff/ruff-0.0.259.ebuild
T
Patrick McLean 68183e322b dev-util/ruff: add 0.0.259, drop 0.0.258
Updates the QA_FLAGS_IGNORED variable to close CFLAGS ignore false
positive bugs 902795 and 902793.

Closes: https://bugs.gentoo.org/902795
Closes: https://bugs.gentoo.org/902793
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
2023-03-24 12:28:06 -07:00

424 lines
9.0 KiB
Bash

# 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[@]}"
}