From f6cbc7188cc065822ae5dea75fd8d8070ae0aae8 Mon Sep 17 00:00:00 2001 From: tigro Date: Mon, 11 Sep 2023 16:22:45 +0300 Subject: [PATCH] import quazip-1.2-2.el9 --- .gitignore | 1 + .quazip.metadata | 1 + SOURCES/FindQuaZip.cmake | 43 ++++ SPECS/quazip.spec | 441 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 486 insertions(+) create mode 100644 .gitignore create mode 100644 .quazip.metadata create mode 100644 SOURCES/FindQuaZip.cmake create mode 100644 SPECS/quazip.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1af3a94 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/quazip-v1.2.tar.gz diff --git a/.quazip.metadata b/.quazip.metadata new file mode 100644 index 0000000..bf9d531 --- /dev/null +++ b/.quazip.metadata @@ -0,0 +1 @@ +0aaaa4cf2a35838dcfba6dc0105d5a2a5268fde0 SOURCES/quazip-v1.2.tar.gz diff --git a/SOURCES/FindQuaZip.cmake b/SOURCES/FindQuaZip.cmake new file mode 100644 index 0000000..23f4918 --- /dev/null +++ b/SOURCES/FindQuaZip.cmake @@ -0,0 +1,43 @@ +# QUAZIP_FOUND - QuaZip library was found +# QUAZIP_INCLUDE_DIR - Path to QuaZip include dir +# QUAZIP_INCLUDE_DIRS - Path to QuaZip and zlib include dir (combined from QUAZIP_INCLUDE_DIR + ZLIB_INCLUDE_DIR) +# QUAZIP_LIBRARIES - List of QuaZip libraries +# QUAZIP_ZLIB_INCLUDE_DIR - The include dir of zlib headers + + +IF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + # in cache already + SET(QUAZIP_FOUND TRUE) +ELSE (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + IF (Qt5Core_FOUND) + set(QUAZIP_LIB_VERSION_SUFFIX 5) + ENDIF() + IF (WIN32) + FIND_PATH(QUAZIP_LIBRARY_DIR + WIN32_DEBUG_POSTFIX d + NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll + HINTS "C:/Programme/" "C:/Program Files" + PATH_SUFFIXES QuaZip/lib + ) + FIND_LIBRARY(QUAZIP_LIBRARIES NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll HINTS ${QUAZIP_LIBRARY_DIR}) + FIND_PATH(QUAZIP_INCLUDE_DIR NAMES quazip.h HINTS ${QUAZIP_LIBRARY_DIR}/../ PATH_SUFFIXES include/quazip) + FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR NAMES zlib.h) + ELSE(WIN32) + FIND_PACKAGE(PkgConfig) +# pkg_check_modules(PC_QCA2 QUIET qca2) + pkg_check_modules(PC_QUAZIP quazip) + FIND_LIBRARY(QUAZIP_LIBRARIES + WIN32_DEBUG_POSTFIX d + NAMES quazip${QUAZIP_LIB_VERSION_SUFFIX} + HINTS /usr/lib /usr/lib64 + ) + FIND_PATH(QUAZIP_INCLUDE_DIR quazip.h + HINTS /usr/include /usr/local/include + PATH_SUFFIXES quazip${QUAZIP_LIB_VERSION_SUFFIX} + ) + FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR zlib.h HINTS /usr/include /usr/local/include) + ENDIF (WIN32) + INCLUDE(FindPackageHandleStandardArgs) + SET(QUAZIP_INCLUDE_DIRS ${QUAZIP_INCLUDE_DIR} ${QUAZIP_ZLIB_INCLUDE_DIR}) + find_package_handle_standard_args(QUAZIP DEFAULT_MSG QUAZIP_LIBRARIES QUAZIP_INCLUDE_DIR QUAZIP_ZLIB_INCLUDE_DIR QUAZIP_INCLUDE_DIRS) +ENDIF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) diff --git a/SPECS/quazip.spec b/SPECS/quazip.spec new file mode 100644 index 0000000..425b381 --- /dev/null +++ b/SPECS/quazip.spec @@ -0,0 +1,441 @@ +%undefine __cmake_in_source_build + +%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 +# qt6 is currently FTBFS and thus excluded on s390x +# https://bugzilla.redhat.com/show_bug.cgi?id=2012824 +# https://bugreports.qt.io/browse/QTBUG-93101 +%ifarch s390x +%bcond_with qt6 +%else +%bcond_without qt6 +%endif +%endif + +%bcond_without test + +Name: quazip +Version: 1.2 +Release: 2%{?dist} +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: 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: 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: 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: 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 +%cmake_build -t check +%endif + +%if %{with qt5} +%global _vpath_builddir build-qt5 +%cmake_build -t check +%endif + +%if %{with qt6} +%global _vpath_builddir build-qt6 +%cmake_build -t check +%endif +%endif + +%ldconfig_scriptlets + +%if %{with qt4} +%files +%doc NEWS.txt README.md +%license COPYING +%{_libdir}/libquazip1-qt4.so.1* + +%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.1* + +%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.1* + +%files qt6-devel +%doc doc/html +%{_includedir}/QuaZip-Qt6-%{version}/ +%{_libdir}/libquazip1-qt6.so +%{_libdir}/cmake/QuaZip-Qt6-%{version}/ +# qt6-qtbase-devel currently doesn't provide pkgconfig(Qt6Core) +# https://bugreports.qt.io/browse/QTBUG-86080 +%exclude %{_libdir}/pkgconfig/quazip1-qt6.pc +%endif + + +%changelog +* Mon Sep 11 2023 Arkady L. Shane - 1.2-2 +- Rebuilt for MSVSphere 9.2 + +* 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