## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 4; 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 %if 0%{?rhel} # EPEL - only Qt5 packages %bcond_with qt4 %bcond_without qt5 %bcond_with qt6 %else # Fedora - build everything %bcond_without qt4 %bcond_without qt5 %bcond_without qt6 %endif %bcond_without test # see top-ldevel CMakeLists.txt for variables of same name %global QUAZIP_LIB_VERSION %{version} %global QUAZIP_LIB_SOVERSION 1.4.0 Name: quazip Version: 1.4 Release: %autorelease Summary: Qt/C++ wrapper for the minizip library License: GPLv2+ or LGPLv2+ URL: https://github.com/stachenov/quazip Source0: %{url}/archive/v%{version}/%{name}-v%{version}.tar.gz # pre-1.0 compat CMake module Source1: FindQuaZip.cmake BuildRequires: bzip2-devel BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: zlib-devel %if %{with qt4} BuildRequires: qt4-devel %endif %if %{with qt5} BuildRequires: qt5-qtbase-devel %endif %if %{with qt6} BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qt5compat-devel %endif BuildRequires: doxygen graphviz %description QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP archives. It uses Trolltech's Qt toolkit. QuaZIP allows you to access files inside ZIP archives using QIODevice API, and - yes! - that means that you can also use QTextStream, QDataStream or whatever you would like to use on your zipped files. QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading from and writing to ZIP archives. %if %{with qt4} %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: bzip2-devel%{?_isa} Requires: qt4-devel%{?_isa} Requires: zlib-devel%{?_isa} %description devel The %{name}-devel package contains libraries, header files and documentation for developing applications that use %{name}. %endif %if %{with qt5} %package qt5 Summary: Qt5 wrapper for the minizip library %description qt5 QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP archives. It uses Trolltech's Qt toolkit. QuaZIP allows you to access files inside ZIP archives using QIODevice API, and - yes! - that means that you can also use QTextStream, QDataStream or whatever you would like to use on your zipped files. QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading from and writing to ZIP archives. %package qt5-devel Summary: Development files for %{name}-qt5 Requires: %{name}-qt5%{?_isa} = %{version}-%{release} Requires: bzip2-devel%{?_isa} Requires: qt5-qtbase-devel%{?_isa} Requires: zlib-devel%{?_isa} %description qt5-devel The %{name}-qt5-devel package contains libraries, header files and documentation for developing applications that use %{name}-qt5. %endif %if %{with qt6} %package qt6 Summary: Qt6 wrapper for the minizip library %description qt6 QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP archives. It uses Trolltech's Qt toolkit. QuaZIP allows you to access files inside ZIP archives using QIODevice API, and - yes! - that means that you can also use QTextStream, QDataStream or whatever you would like to use on your zipped files. QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading from and writing to ZIP archives. %package qt6-devel Summary: Development files for %{name}-qt6 Requires: %{name}-qt6%{?_isa} = %{version}-%{release} Requires: bzip2-devel%{?_isa} Requires: qt6-qtbase-devel%{?_isa} Requires: qt6-qt5compat-devel%{?_isa} Requires: zlib-devel%{?_isa} %description qt6-devel The %{name}-qt6-devel package contains libraries, header files and documentation for developing applications that use %{name}-qt6. %endif %prep %autosetup -p1 %build %if %{with qt4} %global _vpath_builddir build-qt4 %cmake -DQUAZIP_QT_MAJOR_VERSION=4 -DQUAZIP_ENABLE_TESTS=ON %cmake_build %endif %if %{with qt5} %global _vpath_builddir build-qt5 %cmake -DQUAZIP_QT_MAJOR_VERSION=5 -DQUAZIP_ENABLE_TESTS=ON %cmake_build %endif %if %{with qt6} %global _vpath_builddir build-qt6 %cmake -DQUAZIP_QT_MAJOR_VERSION=6 -DQUAZIP_ENABLE_TESTS=ON %cmake_build %endif doxygen Doxyfile for file in doc/html/*; do touch -r Doxyfile $file done %install %if %{with qt4} %global _vpath_builddir build-qt4 %cmake_install %endif %if %{with qt5} %global _vpath_builddir build-qt5 %cmake_install %endif %if %{with qt6} %global _vpath_builddir build-qt6 %cmake_install %endif # Create compat symlinks/files so that packages that use the old (pre-1.0) # library location, include paths, or CMake module still build against the # devel package. Note that the resulting binaries will refer to the new # library name, though. # # These symlinks should probably be removed once all dependent packages are # switched to use the new pkgconfig or CMake modules. %if %{with qt4} ln -s libquazip1-qt4.so %{buildroot}%{_libdir}/libquazip.so install -d %{buildroot}%{_includedir}/quazip pushd %{buildroot}%{_includedir}/QuaZip-Qt4-%{version}/quazip for f in *; do ln -s ../QuaZip-Qt4-%{version}/quazip/$f %{buildroot}%{_includedir}/quazip/$f done popd install -d %{buildroot}%{_datadir}/cmake/Modules install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip.cmake %endif %if %{with qt5} ln -s libquazip1-qt5.so %{buildroot}%{_libdir}/libquazip5.so install -d %{buildroot}%{_includedir}/quazip5 pushd %{buildroot}%{_includedir}/QuaZip-Qt5-%{version}/quazip for f in *; do ln -s ../QuaZip-Qt5-%{version}/quazip/$f %{buildroot}%{_includedir}/quazip5/$f done popd install -d %{buildroot}%{_datadir}/cmake/Modules install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/cmake/Modules/FindQuaZip5.cmake %endif %if %{with test} %check # Qt4 uses the locale rather than libicu to determine file name encoding. # Thus we need to force a UTF-8 locale, otherwise the tests will fail # under Qt4. # https://github.com/stachenov/quazip/issues/127 export LC_ALL=C.UTF-8 # In some emulated environments (such as the s390x mock chroot emulated # on x86_64) the regexp JIT is broken, so turn it off to avoid incorrect # test failures. export QT_ENABLE_REGEXP_JIT=0 %if %{with qt4} %global _vpath_builddir build-qt4 %ctest %endif %if %{with qt5} %global _vpath_builddir build-qt5 %ctest %endif %if %{with qt6} %global _vpath_builddir build-qt6 %ctest %endif %endif %if %{with qt4} %files %doc NEWS.txt README.md %license COPYING %{_libdir}/libquazip1-qt4.so.%{QUAZIP_LIB_VERSION} %{_libdir}/libquazip1-qt4.so.%{QUAZIP_LIB_SOVERSION} %files devel %doc doc/html %{_includedir}/QuaZip-Qt4-%{version}/ %{_libdir}/libquazip1-qt4.so %{_libdir}/cmake/QuaZip-Qt4-%{version}/ %{_libdir}/pkgconfig/quazip1-qt4.pc # pre-1.0 compat files %{_includedir}/quazip/ %{_libdir}/libquazip.so %{_datadir}/cmake/Modules/FindQuaZip.cmake %endif %if %{with qt5} %files qt5 %doc NEWS.txt README.md %license COPYING %{_libdir}/libquazip1-qt5.so.%{QUAZIP_LIB_VERSION} %{_libdir}/libquazip1-qt5.so.%{QUAZIP_LIB_SOVERSION} %files qt5-devel %doc doc/html %{_includedir}/QuaZip-Qt5-%{version}/ %{_libdir}/libquazip1-qt5.so %{_libdir}/cmake/QuaZip-Qt5-%{version}/ %{_libdir}/pkgconfig/quazip1-qt5.pc # pre-1.0 compat files %{_includedir}/quazip5/ %{_libdir}/libquazip5.so %{_datadir}/cmake/Modules/FindQuaZip5.cmake %endif %if %{with qt6} %files qt6 %doc NEWS.txt README.md %license COPYING %{_libdir}/libquazip1-qt6.so.%{QUAZIP_LIB_VERSION} %{_libdir}/libquazip1-qt6.so.%{QUAZIP_LIB_SOVERSION} %files qt6-devel %doc doc/html %{_includedir}/QuaZip-Qt6-%{version}/ %{_libdir}/libquazip1-qt6.so %{_libdir}/cmake/QuaZip-Qt6-%{version}/ %{_libdir}/pkgconfig/quazip1-qt6.pc %endif %changelog * Fri May 05 2023 Nicolas Chauvet 1.4-4 - Add bzip2-devel * Thu May 04 2023 Nicolas Chauvet 1.4-3 - Fixup soversion * Thu May 04 2023 Nicolas Chauvet 1.4-2 - Update quazip soversion * Thu May 04 2023 Nicolas Chauvet 1.4-1 - Update to 1.4 * Sat Mar 25 2023 topazus 1.3-10 - switch to %%ctest macro * Sat Mar 25 2023 topazus 1.3-9 - Remove ldconfig scriptlets * Sat Mar 25 2023 topazus 1.3-8 - CMake do out-of-source builds by default * Fri Jan 20 2023 Fedora Release Engineering 1.3-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Sep 01 2022 Ondrej Mosnáček 1.3-6 - Ship quazip1-qt6.pc in the devel package - Resolves: rhbz#2123295 * Thu Sep 01 2022 Ondrej Mosnáček - 1.3-5 - Switch to rpmautospec * Sat Jul 23 2022 Fedora Release Engineering - 1.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Apr 18 2022 Rex Dieter 1.3-2 - track library sonames explicitly * Sun Apr 17 2022 Ondrej Mosnacek - 1.3-1 - Update to 1.3 - Resolves: rhbz#2075993 * Sun Mar 06 2022 Ondrej Mosnacek - 1.2-3 - Build Qt6 subpackages on s390x * Fri Jan 21 2022 Fedora Release Engineering - 1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sun Nov 14 2021 Fedora Release Monitoring - 1.2-1 - Update to 1.2 (#2023014) * Tue Sep 14 2021 Ondrej Mosnacek - 1.1-3 - Fix symlink-directory conflict on upgrade * Thu Aug 19 2021 Ondrej Mosnacek - 1.1-2 - Add Qt6 subpackages * Sat Jul 31 2021 Ondrej Mosnacek - 1.1-1 - Update to 1.1 - Resolves: rhbz#1895170 * Fri Jul 23 2021 Fedora Release Engineering - 0.7.6-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jan 27 2021 Fedora Release Engineering - 0.7.6-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Aug 01 2020 Fedora Release Engineering - 0.7.6-9 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jul 29 2020 Fedora Release Engineering - 0.7.6-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Mar 04 2020 Sandro Mani - 0.7.6-7 - Fix cmake module install path * Thu Jan 30 2020 Fedora Release Engineering - 0.7.6-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Mon Oct 21 2019 Felipe Borges - 0.7.6-5 - Add patch to fix FindQuaZip.cmake install path * Fri Jul 26 2019 Fedora Release Engineering - 0.7.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Tue Mar 26 2019 Nicolas Chauvet - 0.7.6-3 - Add zlib-devel - rhbz#1634468 * Sat Feb 02 2019 Fedora Release Engineering - 0.7.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Jul 17 2018 Nicolas Chauvet - 0.7.6-1 - Update to 0.7.6 * Sat Jul 14 2018 Fedora Release Engineering - 0.7.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Fri Feb 09 2018 Fedora Release Engineering - 0.7.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Fedora Release Engineering - 0.7.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 0.7.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Feb 13 2017 Nicolas Chauvet - 0.7.3-1 - Update to 0.7.3 * Sat Feb 11 2017 Fedora Release Engineering - 0.7.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Tue Apr 12 2016 Nicolas Chauvet - 0.7.2-1 - Update to 0.7.2 - Add patch to fix build with qt5 (disable static version) * Thu Feb 04 2016 Fedora Release Engineering - 0.7.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jun 18 2015 Fedora Release Engineering - 0.7.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun Apr 19 2015 Rex Dieter 0.7.1-2 - quazip qt5 support (#1197484) * Thu Jan 08 2015 Nicolas Chauvet - 0.7.1-1 - Update to 0.7.1 * Sun Aug 17 2014 Fedora Release Engineering - 0.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Jul 29 2014 Nicolas Chauvet - 0.7-1 - Update to 0.7.0 * Sun Jun 08 2014 Fedora Release Engineering - 0.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Feb 12 2014 Nicolas Chauvet - 0.6.2-1 - Update to 0.6.2 * Sun Jan 26 2014 Nicolas Chauvet - 0.6.1-1 - Update to 0.6.1 - Clean spec file * Sun Aug 04 2013 Fedora Release Engineering - 0.5.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sun Mar 03 2013 Nicolas Chauvet - 0.5.1-1 - Update to 0.5.1 * Sun Sep 09 2012 Nicolas Chauvet - 0.5-1 - Update to 0.5 * Sat Jul 21 2012 Fedora Release Engineering - 0.4.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Jan 16 2012 Nicolas Chauvet - 0.4.4-1 - Update to 0.4.4 * Sat Jan 14 2012 Fedora Release Engineering - 0.4.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Sat Dec 17 2011 Nicolas Chauvet - 0.4.3-1 - Update to 0.4.3 * Fri Aug 19 2011 Nicolas Chauvet - 0.4.2-1 - Update to 0.4.2 - Rebase ld patch * Mon Jul 25 2011 Nicolas Chauvet - 0.4.1-1 - Update to 0.4.1 * Tue Feb 08 2011 Fedora Release Engineering - 0.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sat Jul 24 2010 Chen Lei - 0.3-2 - add BR:graphviz for building apidocs * Sat Jul 24 2010 Chen Lei - 0.3-1 - update to 0.3 * Wed Feb 3 2010 Chen Lei - 0.2.3-5 - quazip-devel must Requires minizip-devel * Sun Jan 31 2010 Chen Lei - 0.2.3-4 - change license to GPLv2+ or LGPLv2+ * Sun Jan 31 2010 Chen Lei - 0.2.3-3 - use %%doc for packaging documentations * Sun Jan 31 2010 Chen Lei - 0.2.3-2 - use system-wide minizip library * Sun Jan 31 2010 Chen Lei - 0.2.3-1 - initial rpm build