diff --git a/meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch b/meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch
new file mode 100644
index 0000000..311ac6c
--- /dev/null
+++ b/meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch
@@ -0,0 +1,49 @@
+From bffde38f3b3d6285019e38a30c4573326e1dd2ea Mon Sep 17 00:00:00 2001
+From: Michael Hudson-Doyle <michael.hudson@linaro.org>
+Date: Fri, 20 Dec 2013 11:10:43 +1300
+Subject: [PATCH 1/3] Make it possible to disable the use of v8.
+
+Currently v8 is always built in, no matter what you pass to scons.
+
+This removes the (useless) --usev8 flag for scons and replaces it with a
+--disable-scripting option instead.
+---
+ SConstruct | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index fd92fe4..1f14083 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -222,7 +222,7 @@ add_option( "asio" , "Use Asynchronous IO (NOT READY YET)" , 0 , True )
+ add_option( "ssl" , "Enable SSL" , 0 , True )
+ 
+ # library choices
+-add_option( "usev8" , "use v8 for javascript" , 0 , True )
++add_option( "disable-scripting" , "do not build support for javascript" , 0 , True )
+ add_option( "libc++", "use libc++ (experimental, requires clang)", 0, True )
+ 
+ # mongo feature options
+@@ -439,7 +439,7 @@ static = has_option( "static" )
+ 
+ noshell = has_option( "noshell" ) 
+ 
+-usev8 = has_option( "usev8" ) 
++disable_scripting = has_option( "disable-scripting" )
+ 
+ asio = has_option( "asio" )
+ 
+@@ -599,7 +599,9 @@ if has_option( "durableDefaultOn" ):
+ if has_option( "durableDefaultOff" ):
+     env.Append( CPPDEFINES=[ "_DURABLEDEFAULTOFF" ] )
+ 
+-if ( not ( usev8 or justClientLib) ):
++if disable_scripting or justClientLib:
++    usev8 = False
++else:
+     usev8 = True
+ 
+ extraLibPlaces = []
+-- 
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0001-replace-os.uname-with-os.getenv-TARGET_ARCH.patch b/meta-oe/recipes-support/mongodb/mongodb/0001-replace-os.uname-with-os.getenv-TARGET_ARCH.patch
new file mode 100644
index 0000000..547c3bd
--- /dev/null
+++ b/meta-oe/recipes-support/mongodb/mongodb/0001-replace-os.uname-with-os.getenv-TARGET_ARCH.patch
@@ -0,0 +1,50 @@
+From ef482650fb6d990e4953104d7141d9a0fa4c872f Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Tue, 4 Feb 2014 10:56:35 +0100
+Subject: [PATCH] replace os.uname with os.getenv(OE_TARGET_ARCH)
+
+This fixes crosscompilation
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+Upstream-Status: Inappropiate [OE specific]
+---
+ SConstruct | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 4f26be7..a353323 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -265,9 +265,9 @@ add_option( "pch" , "use precompiled headers to speed up the build (experimental
+ add_option( "distcc" , "use distcc for distributing builds" , 0 , False )
+ 
+ # debugging/profiling help
+-if os.sys.platform.startswith("linux") and (os.uname()[-1] == 'x86_64'):
++if os.sys.platform.startswith("linux") and (os.getenv("OE_TARGET_ARCH") == 'x86_64'):
+     defaultAllocator = 'tcmalloc'
+-elif (os.sys.platform == "darwin") and (os.uname()[-1] == 'x86_64'):
++elif (os.sys.platform == "darwin") and (os.getenv("OE_TARGET_ARCH") == 'x86_64'):
+     defaultAllocator = 'tcmalloc'
+ else:
+     defaultAllocator = 'system'
+@@ -673,7 +673,7 @@ if has_option( "full" ):
+ # ---- other build setup -----
+ 
+ if "uname" in dir(os):
+-    processor = os.uname()[4]
++    processor = os.getenv("OE_TARGET_ARCH")
+ else:
+     processor = "i386"
+ 
+@@ -702,7 +702,7 @@ elif linux:
+ 
+     env.Append( LIBS=['m'] )
+ 
+-    if os.uname()[4] == "x86_64" and not force32:
++    if os.getenv("OE_TARGET_ARCH") == "x86_64" and not force32:
+         linux64 = True
+         nixLibPrefix = "lib64"
+         env.Append( EXTRALIBPATH=["/usr/lib64" , "/lib64" ] )
+-- 
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch b/meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch
new file mode 100644
index 0000000..d8d5a3b
--- /dev/null
+++ b/meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch
@@ -0,0 +1,25 @@
+From 52d68642205626cad3bac3a53e269c765ccff676 Mon Sep 17 00:00:00 2001
+From: Michael Hudson-Doyle <michael.hudson@linaro.org>
+Date: Fri, 20 Dec 2013 12:28:27 +1300
+Subject: [PATCH 2/3] Fix linking when scripting is disabled.
+
+---
+ src/mongo/scripting/engine_none.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/mongo/scripting/engine_none.cpp b/src/mongo/scripting/engine_none.cpp
+index f5c7109..9ae9d57 100644
+--- a/src/mongo/scripting/engine_none.cpp
++++ b/src/mongo/scripting/engine_none.cpp
+@@ -33,4 +33,8 @@ namespace mongo {
+     void ScriptEngine::setup() {
+         // noop
+     }
++
++    std::string ScriptEngine::getInterpreterVersionString() {
++        return "none";
++    }
+ }
+-- 
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch b/meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch
new file mode 100644
index 0000000..5c314b1
--- /dev/null
+++ b/meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch
@@ -0,0 +1,64 @@
+From 1f8e10747af3988e8ddee609bea990f622dd746a Mon Sep 17 00:00:00 2001
+From: Michael Hudson-Doyle <michael.hudson@linaro.org>
+Date: Wed, 22 Jan 2014 13:53:10 +1300
+Subject: [PATCH 3/3] * Do not build 'mongo' binary when scripting is disabled
+ * Do not build the jstests when scripting is disabled
+
+---
+ SConstruct           | 8 ++++++--
+ src/mongo/SConscript | 4 +++-
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 1f14083..a69cf0a 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -437,10 +437,13 @@ else:
+ 
+ static = has_option( "static" )
+ 
+-noshell = has_option( "noshell" ) 
+-
+ disable_scripting = has_option( "disable-scripting" )
+ 
++if not disable_scripting:
++    noshell = has_option( "noshell" )
++else:
++    noshell = True
++
+ asio = has_option( "asio" )
+ 
+ usePCH = has_option( "usePCH" )
+@@ -1671,6 +1674,7 @@ Export("get_option")
+ Export("has_option use_system_version_of_library")
+ Export("installSetup mongoCodeVersion")
+ Export("usev8")
++Export("disable_scripting")
+ Export("darwin windows solaris linux freebsd nix")
+ Export('module_sconscripts')
+ Export("debugBuild optBuild")
+diff --git a/src/mongo/SConscript b/src/mongo/SConscript
+index d84267e..dc0ca3a 100644
+--- a/src/mongo/SConscript
++++ b/src/mongo/SConscript
+@@ -6,6 +6,7 @@ import os
+ import itertools
+ from buildscripts import utils
+ 
++Import("disable_scripting")
+ Import("env")
+ Import("shellEnv")
+ Import("testEnv")
+@@ -1022,7 +1023,8 @@ test = testEnv.Install(
+                     [ f for f in Glob("dbtests/*.cpp")
+                       if not str(f).endswith('framework.cpp') and
+                          not str(f).endswith('framework_options.cpp') and
+-                         not str(f).endswith('framework_options_init.cpp') ],
++                         not str(f).endswith('framework_options_init.cpp') and
++                         not (str(f).endswith('jstests.cpp') and disable_scripting)],
+                     LIBDEPS = [
+                        "mutable_bson_test_utils",
+                        "mongocommon",
+-- 
+1.8.4.2
+
diff --git a/meta-oe/recipes-support/mongodb/mongodb_git.bb b/meta-oe/recipes-support/mongodb/mongodb_git.bb
new file mode 100644
index 0000000..f0fe240
--- /dev/null
+++ b/meta-oe/recipes-support/mongodb/mongodb_git.bb
@@ -0,0 +1,38 @@
+SUMMARY = "mongodb"
+LICENSE = "AGPLv3 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
+                    file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl libpcre boost"
+# Mongo uses tcmalloc on x86_64, which is provided by gperftools
+DEPENDS_append_x86-64 = " gperftools"
+
+inherit scons
+
+PV = "2.5.5+git${SRCPV}"
+SRCREV = "588dc81b0822ebb46f80e152b94527a882e6ea5e"
+SRC_URI = "git://github.com/mongodb/mongo.git \
+           file://0001-Make-it-possible-to-disable-the-use-of-v8.patch \
+           file://0002-Fix-linking-when-scripting-is-disabled.patch \
+           file://0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch \
+           file://0001-replace-os.uname-with-os.getenv-TARGET_ARCH.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+export OE_TARGET_ARCH="${TARGET_ARCH}"
+
+EXTRA_OESCONS = "--prefix=${D}${prefix} \
+                 --propagate-shell-environment \
+                 --cc-use-shell-environment \
+                 --cxx-use-shell-environment \
+                 --ld='${TARGET_PREFIX}g++' \
+                 --ssl \
+                 --use-system-pcre \ 
+                 --use-system-boost \
+                 --use-system-tcmalloc \
+                 --disable-scripting \
+                 --nostrip \
+                 mongod mongos"
+
+
