Files
guru/dev-python/lupa/lupa-2.8.ebuild
Florian Albrechtskirchinger b9dc7177f4 dev-python/lupa: new package, add 2.8
Signed-off-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com>
2026-06-23 19:55:53 +02:00

74 lines
1.4 KiB
Bash

# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
LUA_COMPAT=( lua5-{1..4} luajit )
PYTHON_COMPAT=( python3_{12..15} )
inherit distutils-r1 lua pypi
DESCRIPTION="Python wrapper around Lua and LuaJIT"
HOMEPAGE="
https://github.com/scoder/lupa
https://pypi.org/project/lupa/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
REQUIRED_USE="${LUA_REQUIRED_USE} ${PYTHON_REQUIRED_USE}"
DEPEND="${LUA_DEPS}"
RDEPEND="${DEPEND}"
BDEPEND="
>=dev-python/cython-3.2.4[${PYTHON_USEDEP}]
virtual/pkgconfig
"
src_prepare() {
distutils-r1_src_prepare
mv lupa/tests . || die
sed -i "s/lupa.tests/tests/g" tests/test.py || die
}
python_configure_all() {
DISTUTILS_ARGS=(
--no-bundle
--with-cython
)
local -a config_items
_build_config_items() {
local incdir=$(lua_get_include_dir "${ELUA}")
local libpath=$(lua_get_shared_lib "${ELUA}")
local modname="${ELUA/./}"
config_items+=(
"dict(extra_objects=['${libpath}'], include_dirs=['${incdir}'], libversion='${modname}')"
)
}
lua_foreach_impl _build_config_items
local IFS=","
local configs="[${config_items[*]}]"
sed -i "s|^configs = get_lua_build_from_arguments()|configs = ${configs}|" setup.py || die
}
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
EPYTEST_DESELECT=(
# not a test case
tests/test.py::TestOverflowMixin
)
rm -rf lupa || die
epytest tests/test.py
}