summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/cfortran/cfortran-20210827.ebuild')
-rw-r--r--dev-lang/cfortran/cfortran-20210827.ebuild65
1 files changed, 65 insertions, 0 deletions
diff --git a/dev-lang/cfortran/cfortran-20210827.ebuild b/dev-lang/cfortran/cfortran-20210827.ebuild
new file mode 100644
index 000000000000..14f0115b8030
--- /dev/null
+++ b/dev-lang/cfortran/cfortran-20210827.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=test
+
+inherit autotools fortran-2 flag-o-matic
+
+DEB_PR="1"
+
+# https://github.com/bastien-roucaries/cfortran is for the Debian fork
+DESCRIPTION="Header file allowing to call Fortran routines from C and C++"
+HOMEPAGE="https://www-zeus.desy.de/~burow/cfortran/ https://github.com/bastien-roucaries/cfortran"
+SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}.orig.tar.gz"
+SRC_URI+=" mirror://debian/pool/main/c/${PN}/${PN}_${PV}-${DEB_PR}.debian.tar.xz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+
+ if [[ -d "${WORKDIR}"/debian/patches ]] ; then
+ eapply "${WORKDIR}"/debian/patches/
+ fi
+
+ eautoreconf
+
+ if use examples; then
+ # The examples are also used as tests and it's tricky to clean up
+ # afterwards, just save a clean copy (sans Makefiles, as they only
+ # cover the test phase) before the tests are run.
+ cp -ar eg eg_src || die "Failed to preserve a clean copy of examples"
+ rm -f eg_src/Makefile{,.am,.in}
+ fi
+}
+
+src_configure() {
+ use sparc && append-fflags $(test-flags-FC -fno-store-merging -fno-tree-slp-vectorize) # bug #818400
+ # bug #866560
+ filter-lto
+ append-flags -fno-strict-aliasing
+ append-cflags $(test-flags-CC -fcommon) # bug #899452
+ default
+}
+
+src_install() {
+ default
+
+ # For compatibility with older versions
+ dodir /usr/include/cfortran
+ dosym -r /usr/include/cfortran.h /usr/include/cfortran/cfortran.h
+
+ docinto debian
+ dodoc "${WORKDIR}"/debian/{NEWS,changelog,copyright}
+
+ if use examples; then
+ docinto examples
+ dodoc -r cfortest.c cfortex.f eg_src/*
+ fi
+}