diff --git a/sci-geosciences/dcw-gmt/dcw-gmt-1.1.4.ebuild b/sci-geosciences/dcw-gmt/dcw-gmt-1.1.4.ebuild new file mode 100644 index 0000000..b1db095 --- /dev/null +++ b/sci-geosciences/dcw-gmt/dcw-gmt-1.1.4.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="The Digital Chart of the World for GMT 5 or later" +HOMEPAGE="https://www.soest.hawaii.edu/wessel/dcw/" +SRC_URI="https://www.soest.hawaii.edu/pwessel/dcw/${P}.tar.gz" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="" + +RDEPEND="" +DEPEND="${RDEPEND}" + +src_install() { + dodoc README.TXT ChangeLog + insinto /usr/share/dcw-gmt + doins *.nc dcw-{countries,states}.txt +} diff --git a/sci-geosciences/dcw-gmt/metadata.xml b/sci-geosciences/dcw-gmt/metadata.xml new file mode 100644 index 0000000..04b7581 --- /dev/null +++ b/sci-geosciences/dcw-gmt/metadata.xml @@ -0,0 +1,18 @@ + + + + + uleysky@gmail.com + Michael Uleysky + + + The Digital Chart of the World (DCW) is a comprehensive 1:1,000,000 + scale vector basemap of the world. The charts were designed to meet + the needs of pilots and air crews in medium-and low-altitude + en route navigation and to support military operational planning, + intelligence briefings, and other needs. DCW-GMT is an enhancement + to DCW in a few ways: (1) it contains more state boundaries, + and (2) the data have been reformatted to save space and are + distributed as a single deflated netCDF-4 file. + + diff --git a/sci-geosciences/gmt/files/gmt-4.5.6-respect-ldflags.patch b/sci-geosciences/gmt/files/gmt-4.5.6-respect-ldflags.patch new file mode 100644 index 0000000..0749438 --- /dev/null +++ b/sci-geosciences/gmt/files/gmt-4.5.6-respect-ldflags.patch @@ -0,0 +1,56 @@ +diff -urN GMT4.5.6/src/Makefile GMT4.5.6.new/src/Makefile +--- GMT4.5.6/src/Makefile 2011-03-03 22:02:50.000000000 +0100 ++++ GMT4.5.6.new/src/Makefile 2011-06-07 14:48:00.969500019 +0200 +@@ -195,13 +195,13 @@ + $(RANLIB) $@ + + libpsl.$(SL): libpsl.a +- $(LD) $(LD_OPT) pslib.o $(LIBS) -o $@ ++ $(LD) $(LD_OPT) $(LDFLAGS) pslib.o $(LIBS) -o $@ + + libgmt.$(SL): libgmt.a +- $(LD) $(LD_OPT) $(LIB_O) $(TRIANGLE_O) $(ALPHA_SINCOS_O) $(NETCDF_LIB) $(GDAL_LIB) $(LIBS) -o $@ ++ $(LD) $(LD_OPT) $(LDFLAGS) $(LIB_O) $(TRIANGLE_O) $(ALPHA_SINCOS_O) $(NETCDF_LIB) $(GDAL_LIB) $(LIBS) -o $@ + + libgmtps.$(SL): libgmtps.a libgmt.$(SL) libpsl.$(SL) +- $(LD) $(LD_OPT) $(LIBPS_O) libgmt.$(SL) libpsl.$(SL) $(LIBS) -o $@ ++ $(LD) $(LD_OPT) $(LDFLAGS) $(LIBPS_O) libgmt.$(SL) libpsl.$(SL) $(LIBS) -o $@ + + #------------------------------------------------------------------------------- + # program rules +diff -urN GMT4.5.6/src/mgd77/Makefile GMT4.5.6.new/src/mgd77/Makefile +--- GMT4.5.6/src/mgd77/Makefile 2010-11-01 23:39:16.000000000 +0100 ++++ GMT4.5.6.new/src/mgd77/Makefile 2011-06-07 14:53:46.394181616 +0200 +@@ -93,7 +93,7 @@ + $(RANLIB) $@ + + libmgd77.$(SL): libmgd77.a +- $(LD) $(LD_OPT) $(LIB_O) $(GMT_LIB) $(NETCDF_LIB) $(LIBS) -o $@ ++ $(LD) $(LD_OPT) $(LDFLAGS) $(LIB_O) $(GMT_LIB) $(NETCDF_LIB) $(LIBS) -o $@ + + #------------------------------------------------------------------------------- + # program rules +diff -urN GMT4.5.6/src/mgg/Makefile GMT4.5.6.new/src/mgg/Makefile +--- GMT4.5.6/src/mgg/Makefile 2010-11-01 23:39:16.000000000 +0100 ++++ GMT4.5.6.new/src/mgg/Makefile 2011-06-07 14:54:48.096410233 +0200 +@@ -95,7 +95,7 @@ + $(RANLIB) $@ + + libgmt_mgg.$(SL): libgmt_mgg.a +- $(LD) $(LD_OPT) $(LIB_O) $(GMT_LIB) $(NETCDF_LIB) $(LIBS) -o $@ ++ $(LD) $(LD_OPT) $(LDFLAGS) $(LIB_O) $(GMT_LIB) $(NETCDF_LIB) $(LIBS) -o $@ + + #------------------------------------------------------------------------------- + # program rules +diff -urN GMT4.5.6/src/x2sys/Makefile GMT4.5.6.new/src/x2sys/Makefile +--- GMT4.5.6/src/x2sys/Makefile 2010-11-01 23:39:16.000000000 +0100 ++++ GMT4.5.6.new/src/x2sys/Makefile 2011-06-07 14:54:15.124822433 +0200 +@@ -83,7 +83,7 @@ + $(RANLIB) $@ + + libx2sys.$(SL): libx2sys.a +- $(LD) $(LD_OPT) x2sys.o $(ALLLIB) -o $@ ++ $(LD) $(LD_OPT) $(LDFLAGS) x2sys.o $(ALLLIB) -o $@ + + #------------------------------------------------------------------------------- + # program rules diff --git a/sci-geosciences/gmt/files/gmt-4.5.9-no-strip.patch b/sci-geosciences/gmt/files/gmt-4.5.9-no-strip.patch new file mode 100644 index 0000000..f57f1d8 --- /dev/null +++ b/sci-geosciences/gmt/files/gmt-4.5.9-no-strip.patch @@ -0,0 +1,38 @@ +Drop manipulation of several flags: + +* stripping of -g from CFLAGS, as it interferes with deliberate + generation of debug symbols and breaks on flags like -ggdb. +* Addition of -s resp. -Wl,-x to LDFLAGS, as stipping of binaries is + done as a separate step on Gentoo (and many other distros) in order + to faciliate retention or splitting of debug symbols. +* Setting of optimization flags, as the user should be free to choose + them. + +2009-07-27 Martin von Gagern + +Reference: http://bugs.gentoo.org/279268 + +Index: GMT4.5.0/configure.ac +=================================================================== +--- GMT4.5.0.orig/configure.ac ++++ GMT4.5.0/configure.ac +@@ -527,19 +527,6 @@ if test "X$enable_debug" = "Xyes" ; then + AC_MSG_RESULT(yes) + CFLAGS="$CFLAGS -g" + else +- CFLAGS=`echo $CFLAGS | sed 's/-g//'` +- if test "$os" = "Darwin" ; then +- LDFLAGS="$LDFLAGS -Wl,-x" +- else +- LDFLAGS="$LDFLAGS -s" +- fi +- if test "$GCC" = "yes" || test "$os" = "Linux" || test "$os" = "AIX"; then +- CFLAGS="$CFLAGS -O2" +- elif test "$chip" = "alpha" || test "$os" = "AUX" || test "$os" = "HP-UX"; then +- CFLAGS="$CFLAGS" +- else +- CFLAGS="$CFLAGS -O" +- fi + AC_MSG_RESULT(no) + fi + dnl ----------------------------------------------------------------- diff --git a/sci-geosciences/gmt/gmt-4.5.18-r1.ebuild b/sci-geosciences/gmt/gmt-4.5.18-r1.ebuild new file mode 100644 index 0000000..086f864 --- /dev/null +++ b/sci-geosciences/gmt/gmt-4.5.18-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools + +DESCRIPTION="Powerful map generator" +HOMEPAGE="https://gmt.soest.hawaii.edu/" +SRC_URI=" + mirror://gmt/${P}-src.tar.bz2 + gmttria? ( mirror://gmt/${P}-non-gpl-src.tar.bz2 )" + +LICENSE="GPL-2+ gmttria? ( Artistic )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc examples debug +gdal gmttria +gshhg htmldoc +metric mex +netcdf octave postscript tutorial" + +RDEPEND=" + !sci-biology/probcons + gdal? ( sci-libs/gdal ) + gshhg? ( sci-geosciences/gshhg-gmt ) + netcdf? ( >=sci-libs/netcdf-4.1 ) + octave? ( sci-mathematics/octave )" +DEPEND="${RDEPEND}" + +# mex can use matlab too which i can't test +REQUIRED_USE=" + mex? ( octave ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.5.9-no-strip.patch + "${FILESDIR}"/${PN}-4.5.6-respect-ldflags.patch + ) + +src_configure() { + local myconf=( + --datadir=/usr/share/${P} + --includedir=/usr/include/${P} + --disable-update + --disable-matlab + --disable-xgrid + --disable-debug + $(use_enable gdal) + $(use_enable netcdf) + $(use_enable octave) + $(use_enable debug devdebug) + $(use_enable !metric US) + $(use_enable postscript eps) + $(use_enable mex) + $(use_enable gmttria triangle) + $(use_with gshhg gshhg-dir /usr/share/gshhg) + ) + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 +} + +src_install() { + emake DESTDIR="${D}" -j1 install-all + einstalldocs + + # 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 + + # remove static libs + find "${ED}/usr/$(get_libdir)" -name '*.a' -delete || die +} 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 0000000..310cf05 --- /dev/null +++ b/sci-geosciences/gmt/gmt-5.4.4.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit bash-completion-r1 cmake-utils + +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="+dcw doc examples +fftw +gdal gmttria +gshhg htmldoc lapack multislot openmp pcre pcre2 threads tutorial" + +RDEPEND=" + !sci-biology/probcons + app-text/ghostscript-gpl + dcw? ( sci-geosciences/dcw-gmt ) + fftw? ( sci-libs/fftw:3.0/3 ) + gdal? ( sci-libs/gdal ) + gshhg? ( sci-geosciences/gshhg-gmt ) + >=sci-libs/netcdf-4.1[hdf5] + lapack? ( virtual/lapack ) + !multislot? ( !sci-geosciences/gmt:0 ) + pcre? ( dev-libs/libpcre ) + pcre2? ( dev-libs/libpcre2 ) + net-misc/curl + sys-libs/zlib" + +DEPEND="${RDEPEND}" + +REQUIRED_USE="?? ( pcre pcre2 )" + +src_prepare() { + cmake-utils_src_prepare + # Rename man pages to avoid a name conflict with gmt4 + if use multislot; then + 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 + fi +} + +src_configure() { + local mycmakeargs=( + -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)" + -DGMT_DATADIR="share/${P}" + -DGMT_DOCDIR="share/doc/${PF}" + -DGMT_MANDIR="share/man" + ) + use fftw || mycmakeargs+=( -DGMT_EXCLUDE_FFTW3=yes ) + use gdal || mycmakeargs+=( -DGMT_EXCLUDE_GDAL=yes ) + use lapack || mycmakeargs+=( -DGMT_EXCLUDE_LAPACK=yes ) + use pcre || mycmakeargs+=( -DGMT_EXCLUDE_PCRE=yes ) + use pcre2 || mycmakeargs+=( -DGMT_EXCLUDE_PCRE2=yes ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_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 + pushd "${ED}/usr/share/man" || die + local d f + for d in man*; do + pushd $d || die + for f in *.gz; do + gunzip $f || die + done + popd || die + done + popd || die + + if use multislot; then + # 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 + fi + + rm "${ED}/usr/bin/gmtswitch" || die + # Rename bash completion file + mv "$ED/$(get_bashcompdir)/gmt_completion.bash" "$ED/$(get_bashcompdir)/gmt" || die +} diff --git a/sci-geosciences/gmt/gmt-9999.ebuild b/sci-geosciences/gmt/gmt-9999.ebuild new file mode 100644 index 0000000..5ed3e5f --- /dev/null +++ b/sci-geosciences/gmt/gmt-9999.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit bash-completion-r1 cmake-utils git-r3 + +DESCRIPTION="Powerful map generator" +HOMEPAGE="https://gmt.soest.hawaii.edu/" +EGIT_REPO_URI="https://github.com/GenericMappingTools/gmt.git" +SRC_URI="" + +LICENSE="GPL-2 gmttria? ( Artistic )" +SLOT="5" +IUSE="+dcw doc examples +fftw +gdal gmttria +gshhg htmldoc lapack multislot openmp pcre pcre2 threads" + +RDEPEND=" + !sci-biology/probcons + app-text/ghostscript-gpl + dcw? ( sci-geosciences/dcw-gmt ) + doc? ( dev-python/sphinx ) + doc? ( dev-tex/latexmk ) + fftw? ( sci-libs/fftw:3.0/3 ) + gdal? ( sci-libs/gdal ) + gshhg? ( sci-geosciences/gshhg-gmt ) + htmldoc? ( dev-python/sphinx ) + >=sci-libs/netcdf-4.1[hdf5] + lapack? ( virtual/lapack ) + !multislot? ( !sci-geosciences/gmt:0 ) + pcre? ( dev-libs/libpcre ) + pcre2? ( dev-libs/libpcre2 ) + net-misc/curl + sys-libs/zlib" + +DEPEND="${RDEPEND}" + +REQUIRED_USE="?? ( pcre pcre2 )" + +src_configure() { + local mycmakeargs=( + -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)" + -DGMT_DATADIR="share/${P}" + -DGMT_DOCDIR="share/doc/${PF}" + -DGMT_MANDIR="share/man" + ) + use fftw || mycmakeargs+=( -DGMT_EXCLUDE_FFTW3=yes ) + use gdal || mycmakeargs+=( -DGMT_EXCLUDE_GDAL=yes ) + use lapack || mycmakeargs+=( -DGMT_EXCLUDE_LAPACK=yes ) + use pcre || mycmakeargs+=( -DGMT_EXCLUDE_PCRE=yes ) + use pcre2 || mycmakeargs+=( -DGMT_EXCLUDE_PCRE2=yes ) + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + pushd "${BUILD_DIR}" || die + local havedoc="n" + if use doc; then + make -j1 docs_pdf || die + havedoc="y" + fi + if use htmldoc; then + make -j1 docs_html || die + havedoc="y" + fi + if [ "$havedoc" == "y" ]; then + make -j1 docs_man || die + if use multislot; then + # Rename man pages to avoid a name conflict with gmt4 + pushd doc_modern/rst/man || 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 + fi + fi + popd || die +} + +src_install() { + cmake-utils_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 + + # Decompress manuals + if use doc || use htmldoc; then + pushd "${ED}/usr/share/man" || die + local d f + for d in man*; do + pushd $d || die + for f in *.gz; do + gunzip $f || die + done + popd || die + done + popd || die + fi + + if use multislot; then + # 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 + fi + + rm "${ED}/usr/bin/gmtswitch" || die + # Rename bash completion file + mv "$ED/$(get_bashcompdir)/gmt_completion.bash" "$ED/$(get_bashcompdir)/gmt" || die +} diff --git a/sci-geosciences/gmt/metadata.xml b/sci-geosciences/gmt/metadata.xml new file mode 100644 index 0000000..356bbc8 --- /dev/null +++ b/sci-geosciences/gmt/metadata.xml @@ -0,0 +1,23 @@ + + + + + >uleysky@gmail.com + Michael Uleysky + + + Install countries boundaries database + Enable sci-libs/gdal library support + Full resolution bathymetry database + Add high resolution bathymetry database + Non GNU triangulation method, more efficient + Install coastline database + Install html documentation + Use SI (cm) units instead of US (inches) ones + Enable compilation of mex supplement which requires Octave/Matlab + Allow concurrent installation of sci-geosciences/gmt:0 and sci-geosciences/gmt:5 by renaming manuals and some scripts. + Enable octave support + Use libpcre2 for regular expressions + Install data files for tutorial + + diff --git a/sci-geosciences/gshhg-gmt/gshhg-gmt-2.3.7.ebuild b/sci-geosciences/gshhg-gmt/gshhg-gmt-2.3.7.ebuild new file mode 100644 index 0000000..fa8f56a --- /dev/null +++ b/sci-geosciences/gshhg-gmt/gshhg-gmt-2.3.7.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A Global Self-consistent, Hierarchical, High-resolution Geography Database" +HOMEPAGE="https://www.soest.hawaii.edu/pwessel/gshhg/" +SRC_URI="https://www.soest.hawaii.edu/pwessel/gshhg/${P}.tar.gz" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="" + +RDEPEND="" +DEPEND="${RDEPEND}" + +src_install() { + dodoc README.TXT + insinto /usr/share/gshhg + doins *.nc +} diff --git a/sci-geosciences/gshhg-gmt/metadata.xml b/sci-geosciences/gshhg-gmt/metadata.xml new file mode 100644 index 0000000..f248c65 --- /dev/null +++ b/sci-geosciences/gshhg-gmt/metadata.xml @@ -0,0 +1,17 @@ + + + + + >uleysky@gmail.com + Michael Uleysky + + + GSHHS is a high-resolution shoreline data set amalgamated from two + databases in the public domain. The data have undergone extensive + processing and are free of internal inconsistencies such as erratic + points and crossing segments. The shorelines are constructed + entirely from hierarchically arranged closed polygons. The data can + be used to simplify data searches and data selections, or to study + the statistical characteristics of shorelines and land-masses. + +