[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