summaryrefslogtreecommitdiff
path: root/community/mongodb
diff options
context:
space:
mode:
Diffstat (limited to 'community/mongodb')
-rw-r--r--community/mongodb/PKGBUILD82
-rw-r--r--community/mongodb/SConscript.client.patch13
-rw-r--r--community/mongodb/mongodb.conf8
-rw-r--r--community/mongodb/mongodb.install32
-rw-r--r--community/mongodb/mongodb.service10
-rw-r--r--community/mongodb/removeWerror.patch21
6 files changed, 166 insertions, 0 deletions
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD
new file mode 100644
index 000000000..0f935a956
--- /dev/null
+++ b/community/mongodb/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 94033 2013-07-13 12:34:05Z svenstaro $
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Mathias Stearn <mathias@10gen.com>
+# Contributor: Alec Thomas
+
+pkgname=mongodb
+pkgver=2.4.5
+pkgrel=2
+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') doesn't work
+makedepends=('scons' 'boost' 'readline' 'ncurses' 'libpcap') # 'cyrus-sasl') doesn't work
+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' 'removeWerror.patch')
+
+build() {
+ # fucking mongo aint no fun to package
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ # failed to build with -Werror since 2.4.0
+ patch -Np1 -i "$srcdir/removeWerror.patch"
+
+ scons all \
+ --use-system-boost \
+ --use-system-pcre \
+ --use-system-snappy \
+ --use-system-tcmalloc \
+ --ssl \
+ --sharedclient
+ # --use-sasl-client doesn't work
+ # --use-system-v8 doesn't work
+}
+
+<<COMMENT
+check() {
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ scons smokeAll --smokedbprefix=$srcdir
+}
+COMMENT
+
+package() {
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ scons install \
+ --use-system-boost \
+ --use-system-pcre \
+ --use-system-snappy \
+ --use-system-tcmalloc \
+ --ssl \
+ --sharedclient \
+ --full \
+ --prefix="$pkgdir/usr"
+ # --use-sasl-client doesn't work
+ # --use-system-v8 doesn't work
+
+ rm "$pkgdir/usr/lib/libmongoclient.a"
+
+ 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"
+}
+
+sha512sums=('07a46770c5acc0e046750e0299e669b934f6093705f5979bc5fa8bb56e73761f9602a5bdbaaad688700e4dde32d1e5f48a6cf3763ffab4d80a47f0158d8fb89e'
+ '05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
+ '177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
+ 'e709f76fa71a10d6b72d2eeae65d715e0a0a7e6cb93704114f22db8662d7102de77bd1e6706049351beb159aaa04548cfe4b14fe6ee498a166c5ad54c8275f84')
diff --git a/community/mongodb/SConscript.client.patch b/community/mongodb/SConscript.client.patch
new file mode 100644
index 000000000..f289d18da
--- /dev/null
+++ b/community/mongodb/SConscript.client.patch
@@ -0,0 +1,13 @@
+diff --git a/src/SConscript.client b/src/SConscript.client
+index 7a6bdc9..3fb55e5 100644
+--- a/src/SConscript.client
++++ b/src/SConscript.client
+@@ -134,7 +134,7 @@ env.Install(
+ # install
+ prefix = GetOption("prefix")
+
+-env.Install(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
++env.InstallAs(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
+
+ for x in clientHeaderDirectories:
+ env.Install(prefix + "/include/mongo/" + x,
diff --git a/community/mongodb/mongodb.conf b/community/mongodb/mongodb.conf
new file mode 100644
index 000000000..c5272b7f2
--- /dev/null
+++ b/community/mongodb/mongodb.conf
@@ -0,0 +1,8 @@
+# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details
+# Run mongod --help to see a list of options
+
+bind_ip = 127.0.0.1
+quiet = true
+dbpath = /var/lib/mongodb
+logpath = /var/log/mongodb/mongod.log
+logappend = true
diff --git a/community/mongodb/mongodb.install b/community/mongodb/mongodb.install
new file mode 100644
index 000000000..2ea94553c
--- /dev/null
+++ b/community/mongodb/mongodb.install
@@ -0,0 +1,32 @@
+# vim: syntax=sh
+
+post_install() {
+ useradd -r -g daemon -d /var/lib/mongodb -s /bin/bash mongodb
+ chown -R mongodb:daemon /var/lib/mongodb
+ chown -R mongodb:daemon /var/log/mongodb
+
+ if [ "$(uname -m)" != "x86_64" ]
+ then
+ echo '==> Warning: the 32 bit version of MongoDB is limited to about 2GB of data.'
+ echo '==> See http://blog.mongodb.org/post/137788967/32-bit-limitations'
+ fi
+}
+
+post_upgrade() {
+ chown -R mongodb:daemon /var/lib/mongodb
+ chown -R mongodb:daemon /var/log/mongodb
+
+ if [ "$(vercmp $2 1.8.2-3)" -lt 0 ]
+ then
+ # have to fix my fudge up in 1.8.2-2 and 1.8.2-3
+ # added july 5th, 2011
+ usermod -s /bin/bash mongodb >& /dev/null
+ echo 'The dbpath has changed from /var/state/mongodb to /var/lib/mongodb'
+ echo 'Make sure you move your data files to the new dbpath before you start/restart mongodb'
+ echo 'The logpath has changed from /var/log/mongod to /var/log/mongodb/mongod.log'
+ fi
+}
+
+pre_remove() {
+ userdel mongodb
+}
diff --git a/community/mongodb/mongodb.service b/community/mongodb/mongodb.service
new file mode 100644
index 000000000..78d551183
--- /dev/null
+++ b/community/mongodb/mongodb.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=High-performance, schema-free document-oriented database
+After=network.target
+
+[Service]
+User=mongodb
+ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/mongodb/removeWerror.patch b/community/mongodb/removeWerror.patch
new file mode 100644
index 000000000..dd96084da
--- /dev/null
+++ b/community/mongodb/removeWerror.patch
@@ -0,0 +1,21 @@
+--- a/SConstruct 2013-03-16 02:59:55.000000000 +0800
++++ b/SConstruct 2013-03-20 10:55:20.009645869 +0800
+@@ -692,7 +692,7 @@
+ "-Winvalid-pch"] )
+ # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+ if linux:
+- env.Append( CCFLAGS=["-Werror", "-pipe"] )
++ env.Append( CCFLAGS=["-pipe"] )
+ if not has_option('clang'):
+ env.Append( CCFLAGS=["-fno-builtin-memcmp"] ) # glibc's memcmp is faster than gcc's
+
+--- a/src/third_party/v8/SConscript 2013-04-17 03:21:23.000000000 +0800
++++ b/src/third_party/v8/SConscript 2013-04-18 17:41:29.878618892 +0800
+@@ -47,7 +47,6 @@
+ 'gcc': {
+ 'all': {
+ 'CCFLAGS': ['-Wall',
+- '-Werror',
+ '-W',
+ '-Wno-unused-parameter',
+ '-Woverloaded-virtual',