Initial import (#2029219)
This commit is contained in:
parent
b91d93d32f
commit
aaf8874c8e
5 changed files with 1819 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/zxing-cpp-1.2.0.tar.gz
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
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
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
SHA512 (zxing-cpp-1.2.0.tar.gz) = e61b4e44ccaf0871b5d8badf9ce0a81576f55e5d6a9458907b9b599a66227adceabb8d51a0c47b32319d8aeff93e758b4785d3bd0440375247471d95999de487
|
||||
94
zxing-cpp.spec
Normal file
94
zxing-cpp.spec
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
Name: zxing-cpp
|
||||
Version: 1.2.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
|
||||
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:
|
||||
BuildRequires: stb_image-devel
|
||||
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
|
||||
|
||||
%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}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%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 %{_includedir}/stb/stb_image.h thirdparty/stb/
|
||||
pushd thirdparty/stb
|
||||
patch -p1 < stb_image.patch
|
||||
popd
|
||||
|
||||
%build
|
||||
%cmake -DBUILD_EXAMPLES=OFF
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%check
|
||||
%ctest
|
||||
|
||||
%files
|
||||
%license LICENSE LICENSE.ZXing LICENSE.Qt LGPL_EXCEPTION.Qt NOTICE
|
||||
%{_libdir}/libZXing.so.1
|
||||
%{_libdir}/libZXing.so.%{version}
|
||||
|
||||
%files devel
|
||||
%doc README.md
|
||||
%{_includedir}/ZXing/
|
||||
%{_libdir}/libZXing.so
|
||||
%{_libdir}/cmake/ZXing/
|
||||
%{_libdir}/pkgconfig/zxing.pc
|
||||
|
||||
%changelog
|
||||
* Fri Dec 10 2021 Caolán McNamara <caolanm@redhat.com> 1.2.0-1
|
||||
- initial import
|
||||
Loading…
Add table
Add a link
Reference in a new issue