[packages/ka5-kitinerary] - patch for poppler 24.05+

qboosh qboosh at pld-linux.org
Wed Aug 28 22:14:27 CEST 2024


commit 8b15af5fb042231f63f0fd1ee592a062c6c30d9e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Aug 28 22:11:26 2024 +0200

    - patch for poppler 24.05+

 ka5-kitinerary.spec        |   5 +-
 kitinerary-poppler24.patch |  27 +++++++
 poppler-0.82.patch         |  72 -----------------
 poppler-0.83.patch         | 193 ---------------------------------------------
 4 files changed, 30 insertions(+), 267 deletions(-)
---
diff --git a/ka5-kitinerary.spec b/ka5-kitinerary.spec
index ccb74a8..61a53b0 100644
--- a/ka5-kitinerary.spec
+++ b/ka5-kitinerary.spec
@@ -14,8 +14,7 @@ License:	GPL v2+/LGPL v2.1+
 Group:		X11/Libraries
 Source0:	https://download.kde.org/stable/release-service/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
 # Source0-md5:	8b3216199eef85b2f05e4955f3409199
-Patch0:		poppler-0.82.patch
-Patch1:		poppler-0.83.patch
+Patch0:		kitinerary-poppler24.patch
 URL:		https://community.kde.org/KDE_PIM/KDE_Itinerary
 BuildRequires:	Qt5Core-devel >= %{qtver}
 BuildRequires:	Qt5Gui-devel
@@ -70,6 +69,7 @@ Pliki nagłówkowe dla programistów używających %{kaname}.
 
 %prep
 %setup -q -n %{kaname}-%{version}
+%patch0 -p1
 
 %build
 %cmake \
@@ -78,6 +78,7 @@ Pliki nagłówkowe dla programistów używających %{kaname}.
 	%{!?with_tests:-DBUILD_TESTING=OFF} \
 	-DHTML_INSTALL_DIR=%{_kdedocdir} \
 	-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+
 %ninja_build -C build
 
 %if %{with tests}
diff --git a/kitinerary-poppler24.patch b/kitinerary-poppler24.patch
new file mode 100644
index 0000000..9e4f222
--- /dev/null
+++ b/kitinerary-poppler24.patch
@@ -0,0 +1,27 @@
+--- kitinerary-23.08.5/src/lib/pdf/pdfdocument.cpp.orig	2024-02-10 12:38:52.000000000 +0100
++++ kitinerary-23.08.5/src/lib/pdf/pdfdocument.cpp	2024-08-28 21:44:03.245330615 +0200
+@@ -24,6 +24,10 @@
+ 
+ #include <cmath>
+ 
++#if KPOPPLER_VERSION >= QT_VERSION_CHECK(24, 5, 0)
++#include <poppler/UTF.h>
++#endif
++
+ using namespace KItinerary;
+ 
+ void PdfPagePrivate::load()
+@@ -329,7 +333,12 @@ QString gooStringToUnicode(const std::un
+         return {};
+     }
+ 
+-    if (s->hasUnicodeMarker() || s->hasUnicodeMarkerLE()) {
++#if KPOPPLER_VERSION >= QT_VERSION_CHECK(24, 5, 0)
++    if (hasUnicodeByteOrderMark(s->toStr()) || hasUnicodeByteOrderMarkLE(s->toStr()))
++#else
++    if (s->hasUnicodeMarker() || s->hasUnicodeMarkerLE())
++#endif
++    {
+         return QString::fromUtf16(reinterpret_cast<const char16_t*>(s->toStr().c_str()), s->toStr().size() / 2);
+     } else {
+         int len = 0;
diff --git a/poppler-0.82.patch b/poppler-0.82.patch
deleted file mode 100644
index 06d38bc..0000000
--- a/poppler-0.82.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- kitinerary-19.04.1/src/pdfdocument.cpp~	2019-04-29 07:13:27.000000000 +0200
-+++ kitinerary-19.04.1/src/pdfdocument.cpp	2019-11-03 14:59:36.863067477 +0100
-@@ -95,7 +95,11 @@
- public:
-     ExtractorOutputDevice();
-     bool needNonText() override { return true; }
-+#ifdef HAVE_POPPLER_0_82
-+    void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, const int *maskColors, bool inlineImg) override;
-+#else
-     void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, int *maskColors, bool inlineImg) override;
-+#endif
- 
-     std::vector<PdfImage> m_images;
- 
-@@ -118,7 +118,11 @@
-     bool upsideDown() override { return false; }
-     bool useDrawChar() override { return false; }
- 
-+#ifdef HAVE_POPPLER_0_82
-+    void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, const int *maskColors, bool inlineImg) override;
-+#else
-     void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, int *maskColors, bool inlineImg) override;
-+#endif
-     QImage image() const { return m_image; }
- 
- private:
-@@ -178,7 +182,11 @@
- {
- }
- 
-+#ifdef HAVE_POPPLER_0_82
-+void ExtractorOutputDevice::drawImage(GfxState* state, Object* ref, Stream* str, int width, int height, GfxImageColorMap* colorMap, bool interpolate, const int* maskColors, bool inlineImg)
-+#else
- void ExtractorOutputDevice::drawImage(GfxState* state, Object* ref, Stream* str, int width, int height, GfxImageColorMap* colorMap, bool interpolate, int* maskColors, bool inlineImg)
-+#endif
- {
-     Q_UNUSED(str);
-     Q_UNUSED(interpolate);
-@@ -233,7 +241,11 @@
- {
- }
- 
-+#ifdef HAVE_POPPLER_0_82
-+void ImageLoaderOutputDevice::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, const int *maskColors, bool inlineImg)
-+#else
- void ImageLoaderOutputDevice::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, int *maskColors, bool inlineImg)
-+#endif
- {
-     Q_UNUSED(state);
-     Q_UNUSED(height);
---- kitinerary-19.04.1/CMakeLists.txt~	2019-05-07 03:05:49.000000000 +0200
-+++ kitinerary-19.04.1/CMakeLists.txt	2019-11-03 15:01:21.029730602 +0100
-@@ -62,6 +62,9 @@
-     if (${Poppler_VERSION} VERSION_GREATER 0.68)
-         set(HAVE_POPPLER_0_69 ON)
-     endif()
-+    if (${Poppler_VERSION} VERSION_GREATER 0.81)
-+        set(HAVE_POPPLER_0_82 ON)
-+    endif()
-     set(CMAKE_REQUIRED_LIBRARIES Poppler::Core Qt5::Core)
-     check_cxx_source_compiles("
-     #include <goo/GooString.h>
---- kitinerary-19.04.1/src/config-kitinerary.h.cmake~	2019-04-29 07:13:27.000000000 +0200
-+++ kitinerary-19.04.1/src/config-kitinerary.h.cmake	2019-11-03 15:04:23.523057744 +0100
-@@ -24,6 +24,7 @@
- #cmakedefine HAVE_POPPLER_0_58
- #cmakedefine HAVE_POPPLER_0_69
- #cmakedefine HAVE_POPPLER_0_72
-+#cmakedefine HAVE_POPPLER_0_82
- 
- #cmakedefine HAVE_ZXING
- #cmakedefine HAVE_ZXING_OLD
diff --git a/poppler-0.83.patch b/poppler-0.83.patch
deleted file mode 100644
index 7a0bfad..0000000
--- a/poppler-0.83.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-diff -urN kitinerary-19.04.1/src/CMakeLists.txt kitinerary-19.04.1-poppler-0.83/src/CMakeLists.txt
---- kitinerary-19.04.1/src/CMakeLists.txt	2019-04-29 07:13:27.000000000 +0200
-+++ kitinerary-19.04.1-poppler-0.83/src/CMakeLists.txt	2020-03-23 22:04:40.513590800 +0100
-@@ -50,6 +50,7 @@
-     locationutil.cpp
-     mergeutil.cpp
-     pdfdocument.cpp
-+    popplerglobalparams.cpp
-     qimageluminancesource.cpp
-     qimagepurebinarizer.cpp
-     rct2ticket.cpp
-diff -urN kitinerary-19.04.1/src/pdfdocument.cpp kitinerary-19.04.1-poppler-0.83/src/pdfdocument.cpp
---- kitinerary-19.04.1/src/pdfdocument.cpp	2020-03-23 22:12:02.086930170 +0100
-+++ kitinerary-19.04.1-poppler-0.83/src/pdfdocument.cpp	2020-03-23 22:06:52.540259271 +0100
-@@ -17,13 +17,13 @@
- 
- #include "config-kitinerary.h"
- #include "pdfdocument.h"
-+#include "popplerglobalparams_p.h"
- 
- #include <QDebug>
- #include <QImage>
- #include <QScopedValueRollback>
- 
- #ifdef HAVE_POPPLER
--#include <GlobalParams.h>
- #include <PDFDoc.h>
- #include <Stream.h>
- #include <TextOutputDev.h>
-@@ -81,15 +81,6 @@
- };
- 
- #ifdef HAVE_POPPLER
--static std::unique_ptr<GlobalParams> s_globalParams;
--static GlobalParams* popplerGlobalParams()
--{
--    if (!s_globalParams) {
--        s_globalParams.reset(new GlobalParams);
--    }
--    return s_globalParams.get();
--}
--
- class ExtractorOutputDevice : public TextOutputDev
- {
- public:
-@@ -309,7 +300,7 @@
-     }
- 
- #ifdef HAVE_POPPLER
--    QScopedValueRollback<GlobalParams*> globalParamResetter(globalParams, popplerGlobalParams());
-+    PopplerGlobalParams gp;
- 
- #ifdef HAVE_POPPLER_0_69
-     const auto xref = d->m_page->m_doc->m_popplerDoc->getXRef();
-@@ -348,7 +339,7 @@
-     }
- 
- #ifdef HAVE_POPPLER
--    QScopedValueRollback<GlobalParams*> globalParamResetter(globalParams, popplerGlobalParams());
-+    PopplerGlobalParams gp;
-     ExtractorOutputDevice device;
-     m_doc->m_popplerDoc->displayPageSlice(&device, m_pageNum + 1, 72, 72, 0, false, true, false, -1, -1, -1, -1);
-     const auto pageRect = m_doc->m_popplerDoc->getPage(m_pageNum + 1)->getCropBox();
-@@ -392,7 +383,7 @@
- QString PdfPage::textInRect(double left, double top, double right, double bottom) const
- {
- #ifdef HAVE_POPPLER
--    QScopedValueRollback<GlobalParams*> globalParamResetter(globalParams, popplerGlobalParams());
-+    PopplerGlobalParams gp;
- 
-     ExtractorOutputDevice device;
-     d->m_doc->m_popplerDoc->displayPageSlice(&device, d->m_pageNum + 1, 72, 72, 0, false, true, false, -1, -1, -1, -1);
-@@ -439,7 +430,7 @@
-     d->load();
-     QVariantList l;
- #ifdef HAVE_POPPLER
--    QScopedValueRollback<GlobalParams*> globalParamResetter(globalParams, popplerGlobalParams());
-+    PopplerGlobalParams gp;
-     const auto pageRect = d->m_doc->m_popplerDoc->getPage(d->m_pageNum + 1)->getCropBox();
- 
-     for (const auto &img : d->m_images) {
-@@ -504,7 +495,7 @@
- PdfDocument* PdfDocument::fromData(const QByteArray &data, QObject *parent)
- {
- #ifdef HAVE_POPPLER
--    QScopedValueRollback<GlobalParams*> globalParamResetter(globalParams, popplerGlobalParams());
-+    PopplerGlobalParams gp;
- 
-     std::unique_ptr<PdfDocument> doc(new PdfDocument(parent));
-     doc->d->m_pdfData = data;
-diff -urN kitinerary-19.04.1/src/popplerglobalparams.cpp kitinerary-19.04.1-poppler-0.83/src/popplerglobalparams.cpp
---- kitinerary-19.04.1/src/popplerglobalparams.cpp	1970-01-01 01:00:00.000000000 +0100
-+++ kitinerary-19.04.1-poppler-0.83/src/popplerglobalparams.cpp	2020-03-23 22:10:40.633595724 +0100
-@@ -0,0 +1,55 @@
-+/*
-+    Copyright (C) 2019 Volker Krause <vkrause at kde.org>
-+
-+    This program is free software; you can redistribute it and/or modify it
-+    under the terms of the GNU Library General Public License as published by
-+    the Free Software Foundation; either version 2 of the License, or (at your
-+    option) any later version.
-+
-+    This program is distributed in the hope that it will be useful, but WITHOUT
-+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
-+    License for more details.
-+
-+    You should have received a copy of the GNU General Public License
-+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
-+*/
-+
-+#include "config-kitinerary.h"
-+#include "popplerglobalparams_p.h"
-+
-+#include <qglobal.h>
-+
-+#ifdef HAVE_POPPLER
-+#include <GlobalParams.h>
-+
-+using namespace KItinerary;
-+
-+static std::unique_ptr<GlobalParams> s_globalParams;
-+
-+PopplerGlobalParams::PopplerGlobalParams()
-+{
-+    if (!s_globalParams) {
-+        s_globalParams.reset(new GlobalParams);
-+    }
-+
-+#ifdef HAVE_POPPLER_0_82
-+    std::swap(globalParams, m_prev);
-+    std::swap(s_globalParams, globalParams);
-+#else
-+    m_prev.reset(globalParams);
-+    globalParams = s_globalParams.get();
-+#endif
-+}
-+
-+PopplerGlobalParams::~PopplerGlobalParams()
-+{
-+#ifdef HAVE_POPPLER_0_82
-+    std::swap(s_globalParams, globalParams);
-+    std::swap(globalParams, m_prev);
-+#else
-+    globalParams = m_prev.release();
-+#endif
-+}
-+
-+#endif
-diff -urN kitinerary-19.04.1/src/popplerglobalparams_p.h kitinerary-19.04.1-poppler-0.83/src/popplerglobalparams_p.h
---- kitinerary-19.04.1/src/popplerglobalparams_p.h	1970-01-01 01:00:00.000000000 +0100
-+++ kitinerary-19.04.1-poppler-0.83/src/popplerglobalparams_p.h	2020-03-23 22:04:09.146923695 +0100
-@@ -0,0 +1,40 @@
-+/*
-+    Copyright (C) 2019 Volker Krause <vkrause at kde.org>
-+
-+    This program is free software; you can redistribute it and/or modify it
-+    under the terms of the GNU Library General Public License as published by
-+    the Free Software Foundation; either version 2 of the License, or (at your
-+    option) any later version.
-+
-+    This program is distributed in the hope that it will be useful, but WITHOUT
-+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
-+    License for more details.
-+
-+    You should have received a copy of the GNU General Public License
-+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
-+*/
-+
-+#ifndef KITINERARY_POPPLERGLOBALPARAMS_H
-+#define KITINERARY_POPPLERGLOBALPARAMS_H
-+
-+#include <memory>
-+
-+class GlobalParams;
-+
-+namespace KItinerary {
-+
-+/** RAII wrapper of the globalParams object. */
-+class PopplerGlobalParams
-+{
-+public:
-+    PopplerGlobalParams();
-+    ~PopplerGlobalParams();
-+
-+private:
-+    std::unique_ptr<GlobalParams> m_prev;
-+};
-+
-+}
-+
-+#endif // KITINERARY_POPPLERGLOBALPARAMS_H
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ka5-kitinerary.git/commitdiff/8b15af5fb042231f63f0fd1ee592a062c6c30d9e



More information about the pld-cvs-commit mailing list