mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-11 03:57:28 -08:00
Fix issue where meson-python fails to build if pyproject-metadata is not installed at build time. This is needed e.g. when building a binpkg. The full RDEPEND is added because technically both meson and ninja are required at build time and are present in the base stage3 image, however if there are cases where they are not present then then emerge would fail. Signed-off-by: Tom Gillespie <tgbugs@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/39403 Signed-off-by: Michał Górny <mgorny@gentoo.org>
62 lines
1.4 KiB
Bash
62 lines
1.4 KiB
Bash
# Copyright 2022-2024 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 )
|
|
|
|
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}
|
|
>=dev-python/cython-0.29.34[${PYTHON_USEDEP}]
|
|
test? (
|
|
>=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 -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
|
epytest -p pytest_mock
|
|
}
|