pkgsrc-wip/riak/Makefile

131 lines
4.5 KiB
Makefile

# $NetBSD: Makefile,v 1.27 2015/07/14 19:44:09 fhajny Exp $
DISTNAME= riak-2.1.4
CATEGORIES= databases
MASTER_SITES= http://s3.amazonaws.com/downloads.basho.com/riak/2.1/${PKGVERSION}/ \
http://s3.amazonaws.com/files.basho.com/solr/ \
http://s3.amazonaws.com/files.basho.com/yokozuna/
MAINTAINER= fhajny@NetBSD.org
HOMEPAGE= http://www.basho.com/products_riak_overview.php
COMMENT= Distributed, highly available data store
LICENSE= apache-2.0
SOLR= solr-4.7.0-yz-1.tgz
YOKOZUNA= yokozuna-3.jar
YOKOMONIT= yz_monitor-1.jar
DIST_SUBDIR= basho
DISTFILES= ${DEFAULT_DISTFILES} ${SOLR} ${YOKOZUNA} ${YOKOMONIT}
EXTRACT_ONLY= ${DEFAULT_DISTFILES} ${SOLR}
EXTRACT_DIR.${SOLR}= ${WRKSRC}/deps/yokozuna/build
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= bash:run gmake
MAKE_JOBS_SAFE= no
.include "../../mk/bsd.prefs.mk"
.include "../../wip/erlang-basho/Makefile.versions"
.include "Makefile.versions"
.for depname depver in ${RIAK_VERSIONS}
VERSION.${depname}= ${depver}
PLIST_SUBST+= VERSION.${depname}=${depver}
PRINT_PLIST_AWK+= {if ($$0 ~ /\/$(depname)-$(depver)\//) {sub(/\/$(depname)-$(depver)\//,"/$(depname)-$${VERSION.$(depname)}/", $$0);}}
.endfor
BUILD_DEFS+= VARBASE RIAK_USER RIAK_GROUP
BUILD_DEFS+= RIAK_DATA RIAK_LOG
RIAK_USER?= riak
RIAK_GROUP?= ${RIAK_USER}
RIAK_DATA?= ${VARBASE}/db/riak
RIAK_LOG?= ${VARBASE}/log/riak
RIAK_RUN?= ${VARBASE}/run
PKG_GROUPS+= ${RIAK_GROUP}
PKG_USERS+= ${RIAK_USER}:${RIAK_GROUP}
PKG_HOME.${RIAK_USER}= ${RIAK_DATA}
PKG_GECOS.${RIAK_USER}= Riak daemon user
PKG_SHELL.${RIAK_USER}= ${SH}
OWN_DIRS+= ${RIAK_DATA} ${RIAK_LOG}
OWN_DIRS_PERMS+= ${RIAK_DATA} ${RIAK_USER} ${RIAK_GROUP} 0770
OWN_DIRS_PERMS+= ${RIAK_LOG} ${RIAK_USER} ${RIAK_GROUP} 0770
PKG_SYSCONFSUBDIR= riak
CONF_FILES+= share/examples/riak/riak.conf ${PKG_SYSCONFDIR}/riak.conf
CONF_FILES+= share/examples/riak/solr-log4j.properties ${PKG_SYSCONFDIR}/solr-log4j.properties
BUILD_TARGET= rel
SUBST_CLASSES+= pkgsrc
SUBST_STAGE.pkgsrc= pre-build
SUBST_MESSAGE.pkgsrc= Fixing pkgsrc locations and tools
SUBST_FILES.pkgsrc= deps/node_package/priv/base/env.sh rel/vars.config
SUBST_FILES.pkgsrc+= deps/cuttlefish/rebar.config
SUBST_VARS.pkgsrc= PREFIX PKG_SYSCONFDIR PKGVERSION_NOREV
SUBST_VARS.pkgsrc+= RIAK_USER RIAK_DATA RIAK_LOG RIAK_RUN
REPLACE_BASH+= deps/eper/priv/bin/*
REPLACE_BASH+= deps/yokozuna/build/${SOLR:S/.tgz//}/example/etc/create-solrtest.keystore.sh
REPLACE_INTERPRETER+= escript
REPLACE.escript.old= .*escript
REPLACE.escript.new= ${PREFIX}/bin/escript
REPLACE_FILES.escript= deps/node_package/priv/base/nodetool
CHECK_PORTABILITY_SKIP= deps/riak_search/tests/riak_search/run_all.sh
MAKE_ENV+= PATCH=${PATCH:Q}
MAKE_ENV+= REBAR_OPTS=escript_shebang='\#!/opt/local/bin/escript\n'
INSTALL_ENV+= REPO=riak
INSTALL_ENV+= PKG_VERSION=${PKGVERSION_NOREV}
INSTALL_ENV+= OSNAME=${OPSYS}
INSTALL_ENV+= ARCH=${MACHINE_ARCH}
FILES_SUBST+= ERTS_VERSION=${VERSION.erts}
FILES_SUBST+= RIAK_USER=${RIAK_USER}
FILES_SUBST+= RIAK_GROUP=${RIAK_GROUP}
FILES_SUBST+= RIAK_DATA=${RIAK_DATA}
# Helper target to regenerate Makefile.versions
update-deps: build
(${ECHO} '# $$NetBSD$$'; \
${ECHO} '# This file is generated by "${MAKE} update-deps", post-build'; \
${ECHO}; \
cd ${WRKSRC}/deps && \
${GREP} vsn */ebin/*.app */apps/*/ebin/*.app | \
${SED} -e 's|^.*/\(.*\).app:.*"\(.*\)"},|RIAK_VERSIONS+=\1 \2|' | \
${SORT}; ) \
> ${.CURDIR}/../../wip/riak/Makefile.versions
post-extract:
${MKDIR} ${WRKSRC}/deps/yokozuna/priv/java_lib
${MKDIR} ${WRKSRC}/deps/yokozuna/priv/solr/lib/ext
${CP} ${_DISTDIR}/${YOKOZUNA} ${WRKSRC}/deps/yokozuna/priv/java_lib
${CP} ${_DISTDIR}/${YOKOMONIT} ${WRKSRC}/deps/yokozuna/priv/solr/lib/ext
${INSTALL_DATA} ${FILESDIR}/nspr-src-configure2.patch \
${WRKSRC}/deps/erlang_js/c_src/patches
${CHMOD} -R u=rwX,g=rX,o=rX ${WRKSRC}
${CHOWN} -R ${ROOT_USER}:${ROOT_GROUP} ${WRKSRC}
do-install:
${RM} -f ${WRKSRC}/rel/riak/lib/runtime_tools-${VERSION.runtime_tools}/priv/obj/dtrace_user.o
${MKDIR} ${WRKSRC}/deps/node_package/priv/templates/pkgsrc
${INSTALL_DATA} ${FILESDIR}/Makefile \
${WRKSRC}/deps/node_package/priv/templates/pkgsrc
cd ${WRKSRC}/deps/node_package/priv/templates/pkgsrc && \
${SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
RIAK_PATH=${WRKSRC} VERSION_STRING=${PKGVERSION_NOREV} \
${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS}
.include "../../devel/ncurses/buildlink3.mk"
BUILDLINK_DEPMETHOD.erlang-basho= build
.include "../../wip/erlang-basho/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"