app-text/ford: 7.0.11-r1 bump, fix py3.14 compat tests

Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
This commit is contained in:
Sergey Torokhov
2025-10-26 23:51:46 +03:00
parent 557fb3a459
commit 7cf4e7f2db
2 changed files with 96 additions and 0 deletions

View File

@@ -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 <peter.hill@york.ac.uk>
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

View File

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