mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 15:45:15 -04:00
80 lines
1.7 KiB
Bash
80 lines
1.7 KiB
Bash
# Copyright 1999-2023 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
FORTRAN_STANDARD="2003"
|
|
inherit flag-o-matic fortran-2 toolchain-funcs
|
|
|
|
COMMIT="e19574fb309076550d7d6179273f63c79e236207"
|
|
DESCRIPTION="The Fortran Template Library (FTL) is a general purpose library for Fortran 2003"
|
|
HOMEPAGE="https://github.com/SCM-NV/ftl"
|
|
SRC_URI="https://github.com/SCM-NV/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
|
S="${WORKDIR}/${PN}-${COMMIT}"
|
|
|
|
LICENSE="LGPL-3"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~x86"
|
|
IUSE="pcre test"
|
|
RESTRICT="!test? ( test )"
|
|
REQUIRED_USE="test? ( pcre )" # Some tests fail if 'pcre' is disabled
|
|
|
|
RDEPEND="pcre? ( dev-libs/libpcre:3 )"
|
|
DEPEND="${RDEPEND}"
|
|
BDEPEND="virtual/pkgconfig"
|
|
|
|
# Checking of supported fortran standard version is required here
|
|
pkg_setup() {
|
|
fortran-2_pkg_setup
|
|
}
|
|
|
|
get_platform() {
|
|
case $(tc-getFC) in
|
|
*gfortran*) echo "gnu" ;;
|
|
*ifort*) echo "intel" ;;
|
|
*nagfor*) echo "nag" ;;
|
|
*) die "Unsupported compiler: $(tc-getFC)" ;;
|
|
esac
|
|
}
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
# Pass LDFLAGS to respect it
|
|
sed -i '/SOLDFLAGS =/ s/$/ '"${LDFLAGS}"'/' makefile || die
|
|
}
|
|
|
|
src_configure() {
|
|
filter-flags -fpch-preprocess
|
|
}
|
|
|
|
src_compile() {
|
|
emake_args=(
|
|
FC=$(tc-getFC)
|
|
CXX=$(tc-getCXX)
|
|
PLATFORM=$(get_platform)
|
|
BUILD=custom
|
|
USE_PCRE=$(usex pcre true false)
|
|
)
|
|
|
|
emake "${emake_args[@]}"
|
|
}
|
|
|
|
src_test() {
|
|
emake_args=(
|
|
FC=$(tc-getFC)
|
|
CXX=$(tc-getCXX)
|
|
PLATFORM=$(get_platform)
|
|
BUILD=custom
|
|
USE_PCRE=$(usex pcre true false)
|
|
)
|
|
|
|
emake "${emake_args[@]}" test
|
|
}
|
|
|
|
src_install() {
|
|
# Set BUILD to custom as default type is debug
|
|
emake BUILD=custom DESTDIR="${D}" PREFIX="${EPREFIX}"/usr LIBDIR=$(get_libdir) install
|
|
einstalldocs
|
|
}
|