# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # mongodb-rocks # mongodb-rocks/pkg-descr # mongodb-rocks/distinfo # mongodb-rocks/files # mongodb-rocks/files/patch-rpm_mongod.conf # mongodb-rocks/files/patch-src_mongo_db_fts_unicode_string.cpp # mongodb-rocks/files/patch-SConstruct # mongodb-rocks/files/mongod.in # mongodb-rocks/Makefile # mongodb-rocks/pkg-plist # echo c - mongodb-rocks mkdir -p mongodb-rocks > /dev/null 2>&1 echo x - mongodb-rocks/pkg-descr sed 's/^X//' >mongodb-rocks/pkg-descr << '1eabee1a35ad64c67a6343d967147aec' XMongo (from "humongous") is a high-performance, open source, Xschema-free, document-oriented database. A common name in the X"NOSQL" community. X XWWW: http://www.mongodb.org/ 1eabee1a35ad64c67a6343d967147aec echo x - mongodb-rocks/distinfo sed 's/^X//' >mongodb-rocks/distinfo << '3d4b2c047231c82306df86a0b5a33158' XTIMESTAMP = 1490860696 XSHA256 (mongodb-src-r3.4.3.tar.gz) = 889d49312ed072130936cfa3281123a0e89228c04f3f8e992a0b92669b28d767 XSIZE (mongodb-src-r3.4.3.tar.gz) = 39832718 XSHA256 (r3.4.3.tar.gz) = 298fde13f9eb8301a0847777290d5d95f41c43ee451872a2fba0df3fcef3316d XSIZE (r3.4.3.tar.gz) = 56514 3d4b2c047231c82306df86a0b5a33158 echo c - mongodb-rocks/files mkdir -p mongodb-rocks/files > /dev/null 2>&1 echo x - mongodb-rocks/files/patch-rpm_mongod.conf sed 's/^X//' >mongodb-rocks/files/patch-rpm_mongod.conf << 'cacfd68684128604e638235cfbe260f7' X--- rpm/mongod.conf.orig 2017-03-17 21:57:20 UTC X+++ rpm/mongod.conf X@@ -1,4 +1,4 @@ X-# mongod.conf X+# mongodb.conf X X # for documentation of all options, see: X # http://docs.mongodb.org/manual/reference/configuration-options/ X@@ -7,11 +7,11 @@ X systemLog: X destination: file X logAppend: true X- path: /var/log/mongodb/mongod.log X+ path: /var/log/mongodb/log X X # Where and how to store data. X storage: X- dbPath: /var/lib/mongo X+ dbPath: /var/db/mongo X journal: X enabled: true X # engine: X@@ -21,7 +21,7 @@ storage: X # how the process runs X processManagement: X fork: true # fork and run in background X- pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile X+ pidFilePath: /var/run/mongodb/pid # location of pidfile X X # network interfaces X net: cacfd68684128604e638235cfbe260f7 echo x - mongodb-rocks/files/patch-src_mongo_db_fts_unicode_string.cpp sed 's/^X//' >mongodb-rocks/files/patch-src_mongo_db_fts_unicode_string.cpp << 'd6477e581e5998f68b7a493778e9ed00' X--- src/mongo/db/fts/unicode/string.cpp.orig 2017-03-17 21:57:20 UTC X+++ src/mongo/db/fts/unicode/string.cpp X@@ -274,7 +274,7 @@ bool String::substrMatch(const std::stri X X // Case sensitive and diacritic sensitive. X return boost::algorithm::boyer_moore_search( X- haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end(); X+ haystack.begin(), haystack.end(), needle.begin(), needle.end()) != std::make_pair(haystack.end(), haystack.end()); X } X X } // namespace unicode d6477e581e5998f68b7a493778e9ed00 echo x - mongodb-rocks/files/patch-SConstruct sed 's/^X//' >mongodb-rocks/files/patch-SConstruct << '50c7d055b0ca742e850a40cfa5aad82c' X--- SConstruct.orig 2017-03-17 21:57:20 UTC X+++ SConstruct X@@ -929,9 +929,9 @@ if has_option('variables-help'): X print env_vars.GenerateHelpText(env) X Exit(0) X X-unknown_vars = env_vars.UnknownVariables() X-if unknown_vars: X- env.FatalError("Unknown variables specified: {0}", ", ".join(unknown_vars.keys())) X+#unknown_vars = env_vars.UnknownVariables() X+#if unknown_vars: X+# env.FatalError("Unknown variables specified: {0}", ", ".join(unknown_vars.keys())) X X def set_config_header_define(env, varname, varval = 1): X env['CONFIG_HEADER_DEFINES'][varname] = varval X@@ -1550,7 +1550,7 @@ if env.TargetOSIs('posix'): X # If runtime hardening is requested, then build anything X # destined for an executable with the necessary flags for PIE. X env.AppendUnique( X- PROGCCFLAGS=['-fPIE'], X+ PROGCCFLAGS=['-fpic'], X PROGLINKFLAGS=['-pie'], X ) X X@@ -1564,7 +1564,7 @@ if env.TargetOSIs('posix'): X "-Wno-unknown-pragmas", X "-Winvalid-pch"] ) X # env.Append( " -Wconversion" ) TODO: this doesn't really work yet X- if env.TargetOSIs('linux', 'osx', 'solaris'): X+ if env.TargetOSIs('linux', 'osx', 'solaris', 'freebsd'): X if not has_option("disable-warnings-as-errors"): X env.Append( CCFLAGS=["-Werror"] ) X X@@ -1592,19 +1592,19 @@ if env.TargetOSIs('posix'): X env.Append( CCFLAGS=["-fprofile-arcs", "-ftest-coverage"] ) X env.Append( LINKFLAGS=["-fprofile-arcs", "-ftest-coverage"] ) X X- if optBuild: X- env.Append( CCFLAGS=["-O2"] ) X- else: X- env.Append( CCFLAGS=["-O0"] ) X+ #if optBuild: X+ # env.Append( CCFLAGS=["-O2"] ) X+ #else: X+ # env.Append( CCFLAGS=["-O0"] ) X X # Promote linker warnings into errors. We can't yet do this on OS X because its linker considers X # noall_load obsolete and warns about it. X- if not env.TargetOSIs('osx'): X- env.Append( X- LINKFLAGS=[ X- "-Wl,--fatal-warnings", X- ], X- ) X+ #if not env.TargetOSIs('osx'): X+ # env.Append( X+ # LINKFLAGS=[ X+ # "-Wl,--fatal-warnings", X+ # ], X+ # ) X X mmapv1 = False X if get_option('mmapv1') == 'auto': X@@ -2461,7 +2461,7 @@ def doConfigure(myenv): X }} X """.format(storage_class) X context.Message('Checking for storage class {0} '.format(storage_class)) X- ret = context.TryLink(textwrap.dedent(test_body), ".cpp") X+ ret = context.TryCompile(textwrap.dedent(test_body), ".cpp") X context.Result(ret) X return ret X 50c7d055b0ca742e850a40cfa5aad82c echo x - mongodb-rocks/files/mongod.in sed 's/^X//' >mongodb-rocks/files/mongod.in << 'c37f49a040139b44c3c6ad6cab96af3b' X#!/bin/sh X X# PROVIDE: mongod X# REQUIRE: NETWORK ldconfig X# KEYWORD: shutdown X# X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf X# to enable this service: X# X# mongod_enable (bool): Set to "NO" by default. X# Set it to "YES" to enable mongod. X# mongod_limits (bool): Set to "NO" by default. X# Set it to yes to run `limits -e -U mongodb` X# just before mongod starts. X# mongod_dbpath (str): Default to "/var/db/mongodb" X# Base database directory. X# mongod_flags (str): Custom additional arguments to be passed to mongod. X# Default to "--logpath ${mongod_dbpath}/mongod.log --logappend". X# mongod_config (str): Default to "%%PREFIX%%/etc/mongodb.conf" X# Path to config file X# X X. /etc/rc.subr X Xname="mongod" Xrcvar=mongod_enable X Xload_rc_config $name X X: ${mongod_enable="NO"} X: ${mongod_limits="NO"} X: ${mongod_dbpath="/var/db/mongodb"} X: ${mongod_flags="--logpath ${mongod_dbpath}/mongod.log --logappend"} X: ${mongod_user="mongodb"} X: ${mongod_group="mongodb"} X: ${mongod_config="%%PREFIX%%/etc/mongodb.conf"} X Xpidfile="${mongod_dbpath}/mongod.lock" Xcommand=%%PREFIX%%/bin/${name} Xcommand_args="--config $mongod_config --dbpath $mongod_dbpath --fork >/dev/null 2>/dev/null" Xstart_precmd="${name}_prestart" X Xmongod_create_dbpath() X{ X mkdir ${mongod_dbpath} >/dev/null 2>/dev/null X [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath} X} X X Xmongod_prestart() X{ X if [ ! -d ${mongod_dbpath} ]; then X mongod_create_dbpath || return 1 X fi X if checkyesno mongod_limits; then X eval `/usr/bin/limits -e -U ${mongod_user}` 2>/dev/null X else X return 0 X fi X} X Xrun_rc_command "$1" c37f49a040139b44c3c6ad6cab96af3b echo x - mongodb-rocks/Makefile sed 's/^X//' >mongodb-rocks/Makefile << 'd226a1bcd09ba659252dd2ee348588e1' X# $FreeBSD$ X XPORTNAME= mongodb XPORTVERSION= 3.4.3 XDISTVERSIONPREFIX= r XCATEGORIES= databases net XMASTER_SITES= https://fastdl.mongodb.org/src/:main \ X http://fastdl.mongodb.org/src/:main \ X http://download.mongodb.org/src/:main \ X https://github.com/mongodb-partners/mongo-rocks/archive/:module XPKGNAMESUFFIX= -rocks XDISTNAME= mongodb-src-${DISTVERSIONPREFIX}${PORTVERSION} XDISTFILES= mongodb-src-r${PORTVERSION}.tar.gz:main \ X r${PORTVERSION}.tar.gz:module X XMAINTAINER= numisemis@yahoo.com XCOMMENT= Distributed document-oriented database with a RocksDB Storage Engine X X# mongodb is AGPLv3, C++ driver is APACHE20 XLICENSE= AGPLv3 APACHE20 XLICENSE_COMB= multi X XLIB_DEPENDS= libpcre.so:devel/pcre \ X libsnappy.so:archivers/snappy \ X libboost_system.so:devel/boost-libs \ X librocksdb.so:databases/rocksdb \ X liblz4.so:archivers/liblz4 XTEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml \ X ${PYTHON_PKGNAMEPREFIX}pymongo>=3.0:databases/pymongo X XCHOSEN_COMPILER_TYPE= clang X XONLY_FOR_ARCHS= amd64 XONLY_FOR_ARCHS_REASON= "Only supported on amd64 (i386 deprecated in v3)" X XCONFLICTS_BUILD= mongo-cxx-driver XOPTIONS_DEFINE= SASL SSL XOPTIONS_DEFAULT= SASL SSL X XSASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 XSASL_MAKE_ARGS= --use-sasl-client X XSSL_USE= yes XSSL_MAKE_ARGS= --ssl X XUSES= compiler:c++14-lang cpe execinfo python:build scons X XWITH_DEBUG=yes XMAKE_ARGS= --prefix=${STAGEDIR}${PREFIX} \ X --use-system-pcre --use-system-snappy \ X --use-system-boost --use-system-zlib \ X --cxx-std=14 --libc++ \ X --runtime-hardening=on \ X --disable-warnings-as-errors \ X VERBOSE=on X XUSERS= mongodb XGROUPS= mongodb X XUSE_RC_SUBR= mongod X XALL_TARGET= core XTEST_TARGET= unittests X X.include X X.if ${PORT_OPTIONS:MSSL} XUSES+= ssl X.endif X X.include X X.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 37 XBUILD_DEPENDS+= ${LOCALBASE}/bin/clang37:lang/clang37 XCPP= ${LOCALBASE}/bin/clang-cpp37 XCC= ${LOCALBASE}/bin/clang37 XCXX= ${LOCALBASE}/bin/clang++37 X.endif X Xpost-patch: X @${MKDIR} ${WRKSRC}/src/mongo/db/modules/ X @${LN} -sf ${WRKDIR}/mongo-rocks-r${PORTVERSION} ${WRKSRC}/src/mongo/db/modules/rocks X Xpost-install: X.for f in mongo mongod mongoperf mongos X ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f} X.endfor X ${CP} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample X Xdo-test: X @cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \ X ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS} ${TEST_TARGET} &&\ X ${PYTHON_CMD} ${BUILD_WRKSRC}/buildscripts/resmoke.py\ X --suites=unittests --jobs=${MAKE_JOBS_NUMBER} X XPORTSCOUT= limitw:1,even X XCPE_PRODUCT= mongodb X X.include d226a1bcd09ba659252dd2ee348588e1 echo x - mongodb-rocks/pkg-plist sed 's/^X//' >mongodb-rocks/pkg-plist << 'b3ad57611129f6c9213fdb3089a2cc89' X@sample etc/mongodb.conf.sample Xbin/mongo Xbin/mongod Xbin/mongoperf Xbin/mongos b3ad57611129f6c9213fdb3089a2cc89 exit