mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
128 lines
5.3 KiB
Bash
128 lines
5.3 KiB
Bash
# $Id$
|
|
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
|
# 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>
|
|
# - build -j2 (RAM constraints)
|
|
# - patches
|
|
# - specify mmapv1 as the default storage engine in mongodb.conf
|
|
|
|
# ALARM: Thomas P. <tpxp@live.fr>
|
|
# - force mmapv1 to be compiled in the build
|
|
|
|
buildarch=28
|
|
|
|
pkgname=mongodb
|
|
pkgver=3.2.9
|
|
pkgrel=1
|
|
pkgdesc='A high-performance, open source, schema-free document-oriented database'
|
|
arch=('i686' 'x86_64')
|
|
url='http://www.mongodb.org'
|
|
license=('AGPL3')
|
|
depends=('pcre' 'snappy' 'openssl' 'libsasl' 'boost-libs' 'yaml-cpp')
|
|
[[ "$CARCH" == "x86_64" ]] && depends+=('wiredtiger')
|
|
makedepends=('scons' 'readline' 'ncurses' 'libpcap' 'boost')
|
|
checkdepends=('python2-pymongo' 'python2-yaml')
|
|
optdepends=('libpcap: needed for mongosniff'
|
|
'mongodb-tools: mongoimport, mongodump, mongotop, etc')
|
|
backup=('etc/mongodb.conf')
|
|
install=mongodb.install
|
|
source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz"
|
|
'boost160.patch'
|
|
'mongodb.conf' 'mongodb.service'
|
|
'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')
|
|
sha512sums=('83187167c9775065ac24da180c6483bfc1580e085cfb7ff27572c812b9eee9ec7e9800d5da2238c333f03c641cc0e41b067341f28578ffc4513369a3f99dc002'
|
|
'385c82875174caae433a3b381eb10f98a6fed0c8943788ddefff1de80a898e480bdbbf094a7783285cf2ae11ce3fc6878e57d58183d05be2f0837b206aaa4da6'
|
|
'631d10baac9367e24d064c6ca05f1872dbf211c9d06ce2622d911da3a4f6416c521c649da686e0e283c10dba2802de74d952a45249461d0ca90ed1b316aed1ee'
|
|
'177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
|
|
'9877ef788fd1170337ef6da267d8fb624f74c59eb98533753d4db9ff841f562e81cbb3ee36431ea11cee4f9354876426bc24edaa68dd43ef2b1f5e5111395696'
|
|
'12c56405bed46f8d607ea46dfce07d567dfb4cfc16c06b8a3fc07c41d72d377aeba16a5bbc6a53962b24cc5524500b28ff736b59fe7e558ca638ffa2c0fd4a71'
|
|
'c6e50c4b1e59614309ef989bbff102394fd9d424c0f4af16917194662b744fc7a5a05e6b04dcdc56632dc6260d46d286bad7ed0b360cad79ee4c15f4d0e61035'
|
|
'787729236ab1dba3c302211a5220995f413fed220eb05e327d2f41612a9ae3f460ea0c141deeb2e887a022b4ddfc8fe1ac5ccbd1cee82fd68a6fb608b1a727f8'
|
|
'4a16659dae5154aad09df16bc18f0b103231d402c99d01d67069f7e4b497814241d0891f96f123448d0a60f49c6cbbb7156f38621cf4797ba0c52ab978ca154c')
|
|
|
|
MAKEFLAGS="-j2"
|
|
|
|
_scons_args=(
|
|
--use-system-boost
|
|
--use-system-pcre
|
|
--use-system-snappy
|
|
--use-system-yaml
|
|
--use-system-zlib
|
|
--use-sasl-client
|
|
--ssl
|
|
--disable-warnings-as-errors
|
|
--mmapv1=on
|
|
# Force mmapv1 to be compiled in - By default mmapv1 is disabled due to this commit : https://github.com/mongodb/mongo/commit/ff8061cd1d97e99f141b02a7fe36e83f302b909c
|
|
# --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
|
|
)
|
|
|
|
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}
|
|
patch -Np1 -i ../boost160.patch
|
|
|
|
sed -e 's|-std=c++11|-std=gnu++11|g' -i SConstruct # tests use hex floats, not supported in plain C++
|
|
|
|
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
|
|
}
|
|
|
|
build() {
|
|
cd mongodb-src-r${pkgver}
|
|
export SCONSFLAGS="$MAKEFLAGS"
|
|
|
|
scons core tools "${_scons_args[@]}"
|
|
}
|
|
|
|
check() {
|
|
cd mongodb-src-r${pkgver}
|
|
export SCONSFLAGS="$MAKEFLAGS"
|
|
|
|
# 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
|
|
|
|
scons dbtest "${_scons_args[@]}"
|
|
python2 buildscripts/resmoke.py --suites=dbtest $_storageEngine
|
|
|
|
scons integration_tests "${_scons_args[@]}"
|
|
python2 buildscripts/resmoke.py --suites=integration_tests_replset,integration_tests_standalone --dbpathPrefix="$srcdir" $_storageEngine
|
|
}
|
|
|
|
package() {
|
|
cd mongodb-src-r${pkgver}
|
|
|
|
scons install --prefix="$pkgdir/usr" --nostrip "${_scons_args[@]}"
|
|
|
|
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"
|
|
}
|