# $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)
#  - use system v8 (older 3.16 package)
#  - ARM patches
#  - disable WiredTiger storage engine (FTBFS)

pkgname=mongodb
pkgver=3.0.4
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')
makedepends=('scons' 'boost' 'readline' 'ncurses' 'libpcap')
checkdepends=('python2-pymongo')
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'
        '0006-Fix-ARM-alignment-problems.patch')
sha512sums=('bd35a252cd351a2d755edf5e20c69c904de326d7e47aebc055cd0160476ecf966cf53f3263410c32f70e108ff2a019f86a21e1a71917246c2f13db9251082bc3'
            '05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
            '177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
            'b232277d906bc59aec5028485e251226e159a314c45cd2116186fc7a60264182cd591de08be0d69226ad4408d0e9af1648960c3ad1288bcb6b8df7d476136af4')

MAKEFLAGS="-j2"

_scons_args=(
  --use-system-pcre
  --use-system-snappy
  --use-sasl-client
  --use-system-boost
  --variant-dir=build
  --ssl
  --disable-warnings-as-errors
  --use-system-v8
  --wiredtiger=off
  LIBS=atomic
)
# --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)
# LIBS=atomic is a workaround for https://jira.mongodb.org/browse/SERVER-17447

prepare() {
  cd mongodb-src-r${pkgver}

  patch -Np1 -i ../0006-Fix-ARM-alignment-problems.patch
}

build() {
  # fucking mongo aint no fun to package
  export SCONSFLAGS="$MAKEFLAGS"

  cd mongodb-src-r${pkgver}

  scons all "${_scons_args[@]}"
}

check() {
  # Tests not passing
  export SCONSFLAGS="$MAKEFLAGS"

  cd mongodb-src-r${pkgver}

  scons smoke smokeCppUnittests smokeJsCore --smokedbprefix="$srcdir" "${_scons_args[@]}" || warning "Tests failed"
}

package() {
  export SCONSFLAGS="$MAKEFLAGS"

  cd mongodb-src-r${pkgver}

  scons install --prefix="$pkgdir/usr" "${_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"
}