]> git.pld-linux.org Git - packages/beecrypt.git/blobdiff - beecrypt.spec
- rel 3
[packages/beecrypt.git] / beecrypt.spec
index 7a6441d7260a8ed42b814a99fb3cecb4549fb7fa..1cdb29d822723dce180bdad545d1398812b4444f 100644 (file)
@@ -1,29 +1,53 @@
 #
+# 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 static_libs     # don't build static libraries
 #
-%include       /usr/lib/rpm/macros.python
 Summary:       The BeeCrypt Cryptography Library
-Summary(pl):   Biblioteka kryptograficzna BeeCrypt
+Summary(pl.UTF-8):     Biblioteka kryptograficzna BeeCrypt
 Name:          beecrypt
-Version:       3.1.0
+Version:       4.2.1
 Release:       3
 Epoch:         2
-License:       LGPL
+License:       LGPL v2.1+
 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
+Source0:       http://dl.sourceforge.net/project/beecrypt/beecrypt/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 8441c014170823f2dff97e33df55af1e
+Patch0:                %{name}-ac.patch
+Patch1:                %{name}-ac_python.patch
 URL:           http://sourceforge.net/projects/beecrypt/
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
+%if %{with java} && !%{with javac}
+%ifarch i586 i686 athlon pentium3 pentium4 %{x8664}
+BuildRequires: jdk
+%else
+BuildRequires: gcc-java
+BuildRequires: libgcj-devel
+%endif
+%endif
+%if %{with java} && %{with javac}
+BuildRequires: jdk
+%endif
 BuildRequires: libtool
+%if %{with python}
+BuildRequires: python-devel
+BuildRequires: python-modules
+BuildRequires: rpm-pythonprov
+%endif
+BuildRequires: rpmbuild(macros) >= 1.213
+Obsoletes:     beecrypt-doc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define        specflags_alpha         "-mno-explicit-relocs"
+%define                specflags_alpha         -mno-explicit-relocs
+%define                specflags_pentium2      -mmmx
+%define                specflags_pentium3      -mmmx -msse
+%define                specflags_pentium4      -mmmx -msse -msse2
+%define                specflags_athlon        -mmmx
 
 %description
 BeeCrypt is an open source cryptography library that contains highly
@@ -31,93 +55,126 @@ optimized C and assembler implementations of many well-known
 algorithms including Blowfish, MD5, SHA-1, Diffie-Hellman, and
 ElGamal.
 
-%description -l pl
-BeeCrypt jest open sourcow± bibliotek±, która zawiera wysoko
-zoptymailzowane funkcje w C oraz assemblerze wielu algorytmów
+%description -l pl.UTF-8
+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.
 
 %package devel
 Summary:       The BeeCrypt Cryptography Library - development files
-Summary(pl):   Pliki dla programistów u¿ywaj±cych biblioteki BeeCrypt
+Summary(pl.UTF-8):     Pliki dla programistów używających biblioteki BeeCrypt
 Group:         Development/Libraries
-Requires:      %{name} = %{epoch}:%{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description devel
 The BeeCrypt Cryptography Library - development files.
 
-%description devel -l pl
-Biblioteka kryptograficzna BeeCrypt - pliki dla programistów.
+%description devel -l pl.UTF-8
+Biblioteka kryptograficzna BeeCrypt - pliki dla programistów.
 
 %package static
 Summary:       The BeeCrypt Cryptography Library - static library
-Summary(pl):   Biblioteka statyczna BeeCrypt
+Summary(pl.UTF-8):     Biblioteka statyczna BeeCrypt
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{epoch}:%{version}
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 
 %description static
 The BeeCrypt Cryptography Library - static library.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Biblioteka statyczna BeeCrypt.
 
+%package java
+Summary:       BeeCrypt Java glue library
+Summary(pl.UTF-8):     Biblioteka łącząca BeeCrypt z Javą
+Group:         Libraries
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description java
+BeeCrypt Java glue library.
+
+%description java -l pl.UTF-8
+Biblioteka łącząca BeeCrypt z Javą.
+
+%package java-devel
+Summary:       Development files for BeeCrypt Java glue library
+Summary(pl.UTF-8):     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.UTF-8
+Pliki programistyczne biblioteki łączącej Beecrypt z Javą.
+
+%package java-static
+Summary:       BeeCrypt Java glue static library
+Summary(pl.UTF-8):     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.UTF-8
+Statyczna biblioteka łącząca BeeCrypt z Javą.
+
 %package -n python-beecrypt
 Summary:       Python interface to BeeCrypt library
-Summary(pl):   Pythonowy interfejs do biblioteki BeeCrypt
+Summary(pl.UTF-8):     Pythonowy interfejs do biblioteki BeeCrypt
 Group:         Development/Languages/Python
-Requires:      %{name} = %{epoch}:%{version}
-%pyrequires_eq python
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+%pyrequires_eq python-libs
 
 %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.
+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.
+%description -n python-beecrypt -l pl.UTF-8
+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
+
+# --with-cplusplus or building (even empty) *.cxx into libbeecrypt
+# makes it (and thus rpm) depending on libstdc++ which is unacceptable
+%{__perl} -pi -e 's/ cppglue\.cxx$//' Makefile.am
 
 %build
-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}
+       --disable-openmp \
+       %{?with_javac:ac_cv_have_gcj=no} \
+       %{!?with_static_libs:--disable-static} \
+       --without-cplusplus \
+       --with%{!?with_java:out}-java \
+       %{!?with_python:--without-python}
 
-%if %{with python}
-%{__make} -C python \
-       pylibdir=%{py_libdir}
-%endif
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_libdir}
+install -d $RPM_BUILD_ROOT/%{_lib}
 
 %{__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
+mv -f $RPM_BUILD_ROOT%{_libdir}/libbeecrypt.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libbeecrypt.so.*.*.*) \
+       $RPM_BUILD_ROOT%{_libdir}/libbeecrypt.so
+
+%{?with_python:%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -125,23 +182,47 @@ rm -rf $RPM_BUILD_ROOT
 %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.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libbeecrypt.so.7
 
 %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.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbeecrypt_java.so.7
+
+%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 python}
 %files -n python-beecrypt
 %defattr(644,root,root,755)
-%attr(755,root,root) %{py_sitedir}/*.so
+%attr(755,root,root) %{py_sitedir}/_bc.so
 %endif
This page took 0.052307 seconds and 4 git commands to generate.