aboutsummaryrefslogtreecommitdiffstats
path: root/non-free
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-03-11 16:04:34 -0600
committerLeonardo Arena <rnalrd@alpinelinux.org>2019-04-03 08:49:55 +0000
commit8a901de31fa055ed591d487e12f8bb9ffcc0df21 (patch)
tree10bc98c626703819e94ec25bf0c2eaa0f6fe2cc9 /non-free
parentfffa6ab6963a4a0045f99432ac487957791685ea (diff)
downloadaports-8a901de31fa055ed591d487e12f8bb9ffcc0df21.tar.bz2
aports-8a901de31fa055ed591d487e12f8bb9ffcc0df21.tar.xz
community/mongodb: expunge nonfree software
Upstream has switched to a nonfree license.
Diffstat (limited to 'non-free')
-rw-r--r--non-free/mongo-c-driver/APKBUILD61
-rw-r--r--non-free/mongo-c-driver/generate_uninstall.patch13
-rw-r--r--non-free/mongo-php7-library/APKBUILD33
-rw-r--r--non-free/mongodb-tools/APKBUILD38
-rw-r--r--non-free/mongodb-tools/fix-build.patch13
-rw-r--r--non-free/mongodb/APKBUILD100
-rw-r--r--non-free/mongodb/fix-backtrace.patch12
-rw-r--r--non-free/mongodb/fix-default-stacksize.patch20
-rw-r--r--non-free/mongodb/fix-elf-native-class.patch12
-rw-r--r--non-free/mongodb/fix-processinfo_linux.patch35
-rw-r--r--non-free/mongodb/fix-resolv.patch17
-rw-r--r--non-free/mongodb/fix-strerror_r.patch13
-rw-r--r--non-free/mongodb/mongodb.confd14
-rw-r--r--non-free/mongodb/mongodb.initd41
-rw-r--r--non-free/mongodb/mongodb.logrotate13
-rw-r--r--non-free/mongodb/mongodb.pre-install6
-rw-r--r--non-free/mongodb/mongos.confd16
-rw-r--r--non-free/mongodb/mongos.initd45
-rw-r--r--non-free/mongodb/wiredtiger.patch11
-rw-r--r--non-free/php7-pecl-mongodb/APKBUILD35
-rw-r--r--non-free/py-flask-mongoengine/APKBUILD41
-rw-r--r--non-free/py-flask-pymongo/APKBUILD41
-rw-r--r--non-free/py-flask-views/APKBUILD41
-rw-r--r--non-free/py-mongo/APKBUILD55
-rw-r--r--non-free/wiredtiger/10-fix-code-generator.patch11
-rw-r--r--non-free/wiredtiger/APKBUILD56
-rw-r--r--non-free/wiredtiger/makemake-remove-libtool-version.patch11
27 files changed, 804 insertions, 0 deletions
diff --git a/non-free/mongo-c-driver/APKBUILD b/non-free/mongo-c-driver/APKBUILD
new file mode 100644
index 0000000000..1bc9626d0c
--- /dev/null
+++ b/non-free/mongo-c-driver/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=mongo-c-driver
+pkgver=1.13.0
+pkgrel=0
+pkgdesc="Client library written in C for MongoDB"
+url="https://github.com/mongodb/mongo-c-driver"
+arch="all !x86 !armhf !armv7" # testsuite fails on x86 and armhf
+license="Apache-2.0"
+makedepends="openssl-dev snappy-dev zlib-dev libtool py3-sphinx cmake"
+subpackages="$pkgname-dev $pkgname-doc libbson"
+source="https://github.com/mongodb/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz
+ generate_uninstall.patch
+ "
+builddir="$srcdir/$pkgname-$pkgver"
+
+case "$CARCH" in
+ # FIXME: Tests hang on aarch64.
+ aarch64) options="!check";;
+esac
+
+build() {
+ mkdir -p "$srcdir"/build
+ cd "$srcdir"/build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DENABLE_BSON:STRING=ON \
+ -DENABLE_MONGOC:BOOL=ON \
+ -DENABLE_SSL:STRING=OPENSSL \
+ -DENABLE_AUTOMATIC_INIT_AND_CLEANUP:BOOL=OFF \
+ -DENABLE_MAN_PAGES:BOOL=ON \
+ -DENABLE_TESTS:BOOL=ON \
+ -DENABLE_EXAMPLES:BOOL=OFF \
+ -DSPHINX_EXECUTABLE:STRING=/usr/bin/sphinx-build-3 \
+ -DCMAKE_SKIP_RPATH=ON \
+ "$builddir"
+ make
+}
+
+check() {
+ cd "$srcdir"/build
+ export MONGOC_TEST_SKIP_MOCK=on
+ export MONGOC_TEST_SKIP_SLOW=on
+ export MONGOC_TEST_SKIP_LIVE=on
+ make check
+}
+
+package() {
+ cd "$srcdir"/build
+ make DESTDIR="$pkgdir" install
+}
+
+libbson() {
+ pkgdesc="Building, parsing, and iterating BSON documents"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libbson-* "$subpkgdir"/usr/lib/
+}
+
+sha512sums="01b17857a1cb843b133975594772c094edecb6c149d8628eaa42de1855152185114186d0e8d829e99c9106c133018b1242e34e3ac511a36b2b7a38baea5f5aba mongo-c-driver-1.13.0.tar.gz
+494800bb53585f2b911b672263d32e2af1ce818bbff55623fde8c06477429010e9ca31b905175a08d1554499c497af6514f74c9071f4f9d9b2d82077d6ddad4f generate_uninstall.patch"
diff --git a/non-free/mongo-c-driver/generate_uninstall.patch b/non-free/mongo-c-driver/generate_uninstall.patch
new file mode 100644
index 0000000000..1434ae4283
--- /dev/null
+++ b/non-free/mongo-c-driver/generate_uninstall.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f7a0dfe..d63b93e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -347,7 +347,7 @@ set (UNINSTALL_PROG_DIR "${CMAKE_INSTALL_FULL_DATADIR}/mongo-c-driver")
+ #
+ # This needs to be last (after all other add_subdirectory calls) to ensure that
+ # the generated uninstall program is complete and correct
+-add_subdirectory (generate_uninstall)
++# add_subdirectory (generate_uninstall)
+
+ add_custom_target (uninstall
+ COMMAND "${UNINSTALL_PROG_DIR}/${UNINSTALL_PROG}"
diff --git a/non-free/mongo-php7-library/APKBUILD b/non-free/mongo-php7-library/APKBUILD
new file mode 100644
index 0000000000..f419e643d1
--- /dev/null
+++ b/non-free/mongo-php7-library/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+
+_php=php7
+pkgname=mongo-${_php}-library
+_realname=mongo-php-library
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="High-level abstraction around the lower-level drivers for PHP"
+url="https://github.com/mongodb/mongo-php-library"
+arch="noarch"
+license="Apache-2.0"
+makedepends="$depends_dev ${_php}-mongodb"
+subpackages="$pkgname-doc"
+options="!check" # require mongodb server
+source="$_realname-$pkgver.tar.gz::https://github.com/mongodb/$_realname/archive/$pkgver.tar.gz"
+builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ cd "$builddir"
+ return 0
+}
+
+package() {
+ cd "$builddir"
+ mkdir -p "$pkgdir"/usr/share/doc/mongo-${_php}-library/docs
+ mkdir -p "$pkgdir"/usr/lib/${_php}/vendor/mongodb/mongodb
+ mv src/* "$pkgdir"/usr/lib/${_php}/vendor/mongodb/mongodb
+ mv tests "$pkgdir"/usr/lib/${_php}/vendor/mongodb/mongodb/
+ mv docs/* "$pkgdir"/usr/share/doc/mongo-${_php}-library/docs
+ mv LICENSE README.md "$pkgdir"/usr/share/doc/mongo-${_php}-library
+}
+
+sha512sums="c473b85f60fd942f591c712187d68744b95472f11450af5bcd1768d79fb0e3ffe08c486fad72898fe5fd3002e865ea79959767b80830db92bd92d87f52877f33 mongo-php-library-1.4.2.tar.gz"
diff --git a/non-free/mongodb-tools/APKBUILD b/non-free/mongodb-tools/APKBUILD
new file mode 100644
index 0000000000..a9b93677b7
--- /dev/null
+++ b/non-free/mongodb-tools/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Marc Vertes <mvertes@free.fr>
+# Maintainer: Marc Vertes <mvertes@free.fr>
+pkgname=mongodb-tools
+pkgver=4.0.6
+pkgrel=0
+pkgdesc="The MongoDB tools provide import, export, and diagnostic capabilities."
+url="https://github.com/mongodb/mongo-tools"
+arch="all !s390x !aarch64"
+license="Apache"
+makedepends="$depends_dev go cyrus-sasl-dev openssl-dev libpcap-dev bash perl"
+options="!check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mongodb/mongo-tools/archive/r$pkgver.tar.gz
+ fix-build.patch
+ "
+builddir="$srcdir/src/github.com/mongodb/mongo-tools"
+
+prepare() {
+ mkdir -p "${builddir%/*}"
+ mv "$srcdir"/mongo-tools-r$pkgver "$builddir"
+ default_prepare
+}
+
+build() {
+ cd "$builddir"
+ GOROOT=/usr/lib/go GOPATH="$srcdir" ./build.sh sasl ssl
+}
+
+package() {
+ cd "$builddir/bin"
+ local bindir="$pkgdir/usr/bin"
+ mkdir -p "$bindir"
+ cp bsondump mongostat mongofiles mongoexport mongoimport \
+ mongorestore mongodump mongotop mongoreplay \
+ "$bindir"
+}
+
+sha512sums="d6185d7442a593d29db78889c55aba53e070bedd522d78d8c0bf52bb27f26c5fee6d010457f65774ea36a2e6d5280f38c95433ff76ed53ed9d74b1c811198cb7 mongodb-tools-4.0.6.tar.gz
+74e432b354fd75209b87461e54f79a173ba0d647a2e45a48d520ee9342236b6a50ef1c634312f4804402578b8534d59ebf10973ce90cae2bbe76407102f2b404 fix-build.patch"
diff --git a/non-free/mongodb-tools/fix-build.patch b/non-free/mongodb-tools/fix-build.patch
new file mode 100644
index 0000000000..4913d8caa6
--- /dev/null
+++ b/non-free/mongodb-tools/fix-build.patch
@@ -0,0 +1,13 @@
+--- mongo-tools-r3.4.3/build.sh.orig
++++ mongo-tools-r3.4.3/build.sh
+@@ -7,8 +7,8 @@
+ fi
+
+ # make sure we're in the directory where the script lives
+-SCRIPT_DIR="$(cd "$(dirname ${BASH_SOURCE[0]})" && pwd)"
+-cd $SCRIPT_DIR
++#SCRIPT_DIR="$(cd "$(dirname ${BASH_SOURCE[0]})" && pwd)"
++#cd $SCRIPT_DIR
+
+ sed -i.bak -e "s/built-without-version-string/$(git describe)/" \
+ -e "s/built-without-git-spec/$(git rev-parse HEAD)/" \
diff --git a/non-free/mongodb/APKBUILD b/non-free/mongodb/APKBUILD
new file mode 100644
index 0000000000..38a9823f4c
--- /dev/null
+++ b/non-free/mongodb/APKBUILD
@@ -0,0 +1,100 @@
+# Maintainer: Marc Vertes <mvertes@free.fr>
+# Contributor: Filipp Andronov <filipp.andronov@gmail.com>
+pkgname=mongodb
+pkgver=4.0.6
+pkgrel=1
+pkgdesc="A high-performance, open source, schema-free document-oriented database"
+url="http://www.mongodb.org"
+arch="x86_64 ppc64le aarch64"
+options="!check" # out of disk space (>35GB)
+license='AGPL3'
+pkgusers="mongodb"
+pkggroups="mongodb"
+makedepends="scons py-setuptools py2-cheetah py2-typing py2-yaml paxmark
+ openssl-dev pcre-dev snappy-dev boost-dev asio-dev libpcap-dev
+ snowball-dev zlib-dev cyrus-sasl-dev yaml-cpp-dev curl-dev"
+install="$pkgname.pre-install"
+source="http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz
+ fix-backtrace.patch
+ fix-default-stacksize.patch
+ fix-elf-native-class.patch
+ fix-processinfo_linux.patch
+ fix-resolv.patch
+ fix-strerror_r.patch
+ wiredtiger.patch
+
+ mongodb.confd
+ mongodb.initd
+ mongodb.logrotate
+ mongos.confd
+ mongos.initd
+ "
+
+builddir="$srcdir"/$pkgname-src-r$pkgver
+_buildopts="
+ --allocator=system \
+ --disable-warnings-as-errors \
+ --use-system-boost \
+ --use-system-pcre \
+ --use-system-stemmer \
+ --use-system-snappy \
+ --use-system-zlib \
+ --use-system-yaml \
+ --use-sasl-client \
+ --ssl \
+ "
+
+case $CARCH in
+ aarch64) _buildopts="$_buildopts CCFLAGS=-march=armv8-a+crc" ;;
+esac
+
+build() {
+ cd "$builddir"
+ export SCONSFLAGS="$MAKEFLAGS"
+ scons $_buildopts --prefix=$pkgdir/usr core
+}
+
+check() {
+ cd "$builddir"
+
+ export SCONSFLAGS="$MAKEFLAGS"
+ scons $_buildopts unittests
+ python buildscripts/resmoke.py --suites=unittests --jobs=2
+}
+
+package() {
+ cd "$builddir"
+
+ # install mongo targets
+ export SCONSFLAGS="$MAKEFLAGS"
+ scons $_buildopts --prefix=$pkgdir/usr install
+
+ # java jit requires paxmark
+ paxmark -m "$pkgdir"/usr/bin/mongo*
+
+ # install alpine specific files
+ install -dm700 "$pkgdir/var/lib/mongodb"
+ install -dm755 "$pkgdir/var/log/mongodb"
+ chown mongodb:mongodb "$pkgdir/var/lib/mongodb" "$pkgdir/var/log/mongodb"
+
+ install -Dm755 "$srcdir/mongodb.initd" "$pkgdir/etc/init.d/mongodb"
+ install -Dm644 "$srcdir/mongodb.confd" "$pkgdir/etc/conf.d/mongodb"
+ install -Dm644 "$srcdir/mongodb.logrotate" "$pkgdir/etc/logrotate.d/mongodb"
+
+ install -Dm755 "$srcdir/mongos.initd" "$pkgdir/etc/init.d/mongos"
+ install -Dm644 "$srcdir/mongos.confd" "$pkgdir/etc/conf.d/mongos"
+}
+
+sha512sums="72e04154cf221833522bb0c2cc99acc2a86d20e2dcbf1f8c6ff0a870edf7b2529a55b6821c664805c00c12a311ae374a276ef1e3ccea1ed84fb125bb8726906a mongodb-src-r4.0.6.tar.gz
+05c4331d028eb396e6cf52d96cdaa2af7199a03522e1a8211df2d36cb053ec093a51e9abf83c4dc00c09a0b1fa119a79bcc719fbc81a48f50ca1527c26613cf0 fix-backtrace.patch
+1492137b0e3456d90a79617c1cd5ead5c71b1cfaae9ee41c75d56cd25f404ec73a690f95ce0d8c064c0a14206daca8070aa769b7cdfa904a338a425b52c293fa fix-default-stacksize.patch
+56db8f43afc94713ac65b174189e2dd903b5e1eff0b65f1bdac159e52ad4de6606c449865d73bd47bffad6a8fc339777e2b11395596e9a476867d94a219c7925 fix-elf-native-class.patch
+4b72d659eb6cf8c5b303bd91fe28d4cebeefda97be5b93df12a3e265283b4057ff299e14763a0b9f4b6eaae8da1725af35038b3aba578c66dd950f1703c28d42 fix-processinfo_linux.patch
+aac12cffc452f1dc365c65944a015476c2011b0975144879d28938c690fe6e77b6bd672e040b4c04c02cb002224e24d6f13adb083324f424ef4cdb79a3a71f6b fix-resolv.patch
+92cf2c55c68b975408ed2f7fde65da6b238b617dfaa0737a1c51ce19344dba11dd96c0a99f7671c1b7464f5114b3e820a32a25b1600d1c8217262b60fe0364ea fix-strerror_r.patch
+ecbe6cb579b33dd4888096712f150772db06fd38219ca2a7679b1dc1ee73b0c3f5ee498af12ecd0265b5231a9fe6b7c12b2c1d606ed04caa6aa00c3ad3fe925a wiredtiger.patch
+9bcd870742c31bf25f34188ddc3c414de1103e9860dea9f54eee276b89bc2cf1226abab1749c5cda6a6fb0880e541373754e5e83d63cc7189d4b9c274fd555c3 mongodb.confd
+74009794d566dd9d70ec93ffd95c830ee4696165574ecf87398165637fb40799b38d182ef54c50fd0772d589be94ade7f7a49247f3d31c1f012cb4e44cc9f5df mongodb.initd
+8c089b1a11f494e4148fb4646265964c925bf937633a65e395ee1361d42facf837871dd493a9a2e0f480ae0e0829dbd3ed60794c5334e2716332e131fc5c2c51 mongodb.logrotate
+61d8734cef644187eeadc821c89e63a3fbf61860fe2db6e74557b1c6760fe83ba7549cb04f9e3aacea4d8e7e4d81a3b1bc0d5e29715eca33c4761adb17ea9ab7 mongos.confd
+13aad7247b848ac58b2bc0b40a0d30d909e950380abd0c83fab0e2a394a42dc268a66dac53cf9feec6971739977470082cc4339cca827f41044cfe43803ef3f7 mongos.initd"
diff --git a/non-free/mongodb/fix-backtrace.patch b/non-free/mongodb/fix-backtrace.patch
new file mode 100644
index 0000000000..67cb7ca422
--- /dev/null
+++ b/non-free/mongodb/fix-backtrace.patch
@@ -0,0 +1,12 @@
+--- mongodb-src-r3.6.1/SConstruct.orig
++++ mongodb-src-r3.6.1/SConstruct
+@@ -2896,7 +2896,8 @@
+ if (conf.CheckCXXHeader( "execinfo.h" ) and
+ conf.CheckDeclaration('backtrace', includes='#include <execinfo.h>') and
+ conf.CheckDeclaration('backtrace_symbols', includes='#include <execinfo.h>') and
+- conf.CheckDeclaration('backtrace_symbols_fd', includes='#include <execinfo.h>')):
++ conf.CheckDeclaration('backtrace_symbols_fd', includes='#include <execinfo.h>') and
++ conf.CheckFunc('backtrace')):
+
+ conf.env.SetConfigHeaderDefine("MONGO_CONFIG_HAVE_EXECINFO_BACKTRACE")
+
diff --git a/non-free/mongodb/fix-default-stacksize.patch b/non-free/mongodb/fix-default-stacksize.patch
new file mode 100644
index 0000000000..d40a2d4b6e
--- /dev/null
+++ b/non-free/mongodb/fix-default-stacksize.patch
@@ -0,0 +1,20 @@
+diff -ru mongodb-src-r3.2.10.orig/src/mongo/platform/stack_locator_pthread_getattr_np.cpp mongodb-src-r3.2.10/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
+--- mongodb-src-r3.2.10.orig/src/mongo/platform/stack_locator_pthread_getattr_np.cpp 2016-09-26 15:10:04.000000000 +0300
++++ mongodb-src-r3.2.10/src/mongo/platform/stack_locator_pthread_getattr_np.cpp 2016-11-01 10:47:31.062284560 +0200
+@@ -35,6 +35,16 @@
+ #include "mongo/util/assert_util.h"
+ #include "mongo/util/scopeguard.h"
+
++__attribute__((constructor))
++static void set_default_stack_size(void)
++{
++ pthread_attr_t attr;
++ invariant(pthread_attr_init(&attr) == 0);
++ invariant(pthread_attr_setstacksize(&attr, 256*1024) == 0);
++ pthread_setattr_default_np(&attr);
++ invariant(pthread_attr_destroy(&attr) == 0);
++}
++
+ namespace mongo {
+
+ StackLocator::StackLocator() {
diff --git a/non-free/mongodb/fix-elf-native-class.patch b/non-free/mongodb/fix-elf-native-class.patch
new file mode 100644
index 0000000000..badb712d8e
--- /dev/null
+++ b/non-free/mongodb/fix-elf-native-class.patch
@@ -0,0 +1,12 @@
+--- orig/mongodb-src-r3.0.2/src/mongo/util/stacktrace_posix.cpp
++++ mongodb-src-r3.0.2/src/mongo/util/stacktrace_posix.cpp
+@@ -209,6 +209,9 @@
+ #include <elf.h>
+ #include <link.h>
+
++// AlpineTODO: Better option??
++#define __ELF_NATIVE_CLASS 64
++
+ namespace mongo {
+ namespace {
+
diff --git a/non-free/mongodb/fix-processinfo_linux.patch b/non-free/mongodb/fix-processinfo_linux.patch
new file mode 100644
index 0000000000..a5411371a3
--- /dev/null
+++ b/non-free/mongodb/fix-processinfo_linux.patch
@@ -0,0 +1,35 @@
+--- mongodb-src-r4.0.0/src/mongo/util/processinfo_linux.cpp.orig
++++ mongodb-src-r4.0.0/src/mongo/util/processinfo_linux.cpp
+@@ -42,13 +42,7 @@
+ #include <sys/time.h>
+ #include <sys/utsname.h>
+ #include <unistd.h>
+-#ifdef __BIONIC__
+-#include <android/api-level.h>
+-#elif __UCLIBC__
+ #include <features.h>
+-#else
+-#include <gnu/libc-version.h>
+-#endif
+
+ #include <boost/filesystem.hpp>
+ #include <boost/none.hpp>
+@@ -495,17 +489,9 @@
+
+ BSONObjBuilder bExtra;
+ bExtra.append("versionString", LinuxSysHelper::readLineFromFile("/proc/version"));
+-#ifdef __BIONIC__
+ stringstream ss;
+- ss << "bionic (android api " << __ANDROID_API__ << ")";
++ ss << "musl-1.1.19";
+ bExtra.append("libcVersion", ss.str());
+-#elif __UCLIBC__
+- stringstream ss;
+- ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__;
+- bExtra.append("libcVersion", ss.str());
+-#else
+- bExtra.append("libcVersion", gnu_get_libc_version());
+-#endif
+ if (!verSig.empty())
+ // optional
+ bExtra.append("versionSignature", verSig);
diff --git a/non-free/mongodb/fix-resolv.patch b/non-free/mongodb/fix-resolv.patch
new file mode 100644
index 0000000000..09bda7b643
--- /dev/null
+++ b/non-free/mongodb/fix-resolv.patch
@@ -0,0 +1,17 @@
+--- mongodb-src-r3.6.1/src/mongo/util/dns_query_posix-impl.h.orig
++++ mongodb-src-r3.6.1/src/mongo/util/dns_query_posix-impl.h
+@@ -38,6 +38,14 @@
+ #include <resolv.h>
+ // clang-format on
+
++// Support deprecated resolver, as in musl libc
++#ifndef res_ninit
++#define res_nclose(arg)
++#define res_ninit(arg) res_init()
++#define res_nsearch(sta, nam, clas, typ, ans, alen) res_search(nam, clas, typ, ans, alen)
++#endif
++
++
+ #include <stdio.h>
+
+ #include <iostream>
diff --git a/non-free/mongodb/fix-strerror_r.patch b/non-free/mongodb/fix-strerror_r.patch
new file mode 100644
index 0000000000..172c7fefac
--- /dev/null
+++ b/non-free/mongodb/fix-strerror_r.patch
@@ -0,0 +1,13 @@
+--- mongodb-src-r4.0.0/src/mongo/util/errno_util.cpp.orig
++++ mongodb-src-r4.0.0/src/mongo/util/errno_util.cpp
+@@ -58,9 +58,7 @@
+ char buf[kBuflen];
+ char* msg{nullptr};
+
+-#if defined(__GNUC__) && defined(_GNU_SOURCE) && (__ANDROID_API__ > 22)
+- msg = strerror_r(errNumber, buf, kBuflen);
+-#elif defined(_WIN32)
++#if defined(_WIN32)
+
+ LPWSTR errorText = nullptr;
+ FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER |
diff --git a/non-free/mongodb/mongodb.confd b/non-free/mongodb/mongodb.confd
new file mode 100644
index 0000000000..4f76c5a79f
--- /dev/null
+++ b/non-free/mongodb/mongodb.confd
@@ -0,0 +1,14 @@
+# Mongodb essentials
+MONGODB_EXEC="/usr/bin/mongod"
+MONGODB_RUN="/var/run/mongodb"
+MONGODB_DATA="/var/lib/mongodb"
+MONGODB_USER="mongodb"
+
+# Listen to specified IP, comment this to listen to all
+MONGODB_IP="127.0.0.1"
+
+# Listen to specified port
+MONGODB_PORT="27017"
+
+# Set extra options here, such as disabling the admin web server
+MONGODB_OPTIONS="--journal"
diff --git a/non-free/mongodb/mongodb.initd b/non-free/mongodb/mongodb.initd
new file mode 100644
index 0000000000..fede8f683c
--- /dev/null
+++ b/non-free/mongodb/mongodb.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/files/mongodb.initd,v 1.5 2013/01/18 11:19:27 ultrabug Exp $
+
+depend() {
+ need net
+ after firewall
+}
+
+start() {
+ checkpath -d -m 0750 -o "${MONGODB_USER}":mongodb "${MONGODB_RUN}"
+
+ # Listen to MONGODB_IP if configured
+ [ -z "${MONGODB_IP}" ] || MONGODB_OPTIONS="--bind_ip ${MONGODB_IP} ${MONGODB_OPTIONS}"
+
+ # Baselayout-1 user should use --chuid instead of --user
+ local USEROPT="--user"
+ if [ ! -f /etc/init.d/sysfs ]; then
+ USEROPT="--chuid"
+ fi
+
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --background --start --make-pidfile \
+ --pidfile ${MONGODB_RUN:-/var/run/mongodb}/${SVCNAME}.pid \
+ ${USEROPT} ${MONGODB_USER:-mongodb} \
+ --exec ${MONGODB_EXEC:-/usr/bin/mongod} \
+ -- \
+ --port ${MONGODB_PORT:-27017} \
+ --dbpath ${MONGODB_DATA:-/var/lib/mongodb} \
+ --unixSocketPrefix ${MONGODB_RUN:-/var/run/mongodb} \
+ --logappend --logpath /var/log/mongodb/${SVCNAME}.log \
+ ${MONGODB_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --pidfile ${MONGODB_RUN:-/var/run/mongodb}/${SVCNAME}.pid
+ eend $?
+}
diff --git a/non-free/mongodb/mongodb.logrotate b/non-free/mongodb/mongodb.logrotate
new file mode 100644
index 0000000000..f95a438b5b
--- /dev/null
+++ b/non-free/mongodb/mongodb.logrotate
@@ -0,0 +1,13 @@
+# Default log rotation / compression keeps 1 year of logs.
+/var/log/mongodb/*.log {
+ daily
+ rotate 365
+ dateext
+ copytruncate
+ delaycompress
+ compress
+ notifempty
+ extension gz
+ sharedscripts
+ missingok
+}
diff --git a/non-free/mongodb/mongodb.pre-install b/non-free/mongodb/mongodb.pre-install
new file mode 100644
index 0000000000..1ed56eb7f4
--- /dev/null
+++ b/non-free/mongodb/mongodb.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S mongodb 2>/dev/null
+adduser -S -D -h /var/lib/mongodb -s /sbin/nologin -G mongodb -g mongodb mongodb 2>/dev/null
+
+exit 0
diff --git a/non-free/mongodb/mongos.confd b/non-free/mongodb/mongos.confd
new file mode 100644
index 0000000000..644cd0a252
--- /dev/null
+++ b/non-free/mongodb/mongos.confd
@@ -0,0 +1,16 @@
+# Mongos essentials
+MONGOS_EXEC="/usr/bin/mongos"
+MONGOS_RUN="/var/run/mongodb"
+MONGOS_USER="mongodb"
+
+# Listen to specified IP, comment this to listen to all
+MONGOS_IP="127.0.0.1"
+
+# Listen to specified port
+MONGOS_PORT="27018"
+
+# 1 to 3 comma separated config servers (mandatory)
+MONGOS_CONFIGDB=""
+
+# Set extra options here
+MONGOS_OPTIONS=""
diff --git a/non-free/mongodb/mongos.initd b/non-free/mongodb/mongos.initd
new file mode 100644
index 0000000000..a38fc50569
--- /dev/null
+++ b/non-free/mongodb/mongos.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/files/mongos.initd,v 1.3 2013/01/18 11:19:27 ultrabug Exp $
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ -z "${MONGOS_CONFIGDB}" ]; then
+ eerror "MONGOS_CONFIGDB is not defined, check your configuration file !"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return 1
+
+ checkpath -d -m 0750 -o "${MONGOS_USER}":mongodb "${MONGOS_RUN}"
+
+ # Listen to MONGOS_IP if configured
+ [ -z "${MONGOS_IP}" ] || MONGOS_OPTIONS="--bind_ip ${MONGOS_IP} ${MONGOS_OPTIONS}"
+
+ local USEROPT="--user"
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --background --start --make-pidfile \
+ --pidfile ${MONGOS_RUN:-/var/run/mongodb}/${SVCNAME}.pid \
+ ${USEROPT} ${MONGOS_USER:-mongodb} \
+ --exec ${MONGOS_EXEC:-/usr/bin/mongos} \
+ -- \
+ --port ${MONGOS_PORT:-27018} \
+ --unixSocketPrefix ${MONGOS_RUN:-/var/run/mongodb} \
+ --logappend --logpath /var/log/mongodb/${SVCNAME}.log \
+ --configdb ${MONGOS_CONFIGDB} \
+ ${MONGOS_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --pidfile ${MONGOS_RUN:-/var/run/mongodb}/${SVCNAME}.pid
+ eend $?
+}
diff --git a/non-free/mongodb/wiredtiger.patch b/non-free/mongodb/wiredtiger.patch
new file mode 100644
index 0000000000..37d9fedabe
--- /dev/null
+++ b/non-free/mongodb/wiredtiger.patch
@@ -0,0 +1,11 @@
+--- ./src/third_party/wiredtiger/build_linux/wiredtiger_config.h.orig
++++ ./src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+@@ -104,7 +104,7 @@
+ #define HAVE_STRING_H 1
+
+ /* Define to 1 if you have the `strtouq' function. */
+-#define HAVE_STRTOUQ 1
++/* #define HAVE_STRTOUQ 1 */
+
+ /* Define to 1 if you have the `sync_file_range' function. */
+ /* #undef HAVE_SYNC_FILE_RANGE */
diff --git a/non-free/php7-pecl-mongodb/APKBUILD b/non-free/php7-pecl-mongodb/APKBUILD
new file mode 100644
index 0000000000..8080476daf
--- /dev/null
+++ b/non-free/php7-pecl-mongodb/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
+# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
+pkgname=php7-pecl-mongodb
+_pkgreal=mongodb
+pkgver=1.5.3
+_pkgver=${pkgver/_rc/RC}
+pkgrel=2
+pkgdesc="PHP7 MongoDB driver"
+url="https://pecl.php.net/package/mongodb"
+arch="all"
+license="Apache-2.0"
+depends="php7-json"
+makedepends="openssl-dev pcre-dev php7-dev autoconf"
+source="https://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+options="!check" # tests requires additional dependencies (vagrant)
+builddir="$srcdir"/$_pkgreal-$_pkgver
+provides="php7-mongodb=$pkgver-r$pkgrel" # for backward compatibility
+replaces="php7-mongodb" # for backward compatibility
+
+build() {
+ cd "$builddir"
+ phpize7
+ ./configure --prefix=/usr \
+ --with-php-config=/usr/bin/php-config7
+ make
+}
+
+package() {
+ cd "$builddir"
+ make INSTALL_ROOT="$pkgdir/" install
+ install -d "$pkgdir"/etc/php7/conf.d
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php7/conf.d/$_pkgreal.ini
+}
+
+sha512sums="35704e75bd7867a436d953c00c7560c9a08a4fa8f3555d7cc00aeda34e87c6c7aa7ecc1d7f674747e34f4f8dac35d320f6317e60229528ea9782bbe669bafec0 mongodb-1.5.3.tgz"
diff --git a/non-free/py-flask-mongoengine/APKBUILD b/non-free/py-flask-mongoengine/APKBUILD
new file mode 100644
index 0000000000..f722bae3e5
--- /dev/null
+++ b/non-free/py-flask-mongoengine/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-flask-mongoengine
+_pkgname=flask-mongoengine
+pkgver=0.7.0
+pkgrel=0
+pkgdesc="Flask mongoDB interface"
+url="https://pypi.python.org/pypi/flask-mongoengine"
+arch="noarch"
+license="BSD"
+depends="python2 py-flask py-flask-wtf py-mongo"
+depends_dev=""
+makedepends="python2-dev py-setuptools"
+install=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python2 setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python2 setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="9219a08bb4ca7503904bb941084fee52 flask-mongoengine-0.7.0.tar.gz"
+sha256sums="e5031d1f812181699b10fec76d7c9c6633f19f8b686dcee48371e9216884f2b4 flask-mongoengine-0.7.0.tar.gz"
+sha512sums="3a9ce923b5d391e4fbdacc87d32e6cd8e0ada592c9fce585cf6dc38b8c116966cd70c83c2f2b77f580348722351c129ef38d7788f9ae2bd27d043de0d5487493 flask-mongoengine-0.7.0.tar.gz"
diff --git a/non-free/py-flask-pymongo/APKBUILD b/non-free/py-flask-pymongo/APKBUILD
new file mode 100644
index 0000000000..db749208e8
--- /dev/null
+++ b/non-free/py-flask-pymongo/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-flask-pymongo
+_pkgname=Flask-PyMongo
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="Flask PyMongo extension"
+url="https://pypi.python.org/pypi/Flask-PyMongo"
+arch="noarch"
+license="BSD"
+depends="python2 py-flask py-mongo"
+depends_dev=""
+makedepends="python2-dev py-setuptools"
+install=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python2 setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python2 setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="594fcb7df267f8312aa5243118fe3886 Flask-PyMongo-0.3.0.tar.gz"
+sha256sums="0b01adc037994587c21b617160f6ad9f6ab12b547f518c65da4eafb035b9d617 Flask-PyMongo-0.3.0.tar.gz"
+sha512sums="f6cee603de9a8a1cd08f3ff2e400c16268dfc63754198ffddd9500784066d2b9ec63e002e38da061541b8aa8304b9376c214a3219990fd73b4caf09518df711e Flask-PyMongo-0.3.0.tar.gz"
diff --git a/non-free/py-flask-views/APKBUILD b/non-free/py-flask-views/APKBUILD
new file mode 100644
index 0000000000..2c8bbb38c3
--- /dev/null
+++ b/non-free/py-flask-views/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-flask-views
+_pkgname=Flask-Views
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="Flask class based views extension"
+url="https://pypi.python.org/pypi/Flask-Views"
+arch="noarch"
+license="BSD"
+depends="python2 py-flask py-flask-mongoengine"
+depends_dev=""
+makedepends="python2-dev py-setuptools"
+install=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python2 setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python2 setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="89fd9c04d6721e8b04c42b999170e74a Flask-Views-0.2.1.tar.gz"
+sha256sums="4aa75c8fb0cd9c07a30ab288774de710fda1136eb6ff18404b2f72513894d384 Flask-Views-0.2.1.tar.gz"
+sha512sums="cd70caebffb1427d18d58a06e196e404c426616345b487ebf08f936afeac37ba46a4757e526cb910bd4451456788766a0cb17eb58f3af55553fc0fd3f0984db7 Flask-Views-0.2.1.tar.gz"
diff --git a/non-free/py-mongo/APKBUILD b/non-free/py-mongo/APKBUILD
new file mode 100644
index 0000000000..d85f4ce849
--- /dev/null
+++ b/non-free/py-mongo/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Danilo Falcão <danilo@falcao.org>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-mongo
+_pkgname=pymongo
+pkgver=3.7.2
+pkgrel=0
+pkgdesc="A Python driver for MongoDB"
+url="https://github.com/mongodb/mongo-python-driver"
+arch="all"
+license="Apache-2.0"
+depends=""
+makedepends="python2-dev python3-dev py-setuptools"
+install=""
+subpackages="py2-$_pkgname:_py2 py3-$_pkgname:_py3"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$builddir"
+ python2 setup.py build
+ python3 setup.py build
+}
+
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+
+check() {
+ cd "$builddir"
+ python2 setup.py test
+ python3 setup.py test
+}
+
+_py2() {
+ replaces="$pkgname"
+ _py python2
+}
+
+_py3() {
+ _py python3
+}
+
+_py() {
+ local python="$1"
+ pkgdesc="$pkgdesc (for $python)"
+ depends="$depends $python"
+ install_if="$pkgname=$pkgver-r$pkgrel $python"
+
+ cd "$builddir"
+ $python setup.py install --prefix=/usr --root="$subpkgdir"
+}
+
+sha512sums="4d1dfe03d94f381f27cfb5c8dd4f75ecbab90567fdc4dd594b880031e68825eda6285c8b261a4c9d76fb7ccc92c91e27ae2f696525f7732b1f0084794042a33d pymongo-3.7.2.tar.gz"
diff --git a/non-free/wiredtiger/10-fix-code-generator.patch b/non-free/wiredtiger/10-fix-code-generator.patch
new file mode 100644
index 0000000000..618106f511
--- /dev/null
+++ b/non-free/wiredtiger/10-fix-code-generator.patch
@@ -0,0 +1,11 @@
+--- orig/wiredtiger-2.6.0/dist/s_typedef
++++ wiredtiger-2.6.0/dist/s_typedef
+@@ -21,7 +21,7 @@
+ l=`ls ../src/include/*.[hi] ../src/include/*.in |
+ sed -e '/wiredtiger.*/d' -e '/queue.h/d'`
+ egrep -h \
+- '^[ ]*(((struct|union)[ ].*__wt_.*{)|WT_PACKED_STRUCT_BEGIN)' \
++ '^[ ]*(((struct|union)[ ].*__wt_.*\{)|WT_PACKED_STRUCT_BEGIN)' \
+ $l |
+ sed -e 's/WT_PACKED_STRUCT_BEGIN(\(.*\))/struct \1 {/' \
+ -e 's/WT_COMPILER_TYPE_ALIGN(.*)[ ]*//' \
diff --git a/non-free/wiredtiger/APKBUILD b/non-free/wiredtiger/APKBUILD
new file mode 100644
index 0000000000..25c4eb05ff
--- /dev/null
+++ b/non-free/wiredtiger/APKBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Philipp Andronov <filipp.andronov@gmail.com>
+# Contributor: Marc Vertes <mvertes@free.fr>
+
+pkgname=wiredtiger
+mongodb_version=3.6.3
+pkgver=3.0.0.$mongodb_version
+pkgrel=1
+pkgdesc="High performance, scalable, production quality, NoSQL, Open Source extensible platform for data management"
+url="http://www.wiredtiger.com"
+arch="x86_64"
+license="(GPL-2.0 or GPL-3.0) and MIT and BSD"
+depends=""
+depends_dev="autoconf automake libtool linux-headers"
+makedepends="$depends_dev lz4-dev zlib-dev snappy-dev libexecinfo-dev"
+
+options=""
+subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
+
+install=""
+source="$pkgname-$pkgver-mongodb-$mongodb_version.tar.gz::https://github.com/wiredtiger/wiredtiger/archive/mongodb-$mongodb_version.tar.gz
+ makemake-remove-libtool-version.patch
+ 10-fix-code-generator.patch
+ "
+
+_builddir="$srcdir"/$pkgname-mongodb-$mongodb_version
+prepare() {
+ local i
+
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ sh autogen.sh || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --disable-static \
+ --enable-verbose \
+ --enable-lz4 \
+ --with-builtins=zlib,snappy \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+sha512sums="051342439eea7bfb65dddbd42eab646bc007e9768d8bb82aeab6245cefcc99f9c3acae66a4caf60304256fd2cd55ceeba8b09b91743756b36ec6f367281070ca wiredtiger-3.0.0.3.6.3-mongodb-3.6.3.tar.gz
+9eb56a81cbf0b8c695ab86d5c6aa319aee8e6ffc4d4ac94c5ecb17a639cab352f83fdf15db467d3f2961cd05fd00c2b96c3cc357daa32972dd07fb3dfa95852f makemake-remove-libtool-version.patch
+a24360c18a8dd677a1942fc66ecdfdb8bc514af6de3e19be822293fdc83c051c43f3270f91eaa4524f30b5bc82c6ecad5162ce5b3f5ff470bab4e1a5d9eb79ec 10-fix-code-generator.patch"
diff --git a/non-free/wiredtiger/makemake-remove-libtool-version.patch b/non-free/wiredtiger/makemake-remove-libtool-version.patch
new file mode 100644
index 0000000000..f401e85b91
--- /dev/null
+++ b/non-free/wiredtiger/makemake-remove-libtool-version.patch
@@ -0,0 +1,11 @@
+--- ./build_posix/makemake.orig
++++ ./build_posix/makemake
+@@ -25,7 +25,7 @@
+
+ # Write the list of sources.
+ echo
+-echo "libwiredtiger_la_LDFLAGS = -release @VERSION@"
++echo "libwiredtiger_la_LDFLAGS ="
+ echo "libwiredtiger_la_SOURCES ="
+ sed -e '/^[a-z]/!d' < ../dist/filelist | while read file cond; do
+ if test -n "$cond"; then