diff --git a/.gitignore b/.gitignore index b9266a3..f9c0b13 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /zipper-20170831giteee877ac7419eb08ecafd110d9187bc10bea483a.tar.gz +/zipper-1.0.1.tar.gz +/zipper-1.0.3.tar.gz diff --git a/sources b/sources index 4a57e06..4900d86 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zipper-20170831giteee877ac7419eb08ecafd110d9187bc10bea483a.tar.gz) = a4be44cfbf580901a9af08117cb0479dca00a4b733ee26253aea77e4c9e8e5f13be0953aaf0be1d72ac1fa131cd5e87ca1a70fcf77f9cdaf128ace05e4df4eaa +SHA512 (zipper-1.0.3.tar.gz) = 27a04317a5707bd144965218aec190d110b8961e26da1895cb98c81ad3d2956f56fd13a6c5e020260b0e74ccd18b581b14fc5af15e0d8033d105ed2479ff15fe diff --git a/zipper-gcc14.patch b/zipper-gcc14.patch new file mode 100644 index 0000000..0029c56 --- /dev/null +++ b/zipper-gcc14.patch @@ -0,0 +1,31 @@ +--- a/minizip/ioapi_buf.orig.c 2021-05-14 12:57:50.000000000 +0200 ++++ b/minizip/ioapi_buf.c 2024-03-17 21:21:15.921141751 +0100 +@@ -10,6 +10,12 @@ + See the accompanying LICENSE file for the full text of the license. + */ + ++#if defined __GNUC__ && __GNUC__ >= 14 ++#pragma GCC diagnostic warning "-Wimplicit-function-declaration" ++#pragma GCC diagnostic warning "-Wincompatible-pointer-types" ++#pragma GCC diagnostic warning "-Wint-conversion" ++#pragma GCC diagnostic warning "-Wreturn-mismatch" ++#endif + + #include + #include +--- a/minizip/unzip.orig.c 2021-05-14 12:57:50.000000000 +0200 ++++ b/minizip/unzip.c 2024-03-17 21:35:00.081438969 +0100 +@@ -21,6 +21,13 @@ + access functions to crctables and pkeys + */ + ++#if defined __GNUC__ && __GNUC__ >= 14 ++#pragma GCC diagnostic warning "-Wimplicit-function-declaration" ++#pragma GCC diagnostic warning "-Wincompatible-pointer-types" ++#pragma GCC diagnostic warning "-Wint-conversion" ++#pragma GCC diagnostic warning "-Wreturn-mismatch" ++#endif ++ + #include + #include + #include diff --git a/zipper.spec b/zipper.spec index c18908e..4db6a1e 100644 --- a/zipper.spec +++ b/zipper.spec @@ -1,31 +1,30 @@ -%global commit eee877ac7419eb08ecafd110d9187bc10bea483a -%global date 20170831 - -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - Name: zipper Summary: C++ wrapper around minizip compression library -Version: 0.9.1 -Release: 6.%{date}git%{shortcommit}%{?dist} -URL: https://github.com/fbergmann/zipper +Version: 1.0.3 +Release: 14%{?dist} +URL: https://github.com/sebastiandev/zipper ## Source archive from github obtained by -## git clone --recursive https://github.com/sebastiandev/zipper.git -## rm -rf zipper/.git -## tar -czvf zipper-%%{date}git%%{commit}.tar.gz zipper +## git clone -b v1.0.3 --depth 1 --single-branch --progress --recursive https://github.com/sebastiandev/zipper.git +## rm -rf zipper/.git* +## tar -czvf zipper-1.0.3.tar.gz zipper +Source0: https://github.com/sebastiandev/zipper/archive/zipper/%{name}-%{version}.tar.gz -Source0: zipper-%{date}git%{commit}.tar.gz +#Patch0: zipper-unbundle_minizip.patch +Patch1: zipper-gcc14.patch # zlib and GPL+ (no version) licenses come from minizip/ source code -License: MIT and zlib and GPL+ +License: MIT AND ZLIB AND GPL-1.0-or-later -BuildRequires: cmake -BuildRequires: gcc-c++ -BuildRequires: zlib-devel -Provides: bundled(minizip) = 1.2.8 +BuildRequires: make +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(zlib) +#BuildRequires: minizip-compat-devel +Provides: bundled(minizip) = 1.1 %description -Zipper's goal is to bring the power and simplicity of minizip to a more +Zipper brings the power and simplicity of minizip to a more object oriented/c++ user friendly library. It was born out of the necessity of a compression library that would be reliable, simple and flexible. @@ -57,45 +56,105 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release} This package provides static library file of %{name}. %prep -%autosetup -n zipper - -# Fix library destination -sed -e 's|DESTINATION lib|DESTINATION %{_lib}|g' -i CMakeLists.txt - -# Fix permissions -find ./minizip/ -name '*.c' -exec chmod 0644 '{}' \; +%autosetup -n %{name} -p1 %build -mkdir -p build && cd build -export CXXFLAGS="%{optflags} -Wl,--as-needed" -%cmake -Wno-cpp \ +# TODO: remove CMAKE_POLICY_VERSION_MINIMUM if the new upstream source is used +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +%cmake -Wno-cpp -Wno-dev \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DBUILD_SHARED_VERSION:BOOL=ON -DBUILD_STATIC_VERSION:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DCMAKE_COLOR_MAKEFILE:BOOL=ON \ - -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES -DCMAKE_SKIP_RPATH:BOOL=YES .. -%make_build + -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES -DCMAKE_SKIP_RPATH:BOOL=YES \ + -DINSTALL_PKGCONFIG_DIR:PATH=%{_libdir}/pkgconfig \ + -DZLIB_INCLUDE_DIR:PATH=%{_includedir} -DZLIB_LIBRARY_RELEASE:FILEPATH=%{_libdir}/libz.so \ +%if "%{?_lib}" == "lib64" + %{?_cmake_lib_suffix64} +%endif +%cmake_build %install -export LIBDIR=%{_libdir} -%make_install -C build +%cmake_install -%ldconfig_scriptlets +rm -f %{buildroot}%{_bindir}/Zipper-test %check -make test -C build +%ctest %files %doc README.md VERSION.txt %license LICENSE.md -%{_libdir}/*.so.* +%{_libdir}/*.so.1 +%{_libdir}/*.so.1.0.2 %files devel %{_libdir}/*.so %{_includedir}/zipper/ +%{_libdir}/pkgconfig/*.pc +%{_libdir}/cmake/*.cmake %files static -%{_libdir}/*-static.a +%{_libdir}/libZipper.a +%{_libdir}/libZipper-static.a %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.0.3-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1.0.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jul 30 2025 Cristian Le - 1.0.3-12 +- Add temporary fix for CMake 4.0 (rhbz#2381650) + +* Fri Jul 25 2025 Antonio Trande - 1.0.3-11 +- Fix rhbz#2381650 rhbz#2381687 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.0.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1.0.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Mar 17 2024 Antonio Trande - 1.0.3-8 +- Patched for GCC-14 + +* Sat Jan 27 2024 Fedora Release Engineering - 1.0.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.0.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.0.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 14 2021 Antonio Trande - 1.0.3-1 +- Release 1.0.3 + +* Thu Jan 28 2021 Fedora Release Engineering - 1.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 1.0.1-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat May 09 2020 Antonio Trande - 1.0.1-1 +- Release 1.0.1 + +* Fri Jan 31 2020 Fedora Release Engineering - 0.9.1-7.20170831giteee877a +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Sat Jul 27 2019 Fedora Release Engineering - 0.9.1-6.20170831giteee877a - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild