dev-python/charset-normalizer: add native extension support

Uses mypyc to accelerate charset_normalizer.md; mypy is not available on
all arches and also not for pypy.

Closes: https://bugs.gentoo.org/911128
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
This commit is contained in:
Eli Schwartz 2025-11-26 23:43:14 -05:00
parent 6b54a145c9
commit 22bb061841
No known key found for this signature in database
GPG Key ID: 84A7D12B700D2F57
5 changed files with 57 additions and 1 deletions

View File

@ -0,0 +1,45 @@
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
EAPI=8
DISTUTILS_USE_PEP517=standalone
DISTUTILS_EXT=1
PYPI_VERIFY_REPO=https://github.com/jawah/charset_normalizer
PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi
DESCRIPTION="The Real First Universal Charset Detector"
HOMEPAGE="
https://pypi.org/project/charset-normalizer/
https://github.com/jawah/charset_normalizer/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
native-extensions? (
$(python_gen_cond_dep '
dev-python/mypy[${PYTHON_USEDEP}]
' python3.{11..14})
)
dev-python/setuptools[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_compile() {
local -x CHARSET_NORMALIZER_USE_MYPYC=$(usex native-extensions 1 0)
distutils-r1_python_compile
}
python_test() {
epytest -o addopts=
}

View File

@ -4,7 +4,6 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="github">jawah/charset_normalizer</remote-id>
<remote-id type="pypi">charset-normalizer</remote-id>

View File

@ -1,6 +1,10 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Eli Schwartz <eschwartz@gentoo.org> (2025-11-27)
# Needs dev-python/mypy for mypyc, not keyworded here
dev-python/charset-normalizer native-extensions
# Viorel Munteanu <ceamac@gentoo.org> (2025-11-09)
# Needs media-video/pipewire, not keyworded here
net-misc/tigervnc wayland

View File

@ -4,6 +4,10 @@
# NOTE: When masking a USE flag due to missing keywords, please file a keyword
# request bug for the hppa arch.
# Eli Schwartz <eschwartz@gentoo.org> (2025-11-27)
# Needs dev-python/mypy for mypyc, not keyworded here
dev-python/charset-normalizer native-extensions
# Ionen Wolkens <ionen@gentoo.org> (2025-11-20)
# Needs llvm-core/clang which is not keyworded here
dev-qt/qttools qdoc

View File

@ -1,6 +1,10 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Eli Schwartz <eschwartz@gentoo.org> (2025-11-27)
# Needs dev-python/mypy for mypyc, not keyworded here
dev-python/charset-normalizer native-extensions
# Sam James <sam@gentoo.org> (2025-11-15)
# sys-block/thin-provisioning-tools not keyworded here
sys-fs/lvm2 thin