PKGBUILDs/community/mongodb/PKGBUILD
2015-01-22 04:13:52 +00:00

106 lines
3.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)
# - use system v8 (older 3.16 package)
# - ARM patches
pkgname=mongodb
pkgver=2.6.7
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' 'gperftools' 'v8-3.16' 'libsasl')
makedepends=('scons' 'boost' 'readline' 'ncurses' 'libpcap')
checkdepends=('python2-pymongo')
optdepends=('libpcap: needed for mongosniff')
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=('c74b87d85339e27742054d4ce190e290a5116d48a39b334b6e7be62b2e35f75af99da6b8a899d8c4794b0d953f2c46bcbe5b77ce28e5194c3a0429dc813df04e'
'05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
'177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
'9e369c499e550578bfd428d5ad0b50530426bf798a80e2354b9e84622fbef141f57002e5c362721361c16c523ff9b6bf3d5eeb16dee9c24fe246471d92d1a884'
'2ebdc5395582d5ed8e8b97c95dedfbd279230aaf7a3da317ccdd2ef6603124e64152c738006d9bca846a44012fdacda8fab0617275f49f8696d1c3e4104fbf6e')
MAKEFLAGS="-j2"
prepare() {
cd mongodb-src-r${pkgver}
# Add missing include required for std::swap()
# https://github.com/mongodb/mongo/commit/2d5d662
if grep -q '#include <algorithm>' src/mongo/shell/linenoise_utf8.h; then
error '<algorithm> include has been fixed upstream; remove this local fix.'
return 1
fi
sed -i '1i #include <algorithm>' src/mongo/shell/linenoise_utf8.h
}
build() {
# fucking mongo aint no fun to package
export SCONSFLAGS="$MAKEFLAGS"
cd mongodb-src-r${pkgver}
patch -Np1 -i ../0006-Fix-ARM-alignment-problems.patch
scons all \
--use-system-boost \
--use-system-pcre \
--use-system-snappy \
--use-system-tcmalloc \
--ssl \
--disable-warnings-as-errors \
--use-system-v8 \
--use-sasl-client
}
check() {
# Tests not passing
export SCONSFLAGS="$MAKEFLAGS"
cd mongodb-src-r${pkgver}
scons smokeAll \
--use-system-pcre \
--use-system-snappy \
--use-system-tcmalloc \
--use-sasl-client \
--use-system-boost \
--ssl \
--disable-warnings-as-errors \
--smokedbprefix="$srcdir" || warning "Tests failed"
}
package() {
export SCONSFLAGS="$MAKEFLAGS"
cd mongodb-src-r${pkgver}
scons install \
--use-system-boost \
--use-system-pcre \
--use-system-snappy \
--use-system-tcmalloc \
--ssl \
--disable-warnings-as-errors \
--prefix="$pkgdir/usr" \
--use-system-v8 \
--use-sasl-client
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"
}