File minizip2.spec of Package minizip2

#
# spec file for package minizip2
#
# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           minizip2
Version:        2.9.1
Release:        0
Summary:        Fork of the popular zip manipulation library found in the zlib distribution
License:        Zlib
URL:            https://github.com/nmoinvaz/minizip/
Source0:        https://github.com/nmoinvaz/minizip/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FIX-OPENSUSE minizip2-noconflict.patch aloisio@gmx.com -- remove conflicts with minizip from zlib
Patch0:         minizip2-noconflict.patch
BuildRequires:  cmake
BuildRequires:  gcc-c++
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(libbsd)
BuildRequires:  pkgconfig(zlib)

%description
Fork of the popular zip manipulation library found in the zlib distribution.

Features:

 * Creating and extracting zip archives.
 * Adding and removing entries from zip archives.
 * Read and write raw zip entry data.
 * Reading and writing zip archives from memory.
 * Zlib, BZIP2, and LZMA compression methods.
 * Password protection through Traditional PKWARE and WinZIP AES encryption.
 * Buffered streaming for improved I/O performance.
 * NTFS timestamp support for UTC last modified, last accessed, and creation dates.
 * Disk split support for splitting zip archives into multiple files.
 * Preservation of file attributes across file systems.
 * Follow and store symbolic links.
 * Unicode filename support through UTF-8 encoding.
 * Legacy character encoding support CP437, CP932, CP936, CP950.
 * Turn off compilation of compression, decompression, or encryption.
 * Windows (Win32 & WinRT), macOS and Linux platform support.
 * Streaming interface for easy implementation of additional platforms.
 * Support for Apple's compression library ZLIB implementation.
 * Zero out local file header information.
 * Zip/unzip of central directory to reduce size.
 * Ability to generate and verify CMS signature for each entry.
 * Recover the central directory if it is corrupt or missing.
 * Example minizip command line tool.

%package     -n libminizip-2-2_5
Summary:        Fork of the popular zip manipulation library found in the zlib distribution

%description -n libminizip-2-2_5
Fork of the popular zip manipulation library found in the zlib distribution.

Features:

 * Creating and extracting zip archives.
 * Adding and removing entries from zip archives.
 * Read and write raw zip entry data.
 * Reading and writing zip archives from memory.
 * Zlib, BZIP2, and LZMA compression methods.
 * Password protection through Traditional PKWARE and WinZIP AES encryption.
 * Buffered streaming for improved I/O performance.
 * NTFS timestamp support for UTC last modified, last accessed, and creation dates.
 * Disk split support for splitting zip archives into multiple files.
 * Preservation of file attributes across file systems.
 * Follow and store symbolic links.
 * Unicode filename support through UTF-8 encoding.
 * Legacy character encoding support CP437, CP932, CP936, CP950.
 * Turn off compilation of compression, decompression, or encryption.
 * Windows (Win32 & WinRT), macOS and Linux platform support.
 * Streaming interface for easy implementation of additional platforms.
 * Support for Apple's compression library ZLIB implementation.
 * Zero out local file header information.
 * Zip/unzip of central directory to reduce size.
 * Ability to generate and verify CMS signature for each entry.
 * Recover the central directory if it is corrupt or missing.
 * Example minizip command line tool.

%package        devel
Summary:        Development files for %{name}
Requires:       libminizip-2-2_5 = %{version}

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%prep
%setup -q -n minizip-%{version}
%patch0 -p1

%build
%cmake
%cmake_build

%install
%cmake_install

%post -n libminizip-2-2_5 -p /sbin/ldconfig
%postun -n libminizip-2-2_5 -p /sbin/ldconfig

%files -n libminizip-2-2_5
%license LICENSE
%doc README.md
%{_libdir}/libminizip-2.so.*

%files devel
%doc doc/*
%dir %{_includedir}/minizip-2
%{_includedir}/minizip-2/mz.h
%{_includedir}/minizip-2/mz_compat.h
%{_includedir}/minizip-2/mz_crypt.h
%{_includedir}/minizip-2/mz_os.h
%{_includedir}/minizip-2/mz_strm.h
%{_includedir}/minizip-2/mz_strm_buf.h
%{_includedir}/minizip-2/mz_strm_bzip.h
%{_includedir}/minizip-2/mz_strm_lzma.h
%{_includedir}/minizip-2/mz_strm_mem.h
%{_includedir}/minizip-2/mz_strm_os.h
%{_includedir}/minizip-2/mz_strm_pkcrypt.h
%{_includedir}/minizip-2/mz_strm_split.h
%{_includedir}/minizip-2/mz_strm_wzaes.h
%{_includedir}/minizip-2/mz_strm_zlib.h
%{_includedir}/minizip-2/mz_zip.h
%{_includedir}/minizip-2/mz_zip_rw.h
%{_includedir}/minizip-2/unzip.h
%{_includedir}/minizip-2/zip.h
%dir %{_libdir}/cmake/minizip-2
%{_libdir}/cmake/minizip-2/minizip-2-relwithdebinfo.cmake
%{_libdir}/cmake/minizip-2/minizip-2.cmake
%{_libdir}/libminizip-2.so
%{_libdir}/pkgconfig/minizip-2.pc

%changelog
openSUSE Build Service is sponsored by