diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-11-03 23:50:29 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-11-03 23:51:01 +0100 |
commit | e9aced03ab6c5b8c5697f02a4f69b6bc68188a60 (patch) | |
tree | d5bc2e1f4642aaa619cb7d1596049b1ba25a3fc0 /sci-libs | |
parent | app-admin/rsyslog: drop old (diff) | |
download | gentoo-e9aced03ab6c5b8c5697f02a4f69b6bc68188a60.tar.gz gentoo-e9aced03ab6c5b8c5697f02a4f69b6bc68188a60.tar.bz2 gentoo-e9aced03ab6c5b8c5697f02a4f69b6bc68188a60.zip |
sci-libs/gdal: Fix build with app-text/poppler-0.69.0
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/gdal/files/gdal-2.3.1-poppler-0.69.0.patch | 301 | ||||
-rw-r--r-- | sci-libs/gdal/gdal-2.3.1.ebuild | 1 |
2 files changed, 302 insertions, 0 deletions
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 000000000000..a89970074b06 --- /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 <even.rouault@spatialys.com> +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 <poppler/OptionalContent.h>' > 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 <poppler/Object.h>' > 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 <poppler/Object.h>' > 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 <poppler/Object.h>' > 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 <poppler/OptionalContent.h>' > 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 <poppler/Object.h>' > 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;i<ocgList->getLength();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;i<ocgList->getLength();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 65af4595613d..317b386da9e5 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() { |