freebsd-ports/databases/hbase/Makefile
Greg Lewis bce2c72a74 Adjust to proposed changes in Java versioning
* Bug #238758 proposes to change the Java versioning from versions such
  as "1.6.0" to versions such as "6" (for example).  Modify the Makefile
  checks on JAVA_PORT_VERSION to cope with either format.

PR:		238983
Approved by:	maintainer timeout
2019-07-18 16:36:35 +00:00

90 lines
3.1 KiB
Makefile

# Created by: Dmitry Sivachenko <mitya@yandex-team.ru>
# $FreeBSD$
PORTNAME= hbase
PORTVERSION= 1.2.1
PORTREVISION= 1
CATEGORIES= databases java
MASTER_SITES= APACHE/${PORTNAME}/${PORTVERSION} \
http://kev009.com/freebsd/:maven
DISTFILES= ${DISTNAME}-src${EXTRACT_SUFX} FreeBSD-${PORTNAME}-${PORTVERSION}-maven-repository.tar.gz:maven
DIST_SUBDIR= hadoop
MAINTAINER= kbowling@FreeBSD.org
COMMENT= Hadoop database, a distributed, scalable, big data store
LICENSE= APACHE20
BUILD_DEPENDS= bash:shells/bash \
cmake:devel/cmake \
${LOCALBASE}/share/java/maven3/bin/mvn:devel/maven3
RUN_DEPENDS= bash:shells/bash \
yarn:devel/hadoop2
USES= cpe
CPE_VENDOR= apache
USE_JAVA= yes
JAVA_VERSION= 1.7+
MAKE_ENV+= JAVA_HOME=${JAVA_HOME} MAVEN_OPTS="-XX:MaxPermSize=256m"
OPTIONS_DEFINE= DOCS
PORTDOCS= *
HBASE_LOGDIR= /var/log/${PORTNAME}
HBASE_RUNDIR= /var/run/${PORTNAME}
HBASE_DIST= ${WRKSRC}/hbase-assembly/target/${PORTNAME}-${PORTVERSION}
HBASE_USER= hbase
HBASE_GROUP= hbase
USERS= ${HBASE_USER}
GROUPS= ${HBASE_GROUP}
SUB_FILES= hbase-env-dist.sh pkg-message
USE_RC_SUBR= hbase_master hbase_regionserver
SUB_LIST= HBASE_USER="${HBASE_USER}" \
JAVA_HOME="${JAVA_HOME}" \
HBASE_LOG_DIR="${HBASE_LOGDIR}" \
HBASE_PID_DIR="${HBASE_RUNDIR}"
PLIST_SUB= HBASE_USER=${HBASE_USER} \
HBASE_GROUP=${HBASE_GROUP} \
HBASE_LOGDIR=${HBASE_LOGDIR} \
HBASE_RUNDIR=${HBASE_RUNDIR} \
PORTVERSION="${PORTVERSION}"
.include <bsd.port.pre.mk>
.if ${JAVA_PORT_VERSION:M*8*}
JDK18_PROFILE= ,build-with-jdk8
JDK18_SOURCE= -DcompileSource=1.8
.endif
post-patch:
${REINPLACE_CMD} -e "s#%%ETCDIR%%#${ETCDIR}#" ${WRKSRC}/conf/hbase-env.sh ${WRKSRC}/bin/hbase
${RM} ${WRKSRC}/conf/hbase-env.sh.bak ${WRKSRC}/conf/hbase-env.sh.orig
do-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${LOCALBASE}/share/java/maven3/bin/mvn -Dmaven.repo.local=${WRKDIR}/m2 --offline clean install -Prelease,native${JDK18_PROFILE} -DskipTests ${JDK18_SOURCE}
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${LOCALBASE}/share/java/maven3/bin/mvn -Dmaven.repo.local=${WRKDIR}/m2 --offline install -DskipTests site assembly:single -Prelease,native${JDK18_PROFILE} ${JDK18_SOURCE}
post-build:
cd ${WRKSRC}/hbase-assembly/target && ${TAR} xf ${PORTNAME}-${PORTVERSION}-bin.tar.gz
${RM} ${HBASE_DIST}/conf/*.cmd
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/hbase/bin
cd ${HBASE_DIST}/bin && ${INSTALL_SCRIPT} *.sh hbase hirb.rb ${STAGEDIR}${PREFIX}/hbase/bin/
${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${HBASE_DIST} && ${COPYTREE_SHARE} conf ${STAGEDIR}${EXAMPLESDIR}/
${INSTALL_DATA} ${WRKDIR}/hbase-env-dist.sh ${STAGEDIR}${ETCDIR}/
cd ${HBASE_DIST}/docs && ${COPYTREE_SHARE} "*" ${STAGEDIR}${DOCSDIR}/
cd ${HBASE_DIST} && ${COPYTREE_SHARE} hbase-webapps ${STAGEDIR}${PREFIX}/hbase/
cd ${HBASE_DIST} && ${COPYTREE_SHARE} lib ${STAGEDIR}${PREFIX}/hbase/ "! -name hadoop-*.jar"
${MKDIR} ${STAGEDIR}${HBASE_LOGDIR}
${MKDIR} ${STAGEDIR}${HBASE_RUNDIR}
${CHMOD} 644 ${STAGEDIR}${PREFIX}/hbase/lib/native/libmlockall_agent.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/hbase/lib/native/libmlockall_agent.so
.include <bsd.port.post.mk>