1 # NOTE: for 3.4.x see DEVEL branch
4 %bcond_without dane # libdane (DANE with DNSSEC certificate verification)
5 %bcond_without openssl # libgnutls-openssl compatibility library
6 %bcond_without tpm # TPM support in gnutls
7 %bcond_without static_libs # static libraries
8 %bcond_without doc # do not generate documentation
10 Summary: The GNU Transport Layer Security Library
11 Summary(pl.UTF-8): Biblioteka GNU TLS (Transport Layer Security)
15 License: LGPL v2.1+ (libgnutls), LGPL v3+ (libdane), GPL v3+ (openssl library and tools)
17 Source0: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/%{name}-%{version}.tar.xz
18 # Source0-md5: 513110c0a550138ab68d8afde5520aa4
19 Patch0: %{name}-info.patch
20 Patch1: %{name}-link.patch
21 URL: http://www.gnutls.org/
22 BuildRequires: autoconf >= 2.61
23 BuildRequires: autogen
24 BuildRequires: autogen-devel
25 BuildRequires: automake >= 1:1.12.2
26 BuildRequires: gettext-tools >= 0.18
27 BuildRequires: gmp-devel
28 %{?with_doc:BuildRequires: gtk-doc >= 1.1}
29 BuildRequires: guile-devel >= 5:2.0
30 BuildRequires: libcfg+-devel
31 BuildRequires: libidn-devel
32 BuildRequires: libstdc++-devel
33 BuildRequires: libtasn1-devel >= 3.9
34 BuildRequires: libtool >= 2:2
35 BuildRequires: nettle-devel >= 2.7.1
36 # miniopencdk is included in sources and currently maintained
37 # as part of gnutls, not external package
38 #BuildRequires: opencdk-devel >= 0.6.6
39 BuildRequires: p11-kit-devel >= 0.20.7
40 BuildRequires: pkgconfig
41 BuildRequires: readline-devel
42 BuildRequires: rpmbuild(macros) >= 1.383
43 BuildRequires: sed >= 4.0
44 BuildRequires: tar >= 1:1.22
45 %{?with_doc:BuildRequires: texinfo >= 4.8}
46 %{?with_tpm:BuildRequires: trousers-devel >= 0.3.11}
47 %{?with_dane:BuildRequires: unbound-devel}
49 BuildRequires: zlib-devel
50 Requires: %{name}-libs = %{version}-%{release}
51 %{?with_dane:Requires: %{name}-dane = %{version}-%{release}}
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 GnuTLS is a project that aims to develop a library which provides a
56 secure layer, over a reliable transport layer (ie. TCP/IP). Currently
57 the gnuTLS library implements the proposed standards by the IETF's TLS
60 %description -l pl.UTF-8
61 GnuTLS to projekt mający na celu stworzenie biblioteki udostępniającej
62 powłokę bezpieczeństwa ponad powłoką transportową (np. TCP/IP).
63 Aktualnie biblioteka gnuTLS implementuje standardy proponowane przez
64 grupę roboczą IETF TLS.
67 Summary: GnuTLS shared libraries
68 Summary(pl.UTF-8): Biblioteki współdzielone GnuTLS
70 Requires: libtasn1 >= 3.9
71 Requires: nettle >= 2.7.1
72 #Requires: opencdk >= 0.6.6
73 Requires: p11-kit >= 0.20.7
74 %{?with_tpm:Requires: trousers-libs >= 0.3.11}
75 Conflicts: gnutls < 3.2.0
78 GnuTLS shared libraries.
80 %description libs -l pl.UTF-8
81 Biblioteki współdzielone GnuTLS.
84 Summary: Header files etc to develop gnutls applications
85 Summary(pl.UTF-8): Pliki nagłówkowe i inne do gnutls
86 License: LGPL v2.1+ (libgnutls), GPL v3+ (openssl library)
87 Group: Development/Libraries
88 Requires: %{name}-libs = %{version}-%{release}
89 Requires: libtasn1-devel >= 3.9
90 Requires: nettle-devel >= 2.7.1
91 #Requires: opencdk-devel >= 0.6.6
92 Requires: p11-kit-devel >= 0.20.7
93 %{?with_tpm:Requires: trousers-devel >= 0.3.11}
97 Header files etc to develop gnutls applications.
99 %description devel -l pl.UTF-8
100 Pliki nagłówkowe i inne do gnutls.
103 Summary: Static gnutls library
104 Summary(pl.UTF-8): Biblioteka statyczna gnutls
105 License: LGPL v2.1+ (libgnutls), GPL v3+ (openssl library)
106 Group: Development/Libraries
107 Requires: %{name}-devel = %{version}-%{release}
110 Static gnutls library.
112 %description static -l pl.UTF-8
113 Biblioteka statyczna gnutls.
116 Summary: libgnutlsxx - C++ interface to gnutls library
117 Summary(pl.UTF-8): libgnutlsxx - interfejs C++ do biblioteki gnutls
120 Requires: %{name}-libs = %{version}-%{release}
123 libgnutlsxx - C++ interface to gnutls library.
125 %description c++ -l pl.UTF-8
126 libgnutlsxx - interfejs C++ do biblioteki gnutls.
129 Summary: Header files for libgnutlsxx, a C++ interface to gnutls library
130 Summary(pl.UTF-8): Pliki nagłówkowe libgnutlsxx - interfejsu C++ do biblioteki gnutls
132 Group: Development/Libraries
133 Requires: %{name}-c++ = %{version}-%{release}
134 Requires: %{name}-devel = %{version}-%{release}
135 Requires: libstdc++-devel
137 %description c++-devel
138 Header files for libgnutlsxx, a C++ interface to gnutls library.
140 %description c++-devel -l pl.UTF-8
141 Pliki nagłówkowe libgnutlsxx - interfejsu C++ do biblioteki gnutls.
144 Summary: Static version of libgnutlsxx, a C++ interface to gnutls library
145 Summary(pl.UTF-8): Statyczna wersja libgnutlsxx - interfejsu C++ do biblioteki gnutls
147 Group: Development/Libraries
148 Requires: %{name}-c++-devel = %{version}-%{release}
150 %description c++-static
151 Static version of libgnutlsxx, a C++ interface to gnutls library.
153 %description c++-static -l pl.UTF-8
154 Statyczna wersja libgnutlsxx - interfejsu C++ do biblioteki gnutls.
157 Summary: DANE security library
158 Summary(pl.UTF-8): Biblioteka bezpieczeństwa DANE
160 Requires: %{name}-libs = %{version}-%{release}
163 DANE security library.
165 %description dane -l pl.UTF-8
166 Biblioteka bezpieczeństwa DANE.
169 Summary: Header file for DANE security library
170 Summary(pl.UTF-8): Plik nagłówkowy biblioteki bezpieczeństwa DANE
171 Group: Development/Libraries
172 Requires: %{name}-dane = %{version}-%{release}
173 Requires: %{name}-devel = %{version}-%{release}
174 Requires: unbound-devel
176 %description dane-devel
177 Header file for DANE security library.
179 %description dane-devel -l pl.UTF-8
180 Plik nagłówkowy biblioteki bezpieczeństwa DANE.
183 Summary: Static DANE security library
184 Summary(pl.UTF-8): Statyczna biblioteka bezpieczeństwa DANE
185 Group: Development/Libraries
186 Requires: %{name}-dane-devel = %{version}-%{release}
188 %description dane-static
189 Static DANE security library.
191 %description dane-static -l pl.UTF-8
192 Statyczna biblioteka bezpieczeństwa DANE.
195 Summary: OpenSSL compatibility library for GnuTLS
196 Summary(pl.UTF-8): Biblioteka zgodności z OpenSSL dla GnuTLS
198 Requires: %{name}-libs = %{version}-%{release}
201 OpenSSL compatibility library for GnuTLS.
203 %description openssl -l pl.UTF-8
204 Biblioteka zgodności z OpenSSL dla GnuTLS.
206 %package openssl-devel
207 Summary: Header file for gnutls-openssl library
208 Summary(pl.UTF-8): Plik nagłówkowy biblioteki gnutls-openssl
209 Group: Development/Libraries
210 Requires: %{name}-devel = %{version}-%{release}
211 Requires: %{name}-openssl = %{version}-%{release}
213 %description openssl-devel
214 Header file for gnutls-openssl library.
216 %description openssl-devel -l pl.UTF-8
217 Plik nagłówkowy biblioteki gnutls-openssl.
219 %package openssl-static
220 Summary: Static gnutls-openssl library
221 Summary(pl.UTF-8): Statyczna biblioteka gnutls-openssl
222 Group: Development/Libraries
223 Requires: %{name}-openssl-devel = %{version}-%{release}
225 %description openssl-static
226 Static gnutls-openssl library.
228 %description openssl-static -l pl.UTF-8
229 Statyczna biblioteka gnutls-openssl.
231 %package -n guile-gnutls
232 Summary: Guile bindings for GnuTLS
233 Summary(pl.UTF-8): Wiązania Guile do GnuTLS
235 Group: Development/Languages
236 Requires: %{name}-libs = %{version}-%{release}
237 Requires: guile >= 5:2.0
239 %description -n guile-gnutls
240 Guile bindings for GnuTLS.
242 %description -n guile-gnutls -l pl.UTF-8
243 Wiązania Guile do GnuTLS.
253 %{__mv} build-aux/snippet{,.save}
255 %{__mv} build-aux/snippet{.save,}
256 %{__aclocal} -I m4 -I gl/m4 -I src/libopts/m4 -I src/gl/m4
261 %{!?with_openssl:--disable-openssl-compatibility} \
262 --disable-silent-rules \
263 %{?with_static_libs:--enable-static} \
264 --with-default-trust-store-file=/etc/certs/ca-certificates.crt \
265 %{!?with_tpm:--without-tpm} \
266 %{!?with_doc:--disable-doc}
268 # docs build is broken with -jN
272 rm -rf $RPM_BUILD_ROOT
275 DESTDIR=$RPM_BUILD_ROOT
277 # although libgnutls.la is obsoleted by pkg-config, there is
278 # .pc file missing for libgnutls-openssl, and it needs libgnutls.la
280 # testing mock module
281 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gnutls/libpkcs11mock1.*
283 # guile module - dynamic only
284 %{__rm} $RPM_BUILD_ROOT%{_libdir}/guile/2.0/guile-gnutls-*.la
285 %if %{with static_libs}
286 %{__rm} $RPM_BUILD_ROOT%{_libdir}/guile/2.0/guile-gnutls-*.a
289 %{__rm} -f $RPM_BUILD_ROOT%{_infodir}/dir
294 rm -rf $RPM_BUILD_ROOT
297 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
300 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
302 %post libs -p /sbin/ldconfig
303 %postun libs -p /sbin/ldconfig
305 %post c++ -p /sbin/ldconfig
306 %postun c++ -p /sbin/ldconfig
308 %post dane -p /sbin/ldconfig
309 %postun dane -p /sbin/ldconfig
311 %post openssl -p /sbin/ldconfig
312 %postun openssl -p /sbin/ldconfig
314 %post -n guile-gnutls -p /sbin/ldconfig
315 %postun -n guile-gnutls -p /sbin/ldconfig
317 %files -f %{name}.lang
318 %defattr(644,root,root,755)
319 %doc AUTHORS ChangeLog NEWS README THANKS
320 %attr(755,root,root) %{_bindir}/certtool
321 %attr(755,root,root) %{_bindir}/crywrap
322 %attr(755,root,root) %{_bindir}/gnutls-*
323 %attr(755,root,root) %{_bindir}/ocsptool
324 %attr(755,root,root) %{_bindir}/p11tool
325 %attr(755,root,root) %{_bindir}/psktool
326 %attr(755,root,root) %{_bindir}/srptool
327 %{?with_tpm:%attr(755,root,root) %{_bindir}/tpmtool}
329 %{_mandir}/man1/certtool.1*
330 %{_mandir}/man1/gnutls-*.1*
331 %{_mandir}/man1/ocsptool.1*
332 %{_mandir}/man1/p11tool.1*
333 %{_mandir}/man1/psktool.1*
334 %{_mandir}/man1/srptool.1*
335 %{_mandir}/man1/tpmtool.1*
336 %{_infodir}/gnutls.info*
337 %{_infodir}/gnutls-*.png
338 %{_infodir}/pkcs11-vision.png
342 %defattr(644,root,root,755)
343 %attr(755,root,root) %{_libdir}/libgnutls.so.*.*.*
344 %attr(755,root,root) %ghost %{_libdir}/libgnutls.so.28
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/libgnutls.so
349 %{_libdir}/libgnutls.la
350 %{_includedir}/gnutls
351 %{?with_dane:%exclude %{_includedir}/gnutls/dane.h}
352 %exclude %{_includedir}/gnutls/gnutlsxx.h
353 %{?with_openssl:%exclude %{_includedir}/gnutls/openssl.h}
354 %{_pkgconfigdir}/gnutls.pc
355 %{?with_doc:%{_mandir}/man3/gnutls_*.3*}
357 %if %{with static_libs}
359 %defattr(644,root,root,755)
360 %{_libdir}/libgnutls.a
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{_libdir}/libgnutlsxx.so.*.*.*
366 %attr(755,root,root) %ghost %{_libdir}/libgnutlsxx.so.28
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{_libdir}/libgnutlsxx.so
371 %{_libdir}/libgnutlsxx.la
372 %{_includedir}/gnutls/gnutlsxx.h
374 %if %{with static_libs}
376 %defattr(644,root,root,755)
377 %{_libdir}/libgnutlsxx.a
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_bindir}/danetool
384 %attr(755,root,root) %{_libdir}/libgnutls-dane.so.*.*.*
385 %attr(755,root,root) %ghost %{_libdir}/libgnutls-dane.so.0
386 %{?with_doc:%{_mandir}/man1/danetool.1*}
389 %defattr(644,root,root,755)
390 %attr(755,root,root) %{_libdir}/libgnutls-dane.so
391 %{_libdir}/libgnutls-dane.la
392 %{_includedir}/gnutls/dane.h
393 %{_pkgconfigdir}/gnutls-dane.pc
395 %if %{with static_libs}
397 %defattr(644,root,root,755)
398 %{_libdir}/libgnutls-dane.a
404 %defattr(644,root,root,755)
405 %attr(755,root,root) %{_libdir}/libgnutls-openssl.so.*.*.*
406 %attr(755,root,root) %ghost %{_libdir}/libgnutls-openssl.so.27
409 %defattr(644,root,root,755)
410 %attr(755,root,root) %{_libdir}/libgnutls-openssl.so
411 %{_libdir}/libgnutls-openssl.la
412 %{_includedir}/gnutls/openssl.h
414 %files openssl-static
415 %defattr(644,root,root,755)
416 %{_libdir}/libgnutls-openssl.a
419 %files -n guile-gnutls
420 %defattr(644,root,root,755)
421 %attr(755,root,root) %{_libdir}/guile/2.0/guile-gnutls-v-2.so*
422 %{_datadir}/guile/site/gnutls.scm
423 %{_datadir}/guile/site/gnutls
424 %{?with_doc:%{_infodir}/gnutls-guile.info*}