## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global forgeurl0 https://github.com/Lecrapouille/zipper %global forgeurl1 https://github.com/Lecrapouille/minizip %global forgeurl2 https://github.com/zlib-ng/zlib-ng %global soversion 3 Name: zipper Summary: C++ wrapper around minizip compression library Version: %{soversion}.0.0 Release: %autorelease URL: %{forgeurl0} %global tag0 v%{version} %global tag1 4a2a0dc67f763436aa7e25bcc4201aab51be003b %global tag2 58aab8dbf82a204143c0ded89f2a66a5dca123c0 %forgemeta -a Source0: %{forgesource0} Source1: %{forgesource1} Source2: %{forgesource2} # C++14 needs to be used Patch: https://github.com/Lecrapouille/zipper/pull/29.patch # Include CMake devel files Patch: https://github.com/Lecrapouille/zipper/commit/237c8f2.patch # Use packaged gtest and fix ctest Patch: https://github.com/Lecrapouille/zipper/pull/37.patch # zlib and GPL+ (no version) licenses come from minizip/ source code License: MIT AND ZLIB AND GPL-1.0-or-later BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: cmake(GTest) BuildRequires: gmock-devel # TODO: try to unbundle # https://github.com/Lecrapouille/zipper/issues/34 Provides: bundled(minizip) = 1.1 Provides: bundled(zlib-ng) = 2.2.4 %description 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. By flexibility I mean supporting all kinds of inputs and outputs, but specifically been able to compress into memory instead of been restricted to file compression only, and using data from memory instead of just files as well. Features: - Create zip in memory - Allow files, vector and generic streams as input to zip - File mappings for replacing strategies (overwrite if exists or use alternative name from mapping) - Password protected zip - Multi platform %package devel Summary: Development files of %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package provides header files, shared and static library files of %{name}. %prep %forgeautosetup -p1 tar -xf %{SOURCE1} --strip-components=1 -C external/minizip tar -xf %{SOURCE2} --strip-components=1 -C external/zlib-ng # Upstream did not bump the version number in CMake # https://github.com/Lecrapouille/zipper/issues/36 sed -i "s/project(zipper VERSION 2.2.0)/project(zipper VERSION %{version})/" CMakeLists.txt %build # Support CMake 4.0 in minizip sources # https://github.com/Lecrapouille/zipper/issues/35 export CMAKE_POLICY_VERSION_MINIMUM=3.5 %cmake \ -DZIPPER_SHARED_LIB:BOOL=ON \ -DZIPPER_BUILD_TESTS:BOOL=ON %cmake_build %install %cmake_install # Remove the third-party files rm -rf %{buildroot}%{_includedir}/minizip # Not %%{_libdir} here because they hard-coded as lib there rm -rf %{buildroot}/usr/lib/libaes* rm -rf %{buildroot}/usr/lib/libminizip* rm -rf %{buildroot}/usr/cmake/minizip* %check %ctest %files %doc README.md %license LICENSE %{_libdir}/libzipper.so.%{soversion}* %files devel %{_includedir}/Zipper %{_libdir}/libzipper.so %{_libdir}/pkgconfig/zipper.pc %{_libdir}/cmake/zipper %changelog ## START: Generated by rpmautospec * Fri Jul 18 2025 Cristian Le - 3.0.0-1 - Update to 3.0 (rhbz#2381923, 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 * Sun Feb 03 2019 Fedora Release Engineering - 0.9.1-5.20170831giteee877a - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jul 14 2018 Fedora Release Engineering - 0.9.1-4.20170831giteee877a - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu May 03 2018 Antonio Trande - 0.9.1-3.20170831giteee877a - Rebuild for batched updates * Sun Apr 29 2018 Antonio Trande - 0.9.1-2.20170831giteee877a - Specify bundled code's license and version * Thu Apr 19 2018 Antonio Trande - 0.9.1-1.20170831giteee877a - First package ## END: Generated by rpmautospec