]> git.pld-linux.org Git - packages/libgcrypt.git/blobdiff - libgcrypt.spec
- updated to 1.8.4
[packages/libgcrypt.git] / libgcrypt.spec
index 226782f94fd0f611e9f7260ca1c551a7073094c8..30c4dc4a33989e62f7c28950fd809160ed8f6a68 100644 (file)
@@ -1,27 +1,39 @@
+#
+# Conditional build:
+%bcond_with    dietlibc        # don't build static dietlibc library
+%bcond_with    libcap          # Linux capabilities usage
+#
 Summary:       Cryptographic library based on the code from GnuPG
-Summary(es):   Libgcrypt es una biblioteca general de desarrole embasada em GnuPG
-Summary(pl):   Biblioteka kryptograficzna oparta na kodzie GnuPG
-Summary(pt_BR):        libgcrypt é uma biblioteca de criptografia de uso geral baseada no GnuPG
+Summary(es.UTF-8):     Libgcrypt es una biblioteca general de desarrole embasada em GnuPG
+Summary(pl.UTF-8):     Biblioteka kryptograficzna oparta na kodzie GnuPG
+Summary(pt_BR.UTF-8):  libgcrypt é uma biblioteca de criptografia de uso geral baseada no GnuPG
 Name:          libgcrypt
-Version:       1.1.42
+Version:       1.8.4
 Release:       1
-License:       LGPL
+License:       LGPL v2.1+
 Group:         Libraries
-Source0:       ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/%{name}-%{version}.tar.gz
-# Source0-md5: b683557ce243bf6e1fe30515ed642c57
-Patch0:                %{name}-no_libnsl.patch
-Patch1:                %{name}-info.patch
-Patch2:                %{name}-libtool.patch
-URL:           http://www.gnu.org/directory/security/libgcrypt.html
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: binutils >= 2.12
-BuildRequires: gcc >= 3.2
-BuildRequires: libgpg-error-devel >= 0.1
-BuildRequires: libtool >= 1:1.4.3
+Source0:       ftp://ftp.gnupg.org/gcrypt/libgcrypt/%{name}-%{version}.tar.bz2
+# Source0-md5: fbfdaebbbc6d7e5fbbf6ffdb3e139573
+Patch0:                %{name}-info.patch
+Patch1:                %{name}-libgcrypt_config.patch
+Patch2:                %{name}-poll.patch
+URL:           http://directory.fsf.org/wiki/Libgcrypt
+BuildRequires: autoconf >= 2.60
+BuildRequires: automake >= 1:1.14
+BuildRequires: binutils >= 2:2.12
+%{?with_dietlibc:BuildRequires:        dietlibc-static >= 2:0.31-5}
+BuildRequires: gcc >= 5:3.2
+%{?with_libcap:BuildRequires:  libcap-devel}
+BuildRequires: libgpg-error-devel >= 1.25
+BuildRequires: libtool >= 2:2.2.6
 BuildRequires: texinfo
+Requires:      libgpg-error >= 1.25
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+# for some reason known only to rpm there must be "\\|" not "\|" here
+%define                dietarch        %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
+%define                dietlibdir      %{_prefix}/lib/dietlibc/lib-%{dietarch}
+
 %description
 This is a general purpose cryptographic library based on the code from
 GnuPG. It provides functions for all cryptograhic building blocks:
@@ -30,54 +42,79 @@ algorithms (MD5, RIPE-MD160, SHA-1, TIGER-192), MACs (HMAC for all
 hash algorithms), public key algorithms (RSA, ElGamal, DSA), large
 integer functions, random numbers and a lot of supporting functions.
 
-%description -l pl
-Ten pakiet zawiera bibliotekê kryptograficzn± ogólnego przeznaczenia,
-opart± na kodzie GnuPG. Biblioteka ta dostarcza funkcje do wszystkich
-podstawowych bloków kryptografii: szyfrów symetrycznych (AES, DES,
-Blowfish, CAST5, Twofish, Acrfour), algorytmów mieszaj±cych (MD5,
-RIPE-MD160, SHA-1, RIGER-192), MAC-ów (HMAC dla wszystkich algorytmów
-mieszaj±cych), algorytmów klucza publicznego (RSA, ElGamal, DSA),
-funkcji du¿ych liczb ca³kowitych, liczb losowych i wiele funkcji
+%description -l pl.UTF-8
+Ten pakiet zawiera bibliotekę kryptograficzną ogólnego przeznaczenia,
+opartą na kodzie GnuPG. Biblioteka ta dostarcza funkcje do wszystkich
+podstawowych bloków kryptografii: szyfrów symetrycznych (AES, DES,
+Blowfish, CAST5, Twofish, Acrfour), algorytmów mieszających (MD5,
+RIPE-MD160, SHA-1, RIGER-192), MAC-ów (HMAC dla wszystkich algorytmów
+mieszających), algorytmów klucza publicznego (RSA, ElGamal, DSA),
+funkcji dużych liczb całkowitych, liczb losowych i wiele funkcji
 pomocniczych.
 
-%description -l pt_BR
-Libgcrypt é uma biblioteca de criptografia de uso geral baseada no
+%description -l pt_BR.UTF-8
+Libgcrypt é uma biblioteca de criptografia de uso geral baseada no
 GnuPG.
 
