From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5827A138334 for ; Sat, 3 Nov 2018 22:51:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E696FE0A6B; Sat, 3 Nov 2018 22:51:17 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A7A01E0A6B for ; Sat, 3 Nov 2018 22:51:17 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 11548335C29 for ; Sat, 3 Nov 2018 22:51:16 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BD9AE449 for ; Sat, 3 Nov 2018 22:51:13 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1541285461.e9aced03ab6c5b8c5697f02a4f69b6bc68188a60.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/gdal/, sci-libs/gdal/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-libs/gdal/files/gdal-2.3.1-poppler-0.69.0.patch sci-libs/gdal/gdal-2.3.1.ebuild X-VCS-Directories: sci-libs/gdal/files/ sci-libs/gdal/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: e9aced03ab6c5b8c5697f02a4f69b6bc68188a60 X-VCS-Branch: master Date: Sat, 3 Nov 2018 22:51:13 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 485893fb-4b75-43ec-b24f-777b0da709a8 X-Archives-Hash: 5ca3584a1866e3314704e2351b8de8b2 commit: e9aced03ab6c5b8c5697f02a4f69b6bc68188a60 Author: Andreas Sturmlechner gentoo org> AuthorDate: Sat Nov 3 22:50:29 2018 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Sat Nov 3 22:51:01 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9aced03 sci-libs/gdal: Fix build with app-text/poppler-0.69.0 Signed-off-by: Andreas Sturmlechner gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11 .../gdal/files/gdal-2.3.1-poppler-0.69.0.patch | 301 +++++++++++++++++++++ sci-libs/gdal/gdal-2.3.1.ebuild | 1 + 2 files changed, 302 insertions(+) diff --git a/sci-libs/gdal/files/gdal-2.3.1-poppler-0.69.0.patch b/sci-libs/gdal/files/gdal-2.3.1-poppler-0.69.0.patch new file mode 100644 index 00000000000..a89970074b0 --- /dev/null +++ b/sci-libs/gdal/files/gdal-2.3.1-poppler-0.69.0.patch @@ -0,0 +1,301 @@ +From 0c0b9ea5a5d6bbef938de8a77c5b00cb228b902d 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) + +--- + GDALmake.opt.in | 1 + + configure | 61 ++++++++++++++++++++++++++--------- + configure.ac | 56 +++++++++++++++++++++++--------- + frmts/pdf/GNUmakefile | 4 +++ + frmts/pdf/makefile.vc | 6 +++- + frmts/pdf/pdfdataset.cpp | 12 +++++++ + nmake.opt | 2 ++ + 7 files changed, 111 insertions(+), 31 deletions(-) + +diff --git a/GDALmake.opt.in b/GDALmake.opt.in +index 30749ae982a..f9ab41fd124 100644 +--- a/GDALmake.opt.in ++++ b/GDALmake.opt.in +@@ -481,6 +481,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/configure b/configure +index 050bc79ac97..a8472ba8c2d 100755 +--- a/configure ++++ b/configure +@@ -669,6 +669,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 +@@ -34798,6 +34799,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; } +@@ -34840,24 +34842,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 +@@ -34962,6 +34991,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/configure.ac b/configure.ac +index 4b8ab911cec..0c588e04f03 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4496,6 +4496,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]) + +@@ -4536,21 +4537,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 +@@ -4635,6 +4660,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/frmts/pdf/GNUmakefile b/frmts/pdf/GNUmakefile +index 2c332d2798f..6a267f529b2 100644 +--- a/frmts/pdf/GNUmakefile ++++ b/frmts/pdf/GNUmakefile +@@ -34,6 +34,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/frmts/pdf/makefile.vc b/frmts/pdf/makefile.vc +index b4fa14d0a18..ad76d3de70c 100644 +--- a/frmts/pdf/makefile.vc ++++ b/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/frmts/pdf/pdfdataset.cpp b/frmts/pdf/pdfdataset.cpp +index ee89fd07564..1a56f57ee06 100644 +--- a/frmts/pdf/pdfdataset.cpp ++++ b/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/nmake.opt b/nmake.opt +index 682d766d93e..1eb049038c8 100644 +--- a/nmake.opt ++++ b/nmake.opt +@@ -639,6 +639,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 +@@ -646,6 +647,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 diff --git a/sci-libs/gdal/gdal-2.3.1.ebuild b/sci-libs/gdal/gdal-2.3.1.ebuild index 65af4595613..317b386da9e 100644 --- a/sci-libs/gdal/gdal-2.3.1.ebuild +++ b/sci-libs/gdal/gdal-2.3.1.ebuild @@ -82,6 +82,7 @@ PATCHES=( "${FILESDIR}/${PN}-2.2.3-soname.patch" "${FILESDIR}/${PN}-2.2.3-bashcomp-path.patch" # bug 641866 "${FILESDIR}/${PN}-2.3.0-curl.patch" # bug 659840 + "${FILESDIR}/${PN}-2.3.1-poppler-0.69.0.patch" ) src_prepare() {