summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/zxing-cpp/Manifest1
-rw-r--r--media-libs/zxing-cpp/files/zxing-cpp-2.0.0-fix-crash.patch24
-rw-r--r--media-libs/zxing-cpp/zxing-cpp-2.0.0.ebuild26
3 files changed, 51 insertions, 0 deletions
diff --git a/media-libs/zxing-cpp/Manifest b/media-libs/zxing-cpp/Manifest
index 8a7287886422..663d55874d73 100644
--- a/media-libs/zxing-cpp/Manifest
+++ b/media-libs/zxing-cpp/Manifest
@@ -1,2 +1,3 @@
DIST zxing-cpp-1.3.0.tar.gz 97938087 BLAKE2B f0c9c906ab2b534c67cf66605eca0ecc22a90fc9d69e23397bcb0bc8eaf3d68a7ad41631ea6d9c7f292ee03165d2e038d84f497307384205e2d6f37fef5dddba SHA512 27821667dea3d09b91bf9825ff25483ed658d850fd238009f1c7e43b1b09e62d24b3a2cd78d4e39d29725931b32bfce3e21e7ec871830b3ad69a5a69c72d8de8
DIST zxing-cpp-1.4.0.tar.gz 1018225 BLAKE2B 98b6badfe0ddfa39650eb4fbfc02bc01f5237cdd5edfafd7b88067997a22caa2e64d067328b534c439d7d89fef5b6d48acf4bc29389142b332123b477f3e3dde SHA512 05c5b9282f13b76fa0897b21e5b73cb7df0c52e62f1a2d9760fe774aa0378fde97f5f9896690b65b28b4b96ba6ad2703bed53ffaf9d3784636d29cbe860d4bad
+DIST zxing-cpp-2.0.0.tar.gz 856413 BLAKE2B 8069d3e39a7ddf99510777df477a5e3503e5eead7adcbf175123ab59de47c3da75bb8187533dad552a07b1475756ff3981d30eaa3e8088c5c9b991e22a7127bd SHA512 fa22164f834a42194eafd0d3e9c09d953233c69843ac6e79c8d6513314be28d8082382b436c379368e687e0eed05cb5e566d2893ec6eb29233a36643904ae083
diff --git a/media-libs/zxing-cpp/files/zxing-cpp-2.0.0-fix-crash.patch b/media-libs/zxing-cpp/files/zxing-cpp-2.0.0-fix-crash.patch
new file mode 100644
index 000000000000..e6b25633e8e9
--- /dev/null
+++ b/media-libs/zxing-cpp/files/zxing-cpp-2.0.0-fix-crash.patch
@@ -0,0 +1,24 @@
+From 23c19c5f98602a4d69d1667fff99678308b28b5b Mon Sep 17 00:00:00 2001
+From: liule <levie.liu@gmail.com>
+Date: Fri, 6 Jan 2023 22:06:24 +0800
+Subject: [PATCH] fix crash when the source image is less than 3 pixels
+ width/height
+
+---
+ core/src/ReadBarcode.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/core/src/ReadBarcode.cpp b/core/src/ReadBarcode.cpp
+index 905dd191c..5ac61e250 100644
+--- a/core/src/ReadBarcode.cpp
++++ b/core/src/ReadBarcode.cpp
+@@ -76,7 +76,8 @@ class LumImagePyramid
+
+ layers.push_back(iv);
+ // TODO: if only matrix codes were considered, then using std::min would be sufficient (see #425)
+- while (threshold > 0 && std::max(layers.back().width(), layers.back().height()) > threshold)
++ while (threshold > 0 && std::max(layers.back().width(), layers.back().height()) > threshold &&
++ std::min(layers.back().width(), layers.back().height()) >= N)
+ addLayer();
+ #if 0
+ // Reversing the layers means we'd start with the smallest. that can make sense if we are only looking for a
diff --git a/media-libs/zxing-cpp/zxing-cpp-2.0.0.ebuild b/media-libs/zxing-cpp/zxing-cpp-2.0.0.ebuild
new file mode 100644
index 000000000000..6da2db080577
--- /dev/null
+++ b/media-libs/zxing-cpp/zxing-cpp-2.0.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ Multi-format 1D/2D barcode image processing library"
+HOMEPAGE="https://github.com/nu-book/zxing-cpp"
+SRC_URI="https://github.com/nu-book/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+PATCHES=( "${FILESDIR}/${P}-fix-crash.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=OFF # nothing is installed
+ -DBUILD_BLACKBOX_TESTS=OFF # FIXME: FetchContent.cmake module usage
+ -DBUILD_UNIT_TESTS=OFF # for both tests options. no thanks. bug #793173
+ )
+ cmake_src_configure
+}