commit:     5f490d3e5588fb52ccf6fd5ccc57630be75dc1e4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 10 23:18:46 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 10 23:18:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f490d3e

sci-libs/gdal: fix build with Poppler 22.01.0 (build with C++ 17)

Closes: https://bugs.gentoo.org/830883
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/gdal-3.4.1-poppler-22.01.0-c++17.patch   | 23 ++++++++++++++++++++++
 sci-libs/gdal/gdal-3.4.1.ebuild                    |  1 +
 2 files changed, 24 insertions(+)

diff --git a/sci-libs/gdal/files/gdal-3.4.1-poppler-22.01.0-c++17.patch 
b/sci-libs/gdal/files/gdal-3.4.1-poppler-22.01.0-c++17.patch
new file mode 100644
index 000000000000..dac3bd3776d9
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.4.1-poppler-22.01.0-c++17.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/830883
+https://github.com/OSGeo/gdal/commit/3f528f2b5f9244698c89d31b74155765538ef362
+
+From: Even Rouault <[email protected]>
+Date: Sat, 8 Jan 2022 14:25:09 +0100
+Subject: [PATCH] frmts/pdf/GNUmakefile: force c++17 with Poppler > 21 (fixes
+ #5071)
+
+--- a/frmts/pdf/GNUmakefile
++++ b/frmts/pdf/GNUmakefile
+@@ -11,6 +11,12 @@ LD_SHARED = $(LD) -bundle
+ endif
+ 
+ ifeq ($(HAVE_POPPLER),yes)
++# Poppler 2022.1 requires c++17
++ifeq ($(shell test $(POPPLER_MAJOR_VERSION) -gt 21; echo $$?),0)
++CXX := $(subst -std=c++11,,${CXX})
++CXX := $(subst -std=c++14,,${CXX})
++CXX := ${CXX} -std=c++17
++endif
+ CPPFLAGS +=  -DHAVE_POPPLER -DPOPPLER_MAJOR_VERSION=$(POPPLER_MAJOR_VERSION) 
-DPOPPLER_MINOR_VERSION=$(POPPLER_MINOR_VERSION)
+ endif
+ 

diff --git a/sci-libs/gdal/gdal-3.4.1.ebuild b/sci-libs/gdal/gdal-3.4.1.ebuild
index 4967e5533a3b..56d451eed723 100644
--- a/sci-libs/gdal/gdal-3.4.1.ebuild
+++ b/sci-libs/gdal/gdal-3.4.1.ebuild
@@ -91,6 +91,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-2.2.3-soname.patch"
        "${FILESDIR}/${PN}-2.3.0-curl.patch" # bug 659840
        "${FILESDIR}/${PN}-3.3.0-libdir.patch"
+       "${FILESDIR}/${P}-poppler-22.01.0-c++17.patch"
 )
 
 src_prepare() {

Reply via email to