+%package tools
+Summary:       Additional binary tools for libgcrypt
+Summary(pl.UTF-8):     Dodatkowe narzędzia dla biblioteki libgcrypt
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description tools
+Additional binary tools for libgcrypt.
+
+%description tools -l pl.UTF-8
+Dodatkowe narzędzia dla biblioteki libgcrypt.
+
 %package devel
 Summary:       Header files etc to develop libgcrypt applications
-Summary(es):   Archivos de desarrollo de libgcrypt
-Summary(pl):   Pliki nag³ówkowe i inne do libgcrypt
-Summary(pt_BR):        Arquivos de desenvolvimento da libgcrypt
+Summary(es.UTF-8):     Archivos de desarrollo de libgcrypt
+Summary(pl.UTF-8):     Pliki nagłówkowe i inne do libgcrypt
+Summary(pt_BR.UTF-8):  Arquivos de desenvolvimento da libgcrypt
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
-Requires:      libgpg-error-devel >= 0.1
+Requires:      %{name} = %{version}-%{release}
+%{?with_libcap:Requires:       libcap-devel}
+Requires:      libgpg-error-devel >= 1.25
 
 %description devel
 Header files etc to develop libgcrypt applications.
 
-%description devel -l pl
-Pliki nag³ówkowe i inne do libgcrypt.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i inne do libgcrypt.
 
-%description devel -l pt_BR
+%description devel -l pt_BR.UTF-8
 Bibliotecas de desenvolvimento para libgcrypt.
 
 %package static
 Summary:       Static libgcrypt library
-Summary(es):   Archivos de desarrollo de libgcrypt - estatico
-Summary(pl):   Biblioteka statyczna libgcrypt
-Summary(pt_BR):        Arquivos de desenvolvimento da libgcrypt - biblioteca estática
+Summary(es.UTF-8):     Archivos de desarrollo de libgcrypt - estatico
+Summary(pl.UTF-8):     Biblioteka statyczna libgcrypt
+Summary(pt_BR.UTF-8):  Arquivos de desenvolvimento da libgcrypt - biblioteca estática
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 Static libgcrypt library.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Biblioteka statyczna libgcrypt.
 
-%description static -l pt_BR
-Bibliotecas de desenvolvimento para libgcrypt - estático.
+%description static -l pt_BR.UTF-8
+Bibliotecas de desenvolvimento para libgcrypt - estático.
+
+%package dietlibc
+Summary:       Static dietlibc libgcrypt library
+Summary(pl.UTF-8):     Biblioteka statyczna dietlibc libgcrypt
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description dietlibc
+Static dietlibc libgcrypt library.
+
+%description dietlibc -l pl.UTF-8
+Biblioteka statyczna dietlibc libgcrypt.
 
 %prep
 %setup -q
@@ -86,48 +123,90 @@ Bibliotecas de desenvolvimento para libgcrypt - est
 %patch2 -p1
 
 %build
-rm -f misssing
+%{__rm} m4/libtool.m4
 %{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoconf}
 %{__automake}
+
+%if %{with dietlibc}
 %configure \
-       --enable-static
+       CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os" \
+       --enable-static \
+       --disable-shared
+
+# libtool sucks, build just the libs
+%{__make} -C compat
+%{__make} -C cipher
+%{__make} -C mpi
+%{__make} -C random
+%{__make} -C src \
+       PROGRAMS=
+mv src/.libs/libgcrypt.a diet-libgcrypt.a
+%{__make} clean
+%endif
+
+%configure \
+       --enable-static \
+       %{?with_libcap:--with-capabilities}
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
        m4datadir=%{_aclocaldir}
 
+install -d $RPM_BUILD_ROOT/%{_lib}
+mv -f $RPM_BUILD_ROOT%{_libdir}/libgcrypt.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libgcrypt.so.*.*.*) \
+       $RPM_BUILD_ROOT%{_libdir}/libgcrypt.so
+
+%{?with_dietlibc:install diet-libgcrypt.a $RPM_BUILD_ROOT%{dietlibdir}/libgcrypt.a}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post   -p /sbin/ldconfig
 %postun -p /sbin/ldconfig
 
-%post devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post  devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 
-%postun devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%postun        devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS THANKS NEWS README ChangeLog
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%doc AUTHORS ChangeLog NEWS README THANKS TODO
+%attr(755,root,root) /%{_lib}/libgcrypt.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libgcrypt.so.20
+
+%files tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/dumpsexp
+%attr(755,root,root) %{_bindir}/hmac256
+%attr(755,root,root) %{_bindir}/mpicalc
+%{_mandir}/man1/hmac256.1*
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/libgcrypt-config
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
-%{_infodir}/*info*
-%{_includedir}/*.h
-%{_aclocaldir}/*
+%attr(755,root,root) %{_libdir}/libgcrypt.so
+%{_libdir}/libgcrypt.la
+%{_infodir}/gcrypt.info*
+%{_includedir}/gcrypt*.h
+%{_aclocaldir}/libgcrypt.m4
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libgcrypt.a
+
+%if %{with dietlibc}
+%files dietlibc
+%defattr(644,root,root,755)
+%{dietlibdir}/libgcrypt.a
+%endif
This page took 0.086231 seconds and 4 git commands to generate.