Files
guru/dev-libs/ftl/ftl-1.0_p20210308.ebuild
2021-04-29 00:25:15 +03:00

87 lines
2.3 KiB
Bash

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
FORTRAN_STANDARD="2003"
inherit fortran-2 toolchain-funcs
COMMIT="97b8292e893ad147ca44e42bcd56d23e9a8259fb"
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"
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
S="${WORKDIR}/${PN}-${COMMIT}"
RDEPEND="
pcre? ( dev-libs/libpcre )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
pkg_setup() {
fortran-2_pkg_setup
}
src_prepare() {
default
case $(tc-getFC) in
*gfortran* )
sed -i -e '/gnu)/,/COMPILER =/ s:gfortran:'"$(tc-getFC)"':' \
-e '/gnu)/,/^\tFLAGS =/ s:(BUILDDIR):(BUILDDIR) '"${FCFLAGS}"':' \
-e '/gnu)/,/CXXCOMPILER =/ s:g++:'"$(tc-getCXX)"':' \
-e '/gnu)/,/CXXFLAGS =/ s:CXXFLAGS = .*:CXXFLAGS = '"${CXXFLAGS}"':' \
makefile || die
;;
*ifort* )
sed -i -e '/^PLATFORM/ s:gnu:intel:' \
-e '/intel)/,/COMPILER =/ s:ifort:'"$(tc-getFC)"':' \
-e '/intel)/,/^\tFLAGS =/ s:(BUILDDIR):(BUILDDIR) '"${FCFLAGS}"':' \
-e '/intel)/,/CXXCOMPILER =/ s:g++:'"$(tc-getCXX)"':' \
-e '/intel)/,/CXXFLAGS =/ s:CXXFLAGS = .*:CXXFLAGS = '"${CXXFLAGS}"':' \
makefile || die
;;
* )
die "Sorry, GNU gfortran or Intel ifort are currently supported in the ebuild"
;;
esac
# Replase BUILD type, PREFIX and libdir, LIBDIR, add libsoname and LDFLAGS,
# drop FLAGS reassign block, add CXXFLAGS to 'configure_ftlRegex.c' build
sed -i -e '/^BUILD ?=/s:debug:release:' \
-e 's:PREFIX ?= /usr/local:PREFIX ?= '"${ED}"'/usr/:' \
-e 's:(PREFIX)/lib:(PREFIX)/'"$(get_libdir)"':' \
-e 's:SOLDFLAGS = -shared:SOLDFLAGS = -shared -Wl,-soname=libftl.so.1 '"${LDFLAGS}"':' \
-e '/gnudebug)/,+15d' \
-e '/configure_ftlRegex.c/ s:\$(CXXCOMPILER):\$(CXXCOMPILER) \$(CXXFLAGS):' \
makefile || die
}
src_configure() {
return 0
}
src_compile() {
emake USE_PCRE=$(usex pcre true false)
}
src_test() {
emake test
}
src_install() {
emake install
mv "${ED}/usr/$(get_libdir)"/libftl.so{,.1} || die
dosym libftl.so.1 /usr/$(get_libdir)/libftl.so
}