Version: 6.2.5 %global SETUPTOOLS_SCM_PRETEND_VERSION %{version} Name: ford Release: 1%{?dist} Summary: Generate FORtran Documentation from code comments License: GPL-3.0-or-later URL: https://github.com/Fortran-FOSS-Programmers/ford Source0: ford.tar.gz BuildRequires: git BuildRequires: python3-devel # Documentation dependencies #BuildRequires: python3dist(sphinx) #BuildRequires: python3dist(sphinx-autodoc-typehints) # Not packaged #BuildRequires: python3dist(sphinx-book-theme) #BuildRequires: python3dist(sphinx-argparse-cli) # Test dependencies BuildRequires: python3dist(pytest) BuildArch: noarch %global common_description %{expand: This is an automatic documentation generator for modern Fortran programs. FORD stands for FORtran Documenter. As you may know, "to ford" refers to crossing a river (or other body of water). It does not, in this context, refer to any company or individual associated with cars. Ford was written due to Doxygen's poor handling of Fortran and the lack of comparable alternatives. ROBODoc can't actually extract any information from the source code and just about any other automatic documentation software I found was either proprietary, didn't work very well for Fortran, or was limited in terms of how it produced its output. f90doc is quite good and I managed to modify it so that it could handle most of Fortran 2003, but it produces rather ugly documentation, can't provide as many links between different parts of the documentation as I'd like, and is written in Perl (which I'm not that familiar with and which lacks the sort of libraries found in Python for producing HTML content). The goal of FORD is to be able to reliably produce documentation for modern Fortran software which is informative and nice to look at. The documentation should be easy to write and non-obtrusive within the code. While it will never be as feature-rich as Doxygen, hopefully FORD will be able to provide a good alternative for documenting Fortran projects.} %description %{common_description} %prep %autosetup -n %{name} # Set version explicitly as no git history #sed -i 's/dynamic = \[\"version\"\]/version = \"%{version}\"/g' pyproject.toml # Relax dependency requirements sed -i 's/markdown ~= 3.4.0/markdown >= 3.4.0/g' pyproject.toml sed -i 's/markdown-include ~= 0.7.0/markdown-include >= 0.7.0/g' pyproject.toml sed -i 's/python-markdown-math ~= 0.8/python-markdown-math >= 0.8/g' pyproject.toml sed -i 's/toposort ~= 1.7.0/toposort >= 1.7.0/g' pyproject.toml sed -i 's/pygments ~= 2.12.0/pygments >= 2.12.0/g' pyproject.toml sed -i 's/graphviz ~= 0.20.0/graphviz >= 0.20.0/g' pyproject.toml sed -i 's/tqdm ~= 4.64.0/tqdm >= 4.64.0/g' pyproject.toml #export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_FORD=%{version} #export SETUPTOOLS_SCM_OVERRIDES_FOR_FORD=%{version} #export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files ford %check # Run tests that pass %python3 -m pytest test/test_graphs.py \ test/test_md_environ.py \ test/test_md_table.py \ test/test_pagetree.py \ test/test_reader.py \ test/test_sourceform.py \ test/test_reader.py %files -f %{pyproject_files} %{_bindir}/ford %changelog * Sun Oct 01 2023 Benson Muite - 6.2.5-1 - Initial package