diff options
| author | Michał Górny <mgorny@gentoo.org> | 2025-06-07 06:09:24 +0200 |
|---|---|---|
| committer | Michał Górny <mgorny@gentoo.org> | 2025-06-07 08:13:22 +0200 |
| commit | 35009ce0293f717503c8d41f7db9b81593d34a63 (patch) | |
| tree | dca0663207d1d63fa68c6e82a032d2a7d5869d21 /dev-python | |
| parent | ab798e9a2590d6e2174d5e186f4ebc4bf4441d2e (diff) | |
| download | gentoo-35009ce0293f717503c8d41f7db9b81593d34a63.tar.gz gentoo-35009ce0293f717503c8d41f7db9b81593d34a63.tar.bz2 gentoo-35009ce0293f717503c8d41f7db9b81593d34a63.zip | |
dev-python/fonttools: Bump to 4.58.2
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/fonttools/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/fonttools/files/fonttools-4.58.2-py313.patch | 42 | ||||
| -rw-r--r-- | dev-python/fonttools/fonttools-4.58.2.ebuild | 74 |
3 files changed, 117 insertions, 0 deletions
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest index 9a83081ab985..2f26d10793ca 100644 --- a/dev-python/fonttools/Manifest +++ b/dev-python/fonttools/Manifest @@ -2,3 +2,4 @@ DIST fonttools-4.56.0.gh.tar.gz 3900744 BLAKE2B f75ad562092cadbf2a844fedf47e1b05 DIST fonttools-4.57.0.gh.tar.gz 3932468 BLAKE2B 7bfcf6aa3b5cffbba7cdabe14a580dc40677a1d80a2d69750925d7e06c1885df9cd586a228c0d06707acdc9870e92241cce373f0eb27f93a4f887ba14631470c SHA512 7e3ef7149b8e6af5953a827e0a078390e67b919ba9752a03672d876f6de3d0d395b2e061c0f87e5d9298c13c74a1f0162d99151c364dfab487eec2ab9adced75 DIST fonttools-4.58.0.gh.tar.gz 3955467 BLAKE2B 0094284f90685a4e8051c84374325413269ab0207f0ecc25d3129776a226de05a82adcbf1812cc3f18b8950b49f310f7a96295812a33c8e3fecd6aa48d768efb SHA512 8d32cffb2a83b0fb2eda89a8352b7e235595c8d159adb4075941da46c3715701c1d12d0f5e0fe663c587f5c888658ab1d7b2a54cb857355848627a1c25acd0ae DIST fonttools-4.58.1.gh.tar.gz 3959551 BLAKE2B bb3a958a359654bee709efe8d21c6e7f13c62c730aa33fdcbe2866318fe91f14ee7e6b63951f17b5ff1faa3e2b96ee934bd7e5b063242d88980d649653a682ce SHA512 f5b810668dca7ffca943fc362616784d1aecbd8f036925b2f8acb2d80997c26cf8c8127814f31f1a62bcf062d83c4a8b76ee022a146d5c2b8693cd1750732545 +DIST fonttools-4.58.2.gh.tar.gz 3964058 BLAKE2B 0e367e65cd19d109db11e81020814b3b07dd7fb82068fd162ad04a7a7ee64d641991908c946f09f853b6e797b09f87bafb8870ab84750cc3d3e525083946d5d5 SHA512 f78026457be3d75be89ec6788309fc5cab9d9987b5c438bffe7059a78b5d688b6fb9a94dca9636f4c28d44a60f36cdd24bbdf1d32197d63e79b99f3108ce32a5 diff --git a/dev-python/fonttools/files/fonttools-4.58.2-py313.patch b/dev-python/fonttools/files/fonttools-4.58.2-py313.patch new file mode 100644 index 000000000000..f4afa98b65ea --- /dev/null +++ b/dev-python/fonttools/files/fonttools-4.58.2-py313.patch @@ -0,0 +1,42 @@ +From c9d720cfeb4e5bdabbed68050154f7f9486eac37 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 7 Jun 2025 07:51:13 +0200 +Subject: [PATCH] fix iterable check for Python 3.13.4 and newer + +Fix the `feaLib/ast.py` snippet used to check whether a type is iterable +to work correctly with Python 3.13.4. The snippet wrongly assumed +that a generator expression will raise immediately when the RHS of `in` +is not iterable. This is no longer the case with Python 3.13.4, +and such a generator only raises when you actually start iterating. +Use a plain `for` expression to start iterating and catch the problem +more reliably. + +Fixes #3854 +--- + Lib/fontTools/feaLib/ast.py | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Lib/fontTools/feaLib/ast.py b/Lib/fontTools/feaLib/ast.py +index efcce8c68..18e5a891d 100644 +--- a/Lib/fontTools/feaLib/ast.py ++++ b/Lib/fontTools/feaLib/ast.py +@@ -719,7 +719,8 @@ class ChainContextPosStatement(Statement): + for i, lookup in enumerate(lookups): + if lookup: + try: +- (_ for _ in lookup) ++ for _ in lookup: ++ break + except TypeError: + self.lookups[i] = [lookup] + +@@ -777,7 +778,8 @@ class ChainContextSubstStatement(Statement): + for i, lookup in enumerate(lookups): + if lookup: + try: +- (_ for _ in lookup) ++ for _ in lookup: ++ break + except TypeError: + self.lookups[i] = [lookup] + diff --git a/dev-python/fonttools/fonttools-4.58.2.ebuild b/dev-python/fonttools/fonttools-4.58.2.ebuild new file mode 100644 index 000000000000..6754ed213b4b --- /dev/null +++ b/dev-python/fonttools/fonttools-4.58.2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 virtualx + +DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts" +HOMEPAGE=" + https://github.com/fonttools/fonttools/ + https://pypi.org/project/fonttools/ +" +SRC_URI=" + https://github.com/fonttools/fonttools/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions" + +RDEPEND=" + >=dev-python/fs-2.4.9[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + ' 'python*') + ) + test? ( + dev-python/brotlicffi[${PYTHON_USEDEP}] + dev-python/munkres[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + app-arch/zopfli + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/fonttools/fonttools/pull/3855 + "${FILESDIR}/${P}-py313.patch" +) + +python_compile() { + local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions) + [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0 + distutils-r1_python_compile +} + +src_test() { + # virtualx used when matplotlib is installed causing plot module tests to run + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # flaky test + Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + nonfatal epytest \ + -p rerunfailures --reruns=5 \ + Tests fontTools || die -n "Tests failed with ${EPYTHON}" +} |
