diff --git a/community/mongodb/0006-Fix-ARM-alignment-problems.patch b/community/mongodb/0006-Fix-ARM-alignment-problems.patch index 876aeaf37..930480639 100644 --- a/community/mongodb/0006-Fix-ARM-alignment-problems.patch +++ b/community/mongodb/0006-Fix-ARM-alignment-problems.patch @@ -1,47 +1,7 @@ -diff -urN a/src/mongo/bson/bsonelement.h b/src/mongo/bson/bsonelement.h ---- a/src/mongo/bson/bsonelement.h 2014-04-06 18:36:57.000000000 -0600 -+++ b/src/mongo/bson/bsonelement.h 2014-04-13 10:29:45.602177312 -0600 -@@ -17,7 +17,7 @@ - - #pragma once - --#include // strlen -+#include // strlen, memcpy - #include - #include - -@@ -550,13 +550,27 @@ - } - - inline double BSONElement::numberDouble() const { -+#if defined(__arm__) -+ int int_result; -+ long long long_long_result; -+#endif - switch( type() ) { - case NumberDouble: - return _numberDouble(); - case NumberInt: -+#if defined(__arm__) -+ memcpy(&int_result, value(), sizeof(int_result)); -+ return int_result; -+#else - return *reinterpret_cast< const int* >( value() ); -+#endif - case NumberLong: -+#if defined(__arm__) -+ memcpy(&long_long_result, value(), sizeof(long_long_result)); -+ return (double)long_long_result; -+#else - return (double) *reinterpret_cast< const long long* >( value() ); -+#endif - default: - return 0; - } -diff -urN a/src/mongo/db/structure/btree/key.cpp b/src/mongo/db/structure/btree/key.cpp ---- a/src/mongo/db/structure/btree/key.cpp 2014-04-06 18:36:57.000000000 -0600 -+++ b/src/mongo/db/structure/btree/key.cpp 2014-04-13 10:30:54.586913327 -0600 -@@ -418,7 +418,7 @@ +diff -urN a/src/mongo/db/storage/mmap_v1/btree/key.cpp b/src/mongo/db/storage/mmap_v1/btree/key.cpp +--- a/src/mongo/db/storage/mmap_v1/btree/key.cpp 2015-03-16 09:08:50.000000000 -0600 ++++ b/src/mongo/db/storage/mmap_v1/btree/key.cpp 2015-04-02 06:14:33.858972179 -0600 +@@ -424,7 +424,7 @@ p += 8; break; case cdouble: diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD index 4992ab28f..bbc6275de 100644 --- a/community/mongodb/PKGBUILD +++ b/community/mongodb/PKGBUILD @@ -11,22 +11,23 @@ # - ARM patches pkgname=mongodb -pkgver=2.6.8 +pkgver=3.0.1 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') +depends=('boost-libs' 'pcre' 'snappy' 'openssl' 'v8-3.16' 'libsasl') makedepends=('scons' 'boost' 'readline' 'ncurses' 'libpcap') checkdepends=('python2-pymongo') -optdepends=('libpcap: needed for mongosniff') +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=('6fa69750debb40d0be4d5d057125320d97e882e30c43c664fcb6ec6a9e6a8bff5e63637fc8952a6d898556b2c2ce84254d135387dc0879bf65dbd5e91b8732ef' +sha512sums=('90a32181b472c5852b3839d2b22fe88dbaeb2f7621142ee05a0b35834b7f231b6099d8e0f077c0622fb65604e0140e154a5ff9b9c6f281e189cb251e18497025' '05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c' '177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9' '9e369c499e550578bfd428d5ad0b50530426bf798a80e2354b9e84622fbef141f57002e5c362721361c16c523ff9b6bf3d5eeb16dee9c24fe246471d92d1a884' @@ -34,16 +35,26 @@ sha512sums=('6fa69750debb40d0be4d5d057125320d97e882e30c43c664fcb6ec6a9e6a8bff5e6 MAKEFLAGS="-j2" +_scons_args=( + --use-system-pcre + --use-system-snappy + --use-sasl-client + --use-system-boost + --variant-dir=build + --ssl + --disable-warnings-as-errors + --cc=clang --cxx=clang++ + --use-system-v8 + 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} - # Add missing include required for std::swap() - # https://github.com/mongodb/mongo/commit/2d5d662 - if grep -q '#include ' src/mongo/shell/linenoise_utf8.h; then - error ' include has been fixed upstream; remove this local fix.' - return 1 - fi - sed -i '1i #include ' src/mongo/shell/linenoise_utf8.h + patch -Np1 -i ../0006-Fix-ARM-alignment-problems.patch } build() { @@ -52,17 +63,7 @@ build() { 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 + scons all "${_scons_args[@]}" } check() { @@ -71,15 +72,7 @@ check() { 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" + scons smoke smokeCppUnittests smokeJsCore --smokedbprefix="$srcdir" "${_scons_args[@]}" || warning "Tests failed" } package() { @@ -87,16 +80,7 @@ package() { 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 + 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"