commit:     3c64625a8c6e813629c275875ca92c9dbea19bc6
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 14 18:29:36 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Nov 14 18:42:02 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c64625a

media-gfx/inkscape: Fix build w/ app-text/poppler-24.11.0

See also:
https://gitlab.com/inkscape/inkscape/-/issues/5370

Closes: https://bugs.gentoo.org/943499
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/inkscape-1.4-poppler-24.11.0.patch       | 59 ++++++++++++++++++++++
 media-gfx/inkscape/inkscape-1.4-r1.ebuild          |  1 +
 2 files changed, 60 insertions(+)

diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch 
b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch
new file mode 100644
index 000000000000..fdfe0efa1a7d
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch
@@ -0,0 +1,59 @@
+From 0399372ec240d23e0e70548237a541f2b5bf0f34 Mon Sep 17 00:00:00 2001
+From: KrIr17 <[email protected]>
+Date: Tue, 5 Nov 2024 00:40:15 +0100
+Subject: [PATCH] Fix building with Poppler 24.11
+
+Poppler 24.11 no longer sets the default value for faceIndex to 0 in
+`FoFiTrueType::make()` and `FoFiTrueType::load()` [1], so we do it
+on our end instead.
+
+Fixes https://gitlab.com/inkscape/inkscape/-/issues/5370
+
+[1] 
https://gitlab.freedesktop.org/poppler/poppler/-/commit/94467509a013dd5cf46c942baa598f2b296571f4
+---
+ .../internal/pdfinput/poppler-cairo-font-engine.cpp  | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp 
b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+index 34a8eed682d..728b1d1aac4 100644
+--- a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
++++ b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+@@ -419,9 +419,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont 
*gfxFont, XRef *xref, FT_Li
+                 FoFiTrueType *ff;
+ #endif
+                 if (!font_data.empty()) {
+-                    ff = FoFiTrueType::make((fontchar)font_data.data(), 
font_data.size());
++                    ff = FoFiTrueType::make((fontchar)font_data.data(), 
font_data.size(), 0);
+                 } else {
+-                    ff = FoFiTrueType::load(fileName.c_str());
++                    ff = FoFiTrueType::load(fileName.c_str(), 0);
+                 }
+                 if (!ff) {
+                     goto err2;
+@@ -444,9 +444,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont 
*gfxFont, XRef *xref, FT_Li
+             FoFiTrueType *ff;
+ #endif
+             if (!font_data.empty()) {
+-                ff = FoFiTrueType::make((fontchar)font_data.data(), 
font_data.size());
++                ff = FoFiTrueType::make((fontchar)font_data.data(), 
font_data.size(), 0);
+             } else {
+-                ff = FoFiTrueType::load(fileName.c_str());
++                ff = FoFiTrueType::load(fileName.c_str(), 0);
+             }
+             if (!ff) {
+                 error(errSyntaxError, -1, "failed to load truetype font\n");
+@@ -512,9 +512,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont 
*gfxFont, XRef *xref, FT_Li
+                     FoFiTrueType *ff;
+ #endif
+                     if (!font_data.empty()) {
+-                        ff = FoFiTrueType::make((fontchar)font_data.data(), 
font_data.size());
++                        ff = FoFiTrueType::make((fontchar)font_data.data(), 
font_data.size(), 0);
+                     } else {
+-                        ff = FoFiTrueType::load(fileName.c_str());
++                        ff = FoFiTrueType::load(fileName.c_str(), 0);
+                     }
+                     if (ff) {
+                         if (ff->isOpenTypeCFF()) {
+-- 
+GitLab
+

diff --git a/media-gfx/inkscape/inkscape-1.4-r1.ebuild 
b/media-gfx/inkscape/inkscape-1.4-r1.ebuild
index bef2104ba139..127905e9a0a9 100644
--- a/media-gfx/inkscape/inkscape-1.4-r1.ebuild
+++ b/media-gfx/inkscape/inkscape-1.4-r1.ebuild
@@ -115,6 +115,7 @@ DEPEND="${COMMON_DEPEND}
 PATCHES=(
        "${FILESDIR}"/${PN}-1.4-gcc15.patch
        "${FILESDIR}"/${PN}-1.4-poppler-24.10-fix-backport.patch
+       "${FILESDIR}"/${P}-poppler-24.11.0.patch # bug 943499
 )
 
 pkg_pretend() {

Reply via email to