diff options
Diffstat (limited to 'databases/mongodb/Makefile')
-rw-r--r-- | databases/mongodb/Makefile | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/databases/mongodb/Makefile b/databases/mongodb/Makefile new file mode 100644 index 00000000000..4cdf5fe7514 --- /dev/null +++ b/databases/mongodb/Makefile @@ -0,0 +1,127 @@ +# $NetBSD: Makefile,v 1.1 2015/05/02 08:10:33 ryoon Exp $ + +DISTNAME= mongodb-src-r3.0.2 +PKGNAME= ${DISTNAME:S/src-r//:S/-rc/rc/} +CATEGORIES= databases +MASTER_SITES= http://fastdl.mongodb.org/src/ + +MAINTAINER= bartosz.kuzma@gmail.com +HOMEPAGE= http://mongodb.org/ +COMMENT= NoSQL distributed document-oriented database +LICENSE= gnu-agpl-v3 # Client and tools licensed under apache-2.0 + +NO_CONFIGURE= yes +USE_LANGUAGES= c c++ + +BUILD_DEPENDS+= scons-[0-9]*:../../devel/scons + +SCONS_BIN= ${PREFIX}/bin/scons +SCONS_ARGS= ${_MAKE_JOBS} +SCONS_ARGS= --c++11=on +SCONS_ARGS+= --cc=${WRAPPER_BINDIR}/${CC:Q} +SCONS_ARGS+= --cxx=${WRAPPER_BINDIR}/${CXX:Q} +SCONS_ARGS+= --use-system-boost=USE-SYSTEM-BOOST +SCONS_ARGS+= --use-system-pcre=USE-SYSTEM-PCRE +SCONS_ARGS+= --use-system-snappy=USE-SYSTEM-SNAPPY +SCONS_ARGS+= --use-system-tcmalloc=USE-SYSTEM-TCMALLOC +SCONS_ARGS+= --js-engine=v8-3.25 +# Avoid Argument list too long from mongod linking +SCONS_ARGS+= --variant-dir=pkgsrc + +.include "../../mk/bsd.prefs.mk" + +.if ${MACHINE_ARCH} == "x86_64" +SCONS_ARGS+= --64 +.else +SCONS_ARGS+= --32 +.endif + +CPPFLAGS+= -fno-jump-tables + +.include "options.mk" + +SMF_METHODS+= mongodb + +BUILD_DEFS+= VARBASE +BUILD_DEFS+= MONGODB_USER MONGODB_GROUP MONGODB_DBPATH +BUILD_DEFS+= MONGODB_LOGPATH + +MONGODB_USER?= mongodb +MONGODB_GROUP?= mongodb +MONGODB_DBPATH?= ${VARBASE}/mongodb +MONGODB_LOGPATH?= ${VARBASE}/log/mongodb + +PKG_USERS_VARS+= MONGODB_USER +PKG_GROUPS_VARS+= MONGODB_GROUP + +PKG_GROUPS= ${MONGODB_GROUP} +PKG_USERS= ${MONGODB_USER}:${MONGODB_GROUP} + +PKG_GECOS.${MONGODB_USER}= MongoDB database administrator +PKG_HOME.${MONGODB_USER}= ${MONGODB_DBPATH} +PKG_SHELL.${MONGODB_USER}= ${SH} + +OWN_DIRS_PERMS+= ${MONGODB_DBPATH} ${MONGODB_USER} ${MONGODB_GROUP} 0755 +OWN_DIRS_PERMS+= ${MONGODB_DBPATH}/journal ${MONGODB_USER} ${MONGODB_GROUP} 0755 +OWN_DIRS_PERMS+= ${MONGODB_LOGPATH} ${MONGODB_USER} ${MONGODB_GROUP} 0755 + +FILES_SUBST+= MONGODB_USER=${MONGODB_USER} +FILES_SUBST+= MONGODB_GROUP=${MONGODB_GROUP} +FILES_SUBST+= MONGODB_DBPATH=${MONGODB_DBPATH} +FILES_SUBST+= MONGODB_LOGPATH=${MONGODB_LOGPATH} + +# XXX No better idea how to pass CXXFLAGS and LDFLAGS to scons +SUBST_CLASSES+= scons +SUBST_STAGE.scons= pre-build +SUBST_FILES.scons= SConstruct +SUBST_VARS.scons= PREFIX CXXFLAGS LDFLAGS + +SUBST_CLASSES+= path +SUBST_STAGE.path= pre-build +SUBST_FILES.path= src/mongo/db/flushtest.cpp debian/mongod.conf +SUBST_FILES.path+= debian/mongod.1 debian/mongo.1 src/mongo/shell/dbshell.cpp +SUBST_SED.path= -e 's|/data/db|${MONGODB_DBPATH}|g' +SUBST_SED.path+= -e 's|/etc|${PKG_SYSCONFDIR}|' +SUBST_VARS.path= MONGODB_DBPATH MONGODB_LOGPATH + +MONGODB_MAN_FILES= bsondump.1 mongo.1 mongod.1 mongodump.1 mongoexport.1 \ + mongofiles.1 mongoimport.1 mongooplog.1 mongoperf.1 \ + mongorestore.1 mongos.1 mongosniff.1 mongostat.1 mongotop.1 + +RCD_SCRIPTS= mongodb + +INSTALLATION_DIRS+= share/doc/mongodb share/examples/mongodb ${PKGMANDIR}/man1 + +CONF_FILES+= share/examples/mongodb/mongod.conf \ + ${PKG_SYSCONFDIR}/mongod.conf + +post-extract: + chmod -R g-w ${WRKSRC} + +do-build: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONS_BIN} ${SCONS_ARGS} core + +do-install: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONS_BIN} ${SCONS_ARGS} \ + --prefix=${DESTDIR}${PREFIX} install + +do-test: + cd ${WRKSRC} && ./test + +post-install: + ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/mongodb +.for file in ${MONGODB_MAN_FILES} + ${INSTALL_MAN} ${WRKSRC}/debian/${file} \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 +.endfor + ${INSTALL_DATA} ${WRKSRC}/debian/mongod.conf \ + ${DESTDIR}${PREFIX}/share/examples/mongodb + +.include "../../devel/boost-headers/buildlink3.mk" +.include "../../devel/boost-libs/buildlink3.mk" +.include "../../devel/boost-python/buildlink3.mk" +.include "../../devel/libexecinfo/buildlink3.mk" +.include "../../devel/pcre/buildlink3.mk" +.include "../../devel/snappy/buildlink3.mk" +.include "../../net/libpcap/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" |