From 7d2b296fa3b44ecca9314d3cc4c4a66354a3ce53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Sat, 22 Dec 2018 15:02:28 +0100 Subject: [PATCH] libgdal: update to 2.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jürgen Buchmüller --- srcpkgs/libgdal/patches/poppler-069.patch | 353 ---------------------- srcpkgs/libgdal/template | 6 +- 2 files changed, 3 insertions(+), 356 deletions(-) delete mode 100644 srcpkgs/libgdal/patches/poppler-069.patch diff --git a/srcpkgs/libgdal/patches/poppler-069.patch b/srcpkgs/libgdal/patches/poppler-069.patch deleted file mode 100644 index 683175439b..0000000000 --- a/srcpkgs/libgdal/patches/poppler-069.patch +++ /dev/null @@ -1,353 +0,0 @@ -From 69e07012533b8393edd8b9ec4da6d239d204858a Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Fri, 12 Oct 2018 19:02:40 +0200 -Subject: [PATCH] Add support for Poppler 0.69 (fixes #1004) - ---- - gdal/GDALmake.opt.in | 1 + - gdal/configure | 61 ++++++++++++++++++++++++++--------- - gdal/configure.ac | 56 +++++++++++++++++++++++--------- - gdal/frmts/pdf/GNUmakefile | 4 +++ - gdal/frmts/pdf/makefile.vc | 6 +++- - gdal/frmts/pdf/pdfdataset.cpp | 12 +++++++ - gdal/nmake.opt | 2 ++ - 7 files changed, 111 insertions(+), 31 deletions(-) - -diff --git a/gdal/GDALmake.opt.in b/gdal/GDALmake.opt.in -index c3b5b34f92b..eaf005e5a14 100644 ---- GDALmake.opt.in -+++ GDALmake.opt.in -@@ -473,6 +473,7 @@ POPPLER_BASE_STREAM_HAS_TWO_ARGS = @POPPLER_BASE_STREAM_HAS_TWO_ARGS@ - POPPLER_0_20_OR_LATER = @POPPLER_0_20_OR_LATER@ - POPPLER_0_23_OR_LATER = @POPPLER_0_23_OR_LATER@ - POPPLER_0_58_OR_LATER = @POPPLER_0_58_OR_LATER@ -+POPPLER_0_69_OR_LATER = @POPPLER_0_69_OR_LATER@ - POPPLER_INC = @POPPLER_INC@ - POPPLER_PLUGIN_LIB = @POPPLER_PLUGIN_LIB@ - -diff --git a/gdal/configure b/gdal/configure -index 1cc161303e4..fac9096939f 100755 ---- configure -+++ configure -@@ -664,6 +664,7 @@ PODOFO_INC - HAVE_PODOFO - POPPLER_PLUGIN_LIB - POPPLER_INC -+POPPLER_0_69_OR_LATER - POPPLER_0_58_OR_LATER - POPPLER_0_23_OR_LATER - POPPLER_0_20_OR_LATER -@@ -34386,6 +34387,7 @@ POPPLER_BASE_STREAM_HAS_TWO_ARGS=no - POPPLER_0_20_OR_LATER=no - POPPLER_0_23_OR_LATER=no - POPPLER_0_58_OR_LATER=no -+POPPLER_0_69_OR_LATER=no - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for poppler" >&5 - $as_echo_n "checking for poppler... " >&6; } -@@ -34428,24 +34430,51 @@ $as_echo "yes" >&6; } - - CHECK_OTHER_POPPLER_VERSION=yes - -- # And now we check if we have Poppler >= 0.58.0 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Object does have new API (>= 0.58.0)" >&5 -+ if test "$CHECK_OTHER_POPPLER_VERSION" = "yes"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OptionalContent has API >= 0.69.0" >&5 -+$as_echo_n "checking if OptionalContent has API >= 0.69.0... " >&6; } -+ rm -f testpoppler.* -+ echo '#include ' > testpoppler.cpp -+ echo 'int main(int argc, char** argv) {' >> testpoppler.cpp -+ echo 'OCGs ocg(nullptr, nullptr);' >> testpoppler.cpp -+ echo 'ocg.getOCGs().size();' >> testpoppler.cpp -+ echo 'return 0; }' >> testpoppler.cpp -+ if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then -+ POPPLER_0_69_OR_LATER=yes -+ POPPLER_0_58_OR_LATER=yes -+ POPPLER_0_23_OR_LATER=yes -+ POPPLER_0_20_OR_LATER=yes -+ POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes -+ POPPLER_HAS_OPTCONTENT=yes -+ CHECK_OTHER_POPPLER_VERSION=no -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+ fi -+ fi -+ -+ if test "$CHECK_OTHER_POPPLER_VERSION" = "yes"; then -+ # And now we check if we have Poppler >= 0.58.0 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Object does have new API (>= 0.58.0)" >&5 - $as_echo_n "checking if Object does have new API (>= 0.58.0)... " >&6; } -- rm -f testpoppler.* -- echo '#include ' > testpoppler.cpp -- echo 'int main(int argc, char** argv) { Object o(objNull); return 0; }' >> testpoppler.cpp -- if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then -- POPPLER_0_58_OR_LATER=yes -- POPPLER_0_23_OR_LATER=yes -- POPPLER_0_20_OR_LATER=yes -- POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes -- POPPLER_HAS_OPTCONTENT=yes -- CHECK_OTHER_POPPLER_VERSION=no -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ rm -f testpoppler.* -+ echo '#include ' > testpoppler.cpp -+ echo 'int main(int argc, char** argv) { Object o(objNull); return 0; }' >> testpoppler.cpp -+ if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then -+ POPPLER_0_58_OR_LATER=yes -+ POPPLER_0_23_OR_LATER=yes -+ POPPLER_0_20_OR_LATER=yes -+ POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes -+ POPPLER_HAS_OPTCONTENT=yes -+ CHECK_OTHER_POPPLER_VERSION=no -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } -+ fi - fi - - if test "$CHECK_OTHER_POPPLER_VERSION" = "yes"; then -@@ -34550,6 +34579,8 @@ POPPLER_0_23_OR_LATER=$POPPLER_0_23_OR_LATER - - POPPLER_0_58_OR_LATER=$POPPLER_0_58_OR_LATER - -+POPPLER_0_69_OR_LATER=$POPPLER_0_69_OR_LATER -+ - POPPLER_INC=$POPPLER_INC - - POPPLER_PLUGIN_LIB=$POPPLER_PLUGIN_LIB -diff --git a/gdal/configure.ac b/gdal/configure.ac -index 857f7fdb445..b6e59020c5b 100644 ---- configure.ac -+++ configure.ac -@@ -4446,6 +4446,7 @@ POPPLER_BASE_STREAM_HAS_TWO_ARGS=no - POPPLER_0_20_OR_LATER=no - POPPLER_0_23_OR_LATER=no - POPPLER_0_58_OR_LATER=no -+POPPLER_0_69_OR_LATER=no - - AC_MSG_CHECKING([for poppler]) - -@@ -4486,21 +4487,45 @@ if test "$with_poppler" != "no" -a "$with_poppler" != ""; then - - CHECK_OTHER_POPPLER_VERSION=yes - -- # And now we check if we have Poppler >= 0.58.0 -- AC_MSG_CHECKING([if Object does have new API (>= 0.58.0)]) -- rm -f testpoppler.* -- echo '#include ' > testpoppler.cpp -- echo 'int main(int argc, char** argv) { Object o(objNull); return 0; }' >> testpoppler.cpp -- if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then -- POPPLER_0_58_OR_LATER=yes -- POPPLER_0_23_OR_LATER=yes -- POPPLER_0_20_OR_LATER=yes -- POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes -- POPPLER_HAS_OPTCONTENT=yes -- CHECK_OTHER_POPPLER_VERSION=no -- AC_MSG_RESULT([yes]) -- else -- AC_MSG_RESULT([no]) -+ if test "$CHECK_OTHER_POPPLER_VERSION" = "yes"; then -+ AC_MSG_CHECKING([if OptionalContent has API >= 0.69.0]) -+ rm -f testpoppler.* -+ echo '#include ' > testpoppler.cpp -+ echo 'int main(int argc, char** argv) {' >> testpoppler.cpp -+ echo 'OCGs ocg(nullptr, nullptr);' >> testpoppler.cpp -+ echo 'ocg.getOCGs().size();' >> testpoppler.cpp -+ echo 'return 0; }' >> testpoppler.cpp -+ if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then -+ POPPLER_0_69_OR_LATER=yes -+ POPPLER_0_58_OR_LATER=yes -+ POPPLER_0_23_OR_LATER=yes -+ POPPLER_0_20_OR_LATER=yes -+ POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes -+ POPPLER_HAS_OPTCONTENT=yes -+ CHECK_OTHER_POPPLER_VERSION=no -+ AC_MSG_RESULT([yes]) -+ else -+ AC_MSG_RESULT([no]) -+ fi -+ fi -+ -+ if test "$CHECK_OTHER_POPPLER_VERSION" = "yes"; then -+ # And now we check if we have Poppler >= 0.58.0 -+ AC_MSG_CHECKING([if Object does have new API (>= 0.58.0)]) -+ rm -f testpoppler.* -+ echo '#include ' > testpoppler.cpp -+ echo 'int main(int argc, char** argv) { Object o(objNull); return 0; }' >> testpoppler.cpp -+ if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testpoppler.cpp -c ${POPPLER_INC} 2>&1`" ; then -+ POPPLER_0_58_OR_LATER=yes -+ POPPLER_0_23_OR_LATER=yes -+ POPPLER_0_20_OR_LATER=yes -+ POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes -+ POPPLER_HAS_OPTCONTENT=yes -+ CHECK_OTHER_POPPLER_VERSION=no -+ AC_MSG_RESULT([yes]) -+ else -+ AC_MSG_RESULT([no]) -+ fi - fi - - if test "$CHECK_OTHER_POPPLER_VERSION" = "yes"; then -@@ -4585,6 +4610,7 @@ AC_SUBST(POPPLER_BASE_STREAM_HAS_TWO_ARGS, $POPPLER_BASE_STREAM_HAS_TWO_ARGS) - AC_SUBST(POPPLER_0_20_OR_LATER, $POPPLER_0_20_OR_LATER) - AC_SUBST(POPPLER_0_23_OR_LATER, $POPPLER_0_23_OR_LATER) - AC_SUBST(POPPLER_0_58_OR_LATER, $POPPLER_0_58_OR_LATER) -+AC_SUBST(POPPLER_0_69_OR_LATER, $POPPLER_0_69_OR_LATER) - AC_SUBST(POPPLER_INC, $POPPLER_INC) - AC_SUBST(POPPLER_PLUGIN_LIB, $POPPLER_PLUGIN_LIB) - -diff --git a/gdal/frmts/pdf/GNUmakefile b/gdal/frmts/pdf/GNUmakefile -index 2014070eac7..618072f05d3 100644 ---- frmts/pdf/GNUmakefile -+++ frmts/pdf/GNUmakefile -@@ -35,6 +35,10 @@ ifeq ($(POPPLER_0_58_OR_LATER),yes) - CPPFLAGS += -DPOPPLER_0_58_OR_LATER - endif - -+ifeq ($(POPPLER_0_69_OR_LATER),yes) -+CPPFLAGS += -DPOPPLER_0_69_OR_LATER -+endif -+ - ifeq ($(HAVE_PODOFO),yes) - CPPFLAGS += -DHAVE_PODOFO - endif -diff --git a/gdal/frmts/pdf/makefile.vc b/gdal/frmts/pdf/makefile.vc -index b4fa14d0a18..ad76d3de70c 100644 ---- frmts/pdf/makefile.vc -+++ frmts/pdf/makefile.vc -@@ -14,7 +14,7 @@ OBJ = $(OBJ) ..\..\ogr\ogrsf_frmts\mem\ogrmemdatasource.obj ..\..\ogr\ogrsf_frmt - EXTRAFLAGS = -I..\vrt -I..\mem -I..\..\ogr\ogrsf_frmts\mem $(POPPLER_EXTRAFLAGS) $(PODOFO_EXTRAFLAGS) $(PDFIUM_EXTRAFLAGS) - - !IFDEF POPPLER_ENABLED --POPPLER_EXTRAFLAGS = $(POPPLER_CFLAGS) $(POPPLER_HAS_OPTCONTENT_FLAGS) $(POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS) $(POPPLER_0_20_OR_LATER_FLAGS) $(POPPLER_0_23_OR_LATER_FLAGS) $(POPPLER_0_58_OR_LATER_FLAGS) -DHAVE_POPPLER -+POPPLER_EXTRAFLAGS = $(POPPLER_CFLAGS) $(POPPLER_HAS_OPTCONTENT_FLAGS) $(POPPLER_BASE_STREAM_HAS_TWO_ARGS_FLAGS) $(POPPLER_0_20_OR_LATER_FLAGS) $(POPPLER_0_23_OR_LATER_FLAGS) $(POPPLER_0_58_OR_LATER_FLAGS) $(POPPLER_0_69_OR_LATER_FLAGS) -DHAVE_POPPLER - - !IFDEF POPPLER_HAS_OPTCONTENT - POPPLER_HAS_OPTCONTENT_FLAGS = -DPOPPLER_HAS_OPTCONTENT -@@ -36,6 +36,10 @@ POPPLER_0_23_OR_LATER_FLAGS = -DPOPPLER_0_23_OR_LATER - POPPLER_0_58_OR_LATER_FLAGS = -DPOPPLER_0_58_OR_LATER - !ENDIF - -+!IFDEF POPPLER_0_69_OR_LATER -+POPPLER_0_69_OR_LATER_FLAGS = -DPOPPLER_0_69_OR_LATER -+!ENDIF -+ - !ENDIF - - !IFDEF PODOFO_ENABLED -diff --git a/gdal/frmts/pdf/pdfdataset.cpp b/gdal/frmts/pdf/pdfdataset.cpp -index ee89fd07564..1a56f57ee06 100644 ---- frmts/pdf/pdfdataset.cpp -+++ frmts/pdf/pdfdataset.cpp -@@ -3440,10 +3440,16 @@ void PDFDataset::FindLayersPoppler() - } - else - { -+#ifdef POPPLER_0_69_OR_LATER -+ for( const auto& refOCGPair: optContentConfig->getOCGs() ) -+ { -+ auto ocg = refOCGPair.second.get(); -+#else - GooList* ocgList = optContentConfig->getOCGs(); - for(int i=0;igetLength();i++) - { - OptionalContentGroup* ocg = (OptionalContentGroup*) ocgList->get(i); -+#endif - if( ocg != nullptr && ocg->getName() != nullptr ) - { - const char* pszLayerName = (const char*)ocg->getName()->getCString(); -@@ -3472,10 +3478,16 @@ void PDFDataset::TurnLayersOnOffPoppler() - { - int i; - int bAll = EQUAL(pszLayers, "ALL"); -+#ifdef POPPLER_0_69_OR_LATER -+ for( const auto& refOCGPair: optContentConfig->getOCGs() ) -+ { -+ auto ocg = refOCGPair.second.get(); -+#else - GooList* ocgList = optContentConfig->getOCGs(); - for(i=0;igetLength();i++) - { - OptionalContentGroup* ocg = (OptionalContentGroup*) ocgList->get(i); -+#endif - ocg->setState( (bAll) ? OptionalContentGroup::On : OptionalContentGroup::Off ); - } - -diff --git a/gdal/nmake.opt b/gdal/nmake.opt -index a3b88583425..c9ca28d3cd9 100644 ---- nmake.opt -+++ nmake.opt -@@ -632,6 +632,7 @@ OCI_INCLUDE = -I$(ORACLE_HOME)\oci\include - # Uncomment POPPLER_0_20_OR_LATER = YES for Poppler >= 0.20.0 - # Uncomment POPPLER_0_23_OR_LATER = YES for Poppler >= 0.23.0 - # Uncomment POPPLER_0_58_OR_LATER = YES for Poppler >= 0.58.0 -+# Uncomment POPPLER_0_69_OR_LATER = YES for Poppler >= 0.69.0 - #POPPLER_ENABLED = YES - #POPPLER_CFLAGS = -Ie:/kde/include -Ie:/kde/include/poppler - #POPPLER_HAS_OPTCONTENT = YES -@@ -639,6 +640,7 @@ OCI_INCLUDE = -I$(ORACLE_HOME)\oci\include - #POPPLER_0_20_OR_LATER = YES - #POPPLER_0_23_OR_LATER = YES - #POPPLER_0_58_OR_LATER = YES -+#POPPLER_0_69_OR_LATER = YES - #POPPLER_LIBS = e:/kde/lib/poppler.lib e:/kde/lib/freetype.lib e:/kde/lib/liblcms-1.lib advapi32.lib gdi32.lib - - # Uncomment for PDF support - ---- frmts/pdf/pdfdataset.cpp.orig 2018-11-08 20:25:24.398021193 +0100 -+++ frmts/pdf/pdfdataset.cpp 2018-11-08 20:35:15.305346284 +0100 -@@ -2599,7 +2599,7 @@ - #else - int nPos, - #endif -- char *pszMsg) -+ const char *pszMsg) - { - CPLString osError; - -@@ -4442,7 +4442,7 @@ - #ifdef HAVE_POPPLER - if (bUseLib.test(PDFLIB_POPPLER)) - { -- PDFRectangle* psMediaBox = poPagePoppler->getMediaBox(); -+ const PDFRectangle* psMediaBox = poPagePoppler->getMediaBox(); - dfX1 = psMediaBox->x1; - dfY1 = psMediaBox->y1; - dfX2 = psMediaBox->x2; -@@ -4454,7 +4454,7 @@ - if (bUseLib.test(PDFLIB_PODOFO)) - { - CPLAssert(poPagePodofo); -- PoDoFo::PdfRect oMediaBox = poPagePodofo->GetMediaBox(); -+ const PoDoFo::PdfRect oMediaBox = poPagePodofo->GetMediaBox(); - dfX1 = oMediaBox.GetLeft(); - dfY1 = oMediaBox.GetBottom(); - dfX2 = dfX1 + oMediaBox.GetWidth(); -@@ -4780,7 +4780,7 @@ - GooString* poMetadata = poCatalogPoppler->readMetadata(); - if (poMetadata) - { -- char* pszContent = poMetadata->getCString(); -+ const char* pszContent = poMetadata->getCString(); - if (pszContent != nullptr && - STARTS_WITH(pszContent, "SetMetadata(apszMDList, "xml:XMP"); -+ poDS->SetMetadata((char **) apszMDList, "xml:XMP"); - } - delete poMetadata; - } diff --git a/srcpkgs/libgdal/template b/srcpkgs/libgdal/template index ed754273ab..95683ba5e4 100644 --- a/srcpkgs/libgdal/template +++ b/srcpkgs/libgdal/template @@ -1,7 +1,7 @@ # Template file for 'libgdal' pkgname=libgdal -version=2.3.2 -revision=6 +version=2.4.0 +revision=1 wrksrc="gdal-${version}" build_style=gnu-configure configure_args="--with-liblzma --with-poppler" @@ -14,7 +14,7 @@ maintainer="Jürgen Buchmüller " license="MIT" homepage="http://www.gdal.org/" distfiles="http://download.osgeo.org/gdal/${version}/gdal-${version}.tar.xz" -checksum=3f6d78fe8807d1d6afb7bed27394f19467840a82bc36d65e66316fa0aa9d32a4 +checksum=c3791dcc6d37e59f6efa86e2df2a55a4485237b0a48e330ae08949f0cdf00f27 subpackages="libgdal-devel libgdal-tools" pre_build() {