[packages/brotli] - new

qboosh qboosh at pld-linux.org
Sun Dec 27 21:55:36 CET 2015


commit 5d709d97cec473fe73c59d1b82175a37542ef949
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Dec 27 21:56:52 2015 +0100

    - new

 brotli.spec            | 215 +++++++++++++++++++++++++++++++++++++++++++++++++
 libbrotli-update.patch |  40 +++++++++
 2 files changed, 255 insertions(+)
---
diff --git a/brotli.spec b/brotli.spec
new file mode 100644
index 0000000..d773770
--- /dev/null
+++ b/brotli.spec
@@ -0,0 +1,215 @@
+#
+# Conditional build:
+%bcond_without	python2		# Python 2 module
+%bcond_without	python3		# Python 3 module
+%bcond_without	static_libs	# don't build static libraries
+#
+Summary:	Brotli - generic-purpose lossless compression algorithm
+Summary(pl.UTF-8):	Brotli - algorytm bezstratnej kompresji ogólnego przeznaczenia
+Name:		brotli
+Version:	0.2.0
+Release:	1
+License:	Apache v2.0
+Group:		Libraries
+#Source0Download: https://github.com/google/brotli/releases
+Source0:	https://github.com/google/brotli/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	6c84662ca13693967cb0a950d15873e7
+# metapackage to build shared libraries from brotli sources
+Source1:	https://github.com/bagder/libbrotli/archive/851122b665cde2374387c595ae3dc3369bf8ea05/libbrotli-20151022.tar.gz
+# Source1-md5:	6f6186f75a2b9385d20f9c9052965be2
+Patch0:		libbrotli-update.patch
+URL:		https://github.com/google/brotli/
+BuildRequires:	autoconf >= 2.57
+BuildRequires:	automake
+BuildRequires:	libstdc++-devel >= 6:4.7
+BuildRequires:	libtool >= 2:2
+%{?with_python2:BuildRequires:	python-devel >= 2}
+%{?with_python3:BuildRequires:	python3-devel >= 1:3.2}
+BuildRequires:	rpm-pythonprov
+BuildRequires:	rpmbuild(macros) >= 1.714
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+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
+the following Internet draft:
+<http://www.ietf.org/id/draft-alakuijala-brotli>.
+
+%description -l pl.UTF-8
+Brotli to algorytm kompresji bezstratnej ogólnego przeznaczenia,
+kompresujący dane przy użyciu kombinacji współczesnego wariantu
+algorytmu LZ77, kodowania Huffmana oraz modelowania kontekstu 2.
+rzędu, ze współczynnikami kompresji porównywalnymi do najlepszych
+obecnie dostępnych metod kompresji ogólnego przeznaczenia. Szybkość
+jest podobna do deflatingu, ale kompresja jest bardziej zwarta.
+
+Specyfikacja formatu danych kompresji Brotli jest zdefiniowana w
+następującym szkicu internetowym:
+<http://www.ietf.org/id/draft-alakuijala-brotli>.
+
+%package -n libbrotli
+Summary:	Brotli compression encoding/decoding libraries
+Summary(pl.UTF-8):	Biblioteki do kodowania/dekodowania kompresji Brotli
+Group:		Libraries
+
+%description -n libbrotli
+Brotli compression encoding/decoding libraries.
+
+%description -n libbrotli -l pl.UTF-8
+Biblioteki do kodowania/dekodowania kompresji Brotli.
+
+%package -n libbrotli-devel
+Summary:	Header files for Brotli libraries
+Summary(pl.UTF-8):	Pliki nagłówkowe bibliotek Brotli
+Group:		Development/Libraries
+Requires:	libbrotli = %{version}-%{release}
+Requires:	libstdc++-devel >= 6:4.7
+
+%description -n libbrotli-devel
+Header files for Brotli libraries.
+
+%description -n libbrotli-devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek Brotli.
+
+%package -n libbrotli-static
+Summary:	Static Brotli libraries
+Summary(pl.UTF-8):	Statyczne biblioteki Brotli
+Group:		Development/Libraries
+Requires:	libbrotli-devel = %{version}-%{release}
+
+%description -n libbrotli-static
+Static Brotli libraries.
+
+%description -n libbrotli-static -l pl.UTF-8
+Statyczne biblioteki Brotli.
+
+%package -n python-brotli
+Summary:	Python 2 module for Brotli compression decoding/encoding
+Summary(pl.UTF-8):	Moduł Pythona 2 do kodowania/dekodowania kompresji Brotli
+Group:		Libraries/Python
+
+%description -n python-brotli
+Python 2 module for Brotli compression decoding/encoding.
+
+%description -n python-brotli -l pl.UTF-8
+Moduł Pythona 2 do kodowania/dekodowania kompresji Brotli.
+
+%package -n python3-brotli
+Summary:	Python 3 module for Brotli compression decoding/encoding
+Summary(pl.UTF-8):	Moduł Pythona 3 do kodowania/dekodowania kompresji Brotli
+Group:		Libraries/Python
+
+%description -n python3-brotli
+Python 3 module for Brotli compression decoding/encoding.
+
+%description -n python3-brotli -l pl.UTF-8
+Moduł Pythona 3 do kodowania/dekodowania kompresji Brotli.
+
+%prep
+%setup -q -a1
+
+ln -snf libbrotli-* libbrotli
+rmdir libbrotli/brotli
+ln -snf .. libbrotli/brotli
+%patch0 -p0
+
+%build
+cd libbrotli
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+# use subdir so that tools build gets clean tree
+install -d build
+cd build
+../%configure \
+	--disable-silent-rules \
+	%{!?with_static_libs:--disable-static}
+%{__make}
+cd ../..
+
+CC="%{__cc}" \
+CXX="%{__cxx}" \
+CFLAGS="%{rpmcflags}" \
+CXXFLAGS="%{rpmcxxflags}" \
+CPPFLAGS="%{rpmcppflags}" \
+%{__make} -C tools
+
+%if %{with python2}
+%py_build
+%endif
+%if %{with python3}
+%py3_build
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C libbrotli/build install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+install -D tools/bro $RPM_BUILD_ROOT%{_bindir}/bro
+
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libbrotli*.la
+
+%if %{with python2}
+%py_install
+%endif
+%if %{with python3}
+%py3_install
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README.md docs/draft-alakuijala-brotli-04.txt
+%attr(755,root,root) %{_bindir}/bro
+
+%files -n libbrotli
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libbrotlidec.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbrotlidec.so.1
+%attr(755,root,root) %{_libdir}/libbrotlienc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbrotlienc.so.1
+
+%files -n libbrotli-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libbrotlidec.so
+%attr(755,root,root) %{_libdir}/libbrotlienc.so
+%{_includedir}/brotli
+%{_pkgconfigdir}/libbrotlidec.pc
+%{_pkgconfigdir}/libbrotlienc.pc
+
+%if %{with static_libs}
+%files -n libbrotli-static
+%defattr(644,root,root,755)
+%{_libdir}/libbrotlidec.a
+%{_libdir}/libbrotlienc.a
+%endif
+
+%if %{with python2}
+%files -n python-brotli
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/brotli.so
+%{py_sitedir}/Brotli-0.1.0-py*.egg-info
+%endif
+
+%if %{with python3}
+%files -n python3-brotli
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/brotli.cpython-*.so
+%{py3_sitedir}/Brotli-0.1.0-py*.egg-info
+%endif
diff --git a/libbrotli-update.patch b/libbrotli-update.patch
new file mode 100644
index 0000000..7ce4300
--- /dev/null
+++ b/libbrotli-update.patch
@@ -0,0 +1,40 @@
+--- libbrotli/Makefile.am.orig	2015-10-21 23:26:03.000000000 +0200
++++ libbrotli/Makefile.am	2015-12-27 14:54:54.463549931 +0100
+@@ -5,16 +5,14 @@
+ lib_LTLIBRARIES = libbrotlidec.la libbrotlienc.la
+ 
+ DECODE = brotli/dec/bit_reader.c brotli/dec/decode.c		\
+-  brotli/dec/huffman.c brotli/dec/state.c brotli/dec/streams.c	\
+-  brotli/dec/dictionary.c
++  brotli/dec/huffman.c brotli/dec/state.c brotli/dec/streams.c
+ 
+ ENCODE = brotli/enc/backward_references.cc brotli/enc/histogram.cc	\
+  brotli/enc/block_splitter.cc brotli/enc/literal_cost.cc		\
+  brotli/enc/brotli_bit_stream.cc brotli/enc/metablock.cc		\
+  brotli/enc/encode.cc brotli/enc/static_dict.cc				\
+  brotli/enc/encode_parallel.cc brotli/enc/streams.cc			\
+- brotli/enc/entropy_encode.cc brotli/enc/dictionary.cc			\
+- brotli/enc/utf8_util.cc
++ brotli/enc/entropy_encode.cc
+ 
+ DECODEHEADERS = brotli/dec/decode.h brotli/dec/state.h			\
+  brotli/dec/streams.h brotli/dec/types.h brotli/dec/bit_reader.h	\
+@@ -31,7 +29,7 @@
+  brotli/enc/literal_cost.h brotli/enc/cluster.h brotli/enc/bit_cost.h   \
+  brotli/enc/entropy_encode.h brotli/enc/brotli_bit_stream.h             \
+  brotli/enc/write_bits.h brotli/enc/static_dict_lut.h                   \
+- brotli/enc/encode_parallel.h brotli/enc/types.h
++ brotli/enc/encode_parallel.h
+ 
+ EXTRA_DIST = AUTHORS README
+ 
+--- libbrotli/configure.ac.orig	2015-10-21 23:26:03.000000000 +0200
++++ libbrotli/configure.ac	2015-12-27 14:49:22.816897181 +0100
+@@ -1,6 +1,6 @@
+ AC_PREREQ(2.57)
+ 
+-AC_INIT([libbrotli], [0.1.0], [-])
++AC_INIT([libbrotli], [0.2.0], [-])
+ AC_CONFIG_SRCDIR([brotli/dec/decode.h])
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIR([m4])
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/brotli.git/commitdiff/5d709d97cec473fe73c59d1b82175a37542ef949



More information about the pld-cvs-commit mailing list