latest release
This commit is contained in:
parent
ae793c41d7
commit
8e77e9ac64
8 changed files with 39 additions and 1837 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1 +1 @@
|
|||
/zxing-cpp-1.2.0.tar.gz
|
||||
/zxing-cpp-2.0.0.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,76 +0,0 @@
|
|||
From 8db14eeead45e0f1961532f55061d5e4dd0f78be Mon Sep 17 00:00:00 2001
|
||||
From: Paul Wise <pabs3@bonedaddy.net>
|
||||
Date: Thu, 26 Aug 2021 22:03:00 +0800
|
||||
Subject: [PATCH] Add a mode to build against system versions of dependencies
|
||||
|
||||
Make the default be to use system versions when available,
|
||||
but allow always using them or never using them.
|
||||
|
||||
Add searching for and using system versions of fmt/googletest/pybind11,
|
||||
which are currently pulled directly from git using FetchContent.
|
||||
|
||||
This will allow distributions that do not allow network access at build
|
||||
time to depend on and build against these packages.
|
||||
|
||||
Fixes: https://github.com/nu-book/zxing-cpp/issues/248
|
||||
---
|
||||
CMakeLists.txt | 7 +++++++
|
||||
test/blackbox/CMakeLists.txt | 18 +++++++++++++-----
|
||||
1 files changed, 54 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 1361792..2b522e0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -8,6 +8,7 @@ option (BUILD_EXAMPLES "Build the example barcode reader/writer applicatons" ON)
|
||||
option (BUILD_BLACKBOX_TESTS "Build the black box reader/writer tests" ON)
|
||||
option (BUILD_UNIT_TESTS "Build the unit tests (don't enable for production builds)" OFF)
|
||||
option (BUILD_PYTHON_MODULE "Build the python module" OFF)
|
||||
+set(BUILD_SYSTEM_DEPS "AUTO" CACHE STRING "Use system dependencies (AUTO/ALWAYS/NEVER)")
|
||||
|
||||
if (WIN32)
|
||||
option (BUILD_SHARED_LIBS "Build and link as shared library" OFF)
|
||||
@@ -53,6 +54,12 @@ if (BUILD_UNIT_TESTS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+set(BUILD_SYSTEM_DEPS_LIST AUTO ALWAYS NEVER)
|
||||
+set_property(CACHE BUILD_SYSTEM_DEPS PROPERTY STRINGS ${BUILD_SYSTEM_DEPS_LIST})
|
||||
+if(NOT BUILD_SYSTEM_DEPS IN_LIST BUILD_SYSTEM_DEPS_LIST)
|
||||
+ message(FATAL_ERROR "BUILD_SYSTEM_DEPS must be one of ${BUILD_SYSTEM_DEPS_LIST}")
|
||||
+endif()
|
||||
+
|
||||
add_subdirectory (core)
|
||||
|
||||
enable_testing()
|
||||
diff --git a/test/blackbox/CMakeLists.txt b/test/blackbox/CMakeLists.txt
|
||||
index 3da26dd..9d79e8e 100644
|
||||
--- a/test/blackbox/CMakeLists.txt
|
||||
+++ b/test/blackbox/CMakeLists.txt
|
||||
@@ -1,10 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
-include(FetchContent)
|
||||
-FetchContent_Declare (fmtlib
|
||||
- GIT_REPOSITORY https://github.com/fmtlib/fmt.git
|
||||
- GIT_TAG 7.1.2)
|
||||
-FetchContent_MakeAvailable (fmtlib) # Adds fmt::fmt
|
||||
+if (BUILD_SYSTEM_DEPS STREQUAL "AUTO")
|
||||
+ find_package (fmt)
|
||||
+elseif (BUILD_SYSTEM_DEPS STREQUAL "ALWAYS")
|
||||
+ find_package (fmt REQUIRED)
|
||||
+endif()
|
||||
+
|
||||
+if (NOT fmt_FOUND)
|
||||
+ include(FetchContent)
|
||||
+ FetchContent_Declare (fmtlib
|
||||
+ GIT_REPOSITORY https://github.com/fmtlib/fmt.git
|
||||
+ GIT_TAG 7.1.2)
|
||||
+ FetchContent_MakeAvailable (fmtlib) # Adds fmt::fmt
|
||||
+endif()
|
||||
|
||||
if (BUILD_READERS)
|
||||
add_executable (ReaderTest
|
||||
--
|
||||
2.33.1
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
diff -ru zxing-cpp-1.2.0.orig/core/src/textcodec/JPTextEncoder.h zxing-cpp-1.2.0/core/src/textcodec/JPTextEncoder.h
|
||||
--- zxing-cpp-1.2.0.orig/core/src/textcodec/JPTextEncoder.h 2023-01-23 20:12:39.682731359 +0000
|
||||
+++ zxing-cpp-1.2.0/core/src/textcodec/JPTextEncoder.h 2023-01-23 20:13:32.420223873 +0000
|
||||
@@ -61,6 +61,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
class JPTextEncoder
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
From 3872abbb33ebb8d6c891baff33778aae04f0c546 Mon Sep 17 00:00:00 2001
|
||||
From: axxel <awagger@gmail.com>
|
||||
Date: Tue, 26 Jul 2022 22:42:00 +0200
|
||||
Subject: [PATCH] test: update to libfmt v9.0.0
|
||||
|
||||
---
|
||||
test/blackbox/BlackboxTestRunner.cpp | 8 ++++----
|
||||
test/blackbox/CMakeLists.txt | 2 +-
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/test/blackbox/BlackboxTestRunner.cpp b/test/blackbox/BlackboxTestRunner.cpp
|
||||
index 7e126a62..85c5b9d4 100644
|
||||
--- a/test/blackbox/BlackboxTestRunner.cpp
|
||||
+++ b/test/blackbox/BlackboxTestRunner.cpp
|
||||
@@ -158,8 +158,7 @@
|
||||
auto folderName = directory.stem();
|
||||
|
||||
if (Size(imgPaths) != totalTests)
|
||||
- fmt::print("TEST {} => Expected number of tests: {}, got: {} => FAILED\n", folderName, totalTests,
|
||||
- imgPaths.size());
|
||||
+ fmt::print("TEST {} => Expected number of tests: {}, got: {} => FAILED\n", folderName.string(), totalTests, imgPaths.size());
|
||||
|
||||
for (auto& test : tests) {
|
||||
fmt::print("{:20} @ {:3}, {:3}", folderName.string(), test.rotation, Size(imgPaths));
|
||||
@@ -234,7 +233,7 @@
|
||||
}
|
||||
|
||||
if (Size(imageGroups) != totalTests)
|
||||
- fmt::print("TEST {} => Expected number of tests: {}, got: {} => FAILED\n", folderName, totalTests,
|
||||
+ fmt::print("TEST {} => Expected number of tests: {}, got: {} => FAILED\n", folderName.string(), totalTests,
|
||||
imageGroups.size());
|
||||
|
||||
for (auto& test : tests) {
|
||||
@@ -445,7 +444,7 @@
|
||||
{ 17, 20, 0 },
|
||||
{ 19, 20, 180 },
|
||||
});
|
||||
-
|
||||
+
|
||||
runTests("upca-extension-1", "UPC-A", 6, {
|
||||
{ 3, 6, 0 },
|
||||
{ 4, 6, 180 },
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (zxing-cpp-1.2.0.tar.gz) = e61b4e44ccaf0871b5d8badf9ce0a81576f55e5d6a9458907b9b599a66227adceabb8d51a0c47b32319d8aeff93e758b4785d3bd0440375247471d95999de487
|
||||
SHA512 (zxing-cpp-2.0.0.tar.gz) = fa22164f834a42194eafd0d3e9c09d953233c69843ac6e79c8d6513314be28d8082382b436c379368e687e0eed05cb5e566d2893ec6eb29233a36643904ae083
|
||||
|
|
|
|||
|
|
@ -1,18 +1,37 @@
|
|||
diff -Naur zxing-cpp-1.2.0-original/wrappers/python/CMakeLists.txt zxing-cpp-1.2.0/wrappers/python/CMakeLists.txt
|
||||
--- zxing-cpp-1.2.0-original/wrappers/python/CMakeLists.txt 2021-05-28 06:47:09.000000000 -0400
|
||||
+++ zxing-cpp-1.2.0/wrappers/python/CMakeLists.txt 2021-12-13 20:31:22.286170793 -0500
|
||||
@@ -1,13 +1,7 @@
|
||||
@@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(ZXingPython)
|
||||
|
||||
-# get pybind11
|
||||
-include(FetchContent)
|
||||
-#set(FETCHCONTENT_QUIET Off)
|
||||
-FetchContent_Declare (pybind11
|
||||
- GIT_REPOSITORY https://github.com/pybind/pybind11.git
|
||||
- GIT_TAG v2.6.2)
|
||||
-FetchContent_MakeAvailable (pybind11)
|
||||
-set (pybind11_git_repo https://github.com/pybind/pybind11.git)
|
||||
-set (pybind11_git_rev v2.10.2)
|
||||
+find_package(pybind11)
|
||||
|
||||
# check if we are called from the top-level ZXing project
|
||||
get_directory_property(hasParent PARENT_DIRECTORY)
|
||||
@@ -21,14 +20,8 @@
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../core ZXing EXCLUDE_FROM_ALL)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../zxing.cmake)
|
||||
- zxing_add_package(pybind11 pybind11 ${pybind11_git_repo} ${pybind11_git_rev})
|
||||
else()
|
||||
# we don't have access to the top-level cmake helpers -> simply fetch it unconditional
|
||||
- include(FetchContent)
|
||||
- FetchContent_Declare (pybind11
|
||||
- GIT_REPOSITORY ${pybind11_git_repo}
|
||||
- GIT_TAG ${pybind11_git_rev})
|
||||
- FetchContent_MakeAvailable (pybind11)
|
||||
|
||||
# Building from python source distribution (which does not include the whole repository but only python part)
|
||||
# so we need to get c++ source git to build the python extension. The python distribution version (given in
|
||||
@@ -54,8 +47,6 @@
|
||||
add_subdirectory(${zxing-cpp_SOURCE_DIR}/core ZXing EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
endif()
|
||||
-else()
|
||||
- zxing_add_package(pybind11 pybind11 ${pybind11_git_repo} ${pybind11_git_rev})
|
||||
endif()
|
||||
|
||||
# build the python module
|
||||
|
|
|
|||
|
|
@ -1,63 +1,26 @@
|
|||
Name: zxing-cpp
|
||||
Version: 1.2.0
|
||||
Release: 9%{?dist}
|
||||
Version: 2.0.0
|
||||
Release: 1%{?dist}
|
||||
Summary: C++ port of the ZXing ("Zebra Crossing") barcode scanning library
|
||||
|
||||
# The entire source is ASL 2.0, except:
|
||||
#
|
||||
# - TextCodec files, that is, core/src/textcodec/*, are
|
||||
# (LGPLv2 with exceptions or LGPLv3 with exceptions).
|
||||
# - core/src/textcodec/JPText{En,De}coder.* are, formally,
|
||||
# ((LGPLv2 with exceptions or LGPLv3 with exceptions) and BSD),
|
||||
# which still forms an effective license of
|
||||
# (LGPLv2 with exceptions or LGPLv3 with exceptions)
|
||||
# - wrappers/wasm/base64ArrayBuffer.js is MIT (but is not used)
|
||||
# - thirdparty/stb/stb_image.h and thirdparty/stb/stb_image_write.h are MIT
|
||||
# (but are unbundled)
|
||||
#
|
||||
# The resulting effective license for the combined library is:
|
||||
License: LGPLv2 with exceptions or LGPLv3 with exceptions
|
||||
License: ASL 2.0 and MIT
|
||||
Url: https://github.com/nu-book/zxing-cpp
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: cmake
|
||||
BuildRequires: cmake(fmt)
|
||||
# -static BR’s required by guidelines for tracking of header-only libraries:
|
||||
# stb_image 2.27^20210910gitaf1a5bc-0.2 is the minimum EVR to contain fixes for
|
||||
# all of CVE-2021-28021, CVE-2021-42715, CVE-2021-42716, and CVE-2022-28041.
|
||||
BuildRequires: stb_image-devel >= 2.27^20210910gitaf1a5bc-0.2
|
||||
BuildRequires: stb_image-static
|
||||
BuildRequires: stb_image_write-devel
|
||||
BuildRequires: stb_image_write-static
|
||||
# https://github.com/nu-book/zxing-cpp/issues/248
|
||||
Patch0: 0001-Add-a-mode-to-build-against-system-versions-of-depen.patch
|
||||
# Update stb_image/stb_image_write
|
||||
# https://github.com/nu-book/zxing-cpp/pull/269
|
||||
# Fixes CVE-2021-28021, CVE-2021-42715, and CVE-2021-42716, and adds a patch
|
||||
# file for zxing-cpp-specific changes
|
||||
Patch1: %{url}/pull/269.patch
|
||||
# Use the system copy of pybind11 rather than trying to download a copy. This
|
||||
# patch is unconditional, so it is not, as-is, suitable for sending upstream.
|
||||
Patch2: zxing-cpp-1.2.0-system-pybind11.patch
|
||||
# fix for recent libfmt
|
||||
Patch3: 0001-test-update-to-libfmt-v9.0.0.patch
|
||||
# fix for gcc 13
|
||||
Patch4: 0001-include-cstdint.patch
|
||||
Patch0: zxing-cpp-1.2.0-system-pybind11.patch
|
||||
|
||||
%description
|
||||
ZXing-C++ ("zebra crossing") is an open-source, multi-format 1D/2D barcode
|
||||
image processing library implemented in C++.
|
||||
|
||||
%package devel
|
||||
# The entire contents are ASL 2.0, except:
|
||||
#
|
||||
# - %%{_includedir}/ZXing/textcodec/*.h are exactly or effectively
|
||||
# (LGPLv2 with exceptions or LGPLv3 with exceptions)
|
||||
#
|
||||
# See licensing breakdown above base package’s License field for further
|
||||
# details.
|
||||
License: ASL 2.0 and (LGPLv2 with exceptions or LGPLv3 with exceptions)
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
|
@ -79,14 +42,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
|||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
# remove bundled stb libraries:
|
||||
rm -v thirdparty/stb/stb_image_write.h thirdparty/stb/stb_image.h
|
||||
# stb_image.h is trivially forked: reconstruct the changes with the latest
|
||||
# unbundled copy
|
||||
cp -p /usr/include/stb/stb_image.h thirdparty/stb/
|
||||
pushd thirdparty/stb
|
||||
patch -p1 < stb_image.patch
|
||||
popd
|
||||
|
||||
# don’t use unversioned “python” interpreter in tests
|
||||
sed -r -i 's@(COMMAND )python@\1%{python3}@' wrappers/python/CMakeLists.txt
|
||||
|
|
@ -140,8 +95,8 @@ popd
|
|||
%ctest
|
||||
|
||||
%files
|
||||
%license LICENSE LICENSE.ZXing LICENSE.Qt LGPL_EXCEPTION.Qt NOTICE
|
||||
%{_libdir}/libZXing.so.1
|
||||
%license LICENSE
|
||||
%{_libdir}/libZXing.so.3
|
||||
%{_libdir}/libZXing.so.%{version}
|
||||
|
||||
%files devel
|
||||
|
|
@ -152,8 +107,12 @@ popd
|
|||
%{_libdir}/pkgconfig/zxing.pc
|
||||
|
||||
%files -n python3-%{name} -f %{pyproject_files}
|
||||
%{_libdir}/zxingcpp%{python3_ext_suffix}
|
||||
|
||||
%changelog
|
||||
* Fri Feb 24 2023 Caolán McNamara <caolanm@redhat.com> 2.0.0-1
|
||||
- latest release
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue