diff --git a/.gitignore b/.gitignore index 4bff504..90a49bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ /zxing-cpp-2.0.0.tar.gz -/zxing-cpp-2.2.1.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index 6512a05..0000000 --- a/changelog +++ /dev/null @@ -1,48 +0,0 @@ -* Sat Jun 08 2024 Python Maint - 2.0.0-7 -- Rebuilt for Python 3.13 - -* Sat Jan 27 2024 Fedora Release Engineering - 2.0.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 2.0.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jul 01 2023 Python Maint - 2.0.0-4 -- Rebuilt for Python 3.12 - -* Wed Jun 28 2023 Vitaly Zaitsev - 2.0.0-3 -- Rebuilt due to fmt 10 update. - -* Tue Jun 13 2023 Python Maint - 2.0.0-2 -- Rebuilt for Python 3.12 - -* Fri Feb 24 2023 Caolán McNamara 2.0.0-1 -- latest release -- migrated to SPDX license - -* Sat Jan 21 2023 Fedora Release Engineering - 1.2.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Oct 26 2022 Tom Stellard - 1.2.0-8 -- Prevent stripping of python module - -* Tue Aug 02 2022 Caolán McNamara 1.2.0-7 -- Resolves: rhbz#2113772 FTBFS in Fedora rawhide/f37 - -* Sat Jul 23 2022 Fedora Release Engineering - 1.2.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 13 2022 Python Maint - 1.2.0-5 -- Rebuilt for Python 3.11 - -* Sat Apr 23 2022 Benjamin A. Beasley - 1.2.0-4 -- Security fix for CVE-2022-28041 - -* Sat Jan 22 2022 Fedora Release Engineering - 1.2.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Dec 14 2021 Caolán McNamara 1.2.0-2 -- build python bindings - -* Fri Dec 10 2021 Caolán McNamara 1.2.0-1 -- initial import diff --git a/sources b/sources index be224d4..2ce0201 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zxing-cpp-2.2.1.tar.gz) = f1de8df783061a152a18cd9102ac0c579c40c76ab4a5ba9f30bcb8ddb532f3fac08736840a631adbf7c30a7fa00ce8d65625c8cd695288620601708e8f256a53 +SHA512 (zxing-cpp-2.0.0.tar.gz) = fa22164f834a42194eafd0d3e9c09d953233c69843ac6e79c8d6513314be28d8082382b436c379368e687e0eed05cb5e566d2893ec6eb29233a36643904ae083 diff --git a/zxing-cpp-1.2.0-system-pybind11.patch b/zxing-cpp-1.2.0-system-pybind11.patch new file mode 100644 index 0000000..dfea017 --- /dev/null +++ b/zxing-cpp-1.2.0-system-pybind11.patch @@ -0,0 +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,8 +1,7 @@ + cmake_minimum_required(VERSION 3.14) + project(ZXingPython) + +-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 diff --git a/zxing-cpp.spec b/zxing-cpp.spec index e08e8d4..8757f65 100644 --- a/zxing-cpp.spec +++ b/zxing-cpp.spec @@ -1,38 +1,41 @@ -Name: zxing-cpp -Version: 2.2.1 -Release: %autorelease -Summary: C++ port of the ZXing ("Zebra Crossing") barcode scanning library +Name: zxing-cpp +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: # - wrappers/wasm/base64ArrayBuffer.js is MIT (but is not used) -License: Apache-2.0 AND MIT -URL: https://github.com/zxing-cpp/zxing-cpp -Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +License: Apache-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) +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: cmake(fmt) +# 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. +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 -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description devel +%description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. -%package -n python3-%{name} +%package -n python3-%{name} Summary: Python bindings for the %{name} barcode library -BuildRequires: python3-devel -BuildRequires: pybind11-devel -BuildRequires: chrpath +BuildRequires: python3-devel +BuildRequires: pybind11-devel +BuildRequires: chrpath -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python3-%{name} %{summary}. @@ -44,8 +47,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release} sed -r -i 's@(COMMAND )python@\1%{python3}@' wrappers/python/CMakeLists.txt # we don’t need cmake as a python dependency sed -r -i '/cmake/d' wrappers/python/pyproject.toml - -sed -i 's/pybind11\[global\]/pybind11/' wrappers/python/pyproject.toml # build verbosely: %generate_buildrequires @@ -61,11 +62,7 @@ popd &>/dev/null # CMAKE_BUILD_TYPE=RelWithDebInfo prevents the build from stripping the # python module after it is built. The stripping happens in # pybind11_add_module. -%cmake \ - -DZXING_DEPENDENCIES=LOCAL \ - -DBUILD_EXAMPLES=OFF \ - -DBUILD_PYTHON_MODULE=ON \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo +%cmake -DBUILD_EXAMPLES=OFF -DBUILD_PYTHON_MODULE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo %cmake_build pushd wrappers/python # CMake respects this environment variable. We need to see the compiler @@ -113,4 +110,33 @@ popd %{_libdir}/zxingcpp%{python3_ext_suffix} %changelog -%autochangelog +* Fri Feb 24 2023 Caolán McNamara 2.0.0-1 +- latest release +- migrated to SPDX license + +* Sat Jan 21 2023 Fedora Release Engineering - 1.2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Oct 26 2022 Tom Stellard - 1.2.0-8 +- Prevent stripping of python module + +* Tue Aug 02 2022 Caolán McNamara 1.2.0-7 +- Resolves: rhbz#2113772 FTBFS in Fedora rawhide/f37 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 1.2.0-5 +- Rebuilt for Python 3.11 + +* Sat Apr 23 2022 Benjamin A. Beasley - 1.2.0-4 +- Security fix for CVE-2022-28041 + +* Sat Jan 22 2022 Fedora Release Engineering - 1.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Caolán McNamara 1.2.0-2 +- build python bindings + +* Fri Dec 10 2021 Caolán McNamara 1.2.0-1 +- initial import