View Raw Ebuild
# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( python3_{11..12} )
inherit distutils-r1 pypi
DESCRIPTION="Binary Python wheels for all tree sitter languages"
HOMEPAGE="https://github.com/grantjenks/py-tree-sitter-languages"
SRC_URI="https://github.com/grantjenks/py-tree-sitter-languages/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
$(python_gen_useflags python3_12)? ( $(pypi_wheel_url ${PN} ${PV} "cp312" "cp312-manylinux_2_17_x86_64.manylinux2014_x86_64") )
$(python_gen_useflags python3_11)? ( $(pypi_wheel_url ${PN} ${PV} "cp311" "cp311-manylinux_2_17_x86_64.manylinux2014_x86_64") )
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="dev-python/tree-sitter[${PYTHON_USEDEP}]"
S="${WORKDIR}/py-${P}"
distutils_enable_tests pytest
python_compile() {
if use $(python_gen_useflags python3_12); then
local _pytag="cp312"
local _abitag="cp312-manylinux_2_17_x86_64.manylinux2014_x86_64"
elif use $(python_gen_useflags python3_11); then
local _pytag="cp311"
local _abitag="cp311-manylinux_2_17_x86_64.manylinux2014_x86_64"
#elif use $(python_gen_useflags python3_10); then
# local _pytag="cp310"
# local _abitag="cp310-manylinux_2_17_x86_64.manylinux2014_x86_64"
fi
distutils_wheel_install "${BUILD_DIR}/install" \
"${DISTDIR}"/$(pypi_wheel_name "${PN}" "${PV}" "${_pytag}" "${_abitag}")
}
python_test() {
# ModuleNotFoundError: No module named 'tree_sitter_languages.core'
local _PN=$(pypi_normalize_name ${PN})
[[ -d ${_PN} ]] && { mv {,_}${_PN} || die ; }
epytest
[[ -d _${_PN} ]] && { mv {_,}${_PN} || die ; }
}