diff options
Diffstat (limited to 'dev-python/grep-ast')
| -rw-r--r-- | dev-python/grep-ast/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch | 14 | ||||
| -rw-r--r-- | dev-python/grep-ast/files/tsl.py | 40 | ||||
| -rw-r--r-- | dev-python/grep-ast/grep-ast-20250508.ebuild | 69 | ||||
| -rw-r--r-- | dev-python/grep-ast/metadata.xml | 13 |
5 files changed, 137 insertions, 0 deletions
diff --git a/dev-python/grep-ast/Manifest b/dev-python/grep-ast/Manifest new file mode 100644 index 000000000000..1deee60e4077 --- /dev/null +++ b/dev-python/grep-ast/Manifest @@ -0,0 +1 @@ +DIST grep-ast-20250508.gh.tar.gz 24355 BLAKE2B f20d10b641e2ff0a880b359d7105a0d83feb9f385acfff87656be445c14bdcdf77ae4acfbd77f9c2bac0af9de8885d1a1007de1cdd80f6d2b89380539d059006 SHA512 f2e24153b2f95f86e4c93c8a9fe806415989db7d410bdb1be627feb238d917f981a3b4852912b350c56bdaffee6dd3518714801d76994192b974124dd0149d3b diff --git a/dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch b/dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch new file mode 100644 index 000000000000..3565832f5b92 --- /dev/null +++ b/dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch @@ -0,0 +1,14 @@ +--- a/tests/test_parsers.py 2026-09-24 14:10:15.753263357 +0200 ++++ b/tests/test_parsers.py 2026-09-24 14:11:05.104668455 +0200 +@@ -1,9 +1,8 @@ +-from tree_sitter_languages import get_parser +- + from grep_ast.dump import dump # noqa: F401 + from grep_ast.parsers import PARSERS ++from grep_ast.tsl import get_parser, LANGUAGE_MAPPING + + + def test_get_parser_for_all_parsers(): +- for lang in PARSERS.values(): ++ for lang in LANGUAGE_MAPPING.keys(): + assert get_parser(lang) is not None diff --git a/dev-python/grep-ast/files/tsl.py b/dev-python/grep-ast/files/tsl.py new file mode 100644 index 000000000000..21638a0640ce --- /dev/null +++ b/dev-python/grep-ast/files/tsl.py @@ -0,0 +1,40 @@ +from tree_sitter import Language, Parser +import tree_sitter_bash +import tree_sitter_c +import tree_sitter_cmake +import tree_sitter_cpp +import tree_sitter_css +import tree_sitter_html +import tree_sitter_javascript +import tree_sitter_markdown +import tree_sitter_python +import tree_sitter_xml + +USING_TSL_PACK = True + +LANGUAGE_MAPPING = { + "bash": tree_sitter_bash.language(), + "c": tree_sitter_c.language(), + "cmake": tree_sitter_cmake.language(), + "cpp": tree_sitter_cpp.language(), + "css": tree_sitter_css.language(), + "dtd": tree_sitter_xml.language_dtd(), + "html": tree_sitter_html.language(), + "javascript": tree_sitter_javascript.language(), + "markdown": tree_sitter_markdown.language(), + "markdown_inline": tree_sitter_markdown.inline_language(), + "python": tree_sitter_python.language(), + "xml": tree_sitter_xml.language_xml(), +} + +def get_language(lang: str): + if lang in LANGUAGE_MAPPING: + return Language(LANGUAGE_MAPPING[lang]) + raise ValueError(f"Unsupported language: {lang}") + +def get_parser(lang: str): + lang_obj = get_language(lang) + parser = Parser(lang_obj) + return parser + +__all__ = [get_parser, get_language, USING_TSL_PACK] diff --git a/dev-python/grep-ast/grep-ast-20250508.ebuild b/dev-python/grep-ast/grep-ast-20250508.ebuild new file mode 100644 index 000000000000..f4e0dbb60758 --- /dev/null +++ b/dev-python/grep-ast/grep-ast-20250508.ebuild @@ -0,0 +1,69 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +CommitId=9a2c49b00852d012dc97850a3c0b3248f15bd043 +DESCRIPTION="Grep source code and see useful code context about matching lines" +HOMEPAGE=" + https://pypi.org/project/grep_ast/ +" +SRC_URI="https://github.com/Aider-AI/${PN}/archive/${CommitId}.tar.gz + -> ${P}.gh.tar.gz" +S="${WORKDIR}"/${PN}-${CommitId} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# In portage, to add here +#"clojure", +#"csharp", +#"erlang", +#"gleam", +#"go", +#"haskell", +#"java", +#"jsdoc", +#"json", +#"julia", +#"kconfig", +#"lua", +#"ocaml", +#"php", +#"powershell", +#"racket", +#"ruby", +#"rust", +#"scala", +#"typescript", +#"vim", + +RDEPEND=" + dev-python/tree-sitter[${PYTHON_USEDEP}] + dev-libs/tree-sitter-bash[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-c[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-cmake[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-cpp[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-css[python(-),${PYTHON_USEDEP}] + dev-libs/tree-sitter-html[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-javascript[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-markdown[python(-),${PYTHON_USEDEP}] + dev-libs/tree-sitter-python[python,${PYTHON_USEDEP}] + dev-libs/tree-sitter-xml[python,${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +PATCHES=( "${FILESDIR}"/${P}-treesitter.patch ) + +src_prepare() { + cp "${FILESDIR}"/tsl.py grep_ast/tsl.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/grep-ast/metadata.xml b/dev-python/grep-ast/metadata.xml new file mode 100644 index 000000000000..a05649e5caee --- /dev/null +++ b/dev-python/grep-ast/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + <maintainer type="person"> + <email>tupone@gentoo.org</email> + <name>Tupone Alfredo</name> + </maintainer> + <stabilize-allarches /> + <origin>srcux</origin> +</pkgmetadata> |
