public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/prison/, kde-frameworks/prison/files/
Date: Thu, 14 Jul 2022 09:27:56 +0000 (UTC)	[thread overview]
Message-ID: <1657790859.a8bb28b162de0908f9cc23b1a0bc04a986d8eeee.asturm@gentoo> (raw)

commit:     a8bb28b162de0908f9cc23b1a0bc04a986d8eeee
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 14 08:23:40 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 14 09:27:39 2022 +0000
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 <asturm <AT> 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 000000000000..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 <vkrause@kde.org>
+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 <vkrause@kde.org>
+ # 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 0000000..d80ceaf
+--- /dev/null
++++ b/src/scanner/config-prison-scanner.h.in
+@@ -0,0 +1,14 @@
++/*
++   SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
++   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 <QImage>
+ #include <QTransform>
+ 
++#define ZX_USE_UTF8 1
+ #include <ZXing/ReadBarcode.h>
+ #include <ZXing/TextUtfEncoding.h>
+ 
+@@ -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 000000000000..4173c4d0a8ba
--- /dev/null
+++ b/kde-frameworks/prison/prison-5.96.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+QTMIN=5.15.4
+inherit ecm frameworks.kde.org
+
+DESCRIPTION="QRCode and data matrix barcode library"
+HOMEPAGE="https://invent.kde.org/frameworks/prison"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="qml"
+
+RDEPEND="
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtmultimedia-${QTMIN}:5
+	media-gfx/qrencode:=
+	media-libs/libdmtx
+	media-libs/zxing-cpp:=
+	qml? ( >=dev-qt/qtdeclarative-${QTMIN}:5 )
+"
+DEPEND="${RDEPEND}
+	test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
+"
+
+PATCHES=( "${FILESDIR}/${P}-zxing-cpp-1.4.0.patch" )
+
+src_configure() {
+	local mycmakeargs=(
+		$(cmake_use_find_package qml Qt5Quick)
+	)
+
+	ecm_src_configure
+}


             reply	other threads:[~2022-07-14  9:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-14  9:27 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-01-10  0:04 [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/prison/, kde-frameworks/prison/files/ Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1657790859.a8bb28b162de0908f9cc23b1a0bc04a986d8eeee.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox