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