commit:     5f19629e0a9fc0e2ae03382664e72eea71526311
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  4 22:15:58 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Mar  4 22:18:11 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f19629e

app-office/scribus: Fix build with >=app-text/poppler-24.03

Fix is pending upstream:
https://github.com/scribusproject/scribus/pull/177

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

 .../files/scribus-1.6.1-poppler-24.03.patch        | 70 ++++++++++++++++++++++
 app-office/scribus/scribus-1.6.1-r1.ebuild         |  1 +
 2 files changed, 71 insertions(+)

diff --git a/app-office/scribus/files/scribus-1.6.1-poppler-24.03.patch 
b/app-office/scribus/files/scribus-1.6.1-poppler-24.03.patch
new file mode 100644
index 000000000000..076e48e14fd9
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.6.1-poppler-24.03.patch
@@ -0,0 +1,70 @@
+From dc2470990ab73c87fdd60068c99518ced01a3edd Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <ast...@gentoo.org>
+Date: Mon, 4 Mar 2024 17:35:11 +0100
+Subject: [PATCH] Fix build with >=poppler-24.03.0
+
+Fixes build errors caused by:
+
+"Use an enum for Function getType"
+Upstream commit 6e3824d45d42cb806a28a2df84e4ab6bb3587083
+
+Signed-off-by: Andreas Sturmlechner <ast...@gentoo.org>
+---
+ scribus/plugins/import/pdf/slaoutput.cpp | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp 
b/scribus/plugins/import/pdf/slaoutput.cpp
+index 4e31e4b6c..3e4a768ec 100644
+--- a/scribus/plugins/import/pdf/slaoutput.cpp
++++ b/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -1731,7 +1731,11 @@ bool SlaOutputDev::axialShadedFill(GfxState *state, 
GfxAxialShading *shading, do
+       VGradient FillGradient = VGradient(VGradient::linear);
+       FillGradient.clearStops();
+       GfxColorSpace *color_space = shading->getColorSpace();
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 3, 0)
++      if (func->getType() == Function::Type::Stitching)
++#else
+       if (func->getType() == 3)
++#endif
+       {
+               StitchingFunction *stitchingFunc = (StitchingFunction*)func;
+               const double *bounds = stitchingFunc->getBounds();
+@@ -1753,7 +1757,11 @@ bool SlaOutputDev::axialShadedFill(GfxState *state, 
GfxAxialShading *shading, do
+                       FillGradient.addStop( 
ScColorEngine::getShadeColor(m_doc->PageColors[stopColor], m_doc, shade), 
stopPoint, 0.5, 1.0, stopColor, shade );
+               }
+       }
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 3, 0)
++      else if ((func->getType() == Function::Type::Exponential) || 
(func->getType() == Function::Type::Sampled))
++#else
+       else if ((func->getType() == 2) || (func->getType() == 0))
++#endif
+       {
+               GfxColor stop1;
+               shading->getColor(0.0, &stop1);
+@@ -1865,7 +1873,11 @@ bool SlaOutputDev::radialShadedFill(GfxState *state, 
GfxRadialShading *shading,
+       VGradient FillGradient = VGradient(VGradient::linear);
+       FillGradient.clearStops();
+       GfxColorSpace *color_space = shading->getColorSpace();
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 3, 0)
++      if (func->getType() == Function::Type::Stitching)
++#else
+       if (func->getType() == 3)
++#endif
+       {
+               StitchingFunction *stitchingFunc = (StitchingFunction*)func;
+               const double *bounds = stitchingFunc->getBounds();
+@@ -1887,7 +1899,11 @@ bool SlaOutputDev::radialShadedFill(GfxState *state, 
GfxRadialShading *shading,
+                       FillGradient.addStop( 
ScColorEngine::getShadeColor(m_doc->PageColors[stopColor], m_doc, shade), 
stopPoint, 0.5, 1.0, stopColor, shade );
+               }
+       }
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 3, 0)
++      else if ((func->getType() == Function::Type::Exponential) || 
(func->getType() == Function::Type::Sampled))
++#else
+       else if ((func->getType() == 2) || (func->getType() == 0))
++#endif
+       {
+               GfxColor stop1;
+               shading->getColor(0.0, &stop1);
+-- 
+2.44.0
+

diff --git a/app-office/scribus/scribus-1.6.1-r1.ebuild 
b/app-office/scribus/scribus-1.6.1-r1.ebuild
index 3b9230eb12a6..21e17e6ae260 100644
--- a/app-office/scribus/scribus-1.6.1-r1.ebuild
+++ b/app-office/scribus/scribus-1.6.1-r1.ebuild
@@ -77,6 +77,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-1.6.1-findhyphen.patch
        "${FILESDIR}"/${PN}-1.7.0-remove-hello-world-test.patch
        "${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch
+       "${FILESDIR}"/${PN}-1.6.1-poppler-24.03.patch
 )
 
 src_prepare() {

Reply via email to