commit:     ce37aaa2937579556ca7c7b286ed5fc458508ded
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Sun Feb 15 23:12:47 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 00:18:11 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce37aaa2

app-office/dia: fix pdf-import w/ poppler-26.02

Closes: https://bugs.gentoo.org/970103
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/67
Merges: https://codeberg.org/gentoo/gentoo/pulls/67
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-office/dia/dia-0.98_pre20250913.ebuild         |  1 +
 .../dia/files/dia-0.98-fix_poppler_2602.patch      | 26 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/app-office/dia/dia-0.98_pre20250913.ebuild 
b/app-office/dia/dia-0.98_pre20250913.ebuild
index c27958ec1d11..6c7c633ce638 100644
--- a/app-office/dia/dia-0.98_pre20250913.ebuild
+++ b/app-office/dia/dia-0.98_pre20250913.ebuild
@@ -55,6 +55,7 @@ PATCHES=(
        "${WORKDIR}"/dia-0.98-patches/${PN}-0.98-deps_optional.patch
        "${FILESDIR}"/${PN}-0.98-fix_poppler_2510.patch #965768
        "${FILESDIR}"/${PN}-0.98-fix_poppler_2601.patch
+       "${FILESDIR}"/${PN}-0.98-fix_poppler_2602.patch #970103
 )
 
 pkg_setup() {

diff --git a/app-office/dia/files/dia-0.98-fix_poppler_2602.patch 
b/app-office/dia/files/dia-0.98-fix_poppler_2602.patch
new file mode 100644
index 000000000000..40d5f7300ad8
--- /dev/null
+++ b/app-office/dia/files/dia-0.98-fix_poppler_2602.patch
@@ -0,0 +1,26 @@
+PR merged https://gitlab.gnome.org/GNOME/dia/-/merge_requests/143
+see https://bugs.gentoo.org/970103
+fix compile with >=poppler-26.02
+--- a/plug-ins/pdf/pdf-import.cpp
++++ b/plug-ins/pdf/pdf-import.cpp
+@@ -120,7 +120,11 @@ public :
+     return FALSE;
+   }
+   //! Apparently no effect at all - so we translate everything to Dia space 
ouself
++#if POPPLER_VERSION_MAJOR > 26 || (POPPLER_VERSION_MAJOR == 26 && 
POPPLER_VERSION_MINOR >= 2)
++  void setDefaultCTM(const std::array<double, 6> &ctm)
++#else
+   void setDefaultCTM(double *ctm)
++#endif
+   {
+     DiaMatrix mat;
+ 
+@@ -879,7 +883,7 @@ DiaOutputDev::drawImage (GfxState         *state,
+   GdkPixbuf *pixbuf;
+   Point pos;
+   DiaObjectChange *change;
+-  const double *ctm = state->getCTM();
++  const auto ctm = state->getCTM();
+ 
+   pos.x = ctm[4] * scale;
+   // there is some undocumented magic done with the ctm for drawImage

Reply via email to