Sophie

Sophie

distrib > Mandriva > 2007.0 > x86_64 > media > contrib-release-src > by-pkgid > 972d3db7e52254bf6c173b840b032ef1 > files > 1

bouncycastle-1.33-3mdv2007.0.src.rpm

%define name		bouncycastle
%define major		1
%define minor		33
%define archivever	%{major}%{minor}

%define section		free
%define build_free	1
%define gcj_support	1
%define with_jdk15	0

Summary:        Bouncy Castle Crypto Package for Java
Name:           %{name}
Version:        %{major}.%{minor}
Release:        %mkrel 3
Epoch:          0
Group:          Development/Java
License:        BSD
URL:            http://www.bouncycastle.org/
Source0:        http://www.bouncycastle.org/download/crypto.tar.bz2
%if !%{build_free}
Source100:	http://www.bouncycastle.org/download/bcprov-jdk14-%{major}%{minor}.jar
Source101:	http://www.bouncycastle.org/download/bcprov-jdk15-%{major}%{minor}.jar
%endif
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
#Vendor:         JPackage Project
#Distribution:   JPackage
Requires:       %{name}-provider = %{epoch}:%{version}
Requires:       jpackage-utils >= 0:1.5
BuildRequires:	ant
BuildRequires:	ant-junit
BuildRequires:	jaf
BuildRequires:	javamail
BuildRequires:  junit
%if %{with_jdk15}
BuildRequires:	java-devel >= 0:1.5.0
%endif
BuildRequires:	java-devel < 0:1.5.0
BuildRequires:	jpackage-utils >= 0:1.5
%if %{gcj_support}
Requires(post):	java-gcj-compat
Requires(postun): java-gcj-compat
BuildRequires:	java-gcj-compat-devel
%else
BuildArch:      noarch
%endif

%description
The Bouncy Castle Crypto APIs consist of the following:
- A lightweight cryptography API in Java.
- A provider for the JCE and JCA.
- A clean room implementation of the JCE 1.2.1.
- Generators for Version 1 and Version 3 X.509 certificates and PKCS12 files.
- A signed jar version suitable for JDK 1.4 and the Sun JCE.

%package jdk1.4
Group:          Development/Java
Summary:        Bouncy Castle JCE APIs for Java 1.4.x
Requires:       %{name} = %{epoch}:%{version}
Requires:	jaf
Requires:	javamail
Requires:	java >= 0:1.4.0
Requires:	java < 0:1.5.0
%if %{gcj_support}
Requires(post):	java-gcj-compat
Requires(postun): java-gcj-compat
%endif
BuildRequires:	java-devel >= 0:1.4.0
BuildRequires:	java-devel < 0:1.5.0
Provides:	%{name}-provider = %{epoch}:%{version}
Provides:	jce

%description jdk1.4
Bouncy Castle JCE API's for Java 1.4.

%if %{with_jdk15}
%package jdk1.5
Group:          Development/Java
Summary:        Bouncy Castle JCE APIs for Java 1.5.x
Requires:       %{name} = %{epoch}:%{version}
Requires:	jaf
Requires:	javamail
Requires:	java >= 0:1.5.0
Requires:	java < 0:1.6.0
%if %{gcj_support}
Requires(post):	java-gcj-compat
Requires(postun): java-gcj-compat
%endif
BuildRequires:	java-devel >= 0:1.5.0
BuildRequires:	java < 0:1.6.0
Provides:	%{name}-provider = %{epoch}:%{version}
Provides:	jce

%description jdk1.5
Bouncy Castle JCE API's for Java 1.5.
%endif

%package javadoc-jdk1.4
Group:          Development/Java
Summary:        Java 1.4 javadoc for %{name}

%description javadoc-jdk1.4
Java 1.4 javadocs for %{name}.

%if %{with_jdk15}
%package javadoc-jdk1.5
Group:          Development/Java
Summary:        Java 1.5 javadoc for %{name}

%description javadoc-jdk1.5
Java 1.5 javadocs for %{name}.
%endif

%prep
%setup -q -n crypto
%{__perl} -pi -e 's/<javac/<javac nowarn="true"/g' *.xml

%build
export OPT_JAR_LIST="\
$(%{__cat} %{_sysconfdir}/ant.d/junit)\
"

export CLASSPATH=$(build-classpath jaf javamail/mailapi junit)

