commit: 22bb061841749f56c4a903048501bdb234b67339 Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org> AuthorDate: Thu Nov 27 04:43:14 2025 +0000 Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org> CommitDate: Thu Nov 27 05:03:39 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22bb0618
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 <AT> gentoo.org> .../charset-normalizer-3.4.4-r1.ebuild | 45 ++++++++++++++++++++++ dev-python/charset-normalizer/metadata.xml | 1 - profiles/arch/alpha/package.use.mask | 4 ++ profiles/arch/hppa/package.use.mask | 4 ++ profiles/arch/mips/package.use.mask | 4 ++ 5 files changed, 57 insertions(+), 1 deletion(-) diff --git a/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild new file mode 100644 index 000000000000..78e011177782 --- /dev/null +++ b/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild @@ -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= +} diff --git a/dev-python/charset-normalizer/metadata.xml b/dev-python/charset-normalizer/metadata.xml index 687e12988cd0..5fc9281fe60c 100644 --- a/dev-python/charset-normalizer/metadata.xml +++ b/dev-python/charset-normalizer/metadata.xml @@ -4,7 +4,6 @@ <maintainer type="project"> <email>[email protected]</email> </maintainer> - <stabilize-allarches/> <upstream> <remote-id type="github">jawah/charset_normalizer</remote-id> <remote-id type="pypi">charset-normalizer</remote-id> diff --git a/profiles/arch/alpha/package.use.mask b/profiles/arch/alpha/package.use.mask index ad1350522ab2..ba81087d9659 100644 --- a/profiles/arch/alpha/package.use.mask +++ b/profiles/arch/alpha/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Eli Schwartz <[email protected]> (2025-11-27) +# Needs dev-python/mypy for mypyc, not keyworded here +dev-python/charset-normalizer native-extensions + # Viorel Munteanu <[email protected]> (2025-11-09) # Needs media-video/pipewire, not keyworded here net-misc/tigervnc wayland diff --git a/profiles/arch/hppa/package.use.mask b/profiles/arch/hppa/package.use.mask index 58102ca6d2d5..7b59257dbc1e 100644 --- a/profiles/arch/hppa/package.use.mask +++ b/profiles/arch/hppa/package.use.mask @@ -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 <[email protected]> (2025-11-27) +# Needs dev-python/mypy for mypyc, not keyworded here +dev-python/charset-normalizer native-extensions + # Ionen Wolkens <[email protected]> (2025-11-20) # Needs llvm-core/clang which is not keyworded here dev-qt/qttools qdoc diff --git a/profiles/arch/mips/package.use.mask b/profiles/arch/mips/package.use.mask index bb4e2d4ded95..f961bf00f954 100644 --- a/profiles/arch/mips/package.use.mask +++ b/profiles/arch/mips/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Eli Schwartz <[email protected]> (2025-11-27) +# Needs dev-python/mypy for mypyc, not keyworded here +dev-python/charset-normalizer native-extensions + # Sam James <[email protected]> (2025-11-15) # sys-block/thin-provisioning-tools not keyworded here sys-fs/lvm2 thin
