community/mongodb to 3.2.0-1

This commit is contained in:
Kevin Mihelich 2015-12-15 13:26:09 +00:00
parent bd27995407
commit 542134dbec

View file

@ -8,79 +8,88 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - build -j2 (RAM constraints)
# - use system v8 (older 3.16 package)
# - disable WiredTiger storage engine (FTBFS)
# - use system tcmalloc (from added gperftools dependency)
pkgname=mongodb
pkgver=3.0.7
pkgrel=3
pkgver=3.2.0
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=('boost-libs' 'pcre' 'snappy' 'openssl' 'v8-3.16' 'libsasl' 'gperftools')
depends=('pcre' 'snappy' 'openssl' 'libsasl' 'boost-libs' 'yaml-cpp' 'v8-3.16')
[[ "$CARCH" == "x86_64" ]] && depends+=('wiredtiger')
makedepends=('scons' 'readline' 'ncurses' 'libpcap' 'boost')
checkdepends=('python2-pymongo')
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"
'mongodb.conf' 'mongodb.service')
sha512sums=('183691c5dc137ea4b86d53d24d2935fd66ed8de60fbf5eca0a0a39c159be1f29043cd655cde1a213a98a76b2b3e6369dbccf790b02a1cc4b622c067ad3c0c91b'
sha512sums=('4b321b582f5ec2613b869b003a02494c8a9e3b772b1f13898417b1e831c204468309a0e1785acd3b85c8a663cae91e55e44f53f8b74bd3a516b1e1471f606882'
'05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
'177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9')
MAKEFLAGS="-j2"
_scons_args=(
--use-system-boost
--use-system-pcre
--use-system-snappy
--use-system-yaml
--use-system-zlib
--use-sasl-client
--use-system-boost
--variant-dir=build
--ssl
--c++11=on
--disable-warnings-as-errors
--use-system-v8
--wiredtiger=off
--use-system-tcmalloc
# --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
)
# --use-system-yaml (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}
export SCONSFLAGS="$MAKEFLAGS"
}
build() {
# fucking mongo aint no fun to package
export SCONSFLAGS="$MAKEFLAGS"
cd mongodb-src-r${pkgver}
scons all "${_scons_args[@]}"
scons core tools "${_scons_args[@]}"
}
check() {
# All tests disabled for 3.0.7
export SCONSFLAGS="$MAKEFLAGS"
cd mongodb-src-r${pkgver}
# TODO: jstests
# python2 buildscripts/resmoke.py --dbpathPrefix="$srcdir"
# 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 --set suite dbtest
python2 buildscripts/resmoke.py --suites=dbtest $_storageEngine
scons unittests "${_scons_args[@]}"
# python2 buildscripts/resmoke.py --set suite unittests
scons integration_tests "${_scons_args[@]}"
python2 buildscripts/resmoke.py --suites=integration_tests_replset,integration_tests_standalone --dbpathPrefix="$srcdir" $_storageEngine
}
package() {
export SCONSFLAGS="$MAKEFLAGS"
cd mongodb-src-r${pkgver}
scons install --prefix="$pkgdir/usr" "${_scons_args[@]}"
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"