Hi, this fixes the build with poppler-25.02.0.
ok? Ciao, Kili Index: patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp =================================================================== RCS file: /cvs/ports/graphics/inkscape/patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp,v diff -u -p -r1.1 patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp --- patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp 9 Dec 2024 18:31:39 -0000 1.1 +++ patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp 17 Feb 2025 21:25:59 -0000 @@ -1,11 +1,36 @@ -Fix build with poppler-24.11.0. +Fix build with poppler-24.11.0 and 25.02.0. -From upstream commit 0399372ec240d23e0e70548237a541f2b5bf0f34. +From upstream commits 0399372ec240d23e0e70548237a541f2b5bf0f34 and +5c4c6d116dae5250d75d34a45f0d9220824d2e20. Index: src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp --- src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp.orig +++ src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp -@@ -421,9 +421,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * +@@ -407,35 +407,48 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * + break; + case fontCIDType2: + case fontCIDType2OT: ++#if POPPLER_CHECK_VERSION(25,2,0) ++ if (!gfxcid->getCIDToGID().empty()) { ++ const auto src = gfxcid->getCIDToGID(); ++ codeToGID = std::move(src); ++ } ++#else + if (gfxcid->getCIDToGID()) { + n = gfxcid->getCIDToGIDLen(); + if (n) { +- const int *src = gfxcid->getCIDToGID(); ++ const auto src = gfxcid->getCIDToGID(); + codeToGID.reserve(n); + codeToGID.insert(codeToGID.begin(), src, src + n); + } +- } else { ++ } ++#endif ++ else { + #if POPPLER_CHECK_VERSION(22, 1, 0) + std::unique_ptr<FoFiTrueType> ff; + #else FoFiTrueType *ff; #endif if (!font_data.empty()) { @@ -17,7 +42,26 @@ Index: src/extension/internal/pdfinput/p } if (!ff) { goto err2; -@@ -446,9 +446,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * + } + #if POPPLER_CHECK_VERSION(22, 1, 0) +- int *src = gfxcid->getCodeToGIDMap(ff.get(), &n); ++ auto src = gfxcid->_POPPLER_GET_CODE_TO_GID_MAP(ff.get(), &n); + #else +- int *src = gfxcid->getCodeToGIDMap(ff, &n); ++ auto src = gfxcid->_POPPLER_GET_CODE_TO_GID_MAP(ff, &n); + #endif ++ ++#if POPPLER_CHECK_VERSION(25,2,0) ++ codeToGID = std::move(src); ++#else + codeToGID.reserve(n); + codeToGID.insert(codeToGID.begin(), src, src + n); + gfree(src); ++#endif + } + /* Fall through */ + case fontTrueType: +@@ -446,9 +459,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * FoFiTrueType *ff; #endif if (!font_data.empty()) { @@ -29,7 +73,66 @@ Index: src/extension/internal/pdfinput/p } if (!ff) { error(errSyntaxError, -1, "failed to load truetype font\n"); -@@ -514,9 +514,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * +@@ -457,13 +470,17 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * + /* This might be set already for the CIDType2 case */ + if (fontType == fontTrueType || fontType == fontTrueTypeOT) { + #if POPPLER_CHECK_VERSION(22, 1, 0) +- int *src = gfx8bit->getCodeToGIDMap(ff.get()); ++ auto src = gfx8bit->getCodeToGIDMap(ff.get()); + #else +- int *src = gfx8bit->getCodeToGIDMap(ff); ++ auto src = gfx8bit->getCodeToGIDMap(ff); + #endif ++#if POPPLER_CHECK_VERSION(25,2,0) ++ codeToGID = std::move(src); ++#else + codeToGID.reserve(256); + codeToGID.insert(codeToGID.begin(), src, src + 256); + gfree(src); ++#endif + } + font_face = getFreeTypeFontFace(fontEngine, lib, fileName, std::move(font_data)); + if (!font_face) { +@@ -481,10 +498,14 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * + ff1c = FoFiType1C::load(fileName.c_str()); + } + if (ff1c) { +- int *src = ff1c->getCIDToGIDMap(&n); ++ auto src = ff1c->_POPPLER_GET_CID_TO_GID_MAP(&n); ++#if POPPLER_CHECK_VERSION(25,2,0) ++ codeToGID = std::move(src); ++#else + codeToGID.reserve(n); + codeToGID.insert(codeToGID.begin(), src, src + n); + gfree(src); ++#endif + delete ff1c; + } + } +@@ -497,14 +518,21 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * + break; + + case fontCIDType0COT: ++#if POPPLER_CHECK_VERSION(25,2,0) ++ if (!gfxcid->getCIDToGID().empty()) { ++ const auto src = gfxcid->getCIDToGID(); ++ codeToGID = std::move(src); ++ } ++#else + if (gfxcid->getCIDToGID()) { + n = gfxcid->getCIDToGIDLen(); + if (n) { +- const int *src = gfxcid->getCIDToGID(); ++ const auto src = gfxcid->getCIDToGID(); + codeToGID.reserve(n); + codeToGID.insert(codeToGID.begin(), src, src + n); + } + } ++#endif + + if (codeToGID.empty()) { + if (!useCIDs) { +@@ -514,16 +542,20 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont * FoFiTrueType *ff; #endif if (!font_data.empty()) { @@ -41,3 +144,15 @@ Index: src/extension/internal/pdfinput/p } if (ff) { if (ff->isOpenTypeCFF()) { +- int *src = ff->getCIDToGIDMap(&n); ++ auto src = ff1c->_POPPLER_GET_CID_TO_GID_MAP(&n); ++#if POPPLER_CHECK_VERSION(25,2,0) ++ codeToGID = std::move(src); ++#else + codeToGID.reserve(n); + codeToGID.insert(codeToGID.begin(), src, src + n); + gfree(src); ++#endif + } + } + } Index: patches/patch-src_extension_internal_pdfinput_poppler-transition-api_h =================================================================== RCS file: /cvs/ports/graphics/inkscape/patches/patch-src_extension_internal_pdfinput_poppler-transition-api_h,v diff -u -p -r1.3 patch-src_extension_internal_pdfinput_poppler-transition-api_h --- patches/patch-src_extension_internal_pdfinput_poppler-transition-api_h 30 Oct 2024 08:35:35 -0000 1.3 +++ patches/patch-src_extension_internal_pdfinput_poppler-transition-api_h 17 Feb 2025 21:25:59 -0000 @@ -1,14 +1,23 @@ -Fix build with poppler-24.10.0. +Fix build with poppler-24.10.0 and 25.02.0. -From upstream commit 22304ae8034d067670a9f95022083a75fac92b4c. +From upstream commits 22304ae8034d067670a9f95022083a75fac92b4c and +5c4c6d116dae5250d75d34a45f0d9220824d2e20. Index: src/extension/internal/pdfinput/poppler-transition-api.h --- src/extension/internal/pdfinput/poppler-transition-api.h.orig +++ src/extension/internal/pdfinput/poppler-transition-api.h -@@ -15,6 +15,12 @@ +@@ -15,6 +15,20 @@ #include <glib/poppler-features.h> #include <poppler/UTF.h> ++#if POPPLER_CHECK_VERSION(25,2,0) ++#define _POPPLER_GET_CODE_TO_GID_MAP(ff, len) getCodeToGIDMap(ff) ++#define _POPPLER_GET_CID_TO_GID_MAP(len) getCIDToGIDMap() ++#else ++#define _POPPLER_GET_CODE_TO_GID_MAP(ff, len) getCodeToGIDMap(ff, len) ++#define _POPPLER_GET_CID_TO_GID_MAP(len) getCIDToGIDMap(len) ++#endif ++ +#if POPPLER_CHECK_VERSION(24, 10, 0) +#define _POPPLER_CONSUME_UNIQPTR_ARG(value) std::move(value) +#else