mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-11 08:03:16 -04:00
dev-build/fpm: 0.10.0 version bump
Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
This commit is contained in:
122
dev-build/fpm/fpm-0.10.0.ebuild
Normal file
122
dev-build/fpm/fpm-0.10.0.ebuild
Normal file
@@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2024 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"
|
||||
IUSE="openmp doc test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
CDEPEND="
|
||||
dev-libs/fortran-regex
|
||||
dev-libs/fortran-shlex
|
||||
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-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
|
||||
}
|
||||
Reference in New Issue
Block a user