aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Torokhov <torokhov-s-a@yandex.ru>2023-06-03 10:51:39 +0300
committerSergey Torokhov <torokhov-s-a@yandex.ru>2023-06-03 10:52:10 +0300
commit1f21debbca4f9fef493baa681a6f2b75fd053d3e (patch)
treed043222eb87652d60d24b175aaa8c98254ed3a05 /dev-util
parentdev-libs/fortran-regex: new package, v 1.1.2 (diff)
downloadguru-1f21debbca4f9fef493baa681a6f2b75fd053d3e.tar.gz
guru-1f21debbca4f9fef493baa681a6f2b75fd053d3e.tar.bz2
guru-1f21debbca4f9fef493baa681a6f2b75fd053d3e.zip
dev-util/fpm: 0.9.0 version bump
Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/fpm/Manifest2
-rw-r--r--dev-util/fpm/files/fpm-0.9.0_fpm_toml.patch22
-rw-r--r--dev-util/fpm/fpm-0.9.0.ebuild118
3 files changed, 142 insertions, 0 deletions
diff --git a/dev-util/fpm/Manifest b/dev-util/fpm/Manifest
index a07bc29b9..b084b1366 100644
--- a/dev-util/fpm/Manifest
+++ b/dev-util/fpm/Manifest
@@ -2,3 +2,5 @@ DIST fpm-0.8.1.F90 1254888 BLAKE2B 681af746d74ef6208f8d4a6b7e560fda080124ca69d5d
DIST fpm-0.8.1.tar.gz 194794 BLAKE2B 6236cdcc22a16e4d46e7d49f513bc1506e956bad6e3b444c2c638db8e41910aafa07982e4116a4e4b6496a62b4f52c2792aa08d4692c30e6158639115066b0c9 SHA512 2c6243ded0c4603ab75acdb43ff953f026a30221abaa1c1a2791cbf8dd7f9c95016941b38a63d54bbb09a0c2451ad23a216bb100cb08bc1c7f25899ad88dad26
DIST fpm-0.8.2.F90 1272455 BLAKE2B 1749d65cf45fee497aa42b9a53c3e3f76899414ca24d2c1c17764478740388e69f8e8bc7bd147c9ca3d8698a1424202effac0e661c2400068c9558626e7e3b9b SHA512 1cc070db2f03b474e70a8a889d1f11093a48f71f355c21d65ffb5edc255121e13419f9a9b95d8b42006725402a4aea8b644beb208f1af1c3de862d860dbfe4e6
DIST fpm-0.8.2.tar.gz 199494 BLAKE2B 40ebf2185dcf7d68d19288ef43717a3fac41e7ec307739e64f0e89023b345358534cdf4914172ea3584233831fedc6a8bd2a3bc7e519668c7a18b96f2ffb611c SHA512 93cb6f25476e2f341004389edb9bb283f039a28bd09e461fdead91a0d53e069ffd2f8093cd7136f8b24d61c3705af555b7d45f4ffa9046f29870aadda97d3cb2
+DIST fpm-0.9.0.F90 1371069 BLAKE2B df3439ca50176f0a8e3b2f48d130dc232da343d7fe5451af73b5bfa72112cfc7e08bc5c0dbaced2c5b5c72f48fc91d059ca533b4b47df23d1e579ebd03690078 SHA512 62f17491a2540d3b5f68435a87916b5e88bbd903a87cb4ecdfaa25e3024357e070c27e51a1f5ccdf22fb05ac8054ed83bb83e8a13c8639a47be822ff1fda9060
+DIST fpm-0.9.0.tar.gz 219603 BLAKE2B cb282913c1c6dd6440e6c7b982e7a5ffd76a2e8177b70da22ee36946feb62229919b8f40a4747a2f0cd8b2c589ee111f063cab50ee0f0bee295cd8cf8946b46a SHA512 b80141408a2192efdd3c0777eb2df01de95ee5740332468ac95f89f6e6199c88c2d4180934ce552403572cadfc755395eb669336fcc9d3d00cb8ee0607205397
diff --git a/dev-util/fpm/files/fpm-0.9.0_fpm_toml.patch b/dev-util/fpm/files/fpm-0.9.0_fpm_toml.patch
new file mode 100644
index 000000000..8765e164f
--- /dev/null
+++ b/dev-util/fpm/files/fpm-0.9.0_fpm_toml.patch
@@ -0,0 +1,22 @@
+diff -Naur a/fpm.toml b/fpm.toml
+--- a/fpm.toml
++++ b/fpm.toml
+@@ -9,15 +9,9 @@
+ [preprocess.cpp]
+ 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 = "4c27c8c1e411fa8790dffcf8c3fa7a27b6322273"
++[build]
++external-modules = ["tomlf","m_cli2","regex_module","jonquil"]
++link = ["toml-f","M_CLI2","fortran-regex","jonquil"]
+
+ [[test]]
+ name = "cli-test"
diff --git a/dev-util/fpm/fpm-0.9.0.ebuild b/dev-util/fpm/fpm-0.9.0.ebuild
new file mode 100644
index 000000000..63c714656
--- /dev/null
+++ b/dev-util/fpm/fpm-0.9.0.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="2003"
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+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 ~x86"
+IUSE="openmp doc test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ dev-libs/fortran-regex
+ dev-libs/jonquil:0/2
+ dev-libs/toml-f:0/4
+ dev-libs/M_CLI2
+"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-vcs/git
+"
+
+DEPEND="
+ ${CDEPEND}
+ doc? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ app-doc/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/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
+}