commit: 428df7d122255ac697331d7a1eb004eb897c9c8a
Author: Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
AuthorDate: Sat Jun 14 18:43:34 2025 +0000
Commit: Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
CommitDate: Sat Jun 14 18:43:34 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=428df7d1
dev-build/fpm: 0.12.0 version bump
Signed-off-by: Sergey Torokhov <torokhov-s-a <AT> yandex.ru>
dev-build/fpm/Manifest | 2 +
dev-build/fpm/files/fpm-0.12.0_fpm_toml.patch | 23 +++++
dev-build/fpm/fpm-0.12.0.ebuild | 122 ++++++++++++++++++++++++++
3 files changed, 147 insertions(+)
diff --git a/dev-build/fpm/Manifest b/dev-build/fpm/Manifest
index f4b282a034..c29ee7b11e 100644
--- a/dev-build/fpm/Manifest
+++ b/dev-build/fpm/Manifest
@@ -4,3 +4,5 @@ DIST fpm-0.10.0.F90 1413145 BLAKE2B
8b0121b2436cdc6d0d82783a0d083afedb8bf0eb5f82
DIST fpm-0.10.0.tar.gz 227016 BLAKE2B
a6d9592fbfe3115ab43675cf28036dde69df0e2bcf3c7d3d98278566450328e6c3f21777efd8374177e615fcc123babce9a456f08ad1d03e790c16b95547edf2
SHA512
8b81e564ee2d3307472c1627e16b4cc9e13288c40c7ff3ea95f0c55cc4315da34d9319de5256aab9e602dd751c51be8f1fc27711f31fbf22580f58788822b69a
DIST fpm-0.11.0.F90 1580806 BLAKE2B
52eaca18d4de4011c61d83914568ee07063a8db679996d7dae1719778d5153bed430036129bb514ab0c31e8d500db1ee842f329cf32871a6e8abcee78d2337ac
SHA512
0c47fbc593b529c9a3095b12ef6681a8b2f59e2509ca64ad087756d1b400e45f6cbeddb9dd7d21f47ba4658f59a1abf40c626ef52b74b562d20c416c3ec2866c
DIST fpm-0.11.0.tar.gz 263484 BLAKE2B
1507a7d7e2a823831893d9c2b3411f88540634434822eb1034eebee8c1dceac99d368506805275a8ad552b3f7de3affeea7e935aa6390b6d15f3488cd4b4b76d
SHA512
40e4ee5bc16e4d9d336033e3b3f3823e12edd12bcc0af114c2e531af8754b20d76ef0d3f1c62d6a0fe444878d5dd772570cf20bff8fdd1f7a24b03a943be5df1
+DIST fpm-0.12.0.F90 1728278 BLAKE2B
27ea8d0959bea849c3358300b34b54d7acfdb72afaad4d5e3b545794e34c9e0ad0a1fceb0c133d659a6f7515a3610614d31cadf5ff10f0290d377fd60e8fdc6d
SHA512
4a41f2f6bdcc7839af5567e07b7704004cc12d41d4a8ebf26c6ef88d054056c2da2bf6b5f699a5b086d69d92a817756c5dd44e4b69f0272ebab983cab3d2e57d
+DIST fpm-0.12.0.tar.gz 290239 BLAKE2B
6af2c0955e7472c092cb3d634766e39fae87c20caa1b3beda725bf3ac75b4a3d91b3174636f78f2a1b6590240436beebe7f7d7acda8e54eb2ad37342ab8214f1
SHA512
556393d58b5ccdbe6168c143e42a294ec8d9b6fb094d3a137afd2fe13ecd6d2d373742c696ebb152a2aac414ea0dad4252b8c094c25d631cf8fa8dab8ef71a21
diff --git a/dev-build/fpm/files/fpm-0.12.0_fpm_toml.patch
b/dev-build/fpm/files/fpm-0.12.0_fpm_toml.patch
new file mode 100644
index 0000000000..9bbdf35b9b
--- /dev/null
+++ b/dev-build/fpm/files/fpm-0.12.0_fpm_toml.patch
@@ -0,0 +1,23 @@
+diff -Naur a/fpm.toml b/fpm.toml
+--- a/fpm.toml
++++ b/fpm.toml
+@@ -10,16 +10,9 @@
+ macros=["FPM_RELEASE_VERSION={version}"]
+
+ [dependencies]
+-toml-f.git = "https://github.com/toml-f/toml-f"
+-toml-f.rev = "d7b892b1d074b7cfc5d75c3e0eb36ebc1f7958c1"
+-M_CLI2.git = "https://github.com/urbanjost/M_CLI2.git"
+-M_CLI2.rev = "7264878cdb1baff7323cc48596d829ccfe7751b8"
+-fortran-regex.git = "https://github.com/perazz/fortran-regex"
+-fortran-regex.tag = "1.1.2"
+-jonquil.git = "https://github.com/toml-f/jonquil"
+-jonquil.rev = "4fbd4cf34d577c0fd25e32667ee9e41bf231ece8"
+-fortran-shlex.git = "https://github.com/perazz/fortran-shlex"
+-fortran-shlex.tag = "2.0.0"
++[build]
++external-modules =
["tomlf","tomlf_constants","tomlf_de_parser","m_cli2","regex_module","shlex_module","jonquil"]
++link = ["toml-f","M_CLI2","fortran-regex","fortran-shlex","jonquil"]
+
+ [[test]]
+ name = "cli-test"
diff --git a/dev-build/fpm/fpm-0.12.0.ebuild b/dev-build/fpm/fpm-0.12.0.ebuild
new file mode 100644
index 0000000000..c291594f28
--- /dev/null
+++ b/dev-build/fpm/fpm-0.12.0.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="2003"
+
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit fortran-2 python-any-r1 toolchain-funcs
+
+DESCRIPTION="Fortran Package Manager (fpm)"
+HOMEPAGE="https://fpm.fortran-lang.org"
+SRC_URI="
+ https://github.com/fortran-lang/${PN}/archive/v${PV}.tar.gz ->
${P}.tar.gz
+ https://github.com/fortran-lang/fpm/releases/download/v${PV}/${P}.F90
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp doc test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ dev-libs/fortran-regex
+ dev-libs/fortran-shlex:0/2
+ dev-libs/jonquil:0/2
+ dev-libs/toml-f:0/4
+ >=dev-libs/M_CLI2-3.2.0
+"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-vcs/git
+"
+
+DEPEND="
+ ${CDEPEND}
+ doc? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ app-text/ford[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DOCS=( LICENSE PACKAGING.md README.md )
+
+PATCHES="${FILESDIR}/${P}_fpm_toml.patch"
+
+BSDIR="build/bootstrap" # Bootstrap directory path
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+set_build_flags() {
+ OMPFLAG=""
+ if use openmp ; then
+ case $(tc-getFC) in
+ *gfortran* )
+ OMPFLAG="-fopenmp" ;;
+ * )
+ die "Sorry, only GNU gfortran is currently
supported in the ebuild" ;;
+ esac
+ fi
+
+ BUILD_FLAGS=( --compiler "$(tc-getFC)"
+ --flag "${FCFLAGS} ${OMPFLAG} -I/usr/include/fortran-regex \
+ -I/usr/include/fortran-shlex \
+ -I/usr/include/jonquil/modules \
+ -I/usr/include/M_CLI2 \
+ -I/usr/include/toml-f/modules"
+ --c-compiler "$(tc-getCC)" --c-flag "${CFLAGS}"
+ --cxx-compiler "$(tc-getCXX)" --cxx-flag "${CXXFLAGS}"
+ --archiver "$(tc-getAR)" --link-flag "${LDFLAGS}" )
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ fortran-2_pkg_setup
+ python-any-r1_pkg_setup
+ set_build_flags
+}
+
+src_prepare() {
+ default
+
+ mkdir -p "${BSDIR}" || die
+ cp "${DISTDIR}/${P}.F90" "${BSDIR}/" || die
+
+ # Use favicon.png instead remote icon
+ sed -i -e
's#https://fortran-lang.org/assets/img/fortran_logo_512x512.png#favicon.png#'
docs.md || die
+}
+
+src_compile() {
+ default
+
+ # Build a bootstrap binary from the single source version
+ "$(tc-getFC)" -J "${BSDIR}" -o "${BSDIR}"/fpm "${BSDIR}/${P}.F90" || die
+
+ # Use the bootstrap binary to build the feature complete fpm version
+ "${BSDIR}"/fpm build --verbose "${BUILD_FLAGS[@]}" || die
+
+ if use doc ; then
+ einfo "Build API documentation:"
+ ford docs.md || die
+ fi
+}
+
+src_test() {
+ "${BSDIR}"/fpm test --verbose "${BUILD_FLAGS[@]}" || die
+}
+
+src_install() {
+ # Set prefix and pass all used env flags to avoid recompiling with
default values
+ "${BSDIR}"/fpm install --prefix "${ED}/usr" "${BUILD_FLAGS[@]}"
|| die
+
+ use doc && HTML_DOCS=( "${S}"/fpm-doc/. )
+ einstalldocs
+}