summaryrefslogtreecommitdiff
path: root/sci-libs/gdal
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/gdal
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/gdal')
-rw-r--r--sci-libs/gdal/Manifest14
-rw-r--r--sci-libs/gdal/files/gdal-1.5.0-install_name.patch45
-rw-r--r--sci-libs/gdal/files/gdal-1.5.0-soname-r1.patch13
-rw-r--r--sci-libs/gdal/files/gdal-1.5.0-soname.patch13
-rw-r--r--sci-libs/gdal/files/gdal-2.0.2-jasper.patch13
-rw-r--r--sci-libs/gdal/files/gdal-2.0.2-jasper2.patch62
-rw-r--r--sci-libs/gdal/files/gdal-2.0.3-add-dlopen-support-for-jvm.patch232
-rw-r--r--sci-libs/gdal/files/gdal-2.0.3-install_name.patch49
-rw-r--r--sci-libs/gdal/gdal-2.0.2-r3.ebuild288
-rw-r--r--sci-libs/gdal/gdal-2.0.3.ebuild293
-rw-r--r--sci-libs/gdal/metadata.xml29
11 files changed, 1051 insertions, 0 deletions
diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
new file mode 100644
index 000000000000..f33f25fb25cf
--- /dev/null
+++ b/sci-libs/gdal/Manifest
@@ -0,0 +1,14 @@
+AUX gdal-1.5.0-install_name.patch 1731 SHA256 da631282e7ee42b3f9c46a4ce76d7b4905caa4a056c8109fce0f661b9aa58abd SHA512 fa5ecc9e14cbfc282a41d0c55e328c2f56bd92d8fac1897d8e921d59c9705b1291eff66e7f6cf8a1305b2c5f044e0813d28affb398b715d9d207c31af341318e WHIRLPOOL f67a2f307c16d664af34fe26993e74c2a0d1a2b52d43176eb1f03fbd9523533906d1a7df34a0745927f46febdb60e6efe7291bf0e520e0d6c904bcbfe5be928f
+AUX gdal-1.5.0-soname-r1.patch 491 SHA256 0745b525d52092c47e5e169bfe9666a6e8efb2c3c153849fe7ef007a1035f608 SHA512 883828de32d55a79a390f4737b640c8d50d174117e86396545d075fb5328a7e5ffffa150c11a6e9a6317b7cfd5458eb5ac543152fc2acafb1abf3688b78a573f WHIRLPOOL ab21dca151dd54be72e1cdc8af569626137408c4bd38e7b8382d14dc7d0ea3c668e010f3390471925923dc44c52068dd9e7591225f538759b83c3a726ac216a8
+AUX gdal-1.5.0-soname.patch 483 SHA256 212f6f4cb1ef6051bdd1306cedd2236eada53a9ab650158c3b37577f7cd566e7 SHA512 c7c022524fd11de2137e15ec8dc31106887a2d23d583f61f1f9bab1d41a01e558faccc162166150c43903dbcaad14af65afd8ddc090670ebbd15dc57f05f228e WHIRLPOOL 7e2f17ea2c804fa7aded2fc8225091e84c44483c69cbb34818af3b38a7d580adf41daff250006778c6d3aea9175b2162e9add3956594b81eefd23689aed0de68
+AUX gdal-2.0.2-jasper.patch 501 SHA256 f6647280320ca6eef42940ebd825557627f132da22825b047a8747db8ae79cbb SHA512 f564ee0556c1c62f88adb950310a321bd22eafc801e693b828e4cd9e6d2ec5245271c5be4133c59ea3953c7a7f7bf9c8596dbfffcd5726c87b4281e81100e271 WHIRLPOOL 5f974f86a2c444fc9dfa1986744546df3fe80022984abd9288599081410a4cbc16431ddd6d994b6f0c64a02f987b06fa59623f779f6685efaac3749437fe8d40
+AUX gdal-2.0.2-jasper2.patch 2470 SHA256 ae361eea93c1a34e209b241b41280143c3a4613ca08890e3d2cd9272a1be29c9 SHA512 fde3459c91ea70e2750ba5c2dfd926fc1619a3df714f54982eaf26443be6ebd6ca8960c0569aec52aeba8ab48707ccff6d8a7cb00806a14c216ee89a289300f3 WHIRLPOOL 02076a7cef9f489530fc2b961e73665ef8ba1c739a961cf155f59fd175c811517dcb4cfe72458bb342997c3df37cb6c62eee887525395ce0257b3bf0b585fbac
+AUX gdal-2.0.3-add-dlopen-support-for-jvm.patch 8840 SHA256 fb5e5e4373b6dbad2c98e6c190d172f7d0efc25106e03885b327c2af5aaa9ed6 SHA512 9af9a9a6063476a9a62807addf542b67e47a7323377f80a92ea163f9d36396879d7dd92af81d296d6bc2956c27b271c5dbe729598d91b68f64991f14e5cf8c0b WHIRLPOOL 2516dd10d8e21f1869cb0a4ba57888c11aa91b9d223e6c0168c7f14f166b5f35fd5e145f59304515c8956637faee1fed5e5e3f28f5ccf9119899416aad43d4e9
+AUX gdal-2.0.3-install_name.patch 1825 SHA256 7990244a21b11690851e675fc507266b8522d60b041ce668ad3478a42821f7b3 SHA512 ebe21b9794a81de79ec6ae1e5ef225cbc74b7e36941ddec162b8ddee91778ac6cca2169464281168351fe8356ff4a14d503da7769871054f30592ce6560a0397 WHIRLPOOL 70ab0154b6bd6be3a4d12c785b2760df8853377c783c980dc98d0e78fd32fcba2a6a2099f5db365ff9f7023aee3470fb03288386e06b122debe07d06a06ecaa2
+DIST gdal-2.0.2.tar.gz 11643726 SHA256 db7722caf8d9dd798ec18012b9cacf40a518918466126a88b9fd277bd7d40cc4 SHA512 b3fedc8d1d0522d2a6fd22fbc722c551ebf2e4326f64b76c9c43cd3848f7c97a0636c691ee383b3f3c872dc79cd0e216527d3985c6aac3103395fde657db1266 WHIRLPOOL 889b35d0c2d972681d30eb33b731498b58951ed64a37d0152b15f8d9c3e414703158498cc6eb1bc75a3cd598a567738e4e937fffa6a55cdff2b6cf87338e25e6
+DIST gdal-2.0.3.tar.gz 11589011 SHA256 af661066a0bcac733521d66a73375dbe70b0e87d234a99af9f8f1d034c127914 SHA512 3ed2a084fa146fab8d5f5e039480ab935edaefebe9e55f85bf637a4487a3f56951c93055395850e7bf35d5a6d6e901f741ae01ad64be87597aabfad52f1c5e90 WHIRLPOOL 15bc985dc9a8543e3cc7caaca36e41bb9891558adaea2c3883af3d58d5059d01eacda9e8e79b6051c230dd84d08b93b9a8c778758b8fab14d146d42bfba22659
+EBUILD gdal-2.0.2-r3.ebuild 7197 SHA256 1e7434e9e395b3240eded8b041e6cd589b9cdf41119b95276a326422c36be7bd SHA512 8f023f59866cc90738c836686738fc0109bd2c7b46bc6b24771aa15a1736767e31cc662e96171c5ff24e1e0c8e75b1361a2b5db33eb2dbe7538b04c9b66b76e9 WHIRLPOOL 19c8523b62bb2b680a1c28b2885a1f67bbec3a863a8b61496c8d797d0a01233fa5d410134c9b327b40676c7917853995cb3978baa87f95057910e0f45af587a4
+EBUILD gdal-2.0.3.ebuild 7546 SHA256 a5e9d036da047d701459363542b60240f7728c17de0f006d6707cd435b39658e SHA512 39aaa6de5686014d96a7bd874d6eccb29ee4eccc83e329ae3e52fc9e2f1ca0f22ca83b7cb8ac269942c3f16e674978881ce0b3c556e544ac7dd287afc07ebdb7 WHIRLPOOL f0b280742efe794bc58bde1501f6c9e6a83531fe6fd6d10d96be8c2fe0ab55376095fb671497b5d06c689ce02edb7809e1dacc51be8b67bf05da1c883cc05286
+MISC ChangeLog 8624 SHA256 13a694121fc48db1ba49dc9e9548c1be420aba42bb1a9d77aa0c93aedb15e8ea SHA512 d1ec6c4276413bb49ccee20f30fb4b2564d7922b934d8122d1368ae2732be96aae3d3fb8df653efe78ffa1c1a744b88e8b7c9c890cfc5bfbdc8394e2a038e512 WHIRLPOOL 4d703f7c0888868831f49c39866cf9d77a0373741364f79261f5510c44ce01cbf43371035d23238c6f83c21d011dfcce26fbcdecfddc63cb328e715c856b6f55
+MISC ChangeLog-2015 31151 SHA256 a364877ef5d4d1e3f9e5cb4cd3861a2366cd416fc50864934a5b49a048ca784c SHA512 1a15b4f89275123b9be164e1fdb84a811766944257abf9332d74c5c88a3c1d088ce140ffa316ec38993903fb67f4334f6f5b16ee3a16d4fa1dfcf8552e612eb8 WHIRLPOOL 9f909c983b9e24090d6dd8a67572e479046fd7b0b6ec75bd6bdb239d0eb06a9fe57d392412e63b66ded7da8a297bd4dd568642c2506a37cfc0ade8c146d2335a
+MISC metadata.xml 1522 SHA256 2140dbffff3f5e3642e8d51b270d09699b443c23c8237862fe421e204a789536 SHA512 091112e555a5a77c5643cbd4465046bfd9fe287e209b42f5410787a2f1a2e4d7ec640efad93c277f0f6581db2264fa104d5aba2e8cbc4126c2c14fe4d86afcee WHIRLPOOL 6992696c49d241debca56525a631debb31615699942e849677194b9c48c0d864c8202cdebdabcb635d206aba2fe58498b6bd23a05f7bd8c614816b3d708a88fe
diff --git a/sci-libs/gdal/files/gdal-1.5.0-install_name.patch b/sci-libs/gdal/files/gdal-1.5.0-install_name.patch
new file mode 100644
index 000000000000..e17575267d6e
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.5.0-install_name.patch
@@ -0,0 +1,45 @@
+--- GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
++++ GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
+@@ -97,6 +97,10 @@
+ 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)
++GDAL_SLIB_SONAME = -install_name $(INST_LIB)/libgdal.$(GDAL_VERSION_MAJOR).$(SO_EXT)
++
+ # Mac OS X Framework definition
+ MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
+
+--- GNUmakefile.orig 2010-03-09 14:03:08 +0100
++++ GNUmakefile 2010-03-09 14:05:29 +0100
+@@ -218,7 +218,7 @@
+
+ ifeq ($(HAVE_LD_SHARED),yes)
+
+-GDAL_SLIB_B = $(notdir $(GDAL_SLIB))
++GDAL_SLIB_B = libgdal
+
+ install-lib:
+
+@@ -226,14 +226,14 @@
+ 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).dylib
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
++ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VER).dylib $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib)
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR) $(GDAL_SLIB_B))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib $(GDAL_SLIB_B).dylib)
+ endif
+
+ else
diff --git a/sci-libs/gdal/files/gdal-1.5.0-soname-r1.patch b/sci-libs/gdal/files/gdal-1.5.0-soname-r1.patch
new file mode 100644
index 000000000000..ec35018868dd
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.5.0-soname-r1.patch
@@ -0,0 +1,13 @@
+--- 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,10 @@
+ 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)
++GDAL_SLIB_SONAME = -Wl,-soname,libgdal.$(SO_EXT).$(GDAL_VERSION_MAJOR)
++
+ # Mac OS X Framework definition
+ MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
+
diff --git a/sci-libs/gdal/files/gdal-1.5.0-soname.patch b/sci-libs/gdal/files/gdal-1.5.0-soname.patch
new file mode 100644
index 000000000000..f784536316c2
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.5.0-soname.patch
@@ -0,0 +1,13 @@
+--- GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
++++ GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
+@@ -97,6 +97,10 @@
+ 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)
++GDAL_SLIB_SONAME = -Wl,-soname,libgdal.$(SO_EXT).$(GDAL_VERSION_MAJOR)
++
+ # Mac OS X Framework definition
+ MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
+
diff --git a/sci-libs/gdal/files/gdal-2.0.2-jasper.patch b/sci-libs/gdal/files/gdal-2.0.2-jasper.patch
new file mode 100644
index 000000000000..00cf5c16fa4d
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-2.0.2-jasper.patch
@@ -0,0 +1,13 @@
+diff -urpN gdal-2.0.2.orig/frmts/jpeg2000/jpeg2000_vsil_io.h gdal-2.0.2/frmts/jpeg2000/jpeg2000_vsil_io.h
+--- gdal-2.0.2.orig/frmts/jpeg2000/jpeg2000_vsil_io.h 2016-01-26 07:21:48.000000000 -0800
++++ gdal-2.0.2/frmts/jpeg2000/jpeg2000_vsil_io.h 2016-10-31 23:45:28.939407322 -0700
+@@ -29,7 +29,8 @@
+
+ #ifndef JPEG2000_VSIL_IO_H
+ #define JPEG2000_VSIL_IO_H
+-
++
++#include <sys/types.h>
+ #include <jasper/jasper.h>
+
+ jas_stream_t *JPEG2000_VSIL_fopen(const char *filename, const char *mode);
diff --git a/sci-libs/gdal/files/gdal-2.0.2-jasper2.patch b/sci-libs/gdal/files/gdal-2.0.2-jasper2.patch
new file mode 100644
index 000000000000..a418e4159c0a
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-2.0.2-jasper2.patch
@@ -0,0 +1,62 @@
+diff -urN orig/frmts/jpeg2000/jpeg2000_vsil_io.cpp dwok/frmts/jpeg2000/jpeg2000_vsil_io.cpp
+--- orig/frmts/jpeg2000/jpeg2000_vsil_io.cpp 2016-01-26 16:21:48.000000000 +0100
++++ dwok/frmts/jpeg2000/jpeg2000_vsil_io.cpp 2016-11-16 21:53:15.280302723 +0100
+@@ -179,40 +179,25 @@
+ * Buffer initialization code.
+ \******************************************************************************/
+
+-static void JPEG2000_VSIL_jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf,
+- int bufsize)
++static void JPEG2000_VSIL_jas_stream_initbuf(jas_stream_t *stream, int bufmode)
+ {
+ /* If this function is being called, the buffer should not have been
+ initialized yet. */
+ assert(!stream->bufbase_);
+
+ if (bufmode != JAS_STREAM_UNBUF) {
+- /* The full- or line-buffered mode is being employed. */
+- if (!buf) {
+- /* The caller has not specified a buffer to employ, so allocate
+- one. */
+- if ((stream->bufbase_ = (unsigned char*)jas_malloc(JAS_STREAM_BUFSIZE +
+- JAS_STREAM_MAXPUTBACK))) {
+- stream->bufmode_ |= JAS_STREAM_FREEBUF;
+- stream->bufsize_ = JAS_STREAM_BUFSIZE;
+- } else {
+- /* The buffer allocation has failed. Resort to unbuffered
+- operation. */
+- stream->bufbase_ = stream->tinybuf_;
+- stream->bufsize_ = 1;
+- }
++ if ((stream->bufbase_ = (unsigned char*)jas_malloc(JAS_STREAM_BUFSIZE +
++ JAS_STREAM_MAXPUTBACK))) {
++ stream->bufmode_ |= JAS_STREAM_FREEBUF;
++ stream->bufsize_ = JAS_STREAM_BUFSIZE;
+ } else {
+- /* The caller has specified a buffer to employ. */
+- /* The buffer must be large enough to accommodate maximum
+- putback. */
+- assert(bufsize > JAS_STREAM_MAXPUTBACK);
+- stream->bufbase_ = JAS_CAST(uchar *, buf);
+- stream->bufsize_ = bufsize - JAS_STREAM_MAXPUTBACK;
++ /* The buffer allocation has failed. Resort to unbuffered
++ operation. */
++ stream->bufbase_ = stream->tinybuf_;
++ stream->bufsize_ = 1;
+ }
+ } else {
+ /* The unbuffered mode is being employed. */
+- /* A buffer should not have been supplied by the caller. */
+- assert(!buf);
+ /* Use a trivial one-character buffer. */
+ stream->bufbase_ = stream->tinybuf_;
+ stream->bufsize_ = 1;
+@@ -282,7 +267,7 @@
+ }
+
+ /* By default, use full buffering for this type of stream. */
+- JPEG2000_VSIL_jas_stream_initbuf(stream, JAS_STREAM_FULLBUF, 0, 0);
++ JPEG2000_VSIL_jas_stream_initbuf(stream, JAS_STREAM_FULLBUF);
+
+ return stream;
+ }
diff --git a/sci-libs/gdal/files/gdal-2.0.3-add-dlopen-support-for-jvm.patch b/sci-libs/gdal/files/gdal-2.0.3-add-dlopen-support-for-jvm.patch
new file mode 100644
index 000000000000..7c35d1cb1242
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-2.0.3-add-dlopen-support-for-jvm.patch
@@ -0,0 +1,232 @@
+From baba2c213770972e79be6be4902716278f351fb4 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Wed, 24 Aug 2016 23:32:13 +0100
+Subject: [PATCH 1/2] Allow libjvm.so to be dlopen'd with --with-jvm-lib=dlopen
+
+Having to set LD_LIBRARY_PATH is a pain and relying on the rpath can
+be problematic when libjvm.so lives in a versioned directory. Some
+distributions even allow per-user JVM selection so checking the value
+of JAVA_HOME at runtime allows this choice to be respected.
+
+libjvm.so's location is hard to predict (amd64 vs i386, jre or not?)
+so ${JAVA_HOME}/bin/java -XshowSettings is executed to find its
+location. If JAVA_HOME is not set then java is executed from the PATH
+instead.
+---
+ gdal/configure | 11 +++++-
+ gdal/configure.in | 7 +++-
+ gdal/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp | 57 +++++++++++++++++++++++++++--
+ gdal/port/cpl_config.h.in | 3 ++
+ 4 files changed, 71 insertions(+), 7 deletions(-)
+
+diff --git a/configure b/configure
+index 75e4e279de..acdfa439de 100755
+--- a/configure
++++ b/configure
+@@ -1753,7 +1753,7 @@ Optional Packages:
+ --with-python=ARG Enable python bindings (ARG=yes, no, or path to python binary)
+ --with-java Include Java support (ARG=yes, no or JDK home path) [default=no]
+ --with-mdb Include MDB driver
+- --with-jvm-lib=ARG ARG points to Java libjvm path
++ --with-jvm-lib=ARG ARG is dlopen or points to Java libjvm path
+ --with-jvm-lib-add-rpath Add the libjvm path to the RPATH (no by default)
+ --with-rasdaman=DIR Include rasdaman support (DIR is rasdaman's install dir).
+ --with-armadillo=ARG Include Armadillo support for faster TPS transform computation (ARG=yes/no/path to armadillo install root) [default=no]
+@@ -29491,7 +29491,14 @@ if test "${with_jvm_lib_add_rpath+set}" = set; then :
+ fi
+
+
+- if test "x$with_jvm_lib" != "x"; then
++ if test "x$with_jvm_lib" = "xdlopen"; then
++
++cat >>confdefs.h <<_ACEOF
++#define JVM_LIB_DLOPEN 1
++_ACEOF
++
++ JVM_LIB="-ldl"
++ elif test "x$with_jvm_lib" != "x"; then
+ if test -d "$with_jvm_lib"; then
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$with_jvm_lib"
+diff --git a/configure.in b/configure.in
+index 91efa5a32a..546ff04049 100644
+--- a/configure.in
++++ b/configure.in
+@@ -4213,11 +4213,14 @@ if test "$with_mdb" = "yes" ; then
+ AC_MSG_ERROR("--with-java must be specified.")
+ fi
+
+- AC_ARG_WITH(jvm-lib, [ --with-jvm-lib=[ARG] ARG points to Java libjvm path],,)
++ AC_ARG_WITH(jvm-lib, [ --with-jvm-lib=[ARG] ARG is dlopen or points to Java libjvm path],,)
+
+ AC_ARG_WITH(jvm-lib-add-rpath,[ --with-jvm-lib-add-rpath Add the libjvm path to the RPATH (no by default)],,)
+
+- if test "x$with_jvm_lib" != "x"; then
++ if test "x$with_jvm_lib" = "xdlopen"; then
++ AC_DEFINE_UNQUOTED(JVM_LIB_DLOPEN, 1, [Define to 1 if libjvm.so should be dlopen'd])
++ JVM_LIB="-ldl"
++ elif test "x$with_jvm_lib" != "x"; then
+ if test -d "$with_jvm_lib"; then
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$with_jvm_lib"
+diff --git a/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp b/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp
+index b068adf777..bc54a115df 100644
+--- a/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp
++++ b/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp
+@@ -29,6 +29,11 @@
+
+ #include "ogr_mdb.h"
+
++#if JVM_LIB_DLOPEN
++#include <limits.h>
++#include <stdio.h>
++#endif
++
+ CPL_CVSID("$Id: ogrmdbjackcess.cpp 27044 2014-03-16 23:41:27Z rouault $");
+
+ static JavaVM *jvm_static = NULL;
+@@ -161,9 +166,41 @@ int OGRMDBJavaEnv::Init()
+ {
+ JavaVM* vmBuf[1];
+ jsize nVMs;
++ int ret = 0;
++
++#if JVM_LIB_DLOPEN
++ const char *jvmLibPtr = "libjvm.so";
++ char jvmLib[PATH_MAX];
++
++ FILE *javaCmd = popen("\"${JAVA_HOME}${JAVA_HOME:+/bin/}java\" -XshowSettings 2>&1 | sed -n '/\\bsun\\.boot\\.library\\.path =/s:.* = \\(.*\\):\\1/server/libjvm.so:p'", "r");
++
++ if (javaCmd != NULL)
++ {
++ size_t javaCmdRead = fread(jvmLib, 1, PATH_MAX, javaCmd);
++ ret = pclose(javaCmd);
++
++ if (ret == 0 && javaCmdRead >= 2)
++ {
++ /* Chomp the new line */
++ jvmLib[javaCmdRead - 1] = '\0';
++ jvmLibPtr = jvmLib;
++ }
++ }
++
++ jint (*pfnJNI_GetCreatedJavaVMs)(JavaVM **, jsize, jsize *);
++ pfnJNI_GetCreatedJavaVMs = (jint (*)(JavaVM **, jsize, jsize *))
++ CPLGetSymbol(jvmLibPtr, "JNI_GetCreatedJavaVMs");
++
++ if (pfnJNI_GetCreatedJavaVMs == NULL)
++ return FALSE;
++ else
++ ret = pfnJNI_GetCreatedJavaVMs(vmBuf, 1, &nVMs);
++#else
++ ret = JNI_GetCreatedJavaVMs(vmBuf, 1, &nVMs);
++#endif
+
+ /* Are we already called from Java ? */
+- if (JNI_GetCreatedJavaVMs(vmBuf, 1, &nVMs) == JNI_OK && nVMs == 1)
++ if (ret == JNI_OK && nVMs == 1)
+ {
+ jvm = vmBuf[0];
+ if (jvm->GetEnv((void **)&env, JNI_VERSION_1_2) == JNI_OK)
+@@ -194,8 +231,22 @@ int OGRMDBJavaEnv::Init()
+ args.nOptions = 0;
+ args.ignoreUnrecognized = JNI_FALSE;
+
+- int ret = JNI_CreateJavaVM(&jvm, (void **)&env, &args);
+- if (ret != 0 || jvm == NULL || env == NULL)
++#if JVM_LIB_DLOPEN
++ jint (*pfnJNI_CreateJavaVM)(JavaVM **, void **, void *);
++ pfnJNI_CreateJavaVM = (jint (*)(JavaVM **, void **, void *))
++ CPLGetSymbol(jvmLibPtr, "JNI_CreateJavaVM");
++
++ if (pfnJNI_CreateJavaVM == NULL)
++ return FALSE;
++ else
++ ret = pfnJNI_CreateJavaVM(&jvm, (void **)&env, &args);
++#else
++ ret = JNI_CreateJavaVM(&jvm, (void **)&env, &args);
++#endif
++
++ CPLFree(pszClassPathOption);
++
++ if (ret != JNI_OK || jvm == NULL || env == NULL)
+ {
+ CPLError(CE_Failure, CPLE_AppDefined, "JNI_CreateJavaVM failed (%d)", ret);
+ return FALSE;
+diff --git a/port/cpl_config.h.in b/port/cpl_config.h.in
+index 313729fd3e..e8fa21140a 100644
+--- a/port/cpl_config.h.in
++++ b/port/cpl_config.h.in
+@@ -161,6 +161,9 @@
+ /* For .cpp files, define as const if the declaration of iconv() needs const. */
+ #undef ICONV_CPP_CONST
+
++/* Define to 1 if libjvm.so should be dlopen'd */
++#undef JVM_LIB_DLOPEN
++
+ /* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+ #undef LT_OBJDIR
+--
+2.11.0
+
+
+From cd6bbb60ced62b6176482e86c54ab618e2592ac8 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Thu, 25 Aug 2016 21:26:20 +0100
+Subject: [PATCH 2/2] Fetch jackcess classpath using java-config instead of
+ using CLASSPATH
+
+---
+ gdal/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp | 26 ++++++++++++++++++++++----
+ 1 file changed, 22 insertions(+), 4 deletions(-)
+
+diff --git a/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp b/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp
+index bc54a115df..5b0972677e 100644
+--- a/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp
++++ b/ogr/ogrsf_frmts/mdb/ogrmdbjackcess.cpp
+@@ -218,19 +218,37 @@ int OGRMDBJavaEnv::Init()
+ JavaVMInitArgs args;
+ JavaVMOption options[1];
+ args.version = JNI_VERSION_1_2;
+- const char* pszClassPath = CPLGetConfigOption("CLASSPATH", NULL);
+- CPLString osClassPathOption;
++
++ FILE *javaCmd = popen("java-config --with-dependencies --classpath=jackcess-1", "r");
++
++ const char* pszClassPath = NULL;
++ if (javaCmd != NULL)
++ {
++ pszClassPath = CPLReadLine(javaCmd);
++ ret = pclose(javaCmd);
++
++ if (ret != 0)
++ pszClassPath = NULL;
++ }
++
++ if (pszClassPath == NULL)
++ pszClassPath = CPLGetConfigOption("CLASSPATH", NULL);
++
++ char* pszClassPathOption = NULL;
+ if (pszClassPath)
+ {
+ args.nOptions = 1;
+- osClassPathOption.Printf("-Djava.class.path=%s", pszClassPath);
+- options[0].optionString = (char*) osClassPathOption.c_str();
++ pszClassPathOption = CPLStrdup(CPLSPrintf("-Djava.class.path=%s", pszClassPath));
++ options[0].optionString = pszClassPathOption;
+ args.options = options;
+ }
+ else
+ args.nOptions = 0;
+ args.ignoreUnrecognized = JNI_FALSE;
+
++ if (javaCmd != NULL)
++ CPLReadLine(NULL);
++
+ #if JVM_LIB_DLOPEN
+ jint (*pfnJNI_CreateJavaVM)(JavaVM **, void **, void *);
+ pfnJNI_CreateJavaVM = (jint (*)(JavaVM **, void **, void *))
+--
+2.11.0
+
diff --git a/sci-libs/gdal/files/gdal-2.0.3-install_name.patch b/sci-libs/gdal/files/gdal-2.0.3-install_name.patch
new file mode 100644
index 000000000000..1e83d55ecf7d
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-2.0.3-install_name.patch
@@ -0,0 +1,49 @@
+Unbreak compilation on Darwin
+
+Author: Fabian Groffen <grobian@gentoo.org>
+
+--- gdal-2.0.3.old/GDALmake.opt.in
++++ gdal-2.0.3/GDALmake.opt.in
+@@ -104,6 +104,10 @@ GDAL_LIB = $(GDAL_ROOT)/libgdal.a
+ 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)
++GDAL_SLIB_SONAME = -install_name $(INST_LIB)/libgdal.$(GDAL_VERSION_MAJOR).$(SO_EXT)
++
+ # 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).dylib
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
++ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VER).dylib $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib)
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR) $(GDAL_SLIB_B))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib $(GDAL_SLIB_B).dylib)
+ $(INSTALL_DIR) $(DESTDIR)$(INST_LIB)/gdalplugins
+ endif
+
diff --git a/sci-libs/gdal/gdal-2.0.2-r3.ebuild b/sci-libs/gdal/gdal-2.0.2-r3.ebuild
new file mode 100644
index 000000000000..4a713012e981
--- /dev/null
+++ b/sci-libs/gdal/gdal-2.0.2-r3.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+WANT_AUTOCONF="2.5"
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 python3_4 )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools eutils libtool perl-module distutils-r1 flag-o-matic toolchain-funcs 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"
+LICENSE="BSD Info-ZIP MIT"
+KEYWORDS="amd64 ~arm 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 pdf perl png postgres python spatialite sqlite threads xls"
+
+RDEPEND="
+ 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 )
+ hdf5? ( >=sci-libs/hdf5-1.6.4[szip] )
+ java? ( >=virtual/jre-1.6:* )
+ jpeg? ( virtual/jpeg:0= )
+ jpeg2k? ( media-libs/jasper:= )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( sci-libs/ogdi )
+ opencl? ( virtual/opencl )
+ 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/setuptools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ spatialite? ( dev-db/spatialite )
+ xls? ( dev-libs/freexl )
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.6 )
+ perl? ( dev-lang/swig:0 )
+ python? ( dev-lang/swig:0 )"
+
+AT_M4DIR="${S}/m4"
+
+REQUIRED_USE="
+ spatialite? ( sqlite )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ mdb? ( java )
+"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_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
+
+ if use jpeg2k; then
+ epatch "${FILESDIR}"/${P}-jasper.patch
+ epatch "${FILESDIR}"/${P}-jasper2.patch #bug 599626
+ fi
+
+ # -soname is only accepted by GNU ld/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && epatch "${FILESDIR}"/${PN}-1.5.0-install_name.patch \
+ || epatch "${FILESDIR}"/${PN}-1.5.0-soname.patch
+
+ # 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.in || die
+
+ sed \
+ -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
+ -i configure.in || 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"
+
+ # bug 626844, poppler headers require C++11
+ use pdf && append-cxxflags -std=c++11
+
+ tc-export AR RANLIB
+
+ eautoreconf
+}
+
+src_configure() {
+ local myopts=""
+
+ if use java; then
+ myopts+="
+ --with-java=$(java-config --jdk-home 2>/dev/null)
+ $(use_with mdb)"
+ else
+ myopts+=" --without-java --without-mdb"
+ use mdb && ewarn "mdb requires java use enabled. disabling"
+ fi
+
+ if use sqlite; then
+ myopts+=" 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
+ # oracle - disabled, i dont have and can't test
+ # ingres - same story as oracle oci
+ # 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-static \
+ --enable-shared \
+ --with-expat \
+ --with-geotiff \
+ --with-grib \
+ --with-libtiff \
+ --with-libz="${EPREFIX}/usr/" \
+ --with-ogr \
+ --without-bsb \
+ --without-dods-root \
+ --without-dwgdirect \
+ --without-epsilon \
+ --without-fme \
+ --without-grass \
+ --without-hdf4 \
+ --without-idb \
+ --without-ingres \
+ --without-jp2mrsid \
+ --without-kakadu \
+ --without-libtool \
+ --without-mrsid \
+ --without-msg \
+ --without-oci \
+ --without-pcraster \
+ --without-podofo \
+ --without-python \
+ --without-sde \
+ $(use_enable debug) \
+ $(use_with armadillo) \
+ $(use_with aux_xml pam) \
+ $(use_with curl) \
+ --without-ecw \
+ $(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 jasper) \
+ $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
+ $(use_with netcdf) \
+ $(use_with odbc) \
+ $(use_with ogdi ogdi "${EPREFIX}"/usr) \
+ $(use_with opencl) \
+ $(use_with pdf poppler) \
+ $(use_with perl) \
+ $(use_with png) \
+ $(use_with postgres pg) \
+ $(use_with spatialite) \
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
+ $(use_with threads) \
+ $(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
+
+ default
+
+ use perl && perl_delete_localpod
+
+ dodoc Doxyfile HOWTO-RELEASE NEWS
+
+ use doc && dohtml html/*
+
+ python_install() {
+ distutils-r1_python_install
+ python_doscript scripts/*.py
+ }
+ if use python; then
+ 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 swig/python/samples/*
+ fi
+
+ pushd man/man1 > /dev/null || die
+ for i in * ; do
+ newman ${i} ${i}
+ done
+ popd > /dev/null || die
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+}
diff --git a/sci-libs/gdal/gdal-2.0.3.ebuild b/sci-libs/gdal/gdal-2.0.3.ebuild
new file mode 100644
index 000000000000..74f1aa7ecb35
--- /dev/null
+++ b/sci-libs/gdal/gdal-2.0.3.ebuild
@@ -0,0 +1,293 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+WANT_AUTOCONF="2.5"
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+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"
+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 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 )
+ 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/setuptools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ spatialite? ( dev-db/spatialite )
+ xls? ( dev-libs/freexl )"
+
+RDEPEND="${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.7:* )"
+
+DEPEND="${COMMON_DEPEND}
+ 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 )
+"
+
+src_prepare() {
+ local PATCHES=()
+ local PATCHES=( "${FILESDIR}"/gdal-2.0.3-add-dlopen-support-for-jvm.patch )
+
+ # -soname is only accepted by GNU ld/ELF
+ if [[ ${CHOST} == *-darwin* ]]; then
+ PATCHES+=( "${FILESDIR}"/${PN}-2.0.3-install_name.patch )
+ else
+ PATCHES+=( "${FILESDIR}"/${PN}-1.5.0-soname-r1.patch )
+ fi
+
+ # 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.in || die
+
+ sed \
+ -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
+ -i configure.in || 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
+
+ # bug 626844, poppler headers require C++11
+ use pdf && append-cxxflags -std=c++11
+
+ tc-export AR RANLIB
+
+ mv configure.{in,ac} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ 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
+ myopts+=" 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-static \
+ --enable-shared \
+ --with-expat \
+ --with-geotiff \
+ --with-grib \
+ --with-libtiff \
+ --with-libz="${EPREFIX}/usr/" \
+ --with-ogr \
+ --without-bsb \
+ --without-dods-root \
+ --without-dwgdirect \
+ --without-epsilon \
+ --without-fme \
+ --without-grass \
+ --without-hdf4 \
+ --without-idb \
+ --without-ingres \
+ --without-jasper \
+ --without-jp2mrsid \
+ --without-kakadu \
+ --without-libtool \
+ --without-mrsid \
+ --without-msg \
+ --without-pcraster \
+ --without-podofo \
+ --without-sde \
+ $(use_enable debug) \
+ $(use_with armadillo) \
+ $(use_with aux_xml pam) \
+ $(use_with curl) \
+ --without-ecw \
+ $(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 pdf poppler) \
+ $(use_with perl) \
+ $(use_with png) \
+ $(use_with postgres pg) \
+ $(use_with python) \
+ $(use_with spatialite) \
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
+ $(use_with threads) \
+ $(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 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)."
+}
diff --git a/sci-libs/gdal/metadata.xml b/sci-libs/gdal/metadata.xml
new file mode 100644
index 000000000000..7088f71ba0f1
--- /dev/null
+++ b/sci-libs/gdal/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-geosciences@gentoo.org</email>
+ <name>Gentoo Geosciences Project</name>
+ </maintainer>
+ <longdescription>
+ GDAL is the Geospatial Data Abstraction Library, a set of tools for
+ converting between geospatial raster data formats (includes OGR for
+ vector data).
+ </longdescription>
+ <slots>
+ <subslots>Reflects ABI compatibility of libgdal.so</subslots>
+ </slots>
+ <use>
+ <flag name="armadillo">Use <pkg>sci-libs/armadillo</pkg> for faster TPS transform computation</flag>
+ <flag name="aux_xml">Enable Portable Auxilliary Metadata generation</flag>
+ <flag name="fits">Enable support for NASA's <pkg>sci-libs/cfitsio</pkg> library</flag>
+ <flag name="geos">Add support for geometry engine (<pkg>sci-libs/geos</pkg>)</flag>
+ <flag name="gml">Enable support for <pkg>dev-libs/xerces-c</pkg> C++ API</flag>
+ <flag name="hdf5">Add support for the Hierarchical Data Format v5 (<pkg>sci-libs/hdf5</pkg>)</flag>
+ <flag name="mdb">Enable support for Microsoft Access database</flag>
+ <flag name="ogdi">Enable support for the open geographic datastore interface (<pkg>sci-libs/ogdi</pkg>)</flag>
+ <flag name="opencl">Enable OpenCL support</flag>
+ <flag name="spatialite">Enable Spatial DBMS over sqlite <pkg>dev-db/spatialite</pkg></flag>
+ <flag name="xls">Add the <pkg>dev-libs/freexl</pkg> library for xls import support</flag>
+ </use>
+</pkgmetadata>