svn commit: r439444 - in head/databases: . mongodb34 mongodb34/files

Boris Samorodov bsam at FreeBSD.org
Wed Apr 26 12:34:48 UTC 2017


Author: bsam
Date: Wed Apr 26 12:34:45 2017
New Revision: 439444
URL: https://svnweb.freebsd.org/changeset/ports/439444

Log:
  databases/mongodb34: Add a new stable mongodb 3.4.x version.
  
  PR:		213220
  Submitted by:	Eric Camachat <eric at camachat.org>

Added:
  head/databases/mongodb34/
     - copied from r439341, head/databases/mongodb32/
  head/databases/mongodb34/files/patch-src_mongo_db_fts_unicode_string.cpp   (contents, props changed)
Modified:
  head/databases/Makefile
  head/databases/mongodb34/Makefile
  head/databases/mongodb34/distinfo
  head/databases/mongodb34/files/mongod.in
  head/databases/mongodb34/files/patch-SConstruct
  head/databases/mongodb34/files/patch-rpm_mongod.conf
  head/databases/mongodb34/pkg-plist

Modified: head/databases/Makefile
==============================================================================
--- head/databases/Makefile	Wed Apr 26 12:18:36 2017	(r439443)
+++ head/databases/Makefile	Wed Apr 26 12:34:45 2017	(r439444)
@@ -190,6 +190,7 @@
     SUBDIR += mongodb
     SUBDIR += mongodb32
     SUBDIR += mongodb32-tools
+    SUBDIR += mongodb34
     SUBDIR += mrtg-mysql-load
     SUBDIR += mtools-mongodb
     SUBDIR += mtop

Modified: head/databases/mongodb34/Makefile
==============================================================================
--- head/databases/mongodb32/Makefile	Mon Apr 24 18:16:40 2017	(r439341)
+++ head/databases/mongodb34/Makefile	Wed Apr 26 12:34:45 2017	(r439444)
@@ -1,16 +1,16 @@
-# Created by: Brendan Molloy <brendan+freebsd at bbqsrc.net>
 # $FreeBSD$
 
-PORTNAME=	mongodb32
-PORTVERSION=	3.2.11
+PORTNAME=	mongodb
 DISTVERSIONPREFIX=	r
+DISTVERSION=	3.4.4
 CATEGORIES=	databases net
 MASTER_SITES=	https://fastdl.mongodb.org/src/ \
 		http://fastdl.mongodb.org/src/ \
 		http://download.mongodb.org/src/
-DISTNAME=	mongodb-src-${DISTVERSIONPREFIX}${PORTVERSION}
+PKGNAMESUFFIX=	${PORTVERSION:R:S/.//}
+DISTNAME=	mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION}
 
-MAINTAINER=	brendan+freebsd at bbqsrc.net
+MAINTAINER=	eric at camachat.org
 COMMENT=	Distributed document-oriented "NoSQL" database
 
 # mongodb is AGPLv3, C++ driver is APACHE20
@@ -18,7 +18,8 @@ LICENSE=	AGPLv3 APACHE20
 LICENSE_COMB=	multi
 
 LIB_DEPENDS=	libpcre.so:devel/pcre \
-		libsnappy.so:archivers/snappy
+		libsnappy.so:archivers/snappy \
+		libboost_system.so:devel/boost-libs
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml \
 		${PYTHON_PKGNAMEPREFIX}pymongo>=3.0:databases/pymongo
 
@@ -37,11 +38,16 @@ SASL_MAKE_ARGS=		--use-sasl-client
 SSL_USE=	yes
 SSL_MAKE_ARGS=	--ssl
 
-USES=		compiler cpe execinfo python:build scons
+USES=		compiler:c++14-lang cpe execinfo python:build scons
 
+WITH_DEBUG=yes
 MAKE_ARGS=	--prefix=${STAGEDIR}${PREFIX} \
 		--use-system-pcre --use-system-snappy \
