summaryrefslogtreecommitdiff
path: root/dev-db/tokumx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-db/tokumx
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-db/tokumx')
-rw-r--r--dev-db/tokumx/Manifest12
-rw-r--r--dev-db/tokumx/files/1.5.0-Werror.diff45
-rw-r--r--dev-db/tokumx/files/1.5.0-boost-57.diff11
-rw-r--r--dev-db/tokumx/files/tokumx-2.0.2-boost-57.patch22
-rw-r--r--dev-db/tokumx/files/tokumx-2.0.2-gcc-7.patch102
-rw-r--r--dev-db/tokumx/files/tokumx-2.0.2-no-werror.patch88
-rw-r--r--dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch15
-rw-r--r--dev-db/tokumx/files/tokumx-disable-bundled-libs.patch11
-rw-r--r--dev-db/tokumx/metadata.xml15
-rw-r--r--dev-db/tokumx/tokumx-1.5.0-r2.ebuild77
-rw-r--r--dev-db/tokumx/tokumx-2.0.2-r1.ebuild79
11 files changed, 477 insertions, 0 deletions
diff --git a/dev-db/tokumx/Manifest b/dev-db/tokumx/Manifest
new file mode 100644
index 000000000000..4b3c9c7cd63f
--- /dev/null
+++ b/dev-db/tokumx/Manifest
@@ -0,0 +1,12 @@
+AUX 1.5.0-Werror.diff 2195 BLAKE2B c75c8895426765fd5cd765c2319178eb5efc957bc8994b5b789097a3d78faf6f4701c84b9bcd73ae63bc39e174a5e3bfcbdd06be9b7986ba605380636c0d867f SHA512 ac6c2f40e65bc4476a5a9def8c56865675da0099d910ff99e14c3a53df3d5055433ca5d5d4f92e23a1cd4b468555936412ead1a35ae5fd017f232e0afa6c60e6
+AUX 1.5.0-boost-57.diff 419 BLAKE2B a17bc644e54c824353e1e0dfe8807f8c3d0e383536938cffca0a51c1392cff8818a18ecc53ec99115de5897e1e5ac6489b665d954b4306acf8344787c76990d7 SHA512 2ccdf5514ff53af949f81cbea77c425d00454c6a8b73abcfe8c3260d08e3dfb31d92447a151311137536265bf7baf9cdb3eafb227a034b813e250e4e820b45b0
+AUX tokumx-2.0.2-boost-57.patch 969 BLAKE2B 61995b6a952797d2aa3bee1f4da7ef55a979ba50b7348755a47ebbc94e263b3bce1b1ffee28e7dd7d32ce070bea68feeb20aa04cbfe8dc4928390f029b98d4af SHA512 366015bc427022cdb76a8bd65227de0a120ebeebde14b5e403476ef0efeb9e8b1fbb84b037bc46a77e91160cb0670c8f05d64f437cc89b50dd9030123df3ef79
+AUX tokumx-2.0.2-gcc-7.patch 6020 BLAKE2B 93c5daee04a47d2a2d460f8d62605a78075e2023d17940bd7625085a07a6a0efa2a8c074e8e963340ffb1473487e90bf6c643ca7e818854634f3c77c184ad63d SHA512 3d4f46dbbd3a4472bfddac8cc8c19487dc6ad4fa18fe916edbb1c7c597edd2b9d239fac936fbc29ef0087f80f4d264b7f9d7123d82477c7d89fab62e8c9dedb9
+AUX tokumx-2.0.2-no-werror.patch 4372 BLAKE2B f8f4ccaa5bdeba6552aa4edd18f15f31125df0977509db5fef313e9c24248444a0a9aeb51f9eea40f792e09a81049559fad5c0742f586a3f7da8edf1312269c0 SHA512 fdcd3894a9bf8fd3a4301d8f77643f1aaedf1b67da664820114759187555c733eb495a8b28e67a431c4648075af82fe1d2059efa0028f3091b52456b8e185872
+AUX tokumx-2.0.2-undefined-reference.patch 625 BLAKE2B 20c7644a60832431a03b44c89c5628c28536099cc7ff6f0f694da2472c60c267ae5e6456440c4c4447e7e3a4932d5621a2d159434f8376b33e03d98783458f87 SHA512 f8d7b4fb522df36bf3042e824bb826e79af2c633781d1e733b16cc492295362570d88d4593bab8e12899b2eebeb05563ddd0e9259dde9408823c3cdd4162d095
+AUX tokumx-disable-bundled-libs.patch 477 BLAKE2B 3d72b93248645425c8f8e926c124ec4e2d4982341b02d52493c9b47d5bf98bac8f5b4b52da3a3e55900bebb228de558da1d70e6e66cb579297a66d27882900a6 SHA512 acb735167d9753aca5597a81f13696e0c158f837cff8eed703ac777824ef7fef71a339415c0b948f48dc992d0919ef3a0d747f37bb6ff9670e95475f0cf5057f
+DIST tokumx-enterprise-2.0.2.tar.gz 16756175 BLAKE2B 8caaf9f12db713192ab1eaa31284fd390c1a54ffb9e6c12601b9a8c88a101f51868ba548ae8bcb1cd39ea875b6a937c8b5e4b45792f7da88e454d6a02955fe07 SHA512 8d063abcbe16ce50b5b7f99ae6deec348cf60bb8bb57a3b06e478c03af7ded7501ca6ca15ac63ef07bf3fa0da59a30571b9a799fa5c5a9dcbac741c0a674b1f6
+DIST tokumx-git-tag-1.5.0.tar.bz2 13059584 BLAKE2B f662d72c8eb65551c074f11e36dac0fa68f5a0b86fe9654e49160c42511576146e9194c3d3cd607c8fba4272992c35f4268ad3db7032ae9dfb7c9417f954e8c8 SHA512 ba19237db7d3dcbd3ac07b8cc4860549830fa065fa4d26cbae685274524cd5b89f671d5f126ec25bee605c99929ce0436bb2ac32d67efdbb8dd6d7526d3f1c24
+EBUILD tokumx-1.5.0-r2.ebuild 2011 BLAKE2B 35fba61eced8fd15f074896dccd934927182afd5333981aad798630b938fa7e450ce03bfcb25fc43a61e5fb145759513a19efb30adc5a5a0f1aa7d2357dfca69 SHA512 d21efce4a337030babacf95f856148e479717bcad25d247de4105556aaa53780a08af3f121fc85c9c0ccdaa77d6054294b1e66765e5b8c51e27049236121162a
+EBUILD tokumx-2.0.2-r1.ebuild 2144 BLAKE2B aa3407be95dcb738fb83ee6035ff56f0d7a08a181b219d26f589c08e4432be108b6826193b01ba6ed175997c72dbadc301af2ac8d0a7153ac86fad28a474f5b9 SHA512 c4073728ed1f45a1308d2f59ea444b9facf3336aefc59e5737e61a0397a7fb690dbee0d417a71854d400383f83c93254f16b38fbaa017c8d2640415c9df8eb29
+MISC metadata.xml 441 BLAKE2B 900ea406bc2cdac6196b49607274989e6b290d56b6a02f83949cdbb20fbd1960193a48053d3c963a852170ffb11736bda77eb9a843506be89d256fc48a1a97db SHA512 5d2c7f880ced8d3d9d8c8f9daef5d0f975f76d9db58000c0f2cf80ee818b35346973e2bc30f2b39d646845a4045d6389a929e76e1d2a3724f7330e1ab5901277
diff --git a/dev-db/tokumx/files/1.5.0-Werror.diff b/dev-db/tokumx/files/1.5.0-Werror.diff
new file mode 100644
index 000000000000..a865fe074f37
--- /dev/null
+++ b/dev-db/tokumx/files/1.5.0-Werror.diff
@@ -0,0 +1,45 @@
+diff -uNr work.ORIG/mongo/CMakeLists.txt work/mongo/CMakeLists.txt
+--- work.ORIG/mongo/CMakeLists.txt 2014-08-01 11:51:20.832614062 +0100
++++ work/mongo/CMakeLists.txt 2014-08-01 11:51:36.898614862 +0100
+@@ -71,14 +71,13 @@
+ endforeach(flag)
+ endmacro(set_cxxflags_if_supported)
+
+-set(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing -ggdb -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe")
++set(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing -ggdb -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe")
+ set(CMAKE_CXX_FLAGS "-fPIC -fno-strict-aliasing -ggdb")
+ set_cxxflags_if_supported(
+ -Wall
+ -Wsign-compare
+ -Wno-unknown-pragmas
+ -Winvalid-pch
+- -Werror
+ -pipe
+ -Wnon-virtual-dtor
+ -Woverloaded-virtual
+diff -uNr work.ORIG/mongo/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake work/mongo/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake
+--- work.ORIG/mongo/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake 2014-08-01 11:51:20.696614056 +0100
++++ work/mongo/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake 2014-08-01 11:51:36.898614862 +0100
+@@ -174,8 +174,8 @@
+ endif ()
+
+ ## always want these
+-set(CMAKE_C_FLAGS "-Wall -Werror ${CMAKE_C_FLAGS}")
+-set(CMAKE_CXX_FLAGS "-Wall -Werror ${CMAKE_CXX_FLAGS}")
++set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
++set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")
+
+ ## need to set -stdlib=libc++ to get real c++11 support on darwin
+ if (APPLE)
+diff -uNr work.ORIG/mongo/src/third_party/ft-index/examples/Makefile work/mongo/src/third_party/ft-index/examples/Makefile
+--- work.ORIG/mongo/src/third_party/ft-index/examples/Makefile 2014-08-01 11:51:20.676614055 +0100
++++ work/mongo/src/third_party/ft-index/examples/Makefile 2014-08-01 11:51:36.898614862 +0100
+@@ -1,7 +1,7 @@
+ SRCS = $(wildcard *.c)
+ TARGETS = $(patsubst %.c,%,$(SRCS)) $(patsubst %.c,%-bdb,$(SRCS))
+ CPPFLAGS = -I../include -D_GNU_SOURCE
+-CFLAGS = -g -std=c99 -Wall -Wextra -Werror -Wno-missing-field-initializers
++CFLAGS = -g -std=c99 -Wall -Wextra -Wno-missing-field-initializers
+ ifeq ($(USE_STATIC_LIBS),1)
+ LIBTOKUDB = tokufractaltree_static
+ LIBTOKUPORTABILITY = tokuportability_static
diff --git a/dev-db/tokumx/files/1.5.0-boost-57.diff b/dev-db/tokumx/files/1.5.0-boost-57.diff
new file mode 100644
index 000000000000..e66aec168712
--- /dev/null
+++ b/dev-db/tokumx/files/1.5.0-boost-57.diff
@@ -0,0 +1,11 @@
+diff -uNr work.ORIG/mongo/src/mongo/shell/linenoise_utf8.h work/mongo/src/mongo/shell/linenoise_utf8.h
+--- work.ORIG/mongo/src/mongo/shell/linenoise_utf8.h 2017-03-30 15:20:51.880842717 +0100
++++ work/mongo/src/mongo/shell/linenoise_utf8.h 2017-03-30 15:21:26.002844416 +0100
+@@ -16,6 +16,7 @@
+ */
+
+ #include <boost/smart_ptr/scoped_array.hpp>
++#include <algorithm>
+ #include <string.h>
+
+ namespace linenoise_utf8 {
diff --git a/dev-db/tokumx/files/tokumx-2.0.2-boost-57.patch b/dev-db/tokumx/files/tokumx-2.0.2-boost-57.patch
new file mode 100644
index 000000000000..52b3b9f12064
--- /dev/null
+++ b/dev-db/tokumx/files/tokumx-2.0.2-boost-57.patch
@@ -0,0 +1,22 @@
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/shell/linenoise.cpp tokumx-enterprise-2.0.2/src/mongo/shell/linenoise.cpp
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/shell/linenoise.cpp 2016-11-21 11:52:54.883542356 +0000
++++ tokumx-enterprise-2.0.2/src/mongo/shell/linenoise.cpp 2016-11-21 11:53:11.995543208 +0000
+@@ -117,6 +117,7 @@
+ #include "mk_wcwidth.h"
+ #include <string>
+ #include <vector>
++#include <algorithm>
+ #include <boost/smart_ptr/scoped_array.hpp>
+
+ using std::string;
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/shell/linenoise_utf8.h tokumx-enterprise-2.0.2/src/mongo/shell/linenoise_utf8.h
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/shell/linenoise_utf8.h 2016-11-21 11:52:54.883542356 +0000
++++ tokumx-enterprise-2.0.2/src/mongo/shell/linenoise_utf8.h 2016-11-21 11:53:31.610544185 +0000
+@@ -15,6 +15,7 @@
+ * limitations under the License.
+ */
+
++#include <algorithm>
+ #include <boost/smart_ptr/scoped_array.hpp>
+ #include <string.h>
+
diff --git a/dev-db/tokumx/files/tokumx-2.0.2-gcc-7.patch b/dev-db/tokumx/files/tokumx-2.0.2-gcc-7.patch
new file mode 100644
index 000000000000..1203d1fc8098
--- /dev/null
+++ b/dev-db/tokumx/files/tokumx-2.0.2-gcc-7.patch
@@ -0,0 +1,102 @@
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/client_load.cpp tokumx-enterprise-2.0.2/src/mongo/db/client_load.cpp
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/client_load.cpp 2018-07-03 15:57:40.709360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/client_load.cpp 2018-07-03 15:57:48.127361253 +0100
+@@ -74,7 +74,7 @@
+ }
+
+ bool Client::loadInProgress() const {
+- return _loadInfo;
++ return bool(_loadInfo);
+ }
+
+ } // namespace mongo
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/collection_map.h tokumx-enterprise-2.0.2/src/mongo/db/collection_map.h
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/collection_map.h 2018-07-03 15:57:40.709360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/collection_map.h 2018-07-03 15:57:48.127361253 +0100
+@@ -66,7 +66,7 @@
+ // which must succeed, by the first invariant.
+ Collection *getCollection(const StringData &ns);
+
+- bool allocated() const { return _metadb; }
++ bool allocated() const { return bool(_metadb); }
+
+ void getNamespaces( list<string>& tofill );
+
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/ops/query.cpp tokumx-enterprise-2.0.2/src/mongo/db/ops/query.cpp
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/ops/query.cpp 2018-07-03 15:57:40.703360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/ops/query.cpp 2018-07-03 15:58:08.348362094 +0100
+@@ -635,7 +635,7 @@
+ shared_ptr<ExplainRecordingStrategy> ret
+ ( new SimpleCursorExplainStrategy( ancillaryInfo, _cursor ) );
+ ret->notePlan( queryPlan.valid() && queryPlan.scanAndOrderRequired,
+- queryPlan.keyFieldsOnly );
++ bool(queryPlan.keyFieldsOnly) );
+ return ret;
+ }
+
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/pipeline/document_source_sort.cpp tokumx-enterprise-2.0.2/src/mongo/db/pipeline/document_source_sort.cpp
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/pipeline/document_source_sort.cpp 2018-07-03 15:57:40.707360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/pipeline/document_source_sort.cpp 2018-07-03 15:57:48.128361253 +0100
+@@ -106,7 +106,7 @@
+ bool DocumentSourceSort::coalesce(const intrusive_ptr<DocumentSource> &pNextSource) {
+ if (!limitSrc) {
+ limitSrc = dynamic_cast<DocumentSourceLimit*>(pNextSource.get());
+- return limitSrc; // false if next is not a $limit
++ return bool(limitSrc); // false if next is not a $limit
+ }
+ else {
+ return limitSrc->coalesce(pNextSource);
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/queryoptimizercursorimpl.cpp tokumx-enterprise-2.0.2/src/mongo/db/queryoptimizercursorimpl.cpp
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/queryoptimizercursorimpl.cpp 2018-07-03 15:57:40.702360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/queryoptimizercursorimpl.cpp 2018-07-03 15:57:48.128361253 +0100
+@@ -370,7 +370,7 @@
+
+ // The query plan must have a matcher. The matcher's constructor performs some aspects
+ // of query validation that should occur before a cursor is returned.
+- fassert( 16449, singlePlan->matcher() );
++ fassert( 16449, bool(singlePlan->matcher()) );
+
+ if ( needMatcher ) {
+ single->setMatcher( singlePlan->matcher() );
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_optimizer_internal.cpp tokumx-enterprise-2.0.2/src/mongo/db/query_optimizer_internal.cpp
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_optimizer_internal.cpp 2018-07-03 15:57:40.707360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/query_optimizer_internal.cpp 2018-07-03 15:57:48.129361253 +0100
+@@ -234,7 +234,7 @@
+ // The query plan must have a matcher. The matcher's constructor performs some aspects
+ // of query validation that should occur as part of this class's init() if not handled
+ // already.
+- fassert( 16249, queryPlan().matcher() );
++ fassert( 16249, bool(queryPlan().matcher()) );
+
+ // TODO This violates the current Cursor interface abstraction, but for now it's simpler to keep our own set of
+ // dups rather than avoid poisoning the cursor's dup set with unreturned documents. Deduping documents
+@@ -257,7 +257,7 @@
+ _explainPlanInfo.reset( new ExplainPlanInfo() );
+ _explainPlanInfo->notePlan( *_c,
+ queryPlan().scanAndOrderRequired(),
+- queryPlan().keyFieldsOnly() );
++ bool(queryPlan().keyFieldsOnly()) );
+ return _explainPlanInfo;
+ }
+
+@@ -1226,7 +1226,7 @@
+ _explainPlanInfo.reset( new ExplainPlanInfo() );
+ _explainPlanInfo->notePlan( *_c,
+ _queryPlan->scanAndOrderRequired(),
+- _queryPlan->keyFieldsOnly() );
++ bool(_queryPlan->keyFieldsOnly()) );
+ shared_ptr<ExplainClauseInfo> clauseInfo( new ExplainClauseInfo() );
+ clauseInfo->addPlanInfo( _explainPlanInfo );
+ _mps->addClauseInfo( clauseInfo );
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_plan_summary.h tokumx-enterprise-2.0.2/src/mongo/db/query_plan_summary.h
+--- tokumx-enterprise-2.0.2.ORIG/src/mongo/db/query_plan_summary.h 2018-07-03 15:57:40.705360944 +0100
++++ tokumx-enterprise-2.0.2/src/mongo/db/query_plan_summary.h 2018-07-03 15:57:48.129361253 +0100
+@@ -35,7 +35,7 @@
+ * The 'fieldRangeMulti' attribute is required, and its presence indicates the object has
+ * been configured with a query plan.
+ */
+- bool valid() const { return fieldRangeSetMulti; }
++ bool valid() const { return bool(fieldRangeSetMulti); }
+
+ // A description of the valid values for the fields of a query, in the context of a multikey
+ // index or in memory sort.
diff --git a/dev-db/tokumx/files/tokumx-2.0.2-no-werror.patch b/dev-db/tokumx/files/tokumx-2.0.2-no-werror.patch
new file mode 100644
index 000000000000..5a0c160e8866
--- /dev/null
+++ b/dev-db/tokumx/files/tokumx-2.0.2-no-werror.patch
@@ -0,0 +1,88 @@
+diff -uNr tokumx-enterprise-2.0.2.ORIG/CMakeLists.txt tokumx-enterprise-2.0.2/CMakeLists.txt
+--- tokumx-enterprise-2.0.2.ORIG/CMakeLists.txt 2016-11-21 11:15:27.517430430 +0000
++++ tokumx-enterprise-2.0.2/CMakeLists.txt 2016-11-21 11:16:27.874433436 +0000
+@@ -82,14 +82,13 @@
+ endforeach(flag)
+ endmacro(set_cxxflags_if_supported)
+
+-set(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing -ggdb -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe")
++set(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing -ggdb -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe")
+ set(CMAKE_CXX_FLAGS "-fPIC -fno-strict-aliasing -ggdb")
+ set_cxxflags_if_supported(
+ -Wall
+ -Wsign-compare
+ -Wno-unknown-pragmas
+ -Winvalid-pch
+- -Werror
+ -pipe
+ -Wnon-virtual-dtor
+ -Woverloaded-virtual
+diff -uNr tokumx-enterprise-2.0.2.ORIG/SConstruct tokumx-enterprise-2.0.2/SConstruct
+--- tokumx-enterprise-2.0.2.ORIG/SConstruct 2016-11-21 11:15:27.517430430 +0000
++++ tokumx-enterprise-2.0.2/SConstruct 2016-11-21 11:16:27.875433436 +0000
+@@ -710,7 +710,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
+
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/third_party/backup/CMakeLists.txt tokumx-enterprise-2.0.2/src/third_party/backup/CMakeLists.txt
+--- tokumx-enterprise-2.0.2.ORIG/src/third_party/backup/CMakeLists.txt 2016-11-21 11:15:27.392430424 +0000
++++ tokumx-enterprise-2.0.2/src/third_party/backup/CMakeLists.txt 2016-11-21 11:17:22.576436161 +0000
+@@ -10,7 +10,7 @@
+ _FILE_OFFSET_BITS=64
+ _LARGEFILE64_SOURCE)
+
+-set(CMAKE_CXX_FLAGS "-Werror -W -Wall -Wshadow ${CMAKE_CXX_FLAGS}")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wshadow ${CMAKE_CXX_FLAGS}")
+
+ set(USE_VALGRIND ON CACHE BOOL "whether to use valgrind headers")
+ if (USE_VALGRIND)
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/third_party/backup/remote/Makefile tokumx-enterprise-2.0.2/src/third_party/backup/remote/Makefile
+--- tokumx-enterprise-2.0.2.ORIG/src/third_party/backup/remote/Makefile 2016-11-21 11:15:27.393430424 +0000
++++ tokumx-enterprise-2.0.2/src/third_party/backup/remote/Makefile 2016-11-21 11:17:38.840436971 +0000
+@@ -1,4 +1,4 @@
+ backup.pb.o: backup.pb.h
+-CXXFLAGS = -W -Wall -Werror -O1
++CXXFLAGS = -W -Wall -O1
+ backup.pb.cc backup.bp.h: backup.proto
+ protoc -I=. --cpp_out=. backup.proto
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake tokumx-enterprise-2.0.2/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake
+--- tokumx-enterprise-2.0.2.ORIG/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake 2016-11-21 11:15:27.422430426 +0000
++++ tokumx-enterprise-2.0.2/src/third_party/ft-index/cmake_modules/TokuSetupCompiler.cmake 2016-11-21 11:16:54.312434753 +0000
+@@ -181,8 +181,8 @@
+ endif ()
+
+ ## always want these
+-set(CMAKE_C_FLAGS "-Wall -Werror ${CMAKE_C_FLAGS}")
+-set(CMAKE_CXX_FLAGS "-Wall -Werror ${CMAKE_CXX_FLAGS}")
++set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
++set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")
+
+ ## need to set -stdlib=libc++ to get real c++11 support on darwin
+ if (APPLE)
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/third_party/v8/CMakeLists.txt tokumx-enterprise-2.0.2/src/third_party/v8/CMakeLists.txt
+--- tokumx-enterprise-2.0.2.ORIG/src/third_party/v8/CMakeLists.txt 2016-11-21 11:15:27.452430427 +0000
++++ tokumx-enterprise-2.0.2/src/third_party/v8/CMakeLists.txt 2016-11-21 11:16:27.876433437 +0000
+@@ -126,7 +126,6 @@
+
+ set(V8_CXX_FLAGS
+ -Wall
+- -Werror
+ -W
+ -Wno-unused-parameter
+ -Woverloaded-virtual
+diff -uNr tokumx-enterprise-2.0.2.ORIG/src/third_party/v8/SConscript tokumx-enterprise-2.0.2/src/third_party/v8/SConscript
+--- tokumx-enterprise-2.0.2.ORIG/src/third_party/v8/SConscript 2016-11-21 11:15:27.452430427 +0000
++++ tokumx-enterprise-2.0.2/src/third_party/v8/SConscript 2016-11-21 11:16:27.876433437 +0000
+@@ -47,7 +47,6 @@
+ 'gcc': {
+ 'all': {
+ 'CCFLAGS': ['-Wall',
+- '-Werror',
+ '-W',
+ '-Wno-unused-parameter',
+ '-Woverloaded-virtual',
diff --git a/dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch b/dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch
new file mode 100644
index 000000000000..d56f7745d1e9
--- /dev/null
+++ b/dev-db/tokumx/files/tokumx-2.0.2-undefined-reference.patch
@@ -0,0 +1,15 @@
+diff -uNr a/src/third_party/backup/CMakeLists.txt b/src/third_party/backup/CMakeLists.txt
+--- a/src/third_party/backup/CMakeLists.txt 2018-07-06 20:36:58.242767167 +0200
++++ b/src/third_party/backup/CMakeLists.txt 2018-07-06 20:37:31.575390786 +0200
+@@ -1,11 +1,6 @@
+ cmake_minimum_required(VERSION 2.8.8)
+ project(HotBackup)
+
+-# No implicit templates, since that's how mysql compiles.
+-if (NOT CMAKE_CXX_COMPILER_ID MATCHES Clang)
+- set(CMAKE_CXX_FLAGS "-fno-implicit-templates ${CMAKE_CXX_FLAGS}")
+-endif ()
+-
+ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
+ _FILE_OFFSET_BITS=64
+ _LARGEFILE64_SOURCE)
diff --git a/dev-db/tokumx/files/tokumx-disable-bundled-libs.patch b/dev-db/tokumx/files/tokumx-disable-bundled-libs.patch
new file mode 100644
index 000000000000..66d8db3980fa
--- /dev/null
+++ b/dev-db/tokumx/files/tokumx-disable-bundled-libs.patch
@@ -0,0 +1,11 @@
+diff -auwrN a/src/third_party/ft-index/CMakeLists.txt b/src/third_party/ft-index/CMakeLists.txt
+--- a/src/third_party/ft-index/CMakeLists.txt 2014-08-01 04:37:33.000000000 -0400
++++ b/src/third_party/ft-index/CMakeLists.txt 2014-08-01 10:38:28.134869689 -0400
+@@ -35,7 +35,6 @@
+ include(TokuFeatureDetection)
+ include(TokuSetupCompiler)
+ include(TokuSetupCTest)
+-include(TokuThirdParty)
+
+ set(TOKU_CMAKE_SCRIPT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+ include(TokuMergeLibs)
diff --git a/dev-db/tokumx/metadata.xml b/dev-db/tokumx/metadata.xml
new file mode 100644
index 000000000000..ffbb5d9f2c31
--- /dev/null
+++ b/dev-db/tokumx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ultrabug@gentoo.org</email>
+ <name>Alexys Jacob</name>
+ </maintainer>
+ <use>
+ <flag name="pax_kernel">Apply patch needed for hardened kernels</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-db/tokumx/tokumx-1.5.0-r2.ebuild b/dev-db/tokumx/tokumx-1.5.0-r2.ebuild
new file mode 100644
index 000000000000..ef1062ab8695
--- /dev/null
+++ b/dev-db/tokumx/tokumx-1.5.0-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_BUILD_TYPE=Release
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 pax-utils cmake-utils
+
+MY_P=${PN}-git-tag-${PV}
+
+DESCRIPTION="An open source, high-performance distribution of MongoDB"
+HOMEPAGE="http://www.tokutek.com/products/tokumx-for-mongodb/"
+SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
+
+LICENSE="AGPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="pax_kernel"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="!dev-db/mongodb
+ ${PYTHON_DEPS}
+ dev-libs/jemalloc
+ >=dev-libs/boost-1.50[threads(+)]
+ >=dev-libs/libpcre-8.30[cxx]
+ net-libs/libpcap"
+DEPEND="${RDEPEND}
+ sys-libs/ncurses
+ sys-libs/readline
+ pax_kernel? ( sys-apps/paxctl sys-apps/elfix )"
+
+S="${WORKDIR}/mongo"
+BUILD_DIR="${WORKDIR}/mongo/build"
+QA_PRESTRIPPED="/usr/lib64/libHotBackup.so"
+
+src_prepare() {
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}/${PV}-Werror.diff"
+ epatch "${FILESDIR}/${PV}-boost-57.diff"
+ epatch "${FILESDIR}/${PN}-disable-bundled-libs.patch"
+ cd "${S}"
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -D TOKU_DEBUG_PARANOID=OFF
+ -D USE_VALGRIND=OFF
+ -D USE_BDB=OFF
+ -D BUILD_TESTING=OFF
+ -D TOKUMX_DISTNAME=${PV}
+ -D LIBJEMALLOC="jemalloc"
+ -D TOKUMX_STRIP_BINARIES=0
+ -D USE_SYSTEM_PCRE=1
+ -D USE_SYSTEM_BOOST=1
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ pax-mark -m "${D}"/usr/bin/mongo
+
+ # Remove unnecessary files
+ rm -r "${D}usr/buildscripts" "${D}usr/scripts" "${D}usr/src" "${D}usr/include/db.h" || die
+
+ # Correctly install this python script
+ python_foreach_impl python_doscript scripts/tokumxstat.py
+
+ # Clean up documentation installed to /usr
+ pushd "${D}usr/" || die
+ rm GNU-AGPL-3.0 LICENSE.txt NEWS README README.md README-TOKUDB README-TOKUKV SConstruct THIRD-PARTY-NOTICES || die
+ popd || die
+ dodoc README.md distsrc/NEWS distsrc/README distsrc/THIRD-PARTY-NOTICES
+ newdoc src/third_party/ft-index/README-TOKUDB README-TOKUKV
+}
diff --git a/dev-db/tokumx/tokumx-2.0.2-r1.ebuild b/dev-db/tokumx/tokumx-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..866bdec8d243
--- /dev/null
+++ b/dev-db/tokumx/tokumx-2.0.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_BUILD_TYPE=Release
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 cmake-utils pax-utils check-reqs
+
+MY_P=${PN}-enterprise-${PV}
+
+DESCRIPTION="An open source, high-performance distribution of MongoDB"
+HOMEPAGE="https://www.percona.com/software/mongo-database/percona-tokumx"
+SRC_URI="https://www.percona.com/downloads/percona-tokumx/${MY_P}/source/tarball/${MY_P}.tar.gz"
+
+LICENSE="AGPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="pax_kernel"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="!app-admin/mongo-tools
+ !dev-db/mongodb
+ !dev-libs/mongo-cxx-driver
+ ${PYTHON_DEPS}
+ dev-libs/jemalloc
+ >=dev-libs/boost-1.50[threads(+)]
+ >=dev-libs/libpcre-8.30[cxx]
+ net-libs/libpcap"
+DEPEND="${RDEPEND}
+ dev-util/valgrind
+ sys-libs/ncurses
+ sys-libs/readline
+ pax_kernel? ( sys-apps/paxctl sys-apps/elfix )
+"
+
+S="${WORKDIR}/${MY_P}"
+QA_PRESTRIPPED="/usr/lib64/libHotBackup.so"
+CHECKREQS_DISK_BUILD="13G"
+
+src_prepare() {
+ eapply "${FILESDIR}/${P}-no-werror.patch"
+ eapply "${FILESDIR}/${P}-boost-57.patch"
+ eapply "${FILESDIR}/${P}-gcc-7.patch"
+ eapply "${FILESDIR}/${P}-undefined-reference.patch"
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DTOKU_DEBUG_PARANOID=OFF
+ -DUSE_VALGRIND=OFF
+ -DBUILD_TESTING=OFF
+ -DTOKUMX_DISTNAME=${PV}
+ -DLIBJEMALLOC="jemalloc"
+ -DTOKUMX_STRIP_BINARIES=0
+ -DUSE_SYSTEM_PCRE=1
+ -DUSE_SYSTEM_BOOST=1
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ pax-mark -m "${D}"/usr/bin/mongo
+
+ # Remove unnecessary files
+ rm -r "${D}usr/buildscripts" "${D}usr/scripts" "${D}usr/src" "${D}usr/include/db.h" || die
+
+ # Correctly install this python script
+ python_foreach_impl python_doscript scripts/tokumxstat.py
+
+ # Clean up documentation installed to /usr
+ pushd "${D}usr/" || die
+ rm GNU-AGPL-3.0 LICENSE.txt NEWS README README.md README-TOKUDB README-TOKUKV SConstruct THIRD-PARTY-NOTICES || die
+ popd || die
+ dodoc README.md distsrc/NEWS distsrc/README distsrc/THIRD-PARTY-NOTICES
+ newdoc src/third_party/ft-index/README-TOKUDB README-TOKUKV
+}