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>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# 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
|
||||
# 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
|
||||
Source2: applications.keyring
|
||||
%endif
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch1: 0001-Support-ZXing-1.4.0.patch
|
||||
BuildRequires: extra-cmake-modules
|
||||
BuildRequires: kf5-filesystem
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: libpoppler-qt5-devel
|
||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel
|
||||
BuildRequires: cmake(KF5CalendarCore)
|
||||
BuildRequires: cmake(KF5Contacts)
|
||||
BuildRequires: cmake(KF5I18n)
|
||||
@ -69,12 +71,12 @@ This package contains the library itself.
|
||||
Summary: Development files for kitinerary
|
||||
Group: Development/Libraries/KDE
|
||||
Requires: libKPimItinerary5 = %{version}
|
||||
Requires: libqt5-qtdeclarative-private-headers-devel
|
||||
Requires: cmake(KF5CalendarCore)
|
||||
Requires: cmake(KF5Contacts)
|
||||
Requires: cmake(KF5Mime)
|
||||
Requires: cmake(KPimPkPass)
|
||||
Requires: cmake(Qt5Gui)
|
||||
Requires: libqt5-qtdeclarative-private-headers-devel
|
||||
|
||||
%description devel
|
||||
This package contains all necessary include files and libraries needed
|
||||
|
Loading…
Reference in New Issue
Block a user