]> git.pld-linux.org Git - packages/brotli.git/blob - brotli.spec
fd1b731a914aa327b3cb8325e09ead462cf7ea4e
[packages/brotli.git] / brotli.spec
1 #
2 # Conditional build:
3 %bcond_without  python2         # Python 2 module
4 %bcond_without  python3         # Python 3 module
5 %bcond_without  static_libs     # don't build static libraries
6 #
7 Summary:        Brotli - generic-purpose lossless compression algorithm
8 Summary(pl.UTF-8):      Brotli - algorytm bezstratnej kompresji ogólnego przeznaczenia
9 Name:           brotli
10 Version:        0.5.2
11 Release:        1.1
12 License:        Apache v2.0
13 Group:          Libraries
14 #Source0Download: https://github.com/google/brotli/releases
15 Source0:        https://github.com/google/brotli/archive/v%{version}/Brotli-%{version}.tar.gz
16 # Source0-md5:  e7a6c1fe7795475f4273ee4c36a3ad5c
17 # metapackage to build shared libraries from brotli sources
18 Source1:        https://github.com/bagder/libbrotli/archive/ccb89e138b0948d7c353bc508b0d8fc584e01ff2/libbrotli-20160820.tar.gz
19 # Source1-md5:  27b5dba9342cf6461c5847667f7340e2
20 Patch0:         libbrotli-update.patch
21 URL:            https://github.com/google/brotli/
22 BuildRequires:  autoconf >= 2.57
23 BuildRequires:  automake
24 BuildRequires:  libstdc++-devel >= 6:4.7
25 BuildRequires:  libtool >= 2:2
26 %{?with_python2:BuildRequires:  python-devel >= 2}
27 %{?with_python3:BuildRequires:  python3-devel >= 1:3.2}
28 BuildRequires:  rpm-pythonprov
29 BuildRequires:  rpmbuild(macros) >= 1.714
30 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31
32 %description
33 Brotli is a generic-purpose lossless compression algorithm that
34 compresses data using a combination of a modern variant of the LZ77
35 algorithm, Huffman coding and 2nd order context modeling, with a
36 compression ratio comparable to the best currently available
37 general-purpose compression methods. It is similar in speed with
38 deflate but offers more dense compression.
39
40 The specification of the Brotli Compressed Data Format is defined in
41 the following Internet draft:
42 <http://www.ietf.org/id/draft-alakuijala-brotli>.
43
44 %description -l pl.UTF-8
45 Brotli to algorytm kompresji bezstratnej ogólnego przeznaczenia,
46 kompresujący dane przy użyciu kombinacji współczesnego wariantu
47 algorytmu LZ77, kodowania Huffmana oraz modelowania kontekstu 2.
48 rzędu, ze współczynnikami kompresji porównywalnymi do najlepszych
49 obecnie dostępnych metod kompresji ogólnego przeznaczenia. Szybkość
50 jest podobna do deflatingu, ale kompresja jest bardziej zwarta.
51
52 Specyfikacja formatu danych kompresji Brotli jest zdefiniowana w
53 następującym szkicu internetowym:
54 <http://www.ietf.org/id/draft-alakuijala-brotli>.
55
56 %package -n libbrotli
57 Summary:        Brotli compression encoding/decoding libraries
58 Summary(pl.UTF-8):      Biblioteki do kodowania/dekodowania kompresji Brotli
59 Group:          Libraries
60
61 %description -n libbrotli
62 Brotli compression encoding/decoding libraries.
63
64 %description -n libbrotli -l pl.UTF-8
65 Biblioteki do kodowania/dekodowania kompresji Brotli.
66
67 %package -n libbrotli-devel
68 Summary:        Header files for Brotli libraries
69 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek Brotli
70 Group:          Development/Libraries
71 Requires:       libbrotli = %{version}-%{release}
72 Requires:       libstdc++-devel >= 6:4.7
73
74 %description -n libbrotli-devel
75 Header files for Brotli libraries.
76
77 %description -n libbrotli-devel -l pl.UTF-8
78 Pliki nagłówkowe bibliotek Brotli.
79
80 %package -n libbrotli-static
81 Summary:        Static Brotli libraries
82 Summary(pl.UTF-8):      Statyczne biblioteki Brotli
83 Group:          Development/Libraries
84 Requires:       libbrotli-devel = %{version}-%{release}
85
86 %description -n libbrotli-static
87 Static Brotli libraries.
88
89 %description -n libbrotli-static -l pl.UTF-8
90 Statyczne biblioteki Brotli.
91
92 %package -n python-brotli
93 Summary:        Python 2 module for Brotli compression decoding/encoding
94 Summary(pl.UTF-8):      Moduł Pythona 2 do kodowania/dekodowania kompresji Brotli
95 Group:          Libraries/Python
96
97 %description -n python-brotli
98 Python 2 module for Brotli compression decoding/encoding.
99
100 %description -n python-brotli -l pl.UTF-8
101 Moduł Pythona 2 do kodowania/dekodowania kompresji Brotli.
102
103 %package -n python3-brotli
104 Summary:        Python 3 module for Brotli compression decoding/encoding
105 Summary(pl.UTF-8):      Moduł Pythona 3 do kodowania/dekodowania kompresji Brotli
106 Group:          Libraries/Python
107
108 %description -n python3-brotli
109 Python 3 module for Brotli compression decoding/encoding.
110
111 %description -n python3-brotli -l pl.UTF-8
112 Moduł Pythona 3 do kodowania/dekodowania kompresji Brotli.
113
114 %prep
115 %setup -q -a1
116
117 ln -snf libbrotli-* libbrotli
118 rmdir libbrotli/brotli
119 ln -snf .. libbrotli/brotli
120 %patch0 -p0
121
122 %build
123 cd libbrotli
124 %{__libtoolize}
125 %{__aclocal}
126 %{__autoconf}
127 %{__autoheader}
128 %{__automake}
129 # use subdir so that tools build gets clean tree
130 install -d build
131 cd build
132 ../%configure \
133         --disable-silent-rules \
134         %{!?with_static_libs:--disable-static}
135 %{__make}
136 cd ../..
137
138 CC="%{__cc}" \
139 CXX="%{__cxx}" \
140 CFLAGS="%{rpmcflags}" \
141 CXXFLAGS="%{rpmcxxflags}" \
142 CPPFLAGS="%{rpmcppflags}" \
143 %{__make}
144
145 %if %{with python2}
146 %py_build
147 %endif
148 %if %{with python3}
149 %py3_build
150 %endif
151
152 %install
153 rm -rf $RPM_BUILD_ROOT
154
155 %{__make} -C libbrotli/build install \
156         DESTDIR=$RPM_BUILD_ROOT
157
158 install -D bin/bro $RPM_BUILD_ROOT%{_bindir}/bro
159
160 # obsoleted by pkg-config
161 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libbrotli*.la
162
163 %if %{with python2}
164 %py_install
165 %endif
166 %if %{with python3}
167 %py3_install
168 %endif
169
170 %clean
171 rm -rf $RPM_BUILD_ROOT
172
173 %post   -p /sbin/ldconfig
174 %postun -p /sbin/ldconfig
175
176 %files
177 %defattr(644,root,root,755)
178 %doc README.md docs/brotli-comparison-study-2015-09-22.pdf
179 %attr(755,root,root) %{_bindir}/bro
180
181 %files -n libbrotli
182 %defattr(644,root,root,755)
183 %attr(755,root,root) %{_libdir}/libbrotlidec.so.*.*.*
184 %attr(755,root,root) %ghost %{_libdir}/libbrotlidec.so.1
185 %attr(755,root,root) %{_libdir}/libbrotlienc.so.*.*.*
186 %attr(755,root,root) %ghost %{_libdir}/libbrotlienc.so.1
187
188 %files -n libbrotli-devel
189 %defattr(644,root,root,755)
190 %attr(755,root,root) %{_libdir}/libbrotlidec.so
191 %attr(755,root,root) %{_libdir}/libbrotlienc.so
192 %{_includedir}/brotli
193 %{_pkgconfigdir}/libbrotlidec.pc
194 %{_pkgconfigdir}/libbrotlienc.pc
195
196 %if %{with static_libs}
197 %files -n libbrotli-static
198 %defattr(644,root,root,755)
199 %{_libdir}/libbrotlidec.a
200 %{_libdir}/libbrotlienc.a
201 %endif
202
203 %if %{with python2}
204 %files -n python-brotli
205 %defattr(644,root,root,755)
206 %attr(755,root,root) %{py_sitedir}/brotli.so
207 %{py_sitedir}/Brotli-0.5.2-py*.egg-info
208 %endif
209
210 %if %{with python3}
211 %files -n python3-brotli
212 %defattr(644,root,root,755)
213 %attr(755,root,root) %{py3_sitedir}/brotli.cpython-*.so
214 %{py3_sitedir}/Brotli-0.5.2-py*.egg-info
215 %endif
This page took 0.038124 seconds and 3 git commands to generate.