summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/gdal')
-rw-r--r--sci-libs/gdal/Manifest1
-rw-r--r--sci-libs/gdal/files/gdal-2.2.3-soname.patch54
-rw-r--r--sci-libs/gdal/gdal-2.2.3.ebuild288
3 files changed, 343 insertions, 0 deletions
diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
index e553d4a456ed..0570d7e91274 100644
--- a/sci-libs/gdal/Manifest
+++ b/sci-libs/gdal/Manifest
@@ -1,2 +1,3 @@
DIST gdal-2.0.2.tar.gz 11643726 BLAKE2B aac80990d800acb8b0881caf84229a3c73b57aad1acbd05adb911c9c2ca56fff145eae5a77dcaa934003a22188178883381db5a4c10e7fc082b8f4d98aa146c6 SHA512 b3fedc8d1d0522d2a6fd22fbc722c551ebf2e4326f64b76c9c43cd3848f7c97a0636c691ee383b3f3c872dc79cd0e216527d3985c6aac3103395fde657db1266
DIST gdal-2.0.3.tar.gz 11589011 BLAKE2B 2b9d319be24e377aff751c7ae4d6c89812c47fe2a0b9476936b2f3423e4f5593034a6303346e05709c9a7cffd71703ae80f72c689218ae0337794d35afcb3a1d SHA512 3ed2a084fa146fab8d5f5e039480ab935edaefebe9e55f85bf637a4487a3f56951c93055395850e7bf35d5a6d6e901f741ae01ad64be87597aabfad52f1c5e90
+DIST gdal-2.2.3.tar.gz 13754766 BLAKE2B d9482e7ee40bb5558fbbb43b750dfb95344abe45142c19e1f767535d3fc127fa9d6ed4496d730a25cb4132980efbffb4685e8663798fa05515b8548edb689e42 SHA512 841e5ba3c1a442b678dcaabac719ea7707b817f3dc717a34430dc7ba1f2c27fa88e27b7a8645075fae6e16373b36e6c50f674bdd6b70d10059e6bc4be7a72046
diff --git a/sci-libs/gdal/files/gdal-2.2.3-soname.patch b/sci-libs/gdal/files/gdal-2.2.3-soname.patch
new file mode 100644
index 000000000000..f2746bdf5e30
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-2.2.3-soname.patch
@@ -0,0 +1,54 @@
+Set SONAME and unbreak compilation on Darwin
+
+Author: Fabian Groffen <grobian@gentoo.org>
+Author: Dennis Schridde <devurandom@gmx.net>
+
+--- old/GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
++++ new/GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
+@@ -97,6 +97,14 @@
+ GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT)
+ GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal
+
++# for building without libtool
++GDAL_SLIB_SO_VER = $(GDAL_VERSION_MAJOR).$(LIBGDAL_CURRENT).$(LIBGDAL_REVISION)
++ifeq ("$(shell uname -s)", "Darwin")
++GDAL_SLIB_SONAME = -install_name $(INST_LIB)/libgdal.$(GDAL_VERSION_MAJOR).$(SO_EXT)
++else
++GDAL_SLIB_SONAME = -Wl,-soname,libgdal.$(SO_EXT).$(GDAL_VERSION_MAJOR)
++endif
++
+ # Mac OS X Framework definition
+ MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
+
+--- gdal-2.0.3.old/GNUmakefile
++++ gdal-2.0.3/GNUmakefile
+@@ -208,7 +208,7 @@ else
+
+ ifeq ($(HAVE_LD_SHARED),yes)
+
+-GDAL_SLIB_B = $(notdir $(GDAL_SLIB))
++GDAL_SLIB_B = libgdal
+
+ install-lib:
+
+@@ -216,14 +216,14 @@ install-lib:
+ ifeq ($(MACOSX_FRAMEWORK),yes)
+ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/GDAL
+ else
+- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B)
+- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR)
+- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
+- $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(SO_EXT)
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).$(SO_EXT)
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).$(SO_EXT)
++ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).$(SO_EXT)
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VER).$(SO_EXT) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).$(SO_EXT))
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR) $(GDAL_SLIB_B))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).$(SO_EXT) $(GDAL_SLIB_B).$(SO_EXT))
+ $(INSTALL_DIR) $(DESTDIR)$(INST_LIB)/gdalplugins
+ endif
+
diff --git a/sci-libs/gdal/gdal-2.2.3.ebuild b/sci-libs/gdal/gdal-2.2.3.ebuild
new file mode 100644
index 000000000000..0ee117313485
--- /dev/null
+++ b/sci-libs/gdal/gdal-2.2.3.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools perl-module distutils-r1 toolchain-funcs flag-o-matic java-pkg-opt-2
+
+DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
+HOMEPAGE="http://www.gdal.org/"
+SRC_URI="http://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
+
+SLOT="0/2.2"
+LICENSE="BSD Info-ZIP MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="armadillo +aux_xml curl debug doc fits geos gif gml hdf5 java jpeg jpeg2k mdb mysql netcdf odbc ogdi opencl oracle pdf perl png postgres python spatialite sqlite threads webp xls"
+
+COMMON_DEPEND="dev-libs/expat
+ dev-libs/json-c:=
+ dev-libs/libpcre
+ dev-libs/libxml2:=
+ media-libs/tiff:0=
+ sci-libs/libgeotiff
+ sys-libs/zlib:=[minizip(+)]
+ armadillo? ( sci-libs/armadillo:=[lapack] )
+ curl? ( net-misc/curl )
+ fits? ( sci-libs/cfitsio:= )
+ geos? ( >=sci-libs/geos-2.2.1 )
+ gif? ( media-libs/giflib:= )
+ gml? ( >=dev-libs/xerces-c-3.1 )
+ hdf5? ( >=sci-libs/hdf5-1.6.4:=[szip] )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ mdb? ( dev-java/jackcess:1 )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf:= )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( sci-libs/ogdi )
+ opencl? ( virtual/opencl )
+ oracle? ( dev-db/oracle-instantclient:= )
+ pdf? ( >=app-text/poppler-0.24.3:= )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ spatialite? ( dev-db/spatialite )
+ webp? ( media-libs/libwebp:= )
+ xls? ( dev-libs/freexl )"
+
+RDEPEND="${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.7:* )"
+
+DEPEND="${COMMON_DEPEND}
+ python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.7:* )
+ perl? ( dev-lang/swig:0 )
+ python? ( dev-lang/swig:0 )"
+
+REQUIRED_USE="mdb? ( java )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ spatialite? ( sqlite )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.3-soname.patch"
+)
+
+src_prepare() {
+ # fix datadir and docdir placement
+ sed -i \
+ -e "s:@datadir@:@datadir@/gdal:" \
+ -e "s:@exec_prefix@/doc:@exec_prefix@/share/doc/${PF}/html:g" \
+ "${S}"/GDALmake.opt.in || die
+
+ # the second sed expression should fix bug 371075
+ sed -i \
+ -e "s:setup.py install:setup.py install --root=\$(DESTDIR):" \
+ -e "s:--prefix=\$(DESTDIR):--prefix=:" \
+ "${S}"/swig/python/GNUmakefile || die
+
+ # Fix spatialite/sqlite include issue
+ sed -i \
+ -e 's:spatialite/sqlite3.h:sqlite3.h:g' \
+ ogr/ogrsf_frmts/sqlite/ogr_sqlite.h || die
+
+ # Fix freexl configure check
+ sed -i \
+ -e 's:FREEXL_LIBS=missing):FREEXL_LIBS=missing,-lm):g' \
+ configure.ac || die
+
+ sed \
+ -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
+ -i configure.ac || die
+
+ sed \
+ -e 's:^ar:$(AR):g' \
+ -i ogr/ogrsf_frmts/sdts/install-libs.sh || die
+
+ # updated for newer swig (must specify the path to input files)
+ sed -i \
+ -e "s: gdal_array.i: ../include/gdal_array.i:" \
+ -e "s:\$(DESTDIR)\$(prefix):\$(DESTDIR)\$(INST_PREFIX):g" \
+ swig/python/GNUmakefile || die "sed python makefile failed"
+ sed -i \
+ -e "s:library_dirs = :library_dirs = /usr/$(get_libdir):g" \
+ swig/python/setup.cfg || die "sed python setup.cfg failed"
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+
+ tc-export AR RANLIB
+ local myopts=()
+
+ if use java; then
+ myopts+=(
+ --with-java=$(java-config --jdk-home 2>/dev/null)
+ --with-jvm-lib=dlopen
+ $(use_with mdb))
+ else
+ myopts+=( --without-java --without-mdb )
+ fi
+
+ if use sqlite; then
+ append-libs -lsqlite3
+ fi
+
+ # pcidsk is internal, because there is no such library yet released
+ # also that thing is developed by the gdal people
+ # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
+ # bsb - legal issues
+ # ingres - same story as oracle oci
+ # jasper - disabled because unmaintained and vulnerable; openjpeg will be used as JPEG-2000 provider instead
+ # podofo - we use poppler instead they are exclusive for each other
+ # tiff is a hard dep
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}/usr/include/${PN}" \
+ --disable-pdf-plugin \
+ --disable-static \
+ --enable-shared \
+ --with-expat \
+ --with-geotiff \
+ --with-grib \
+ --with-hide-internal-symbols \
+ --with-libtiff \
+ --with-libtool \
+ --with-libz="${EPREFIX}/usr/" \
+ --with-gnm \
+ --with-cryptopp=no \
+ --without-bsb \
+ --without-dods-root \
+ --without-ecw \
+ --without-epsilon \
+ --without-fme \
+ --without-grass \
+ --without-hdf4 \
+ --without-idb \
+ --without-ingres \
+ --without-jasper \
+ --without-jp2mrsid \
+ --without-kakadu \
+ --without-mrsid \
+ --without-msg \
+ --without-mrf \
+ --without-pcraster \
+ --without-pdfium \
+ --without-sde \
+ --without-sosi \
+ --without-mongocxx \
+ --without-podofo \
+ --disable-lto \
+ $(use_enable debug) \
+ $(use_with armadillo) \
+ $(use_with aux_xml pam) \
+ $(use_with curl) \
+ $(use_with fits cfitsio) \
+ $(use_with geos) \
+ $(use_with gif) \
+ $(use_with gml xerces) \
+ $(use_with hdf5) \
+ $(use_with jpeg pcidsk) \
+ $(use_with jpeg) \
+ $(use_with jpeg2k openjpeg) \
+ $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
+ $(use_with netcdf) \
+ $(use_with oracle oci) \
+ $(use_with odbc) \
+ $(use_with ogdi ogdi "${EPREFIX}"/usr) \
+ $(use_with opencl) \
+ $(use_with perl) \
+ $(use_with png) \
+ $(use_with pdf poppler) \
+ $(use_with postgres pg) \
+ $(use_with python) \
+ $(use_with spatialite) \
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
+ $(use_with threads) \
+ $(use_with webp) \
+ $(use_with xls freexl) \
+ ${myopts}
+
+ # mysql-config puts this in (and boy is it a PITA to get it out)
+ if use mysql; then
+ sed -i \
+ -e "s: -rdynamic : :" \
+ GDALmake.opt || die "sed LIBS failed"
+ fi
+}
+
+src_compile() {
+ if use perl; then
+ rm "${S}"/swig/perl/*_wrap.cpp || die
+ emake -C "${S}"/swig/perl generate
+ fi
+
+ # gdal-config needed before generating Python bindings
+ default
+
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null || die
+ perl-module_src_configure
+ perl-module_src_compile
+ popd > /dev/null || die
+ fi
+
+ if use python; then
+ rm -f "${S}"/swig/python/*_wrap.cpp || die
+ emake -C "${S}"/swig/python generate
+ pushd "${S}"/swig/python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+
+ use doc && emake docs
+}
+
+src_install() {
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null || die
+ perl-module_src_install
+ popd > /dev/null || die
+ sed -e 's:BINDINGS = \(.*\) perl:BINDINGS = \1:g' \
+ -i GDALmake.opt || die
+ fi
+
+ use perl && perl_delete_localpod
+
+ local DOCS=( Doxyfile HOWTO-RELEASE NEWS )
+ use doc && HTML_DOCS=( html/. )
+
+ default
+
+ python_install() {
+ distutils-r1_python_install
+ python_doscript scripts/*.py
+ }
+
+ if use python; then
+ # Don't clash with gdal's docs
+ unset DOCS HTML_DOCS
+
+ pushd "${S}"/swig/python > /dev/null || die
+ distutils-r1_src_install
+ popd > /dev/null || die
+
+ newdoc swig/python/README.txt README-python.txt
+
+ insinto /usr/share/${PN}/samples
+ doins -r swig/python/samples/
+ fi
+
+ doman "${S}"/man/man*/*
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+}