Browse Source

Add ebuilds for sci-geosciences/gmt

master
Michael Uleysky 6 years ago
parent
commit
6ee92dd907
  1. 22
      sci-geosciences/dcw-gmt/dcw-gmt-1.1.4.ebuild
  2. 18
      sci-geosciences/dcw-gmt/metadata.xml
  3. 56
      sci-geosciences/gmt/files/gmt-4.5.6-respect-ldflags.patch
  4. 38
      sci-geosciences/gmt/files/gmt-4.5.9-no-strip.patch
  5. 89
      sci-geosciences/gmt/gmt-4.5.18-r1.ebuild
  6. 125
      sci-geosciences/gmt/gmt-5.4.4.ebuild
  7. 138
      sci-geosciences/gmt/gmt-9999.ebuild
  8. 23
      sci-geosciences/gmt/metadata.xml
  9. 22
      sci-geosciences/gshhg-gmt/gshhg-gmt-2.3.7.ebuild
  10. 17
      sci-geosciences/gshhg-gmt/metadata.xml

22
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
}

18
sci-geosciences/dcw-gmt/metadata.xml

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>uleysky@gmail.com</email>
<name>Michael Uleysky</name>
</maintainer>
<longdescription lang="en">
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.
</longdescription>
</pkgmetadata>

56
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

38
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 -----------------------------------------------------------------

89
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
}

125
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
}

138
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
}

23
sci-geosciences/gmt/metadata.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
><email>uleysky@gmail.com</email>
<name>Michael Uleysky</name>
</maintainer>
<use>
<flag name="dcw">Install countries boundaries database</flag>
<flag name="gdal">Enable <pkg>sci-libs/gdal</pkg> library support</flag>
<flag name="gmtfull">Full resolution bathymetry database</flag>
<flag name="gmthigh">Add high resolution bathymetry database</flag>
<flag name="gmttria">Non GNU triangulation method, more efficient</flag>
<flag name="gshhg">Install coastline database</flag>
<flag name="htmldoc">Install html documentation</flag>
<flag name="metric">Use SI (cm) units instead of US (inches) ones</flag>
<flag name="mex">Enable compilation of mex supplement which requires Octave/Matlab</flag>
<flag name="multislot">Allow concurrent installation of sci-geosciences/gmt:0 and sci-geosciences/gmt:5 by renaming manuals and some scripts.</flag>
<flag name="octave">Enable octave support</flag>
<flag name="pcre2">Use libpcre2 for regular expressions</flag>
<flag name="tutorial">Install data files for tutorial</flag>
</use>
</pkgmetadata>

22
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
}

17
sci-geosciences/gshhg-gmt/metadata.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
><email>uleysky@gmail.com</email>
<name>Michael Uleysky</name>
</maintainer>
<longdescription lang="en">
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.
</longdescription>
</pkgmetadata>
Loading…
Cancel
Save