summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/pixi/Manifest2
-rw-r--r--dev-util/pixi/pixi-0.62.1.ebuild145
-rw-r--r--dev-util/ruff/Manifest2
-rw-r--r--dev-util/ruff/ruff-0.14.10.ebuild117
4 files changed, 266 insertions, 0 deletions
diff --git a/dev-util/pixi/Manifest b/dev-util/pixi/Manifest
index f734cea476cd..be7208b830d1 100644
--- a/dev-util/pixi/Manifest
+++ b/dev-util/pixi/Manifest
@@ -2,6 +2,8 @@ DIST pixi-0.60.0-crates.tar.xz 68064184 BLAKE2B c7e5f1f1f22a81d9721a82481c739601
DIST pixi-0.60.0.tar.gz 11369759 BLAKE2B 5dea37140af5a7c80ebbdb37239d222a7e9eac31d1cc1ca80d117085a1668b8217a4bea9db3c41d65253f8e7bfa7b8617a157e8dda40e7d2939f521f71659331 SHA512 af727dea295c8ba52e30d1e7095f2d98cdb82e58e52f56c2a195726ab52b71420c1aea1041c2c8039a1798fa1b664fdfa9d1eff2ff42310e2706c7cdf9a1b76a
DIST pixi-0.62.0-crates.tar.xz 70265408 BLAKE2B e80bbd0b74e4f31923edfae29d0d92fabe3339f929fc046f39b9d53444bd51405d302dd6c86c4f9278934b5460f425952406747db758b9ac8c6d8346091fa09d SHA512 013018f34272d5ed16eea6110dcc25bc9e2b6604297ae89ba52e154a5a109795015a72aac4f7b9f405dd3726334e9ef308254a9226fe6623f4568833b445ec9e
DIST pixi-0.62.0.tar.gz 11555369 BLAKE2B db2b4761827502ee44cf0be7d5ca523b44b485c069046c207c4423b194aef407d2026ca2d4476ed9d0f5944461125534136963f97dd19b7bd91bf4f61018dde5 SHA512 2c23d93ee263fe0c63d92fd25f19fa783114abdc0536d37df6aeed9e40d9b36a1b85a7568ad4c5557e05f14ed3af1a2bb65d9c8808492a4da507e373fcec38aa
+DIST pixi-0.62.1-crates.tar.xz 70288300 BLAKE2B d0f019c2db0c491cab344498ac96494e44f169ccba3deac006db35a7f24251950cf2ad4fb64de5a936df7115a33175c62699bd26365bdfb850784410d5896b99 SHA512 903228e51b857e1740e62e460ab44d443754729e3bd7232bdcf90a48ff672b1a6c75940877cd3b24025f0953c72d225634df865243e84fb45b93f59bdc4414ab
+DIST pixi-0.62.1.tar.gz 11581268 BLAKE2B 4b29aa9786fc165bf2529c25f939f0be611c8d3eb6c8d8de39bc7143ee0672df48280a2f5a4437881f624c9095f689f968633558c418f708043721cc129b08b8 SHA512 c51658155b5ea7c34b5884940caa777fe96fc17058ea449d5b1f3d83589f93eb15a461cd999d9f3be38e94b2110c4e8a82e5e5beb74f9b5742445df80b32a4c6
DIST pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.gh.tar.gz 100042 BLAKE2B cacdd77783aae1a94c3aaea56c2bd47b22f13ca34eddcef53b5d205244a213eff2934db03965532085c1aa6892b27bbbabfc19513f62936f8ac1faa466570dd4 SHA512 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464
DIST reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.gh.tar.gz 42520 BLAKE2B ca415865947873f8b309f5b348a600677802fa8128a154b7c86d3e30bffece9df8606504073ddb688c5185e27866b5d7dc8a891e6d390ca075910a691e9bb2aa SHA512 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707
DIST rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.gh.tar.gz 37003 BLAKE2B c4aed18d82641ced2771ad8b8e800c45b1ded279e8ba1874ec9766907d042ae13b460beac739ced6e31c03a647e4238af96fb41e8c0dff4c5d4dd7f59c0ebbff SHA512 d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617
diff --git a/dev-util/pixi/pixi-0.62.1.ebuild b/dev-util/pixi/pixi-0.62.1.ebuild
new file mode 100644
index 000000000000..d8185e5d1317
--- /dev/null
+++ b/dev-util/pixi/pixi-0.62.1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RUST_MIN_VER="1.90.0"
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [uv-auth]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-auth'
+ [uv-build-backend]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-build-backend'
+ [uv-build-frontend]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-build-frontend'
+ [uv-cache-info]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-cache-info'
+ [uv-cache-key]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-cache-key'
+ [uv-cache]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-cache'
+ [uv-client]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-client'
+ [uv-configuration]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-configuration'
+ [uv-console]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-console'
+ [uv-dirs]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-dirs'
+ [uv-dispatch]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-dispatch'
+ [uv-distribution-filename]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-distribution-filename'
+ [uv-distribution-types]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-distribution-types'
+ [uv-distribution]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-distribution'
+ [uv-extract]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-extract'
+ [uv-flags]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-flags'
+ [uv-fs]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-fs'
+ [uv-git-types]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-git-types'
+ [uv-git]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-git'
+ [uv-globfilter]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-globfilter'
+ [uv-install-wheel]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-install-wheel'
+ [uv-installer]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-installer'
+ [uv-keyring]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-keyring'
+ [uv-macros]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-macros'
+ [uv-metadata]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-metadata'
+ [uv-normalize]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-normalize'
+ [uv-once-map]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-once-map'
+ [uv-options-metadata]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-options-metadata'
+ [uv-pep440]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-pep440'
+ [uv-pep508]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-pep508'
+ [uv-platform-tags]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-platform-tags'
+ [uv-platform]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-platform'
+ [uv-preview]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-preview'
+ [uv-pypi-types]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-pypi-types'
+ [uv-python]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-python'
+ [uv-redacted]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-redacted'
+ [uv-requirements-txt]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-requirements-txt'
+ [uv-requirements]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-requirements'
+ [uv-resolver]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-resolver'
+ [uv-scripts]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-scripts'
+ [uv-settings]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-settings'
+ [uv-shell]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-shell'
+ [uv-small-str]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-small-str'
+ [uv-state]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-state'
+ [uv-static]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-static'
+ [uv-torch]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-torch'
+ [uv-trampoline-builder]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-trampoline-builder'
+ [uv-types]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-types'
+ [uv-version]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-version'
+ [uv-virtualenv]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-virtualenv'
+ [uv-warnings]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-warnings'
+ [uv-workspace]='https://github.com/astral-sh/uv;d5f39331a73d5042e70ab770463dff632e20c127;uv-%commit%/crates/uv-workspace'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges'
+)
+
+inherit cargo
+
+CRATE_P=${P}
+DESCRIPTION="A package management and workflow tool"
+HOMEPAGE="
+ https://pixi.sh/
+ https://github.com/prefix-dev/pixi/
+"
+SRC_URI="
+ https://github.com/prefix-dev/pixi/releases/download/v${PV}/source.tar.gz
+ -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/pixi/releases/download/v${PV}/${P}-crates.tar.xz
+"
+
+LICENSE="BSD"
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
+ CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB BZIP2
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rustls"
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+ !rustls? ( dev-libs/openssl:= )
+"
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry version-ranges; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+}
+
+src_configure() {
+ local myfeatures=(
+ $(usex rustls rustls-tls native-tls)
+ )
+ cargo_src_configure --no-default-features
+
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_test() {
+ # tests use it to test preserving envvars, apparently assuming
+ # it will be always set
+ local -x USER=${USER}
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/pixi || die
+ cargo_src_install
+}
diff --git a/dev-util/ruff/Manifest b/dev-util/ruff/Manifest
index 200222965a36..519ced0f0142 100644
--- a/dev-util/ruff/Manifest
+++ b/dev-util/ruff/Manifest
@@ -1,6 +1,8 @@
DIST lsp-types-3512a9f33eadc5402cfab1b8f7340824c8ca1439.gh.tar.gz 71124 BLAKE2B b2ea1c8fdd96dcc78ea48be71d1a4870fe1ff7f6a03dfe96479e0cba5f6b13ea68381d0a85fcb79a1ec2345eab7032c76cf567a813885128f94ac0c47c3de7bf SHA512 3362f9db4e78261825ae17b3429f9c54dc1b32a8b6a275ecff7bbe457c610d27ac37e68be3e9e27378f5f54c786dee787fd87b33c102f2507a46cf7290390ab5
DIST ruff-0.13.1-crates.tar.xz 22289184 BLAKE2B c750396641652e538ba34081f62da40338ddcc02bcf2c131f77f759bb45637db2c8824ad5d290cbc55a7a3d04b7b9950caea4a03db6a109f8089ab339c34c375 SHA512 42c967ba063fecde8e48d69261c355952095d0ba748695305fb090bc4ea07eeb2c3a7c673438dbd2ba7690808f07cb1fc3438300cf8a15344b3fbdc41dedae89
DIST ruff-0.13.1.gh.tar.gz 7990401 BLAKE2B 0c24b65c1212791e06c7ec4d153ca030f20bea75bd55be78314c07237f62060d24544dc45d7928e660f94284f8e45379a7d2f4b30863133b72fcf617ec0a2777 SHA512 f6461b23743144d5c21f83dafed89561514f143d5acfbee1c453f445e27b4d6638299123bdd13031741c8cc410376b111e7c25aab9fec30e7f2f190760ffae04
+DIST ruff-0.14.10-crates.tar.xz 23837368 BLAKE2B c09dcd6a0b6b55cc08407dae11980784e0f36042ebe33983aed5de82c7ba0e27c52f582c2ba11cce00203180a226a7d88333abd3df215309969b2f554856c336 SHA512 be4e7ba3cf489cd8873a030bc17117f7eef7ecd8b8677931794f68f3ca8af1eef2465d8c040230f664b9f7001dd6dde6e5762c847871ad29b5f6acb84c87f7f0
+DIST ruff-0.14.10.gh.tar.gz 10502239 BLAKE2B d7e47a0637717d48804679e17290066ecd09afe9cc9a9f5a2bd75763d0129253582a2473eacb7bd9c4e3ba3454174f2393e33dcbad96aa6ed07ef43ad827c1a5 SHA512 551fa0b51fa941df1f0f90625c07831899c76db99253a470d52f1dc77b580fe039a68dee56b8c0c9bd23ad36a4295874f80635e69859939844a6c155ea73ae99
DIST ruff-0.14.4-crates.tar.xz 23720372 BLAKE2B 99168dcfe4e00948482052a5c527909ee7926efd8b1677d4c762dafa8e126196f1797b1d61a4e0633af7cbe7002851136c7a8a69f1fca8f58286c1254af58d93 SHA512 f1f7e331e9610fa81d3d434a99b18c68b21e1a68871069c00d5966cdd81f5e19279ffcb2137c86bec1fe9a95826cfd1407c63a23514bb173fef2566a42b5bd57
DIST ruff-0.14.4.gh.tar.gz 8266160 BLAKE2B 9b2a63e9f61ce709173cf769b4cd8e949cba5e7b598aafd0ddfb195aafc5939abb2ff9ddcfc3120c30c975c8d828cb4b292d5bc04cc9f4ffe4685e7125efe773 SHA512 45dec24955e617ee5619bf3ad7b0cbd611b43d07690d7a990bd3e9284272f7867b84046e8d3eb9c9be056e36224ca7fdd8e294229e996102075bedbbe0aeba32
DIST ruff-0.14.5-crates.tar.xz 23721648 BLAKE2B 85967ff7a4ee02e26d9aec2312b1c82daeb91245a643526288cfaa0b49a1772f1217f3d2f5b68839cb91ef55830547ecd38bc897e3fe366256c16d34f29d5f4a SHA512 47d6a248edacc1c334b981e7b61d283b3822ab2aa49929d770fbcedc3d95d17278d33fdf9330af7e80867f46d3668060cc9a86a48b1d7d5917eb8b8019d42017
diff --git a/dev-util/ruff/ruff-0.14.10.ebuild b/dev-util/ruff/ruff-0.14.10.ebuild
new file mode 100644
index 000000000000..8346e41aed7d
--- /dev/null
+++ b/dev-util/ruff/ruff-0.14.10.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.15.0
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%'
+ [salsa-macro-rules]='https://github.com/salsa-rs/salsa;55e5e7d32fa3fc189276f35bb04c9438f9aedbd1;salsa-%commit%/components/salsa-macro-rules'
+ [salsa-macros]='https://github.com/salsa-rs/salsa;55e5e7d32fa3fc189276f35bb04c9438f9aedbd1;salsa-%commit%/components/salsa-macros'
+ [salsa]='https://github.com/salsa-rs/salsa;55e5e7d32fa3fc189276f35bb04c9438f9aedbd1;salsa-%commit%'
+)
+
+RUST_MIN_VER="1.90.0"
+
+inherit shell-completion cargo
+
+DESCRIPTION="An extremely fast Python linter, written in Rust"
+HOMEPAGE="
+ https://docs.astral.sh/ruff/
+ https://github.com/astral-sh/ruff
+"
+SRC_URI="
+ ${CARGO_CRATE_URIS}
+ https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-3.0
+ Unicode-DFS-2016 WTFPL-2 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
+
+RDEPEND="
+ !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) )
+ app-arch/zstd
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+DOCS=(
+ BREAKING_CHANGES.md
+ CODE_OF_CONDUCT.md
+ CONTRIBUTING.md
+ README.md
+ assets
+ docs
+)
+
+src_prepare() {
+ default
+
+ # Experimental cruft cleaner. These crates are not used by the ruff binary,
+ # and when they are removed in the git repo, the lockfile is regenerated
+ # and gets quite a bit smaller. Hence pycargoebuild also produces much
+ # smaller CRATES= variables. Less for the user to download, fewer distfiles
+ # to mirror.
+ pushd crates >/dev/null || die
+ rm -r ruff_{benchmark,dev} ty{,_{ide,project,server,completion_eval,combine}} *_wasm || die
+ popd > /dev/null || die
+
+ # tests that hang in the ebuild environment
+ rm crates/ruff_annotate_snippets/tests/examples.rs || die
+}
+
+src_configure() {
+ export RUSTFLAGS="${RUSTFLAGS}"
+ cargo_src_configure
+}
+
+src_compile() {
+ local -x ZSTD_SYS_USE_PKG_CONFIG=1
+ # Gentoo bug #927338
+ if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
+ local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
+ local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
+ fi
+ cargo_src_compile --bin ruff
+
+ local releasedir
+ releasedir=$(cargo_target_dir)
+
+ ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die
+ ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die
+}
+
+src_test() {
+ local -x ZSTD_SYS_USE_PKG_CONFIG=1
+ # Gentoo bug #927338
+ if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
+ local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
+ local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
+ fi
+ cargo_src_test --target-dir "${PWD}"/tested-target/
+}
+
+src_install() {
+ local releasedir=$(cargo_target_dir)
+
+ dobin ${releasedir}/ruff
+
+ newbashcomp ruff-completion.bash ruff
+ newzshcomp ruff-completion.zsh _ruff
+
+ dodoc -r "${DOCS[@]}"
+}