aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/gtk-fortran/gtk-fortran-3.9999-r1.ebuild')
-rw-r--r--x11-libs/gtk-fortran/gtk-fortran-3.9999-r1.ebuild46
1 files changed, 42 insertions, 4 deletions
diff --git a/x11-libs/gtk-fortran/gtk-fortran-3.9999-r1.ebuild b/x11-libs/gtk-fortran/gtk-fortran-3.9999-r1.ebuild
index 5b989bf..3323b9c 100644
--- a/x11-libs/gtk-fortran/gtk-fortran-3.9999-r1.ebuild
+++ b/x11-libs/gtk-fortran/gtk-fortran-3.9999-r1.ebuild
@@ -4,9 +4,9 @@
EAPI=5
-inherit cmake-utils fortran-2 git-2
+inherit eutils cmake-utils fortran-2 git-2
-DESCRIPTION="Cross-platform Fortran binding to create GUIs using GTK+"
+DESCRIPTION="Cross-platform Fortran binding to create GUIs for Fortran programs using GTK+"
HOMEPAGE="https://github.com/jerryd/gtk-fortran/wiki"
LICENSE="GPL-3"
@@ -18,9 +18,47 @@ EGIT_BRANCH="gtk3"
DEPEND="x11-libs/gtk+:3 x11-libs/cairo x11-libs/gdk-pixbuf"
RDEPEND="${DEPEND}"
+IUSE="doc static"
-# Cannot do a parallel build:
+src_prepare() {
+ epatch "${FILESDIR}"/Doxyfile.patch # Quiet, no graphs
+}
+
+# Cannot do a parallel build. make install will build 'all' in parallel, which fails.
+# Hence, do two partial parallel builds here, for the core stuff.
+# You could do a serial 'make all' to build the rest (examples, testers, etc.).
src_compile() {
cd "${CMAKE_BUILD_DIR}"
- emake -j1 VERBOSE=1 || die
+ emake VERBOSE=1 gtk-fortran_shared || die "Building shared library failed" # Cannot be built at the same time as the static library/gtkf-sketcher
+ emake VERBOSE=1 gtk-fortran_static || die "Building static library failed" # The static library is built when gtkf-sketcher is built, so do this explicitly for clarity
+ emake VERBOSE=1 gtkf-sketcher usemodules plplot_extra_module manpage pkgconfig || die
+ if use doc
+ then
+ emake VERBOSE=1 doc || die "Generating documentation failed" # Doxygen documentation: ~135Mb!
+ fi
+ #emake -j1 VERBOSE=1 all || die
+}
+
+# 'make install' will 'make all' in parallel, which fails, so do this by hand:
+src_install() {
+ cd "${CMAKE_BUILD_DIR}"
+ dolib src/libgtk-3-fortran.so.0.1 src/libgtk-3-fortran.so
+ use static && dolib src/libgtk-3-fortran.a # The static library is always built, we just don't install it unless desired...
+
+ dobin src/gtk-3-fortran-modscan sketcher/gtkf-sketcher
+
+ insinto usr/include/gtk-3-fortran/
+ doins src/*.mod plplot/plplot_extra.mod
+
+ insinto usr/share/gtk-fortran/
+ doins src/gtk-3-fortran-index.csv src/gtk-3-enumerators.lis
+
+ dodoc "${S}"/README "${S}"/README-high-level
+
+ insinto usr/lib/pkgconfig/
+ doins src/gtk-3-fortran.pc
+
+ doman src/gtk-3-fortran-modscan.1
+
+ use doc && dohtml -r html/*
}