]> git.pld-linux.org Git - packages/nghttp2.git/blob - nghttp2.spec
- preliminary http3,libbpf bconds; now C++14 is used
[packages/nghttp2.git] / nghttp2.spec
1 # TODO: mruby, neverbleed?
2 #
3 # Conditional build:
4 %bcond_without  asio            # libnghttp2_asio C++ library
5 %bcond_with     http3           # experimental HTTP/3 support
6 %bcond_with     libbpf          # BPF support (requires CC=clang)
7 %bcond_without  static_libs     # static libraries
8 %bcond_without  tests           # "make check" call
9
10 Summary:        HTTP/2.0 C library
11 Summary(pl.UTF-8):      Biblioteka C HTTP/2.0
12 Name:           nghttp2
13 Version:        1.47.0
14 Release:        1
15 License:        MIT
16 Group:          Libraries
17 #Source0Download: https://github.com/nghttp2/nghttp2/releases
18 Source0:        https://github.com/nghttp2/nghttp2/releases/download/v%{version}/%{name}-%{version}.tar.xz
19 # Source0-md5:  6c8c35dd14a36673a9b86a7892b800f8
20 Patch0:         %{name}-link.patch
21 Patch1:         %{name}-python.patch
22 URL:            https://nghttp2.org/
23 %{?with_tests:BuildRequires:    CUnit >= 2.1}
24 BuildRequires:  autoconf >= 2.61
25 BuildRequires:  automake
26 %{?with_asio:BuildRequires:     boost-devel >= 1.54.0}
27 BuildRequires:  c-ares-devel >= 1.7.5
28 BuildRequires:  jansson-devel >= 2.5
29 %{?with_libbpf:BuildRequires:   libbpf-devel >= 0.7.0}
30 BuildRequires:  libev-devel
31 # for examples
32 BuildRequires:  libevent-devel >= 2.0.8
33 BuildRequires:  libstdc++-devel >= 6:5
34 BuildRequires:  libtool >= 2:2.2.6
35 BuildRequires:  libxml2-devel >= 1:2.6.26
36 %{?with_http3:BuildRequires:    nghttp3-devel >= 0.2.0}
37 %{?with_http3:BuildRequires:    ngtcp2-devel >= 0.2.0}
38 BuildRequires:  openssl-devel >= 1.0.1
39 %{?with_http3:BuildRequires:    openssl-devel(quic)}
40 BuildRequires:  pkgconfig >= 1:0.20
41 BuildRequires:  python3 >= 1:3.8
42 BuildRequires:  python3-Cython >= 0.19
43 BuildRequires:  python3-devel >= 1:3.8
44 BuildRequires:  python3-setuptools
45 BuildRequires:  rpm-pythonprov
46 BuildRequires:  rpmbuild(macros) >= 1.734
47 BuildRequires:  sed >= 4.0
48 BuildRequires:  systemd-devel >= 1:209
49 BuildRequires:  tar >= 1:1.22
50 BuildRequires:  xz
51 BuildRequires:  zlib-devel >= 1.2.3
52 Requires:       %{name}-libs = %{version}-%{release}
53 Requires:       c-ares >= 1.7.5
54 Requires:       jansson >= 2.5
55 # noinst examples only
56 #Requires:      libevent >= 2.0.8
57 Requires:       libxml2 >= 1:2.6.26
58 Requires:       openssl >= 1.0.1
59 Requires:       zlib >= 1.2.3
60 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61
62 %description
63 This is an experimental implementation of Hypertext Transfer Protocol
64 version 2.0.
65
66 %description -l pl.UTF-8
67 Ta biblioteka jest eksperymentalną implementacją protokołu HTTP
68 (Hypertext Transfer Protocol) w wersji 2.0.
69
70 %package libs
71 Summary:        A library implementing the HTTP/2 protocol
72 Summary(pl.UTF-8):      Biblioteka implementująca protokół HTTP/2
73 Group:          Libraries
74 Conflicts:      nghttp2 < 1.11.1-2
75
76 %description libs
77 libnghttp2 is a library implementing the Hypertext Transfer Protocol
78 version 2 (HTTP/2) protocol in C.
79
80 %description libs -l pl.UTF-8
81 libnghttp2 to napisana w C biblioteka implementująca protokół HTTP/2
82 (Hypertext Transfer Protocol w wersji 2).
83
84 %package devel
85 Summary:        Files needed for developing with libnghttp2
86 Summary(pl.UTF-8):      Pliki niezbędne do tworzenia aplikacji z użyciem libnghttp2
87 Group:          Development/Libraries
88 Requires:       %{name}-libs = %{version}-%{release}
89
90 %description devel
91 Files needed for building applications with libnghttp2.
92
93 %description devel -l pl.UTF-8
94 Pliki niezbędne do tworzenia aplikacji z użyciem libnghttp2.
95
96 %package static
97 Summary:        Static libnghttp2 library
98 Summary(pl.UTF-8):      Statyczna biblioteka libnghttp2
99 Group:          Development/Libraries
100 Requires:       %{name}-devel = %{version}-%{release}
101
102 %description static
103 Static libnghttp2 library.
104
105 %description static -l pl.UTF-8
106 Statyczna biblioteka libnghttp2.
107
108 %package -n python3-nghttp2
109 Summary:        Python binding to nghttp2 library
110 Summary(pl.UTF-8):      Wiązanie Pythona do biblioteki nghttp2
111 Group:          Libraries/Python
112 Requires:       %{name} = %{version}-%{release}
113 Requires:       python3-libs >= 1:3.8
114 Obsoletes:      python-nghttp2 < 1.43.0
115
116 %description -n python3-nghttp2
117 Python binding to nghttp2 library.
118
119 %description -n python3-nghttp2 -l pl.UTF-8
120 Wiązanie Pythona do biblioteki nghttp2.
121
122 %package asio
123 Summary:        HTTP/2.0 C++ library
124 Summary(pl.UTF-8):      Biblioteka C++ HTTP/2.0
125 Group:          Libraries
126 Requires:       %{name}-libs = %{version}-%{release}
127 Requires:       openssl >= 1.0.1
128
129 %description asio
130 HTTP/2.0 C++ library.
131
132 %description asio -l pl.UTF-8
133 Biblioteka C++ HTTP/2.0.
134
135 %package asio-devel
136 Summary:        Header file for nghttp2_asio library
137 Summary(pl.UTF-8):      Plik nagłówkowy biblioteki nghttp2_asio
138 Group:          Development/Libraries
139 Requires:       %{name}-asio = %{version}-%{release}
140 Requires:       %{name}-devel = %{version}-%{release}
141 Requires:       libstdc++-devel >= 6:5
142
143 %description asio-devel
144 Header file for nghttp2_asio library.
145
146 %description asio-devel -l pl.UTF-8
147 Plik nagłówkowy biblioteki nghttp2_asio.
148
149 %package asio-static
150 Summary:        Static libnghttp2_asio library
151 Summary(pl.UTF-8):      Statyczna biblioteka libnghttp2_asio
152 Group:          Development/Libraries
153 Requires:       %{name}-asio-devel = %{version}-%{release}
154
155 %description asio-static
156 Static libnghttp2_asio library.
157
158 %description asio-static -l pl.UTF-8
159 Statyczna biblioteka libnghttp2_asio.
160
161 %prep
162 %setup -q
163 %patch0 -p1
164 %patch1 -p1
165
166 %{__sed} -i -e '1s,/usr/bin/env python,%{__python3},' script/fetch-ocsp-response
167
168 %build
169 %{__libtoolize}
170 %{__aclocal} -I m4
171 %{__autoconf}
172 %{__autoheader}
173 %{__automake}
174 %configure \
175         --enable-app \
176         %{?with_asio:--enable-asio-lib} \
177         --enable-hpack-tools \
178         %{?with_http3:--enable-http3} \
179         --enable-python-bindings \
180         --disable-silent-rules \
181         %{!?with_static_libs:--disable-static} \
182         --with-cython=/usr/bin/cython3 \
183         --without-jemalloc \
184         %{?with_libbpf:--with-libbpf}
185
186 %{__make}
187
188 %if %{with tests}
189 %{__make} check
190 %endif
191
192 %install
193 rm -rf $RPM_BUILD_ROOT
194
195 %{__make} install \
196         DESTDIR=$RPM_BUILD_ROOT
197
198 # obsoleted by pkg-config
199 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libnghttp2*.la
200 # packaged as %doc
201 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/nghttp2
202
203 %clean
204 rm -rf $RPM_BUILD_ROOT
205
206 %post   libs -p /sbin/ldconfig
207 %postun libs -p /sbin/ldconfig
208
209 %post   asio -p /sbin/ldconfig
210 %postun asio -p /sbin/ldconfig
211
212 %files
213 %defattr(644,root,root,755)
214 %doc AUTHORS COPYING ChangeLog README.rst
215 %attr(755,root,root) %{_bindir}/deflatehd
216 %attr(755,root,root) %{_bindir}/h2load
217 %attr(755,root,root) %{_bindir}/inflatehd
218 %attr(755,root,root) %{_bindir}/nghttp
219 %attr(755,root,root) %{_bindir}/nghttpd
220 %attr(755,root,root) %{_bindir}/nghttpx
221 %dir %{_datadir}/nghttp2
222 %attr(755,root,root) %{_datadir}/nghttp2/fetch-ocsp-response
223 %{_mandir}/man1/h2load.1*
224 %{_mandir}/man1/nghttp.1*
225 %{_mandir}/man1/nghttpd.1*
226 %{_mandir}/man1/nghttpx.1*
227
228 %files libs
229 %defattr(644,root,root,755)
230 %attr(755,root,root) %{_libdir}/libnghttp2.so.*.*.*
231 %attr(755,root,root) %ghost %{_libdir}/libnghttp2.so.14
232
233 %files devel
234 %defattr(644,root,root,755)
235 %attr(755,root,root) %{_libdir}/libnghttp2.so
236 %dir %{_includedir}/nghttp2
237 %{_includedir}/nghttp2/nghttp2*.h
238 %{_pkgconfigdir}/libnghttp2.pc
239
240 %if %{with static_libs}
241 %files static
242 %defattr(644,root,root,755)
243 %{_libdir}/libnghttp2.a
244 %endif
245
246 %files -n python3-nghttp2
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{py3_sitedir}/nghttp2.cpython-*.so
249 %{py3_sitedir}/python_nghttp2-%{version}-py*.egg-info
250
251 %if %{with asio}
252 %files asio
253 %defattr(644,root,root,755)
254 %attr(755,root,root) %{_libdir}/libnghttp2_asio.so.*.*.*
255 %attr(755,root,root) %ghost %{_libdir}/libnghttp2_asio.so.1
256
257 %files asio-devel
258 %defattr(644,root,root,755)
259 %attr(755,root,root) %{_libdir}/libnghttp2_asio.so
260 %{_includedir}/nghttp2/asio_http2.h
261 %{_includedir}/nghttp2/asio_http2_client.h
262 %{_includedir}/nghttp2/asio_http2_server.h
263 %{_pkgconfigdir}/libnghttp2_asio.pc
264
265 %if %{with static_libs}
266 %files asio-static
267 %defattr(644,root,root,755)
268 %{_libdir}/libnghttp2_asio.a
269 %endif
270 %endif
This page took 0.08243 seconds and 3 git commands to generate.