# # spec file for package brotli # # Copyright (c) 2017 Buschmann # # 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 _soname 1 Name: brotli Version: 1.0.2 Release: 0 License: MIT Summary: Lossless Compression Algorithm Url: https://github.com/google/brotli Group: Productivity/Archiving/Compression Source0: https://github.com/google/brotli/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake >= 2.8.6 BuildRequires: gcc-c++ BuildRequires: pkg-config BuildRequires: gzip %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 libbrotlicommon%{_soname} Summary: Common Library for Brotli Compression Group: System/Libraries %description -n libbrotlicommon%{_soname} Common library for the Brotli general purpose lossless data compression algorithm. %package -n libbrotlicommon-devel Summary: Common Development Files and Headers for Brotli Group: Development/Libraries/C and C++ Requires: libbrotlicommon%{_soname} = %{version}-%{release} %description -n libbrotlicommon-devel Common development and header files for the Brotli general purpose lossless data compression algorithm. The specification of the Brotli Compressed Data Format is defined in RFC 7932. %package -n libbrotlidec%{_soname} Summary: Library for Brotli Decompression Group: System/Libraries %description -n libbrotlidec%{_soname} 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 libbrotlidec-devel Summary: Development and Header Files for Brotli Decompression Group: Development/Libraries/C and C++ Requires: libbrotlidec%{_soname} = %{version}-%{release} %description -n libbrotlidec-devel Development and header files for decompressing data compressed with the Brotli general purpose lossless data compression algorithm. The specification of the Brotli Compressed Data Format is defined in RFC 7932. %package -n libbrotlienc%{_soname} Summary: Library for Brotli Compression Group: System/Libraries %description -n libbrotlienc%{_soname} Compression 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 libbrotlienc-devel Summary: Development and Header Files for Brotli Compression Group: Development/Libraries/C and C++ Requires: libbrotlienc%{_soname} = %{version}-%{release} %description -n libbrotlienc-devel Development and headers files for compressing data using the Brotli general purpose lossless data compression algorithm. The specification of the Brotli Compressed Data Format is defined in RFC 7932. %prep %setup -q %build %cmake -DCMAKE_INSTALL_PREFIX:PATH="%{_prefix}" \ -DCMAKE_INSTALL_LIBDIR:PATH="%{_libdir}" \ -DBROTLI_DISABLE_TESTS:BOOL=off \ -DCMAKE_SKIP_RPATH:BOOL=off make %{?_smp_mflags} %install %cmake_install rm %{buildroot}%{_libdir}/libbrotli*-static.a %if 0%{?suse_version} > 1315 for i in docs/{brotli.1,decode.h.3,encode.h.3,types.h.3}; do install -D -t %{buildroot}%{_datadir}/man/man$(echo $i | sed 's:.*\.\([^\.]\)$:\1:') $i done %else mkdir -p %{buildroot}%{_datadir}/man/man{1,3} for i in docs/{brotli.1,decode.h.3,encode.h.3,types.h.3}; do cp $i %{buildroot}%{_datadir}/man/man$(echo $i | sed 's:.*\.\([^\.]\)$:\1:') done %endif %check cd build make test %post -n libbrotlicommon%{_soname} -p /sbin/ldconfig %postun -n libbrotlicommon%{_soname} -p /sbin/ldconfig %post -n libbrotlidec%{_soname} -p /sbin/ldconfig %postun -n libbrotlidec%{_soname} -p /sbin/ldconfig %post -n libbrotlienc%{_soname} -p /sbin/ldconfig %postun -n libbrotlienc%{_soname} -p /sbin/ldconfig %files %defattr(0644,root,root,755) %doc LICENSE %attr(755,root,root) /usr/bin/brotli %{_mandir}/man1/brotli.1%{ext_man} %files -n libbrotlicommon%{_soname} %defattr(0644,root,root,755) %{_libdir}/libbrotlicommon.so.* %files -n libbrotlicommon-devel %defattr(0644,root,root,755) %{_libdir}/libbrotlicommon.so %{_libdir}/pkgconfig/libbrotlicommon.pc %dir %{_includedir}/brotli %{_includedir}/brotli/port.h %{_includedir}/brotli/types.h %{_mandir}/man3/types.h.3%{ext_man} %files -n libbrotlidec%{_soname} %defattr(0644,root,root,755) %{_libdir}/libbrotlidec.so.* %files -n libbrotlidec-devel %defattr(0644,root,root,755) %{_libdir}/libbrotlidec.so %{_libdir}/pkgconfig/libbrotlidec.pc %{_includedir}/brotli/decode.h %{_mandir}/man3/decode.h.3%{ext_man} %files -n libbrotlienc%{_soname} %defattr(0644,root,root,755) %{_libdir}/libbrotlienc.so.* %files -n libbrotlienc-devel %defattr(0644,root,root,755) %{_libdir}/libbrotlienc.so %{_libdir}/pkgconfig/libbrotlienc.pc %{_includedir}/brotli/encode.h %{_mandir}/man3/encode.h.3%{ext_man} %changelog