ports/java/bouncycastle15/Makefile
Mateusz Piotrowski 9e1bda4000 java/bouncycastle15: Make sure we don't miss jars with future updates
The do-install-* targets will now automatically install all the
relevant files provided by the port.

Also while here:

- Replace PORTDOCS with pkg-plist entries for greater control over the
  docs.
- Move ZIPSRC-only install targets to ZIPSRC_ALL_TARGET.
- Sort pkg-plist.
- Add a comment explaining why the port installs the bundled version of
  bcprov.jar.
- Install additional documentation (docs and tls/docs).

Sponsored by:	Modirum MDPay
Sponsored by:	Klara, Inc.
2021-11-25 01:58:09 +01:00

93 lines
2.8 KiB
Makefile

# Created by: Eugene Grosbein <ports@grosbein.net>
PORTNAME= bouncycastle
PORTVERSION= 1.69
PORTREVISION= 2
CATEGORIES= java security
MASTER_SITES= http://www.bouncycastle.org/download/ \
http://polydistortion.net/bc/download/
PKGNAMESUFFIX= 15
DISTNAME= crypto-${DVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Cleanroom build of Java Cryptography Extensions
# APACHE20 is used by pg/src/main/java/org/bouncycastle/apache/bzip2/*.
LICENSE= APACHE20 MIT
LICENSE_COMB= multi
LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.html
BUILD_DEPENDS= ${JAVALIBDIR}/junit.jar:java/junit \
${JAVALIBDIR}/mail.jar:java/javamail
RUN_DEPENDS= ${JAVALIBDIR}/mail.jar:java/javamail
USES= cpe
CPE_VENDOR= ${PORTNAME}
CPE_PRODUCT= legion-of-the-bouncy-castle-java-crytography-api
USE_ANT= yes
USE_JAVA= yes
MAKE_ARGS= -f \
ant/jdk${JDKNVERSION}+.xml
MAKE_ENV= ANT_INCLUDE_SHARED_JARS=YES
ALL_TARGET= build-provider build
CONFLICTS_INSTALL= bouncycastle-1.4*
NO_ARCH= yes
OPTIONS_DEFINE= DOCS ZIPSRC
OPTIONS_DEFAULT= ZIPSRC
OPTIONS_SUB= yes
ZIPSRC_DESC= Install bundled ZIP source files
ZIPSRC_ALL_TARGET= zip-src
ARTIFACTSDIR= ${WRKSRC}/build/artifacts/jdk${JDKMVERSION}
DVERSION= ${PORTVERSION:S/.//}
JDKMVERSION= 1.5
JDKNVERSION= 15
.include <bsd.port.options.mk>
# PR 220612: remove fork="true" in javac and fork="yes" in junit tasks
.if ${ARCH} == armv6 || ${ARCH} == armv7
EXTRA_PATCHES+= ${FILESDIR}/armv6-patch-bc+-build.xml
.endif
do-install:
for src in $$(${FIND} ${ARTIFACTSDIR}/jars -name "*-jdk${JDKNVERSION}on-${DVERSION}.jar"); do \
dst="$${src##*/}"; \
dst="$${dst%%-jdk*}.jar"; \
${INSTALL_DATA} "$$src" "${STAGEDIR}/${JAVAJARDIR}/$${dst}"; \
done
# Install the bundlded version of bcprov.jar because we need a signed JAR.
# See bfca5d2c6e01d757f1f37c141c22645c2835104b for details.
${INSTALL_DATA} ${WRKSRC}/jars/bcprov-jdk${JDKNVERSION}on-${DVERSION}.jar \
${STAGEDIR}${JAVAJARDIR}/bcprov.jar
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/*.html ${STAGEDIR}${DOCSDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR}/docs
(cd ${WRKSRC} && ${COPYTREE_SHARE} docs "${STAGEDIR}${DOCSDIR}")
@${MKDIR} ${STAGEDIR}${DOCSDIR}/tls/docs
(cd ${WRKSRC} && ${COPYTREE_SHARE} tls/docs "${STAGEDIR}${DOCSDIR}")
# Skip the lcrypto documentation since that JAR is not installed.
@${MKDIR} ${STAGEDIR}${DOCSDIR}
for src in $$(${FIND} ${ARTIFACTSDIR} -type d -name "docs"); do \
dst="$${src%%-jdk*}"; \
dst="$${dst##*/}"; \
case $${dst} in lcrypto) continue;; esac; \
(cd $${src} && ${COPYTREE_SHARE} . "${STAGEDIR}${DOCSDIR}/$${dst}"); \
done
do-install-ZIPSRC-on:
@${MKDIR} ${STAGEDIR}${DATADIR}
for src in $$(${FIND} ${ARTIFACTSDIR} -name "src.zip"); do \
dst="$${src%%-jdk*}"; \
dst="$${dst##*/}-src.zip"; \
${INSTALL_DATA} "$$src" "${STAGEDIR}/${DATADIR}/$${dst}"; \
done
.include <bsd.port.mk>