# 1.4
JAVA_HOME=
for javaver in 1.4.0 1.4.1 1.4.2; do
  [ -d "%{_jvmdir}/java-${javaver}" ] && \
  JAVA_HOME=%{_jvmdir}/java-${javaver}
done
[ -z "$JAVA_HOME" ] && exit 1
export JAVA_HOME="$JAVA_HOME"
ant -f jdk14.xml -Drelease.suffix=%{version} build-provider build

export CLASSPATH=$(build-classpath jaf javamail/mailapi junit)

# 1.5
%if %{with_jdk15}
JAVA_HOME=
for javaver in 1.5.0; do
  [ -d "%{_jvmdir}/java-${javaver}" ] && \
  JAVA_HOME=%{_jvmdir}/java-${javaver}
done
[ -z "$JAVA_HOME" ] && exit 1
export JAVA_HOME="$JAVA_HOME"
ant -f jdk15.xml -Drelease.suffix=%{version} build-provider build
%endif # with_jdk15

%install
%{__rm} -rf %{buildroot}

pushd build/artifacts/jdk1.4/jars

# Replace built 1.4 and 1.5 providers with original one
%if !%{build_free}
%{__rm} -f bcprov-jdk14-%{version}.jar
%{__cp} -a %{SOURCE100} bcprov-jdk14-%{version}.jar
%if %{with_jdk15}
%{__rm} -f bcprov-jdk15-%{version}.jar
%{__cp} -a %{SOURCE101} bcprov-jdk15-%{version}.jar
%endif # with_jdk15
%endif # build_free

# Java 1.4
%{__mkdir_p} %{buildroot}%{_javadir}

for jar14 in {bcmail,bcpg,bctest,bctsp}-jdk14-%{version}.jar; do
   %{__install} -m 644 $jar14 %{buildroot}%{_javadir}/$jar14
done

