3 %bcond_without dane # libdane (DANE with DNSSEC certificate verification)
4 %bcond_without openssl # libgnutls-openssl compatibility library
5 %bcond_without tpm # TPM support in gnutls
6 %bcond_without static_libs # static libraries
7 %bcond_without doc # do not generate documentation
8 %bcond_without guile # Guile binding
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.6/%{name}-%{version}.tar.xz
18 # Source0-md5: 9dcf0aa45d1a42e1b3ca5d39ec7c61a8
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.19
27 BuildRequires: gmp-devel
28 %{?with_doc:BuildRequires: gtk-doc >= 1.14}
29 %{?with_guile:BuildRequires: guile-devel >= 5:2.2.0}
30 BuildRequires: libidn2-devel
31 BuildRequires: libstdc++-devel
32 BuildRequires: libtasn1-devel >= 4.11
33 BuildRequires: libunistring-devel
34 BuildRequires: libtool >= 2:2
35 BuildRequires: nettle-devel >= 3.3
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.23.1
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)
54 %define _noautostrip .*\.go
57 GnuTLS is a project that aims to develop a library which provides a
58 secure layer, over a reliable transport layer (ie. TCP/IP). Currently
59 the gnuTLS library implements the proposed standards by the IETF's TLS
62 %description -l pl.UTF-8
63 GnuTLS to projekt mający na celu stworzenie biblioteki udostępniającej
64 powłokę bezpieczeństwa ponad powłoką transportową (np. TCP/IP).
65 Aktualnie biblioteka gnuTLS implementuje standardy proponowane przez
66 grupę roboczą IETF TLS.
69 Summary: GnuTLS shared libraries
70 Summary(pl.UTF-8): Biblioteki współdzielone GnuTLS
72 Requires: libtasn1 >= 4.11
73 Requires: nettle >= 3.3
74 #Requires: opencdk >= 0.6.6
75 Requires: p11-kit >= 0.23.1
76 %{?with_tpm:Requires: trousers-libs >= 0.3.11}
77 Conflicts: gnutls < 3.2.0
80 GnuTLS shared libraries.
82 %description libs -l pl.UTF-8
83 Biblioteki współdzielone GnuTLS.
86 Summary: Header files etc to develop gnutls applications
87 Summary(pl.UTF-8): Pliki nagłówkowe i inne do gnutls
88 License: LGPL v2.1+ (libgnutls), GPL v3+ (openssl library)
89 Group: Development/Libraries
90 Requires: %{name}-libs = %{version}-%{release}
91 Requires: libidn2-devel
92 Requires: libtasn1-devel >= 4.11
93 Requires: libunistring-devel
94 Requires: nettle-devel >= 3.3
95 #Requires: opencdk-devel >= 0.6.6
96 Requires: p11-kit-devel >= 0.23.1
97 %{?with_tpm:Requires: trousers-devel >= 0.3.11}
101 Header files etc to develop gnutls applications.
103 %description devel -l pl.UTF-8
104 Pliki nagłówkowe i inne do gnutls.
107 Summary: Static gnutls library
108 Summary(pl.UTF-8): Biblioteka statyczna gnutls
109 License: LGPL v2.1+ (libgnutls), GPL v3+ (openssl library)
110 Group: Development/Libraries
111 Requires: %{name}-devel = %{version}-%{release}
114 Static gnutls library.
116 %description static -l pl.UTF-8
117 Biblioteka statyczna gnutls.
120 Summary: libgnutlsxx - C++ interface to gnutls library
121 Summary(pl.UTF-8): libgnutlsxx - interfejs C++ do biblioteki gnutls
124 Requires: %{name}-libs = %{version}-%{release}
127 libgnutlsxx - C++ interface to gnutls library.
129 %description c++ -l pl.UTF-8
130 libgnutlsxx - interfejs C++ do biblioteki gnutls.
133 Summary: Header files for libgnutlsxx, a C++ interface to gnutls library
134 Summary(pl.UTF-8): Pliki nagłówkowe libgnutlsxx - interfejsu C++ do biblioteki gnutls
136 Group: Development/Libraries
137 Requires: %{name}-c++ = %{version}-%{release}
138 Requires: %{name}-devel = %{version}-%{release}
139 Requires: libstdc++-devel
141 %description c++-devel
142 Header files for libgnutlsxx, a C++ interface to gnutls library.
144 %description c++-devel -l pl.UTF-8
145 Pliki nagłówkowe libgnutlsxx - interfejsu C++ do biblioteki gnutls.
148 Summary: Static version of libgnutlsxx, a C++ interface to gnutls library
149 Summary(pl.UTF-8): Statyczna wersja libgnutlsxx - interfejsu C++ do biblioteki gnutls
151 Group: Development/Libraries
152 Requires: %{name}-c++-devel = %{version}-%{release}
154 %description c++-static
155 Static version of libgnutlsxx, a C++ interface to gnutls library.
157 %description c++-static -l pl.UTF-8
158 Statyczna wersja libgnutlsxx - interfejsu C++ do biblioteki gnutls.
161 Summary: DANE security library
162 Summary(pl.UTF-8): Biblioteka bezpieczeństwa DANE
164 Requires: %{name}-libs = %{version}-%{release}
167 DANE security library.
169 %description dane -l pl.UTF-8
170 Biblioteka bezpieczeństwa DANE.
173 Summary: Header file for DANE security library
174 Summary(pl.UTF-8): Plik nagłówkowy biblioteki bezpieczeństwa DANE
175 Group: Development/Libraries
176 Requires: %{name}-dane = %{version}-%{release}
177 Requires: %{name}-devel = %{version}-%{release}
178 Requires: unbound-devel
180 %description dane-devel
181 Header file for DANE security library.
183 %description dane-devel -l pl.UTF-8
184 Plik nagłówkowy biblioteki bezpieczeństwa DANE.
187 Summary: Static DANE security library
188 Summary(pl.UTF-8): Statyczna biblioteka bezpieczeństwa DANE
189 Group: Development/Libraries
190 Requires: %{name}-dane-devel = %{version}-%{release}
192 %description dane-static
193 Static DANE security library.
195 %description dane-static -l pl.UTF-8
196 Statyczna biblioteka bezpieczeństwa DANE.
199 Summary: OpenSSL compatibility library for GnuTLS
200 Summary(pl.UTF-8): Biblioteka zgodności z OpenSSL dla GnuTLS
202 Requires: %{name}-libs = %{version}-%{release}
205 OpenSSL compatibility library for GnuTLS.
207 %description openssl -l pl.UTF-8
208 Biblioteka zgodności z OpenSSL dla GnuTLS.
210 %package openssl-devel
211 Summary: Header file for gnutls-openssl library
212 Summary(pl.UTF-8): Plik nagłówkowy biblioteki gnutls-openssl
213 Group: Development/Libraries
214 Requires: %{name}-devel = %{version}-%{release}
215 Requires: %{name}-openssl = %{version}-%{release}
217 %description openssl-devel
218 Header file for gnutls-openssl library.
220 %description openssl-devel -l pl.UTF-8
221 Plik nagłówkowy biblioteki gnutls-openssl.
223 %package openssl-static
224 Summary: Static gnutls-openssl library
225 Summary(pl.UTF-8): Statyczna biblioteka gnutls-openssl
226 Group: Development/Libraries
227 Requires: %{name}-openssl-devel = %{version}-%{release}
229 %description openssl-static
230 Static gnutls-openssl library.
232 %description openssl-static -l pl.UTF-8
233 Statyczna biblioteka gnutls-openssl.
235 %package -n guile-gnutls
236 Summary: Guile bindings for GnuTLS
237 Summary(pl.UTF-8): Wiązania Guile do GnuTLS
239 Group: Development/Languages
240 Requires: %{name}-libs = %{version}-%{release}
241 Requires: guile >= 5:2.2.0
243 %description -n guile-gnutls
244 Guile bindings for GnuTLS.
246 %description -n guile-gnutls -l pl.UTF-8
247 Wiązania Guile do GnuTLS.
258 %{__aclocal} -I m4 -I src/libopts/m4 -I src/gl/m4 -I lib/unistring/m4
263 %{!?with_doc:--disable-doc} \
264 %{!?with_guile:--disable-guile} \
265 %{?with_openssl:--enable-openssl-compatibility} \
266 --disable-silent-rules \
267 %{?with_static_libs:--enable-static} \
268 --with-default-trust-store-file=/etc/certs/ca-certificates.crt \
269 %{!?with_tpm:--without-tpm} \
270 --with-trousers-lib=%{_libdir}/libtspi.so.1
272 # docs build is broken with -jN
276 rm -rf $RPM_BUILD_ROOT
279 DESTDIR=$RPM_BUILD_ROOT
281 # although libgnutls.la is obsoleted by pkg-config, there is
282 # .pc file missing for libgnutls-openssl, and it needs libgnutls.la
285 # guile module - dynamic only
286 %{__rm} $RPM_BUILD_ROOT%{_libdir}/guile/2.*/extensions/guile-gnutls-*.la
287 %if %{with static_libs}
288 %{__rm} $RPM_BUILD_ROOT%{_libdir}/guile/2.*/extensions/guile-gnutls-*.a
292 # images for (not installed) htmlized infos - already packaged with infos
293 %{__rm} $RPM_BUILD_ROOT%{_docdir}/gnutls/*.png
295 %{__rm} -f $RPM_BUILD_ROOT%{_infodir}/dir
300 rm -rf $RPM_BUILD_ROOT
303 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
306 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_infodir} >/dev/null 2>&1
308 %post libs -p /sbin/ldconfig
309 %postun libs -p /sbin/ldconfig
311 %post c++ -p /sbin/ldconfig
312 %postun c++ -p /sbin/ldconfig
314 %post dane -p /sbin/ldconfig
315 %postun dane -p /sbin/ldconfig
317 %post openssl -p /sbin/ldconfig
318 %postun openssl -p /sbin/ldconfig
320 %post -n guile-gnutls -p /sbin/ldconfig
321 %postun -n guile-gnutls -p /sbin/ldconfig
323 %files -f %{name}.lang
324 %defattr(644,root,root,755)
325 %doc AUTHORS ChangeLog NEWS README.md THANKS
326 %attr(755,root,root) %{_bindir}/certtool
327 %attr(755,root,root) %{_bindir}/gnutls-*
328 %attr(755,root,root) %{_bindir}/ocsptool
329 %attr(755,root,root) %{_bindir}/p11tool
330 %attr(755,root,root) %{_bindir}/psktool
331 %attr(755,root,root) %{_bindir}/srptool
332 %{?with_tpm:%attr(755,root,root) %{_bindir}/tpmtool}
334 %{_mandir}/man1/certtool.1*
335 %{_mandir}/man1/gnutls-*.1*
336 %{_mandir}/man1/ocsptool.1*
337 %{_mandir}/man1/p11tool.1*
338 %{_mandir}/man1/psktool.1*
339 %{_mandir}/man1/srptool.1*
340 %{_mandir}/man1/tpmtool.1*
341 %{_infodir}/gnutls.info*
342 %{_infodir}/gnutls-*.png
343 %{_infodir}/pkcs11-vision.png
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/libgnutls.so.*.*.*
349 %attr(755,root,root) %ghost %{_libdir}/libgnutls.so.30
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/libgnutls.so
354 %{_libdir}/libgnutls.la
355 %{_includedir}/gnutls
356 %{?with_dane:%exclude %{_includedir}/gnutls/dane.h}
357 %exclude %{_includedir}/gnutls/gnutlsxx.h
358 %{?with_openssl:%exclude %{_includedir}/gnutls/openssl.h}
359 %{_pkgconfigdir}/gnutls.pc
360 %{?with_doc:%{_mandir}/man3/gnutls_*.3*}
362 %if %{with static_libs}
364 %defattr(644,root,root,755)
365 %{_libdir}/libgnutls.a
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{_libdir}/libgnutlsxx.so.*.*.*
371 %attr(755,root,root) %ghost %{_libdir}/libgnutlsxx.so.28
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_libdir}/libgnutlsxx.so
376 %{_libdir}/libgnutlsxx.la
377 %{_includedir}/gnutls/gnutlsxx.h
379 %if %{with static_libs}
381 %defattr(644,root,root,755)
382 %{_libdir}/libgnutlsxx.a
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_bindir}/danetool
389 %attr(755,root,root) %{_libdir}/libgnutls-dane.so.*.*.*
390 %attr(755,root,root) %ghost %{_libdir}/libgnutls-dane.so.0
391 %{?with_doc:%{_mandir}/man1/danetool.1*}
394 %defattr(644,root,root,755)
395 %attr(755,root,root) %{_libdir}/libgnutls-dane.so
396 %{_libdir}/libgnutls-dane.la
397 %{_includedir}/gnutls/dane.h
398 %{_pkgconfigdir}/gnutls-dane.pc
399 %{_mandir}/man3/dane_*.3*
401 %if %{with static_libs}
403 %defattr(644,root,root,755)
404 %{_libdir}/libgnutls-dane.a
410 %defattr(644,root,root,755)
411 %attr(755,root,root) %{_libdir}/libgnutls-openssl.so.*.*.*
412 %attr(755,root,root) %ghost %{_libdir}/libgnutls-openssl.so.27
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libgnutls-openssl.so
417 %{_libdir}/libgnutls-openssl.la
418 %{_includedir}/gnutls/openssl.h
420 %files openssl-static
421 %defattr(644,root,root,755)
422 %{_libdir}/libgnutls-openssl.a
426 %files -n guile-gnutls
427 %defattr(644,root,root,755)
428 %attr(755,root,root) %{_libdir}/guile/2.*/extensions/guile-gnutls-v-2.so*
429 %{_libdir}/guile/2.*/site-ccache/gnutls.go
430 %{_libdir}/guile/2.*/site-ccache/gnutls
431 %{_datadir}/guile/site/2.*/gnutls.scm
432 %{_datadir}/guile/site/2.*/gnutls
433 %{_infodir}/gnutls-guile.info*