Accepting request 990435 from home:Vogtinator:zxing
Just in case. - Add patch to fix build with ZXing 1.4.0: * 0001-Support-ZXing-1.4.0.patch OBS-URL: https://build.opensuse.org/request/show/990435 OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/kitinerary?expand=0&rev=143
This commit is contained in:
parent
0e55825f65
commit
74ff124cf3
68
0001-Support-ZXing-1.4.0.patch
Normal file
68
0001-Support-ZXing-1.4.0.patch
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
From b08fd64711165c10bf1e88e6add4e66f68e32dc5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Volker Krause <vkrause@kde.org>
|
||||||
|
Date: Fri, 8 Jul 2022 16:04:19 +0200
|
||||||
|
Subject: [PATCH] Support ZXing 1.4.0
|
||||||
|
|
||||||
|
The previous code crashes (if it builds at all) with ZXing 1.4.0, so
|
||||||
|
distributions updating to 1.4.0 would need to apply this patch on top
|
||||||
|
of 22.04.3 as well.
|
||||||
|
|
||||||
|
(cherry picked from commit e60195421aa159462353892ed32bf46ac8c57d19)
|
||||||
|
---
|
||||||
|
src/lib/barcodedecoder.cpp | 26 ++++++++++++++++++++++++++
|
||||||
|
1 file changed, 26 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/lib/barcodedecoder.cpp b/src/lib/barcodedecoder.cpp
|
||||||
|
index b38140a..40e0c64 100644
|
||||||
|
--- a/src/lib/barcodedecoder.cpp
|
||||||
|
+++ b/src/lib/barcodedecoder.cpp
|
||||||
|
@@ -15,6 +15,7 @@
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
#ifdef HAVE_ZXING
|
||||||
|
+#define ZX_USE_UTF8 1
|
||||||
|
#ifdef ZXING_USE_READBARCODE
|
||||||
|
#include <ZXing/ReadBarcode.h>
|
||||||
|
#else
|
||||||
|
@@ -244,6 +245,30 @@ void BarcodeDecoder::decodeZxing(const QImage &img, BarcodeDecoder::BarcodeTypes
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (res.isValid()) {
|
||||||
|
+#if ZXING_VERSION >= QT_VERSION_CHECK(1, 4, 0)
|
||||||
|
+ // detect content type
|
||||||
|
+ std::string zxUtf8Text;
|
||||||
|
+ if (res.contentType() == ZXing::ContentType::Text) {
|
||||||
|
+ result.contentType = Result::Any;
|
||||||
|
+ zxUtf8Text = res.text();
|
||||||
|
+ // check if the text is ASCII-only (in which case we allow access as byte array as well)
|
||||||
|
+ if (std::any_of(zxUtf8Text.begin(), zxUtf8Text.end(), [](unsigned char c) { return c > 0x7F; })) {
|
||||||
|
+ result.contentType &= ~Result::ByteArray;
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ result.contentType = Result::ByteArray;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // decode content
|
||||||
|
+ if (result.contentType & Result::ByteArray) {
|
||||||
|
+ QByteArray b;
|
||||||
|
+ b.resize(res.bytes().size());
|
||||||
|
+ std::copy(res.bytes().begin(), res.bytes().end(), b.begin());
|
||||||
|
+ result.content = b;
|
||||||
|
+ } else {
|
||||||
|
+ result.content = QString::fromStdString(zxUtf8Text);
|
||||||
|
+ }
|
||||||
|
+#else
|
||||||
|
// detect content type
|
||||||
|
result.contentType = Result::Any;
|
||||||
|
if (std::any_of(res.text().begin(), res.text().end(), [](const auto c) { return c > 255; })) {
|
||||||
|
@@ -262,6 +287,7 @@ void BarcodeDecoder::decodeZxing(const QImage &img, BarcodeDecoder::BarcodeTypes
|
||||||
|
} else {
|
||||||
|
result.content = QString::fromStdWString(res.text());
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
result.positive |= formatToType(res.format());
|
||||||
|
} else {
|
||||||
|
result.negative |= format;
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 20 16:24:51 UTC 2022 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Add patch to fix build with ZXing 1.4.0:
|
||||||
|
* 0001-Support-ZXing-1.4.0.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jul 5 17:03:22 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
Tue Jul 5 17:03:22 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package kitinerary
|
# spec file for package kitinerary
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2022 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -29,13 +29,15 @@ Source: https://download.kde.org/stable/release-service/%{version}/src/%
|
|||||||
Source1: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
|
Source1: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
|
||||||
Source2: applications.keyring
|
Source2: applications.keyring
|
||||||
%endif
|
%endif
|
||||||
|
# PATCH-FIX-UPSTREAM
|
||||||
|
Patch1: 0001-Support-ZXing-1.4.0.patch
|
||||||
BuildRequires: extra-cmake-modules
|
BuildRequires: extra-cmake-modules
|
||||||
BuildRequires: kf5-filesystem
|
BuildRequires: kf5-filesystem
|
||||||
BuildRequires: libopenssl-devel
|
BuildRequires: libopenssl-devel
|
||||||
BuildRequires: libpoppler-qt5-devel
|
BuildRequires: libpoppler-qt5-devel
|
||||||
|
BuildRequires: libqt5-qtdeclarative-private-headers-devel
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel
|
|
||||||
BuildRequires: cmake(KF5CalendarCore)
|
BuildRequires: cmake(KF5CalendarCore)
|
||||||
BuildRequires: cmake(KF5Contacts)
|
BuildRequires: cmake(KF5Contacts)
|
||||||
BuildRequires: cmake(KF5I18n)
|
BuildRequires: cmake(KF5I18n)
|
||||||
@ -69,12 +71,12 @@ This package contains the library itself.
|
|||||||
Summary: Development files for kitinerary
|
Summary: Development files for kitinerary
|
||||||
Group: Development/Libraries/KDE
|
Group: Development/Libraries/KDE
|
||||||
Requires: libKPimItinerary5 = %{version}
|
Requires: libKPimItinerary5 = %{version}
|
||||||
|
Requires: libqt5-qtdeclarative-private-headers-devel
|
||||||
Requires: cmake(KF5CalendarCore)
|
Requires: cmake(KF5CalendarCore)
|
||||||
Requires: cmake(KF5Contacts)
|
Requires: cmake(KF5Contacts)
|
||||||
Requires: cmake(KF5Mime)
|
Requires: cmake(KF5Mime)
|
||||||
Requires: cmake(KPimPkPass)
|
Requires: cmake(KPimPkPass)
|
||||||
Requires: cmake(Qt5Gui)
|
Requires: cmake(Qt5Gui)
|
||||||
Requires: libqt5-qtdeclarative-private-headers-devel
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
This package contains all necessary include files and libraries needed
|
This package contains all necessary include files and libraries needed
|
||||||
|
Loading…
Reference in New Issue
Block a user