2014-02-04 15:38:10 +00:00
# $Id$
2014-10-11 15:29:22 +00:00
# Maintainer: Felix Yan <felixonmars@archlinux.org>
2014-02-04 15:38:10 +00:00
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Mathias Stearn <mathias@10gen.com>
# Contributor: Alec Thomas
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
2014-05-06 22:30:05 +00:00
# - build -j2 (RAM constraints)
2015-12-29 00:11:20 +00:00
# - patches
2016-01-16 16:17:17 +00:00
# - specify mmapv1 as the default storage engine in mongodb.conf
2014-02-04 15:38:10 +00:00
2016-05-07 14:31:34 +00:00
# ALARM: Thomas P. <tpxp@live.fr>
# - force mmapv1 to be compiled in the build
2016-05-07 15:56:35 +00:00
buildarch = 28
2014-02-04 15:38:10 +00:00
pkgname = mongodb
2016-10-30 20:42:03 +00:00
pkgver = 3.2.10
2016-09-10 17:37:29 +00:00
pkgrel = 2
2014-02-04 15:38:10 +00:00
pkgdesc = 'A high-performance, open source, schema-free document-oriented database'
arch = ( 'i686' 'x86_64' )
url = 'http://www.mongodb.org'
license = ( 'AGPL3' )
2015-12-29 00:11:20 +00:00
depends = ( 'pcre' 'snappy' 'openssl' 'libsasl' 'boost-libs' 'yaml-cpp' )
2015-12-15 13:26:09 +00:00
[ [ " $CARCH " = = "x86_64" ] ] && depends += ( 'wiredtiger' )
2015-08-07 12:08:16 +00:00
makedepends = ( 'scons' 'readline' 'ncurses' 'libpcap' 'boost' )
2015-12-15 13:26:09 +00:00
checkdepends = ( 'python2-pymongo' 'python2-yaml' )
2015-04-02 12:22:31 +00:00
optdepends = ( 'libpcap: needed for mongosniff'
'mongodb-tools: mongoimport, mongodump, mongotop, etc' )
2014-02-04 15:38:10 +00:00
backup = ( 'etc/mongodb.conf' )
install = mongodb.install
source = ( " http://downloads.mongodb.org/src/mongodb-src-r ${ pkgver } .tar.gz "
2015-12-23 18:57:25 +00:00
'boost160.patch'
2015-12-29 00:11:20 +00:00
'mongodb.conf' 'mongodb.service'
2016-10-30 20:42:03 +00:00
'mongodb-3.2.10-boost-1.62.0.patch'
'mongodb-3.2.10-network_interface_asio_integration_test.patch'
2015-12-29 00:11:20 +00:00
'0001-mozjs-platform-support-for-ARM.patch'
'0002-issue-693-convert-sys_futex-to-it-s-6-arg-form.patch'
'0003-issue-693-enable-futex-usage-on-arm.patch'
'0004-use-gnu-11-instead-of-c-11.patch'
'0005-fix-options_parser-segfault.patch' )
2016-10-30 20:42:03 +00:00
sha512sums = ( 'b9592c7cb0184ae10e1e7092b3fa0fc52b10acef1d7beffb2c2409867e237042d7765cc7191972ded10c278756cde1ff7b23b57fb7efd8363e18f2ce994985e9'
2015-12-23 18:57:25 +00:00
'385c82875174caae433a3b381eb10f98a6fed0c8943788ddefff1de80a898e480bdbbf094a7783285cf2ae11ce3fc6878e57d58183d05be2f0837b206aaa4da6'
2016-01-16 16:17:17 +00:00
'631d10baac9367e24d064c6ca05f1872dbf211c9d06ce2622d911da3a4f6416c521c649da686e0e283c10dba2802de74d952a45249461d0ca90ed1b316aed1ee'
2015-12-29 00:11:20 +00:00
'177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
2016-10-30 20:42:03 +00:00
'd6f014d2778decde268b9e856d812bc61f7c45986aad751e44fdece39aa8a96505b77e0b917ea38880501497e01d4b051a6f3205c82af653425b5247cd813417'
'4d044d5bae420c14cc4530728236486a2ea9abe0224ed4f114d5f9e23637bfdbdd0bdfe14ecc6c1f9d6e6a13f278c6f212034077d88aaac60d8220e6c738e209'
2015-12-29 00:11:20 +00:00
'9877ef788fd1170337ef6da267d8fb624f74c59eb98533753d4db9ff841f562e81cbb3ee36431ea11cee4f9354876426bc24edaa68dd43ef2b1f5e5111395696'
'12c56405bed46f8d607ea46dfce07d567dfb4cfc16c06b8a3fc07c41d72d377aeba16a5bbc6a53962b24cc5524500b28ff736b59fe7e558ca638ffa2c0fd4a71'
'c6e50c4b1e59614309ef989bbff102394fd9d424c0f4af16917194662b744fc7a5a05e6b04dcdc56632dc6260d46d286bad7ed0b360cad79ee4c15f4d0e61035'
'787729236ab1dba3c302211a5220995f413fed220eb05e327d2f41612a9ae3f460ea0c141deeb2e887a022b4ddfc8fe1ac5ccbd1cee82fd68a6fb608b1a727f8'
'4a16659dae5154aad09df16bc18f0b103231d402c99d01d67069f7e4b497814241d0891f96f123448d0a60f49c6cbbb7156f38621cf4797ba0c52ab978ca154c' )
2014-02-04 15:38:10 +00:00
2014-05-06 22:30:05 +00:00
MAKEFLAGS = "-j2"
2014-02-04 15:38:10 +00:00
2015-04-02 12:22:31 +00:00
_scons_args = (
2015-12-15 13:26:09 +00:00
--use-system-boost
2015-04-02 12:22:31 +00:00
--use-system-pcre
--use-system-snappy
2015-12-15 13:26:09 +00:00
--use-system-yaml
--use-system-zlib
2015-04-02 12:22:31 +00:00
--use-sasl-client
--ssl
--disable-warnings-as-errors
2016-05-07 14:31:34 +00:00
--mmapv1= on
# Force mmapv1 to be compiled in - By default mmapv1 is disabled due to this commit : https://github.com/mongodb/mongo/commit/ff8061cd1d97e99f141b02a7fe36e83f302b909c
2015-12-15 13:26:09 +00:00
# --use-system-asio # https://jira.mongodb.org/browse/SERVER-21839
# --use-system-v8 # Doesn't compile
# --use-system-tcmalloc # Disabled as upstream suggests in https://jira.mongodb.org/browse/SERVER-17447?focusedCommentId=841890&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-841890
2015-04-02 12:22:31 +00:00
)
2015-12-15 13:26:09 +00:00
if [ " $CARCH " = = "x86_64" ] ; then
_scons_args += ( --use-system-wiredtiger)
else
# WiredTiger must be disabled manually when building for i686
_scons_args += ( --wiredtiger= off)
fi
prepare( ) {
cd mongodb-src-r${ pkgver }
2015-12-23 18:57:25 +00:00
patch -Np1 -i ../boost160.patch
2016-10-30 20:42:03 +00:00
patch -Np1 -i ../mongodb-3.2.10-boost-1.62.0.patch
patch -Np1 -i ../mongodb-3.2.10-network_interface_asio_integration_test.patch
2016-05-14 15:44:38 +00:00
sed -e 's|-std=c++11|-std=gnu++11|g' -i SConstruct # tests use hex floats, not supported in plain C++
2015-12-29 00:11:20 +00:00
patch -p1 -i ../0001-mozjs-platform-support-for-ARM.patch
patch -p1 -i ../0002-issue-693-convert-sys_futex-to-it-s-6-arg-form.patch
patch -p1 -i ../0003-issue-693-enable-futex-usage-on-arm.patch
patch -p1 -i ../0004-use-gnu-11-instead-of-c-11.patch
patch -p1 -i ../0005-fix-options_parser-segfault.patch
2015-12-15 13:26:09 +00:00
}
2014-02-04 15:38:10 +00:00
2015-12-15 13:26:09 +00:00
build( ) {
2014-02-04 15:38:10 +00:00
cd mongodb-src-r${ pkgver }
2015-12-23 18:57:25 +00:00
export SCONSFLAGS = " $MAKEFLAGS "
2014-02-04 15:38:10 +00:00
2015-12-15 13:26:09 +00:00
scons core tools " ${ _scons_args [@] } "
2014-02-04 15:38:10 +00:00
}
check( ) {
cd mongodb-src-r${ pkgver }
2015-12-23 18:57:25 +00:00
export SCONSFLAGS = " $MAKEFLAGS "
2014-02-04 15:38:10 +00:00
2015-12-15 13:26:09 +00:00
# Setting LANG to workaround the following test error:
# std::exception: locale::facet::_S_create_c_locale name not valid
scons unittests " ${ _scons_args [@] } "
LANG = en_US.UTF-8 python2 buildscripts/resmoke.py --suites= unittests
# Specifying --storageEngine is needed for i686
if [ " $CARCH " = = "i686" ] ; then
_storageEngine = "--storageEngine=mmapv1"
else
_storageEngine = ""
fi
2015-10-14 12:11:48 +00:00
scons dbtest " ${ _scons_args [@] } "
2015-12-15 13:26:09 +00:00
python2 buildscripts/resmoke.py --suites= dbtest $_storageEngine
2015-10-14 12:11:48 +00:00
2015-12-15 13:26:09 +00:00
scons integration_tests " ${ _scons_args [@] } "
python2 buildscripts/resmoke.py --suites= integration_tests_replset,integration_tests_standalone --dbpathPrefix= " $srcdir " $_storageEngine
2014-02-04 15:38:10 +00:00
}
package( ) {
cd mongodb-src-r${ pkgver }
2015-12-15 13:26:09 +00:00
scons install --prefix= " $pkgdir /usr " --nostrip " ${ _scons_args [@] } "
2014-02-04 15:38:10 +00:00
install -Dm644 " $srcdir /mongodb.conf " " $pkgdir /etc/mongodb.conf "
install -Dm644 " $srcdir /mongodb.service " " $pkgdir /usr/lib/systemd/system/mongodb.service "
install -dm700 " $pkgdir /var/lib/mongodb "
install -dm755 " $pkgdir /var/log/mongodb "
}