commit: 7cf4e7f2dbc4b4a6513fb7dc98213a7dc97ae4ef Author: Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru> AuthorDate: Sun Oct 26 20:51:46 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Sun Oct 26 20:51:46 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7cf4e7f2
app-text/ford: 7.0.11-r1 bump, fix py3.14 compat tests Signed-off-by: Sergey Torokhov <torokhov-s-a <AT> yandex.ru> .../ford/files/ford-7.0.11_fix_py3.14_compat.patch | 50 ++++++++++++++++++++++ app-text/ford/ford-7.0.11-r1.ebuild | 46 ++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/app-text/ford/files/ford-7.0.11_fix_py3.14_compat.patch b/app-text/ford/files/ford-7.0.11_fix_py3.14_compat.patch new file mode 100644 index 0000000000..2b2bb520db --- /dev/null +++ b/app-text/ford/files/ford-7.0.11_fix_py3.14_compat.patch @@ -0,0 +1,50 @@ +Upstream issue: https://github.com/Fortran-FOSS-Programmers/ford/issues/713 + +From 9b7e2d0e730ddbe4a0e12be17ba1ea1f5576b6d8 Mon Sep 17 00:00:00 2001 +From: Peter Hill <[email protected]> +Date: Mon, 20 Oct 2025 13:47:32 +0100 +Subject: [PATCH] Fix use of `get_type_hints` + +Should pass class object, rather than class instance. For some reason, +this has only become a problem with Python 3.14, so make sure we're +running CI on newer versions. +--- + .github/workflows/test.yml | 2 +- + ford/settings.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml +index 5697aa1dd..0a92a9dbf 100644 +--- a/.github/workflows/test.yml ++++ b/.github/workflows/test.yml +@@ -8,7 +8,7 @@ jobs: + strategy: + fail-fast: false + matrix: +- python-version: ["3.8", "3.9", "3.10", "3.11"] ++ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + + steps: + - uses: actions/checkout@v3 +diff --git a/ford/settings.py b/ford/settings.py +index fbfbce1d6..e3f955503 100644 +--- a/ford/settings.py ++++ b/ford/settings.py +@@ -213,7 +213,7 @@ class ProjectSettings: + def __post_init__(self): + self.relative = self.project_url == "" + +- field_types = get_type_hints(self) ++ field_types = get_type_hints(ProjectSettings) + + for key, value in asdict(self).items(): + default_type = field_types[key] +@@ -270,7 +270,7 @@ def normalise_paths(self, directory=None): + if directory is None: + directory = Path.cwd() + self.directory = Path(directory).absolute() +- field_types = get_type_hints(self) ++ field_types = get_type_hints(ProjectSettings) + + if self.favicon == FAVICON_PATH: + self.favicon = Path(__file__).parent / FAVICON_PATH diff --git a/app-text/ford/ford-7.0.11-r1.ebuild b/app-text/ford/ford-7.0.11-r1.ebuild new file mode 100644 index 0000000000..aa7fd371d3 --- /dev/null +++ b/app-text/ford/ford-7.0.11-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 pypi toolchain-funcs + +MY_PN="FORD" +DESCRIPTION="FORD, automatic documentation generator for modern Fortran programs" +HOMEPAGE="https://github.com/Fortran-FOSS-Programmers/ford" +SRC_URI="$(pypi_sdist_url "${PN^}" "${PV}")" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + >=dev-python/graphviz-0.20[${PYTHON_USEDEP}] + dev-python/jinja2[${PYTHON_USEDEP}] + >=dev-python/markdown-3.4[${PYTHON_USEDEP}] + >=dev-python/markdown-include-0.8.1[${PYTHON_USEDEP}] + >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}] + dev-python/python-markdown-math[${PYTHON_USEDEP}] + >=dev-python/rich-12.0.0[${PYTHON_USEDEP}] + >=dev-python/toposort-1.7[${PYTHON_USEDEP}] + >=dev-python/tqdm-4.64.0[${PYTHON_USEDEP}] + >=dev-util/pcpp-1.30[${PYTHON_USEDEP}] + test? ( dev-python/tomli-w[${PYTHON_USEDEP}] ) +" +DEPEND="${RDEPEND}" + +DOCS=( CHANGELOG.md README.md ) + +PATCHES="${FILESDIR}/${P}_fix_py3.14_compat.patch" + +distutils_enable_tests pytest + +src_prepare() { + default + sed -i -e 's/"cpp /"'"$(tc-getCPP)"' /' ford/__init__.py || die # bug: 839300 +}
