+#
+# Conditional build:
+%bcond_with javaglue # build with Java support
+%bcond_without python # don't build python module
+#
+%include /usr/lib/rpm/macros.python
Summary: The BeeCrypt Cryptography Library
+Summary(pl): Biblioteka kryptograficzna BeeCrypt
Name: beecrypt
-Version: 2.1.0
-Release: 1
+Version: 3.1.0
+Release: 3
+Epoch: 2
License: LGPL
-Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
-Source0: http://www.virtualunlimited.com/download/%{name}-%{version}.tar.gz
-URL: http://beecrypt.virtualunlimited.com/
-Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Group: Libraries
+Source0: http://dl.sourceforge.net/beecrypt/%{name}-%{version}.tar.gz
+# Source0-md5: 1472cada46e2ab9f532f984de9740386
+Patch0: %{name}-opt.patch
+Patch1: %{name}-python.patch
+Patch2: %{name}-lib64_fix.patch
+URL: http://sourceforge.net/projects/beecrypt/
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake
+BuildRequires: libtool
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%package devel
-Requires: beecrypt = %{version}
-Summary: The BeeCrypt Cryptography Library headers
-Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
+%define specflags_alpha "-mno-explicit-relocs"
%description
BeeCrypt is an open source cryptography library that contains highly
%description -l pl
BeeCrypt jest open sourcow± bibliotek±, która zawiera wysoko
zoptymailzowane funkcje w C oraz assemblerze wielu algorytmów
-szyfrowania m.in. : Blowfish, MD5, SHA-1, Diffie-Hellman oraz ElGamal.
+szyfrowania m.in.: Blowfish, MD5, SHA-1, Diffie-Hellman oraz ElGamal.
+
+%package devel
+Summary: The BeeCrypt Cryptography Library - development files
+Summary(pl): Pliki dla programistów u¿ywaj±cych biblioteki BeeCrypt
+Group: Development/Libraries
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description devel
-Biblioteki do pakietu BeeCrypt.
+The BeeCrypt Cryptography Library - development files.
%description devel -l pl
-Biblioteki do pakietu BeeCrypt.
+Biblioteka kryptograficzna BeeCrypt - pliki dla programistów.
+
+%package static
+Summary: The BeeCrypt Cryptography Library - static library
+Summary(pl): Biblioteka statyczna BeeCrypt
+Group: Development/Libraries
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+
+%description static
+The BeeCrypt Cryptography Library - static library.
+
+%description static -l pl
+Biblioteka statyczna BeeCrypt.
+
+%package -n python-beecrypt
+Summary: Python interface to BeeCrypt library
+Summary(pl): Pythonowy interfejs do biblioteki BeeCrypt
+Group: Development/Languages/Python
+Requires: %{name} = %{epoch}:%{version}-%{release}
+%pyrequires_eq python
+
+%description -n python-beecrypt
+The python-beecrypt package contains a module which permits applications
+written in the Python programming language to use the interface
+supplied by BeeCrypt libraries.
+
+%description -n python-beecrypt -l pl
+Pakiet python-beecrypt zawiera modu³, który pozwala aplikacjom napisanym w
+Pythonie na u¿ywanie interfejsu dostarczanego przez bibliotekê BeeCrytp.
%prep
-%setup -q
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2
%build
-./configure --prefix=%{buildroot}%{_prefix} --target=%{_target}
-%{__make}
+rm -f missing
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ --with%{!?with_javaglue:out}-javaglue \
+ --with-cpu=%{_target_cpu} \
+ --with-arch=%{_target_cpu} \
+ --with-pic \
+ --with%{!?with_python:out}-python
+%{__make} \
+ libaltdir=%{_libdir} \
+ pylibdir=%{py_libdir}
+
+%if %{with python}
+%{__make} -C python \
+ pylibdir=%{py_libdir}
+%endif
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install
+install -d $RPM_BUILD_ROOT%{_libdir}
+
+%{__make} install \
+ libaltdir=%{_libdir} \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%if %{with python}
+%{__make} install -C python \
+ libaltdir=%{_libdir} \
+ pylibdir=%{py_libdir} \
+ DESTDIR=$RPM_BUILD_ROOT
+%endif
%clean
-make clean
-rm -rf %{buildroot}
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%{_libdir}/libbeecrypt.la
-%{_libdir}/libbeecrypt.so.2.1.0
+%doc AUTHORS BENCHMARKS BUGS CONTRIBUTORS NEWS README
+%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%post
-ln -s /usr/lib/libbeecrypt.so.2.1.0 /usr/lib/libbeecrypt.so
-ln -s /usr/lib/libbeecrypt.so.2.1.0 /usr/lib/libbeecrypt.so.2
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_libdir}/lib*.la
+%{_includedir}/*
-%postun
-rm -f /usr/lib/libbeecrypt.so.2.1.0
-rm -f /usr/lib/libbeecrypt.so.2
-rm -f /usr/lib/libbeecrypt.so
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a
-%files devel
+%if %{with python}
+%files -n python-beecrypt
%defattr(644,root,root,755)
-%{_includedir}/beecrypt/base64.h
-%{_includedir}/beecrypt/beecrypt.h
-%{_includedir}/beecrypt/blockmode.h
-%{_includedir}/beecrypt/blockpad.h
-%{_includedir}/beecrypt/blowfish.h
-%{_includedir}/beecrypt/blowfishopt.h
-%{_includedir}/beecrypt/dhaes.h
-%{_includedir}/beecrypt/dldp.h
-%{_includedir}/beecrypt/dlkp.h
-%{_includedir}/beecrypt/dlpk.h
-%{_includedir}/beecrypt/dlsvdp-dh.h
-%{_includedir}/beecrypt/elgamal.h
-%{_includedir}/beecrypt/endianness.h
-%{_includedir}/beecrypt/entropy.h
-%{_includedir}/beecrypt/fips180.h
-%{_includedir}/beecrypt/fips180opt.h
-%{_includedir}/beecrypt/fips186.h
-%{_includedir}/beecrypt/hmac.h
-%{_includedir}/beecrypt/hmacmd5.h
-%{_includedir}/beecrypt/hmacsha1.h
-%{_includedir}/beecrypt/hmacsha256.h
-%{_includedir}/beecrypt/md5.h
-%{_includedir}/beecrypt/memchunk.h
-%{_includedir}/beecrypt/mp32.h
-%{_includedir}/beecrypt/mp32opt.h
-%{_includedir}/beecrypt/mp32barrett.h
-%{_includedir}/beecrypt/mp32number.h
-%{_includedir}/beecrypt/mp32prime.h
-%{_includedir}/beecrypt/mtprng.h
-%{_includedir}/beecrypt/rsa.h
-%{_includedir}/beecrypt/rsakp.h
-%{_includedir}/beecrypt/rsapk.h
-%{_includedir}/beecrypt/sha256.h
-%{_includedir}/beecrypt/timestamp.h
+%attr(755,root,root) %{py_sitedir}/*.so
+%endif