#
# WARNING: despite unchanged SONAME, the RSA ABI (and API) has changed since 3.x!
+#
# Conditional build:
-%bcond_with javaglue # build with Java support
+%bcond_without java # build with Java support
+%bcond_with javac # use javac instead of gcj
%bcond_without python # don't build python module
+%bcond_without doc # don't build documentation
+%bcond_without static_libs # don't build static libraries
#
Summary: The BeeCrypt Cryptography Library
Summary(pl): Biblioteka kryptograficzna BeeCrypt
Name: beecrypt
-Version: 4.1.1
-Release: 1
+Version: 4.1.2
+Release: 4
Epoch: 2
License: LGPL
Group: Libraries
-Source0: http://dl.sourceforge.net/beecrypt/%{name}-%{version}.tar.gz
-# Source0-md5: b412cb2a692f689bfcd43f29733c3039
+Source0: http://heanet.dl.sourceforge.net/beecrypt/%{name}-%{version}.tar.gz
+# Source0-md5: 820d26437843ab0a6a8a5151a73a657c
Patch0: %{name}-opt.patch
Patch1: %{name}-lib64_fix.patch
Patch2: %{name}-ac_python.patch
URL: http://sourceforge.net/projects/beecrypt/
BuildRequires: autoconf >= 2.50
BuildRequires: automake
+%if %{with doc}
BuildRequires: doxygen
+%endif
+%if %{with java} && !%{with javac}
+BuildRequires: gcc-java
+%endif
+%if %{with doc}
BuildRequires: ghostscript
+BuildRequires: graphviz
+%endif
+%if %{with java} && %{with javac}
+BuildRequires: jdk
+%endif
BuildRequires: libtool
+%if %{with java} && !%{with javac}
BuildRequires: libgcj-devel
+%endif
%if %{with python}
BuildRequires: python-devel
BuildRequires: python-modules
%endif
+BuildRequires: rpmbuild(macros) >= 1.213
+%if %{with doc}
BuildRequires: tetex-dvips
BuildRequires: tetex-format-latex
BuildRequires: tetex-latex-dstroke
+# note: this is incorrect place, it should be somewhere in tetex packages
+BuildRequires: tetex-metafont
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define specflags_alpha -mno-explicit-relocs
%description doc -l pl
Dokumentacja programisty dla biblioteki BeeCrypt.
+%package java
+Summary: BeeCrypt Java glue library
+Summary(pl): Biblioteka ³±cz±ca BeeCrypt z Jav±
+Group: Libraries
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description java
+BeeCrypt Java glue library.
+
+%description java -l pl
+Biblioteka ³±cz±ca BeeCrypt z Jav±.
+
+%package java-devel
+Summary: Development files for BeeCrypt Java glue library
+Summary(pl): Pliki programistyczne biblioteki ³±cz±cej Beecrypt z Jav±
+Group: Development/Libraries
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-java = %{epoch}:%{version}-%{release}
+
+%description java-devel
+Development files for BeeCrypt Java glue library.
+
+%description java-devel -l pl
+Pliki programistyczne biblioteki ³±cz±cej Beecrypt z Jav±.
+
+%package java-static
+Summary: BeeCrypt Java glue static library
+Summary(pl): Statyczna biblioteka ³±cz±ca BeeCrypt z Jav±
+Group: Development/Libraries
+Requires: %{name}-java-devel = %{epoch}:%{version}-%{release}
+
+%description java-static
+BeeCrypt Java glue static library.
+
+%description java-static -l pl
+Statyczna biblioteka ³±cz±ca BeeCrypt z Jav±.
+
%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
+%pyrequires_eq python-libs
%description -n python-beecrypt
The python-beecrypt package contains a module which permits applications
%{__autoheader}
%{__automake}
%configure \
+ %{?with_javac:ac_cv_have_gcj=no} \
--without-cplusplus \
- --with%{!?with_javaglue:out}-javaglue \
+ --with%{!?with_java:out}-javaglue \
--with-cpu=%{_target_cpu} \
+ %{!?with_static_libs:--enable-static=no} \
+%ifarch %{x8664}
+ --with-arch=x86_64 \
+%else
--with-arch=%{_target_cpu} \
+%endif
--with-pic \
--with%{!?with_python:out}-python
%{__make}
%{__make} -C python
%endif
+%if %{with doc}
doxygen
+%endif
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/%{_lib}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
DESTDIR=$RPM_BUILD_ROOT
%endif
+mv -f $RPM_BUILD_ROOT%{_libdir}/libbeecrypt.so.*.*.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libbeecrypt.so.*.*.*) \
+ $RPM_BUILD_ROOT%{_libdir}/libbeecrypt.so
+
rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
%clean
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post java -p /sbin/ldconfig
+%postun java -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc AUTHORS BENCHMARKS BUGS CONTRIBUTORS NEWS README
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%attr(755,root,root) /%{_lib}/libbeecrypt.so.*.*.*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
-%{_includedir}/*
+%attr(755,root,root) %{_libdir}/libbeecrypt.so
+%{_libdir}/libbeecrypt.la
+%{_includedir}/beecrypt
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libbeecrypt.a
+%endif
+
+%if %{with java}
+%files java
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libbeecrypt_java.so.*.*.*
+
+%files java-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libbeecrypt_java.so
+%{_libdir}/libbeecrypt_java.la
+
+%if %{with static_libs}
+%files java-static
+%defattr(644,root,root,755)
+%{_libdir}/libbeecrypt_java.a
+%endif
+%endif
+%if %{with doc}
%files doc
%defattr(644,root,root,755)
%doc docs/html/*
+%endif
%if %{with python}
%files -n python-beecrypt