commit:     bf9a55a0b2aa54536d72952938f14161b90fb4f1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  6 17:20:39 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct  6 18:36:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf9a55a0

sci-libs/gdal: Fix build w/ app-text/poppler-25.10.0

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../gdal/files/gdal-3.11.4-poppler-25.10.patch     | 42 ++++++++++++++++++++++
 sci-libs/gdal/gdal-3.11.4.ebuild                   |  4 +++
 2 files changed, 46 insertions(+)

diff --git a/sci-libs/gdal/files/gdal-3.11.4-poppler-25.10.patch 
b/sci-libs/gdal/files/gdal-3.11.4-poppler-25.10.patch
new file mode 100644
index 000000000000..6e46949209ca
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.11.4-poppler-25.10.patch
@@ -0,0 +1,42 @@
+From a716a6cd5ffd779b30950f046fce91878fc97b9d Mon Sep 17 00:00:00 2001
+From: Even Rouault <[email protected]>
+Date: Sun, 5 Oct 2025 00:50:51 +0200
+Subject: [PATCH] Add compatibility with Poppler 25.10 (support for older
+ versions kept)
+
+Fixes #13173
+---
+ frmts/pdf/pdfobject.cpp | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/frmts/pdf/pdfobject.cpp b/frmts/pdf/pdfobject.cpp
+index d8ded01d3e4b..2c5c44ba04d9 100644
+--- a/frmts/pdf/pdfobject.cpp
++++ b/frmts/pdf/pdfobject.cpp
+@@ -1437,7 +1437,12 @@ int64_t GDALPDFStreamPoppler::GetLength(int64_t 
nMaxSize)
+ 
+ static char *GooStringToCharStart(GooString &gstr)
+ {
+-    auto nLength = gstr.getLength();
++#if POPPLER_MAJOR_VERSION > 25 ||                                             
 \
++    (POPPLER_MAJOR_VERSION == 25 && POPPLER_MINOR_VERSION >= 10)
++    const auto nLength = gstr.size();
++#else
++    const auto nLength = gstr.getLength();
++#endif
+     if (nLength)
+     {
+         char *pszContent = static_cast<char *>(VSI_MALLOC_VERBOSE(nLength + 
1));
+@@ -1514,7 +1519,12 @@ char *GDALPDFStreamPoppler::GetRawBytes()
+                  "GDALPDFStreamPoppler::GetRawBytes(): %s", e.what());
+         return nullptr;
+     }
++#if POPPLER_MAJOR_VERSION > 25 ||                                             
 \
++    (POPPLER_MAJOR_VERSION == 25 && POPPLER_MINOR_VERSION >= 10)
++    m_nRawLength = gstr.size();
++#else
+     m_nRawLength = gstr.getLength();
++#endif
+     return GooStringToCharStart(gstr);
+ }
+ 

diff --git a/sci-libs/gdal/gdal-3.11.4.ebuild b/sci-libs/gdal/gdal-3.11.4.ebuild
index 877e5f395937..d347a71a7942 100644
--- a/sci-libs/gdal/gdal-3.11.4.ebuild
+++ b/sci-libs/gdal/gdal-3.11.4.ebuild
@@ -141,6 +141,10 @@ EPYTEST_RERUNS=5
 EPYTEST_XDIST=1
 # distutils_enable_tests unconditionally touches BDEPEND
 
+PATCHES=(
+       "${FILESDIR}"/${P}-poppler-25.10.patch
+)
+
 pkg_setup() {
        use java && java-pkg-opt-2_pkg_setup
 }

Reply via email to