From 428df7d122255ac697331d7a1eb004eb897c9c8a Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Sat, 14 Jun 2025 21:43:34 +0300 Subject: [PATCH] dev-build/fpm: 0.12.0 version bump Signed-off-by: Sergey Torokhov --- 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(+) create mode 100644 dev-build/fpm/files/fpm-0.12.0_fpm_toml.patch create mode 100644 dev-build/fpm/fpm-0.12.0.ebuild 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 +}