# Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 MY_P="opentelemetry-python-${PV}" DISTUTILS_USE_PEP517=hatchling PYTHON_COMPAT=( python3_{11..13} pypy3 ) inherit distutils-r1 DESCRIPTION="OpenTelemetry Python SDK" HOMEPAGE=" https://opentelemetry.io/ https://pypi.org/project/opentelemetry-sdk/ https://github.com/open-telemetry/opentelemetry-python/ " SRC_URI=" https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz " S="${WORKDIR}/${MY_P}/${PN}" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 arm64 x86" RDEPEND=" ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}] ~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}] dev-python/typing-extensions[${PYTHON_USEDEP}] " BDEPEND=" test? ( dev-python/asgiref[${PYTHON_USEDEP}] dev-python/attrs[${PYTHON_USEDEP}] dev-python/deprecated[${PYTHON_USEDEP}] dev-python/flaky[${PYTHON_USEDEP}] dev-python/importlib-metadata[${PYTHON_USEDEP}] dev-python/iniconfig[${PYTHON_USEDEP}] dev-python/packaging[${PYTHON_USEDEP}] dev-python/pluggy[${PYTHON_USEDEP}] dev-python/py-cpuinfo[${PYTHON_USEDEP}] dev-python/py[${PYTHON_USEDEP}] dev-python/tomli[${PYTHON_USEDEP}] dev-python/wrapt[${PYTHON_USEDEP}] dev-python/zipp[${PYTHON_USEDEP}] ) " # Tests cannot handle xdist with high makeopts # https://bugs.gentoo.org/928132 distutils_enable_tests pytest src_prepare() { default # Use the same version with all opentelemetry components # # https://github.com/gentoo/gentoo/pull/35962#issuecomment-2025466313 sed -i -e "s/\"\(opentelemetry-semantic-conventions == \).*\"/\"\1 ${PV}\"/" pyproject.toml || die } python_test() { cp -a "${BUILD_DIR}"/{install,test} || die local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} for dep in tests/opentelemetry-test-utils; do pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die distutils_pep517_install "${BUILD_DIR}"/test popd >/dev/null || die done local EPYTEST_IGNORE=( tests/performance/benchmarks/ ) local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 epytest }