+#
+# Conditional build:
+%bcond_with gcrypt # use gcrypt crypto backend instead of nettle (broken or withdrawn?)
+#
Summary: The GNU Transport Layer Security Library
Summary(pl.UTF-8): Biblioteka GNU TLS (Transport Layer Security)
Name: gnutls
-Version: 2.8.4
-Release: 2
-License: LGPL v2.1+ (libgnutls), GPL v3+ (extra libs and tools)
+Version: 3.0.19
+Release: 1
+License: LGPL v3+ (libgnutls), GPL v3+ (openssl library and tools)
Group: Libraries
-Source0: ftp://ftp.gnutls.org/pub/gnutls/%{name}-%{version}.tar.bz2
-# Source0-md5: aafba37c0993595ba2ab98587b57a3de
+Source0: ftp://ftp.gnutls.org/pub/gnutls/%{name}-%{version}.tar.lz
+# Source0-md5: a1307837e12d4317b136eb23fbf987f2
Patch0: %{name}-info.patch
+Patch1: %{name}-link.patch
+Patch2: %{name}-pl.po-update.patch
URL: http://www.gnu.org/software/gnutls/
BuildRequires: autoconf >= 2.61
-BuildRequires: automake >= 1:1.10.2-2
-BuildRequires: gettext-devel >= 0.17
+BuildRequires: automake >= 1:1.11
+BuildRequires: gettext-devel >= 0.18
BuildRequires: gtk-doc >= 1.1
-BuildRequires: guile-devel >= 5:1.8
+BuildRequires: guile-devel >= 5:2.0
BuildRequires: libcfg+-devel
-BuildRequires: libgcrypt-devel >= 1.2.4
+%{?with_gcrypt:BuildRequires: libgcrypt-devel >= 1.4.0}
+BuildRequires: libidn-devel
BuildRequires: libstdc++-devel
-BuildRequires: libtasn1-devel >= 1.5
+BuildRequires: libtasn1-devel >= 2.12
BuildRequires: libtool >= 2:1.5
-BuildRequires: lzo-devel
+BuildRequires: lzip
+%{!?with_gcrypt:BuildRequires: nettle-devel >= 2.4}
# miniopencdk is included in sources and currently maintained
# as part of gnutls, not external package
#BuildRequires: opencdk-devel >= 0.6.6
+BuildRequires: p11-kit-devel >= 0.11
+BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: rpmbuild(macros) >= 1.383
+BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
BuildRequires: texinfo >= 4.8
BuildRequires: zlib-devel
Requires(post,postun): /sbin/ldconfig
-Requires: libgcrypt >= 1.2.4
-Requires: libtasn1 >= 1.5
+%{?with_gcrypt:Requires: libgcrypt >= 1.4.0}
+Requires: libtasn1 >= 2.12
+%{!?with_gcrypt:Requires: nettle >= 2.4}
#Requires: opencdk >= 0.6.6
+Requires: p11-kit >= 0.11
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%package devel
Summary: Header files etc to develop gnutls applications
Summary(pl.UTF-8): Pliki nagłówkowe i inne do gnutls
-License: LGPL v2.1+ (libgnutls), GPL v3+ (extra libs)
+License: LGPL v2.1+ (libgnutls), GPL v3+ (openssl library)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: libgcrypt-devel >= 1.2.4
-Requires: libtasn1-devel >= 1.5
+%{?with_gcrypt:Requires: libgcrypt-devel >= 1.4.0}
+Requires: libtasn1-devel >= 2.12
+%{!?with_gcrypt:Requires: nettle-devel >= 2.4}
#Requires: opencdk-devel >= 0.6.6
+Requires: p11-kit-devel >= 0.11
Requires: zlib-devel
-# libgnutls-extra R: lzo-devel
%description devel
Header files etc to develop gnutls applications.
%package static
Summary: Static gnutls library
Summary(pl.UTF-8): Biblioteka statyczna gnutls
-License: LGPL v2.1+ (libgnutls), GPL v3+ (extra libs)
+License: LGPL v2.1+ (libgnutls), GPL v3+ (openssl library)
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%package -n guile-gnutls
Summary: Guile bindings for GnuTLS
Summary(pl.UTF-8): Wiązania Guile do GnuTLS
-License: LGPL v2.1+ (gnutls binding), GPL v3+ (gnutls-extra binding)
+License: LGPL v2.1+
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
-Requires: guile >= 5:1.8
+Requires: guile >= 5:2.0
%description -n guile-gnutls
Guile bindings for GnuTLS.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%{__rm} po/stamp-po
+
+# remove it when "linking libtool libraries using a non-POSIX archiver ..." warning is gone
+# (after gnutls or libtool change)
+%{__sed} -i -e '/AM_INIT_AUTOMAKE/s/-Werror//' configure.ac
%build
%{__libtoolize}
-%{__aclocal} -I m4 -I gl/m4 -I lib/gl/m4 -I libextra/gl/m4 -I lib/m4 -I libextra/m4
+%{__aclocal} -I m4 -I gl/m4 -I src/libopts/m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
- --with-lzo
+ --disable-silent-rules \
+ %{?with_gcrypt:--with-libgcrypt}
-%{__make}
+# docs build is broken with -jN
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libguile-gnutls-*.{la,a}
+# although libgnutls.la is obsoleted by pkg-config, there is
+# .pc file missing for libgnutls-openssl, and it needs libgnutls.la
+
+# guile module - dynamic only
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/guile/2.0/guile-gnutls-*.{la,a}
+
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
-%find_lang libgnutls
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post -n guile-gnutls -p /sbin/ldconfig
%postun -n guile-gnutls -p /sbin/ldconfig
-%files -f libgnutls.lang
+%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog NEWS README THANKS
%attr(755,root,root) %{_bindir}/certtool
+%attr(755,root,root) %{_bindir}/crywrap
%attr(755,root,root) %{_bindir}/gnutls-*
+%attr(755,root,root) %{_bindir}/ocsptool
+%attr(755,root,root) %{_bindir}/p11tool
%attr(755,root,root) %{_bindir}/psktool
%attr(755,root,root) %{_bindir}/srptool
%attr(755,root,root) %{_libdir}/libgnutls.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgnutls.so.26
-%attr(755,root,root) %{_libdir}/libgnutls-extra.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgnutls-extra.so.26
+%attr(755,root,root) %ghost %{_libdir}/libgnutls.so.28
%attr(755,root,root) %{_libdir}/libgnutls-openssl.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgnutls-openssl.so.26
+%attr(755,root,root) %ghost %{_libdir}/libgnutls-openssl.so.27
%{_mandir}/man1/certtool.1*
%{_mandir}/man1/gnutls-*.1*
+%{_mandir}/man1/ocsptool.1*
+%{_mandir}/man1/p11tool.1*
%{_mandir}/man1/psktool.1*
%{_mandir}/man1/srptool.1*
%{_infodir}/gnutls.info*
%{_infodir}/gnutls-*.png
+%{_infodir}/pkcs11-vision.png
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgnutls.so
-%attr(755,root,root) %{_libdir}/libgnutls-extra.so
%attr(755,root,root) %{_libdir}/libgnutls-openssl.so
%{_libdir}/libgnutls.la
-%{_libdir}/libgnutls-extra.la
%{_libdir}/libgnutls-openssl.la
%{_includedir}/gnutls
%exclude %{_includedir}/gnutls/gnutlsxx.h
%{_pkgconfigdir}/gnutls.pc
-%{_pkgconfigdir}/gnutls-extra.pc
-%{_mandir}/man3/*gnutls*.3*
+%{_mandir}/man3/gnutls_*.3*
%files static
%defattr(644,root,root,755)
%{_libdir}/libgnutls.a
-%{_libdir}/libgnutls-extra.a
%{_libdir}/libgnutls-openssl.a
%files c++
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgnutlsxx.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgnutlsxx.so.26
+%attr(755,root,root) %ghost %{_libdir}/libgnutlsxx.so.28
%files c++-devel
%defattr(644,root,root,755)
%files -n guile-gnutls
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libguile-gnutls-v-1.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libguile-gnutls-v-1.so.0
-%attr(755,root,root) %{_libdir}/libguile-gnutls-v-1.so
-%attr(755,root,root) %{_libdir}/libguile-gnutls-extra-v-1.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libguile-gnutls-extra-v-1.so.0
-%attr(755,root,root) %{_libdir}/libguile-gnutls-extra-v-1.so
+%attr(755,root,root) %{_libdir}/guile/2.0/guile-gnutls-v-2.so*
%{_datadir}/guile/site/gnutls.scm
-%dir %{_datadir}/guile/site/gnutls
-%{_datadir}/guile/site/gnutls/extra.scm
+%{_datadir}/guile/site/gnutls
+%{_infodir}/gnutls-guile.info*