# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" JAVA_PKG_IUSE="doc source test" inherit java-pkg-2 java-ant-2 MY_P="${PN}-jdk15on-${PV/./}" DESCRIPTION="Java cryptography APIs" HOMEPAGE="http://www.bouncycastle.org/java.html" SRC_URI="http://www.bouncycastle.org/download/${MY_P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="amd64 ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" # Tests are currently broken. Needs further investigation. # # - java.lang.RuntimeException: java.security.NoSuchProviderException: # JCE cannot authenticate the provider BC # # - error: package org.bouncycastle.util.test does not exist RESTRICT="test" COMMON_DEPEND=" >=dev-java/bcprov-${PV}:0[test?]" DEPEND=">=virtual/jdk-1.5 app-arch/unzip test? ( dev-java/junit:0 ) ${COMMON_DEPEND}" RDEPEND=">=virtual/jre-1.5 ${COMMON_DEPEND}" S="${WORKDIR}/${MY_P}" src_unpack() { default cd "${S}" unpack ./src.zip } java_prepare() { mkdir "${S}"/classes if use test ; then java-pkg_jar-from --build-only junit fi java-pkg_jar-from bcprov } src_compile() { find org -name "*.java" > "${T}"/src.list local cp="bcprov.jar" if use test ; then cp="${cp}:junit.jar" else sed -i '/\/test\//d' "${T}"/src.list || die "Failed to remove test classes" fi ejavac -d "${S}"/classes -cp ${cp} "@${T}"/src.list cd "${S}"/classes || die jar -cf "${S}"/${PN}.jar * || die "Failed to create jar." } src_test() { local cp="${PN}.jar:bcprov.jar:junit.jar" local pkg="org.bouncycastle" java -cp ${cp} ${pkg}.tsp.test.AllTests | tee tsp.tests java -cp ${cp} ${pkg}.pkcs.test.AllTests | tee pkcs.tests java -cp ${cp} ${pkg}.openssl.test.AllTests | tee openssl.tests java -cp ${cp} ${pkg}.mozilla.test.AllTests | tee mozilla.tests java -cp ${cp} ${pkg}.eac.test.AllTests | tee eac.tests java -cp ${cp} ${pkg}.dvcs.test.AllTests | tee dvcs.tests java -cp ${cp} ${pkg}.cms.test.AllTests | tee cms.tests java -cp ${cp} ${pkg}.cert.test.AllTests | tee cert.tests java -cp ${cp} ${pkg}.cert.ocsp.test.AllTests | tee cert.ocsp.tests java -cp ${cp} ${pkg}.cert.crmf.test.AllTests | tee cert.crmf.tests java -cp ${cp} ${pkg}.cert.cmp.test.AllTests | tee cert.cmp.tests grep -q FAILURES *.tests && die "Tests failed." } src_install() { java-pkg_dojar "${S}"/${PN}.jar use source && java-pkg_dosrc org use doc && java-pkg_dojavadoc docs }