File mingw64-brotli.spec of Package mingw64-brotli

#
# spec file for package mingw64-brotli
#
# Copyright (c) 2024, Martin Hauke <mardnh@gmx.de>
#
# 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 http://bugs.opensuse.org/
#

%define realname brotli
Name:           mingw64-%{realname}
Version:        1.1.0
Release:        0
Summary:        Lossless Compression Algorithm
License:        MIT
Group:          Productivity/Archiving/Compression
URL:            https://github.com/google/brotli
Source:         https://github.com/google/brotli/archive/v%version.tar.gz
BuildRequires:  mingw64-cross-cmake
BuildRequires:  mingw64-cross-gcc
BuildRequires:  mingw64-cross-gcc-c++
BuildRequires:  mingw64-filesystem
%_mingw64_package_header_debug
BuildArch:      noarch

%description
This package contains the brotli command line utility to compress and
decompress data with the brotli compression algorithm.

Brotli is a generic-purpose lossless compression algorithm that
compresses data using a combination of a modern variant of the LZ77
algorithm, Huffman coding and 2nd order context modeling, with a
compression ratio comparable to the best currently available
general-purpose compression methods. It is similar in speed with
deflate but offers more dense compression.

The specification of the Brotli Compressed Data Format is defined in
RFC 7932.

%package -n mingw64-libbrotlicommon
Summary:        Common Library for Brotli Compression
Group:          System/Libraries

%description -n mingw64-libbrotlicommon
Common library for the Brotli general purpose lossless data
compression algorithm.

%package -n mingw64-libbrotlidec
Summary:        Library for Brotli Decompression
Group:          System/Libraries

%description -n mingw64-libbrotlidec
Decompression library for the Brotli general purpose lossless data
compression algorithm.

The specification of the Brotli Compressed Data Format is defined in
RFC 7932.

%package -n mingw64-libbrotlienc
Summary:        Library for Brotli Compression
Group:          System/Libraries

%description -n mingw64-libbrotlienc
Compression library for the Brotli general purpose lossless data
compression algorithm.

%package -n mingw64-%{realname}-devel
Summary:        Development and Header Files for Brotli Compression
Group:          Development/Libraries/C and C++
Requires:       mingw64-libbrotlicommon = %{version}
Requires:       mingw64-libbrotlidec = %{version}
Requires:       mingw64-libbrotlienc = %{version}

%description -n mingw64-%{realname}-devel
Development and headers files for (de)compressing data using the
Brotli general purpose lossless compression algorithm.

The specification of the Brotli Compressed Data Format is defined in
RFC 7932.

%_mingw64_debug_package

%prep
%setup -q -n %{realname}-%{version}

%build
%{_mingw64_cmake}
%{_mingw64_cmake_build}

%install
%{_mingw64_cmake_install}

%files -n mingw64-libbrotlicommon
%{_mingw64_bindir}/libbrotlicommon.dll

%files -n mingw64-libbrotlidec
%{_mingw64_bindir}/libbrotlidec.dll

%files -n mingw64-libbrotlienc
%{_mingw64_bindir}/libbrotlienc.dll

%files -n mingw64-%{realname}-devel
%license LICENSE
%{_mingw64_bindir}/brotli.exe
%{_mingw64_includedir}/brotli
%{_mingw64_libdir}/libbrotlicommon.dll.a
%{_mingw64_libdir}/libbrotlidec.dll.a
%{_mingw64_libdir}/libbrotlienc.dll.a
%{_mingw64_libdir}/pkgconfig/libbrotlicommon.pc
%{_mingw64_libdir}/pkgconfig/libbrotlidec.pc
%{_mingw64_libdir}/pkgconfig/libbrotlienc.pc

%changelog
openSUSE Build Service is sponsored by