commit:     42408740bdee4a748d99d26f13e5d0b9ca717e33
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  6 18:32:09 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=42408740

app-office/scribus: Fix build w/ IUSE doc

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

 ...scribus-1.7.1_pre20250929-poppler-25.10.0.patch | 111 +++++++++++++++++++++
 .../scribus/scribus-1.7.1_pre20250929.ebuild       |   1 +
 2 files changed, 112 insertions(+)

diff --git 
a/app-office/scribus/files/scribus-1.7.1_pre20250929-poppler-25.10.0.patch 
b/app-office/scribus/files/scribus-1.7.1_pre20250929-poppler-25.10.0.patch
new file mode 100644
index 000000000000..8abe7b029ede
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.7.1_pre20250929-poppler-25.10.0.patch
@@ -0,0 +1,111 @@
+Index: Scribus/scribus/plugins/import/pdf/importpdf.cpp
+===================================================================
+--- Scribus/scribus/plugins/import/pdf/importpdf.cpp   (revision 27039)
++++ Scribus/scribus/plugins/import/pdf/importpdf.cpp   (revision 27042)
+@@ -874,6 +874,44 @@
+ 
+ QString PdfPlug::UnicodeParsedString(const GooString *s1)
+ {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 10, 0)
++      if (!s1 || s1->size() == 0)
++              return QString();
++      bool isUnicode;
++      int i;
++      Unicode u;
++      QString result;
++      if ((s1->getChar(0) & 0xff) == 0xfe && (s1->size() > 1 && 
(s1->getChar(1) & 0xff) == 0xff))
++      {
++              isUnicode = true;
++              i = 2;
++              result.reserve((s1->size() - 2) / 2);
++      }
++      else
++      {
++              isUnicode = false;
++              i = 0;
++              result.reserve(s1->size());
++      }
++      while (i < s1->size())
++      {
++              if (isUnicode)
++              {
++                      u = ((s1->getChar(i) & 0xff) << 8) | (s1->getChar(i + 
1) & 0xff);
++                      i += 2;
++              }
++              else
++              {
++                      u = s1->getChar(i) & 0xff;
++                      ++i;
++              }
++              // #15616: imagemagick may write unicode strings incorrectly in 
PDF
++              if (u == 0)
++                      continue;
++              result += QChar(u);
++      }
++      return result;
++#else
+       if (!s1 || s1->getLength() == 0)
+               return QString();
+       bool isUnicode;
+@@ -910,6 +948,7 @@
+               result += QChar( u );
+       }
+       return result;
++#endif
+ }
+ 
+ QString PdfPlug::UnicodeParsedString(const std::string& s1)
+Index: Scribus/scribus/plugins/import/pdf/slaoutput.cpp
+===================================================================
+--- Scribus/scribus/plugins/import/pdf/slaoutput.cpp   (revision 27039)
++++ Scribus/scribus/plugins/import/pdf/slaoutput.cpp   (revision 27042)
+@@ -3883,6 +3883,41 @@
+ 
+ QString SlaOutputDev::UnicodeParsedString(const GooString *s1) const
+ {
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 10, 0)
++      if (!s1 || s1->size() == 0)
++              return QString();
++      bool isUnicode;
++      int i;
++      Unicode u;
++      QString result;
++      if ((s1->getChar(0) & 0xff) == 0xfe && (s1->size() > 1 && 
(s1->getChar(1) & 0xff) == 0xff))
++      {
++              isUnicode = true;
++              i = 2;
++              result.reserve((s1->size() - 2) / 2);
++      }
++      else
++      {
++              isUnicode = false;
++              i = 0;
++              result.reserve(s1->size());
++      }
++      while (i < s1->size())
++      {
++              if (isUnicode)
++              {
++                      u = ((s1->getChar(i) & 0xff) << 8) | (s1->getChar(i + 
1) & 0xff);
++                      i += 2;
++              }
++              else
++              {
++                      u = s1->getChar(i) & 0xff;
++                      ++i;
++              }
++              result += QChar(u);
++      }
++      return result;
++#else
+       if (!s1 || s1->getLength() == 0)
+               return QString();
+       bool isUnicode;
+@@ -3916,6 +3951,7 @@
+               result += QChar( u );
+       }
+       return result;
++#endif
+ }
+ 
+ QString SlaOutputDev::UnicodeParsedString(const std::string& s1) const

diff --git a/app-office/scribus/scribus-1.7.1_pre20250929.ebuild 
b/app-office/scribus/scribus-1.7.1_pre20250929.ebuild
index ab505d3c8bbf..3b0c7ddf4325 100644
--- a/app-office/scribus/scribus-1.7.1_pre20250929.ebuild
+++ b/app-office/scribus/scribus-1.7.1_pre20250929.ebuild
@@ -85,6 +85,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-1.7.0-findhyphen.patch
        "${FILESDIR}"/${PN}-1.7.0-dont-install-qtadvanceddocking.patch # bugs 
961290, 960017
        "${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch
+       "${FILESDIR}"/${P}-poppler-25.10.0.patch # from trunk
 )
 
 src_prepare() {

Reply via email to