-		--release
+		--use-system-boost --use-system-zlib \
+		--cxx-std=14 --libc++ \
+		--runtime-hardening=on \
+    --disable-warnings-as-errors \
+    VERBOSE=on
 
 USERS=	mongodb
 GROUPS=	mongodb
@@ -51,20 +57,16 @@ USE_RC_SUBR=	mongod
 ALL_TARGET=	core
 TEST_TARGET=	unittests
 
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
 
-# Bugs when compiled with < Clang 3.7
-#  - https://jira.mongodb.org/browse/SERVER-21217
-#  - https://jira.mongodb.org/browse/SERVER-22740
-.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 37
-BUILD_DEPENDS+=	${LOCALBASE}/bin/clang40:devel/llvm40
-CPP=	${LOCALBASE}/bin/clang-cpp40
-CC=	${LOCALBASE}/bin/clang40
-CXX=	${LOCALBASE}/bin/clang++40
+.if ${PORT_OPTIONS:MSSL}
+USES+=	ssl
 .endif
 
+.include <bsd.port.pre.mk>
+
 post-install:
-.for f in mongo mongod mongoperf mongos mongosniff
+.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

Modified: head/databases/mongodb34/distinfo
==============================================================================
--- head/databases/mongodb32/distinfo	Mon Apr 24 18:16:40 2017	(r439341)
+++ head/databases/mongodb34/distinfo	Wed Apr 26 12:34:45 2017	(r439444)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1480077698
-SHA256 (mongodb-src-r3.2.11.tar.gz) = 625eb28fd47b2af63b30343a064de7f42e5265f4c642874ec766ba3643fd80d7
-SIZE (mongodb-src-r3.2.11.tar.gz) = 29113706
+TIMESTAMP = 1493043221
+SHA256 (mongodb-src-r3.4.4.tar.gz) = 09e962bf3428474b9790bbd464cb6176817f9da6121c30e096240dbb4d51c9f6
+SIZE (mongodb-src-r3.4.4.tar.gz) = 39867133

Modified: head/databases/mongodb34/files/mongod.in
==============================================================================
--- head/databases/mongodb32/files/mongod.in	Mon Apr 24 18:16:40 2017	(r439341)
+++ head/databases/mongodb34/files/mongod.in	Wed Apr 26 12:34:45 2017	(r439444)
@@ -7,7 +7,7 @@
 # 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.                                                                                                                                                                                             
+# 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`
@@ -46,7 +46,6 @@ mongod_create_dbpath()
         [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath}
 }
 
