mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-25 21:08:35 -07:00
76 lines
1.7 KiB
Bash
76 lines
1.7 KiB
Bash
# Copyright 1999-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_EXT=1
|
|
DISTUTILS_USE_PEP517=standalone
|
|
PYPI_VERIFY_REPO=https://github.com/aio-libs/yarl
|
|
PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t )
|
|
|
|
inherit distutils-r1 pypi
|
|
|
|
DESCRIPTION="Yet another URL library"
|
|
HOMEPAGE="
|
|
https://github.com/aio-libs/yarl/
|
|
https://pypi.org/project/yarl/
|
|
"
|
|
|
|
LICENSE="Apache-2.0"
|
|
SLOT="0"
|
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
|
|
IUSE="+native-extensions"
|
|
|
|
RDEPEND="
|
|
>=dev-python/idna-2.0[${PYTHON_USEDEP}]
|
|
>=dev-python/multidict-4.0[${PYTHON_USEDEP}]
|
|
>=dev-python/propcache-0.2.1[${PYTHON_USEDEP}]
|
|
"
|
|
BDEPEND="
|
|
native-extensions? (
|
|
dev-python/cython[${PYTHON_USEDEP}]
|
|
)
|
|
dev-python/expandvars[${PYTHON_USEDEP}]
|
|
dev-python/setuptools[${PYTHON_USEDEP}]
|
|
"
|
|
|
|
EPYTEST_PLUGINS=( hypothesis )
|
|
distutils_enable_tests pytest
|
|
|
|
src_prepare() {
|
|
distutils-r1_src_prepare
|
|
|
|
# override insane flag defaults
|
|
cat >> packaging/pep517_backend/_cython_configuration.py <<-EOF || die
|
|
@contextmanager
|
|
def patched_env(*args, **kwargs):
|
|
yield
|
|
EOF
|
|
}
|
|
|
|
python_compile() {
|
|
local -x YARL_NO_EXTENSIONS=0
|
|
if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
|
|
YARL_NO_EXTENSIONS=1
|
|
fi
|
|
distutils-r1_python_compile
|
|
}
|
|
|
|
python_test() {
|
|
local EPYTEST_IGNORE=(
|
|
# benchmarks
|
|
tests/test_quoting_benchmarks.py
|
|
tests/test_url_benchmarks.py
|
|
)
|
|
|
|
local opts=()
|
|
# note different boolean logic than for backend (sigh)
|
|
local -x YARL_NO_EXTENSIONS=
|
|
if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
|
|
YARL_NO_EXTENSIONS=1
|
|
fi
|
|
|
|
rm -rf yarl || die
|
|
epytest -o addopts= "${opts[@]}"
|
|
}
|