pushd %{buildroot}%{_javadir}
   for jar in *-jdk14-%{version}.jar; do
      %{__ln_s} $jar $(echo $jar | %{__sed} s#-%{version}##g)
   done
popd

%{__mkdir_p} %{buildroot}%{_javadir}-ext
%{__install} -m 644 bcprov-jdk14-%{version}.jar %{buildroot}%{_javadir}-ext
for javaver in 1.4.0 1.4.1 1.4.2; do
   %{__mkdir_p} %{buildroot}%{_javadir}-${javaver}
   # FIXME
   (cd %{buildroot}%{_javadir}-${javaver} && %{__ln_s} ../../..%{_javadir}-ext/bcprov-jdk14-%{version}.jar bcprov-jdk14-%{version}.jar \
    && %{__ln_s} bcprov-jdk14-%{version}.jar bcprov-jdk14.jar)
done
%{__mkdir_p}  %{buildroot}%{_javadir}/gcj-endorsed
# FIXME
(cd %{buildroot}%{_javadir}/gcj-endorsed && %{__ln_s} ../../../..%{_javadir}-ext/bcprov-jdk14-%{version}.jar bcprov-jdk14-%{version}.jar)

popd

# Java 1.5
%if %{with_jdk15}
%{__mkdir_p} %{buildroot}%{_javadir}

pushd build/artifacts/jdk1.5/jars

for jar15 in {bcmail,bcpg,bctest,bctsp}-jdk15-%{version}.jar; do
   %{__install} -m 644 $jar15 %{buildroot}%{_javadir}/$jar15
done

pushd %{buildroot}%{_javadir}
  for jar in *-jdk15-%{version}.jar; do
    %{__ln_s} $jar $(echo $jar | %{__sed} s#-%{version}##g)
  done
popd

%{__mkdir_p} %{buildroot}%{_javadir}-ext
%{__install} -m 644 bcprov-jdk15-%{version}.jar %{buildroot}%{_javadir}-ext
for javaver in 1.5.0; do
  %{__mkdir_p} %{buildroot}%{_javadir}-${javaver}
  # FIXME
  (cd %{buildroot}%{_javadir}-${javaver} && %{__ln_s} ../../..%{_javadir}-ext/bcprov-jdk15-%{version}.jar bcprov-jdk15-%{version}.jar \
   && %{__ln_s} bcprov-jdk15-%{version}.jar bcprov-jdk15.jar)
done

popd
%endif # with_jdk15

# javadoc
%{__mkdir_p} %{buildroot}%{_javadocdir}/%{name}-jdk14-%{version}
(cd %{buildroot}%{_javadocdir} && %{__ln_s} %{name}-jdk14-%{version} %{name}-jdk14)
%if %{with_jdk15}
%{__mkdir_p} %{buildroot}%{_javadocdir}/%{name}-jdk15-%{version}
(cd %{buildroot}%{_javadocdir} && %{__ln_s} %{name}-jdk15-%{version} %{name}-jdk15)
%endif

dotvers="1.4"
%if %{with_jdk15}
dotvers="$dotvers 1.5"
%endif

for javaver in $dotvers; do
  ver=`echo $javaver | sed 's/\.//'`
  for javadoc in bcmail bcpg bcprov bctsp; do
    %{__mkdir_p} %{buildroot}%{_javadocdir}/%{name}-jdk${ver}-%{version}/${javadoc}
    %{__cp} -a build/artifacts/jdk${javaver}/${javadoc}-jdk${ver}-%{version}/docs/* %{buildroot}%{_javadocdir}/%{name}-jdk${ver}-%{version}/${javadoc}
  done
done

%if %{gcj_support}
%if !%{with_jdk15}
%{_bindir}/aot-compile-rpm
%else
%{_bindir}/aot-compile-rpm  --exclude %{_javadir}/bcmail-jdk15-%{version}.jar \
                            --exclude %{_javadir}/bcpg-jdk15-%{version}.jar \
                            --exclude %{_javadir}/bctest-jdk15-%{version}.jar \
                            --exclude %{_javadir}/bctsp-jdk15-%{version}.jar \
                            --exclude %{_javadir}-ext/bcprov-jdk15-%{version}.jar
%endif # with_jdk15
%endif # gcj_support

%clean
%{__rm} -rf %{buildroot}

%if %{gcj_support}
%post
if test -x %{_bindir}/rebuild-security-providers; then
  %{_bindir}/rebuild-security-providers
fi

%postun
if test -x %{_bindir}/rebuild-security-providers; then
  %{_bindir}/rebuild-security-providers
fi

%post jdk1.4
%{update_gcjdb}

%postun jdk1.4
%{clean_gcjdb}
%endif # gcj_support

%post javadoc-jdk1.4
%{__rm} -f %{_javadocdir}/%{name}-jdk14
%{__ln_s} %{name}-jdk14-%{version} %{_javadocdir}/%{name}-jdk14

%postun javadoc-jdk1.4
if [ $1 -eq 0 ]; then
  %{__rm} -f %{_javadocdir}/%{name}-jdk1.4
fi

%if %{with_jdk15}
%post javadoc-jdk1.5
%{__rm} -f %{_javadocdir}/%{name}-jdk15
%{__ln_s} %{name}-jdk15-%{version} %{_javadocdir}/%{name}-jdk15

%postun javadoc-jdk1.5
if [ $1 -eq 0 ]; then
  %{__rm} -f %{_javadocdir}/%{name}-jdk15
fi
%endif # with_jdk15

%files
%defattr(0644,root,root,0755)
%doc *.html

%files jdk1.4
%defattr(0644,root,root,0755)
%{_javadir}/bc*-jdk14-%{version}.jar
%{_javadir}/bc*-jdk14.jar
%{_javadir}-ext/bcprov-jdk14-%{version}.jar
%{_javadir}-1.4.0/bcprov-jdk14*.jar
%{_javadir}-1.4.1/bcprov-jdk14*.jar
%{_javadir}-1.4.2/bcprov-jdk14*.jar
%{_javadir}/gcj-endorsed/bcprov-jdk14-%{version}.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/*-jdk14-%{version}.jar.*
%endif

%if %{with_jdk15}
%files jdk1.5
%defattr(0644,root,root,0755)
%{_javadir}/bc*-jdk15-%{version}.jar
%{_javadir}/bc*-jdk15.jar
%{_javadir}-ext/bcprov-jdk15-%{version}.jar
%{_javadir}-1.5.0/bcprov-jdk15*.jar
%if %{gcj_support}
#%{_libdir}/gcj/%{name}/*-jdk15-%{version}.jar.*
%endif
%endif

%files javadoc-jdk1.4
%defattr(0644,root,root,0755)
%dir %{_javadocdir}/%{name}-jdk14-%{version}
%{_javadocdir}/%{name}-jdk14-%{version}/*
%ghost %{_javadocdir}/%{name}-jdk14

%if %{with_jdk15}
%files javadoc-jdk1.5
%defattr(0644,root,root,0755)
%dir %{_javadocdir}/%{name}-jdk15-%{version}
%{_javadocdir}/%{name}-jdk15-%{version}/*
%ghost %{_javadocdir}/%{name}-jdk15
%endif

%changelog
* Wed Aug 23 2006 David Walluck <walluck@mandriva.org> 0:1.33-3mdv2007.0
- BuildRequires: ant, ant-junit

* Wed May 24 2006 David Walluck <walluck@mandriva.org> 0:1.33-2mdv2007.0
- rebuild for libgcj.so.7
- enable gcj support regardless of %%gcj_support, just not aot
  compilation
- remove checkstyle build requirement

* Tue May 09 2006 David Walluck <walluck@mandriva.org> 0:1.33-1mdk
- 1.33

* Wed Mar 29 2006 David Walluck <walluck@mandriva.org> 0:1.32-2mdk
- run rebuild-gcj-db (bug #21883)
- change to BuildRequires: java-gcj-compat-devel

* Wed Mar 29 2006 David Walluck <walluck@mandriva.org> 0:1.32-1mdk
- 1.32

* Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.31-3mdk
- install into %%{_javadir}/gcj-endorsed so that gcj can find us
- fix symlinks
- remove tests that (sometimes) fail to build with ecj

* Mon Jan 16 2006 David Walluck <walluck@mandriva.org> 0:1.31-2mdk
- fix build with jdk 1.5

* Sat Dec 31 2005 David Walluck <walluck@mandriva.org> 0:1.31-1mdk
- 1.31

* Sun Dec 18 2005 David Walluck <walluck@mandriva.org> 0:1.31-0.b16.1mdk
- 1.31b16

* Wed Dec 07 2005 David Walluck <walluck@mandriva.org> 0:1.31-0.b12.1mdk
- 1.31b12

* Wed Nov 02 2005 David Walluck <walluck@mandriva.org> 0:1.31-0.b09.1mdk
- 1.31b09
- use ant for build

* Wed Nov 02 2005 David Walluck <walluck@mandriva.org> 0:1.30-3mdk
- enable bctsp

* Sun Oct 30 2005 David Walluck <walluck@mandriva.org> 0:1.30-2mdk
- install single jar instead of directory for provider

* Mon Sep 19 2005 David Walluck <walluck@mandriva.org> 0:1.30-1mdk
- 1.30

* Mon May 30 2005 David Walluck <walluck@mandriva.org> 0:1.28-2mdk
- fix provider installation under gcj

* Sun May 29 2005 David Walluck <walluck@mandriva.org> 0:1.28-1mdk
- 1.28
- make jdk 1.5 support optional
- add support for gcj

* Mon Feb 21 2005 David Walluck <david@jpackage.org> 0:1.27-1jpp
- 1.27
- "fix" requires-on-release
- change license to BSD (style)
- fix duplicate requires

* Thu Jan 20 2005 David Walluck <david@jpackage.org> 0:1.26-1jpp
- 1.26

* Sat Oct 09 2004 David Walluck <david@jpackage.org> 0:1.25-1jpp
- 1.25
- jdk 1.3.x support out, jdk 1.5.0 support in

* Sun Feb 08 2004 David Walluck <david@anti-microsoft.org> 0:1.25-1jpp
- 1.25
- fix javadocs and javadoc dirs
- clean up BuildRequires/Requires
- CLASSPATH doesn't need jce

* Tue Jan 20 2004 David Walluck <david@anti-microsoft.org> 0:1.21-1jpp
- 1.21

* Fri Oct 10 2003 David Walluck <david@anti-microsoft.org> 0:1.20-2jpp
- fix javadoc symlinks

* Fri Oct 10 2003 David Walluck <david@anti-microsoft.org> 0:1.20-1jpp
- 1.20
- add epochs
- %%ghost symlinks
- maybe bouncycastle should consider using ant so that it
  doesn't take over three hours to script the build process
- oh, and maybe a single source archive, thanks

* Sun Sep 09 2003 David Walluck <david@anti-microsoft.org> 0:1.19-2jpp 
- build bcmail.jar for jdk1.4 package
- add Epoch
- Requires: jpackage-utils >= 0:1.5

* Fri Jun 27 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 1.19-1jpp
- First jpackage 1.5 release
- use upstream 1.4 binary due to Sun braindamage

* Sun Sep  8 2002 Ville Skyttä <ville.skytta at iki.fi> 1.15-1jpp
- First JPackage release.