From 31471990be165a96780dd2ce862a31f486b4c2ff9c738727629b675e40a30219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 20 Dec 2017 17:51:39 +0000 Subject: [PATCH] Accepting request 558878 from Apache please add this new dependency of apache httpd OBS-URL: https://build.opensuse.org/request/show/558878 OBS-URL: https://build.opensuse.org/package/show/Archiving/brotli?expand=0&rev=1 --- .gitattributes | 23 ++++++ .gitignore | 1 + brotli-1.0.2.tar.gz | 3 + brotli.changes | 72 +++++++++++++++++ brotli.spec | 185 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 284 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 brotli-1.0.2.tar.gz create mode 100644 brotli.changes create mode 100644 brotli.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/brotli-1.0.2.tar.gz b/brotli-1.0.2.tar.gz new file mode 100644 index 0000000..2aed765 --- /dev/null +++ b/brotli-1.0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2cf2a16646b44771a4109bb21218c8e2d952babb827796eb8a800c1f94b7422 +size 23736359 diff --git a/brotli.changes b/brotli.changes new file mode 100644 index 0000000..e193e10 --- /dev/null +++ b/brotli.changes @@ -0,0 +1,72 @@ +------------------------------------------------------------------- +Wed Dec 20 15:59:17 UTC 2017 - pgajdos@suse.com + +- build for SLE_12 and SLE_12_SP1 + +------------------------------------------------------------------- +Thu Nov 30 13:23:39 UTC 2017 - buschmann23@opensuse.org + +- update to Brotli 1.0.2 + + Major chnages + * added Autotools build files + * switched shared library version to libtool scheme + + Minor changes + * BrotliDictionary members are not const now + * ZopfliNode distance could be up to 128MiB + * fixed API documentation typos + * total_out is always set by decoder + * fixed BROTLI_ENSURE_CAPACITY macro; no-op in preprocessed output + + Other changes + * fixed scripts for oss-fuzz, test them with Travis + * made Bazel JNI tests less messy + * fixed linter warnings in JS decoder + * fixed permissions of various files + * added Bazel build to Appveyor matrix + * added Sieve dictionary generator + +------------------------------------------------------------------- +Tue Oct 24 08:24:51 UTC 2017 - buschmann23@opensuse.org + +- update to Brotli 1.0.1 + + updated README.md + + fixed parallel exeuction of CMake "compatibility" tests +- update to Brotli 1.0.0 + + new CLI; bro -> brotli; + man page + + remove "custom dictionary" support + + add ability to side-load brotli RFC dictionary + + add decoder API to avoid ringbuffer reallocation + + PY streaming decompression support + + PY wrapper accepts memview +- spec file changes + + improve descriptions + + add man pages + +------------------------------------------------------------------- +Wed Sep 20 12:11:42 UTC 2017 - buschmann23@opensuse.org + +- spec file changes + + improve package description + +------------------------------------------------------------------- +Fri Jun 23 19:03:24 UTC 2017 - buschmann23@opensuse.org + +- update to Brotli 0.6.0 + + better compression on 1MiB+ files + + update "common" API to make dictionary fetching more flexible + + fix decoder bug #502 + + faster compression on mid-low quality levels + + fix encoder q10-11 slowdown after long copy #468 + + introduce Brotli*TakeOutput API +- now build shared libraries and development files in the following + new packages: + + libbrotlicommon0_6_0 + + libbrotlicommon-devel + + libbrotlidec0_6_0 + + libbrotlidec-devel + + libbrotlienc0_6_0 + + libbrtolienc-devel + +------------------------------------------------------------------- +Fri Mar 24 16:10:30 UTC 2017 - buschmann23@opensuse.org + +- initial package diff --git a/brotli.spec b/brotli.spec new file mode 100644 index 0000000..870c348 --- /dev/null +++ b/brotli.spec @@ -0,0 +1,185 @@ +# +# 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: libbrotlicommon-devel +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: libbrotlicommon-devel +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) +%doc LICENSE README.md CONTRIBUTING.md +%{_libdir}/libbrotlicommon.so.* + +%files -n libbrotlicommon-devel +%defattr(0644,root,root,755) +%doc LICENSE README.md CONTRIBUTING.md +%{_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) +%doc LICENSE README.md CONTRIBUTING.md +%{_libdir}/libbrotlidec.so.* + +%files -n libbrotlidec-devel +%defattr(0644,root,root,755) +%doc LICENSE README.md CONTRIBUTING.md +%{_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) +%doc LICENSE README.md CONTRIBUTING.md +%{_libdir}/libbrotlienc.so.* + +%files -n libbrotlienc-devel +%defattr(0644,root,root,755) +%doc LICENSE README.md CONTRIBUTING.md +%{_libdir}/libbrotlienc.so +%{_libdir}/pkgconfig/libbrotlienc.pc +%{_includedir}/brotli/encode.h +%{_mandir}/man3/encode.h.3%{ext_man} + +%changelog