mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-22 09:27:32 -08:00
cython is only needed by the testsuite. Futhermore, cython is treated as a shell tool (it is looked up using meson's compiler language handling), so it never made sense to require PYTHON_USEDEP. The PYTHON_USEDEP forces recompiling cython if you want to install meson-python for multiple impls. It also means if you try for a pure py3.13 system (which I'm trying to do for the binhost) but need a small handful of 3.12 packages you get conflicts, because meson-python holds back having a pure 3.13 experience for cython. Fixes: 34bf7b6af8ca51d45b8696665c0823511d067211 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
69 lines
1.5 KiB
Bash
69 lines
1.5 KiB
Bash
# Copyright 2022-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_USE_PEP517=standalone
|
|
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
|
|
|
|
inherit distutils-r1
|
|
|
|
DESCRIPTION="Meson PEP 517 Python build backend"
|
|
HOMEPAGE="
|
|
https://pypi.org/project/meson-python/
|
|
https://github.com/mesonbuild/meson-python/
|
|
"
|
|
SRC_URI="
|
|
https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz
|
|
-> ${P}.gh.tar.gz
|
|
"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
|
|
|
|
RDEPEND="
|
|
>=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
|
|
>=dev-build/meson-0.63.0
|
|
!kernel_Darwin? ( dev-util/patchelf )
|
|
$(python_gen_cond_dep '
|
|
>=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
|
|
' 3.10)
|
|
"
|
|
BDEPEND="
|
|
${RDEPEND}
|
|
test? (
|
|
>=dev-python/cython-0.29.34
|
|
>=dev-python/packaging-23.1[${PYTHON_USEDEP}]
|
|
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
|
dev-vcs/git
|
|
)
|
|
"
|
|
|
|
distutils_enable_tests pytest
|
|
|
|
src_test() {
|
|
# required by tests/test_sdist.py::test_reproducible
|
|
git config --global user.email "test@example.com" || die
|
|
git config --global user.name "The Test Suite" || die
|
|
git init -q || die
|
|
git add -A || die
|
|
git commit -m init -q || die
|
|
|
|
distutils-r1_src_test
|
|
}
|
|
|
|
python_test() {
|
|
unset NINJA
|
|
|
|
local EPYTEST_DESELECT=()
|
|
if ! has_version "dev-build/meson[${PYTHON_USEDEP}]"; then
|
|
EPYTEST_DESELECT+=(
|
|
tests/test_wheel.py::test_vendored_meson
|
|
)
|
|
fi
|
|
|
|
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
|
epytest -p pytest_mock
|
|
}
|