-
 mongod_prestart()
 {
         if [ ! -d ${mongod_dbpath} ]; then

Modified: head/databases/mongodb34/files/patch-SConstruct
==============================================================================
--- head/databases/mongodb32/files/patch-SConstruct	Mon Apr 24 18:16:40 2017	(r439341)
+++ head/databases/mongodb34/files/patch-SConstruct	Wed Apr 26 12:34:45 2017	(r439444)
@@ -1,6 +1,6 @@
---- SConstruct.orig	2015-12-02 19:01:34 UTC
+--- SConstruct.orig	2017-04-20 21:43:42 UTC
 +++ SConstruct
-@@ -840,9 +840,9 @@ if has_option('variables-help'):
+@@ -929,9 +929,9 @@ if has_option('variables-help'):
      print env_vars.GenerateHelpText(env)
      Exit(0)
  
@@ -13,3 +13,60 @@
  
  def set_config_header_define(env, varname, varval = 1):
      env['CONFIG_HEADER_DEFINES'][varname] = varval
+@@ -1550,7 +1550,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'],
+             )
+ 
+@@ -1564,7 +1564,7 @@ if env.TargetOSIs('posix'):
+                          "-Wno-unknown-pragmas",
+                          "-Winvalid-pch"] )
+     # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+-    if env.TargetOSIs('linux', 'osx', 'solaris'):
++    if env.TargetOSIs('linux', 'osx', 'solaris', 'freebsd'):
+         if not has_option("disable-warnings-as-errors"):
+             env.Append( CCFLAGS=["-Werror"] )
+ 
+@@ -1592,19 +1592,19 @@ 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.
+-    if not env.TargetOSIs('osx'):
+-        env.Append(
+-            LINKFLAGS=[
+-                "-Wl,--fatal-warnings",
+-            ],
+-        )
++    #if not env.TargetOSIs('osx'):
++    #    env.Append(
++    #        LINKFLAGS=[
++    #            "-Wl,--fatal-warnings",
++    #        ],
++    #    )
+ 
+ mmapv1 = False
+ if get_option('mmapv1') == 'auto':
+@@ -2461,7 +2461,7 @@ def doConfigure(myenv):
+         }}
+         """.format(storage_class)
+         context.Message('Checking for storage class {0} '.format(storage_class))
+-        ret = context.TryLink(textwrap.dedent(test_body), ".cpp")
++        ret = context.TryCompile(textwrap.dedent(test_body), ".cpp")
+         context.Result(ret)
+         return ret
+ 

Modified: head/databases/mongodb34/files/patch-rpm_mongod.conf
==============================================================================
--- head/databases/mongodb32/files/patch-rpm_mongod.conf	Mon Apr 24 18:16:40 2017	(r439341)
+++ head/databases/mongodb34/files/patch-rpm_mongod.conf	Wed Apr 26 12:34:45 2017	(r439444)
@@ -1,4 +1,4 @@
---- rpm/mongod.conf.orig	2016-03-01 04:38:06 UTC
+--- rpm/mongod.conf.orig	2017-04-20 21:43:42 UTC
 +++ rpm/mongod.conf
 @@ -1,4 +1,4 @@
 -# mongod.conf
@@ -11,12 +11,12 @@
    destination: file
    logAppend: true
 -  path: /var/log/mongodb/mongod.log
-+  path: /var/log/mongodb/log
++  path: /var/db/mongodb/mongod.log
  
  # Where and how to store data.
  storage:
 -  dbPath: /var/lib/mongo
-+  dbPath: /var/db/mongo
++  dbPath: /var/db/mongodb
    journal:
      enabled: true
  #  engine:
@@ -25,7 +25,7 @@
  processManagement:
    fork: true  # fork and run in background
 -  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
-+  pidFilePath: /var/run/mongodb/pid  # location of pidfile
++  pidFilePath: /var/db/mongodb/mongod.lock  # location of pidfile
  
  # network interfaces
  net:

Added: head/databases/mongodb34/files/patch-src_mongo_db_fts_unicode_string.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/mongodb34/files/patch-src_mongo_db_fts_unicode_string.cpp	Wed Apr 26 12:34:45 2017	(r439444)
@@ -0,0 +1,11 @@
+--- src/mongo/db/fts/unicode/string.cpp.orig	2017-04-20 21:43:42 UTC
++++ src/mongo/db/fts/unicode/string.cpp
+@@ -274,7 +274,7 @@ bool String::substrMatch(const std::string& str,
+ 
+     // Case sensitive and diacritic sensitive.
+     return boost::algorithm::boyer_moore_search(
+-               haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end();
++               haystack.begin(), haystack.end(), needle.begin(), needle.end()) != std::make_pair(haystack.end(), haystack.end());
+ }
+ 
+ }  // namespace unicode

Modified: head/databases/mongodb34/pkg-plist
==============================================================================
--- head/databases/mongodb32/pkg-plist	Mon Apr 24 18:16:40 2017	(r439341)
+++ head/databases/mongodb34/pkg-plist	Wed Apr 26 12:34:45 2017	(r439444)
@@ -3,4 +3,3 @@ bin/mongo
 bin/mongod
 bin/mongoperf
 bin/mongos
-bin/mongosniff


More information about the svn-ports-head mailing list