commit: a8bb28b162de0908f9cc23b1a0bc04a986d8
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Thu Jul 14 08:23:40 2022 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Thu Jul 14 09:27:39 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8bb28b1
kde-frameworks/prison: Slot op, build w/ media-libs/zxing-cpp-1.4.0
Upstream commit 74e34fa35a59098db7c4358b788ad3ac0a5745f7
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner gentoo.org>
.../files/prison-5.96.0-zxing-cpp-1.4.0.patch | 107 +
kde-frameworks/prison/prison-5.96.0-r1.ebuild | 36 +++
2 files changed, 143 insertions(+)
diff --git a/kde-frameworks/prison/files/prison-5.96.0-zxing-cpp-1.4.0.patch
b/kde-frameworks/prison/files/prison-5.96.0-zxing-cpp-1.4.0.patch
new file mode 100644
index ..8971bd919a08
--- /dev/null
+++ b/kde-frameworks/prison/files/prison-5.96.0-zxing-cpp-1.4.0.patch
@@ -0,0 +1,107 @@
+From 74e34fa35a59098db7c4358b788ad3ac0a5745f7 Mon Sep 17 00:00:00 2001
+From: Volker Krause
+Date: Fri, 8 Jul 2022 16:18:47 +0200
+Subject: [PATCH] Support ZXing 1.4.0
+
+The previous code doesn't build (and when made to build, crashes) with
+ZXing 1.4.0.
+---
+ src/scanner/CMakeLists.txt | 2 ++
+ src/scanner/config-prison-scanner.h.in | 14 ++
+ src/scanner/videoscannerworker.cpp | 17 +
+ 3 files changed, 33 insertions(+)
+ create mode 100644 src/scanner/config-prison-scanner.h.in
+
+diff --git a/src/scanner/CMakeLists.txt b/src/scanner/CMakeLists.txt
+index d5b9cf5..ef690c5 100644
+--- a/src/scanner/CMakeLists.txt
b/src/scanner/CMakeLists.txt
+@@ -1,6 +1,8 @@
+ # SPDX-FileCopyrightText: 2022 Volker Krause
+ # SPDX-License-Identifier: BSD-3-Clause
+
++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-prison-scanner.h.in
${CMAKE_CURRENT_BINARY_DIR}/config-prison-scanner.h)
++
+ add_library(KF5PrisonScanner)
+ add_library(KF5::PrisonScanner ALIAS KF5PrisonScanner)
+
+diff --git a/src/scanner/config-prison-scanner.h.in
b/src/scanner/config-prison-scanner.h.in
+new file mode 100644
+index 000..d80ceaf
+--- /dev/null
b/src/scanner/config-prison-scanner.h.in
+@@ -0,0 +1,14 @@
++/*
++ SPDX-FileCopyrightText: 2022 Volker Krause
++ SPDX-License-Identifier: LGPL-2.0-or-later
++*/
++
++#ifndef CONFIG_PRISON_SCANNER_H
++#define CONFIG_PRISON_SCANNER_H
++
++#define ZXING_VERSION_MAJOR @ZXing_VERSION_MAJOR@
++#define ZXING_VERSION_MINOR @ZXing_VERSION_MINOR@
++#define ZXING_VERSION_PATCH @ZXing_VERSION_PATCH@
++#define ZXING_VERSION
((@ZXing_VERSION_MAJOR@<<16)|(@ZXing_VERSION_MINOR@<<8)|(@ZXing_VERSION_PATCH@))
++
++#endif // CONFIG_PRISON_SCANNER_H
+diff --git a/src/scanner/videoscannerworker.cpp
b/src/scanner/videoscannerworker.cpp
+index 45792dc..947367c 100644
+--- a/src/scanner/videoscannerworker.cpp
b/src/scanner/videoscannerworker.cpp
+@@ -3,6 +3,7 @@
+ SPDX-License-Identifier: MIT
+ */
+
++#include "config-prison-scanner.h"
+ #include "format_p.h"
+ #include "scanresult_p.h"
+ #include "videoscannerframe_p.h"
+@@ -12,6 +13,7 @@
+ #include
+ #include
+
++#define ZX_USE_UTF8 1
+ #include
+ #include
+
+@@ -25,7 +27,11 @@ VideoScannerWorker::VideoScannerWorker(QObject *parent)
+
+ void VideoScannerWorker::slotScanFrame(VideoScannerFrame frame)
+ {
++#if ZXING_VERSION < QT_VERSION_CHECK(1, 4, 0)
+ ZXing::Result zxRes(ZXing::DecodeStatus::FormatError);
++#else
++ZXing::Result zxRes;
++#endif
+ ZXing::DecodeHints hints;
+ hints.setFormats(frame.formats() == Format::NoFormat ?
ZXing::BarcodeFormats::all() : Format::toZXing(frame.formats()));
+
+@@ -173,6 +179,7 @@ void VideoScannerWorker::slotScanFrame(VideoScannerFrame
frame)
+ if (zxRes.isValid()) {
+ auto res = ScanResultPrivate::get(scanResult);
+
++#if ZXING_VERSION < QT_VERSION_CHECK(1, 4, 0)
+ // distinguish between binary and text content
+ const auto hasWideChars = std::any_of(zxRes.text().begin(),
zxRes.text().end(), [](auto c) {
+ return c > 255;
+@@ -188,6 +195,16 @@ void VideoScannerWorker::slotScanFrame(VideoScannerFrame
frame)
+ std::copy(zxRes.text().begin(), zxRes.text().end(), b.begin());
+ res->content = b;
+ }
++#else
++if (zxRes.contentType() == ZXing::ContentType::Text) {
++res->content = QString::fromStdString(zxRes.text());
++} else {
++QByteArray b;
++b.resize(zxRes.bytes().size());
++std::copy(zxRes.bytes().begin(), zxRes.bytes().end(), b.begin());
++res->content = b;
++}
++#endif
+
+ // determine the bounding rect
+ // the cooridinates we get from ZXing are a polygon, we need to
determine the
+--
+GitLab
+
diff --git a/kde-frameworks/prison/prison-5.96.0-r1.ebuild
b/kde-frameworks/prison/prison-5.96.0-r1.ebuild
new file mode 100644
index ..4173c4d0a8ba