summaryrefslogtreecommitdiff
path: root/sci-geosciences/gmt/gmt-5.4.4.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sci-geosciences/gmt/gmt-5.4.4.ebuild')
-rw-r--r--sci-geosciences/gmt/gmt-5.4.4.ebuild111
1 files changed, 111 insertions, 0 deletions
diff --git a/sci-geosciences/gmt/gmt-5.4.4.ebuild b/sci-geosciences/gmt/gmt-5.4.4.ebuild
new file mode 100644
index 000000000000..c2e3c983f507
--- /dev/null
+++ b/sci-geosciences/gmt/gmt-5.4.4.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 cmake
+
+DESCRIPTION="Powerful map generator"
+HOMEPAGE="https://gmt.soest.hawaii.edu/"
+SRC_URI="mirror://gmt/${P}-src.tar.xz"
+
+LICENSE="GPL-3+ gmttria? ( Artistic )"
+SLOT="5"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples +fftw +gdal gmttria htmldoc lapack openmp pcre pcre2 threads tutorial"
+
+REQUIRED_USE="?? ( pcre pcre2 )"
+
+DEPEND="
+ app-text/ghostscript-gpl
+ net-misc/curl
+ >=sci-libs/netcdf-4.1:=[hdf5]
+ sys-libs/zlib
+ fftw? ( sci-libs/fftw:3.0= )
+ gdal? ( sci-libs/gdal:= )
+ lapack? ( virtual/lapack )
+ pcre? ( dev-libs/libpcre )
+ pcre2? ( dev-libs/libpcre2 )
+"
+RDEPEND="${DEPEND}
+ !sci-biology/probcons
+ sci-geosciences/dcw-gmt
+ sci-geosciences/gshhg-gmt
+"
+
+src_prepare() {
+ cmake_src_prepare
+ # Rename man pages to avoid a name conflict with gmt4
+ pushd man_release || die
+ local m c suffix newc
+ for m in *.gz; do
+ c=${m%%.*}
+ suffix=${m#*.}
+ newc=gmt_${c}
+ # This man pages does'nt conflict
+ case ${c} in
+ gmt|gmt.conf|postscriptlight)
+ continue ;;
+ gmt_shell_functions)
+ newc=gmt5_shell_functions ;;
+ gmtcolors)
+ newc=gmt5colors ;;
+ esac
+ mv "${c}.${suffix}" "${newc}.${suffix}" || die
+ done
+ popd || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGMT_DATADIR="share/${P}"
+ -DGMT_DOCDIR="share/doc/${PF}"
+ -DGMT_MANDIR="share/man"
+ -DLICENSE_RESTRICTED=$(usex gmttria no yes)
+ -DGMT_OPENMP=$(usex openmp)
+ -DGMT_USE_THREADS=$(usex threads)
+ -DGMT_INSTALL_TRADITIONAL_FOLDERNAMES=OFF # Install bash completions properly
+ -DGMT_INSTALL_MODULE_LINKS=OFF # Don't install symlinks on gmt binary, they are conflicted with gmt4
+ -DBASH_COMPLETION_DIR="$(get_bashcompdir)"
+ $(cmake_use_find_package gdal GDAL)
+ $(cmake_use_find_package fftw FFTW3)
+ $(cmake_use_find_package lapack LAPACK)
+ $(cmake_use_find_package pcre PCRE)
+ )
+ use pcre || mycmakeargs+=( $(cmake_use_find_package pcre2 PCRE2) )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Remove various documentation
+ if ! use doc; then
+ rm -rf "${ED}/usr/share/doc/${PF}/pdf" || die
+ fi
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ rm -rf "${ED}/usr/share/doc/${PF}/examples" || die
+ fi
+
+ if ! use htmldoc; then
+ rm -rf "${ED}/usr/share/doc/${PF}/html" || die
+ fi
+
+ if use tutorial; then
+ docompress -x /usr/share/doc/${PF}/tutorial
+ else
+ rm -rf "${ED}/usr/share/doc/${PF}/tutorial" || die
+ fi
+
+ # Decompress manuals
+ find "${ED}/usr/share/man" -name "*.gz" -exec gunzip {} + || die
+ # Rename some files to avoid a name conflict with gmt4
+ mv "${ED}/usr/bin/gmt_shell_functions.sh" "${ED}/usr/bin/gmt5_shell_functions.sh" || die
+ mv "${ED}/usr/bin/isogmt" "${ED}/usr/bin/isogmt5" || die
+ rm "${ED}/usr/bin/gmtswitch" || die
+ # Rename bash completion file
+ mv "${D}$(get_bashcompdir)/gmt_completion.bash" "${D}$(get_bashcompdir)/gmt" || die
+}