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
+}

Reply via email to