Compare commits

...

No commits in common. 'epel9' and 'i9m' have entirely different histories.
epel9 ... i9m

2
.gitignore vendored

@ -1 +1 @@
/zxing-cpp-1.2.0.tar.gz SOURCES/zxing-cpp-2.2.1.tar.gz

@ -0,0 +1 @@
0afcee9de26e9653b4623753246e58d6a302cb89 SOURCES/zxing-cpp-2.2.1.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

File diff suppressed because it is too large Load Diff

@ -1,3 +0,0 @@
# zxing-cpp
The zxing-cpp package

@ -0,0 +1,158 @@
%bcond_with examples
Name: zxing-cpp
Version: 2.2.1
Release: 3%{?dist}.inferit
Summary: C++ port of the ZXing ("Zebra Crossing") barcode scanning library
License: LGPLv2+
Url: https://github.com/nu-book/zxing-cpp
Source0: https://github.com/nu-book/zxing-cpp/archive/v%{version}/%{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: libstdc++-static
BuildRequires: libstdc++-devel
BuildRequires: cmake(fmt)
%if %{with examples}
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Gui)
BuildRequires: cmake(Qt6Multimedia)
BuildRequires: cmake(Qt6Quick)
BuildRequires: pkgconfig(opencv)
BuildRequires: pkgconfig(stb)
%endif
%description
This project is a C++ port of ZXing Library.
Same as ZXing, following barcode are supported:
* 1D product: UPC-A UPC-E EAN-8 EAN-13
* 1D industrial: Code 39, Code 93, Code 128, Codabar,
ITF, RSS-14, RSS-Expanded
* 2D: QR Code, Data Matrix, Aztec (beta), PDF 417 (beta)
%if %{with examples}
%package tools
Summary: Utilities provided by ZXing library
Group: System/Libraries
%description tools
This project is a C++ port of ZXing Library.
Same as ZXing, following barcode are supported:
* 1D product: UPC-A UPC-E EAN-8 EAN-13
* 1D industrial: Code 39, Code 93, Code 128, Codabar,
ITF, RSS-14, RSS-Expanded
* 2D: QR Code, Data Matrix, Aztec (beta), PDF 417 (beta)
%endif
%package devel
Summary: Development files for %{name}
Requires: %{name} >= %{version}-%{release}
Provides: zxingcore-devel = %{version}-%{release}
%description devel
This package contains the development files for %{name}.
%prep
%autosetup -p1
%build
%cmake -GNinja \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
-DBUILD_DEPENDENCIES:STRING=LOCAL \
-DBUILD_EXAMPLES:BOOL=%{?with_examples:ON}%{?!with_examples:OFF} \
-DBUILD_BLACKBOX_TESTS:BOOL=OFF \
-DBUILD_UNIT_TESTS:BOOL=OFF \
-DBUILD_PYTHON_MODULE:BOOL=OFF
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_libdir}/libZXing.so.*
%if %{with examples}
%files tools
%doc README.md
%{_bindir}/ZXingReader
%{_bindir}/ZXingWriter
%endif
%files devel
%{_includedir}/ZXing/
%{_libdir}/libZXing.so
%{_libdir}/cmake/ZXing/
%{_libdir}/pkgconfig/zxing.pc
%changelog
* Fri May 31 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 2.2.1-3.inferit
- Clean up spec
* Thu May 30 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> 2.2.1-2.inferit
- Rebuilt for MSVSphere 9.4
* Mon Dec 18 2023 daviddavid <daviddavid> 2.2.1-2.mga10
+ Revision: 2018818
- build and package zxing-cpp tools
* Mon Dec 18 2023 daviddavid <daviddavid> 2.2.1-1.mga10
+ Revision: 2018711
- new version: 2.2.1
* Thu Aug 31 2023 daviddavid <daviddavid> 2.1.0-1.mga10
+ Revision: 1982099
- new version: 2.1.0
- now libmajor is 3
* Mon Dec 26 2022 wally <wally> 1.4.0-2.mga9
+ Revision: 1926923
- bump lib major to 2 due to API breakage (from Debian)
- install BitArray.h header manually for libreoffice build
* Sat Dec 24 2022 wally <wally> 1.4.0-1.mga9
+ Revision: 1926299
- new version 1.4.0
* Wed Apr 06 2022 umeabot <umeabot> 1.2.0-3.mga9
+ Revision: 1845877
- Mageia 9 Mass Rebuild
* Tue Feb 15 2022 ns80 <ns80> 1.2.0-2.mga9
+ Revision: 1775326
- add patch from openSUSE for CVE-2021-28021 and CVE-2021-4271[56] (mga#29937)
* Sun Aug 08 2021 luigiwalser <luigiwalser> 1.2.0-1.mga9
+ Revision: 1740345
- 1.2.0
* Thu Dec 17 2020 umeabot <umeabot> 1.1.1-2.mga8
+ Revision: 1660345
- Rebuild for new Qt5
* Mon Sep 14 2020 daviddavid <daviddavid> 1.1.1-1.mga8
+ Revision: 1626505
- new version: 1.1.1
* Sun Sep 13 2020 wally <wally> 1.1.0-3.mga8
+ Revision: 1625939
- add more fixes for pkg-conf .pc file
* Sun Sep 13 2020 wally <wally> 1.1.0-2.mga8
+ Revision: 1625762
- fix devel pkg name
- fix version in pkg-conf .pc file
* Sat Aug 08 2020 daviddavid <daviddavid> 1.1.0-1.mga8
+ Revision: 1611977
- new version: 1.1.0
- upstream rename the library from libZXingCore to libZXing
* Mon Apr 06 2020 daviddavid <daviddavid> 1.0.8-1.mga8
+ Revision: 1565066
- initial package zxing-cpp

@ -1 +0,0 @@
SHA512 (zxing-cpp-1.2.0.tar.gz) = e61b4e44ccaf0871b5d8badf9ce0a81576f55e5d6a9458907b9b599a66227adceabb8d51a0c47b32319d8aeff93e758b4785d3bd0440375247471d95999de487

@ -1,94 +0,0 @@
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 BRs 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 packages 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…
Cancel
Save