aboutsummaryrefslogtreecommitdiff
path: root/databases/mongodb36
diff options
context:
space:
mode:
authorNikolai Lifanov <lifanov@FreeBSD.org>2018-01-01 16:45:00 +0000
committerNikolai Lifanov <lifanov@FreeBSD.org>2018-01-01 16:45:00 +0000
commit0cface41e2f360609703c1986682086b9f6821cc (patch)
tree45441825946fc320c006f87d5128f16310a9a55d /databases/mongodb36
parentfb1f77a5033c1b2c3f4573f134f35f23228c78b2 (diff)
downloadports-0cface41e2f360609703c1986682086b9f6821cc.tar.gz
ports-0cface41e2f360609703c1986682086b9f6821cc.zip
add new port: MongoDB 3.6.0
PR: 224303 Submitted by: dev@dudu.ro Differential Revision: https://reviews.freebsd.org/D13594
Notes
Notes: svn path=/head/; revision=457783
Diffstat (limited to 'databases/mongodb36')
-rw-r--r--databases/mongodb36/Makefile72
-rw-r--r--databases/mongodb36/distinfo3
-rw-r--r--databases/mongodb36/files/mongod.in61
-rw-r--r--databases/mongodb36/files/patch-SConstruct48
-rw-r--r--databases/mongodb36/files/patch-rpm_mongod.conf25
-rw-r--r--databases/mongodb36/pkg-descr5
-rw-r--r--databases/mongodb36/pkg-plist6
7 files changed, 220 insertions, 0 deletions
diff --git a/databases/mongodb36/Makefile b/databases/mongodb36/Makefile
new file mode 100644
index 000000000000..bf3b255011df
--- /dev/null
+++ b/databases/mongodb36/Makefile
@@ -0,0 +1,72 @@
+# $FreeBSD$
+
+PORTNAME= mongodb
+DISTVERSIONPREFIX= r
+DISTVERSION= 3.6.0
+CATEGORIES= databases net
+MASTER_SITES= https://fastdl.mongodb.org/src/ \
+ http://fastdl.mongodb.org/src/ \
+ http://download.mongodb.org/src/
+PKGNAMESUFFIX= ${PORTVERSION:R:S/.//}
+DISTNAME= mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION}
+
+MAINTAINER= galu@packetdam.com
+COMMENT= Distributed document-oriented "NoSQL" database
+
+# mongodb is AGPLv3, C++ driver is APACHE20
+LICENSE= AGPLv3 APACHE20
+LICENSE_COMB= multi
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= "Only supported on amd64 (i386 deprecated in v3)"
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typing>=3.6.2:devel/py-typing@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}cheetah>=2.4.4:devel/py-cheetah@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR}
+LIB_DEPENDS= libpcre.so:devel/pcre \
+ libsnappy.so:archivers/snappy \
+ libboost_system.so:devel/boost-libs
+
+CONFLICTS_BUILD= mongo-cxx-driver
+CONFLICTS_INSTALL= mongodb[32-4]*
+
+USES= compiler:c++14-lang cpe python:build scons shebangfix
+USE_RC_SUBR= mongod
+
+SHEBANG_FILES= src/mongo/installer/compass/install_compass.in
+
+MAKE_ARGS= --prefix=${STAGEDIR}${PREFIX} \
+ --use-system-pcre --use-system-snappy \
+ --use-system-boost --use-system-zlib \
+ --cxx-std=14 --libc++ \
+ --runtime-hardening=on \
+ --disable-warnings-as-errors \
+ VERBOSE=on
+
+WITH_DEBUG= yes
+
+USERS= mongodb
+GROUPS= mongodb
+
+OPTIONS_DEFINE= SASL SSL
+OPTIONS_DEFAULT= SASL SSL
+
+SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
+SASL_MAKE_ARGS= --use-sasl-client
+
+SSL_USES= ssl
+SSL_MAKE_ARGS= --ssl
+
+ALL_TARGET= core
+
+PORTSCOUT= limitw:1,even
+
+CPE_PRODUCT= mongodb
+
+post-install:
+.for f in mongo mongod mongoperf mongos
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
+.endfor
+ ${CP} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample
+
+.include <bsd.port.mk>
diff --git a/databases/mongodb36/distinfo b/databases/mongodb36/distinfo
new file mode 100644
index 000000000000..48644ac4d945
--- /dev/null
+++ b/databases/mongodb36/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1513015173
+SHA256 (mongodb-src-r3.6.0.tar.gz) = 1573e6e172a6a1e559e1156b0f059f3639774a9f3db33790cb826c56e1398efd
+SIZE (mongodb-src-r3.6.0.tar.gz) = 39994543
diff --git a/databases/mongodb36/files/mongod.in b/databases/mongodb36/files/mongod.in
new file mode 100644
index 000000000000..47d6b90904c8
--- /dev/null
+++ b/databases/mongodb36/files/mongod.in
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# PROVIDE: mongod
+# REQUIRE: NETWORK ldconfig
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# mongod_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable mongod.
+# mongod_limits (bool): Set to "NO" by default.
+# Set it to yes to run `limits -e -U mongodb`
+# just before mongod starts.
+# mongod_dbpath (str): Default to "/var/db/mongodb"
+# Base database directory.
+# mongod_flags (str): Custom additional arguments to be passed to mongod.
+# Default to "--logpath ${mongod_dbpath}/mongod.log --logappend".
+# mongod_config (str): Default to "%%PREFIX%%/etc/mongodb.conf"
+# Path to config file
+#
+
+. /etc/rc.subr
+
+name="mongod"
+rcvar=mongod_enable
+
+load_rc_config $name
+
+: ${mongod_enable="NO"}
+: ${mongod_limits="NO"}
+: ${mongod_dbpath="/var/db/mongodb"}
+: ${mongod_flags="--logpath ${mongod_dbpath}/mongod.log --logappend"}
+: ${mongod_user="mongodb"}
+: ${mongod_group="mongodb"}
+: ${mongod_config="%%PREFIX%%/etc/mongodb.conf"}
+
+pidfile="${mongod_dbpath}/mongod.lock"
+command=%%PREFIX%%/bin/${name}
+command_args="--config $mongod_config --dbpath $mongod_dbpath --fork >/dev/null 2>/dev/null"
+start_precmd="${name}_prestart"
+
+mongod_create_dbpath()
+{
+ mkdir ${mongod_dbpath} >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath}
+}
+
+mongod_prestart()
+{
+ if [ ! -d ${mongod_dbpath} ]; then
+ mongod_create_dbpath || return 1
+ fi
+ if checkyesno mongod_limits; then
+ eval `/usr/bin/limits -e -U ${mongod_user}` 2>/dev/null
+ else
+ return 0
+ fi
+}
+
+run_rc_command "$1"
diff --git a/databases/mongodb36/files/patch-SConstruct b/databases/mongodb36/files/patch-SConstruct
new file mode 100644
index 000000000000..27c8229c74f4
--- /dev/null
+++ b/databases/mongodb36/files/patch-SConstruct
@@ -0,0 +1,48 @@
+--- SConstruct.orig 2017-12-01 17:04:06 UTC
++++ SConstruct
+@@ -922,9 +922,9 @@ if has_option('variables-help'):
+ print(env_vars.GenerateHelpText(env))
+ Exit(0)
+
+-unknown_vars = env_vars.UnknownVariables()
+-if unknown_vars:
+- env.FatalError("Unknown variables specified: {0}", ", ".join(unknown_vars.keys()))
++#unknown_vars = env_vars.UnknownVariables()
++#if unknown_vars:
++# env.FatalError("Unknown variables specified: {0}", ", ".join(unknown_vars.keys()))
+
+ def set_config_header_define(env, varname, varval = 1):
+ env['CONFIG_HEADER_DEFINES'][varname] = varval
+@@ -1612,7 +1612,7 @@ if env.TargetOSIs('posix'):
+ # If runtime hardening is requested, then build anything
+ # destined for an executable with the necessary flags for PIE.
+ env.AppendUnique(
+- PROGCCFLAGS=['-fPIE'],
++ PROGCCFLAGS=['-fpic'],
+ PROGLINKFLAGS=['-pie'],
+ )
+
+@@ -1626,7 +1626,7 @@ if env.TargetOSIs('posix'):
+ "-Wno-unknown-pragmas",
+ "-Winvalid-pch"] )
+ # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+- if env.TargetOSIs('linux', 'darwin', 'solaris'):
++ if env.TargetOSIs('linux', 'darwin', 'solaris', 'freebsd'):
+ if not has_option("disable-warnings-as-errors"):
+ env.Append( CCFLAGS=["-Werror"] )
+
+@@ -1661,10 +1661,10 @@ if env.TargetOSIs('posix'):
+ env.Append( CCFLAGS=["-fprofile-arcs", "-ftest-coverage"] )
+ env.Append( LINKFLAGS=["-fprofile-arcs", "-ftest-coverage"] )
+
+- if optBuild:
+- env.Append( CCFLAGS=["-O2"] )
+- else:
+- env.Append( CCFLAGS=["-O0"] )
++ #if optBuild:
++ # env.Append( CCFLAGS=["-O2"] )
++ #else:
++ # env.Append( CCFLAGS=["-O0"] )
+
+ # Promote linker warnings into errors. We can't yet do this on OS X because its linker considers
+ # noall_load obsolete and warns about it.
diff --git a/databases/mongodb36/files/patch-rpm_mongod.conf b/databases/mongodb36/files/patch-rpm_mongod.conf
new file mode 100644
index 000000000000..963c3767650d
--- /dev/null
+++ b/databases/mongodb36/files/patch-rpm_mongod.conf
@@ -0,0 +1,25 @@
+--- rpm/mongod.conf.orig 2017-12-01 17:04:06 UTC
++++ rpm/mongod.conf
+@@ -7,11 +7,11 @@
+ systemLog:
+ destination: file
+ logAppend: true
+- path: /var/log/mongodb/mongod.log
++ path: /var/db/mongodb/mongod.log
+
+ # Where and how to store data.
+ storage:
+- dbPath: /var/lib/mongo
++ dbPath: /var/db/mongodb
+ journal:
+ enabled: true
+ # engine:
+@@ -21,7 +21,7 @@ storage:
+ # how the process runs
+ processManagement:
+ fork: true # fork and run in background
+- pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
++ pidFilePath: /var/db/mongodb/mongod.lock # location of pidfile
+ timeZoneInfo: /usr/share/zoneinfo
+
+ # network interfaces
diff --git a/databases/mongodb36/pkg-descr b/databases/mongodb36/pkg-descr
new file mode 100644
index 000000000000..8f2795a9dd4b
--- /dev/null
+++ b/databases/mongodb36/pkg-descr
@@ -0,0 +1,5 @@
+Mongo (from "humongous") is a high-performance, open source,
+schema-free, document-oriented database. A common name in the
+"NOSQL" community.
+
+WWW: https://www.mongodb.com/
diff --git a/databases/mongodb36/pkg-plist b/databases/mongodb36/pkg-plist
new file mode 100644
index 000000000000..d47470ba2b6b
--- /dev/null
+++ b/databases/mongodb36/pkg-plist
@@ -0,0 +1,6 @@
+bin/install_compass
+bin/mongo
+bin/mongod
+bin/mongoperf
+bin/mongos
+@sample etc/mongodb.conf.sample