# $Id$ # Maintainer: Felix Yan # Contributor: Sven-Hendrik Haase # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: Mathias Stearn # Contributor: Alec Thomas # ALARM: Kevin Mihelich # - build -j2 (RAM constraints) # - use system v8 (older 3.16 package) pkgname=mongodb pkgver=3.2.0 pkgrel=3 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' 'v8-3.16') [[ "$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') sha512sums=('4b321b582f5ec2613b869b003a02494c8a9e3b772b1f13898417b1e831c204468309a0e1785acd3b85c8a663cae91e55e44f53f8b74bd3a516b1e1471f606882' '385c82875174caae433a3b381eb10f98a6fed0c8943788ddefff1de80a898e480bdbbf094a7783285cf2ae11ce3fc6878e57d58183d05be2f0837b206aaa4da6' '05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c' '177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9') 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 # --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 } 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" }