public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: profiles/arch/arm/, sci-libs/gdal/files/, profiles/arch/powerpc/ppc64/32ul/, ...
@ 2016-12-05 14:16 Thomas Deutschmann
  0 siblings, 0 replies; only message in thread
From: Thomas Deutschmann @ 2016-12-05 14:16 UTC (permalink / raw
  To: gentoo-commits

commit:     e748080fd04e9196cfb3146e6f341f06f3be6813
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  4 21:09:14 2016 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Dec  5 14:16:54 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e748080f

sci-libs/gdal: Bump to v2.0.3

 - Version bump to new upstream release v2.0.3.

 - Bumped to EAPI=6.

 - Enabled python3_5 support.

 - "oracle" USE flag added (Fixes Gentoo-Bug #585156).

 - Fixes a build issue when using "java" USE flag and you have a JRE
   installed (patch for gdal provided by James Le Cuirot, thanks!).

 - MDB driver now uses new dev-java/jackcess pack (patch for gdal provided
   by James Le Cuirot, thanks!)

 - Switched JPEG-2000 provider from media-libs/jasper to
   media-libs/openjpeg:2 because JasPer is unmaintained and vulnerable.

Gentoo-Bug: https://bugs.gentoo.org/585156

Closes: https://github.com/gentoo/gentoo/pull/2106

Package-Manager: portage-2.3.2

 profiles/arch/arm/package.use.mask                 |   4 +
 profiles/arch/powerpc/ppc32/package.use.mask       |   4 +
 profiles/arch/powerpc/ppc64/32ul/package.use.mask  |   6 +-
 sci-libs/gdal/Manifest                             |   1 +
 sci-libs/gdal/files/gdal-1.5.0-soname-r1.patch     |  13 +
 .../gdal-2.0.3-add-dlopen-support-for-jvm.patch    | 232 ++++++++++++++++
 sci-libs/gdal/files/gdal-2.0.3-install_name.patch  |  49 ++++
 sci-libs/gdal/gdal-2.0.3.ebuild                    | 291 +++++++++++++++++++++
 8 files changed, 599 insertions(+), 1 deletion(-)

diff --git a/profiles/arch/arm/package.use.mask b/profiles/arch/arm/package.use.mask
index 15c657a..7159328 100644
--- a/profiles/arch/arm/package.use.mask
+++ b/profiles/arch/arm/package.use.mask
@@ -2,6 +2,10 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+# Thomas Deutschmann <whissi@gentoo.org> (2016-12-04)
+# sci-libs/gdal[mdb] requires dev-java/jackcess which is not keyworded
+>=sci-libs/gdal-2.0.3 mdb
+
 # Christoph Junghans <junghans@gentoo.org> (11 Sep 2016)
 # Missing keywords on openmpi deps
 sys-cluster/openmpi openmpi_fabrics_ofed openmpi_fabrics_knem openmpi_fabrics_psm openmpi_rm_pbs openmpi_rm_slurm openmpi_ofed_features_rdmacm

diff --git a/profiles/arch/powerpc/ppc32/package.use.mask b/profiles/arch/powerpc/ppc32/package.use.mask
index 4ea06c9..44f98d9 100644
--- a/profiles/arch/powerpc/ppc32/package.use.mask
+++ b/profiles/arch/powerpc/ppc32/package.use.mask
@@ -4,6 +4,10 @@
 
 # This file requires >=portage-2.1.1
 
+# Thomas Deutschmann <whissi@gentoo.org> (2016-12-04)
+# sci-libs/gdal[mdb] requires dev-java/jackcess which is not keyworded
+>=sci-libs/gdal-2.0.3 mdb
+
 # Michał Górny <mgorny@gentoo.org> (18 Nov 2016)
 # libomp does not support 32-bit PPC, #600148.
 sys-devel/clang-runtime openmp

diff --git a/profiles/arch/powerpc/ppc64/32ul/package.use.mask b/profiles/arch/powerpc/ppc64/32ul/package.use.mask
index 6b924cb..6a05e0f 100644
--- a/profiles/arch/powerpc/ppc64/32ul/package.use.mask
+++ b/profiles/arch/powerpc/ppc64/32ul/package.use.mask
@@ -1,6 +1,10 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+# Thomas Deutschmann <whissi@gentoo.org> (2016-12-04)
+# sci-libs/gdal[mdb] requires dev-java/jackcess which is not keyworded
+>=sci-libs/gdal-2.0.3 mdb
+
 # The appropriate dependencies are already keyworded for 32bit, just not 64bit
 gnome-base/gvfs -bluetooth

diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
index fbc1190..109dfbf 100644
--- a/sci-libs/gdal/Manifest
+++ b/sci-libs/gdal/Manifest
@@ -1,3 +1,4 @@
 DIST gdal-1.11.1.tar.gz 10731242 SHA256 f46b5944a8cabc8516673f231f466131cdfd2cdc6677dbee5d96ec7fc58a3340 SHA512 17214ae17a5199d73477d17cf8680396aee8a28d4333cf55818bdd869548dc6a4d7535d7e05949696db31a7be4a511c5ca73199af3dda48d9a40d5640618e9c3 WHIRLPOOL 1f07ee4acccf58552ddef6b5a306b9dbe832014f6890d353f195ab0d47dfc4e81164b7c8b9cefc9915035d113d2f28818f05e89918728eadb0e80e43e7220b5b
 DIST gdal-1.11.2.tar.gz 10746847 SHA256 66bc8192d24e314a66ed69285186d46e6999beb44fc97eeb9c76d82a117c0845 SHA512 f1f025de5a618cc2458b6d1f066647341ad4ded1cc2a08e4b78756d96d38715ddd8ba34b7c263369bde66cb20c7919195e13b60a1ecadee25ef80db79f3eb7da WHIRLPOOL 77274f6f9b9bb29fc21c6f274512bccebc7748420c31e3e626d26087194f69b9606354603b393b77903451b073d034f2508403193fdf738f5b099d7808771653
 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

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 00000000..ec35018
--- /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-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 00000000..7c35d1c
--- /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 00000000..1e83d55
--- /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.3.ebuild b/sci-libs/gdal/gdal-2.0.3.ebuild
new file mode 100644
index 00000000..09ee953
--- /dev/null
+++ b/sci-libs/gdal/gdal-2.0.3.ebuild
@@ -0,0 +1,291 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 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 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
+
+	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)."
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-12-05 14:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-05 14:16 [gentoo-commits] repo/gentoo:master commit in: profiles/arch/arm/, sci-libs/gdal/files/, profiles/arch/powerpc/ppc64/32ul/, Thomas Deutschmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox