dev-python/fonttools: Bump to 4.58.2

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2025-06-07 06:09:24 +02:00
parent ab798e9a25
commit 35009ce029
3 changed files with 117 additions and 0 deletions

View File

@@ -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

View File

@@ -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]

View File

@@ -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}"
}