summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/libcst/Manifest8
-rw-r--r--dev-python/libcst/libcst-1.8.6.ebuild197
2 files changed, 205 insertions, 0 deletions
diff --git a/dev-python/libcst/Manifest b/dev-python/libcst/Manifest
index 1864d3487dd5..92dea86fdc13 100644
--- a/dev-python/libcst/Manifest
+++ b/dev-python/libcst/Manifest
@@ -33,12 +33,15 @@ DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f
DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255
DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
DIST libcst-1.8.5.tar.gz 884582 BLAKE2B b79c7c91050d5401c50cdcdbb8e9f8784dfe06d6a100795c20d67595f209f84996be4a46cc1f82ed7768212b829a245205f1846f202c7e60969a8a744676cd92 SHA512 30070d7f4ed973934b37e58313fe27d66402877f9db3ff644ad488978758053bdc41d7d073441bce4466f92ec9a3b01ecd4e7e58462a84cc55ddf46c0ee0c7b2
+DIST libcst-1.8.6.tar.gz 891354 BLAKE2B f99592fe85a543e5996ebed401478cc27f8cba53d9945fa5e948e109e2b52f35a11da78a44fc66a16c1877be55b99d16015e90cac9811410f37b615ec2d9ddac SHA512 fe6c2b1cb1a9ef2b02e8f73fae3b91fc42af7e2ae78f9c0120dd5417635026aa26ee2cf1413f3ecc1fbbd9655381e2c49a878ec7475c205ab93a89ae7f317100
+DIST libcst-1.8.6.tar.gz.provenance 9393 BLAKE2B 3938392a475caaf546df3c0280e956202a016abfdb4566a391e49e02c6d2346ed4ddf683c3d9f6ca6e32288ff06f5e6e1e8537f095fa06b513c5cf5a9ecbe4e3 SHA512 ea4d3e60ffd0d6f7b34f1dad72011c7ef50f03cfed44fec8fa58e1c387ff1b6f748a55c1a2f297fe392573c91a7965adbf92e45d39a4e49fd553718df7a2e788
DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
DIST once_cell-1.16.0.crate 32120 BLAKE2B 59bfc8a44f1fec72442e3d34bf4be3a5af073f854f07b3618b2857c759dca4a0fa6ba358514ae28c25d745b01bb7b390ffe9ed6e296d163fd3dd67e49092b87a SHA512 bc199570ee43bde9245a2c4637ae738e370ce9988635c8342349ceb6fb158f376247b69f9ec4ea0e6d76b934decdc77a524299ebde96c0a2c2d29d9501b9a568
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4
DIST peg-0.8.5.crate 22411 BLAKE2B d11ae9dd8eee3555d3cdb882d0b9c8ec8b042ba312ddc146fbe1630cabe233af1acfe99d19d5bf795423d1f350cacc7089515d460e8be2ffeedcf6205ded8753 SHA512 d23fe530ab6d7a26e5a51e25ab672c188ed030d92e14db1f0409267cfc46ebeb13b4e8d07b4e2e7739a4db015808bd5d1654861a89cf5ee31b64dd5e05f583c8
@@ -50,10 +53,15 @@ DIST plotters-svg-0.3.7.crate 6715 BLAKE2B 1437ad7e1c1b3e82ab1f58660ff6931e510f6
DIST portable-atomic-1.4.3.crate 126291 BLAKE2B 08fbfd391c9eb55c02b8345549a57fb5c3b8cfcd81e3867ca49cba94faa7b2d372e4f2996fbef4a52742d852b117d4b7cc488571df7272b93caf47a9a2680c46 SHA512 89f14902c1e55c37d7663bc9255378441a0951e5d8e21665a8102e06b766135cec6d982f9ed01b4167e872a7853102ad0e9347e9b163ea81d81b00ee2362e9a0
DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6
+DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194
DIST pyo3-build-config-0.25.1.crate 34126 BLAKE2B ca905f1f74e26f38ab63a4f5754055c9dff01f9396f81ece09b7ce067181b657e6746db3b373f7177805f6564d0df0db064b5fcab8160d5edc357e64dd32d0fc SHA512 d6fe4a46111188203a839c8c73b9835f98cd6bc5982868cbcc9f502c5a09b35c3e61117b50ef8372470051b5bc4959731907748ffca89f42f300a3081b7b0467
+DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b
DIST pyo3-ffi-0.25.1.crate 78058 BLAKE2B 351fe00c99008a34a003e50cd4f6d25e6dae5a446928358cd5146ac9924254614724a015ae77d8aade7bcb497cf5e5b5018021ff5d89a8efa6412f5ccb48744e SHA512 35ab63888f49df13fab8b96b87f6c705186173923fd5898abe8730675156426f020ee517019926ba5e06cdb4fc5f91a75f648ce9eba892e9eaf3ee17864a8ec7
+DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e
DIST pyo3-macros-0.25.1.crate 8886 BLAKE2B aad9c975c90ff93429be24287d76edd945578b546a927f54d82b6d4bf184f1f8d426ac112307205346e85999a1e89b097f68310de647f27474790bff01c3517a SHA512 08387f3d1ddb0cc253eed376e6e8ebe5722b31664ec742f16c0454b52f1fbcadbe7720ae9e2d3870fe0ca2690916cf6e3e032f5a3e65d767322c068432f6d470
+DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43
DIST pyo3-macros-backend-0.25.1.crate 76006 BLAKE2B 02225f8591585a6cbea7d6e53503bfbac395253cb0f45c588a2eb38908bf241034412832f2fcf4e9301318b5b9b82a888755d970f544f402a4f0cf9e4a6eefe9 SHA512 4c9006424630ab9bcd5dcdd45fe927a95a40a61757f0950396eb9f0c3f1794772092a19773c102220489cc621ad65d81dbbe459a1be472f6cd3211c50ef33cc2
+DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367
DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST rayon-1.11.0.crate 182470 BLAKE2B 40a21dac636e7a652d62d9db520bc50a7a0019f0f96aec6a9002dffdef3d7ee0b2a323e4c3022e5cbaa22efe52bc72573bcfc7d399dffc853bec08190ea4eab6 SHA512 24238ba604099b3e58282b7338ccc63e52621e329ac908d7f3799c632f4ff97ae305a5b361479d4d7d0f09b76f49ab3b75c4187c41542caaca0575d51c299d2c
DIST rayon-core-1.13.0.crate 73151 BLAKE2B 31112b2f4ff2a0607daced97e234c6cad1356c79d21c7493f3b19b2747083eca85709d5548c9214bb5186a7e2e5fe0def27c45d69d597cac976bb0956da2aa70 SHA512 dce0adda8f5858d351f628f50168d9097ecca437b77fc0c63ad18fb8b3fcc87f2f513cbcbf57606862e30e81f293a05d245073be75292d1a536d6a4d3e2edb9b
diff --git a/dev-python/libcst/libcst-1.8.6.ebuild b/dev-python/libcst/libcst-1.8.6.ebuild
new file mode 100644
index 000000000000..557080d5a0df
--- /dev/null
+++ b/dev-python/libcst/libcst-1.8.6.ebuild
@@ -0,0 +1,197 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/Instagram/LibCST
+# TODO: add freethreading when the deps are done
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+RUST_MIN_VER="1.80.0"
+CRATES="
+ aho-corasick@1.0.4
+ anes@0.1.6
+ annotate-snippets@0.11.5
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.12.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.0
+ ciborium-ll@0.2.0
+ ciborium@0.2.0
+ clap@4.5.38
+ clap_builder@4.5.38
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.6.0
+ crossbeam-deque@0.8.1
+ crossbeam-epoch@0.9.9
+ crossbeam-utils@0.8.10
+ difference@2.0.0
+ either@1.6.1
+ equivalent@1.0.1
+ glob@0.3.0
+ half@1.8.2
+ hashbrown@0.14.5
+ heck@0.5.0
+ indexmap@2.4.0
+ indoc@2.0.4
+ itertools@0.10.5
+ itertools@0.13.0
+ itertools@0.14.0
+ itoa@1.0.2
+ js-sys@0.3.77
+ libc@0.2.149
+ log@0.4.17
+ memchr@2.7.4
+ memoffset@0.6.5
+ memoffset@0.9.0
+ num-traits@0.2.15
+ once_cell@1.21.3
+ oorandom@11.1.3
+ paste@1.0.15
+ peg-macros@0.8.5
+ peg-runtime@0.8.5
+ peg@0.8.5
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.4.3
+ proc-macro2@1.0.95
+ pyo3-build-config@0.26.0
+ pyo3-ffi@0.26.0
+ pyo3-macros-backend@0.26.0
+ pyo3-macros@0.26.0
+ pyo3@0.26.0
+ quote@1.0.40
+ rayon-core@1.13.0
+ rayon@1.11.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.2
+ rustversion@1.0.21
+ ryu@1.0.10
+ same-file@1.0.6
+ scopeguard@1.1.0
+ serde@1.0.208
+ serde_derive@1.0.208
+ serde_json@1.0.125
+ serde_spanned@0.6.7
+ syn@2.0.101
+ target-lexicon@0.13.2
+ target-triple@0.1.4
+ termcolor@1.1.3
+ thiserror-impl@2.0.12
+ thiserror@2.0.12
+ tinytemplate@1.2.1
+ toml@0.8.19
+ toml_datetime@0.6.8
+ toml_edit@0.22.20
+ trybuild@1.0.105
+ unicode-ident@1.0.18
+ unicode-width@0.2.0
+ unindent@0.2.3
+ walkdir@2.3.2
+ wasm-bindgen-backend@0.2.100
+ wasm-bindgen-macro-support@0.2.100
+ wasm-bindgen-macro@0.2.100
+ wasm-bindgen-shared@0.2.100
+ wasm-bindgen@0.2.100
+ web-sys@0.3.77
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ winnow@0.6.18
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="A concrete syntax tree with AST-like properties for Python"
+HOMEPAGE="
+ https://github.com/Instagram/LibCST/
+ https://pypi.org/project/libcst/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT Apache-2.0 PSF-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/pyyaml-6.0.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not require the freethreading fork for regular 3.13
+ sed -i -e '/pyyaml-ft/d' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ libcst/codemod/tests/test_codemod_cli.py::TestCodemodCLI::test_codemod_formatter_error_input
+ )
+ local EPYTEST_IGNORE=(
+ # fuzzing, require hypothesmith
+ libcst/tests/test_fuzz.py
+ # require pyre-check
+ libcst/metadata/tests/test_type_inference_provider.py
+ # requires `python -m libcst.codegen.generate` which has extra
+ # deps and needs patching to work in our venv
+ # TODO: figure out if we don't need that for revdeps anyway
+ libcst/codegen/tests/test_codegen_clean.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/Instagram/LibCST/issues/1278
+ libcst/codemod/commands/tests/test_rename_typing_generic_aliases.py::TestRenameCommand::test_rename_typing_generic_alias
+ )
+ ;;
+ esac
+
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ # fixtures
+ ln -s "${S}/native" . || die
+
+ nonfatal epytest
+ local ret=${?}
+
+ rm native || die
+
+ [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}"
+}
+
+python_test_all() {
+ cd native || die
+ cargo_src_test
+}