[98079] trunk/dports/databases/mongodb

ryandesign at macports.org ryandesign at macports.org
Mon Sep 24 06:54:11 PDT 2012


Revision: 98079
          http://trac.macports.org//changeset/98079
Author:   ryandesign at macports.org
Date:     2012-09-24 06:54:11 -0700 (Mon, 24 Sep 2012)
Log Message:
-----------
mongodb: update to 2.2.0 (#36290); use bundled boost because mongodb is incompatible with boost 1.50+ (#35118)

Modified Paths:
--------------
    trunk/dports/databases/mongodb/Portfile
    trunk/dports/databases/mongodb/files/patch-SConstruct.diff
    trunk/dports/databases/mongodb/files/patch-distsrc-client-SConstruct.diff

Added Paths:
-----------
    trunk/dports/databases/mongodb/files/patch-src-SConscript.client.diff
    trunk/dports/databases/mongodb/files/patch-src-mongo-SConscript.diff
    trunk/dports/databases/mongodb/files/patch-src-mongo-util-compress.cpp.diff
    trunk/dports/databases/mongodb/files/patch-src-third_party-SConscript.diff

Removed Paths:
-------------
    trunk/dports/databases/mongodb/files/patch-util-compress.cpp.diff

Modified: trunk/dports/databases/mongodb/Portfile
===================================================================
--- trunk/dports/databases/mongodb/Portfile	2012-09-24 13:44:01 UTC (rev 98078)
+++ trunk/dports/databases/mongodb/Portfile	2012-09-24 13:54:11 UTC (rev 98079)
@@ -5,7 +5,7 @@
 
 name                mongodb
 epoch               1
-version             2.0.7
+version             2.2.0
 license             AGPL-3
 categories          databases
 maintainers         ryandesign
@@ -19,20 +19,26 @@
 master_sites        http://downloads.mongodb.org/src/
 distname            ${name}-src-r${version}
 
-checksums           rmd160  7a80f463ea2f7f1de80972fcded3fbe982e6f8f0 \
-                    sha256  b204d94bc912692bdc154402fbfc2e5c4bd60b09dcbe244f3b2b7657f0a82736
+checksums           rmd160  08a411e74d3f66e5714f04d537e8c45bcd0fc2fe \
+                    sha256  084626e476ac747dfae143889c24a10f739cd54480af9bf253f50999f065608b
 
 depends_build       port:scons
 
-depends_lib         port:boost \
-                    port:pcre \
+depends_lib         port:pcre \
                     port:spidermonkey \
                     port:libpcap \
                     port:snappy
 
+# As of mongodb 2.2.0, we use the bundled copy of boost instead of the boost port, because
+# the developers still have not fixed mongodb's incompatibility with boost 1.50 and up.
+# https://jira.mongodb.org/browse/SERVER-4314
+
 patchfiles          patch-SConstruct.diff \
                     patch-distsrc-client-SConstruct.diff \
-                    patch-util-compress.cpp.diff
+                    patch-src-SConscript.client.diff \
+                    patch-src-mongo-SConscript.diff \
+                    patch-src-mongo-util-compress.cpp.diff \
+                    patch-src-third_party-SConscript.diff
 
 post-patch {
     reinplace "s|@@PREFIX@@|${prefix}|g" \
@@ -48,34 +54,20 @@
     compiler.blacklist clang
 }
 
-pre-configure {
-    # https://trac.macports.org/ticket/35118
-    # https://jira.mongodb.org/browse/SERVER-4314
-    set boost_version_int [exec awk {/#define BOOST_VERSION/ {print $3}} ${prefix}/include/boost/version.hpp]
-    scan ${boost_version_int} {%1d%3d%2d} boost_major boost_minor boost_patch
-    set boost_version "${boost_major}.${boost_minor}.${boost_patch}"
-    if {[vercmp ${boost_version} 1.50] >= 0} {
-        ui_error "mongodb ${version} requires boost 1.49.0 or older but you have boost ${boost_version}."
-        ui_error "To downgrade boost, see https://trac.macports.org/wiki/howto/InstallingOlderPort"
-        ui_error "or more specifically https://trac.macports.org/ticket/35118#comment:12"
-        ui_error "After installing boost 1.49.0, install mongodb without upgrading dependencies, i.e.:"
-        ui_error "    sudo port -n install mongodb"
-        return -code error "boost ${boost_version} is too new"
-    }
-}
-
 build.env           TERM=xterm \
                     CFLAGS="[get_canonical_archflags cc]" \
                     CPPFLAGS="-I${prefix}/include/js" \
                     CXXFLAGS="[get_canonical_archflags cxx]" \
-                    LINKFLAGS="[get_canonical_archflags ld] -lpcre"
+                    LINKFLAGS="[get_canonical_archflags ld]"
 
-build.cmd           scons
+build.cmd           ${prefix}/bin/scons
 build.target        all mongobridge mongosniff
 build.args          --cxx=${configure.cxx} \
                     --full \
-                    --use-system-all \
-                    --usesm
+                    --use-system-pcre \
+                    --use-system-sm \
+                    --use-system-snappy \
+                    --extralib=pcre,pcrecpp,js,snappy
 
 eval destroot.env   [option build.env]
 destroot.args       ${build.args}

Modified: trunk/dports/databases/mongodb/files/patch-SConstruct.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-SConstruct.diff	2012-09-24 13:44:01 UTC (rev 98078)
+++ trunk/dports/databases/mongodb/files/patch-SConstruct.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -1,6 +1,6 @@
---- SConstruct.orig	2012-05-08 09:51:28.000000000 -0500
-+++ SConstruct	2012-05-13 18:54:07.000000000 -0500
-@@ -503,21 +503,15 @@
+--- SConstruct.orig	2012-08-28 00:28:11.000000000 -0500
++++ SConstruct	2012-08-30 04:19:10.000000000 -0500
+@@ -486,21 +486,14 @@
      darwin = True
      platform = "osx" # prettier than darwin
  
@@ -12,38 +12,19 @@
      nix = True
  
 -    if force64:
--        env.Append( CPPPATH=["/usr/64/include"] )
--        env.Append( LIBPATH=["/usr/64/lib"] )
--        if installDir == DEFAULT_INSTALL_DIR and not distBuild:
--            installDir = "/usr/64/"
+-       env.Append( EXTRACPPPATH=["/usr/64/include"] )
+-       env.Append( EXTRALIBPATH=["/usr/64/lib"] )
+-       if installDir == DEFAULT_INSTALL_DIR:
+-           installDir = "/usr/64/"
 -    else:
--        env.Append( CPPPATH=filterExists(["/sw/include" , "/opt/local/include"]) )
--        env.Append( LIBPATH=filterExists(["/sw/lib/", "/opt/local/lib"]) )
-+    env.Append( CPPPATH=["@@PREFIX@@/include"] )
-+    env.Append( LIBPATH=["@@PREFIX@@/lib"] )
+-       env.Append( EXTRACPPPATH=filterExists(["/sw/include" , "/opt/local/include"]) )
+-       env.Append( EXTRALIBPATH=filterExists(["/sw/lib/", "/opt/local/lib"]) )
++    env.Append( EXTRACPPPATH=["@@PREFIX@@/include"] )
++    env.Append( EXTRALIBPATH=["@@PREFIX@@/lib"] )
 +    env["CFLAGS"] = os.getenv("CFLAGS")
 +    env["CPPFLAGS"] = os.getenv("CPPFLAGS")
 +    env["CXXFLAGS"] = os.getenv("CXXFLAGS")
 +    env["LINKFLAGS"] = os.getenv("LINKFLAGS")
-+
  
- elif "linux2" == os.sys.platform or "linux3" == os.sys.platform:
+ elif os.sys.platform.startswith("linux"):
      linux = True
-@@ -700,7 +694,7 @@
-         env["CXX"] = "distcc " + env["CXX"]
-         
-     # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. 
--    env.Append( CPPFLAGS="-fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch" )
-+    env.Append( CPPFLAGS=" -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch " )
-     # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
-     if linux:
-         env.Append( CPPFLAGS=" -Werror " )
-@@ -995,7 +989,7 @@
- 
-         myCheckLib( "tcmalloc" , True );  # if successful, appedded 'tcmalloc' to myenv[ LIBS ]
-         myenv.Append( CPPDEFINES=[ "HEAP_CHECKING" ] )
--        myenv.Append( CPPFLAGS="-fno-omit-frame-pointer" )
-+        myenv.Append( CPPFLAGS=" -fno-omit-frame-pointer " )
- 
-     # FIXME doConfigure() is being called twice, in the case of the shell. So if it is called 
-     # with shell==True, it'd be on its second call and it would need to rearrange the libraries'

Modified: trunk/dports/databases/mongodb/files/patch-distsrc-client-SConstruct.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-distsrc-client-SConstruct.diff	2012-09-24 13:44:01 UTC (rev 98078)
+++ trunk/dports/databases/mongodb/files/patch-distsrc-client-SConstruct.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -1,11 +1,11 @@
---- distsrc/client/SConstruct.orig	2011-09-11 09:09:34.000000000 -0500
-+++ distsrc/client/SConstruct	2011-09-13 03:50:05.000000000 -0500
-@@ -39,7 +39,7 @@
- linux = False
+--- distsrc/client/SConstruct.orig	2012-08-28 00:28:11.000000000 -0500
++++ distsrc/client/SConstruct	2012-08-30 04:21:53.000000000 -0500
+@@ -47,7 +47,7 @@
+ win = False
  
- if "darwin" == os.sys.platform:
+ if "darwin" == sys.platform:
 -    addExtraLibs( "/opt/local/" )
 +    addExtraLibs( "@@PREFIX@@/" )
      nix = True
- elif "linux2" == os.sys.platform or "linux3" == os.sys.platform:
+ elif sys.platform in ("linux2", "linux3"):
      nix = True

Added: trunk/dports/databases/mongodb/files/patch-src-SConscript.client.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-src-SConscript.client.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-src-SConscript.client.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -0,0 +1,12 @@
+https://jira.mongodb.org/browse/SERVER-5575
+--- src/SConscript.client.orig	2012-08-28 00:28:11.000000000 -0500
++++ src/SConscript.client	2012-09-24 08:02:47.000000000 -0500
+@@ -134,7 +134,7 @@
+ # install
+ prefix = GetOption("prefix")
+ 
+-env.Install(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
++env.InstallAs(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
+ 
+ for x in clientHeaderDirectories:
+     env.Install(prefix + "/include/mongo/" + x,

Added: trunk/dports/databases/mongodb/files/patch-src-mongo-SConscript.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-src-mongo-SConscript.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-src-mongo-SConscript.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -0,0 +1,11 @@
+--- src/mongo/SConscript.orig	2012-08-28 00:28:11.000000000 -0500
++++ src/mongo/SConscript	2012-09-24 07:45:25.000000000 -0500
+@@ -170,7 +170,7 @@
+ 
+ if usesm:
+     env.StaticLibrary('scripting', scripting_common_files + ['scripting/engine_spidermonkey.cpp'],
+-                      LIBDEPS=['$BUILD_DIR/third_party/js-1.7/js', 'bson_template_evaluator'])
++                      LIBDEPS=['$BUILD_DIR/third_party/shim_spidermonkey', 'bson_template_evaluator'])
+ elif usev8:
+     env.StaticLibrary('scripting', scripting_common_files + ['scripting/engine_v8.cpp',
+                                                              'scripting/v8_db.cpp',

Copied: trunk/dports/databases/mongodb/files/patch-src-mongo-util-compress.cpp.diff (from rev 97206, trunk/dports/databases/mongodb/files/patch-util-compress.cpp.diff)
===================================================================
--- trunk/dports/databases/mongodb/files/patch-src-mongo-util-compress.cpp.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-src-mongo-util-compress.cpp.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -0,0 +1,11 @@
+--- src/mongo/util/compress.cpp.orig	2012-08-28 00:28:11.000000000 -0500
++++ src/mongo/util/compress.cpp	2012-08-30 04:24:21.000000000 -0500
+@@ -2,7 +2,7 @@
+ 
+ #include "mongo/util/compress.h"
+ 
+-#include "third_party/snappy/snappy.h"
++#include <snappy.h>
+ 
+ namespace mongo {
+ 

Added: trunk/dports/databases/mongodb/files/patch-src-third_party-SConscript.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-src-third_party-SConscript.diff	                        (rev 0)
+++ trunk/dports/databases/mongodb/files/patch-src-third_party-SConscript.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -0,0 +1,13 @@
+--- src/third_party/SConscript.orig	2012-08-28 00:28:11.000000000 -0500
++++ src/third_party/SConscript	2012-09-24 08:00:44.000000000 -0500
+@@ -33,6 +33,10 @@
+     env.StaticLibrary('shim_snappy', ['shim_snappy.cpp'], LIBDEPS=['snappy/snappy'])
+ 
+ if use_system_version_of_library("sm"):
++    if windows:
++        env.Append(CPPDEFINES=['XP_WIN'])
++    else:
++        env.Append(CPPDEFINES=['XP_UNIX'])
+     env.StaticLibrary("shim_spidermonkey", ['shim_spidermonkey.cpp'], SYSLIBDEPS=['js'])
+ else:
+     if windows:

Deleted: trunk/dports/databases/mongodb/files/patch-util-compress.cpp.diff
===================================================================
--- trunk/dports/databases/mongodb/files/patch-util-compress.cpp.diff	2012-09-24 13:44:01 UTC (rev 98078)
+++ trunk/dports/databases/mongodb/files/patch-util-compress.cpp.diff	2012-09-24 13:54:11 UTC (rev 98079)
@@ -1,10 +0,0 @@
---- util/compress.cpp.orig	2011-10-21 19:52:16.000000000 -0500
-+++ util/compress.cpp	2011-10-27 19:30:16.000000000 -0500
-@@ -1,6 +1,6 @@
- // @file compress.cpp
- 
--#include "../third_party/snappy/snappy.h"
-+#include <snappy.h>
- #include "compress.h"
- #include <string>
- #include <string.h>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120924/e64009da/attachment-0001.html>


More information about the macports-changes mailing list