PKGBUILDs/community/mongodb/PKGBUILD

107 lines
4.1 KiB
Bash
Raw Normal View History

2014-02-04 15:38:10 +00:00
# $Id$
2014-10-11 15:29:22 +00:00
# Maintainer: Felix Yan <felixonmars@archlinux.org>
2014-02-04 15:38:10 +00:00
# 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>
2017-01-16 00:40:49 +00:00
# - x86_64 import, no changes
# - only build for AArch64; 32-bit is unsupported
2014-02-04 15:38:10 +00:00
2017-01-16 00:40:49 +00:00
buildarch=8
highmem=1
2016-05-07 15:56:35 +00:00
2014-02-04 15:38:10 +00:00
pkgname=mongodb
2017-09-21 12:36:31 +00:00
pkgver=3.4.9
pkgrel=1
2014-02-04 15:38:10 +00:00
pkgdesc='A high-performance, open source, schema-free document-oriented database'
2017-01-16 00:40:49 +00:00
arch=('x86_64')
2014-02-04 15:38:10 +00:00
url='http://www.mongodb.org'
license=('AGPL3')
2017-09-21 12:36:31 +00:00
depends=('pcre' 'snappy' 'openssl' 'libsasl' 'boost-libs' 'yaml-cpp' 'lsb-release' 'wiredtiger'
'libstemmer')
2015-08-07 12:08:16 +00:00
makedepends=('scons' 'readline' 'ncurses' 'libpcap' 'boost')
2015-12-15 13:26:09 +00:00
checkdepends=('python2-pymongo' 'python2-yaml')
2015-04-02 12:22:31 +00:00
optdepends=('libpcap: needed for mongosniff'
'mongodb-tools: mongoimport, mongodump, mongotop, etc')
2014-02-04 15:38:10 +00:00
backup=('etc/mongodb.conf')
install=mongodb.install
source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz"
2017-04-24 19:07:24 +00:00
'mongodb.conf' 'mongodb.service' 'mongodb-3.2.10-boost-1.62.0.patch'
'asio-openssl-1.1.0.patch'
2017-09-21 12:36:31 +00:00
'using-std-string.patch')
sha512sums=('b6803c91e9cda8e6963359386d2014d03f68151f64d580d5baacc3c66b2adabc62ee5c2cf203b9aee7d11942934afc6f9e17364d2f3aafd238ba88d13c77f26d'
2017-01-16 00:40:49 +00:00
'05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
2015-12-29 00:11:20 +00:00
'177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
2017-04-24 19:07:24 +00:00
'd6f014d2778decde268b9e856d812bc61f7c45986aad751e44fdece39aa8a96505b77e0b917ea38880501497e01d4b051a6f3205c82af653425b5247cd813417'
'aea8fecb17be07e4517822798810751114f61164dc3ab3e335a7b837876acb918d287caa8b9fe32d7b1d9e7cad2e677d9818a1532ae08b8b013840d2a68b25f5'
2017-09-21 12:36:31 +00:00
'f2e1e9b9418701738c7a9b6db4f894dc3c35a6fbbf9ded8321080350ba692c6c8b11d6f507043a5bdae83fe8f9806426c0f33acd94895412369e4776c2358052')
2014-02-04 15:38:10 +00:00
2015-04-02 12:22:31 +00:00
_scons_args=(
2015-12-15 13:26:09 +00:00
--use-system-boost
2015-04-02 12:22:31 +00:00
--use-system-pcre
--use-system-snappy
2015-12-15 13:26:09 +00:00
--use-system-yaml
--use-system-zlib
2017-01-16 00:40:49 +00:00
--use-system-wiredtiger
2017-09-21 12:36:31 +00:00
--use-system-stemmer
2015-04-02 12:22:31 +00:00
--use-sasl-client
--ssl
--disable-warnings-as-errors
2015-12-15 13:26:09 +00:00
# --use-system-asio # https://jira.mongodb.org/browse/SERVER-21839
# --use-system-v8 # Doesn't compile
2017-09-21 12:36:31 +00:00
# --use-system-icu
2015-12-15 13:26:09 +00:00
# --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
2015-04-02 12:22:31 +00:00
)
2015-12-15 13:26:09 +00:00
prepare() {
cd mongodb-src-r${pkgver}
2017-09-21 12:36:31 +00:00
patch -Np1 -i ../using-std-string.patch
2016-10-30 20:42:03 +00:00
patch -Np1 -i ../mongodb-3.2.10-boost-1.62.0.patch
2016-05-14 15:44:38 +00:00
sed -e 's|-std=c++11|-std=gnu++11|g' -i SConstruct # tests use hex floats, not supported in plain C++
2017-04-24 19:07:24 +00:00
2017-09-21 12:36:31 +00:00
sed -i '/#include "mongo.platform.strnlen.h"/a using namespace std;' src/mongo/bson/bsonelement.h
2017-04-24 19:07:24 +00:00
cd src/third_party/asio-asio-1-11-0
patch -Np1 -i "${srcdir}/asio-openssl-1.1.0.patch"
2015-12-15 13:26:09 +00:00
}
2014-02-04 15:38:10 +00:00
2015-12-15 13:26:09 +00:00
build() {
2014-02-04 15:38:10 +00:00
cd mongodb-src-r${pkgver}
2015-12-23 18:57:25 +00:00
export SCONSFLAGS="$MAKEFLAGS"
2014-02-04 15:38:10 +00:00
2015-12-15 13:26:09 +00:00
scons core tools "${_scons_args[@]}"
2014-02-04 15:38:10 +00:00
}
check() {
cd mongodb-src-r${pkgver}
2015-12-23 18:57:25 +00:00
export SCONSFLAGS="$MAKEFLAGS"
2014-02-04 15:38:10 +00:00
2015-12-15 13:26:09 +00:00
# Setting LANG to workaround the following test error:
# std::exception: locale::facet::_S_create_c_locale name not valid
2017-09-21 12:36:31 +00:00
# 3.4.9: Tests hang
# scons unittests "${_scons_args[@]}"
# sed -i -e '/oplog_buffer_collection_test/d' build/unittests.txt
# LANG=en_US.UTF-8 python2 buildscripts/resmoke.py --suites=unittests
2015-12-15 13:26:09 +00:00
2015-10-14 12:11:48 +00:00
scons dbtest "${_scons_args[@]}"
2017-01-16 00:40:49 +00:00
python2 buildscripts/resmoke.py --suites=dbtest
2015-10-14 12:11:48 +00:00
2017-04-24 19:07:24 +00:00
#scons integration_tests "${_scons_args[@]}"
#python2 buildscripts/resmoke.py --suites=integration_tests_replset,integration_tests_standalone --dbpathPrefix="$srcdir"
2014-02-04 15:38:10 +00:00
}
package() {
cd mongodb-src-r${pkgver}
2015-12-15 13:26:09 +00:00
scons install --prefix="$pkgdir/usr" --nostrip "${_scons_args[@]}"
2014-02-04 15:38:10 +00:00
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"
}