summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin17973 -> 17970 bytes
-rw-r--r--dev-db/db-je/Manifest4
-rw-r--r--dev-db/db-je/db-je-3.3.75.ebuild26
-rw-r--r--dev-db/db-je/files/db-je-3.3.75-optional-test.patch4
-rw-r--r--dev-db/mariadb/Manifest4
-rw-r--r--dev-db/mariadb/mariadb-10.2.29.ebuild986
-rw-r--r--dev-db/mariadb/mariadb-10.3.20.ebuild982
-rw-r--r--dev-db/mongodb/Manifest6
-rw-r--r--dev-db/mongodb/mongodb-3.6.14.ebuild14
-rw-r--r--dev-db/mongodb/mongodb-4.0.13.ebuild13
-rw-r--r--dev-db/mongodb/mongodb-4.2.1.ebuild13
-rw-r--r--dev-db/mysql-connector-c++/Manifest10
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch329
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.18-fix-build.patch275
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild38
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild40
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.18.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-8.0.17.ebuild)4
-rw-r--r--dev-db/qt5-sqlcipher/Manifest4
-rw-r--r--dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1_p20191025.ebuild (renamed from dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1_p20181221.ebuild)15
-rw-r--r--dev-db/sqlite/Manifest2
-rw-r--r--dev-db/sqlite/sqlite-3.29.0.ebuild2
21 files changed, 2297 insertions, 474 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index e25957002cdc..51a90e82d81d 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/db-je/Manifest b/dev-db/db-je/Manifest
index af94ccb4313f..62859bdfc218 100644
--- a/dev-db/db-je/Manifest
+++ b/dev-db/db-je/Manifest
@@ -1,4 +1,4 @@
-AUX db-je-3.3.75-optional-test.patch 1791 BLAKE2B 40c45dd4b65121a06fe180e6c9c23e2494438b504e108bc5b015cfadb21dc34c0b3e90eff3c17abf549d62ecfd595186d228f2bec65d44846d65b9d4059b95bc SHA512 a33e2ae28fa121c68990b44f5441685d50b025db784d07ee6fb78ae9a19ec8c10ee1ec91fb0296507a94792fca86b9a54b5a3e8fd1c0e076f5dc6c0c28cceb1a
+AUX db-je-3.3.75-optional-test.patch 1791 BLAKE2B 6996ecbb517a7a23ff7a437a3a1bf057eff5911020e4ce420912d6855527f2702db89fa915bbafb8d6735f057df0450256a08a667f79ad260189309e95148c22 SHA512 046498b963635e806552ddc9e3043caa3e90ce743b3542508b6e59c56bd4b7a07ecddb68c4631fdcdea60c7c64629731e301296a30120d3f382fa850bc344a3a
DIST je-3.3.75.tar.gz 5179709 BLAKE2B 9bc8382ad2bf54efd1a235115972761ecc38e2f641a6722623c7d2806e6eb2e2dbe65bf91e899844641365fb144fe73e021d70c02f12343e6dccb998426c229e SHA512 e28648459a3a7dcf98e8865e6859544c656c3b58688b244df568cc8c006a74dda79aadfbfb279e099c1376914cca064734da490998a864c1bd2cc3209bc64ae4
-EBUILD db-je-3.3.75.ebuild 924 BLAKE2B 5fc910141644f454af0c1b029ac06730403027f3140f5734feb887a7d8599f067f5b4908f41a39528d310f22e85764cc4a09c2ab050c80e39fe4f792d86c960e SHA512 f951bcb9268e122d1718e7ecc360ab0aa17f61859735090f87991aaf3547af7ba6a9d3d7c9011d8fdf342c9e5a66e7e9f83d563bb4d19889852605d54fef818c
+EBUILD db-je-3.3.75.ebuild 932 BLAKE2B f539d68c7eb4667e6b927f0231aac4b53d622a9d1e7a770ebce2084b16e1abe0a3177a010df80f057349e6863cd2c46f5841131c248b256af983648307c478b6 SHA512 254ebbffe0bc1da2c645538a1dd381206e16497d01d8fc80ec4824f379d6eea43a164f21dd28fe2fe914adf7f967a38681891496a945fb2448a83d50dbd4bd41
MISC metadata.xml 352 BLAKE2B 8390000455654697f473905c14903172230b9667fd16c4db74dd32643b096cb7c8efa21f8614b30d676fb32e052a76c613298e2a28c362d6135f61a4fe27c242 SHA512 a3c6ce3cd97b39644238700277dd416e1ee79df975184de3429810ca4d77f7160112adef6a9b56f77243a003187f6642798b278cf8501d55da766ccfbaa861cf
diff --git a/dev-db/db-je/db-je-3.3.75.ebuild b/dev-db/db-je/db-je-3.3.75.ebuild
index 4e4723e4f4ce..943c9c9fd986 100644
--- a/dev-db/db-je/db-je-3.3.75.ebuild
+++ b/dev-db/db-je/db-je-3.3.75.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
JAVA_PKG_IUSE="doc source"
@@ -9,30 +9,30 @@ inherit java-pkg-2 java-ant-2
DESCRIPTION="A high performance, transactional storage engine written entirely in Java"
HOMEPAGE="https://www.oracle.com/database/berkeley-db/java-edition.html"
-SRC_URI="http://download.oracle.com/berkeley-db/${P/db-/}.tar.gz"
+SRC_URI="https://download.oracle.com/berkeley-db/${P/db-/}.tar.gz"
+S=${WORKDIR}/${P/db-/}
LICENSE="Sleepycat BSD"
SLOT="3.3"
KEYWORDS="amd64 x86"
IUSE=""
-DEPEND=">=virtual/jdk-1.5"
+DEPEND=">=virtual/jdk-1.5
+ dev-java/ant-core:0"
RDEPEND=">=virtual/jre-1.5"
-S=${WORKDIR}/${P/db-/}
-src_unpack() {
- unpack ${A}
- cd "${S}" || die
- epatch "${FILESDIR}"/${P}-optional-test.patch
- rm -rf docs
+EANT_DOC_TARGET="javadoc-all"
+EANT_EXTRA_ARGS="-Dnotest=true"
+
+src_prepare() {
+ default
+ eapply "${FILESDIR}"/${P}-optional-test.patch
+ rm -r docs || die
cd lib || die
- rm -v *jar || die
+ rm -v *.jar || die
java-pkg_jar-from --build-only ant-core ant.jar
}
-EANT_DOC_TARGET="javadoc-all"
-EANT_EXTRA_ARGS="-Dnotest=true"
-
src_install() {
java-pkg_dojar build/lib/je.jar
use doc && java-pkg_dojavadoc docs
diff --git a/dev-db/db-je/files/db-je-3.3.75-optional-test.patch b/dev-db/db-je/files/db-je-3.3.75-optional-test.patch
index e8f7600398e2..ac23185c2ba8 100644
--- a/dev-db/db-je/files/db-je-3.3.75-optional-test.patch
+++ b/dev-db/db-je/files/db-je-3.3.75-optional-test.patch
@@ -1,5 +1,5 @@
---- build.xml 2008-06-11 05:25:20.000000000 +0200
-+++ build.xml.new 2008-08-22 15:59:53.000000000 +0200
+--- a/build.xml 2008-06-11 05:25:20.000000000 +0200
++++ b/build.xml 2008-08-22 15:59:53.000000000 +0200
@@ -102,6 +102,7 @@
<path id="empty.classpath"/>
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index efe07de7f0dc..b49e56dfe014 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -10,8 +10,10 @@ DIST mariadb-10.1.41.tar.gz 63615288 BLAKE2B 91ebc6d24c80ad9651c42a2f4553ce3ec3b
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
DIST mariadb-10.2.26.tar.gz 73037655 BLAKE2B 54fd27959960736bffe0eeacc913b9aed0407d1be7a60d3035a1b84cbe8066aa1551c1c82a1b90b824debf85faaa9d11e3de29634a0108bc04bc17ca5c2a9d7c SHA512 1eaac1c1dda1017b64249d39d872729d3140d81653240c54f688f64440b1775e5f3a7c5a8486075fa1799411dfb0c2c09b7c1dbb46d95675572d90127048c124
DIST mariadb-10.2.27.tar.gz 73068579 BLAKE2B 7e4ae229040b3136ad107979864bc391556c1ba83847addd89e09f3757cd01203503e07832abe496a7f560048ed704f273607da3a114afa59ceb13cbb3b89c14 SHA512 9ea7ea30f964d022d16c662c18ac40ea50ef5b6592d02ba739ad81f9dfa9e60be90ea6d4706b43b07402c4cbc8c0280633b6e21bda6daf5bbc1d3c540993e4d6
+DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8
DIST mariadb-10.3.17.tar.gz 71894997 BLAKE2B 8e04302f67a99c28751f9970b7e8dfc5ada0583fdabc416e0469e23fa93d22dae8b79e762ef14ca65957e22ec310a290b15d33746f6f2e7287f922803e6a6826 SHA512 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e
DIST mariadb-10.3.18.tar.gz 71950543 BLAKE2B d157426781713f19470004d80c587019e12c875d0958e5077ca373d856a8f1214be01dbc2a50fd5a754eaa91e727179bea70ee2a3133a219209cb819108c8940 SHA512 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242
+DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3
DIST mariadb-10.4.7.tar.gz 78155161 BLAKE2B b2c92093438b3574e494bda2180f4a2b5cbe10bac1c46acc45b5303fb4c2a1ca54f3ea88d138ab9cbb492460171dde86f3c21e5873d964b15c6c064e2e6eb47f SHA512 cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
DIST mariadb-10.4.8.tar.gz 78262897 BLAKE2B 357dfd8db702d30c30173cb4ee0bbbda8e54a77a8f726cdc529cbaeebd390fe11fd05c108dde54b029b7e311ebbf9a610dc2c6e4015c9a198d816deaaec5831e SHA512 1aa7117734f4ebeb08395289ff1295e1d2ed2f89e8ccf3224cd60afaf2be56f81e8f0448e7619eeb6c858355a2b1e224efe42a0f400941f138342318adb66c42
DIST mariadb-5.5.65.tar.gz 45957577 BLAKE2B 9ed27349d008d2001ed4059370505064918ef3586f89157f5f28892bceabd3073b7070f4054c0a700f1504dde3a4077e274111d5b8cb3713bc5db0910b752628 SHA512 5dbaa2ba7a829a0d5ae6ab8394c31a58753cd93da2637cd83d1e055e78b0796d63214418ddc91a65cefdd791aad4f01b0743aa8c7c40ecbb404cb81fd0138443
@@ -23,8 +25,10 @@ EBUILD mariadb-10.1.41-r1.ebuild 29914 BLAKE2B f416edb6e9d3768cf76197d42af13c43f
EBUILD mariadb-10.2.22-r1.ebuild 32513 BLAKE2B 4ad7714945e8fa176bfb1634c088b67700277c6421ff831fae5b2a9b2100d4403f77007e4e2f621852341414b7fde78cc11aa39a768bdafc5e011f6ffccea8d1 SHA512 5056956f48909865cb06d7e5c6a874748087d63f0a4bd509e08706607c37a2fd45aa7ffb1c88666bb9f7cd30be888da128b011fd61f633a29ba10a4a7b7510c9
EBUILD mariadb-10.2.26-r1.ebuild 32911 BLAKE2B 8f170cf9e7542e99dff750f43f1e21d49b991a45975ea2af85c8745fd8131d7099d028c63b48c727196dae20f808511e00bc1860ade21266df3b4eb47005622c SHA512 2d742e303b859de8887d8cc272dc42121e29e4316599cc35f0f366bb8dc934bc5bb58408f492c08dc5da89937867f2b2fb870b56a23a0c04f5af2fbf7a7ab137
EBUILD mariadb-10.2.27.ebuild 32885 BLAKE2B 4be09b5a7e829ea71a74b1b3f4a4d46997bd594aff84ac95507963582c4ff59c8644f16d2c8ffccc4c67b6347f06af2c7fcf99252f4de08b2672f3bd60fa17d1 SHA512 6c4f868dfbe90af18dbf8f3ab885c2978de2ce5a06ac1b2aeb914b4319e9a268f3536052845f73859f06b8e0eb9d0461f188e77553ba8a3b2c4943d3824ab6b1
+EBUILD mariadb-10.2.29.ebuild 33107 BLAKE2B 1551c19ed2fb6ec140e661f22c8ee6b833ee4e919424102cb66906daf39a9cc79fe250febe622a74ce6ad9dcf4fc7d7a0794461c80d88298f614a8a1eca6581b SHA512 203baf92f5c63243e1f541caf88f09f3a418f34d327c521b85804bd3666c792aaca0a8382788a565256b7ab9a7bdb7eaf222ade3707159021bb3c59fb3c08e27
EBUILD mariadb-10.3.17-r1.ebuild 32536 BLAKE2B 9cc37e244e7957c0cce7d69b32d57fef35dad5447251109816740d1adb1bebd70a59ffa993c56c9ba4d778427274a89aa0a1b7d40bb912acf72576d896c065e5 SHA512 e96829712849602fc312fec76e473b382c3048623e10594ba6bba8450bcc6eb33e1e017815d60e7b98bb1baeaadf997163147660a4b178e5e729d6cfcf77e02c
EBUILD mariadb-10.3.18.ebuild 32487 BLAKE2B d4e707dc8f24f77db7334cd8434c0acab89d8e8ae93b10e9f11dd954e588f19edd95b99027511fd5960cc6720edb8e8fd92fdd65185317fc6d72e2d8af9d5d78 SHA512 7e3828aba1f0abf2fc9a00f229269c1b0d04a48cae22954204c901adb31e140632db1c6332e74642440c28a75ce65fd8123a4fea1f44d0f6f127a1c0d1454674
+EBUILD mariadb-10.3.20.ebuild 32567 BLAKE2B 3683b2b23a0cddd5aa6d54cd7f3569aba7c3f7b5cc92a9bea6ee987bc648852fe5646c5b70d8a193b1751f9077b89be89974032bd63a271d0a139fe86d10d5a8 SHA512 877a8de786e8636c97cd01b2ebabdd05b8a375c13fdd56f9568883877c7bfd2157815c6201eb22b92622b5baf62fdada1947847730cb3ab060b39f20ac937cfb
EBUILD mariadb-10.4.7-r1.ebuild 33153 BLAKE2B f91b914f35ec3c18d1594b7bd50c87543574da155ae1ef90ff43f2ebe0444c1c5d5d2e27f28a94ea250db77815abce03b4de37de19a55dd9476ee1ff5676d7ac SHA512 a83c7d8cf1eee3978413e3dd431d19e9b3ca8a4d1925f9d2eb5ff80b861cf6f94dea75986b705398fa57dab7920eb2144f4d129dc32848af352c56c84fc7d74c
EBUILD mariadb-10.4.8.ebuild 33104 BLAKE2B e85f027d79c9a5160222d03761a9e587630f6c91ad29a30556e9c8ed61ae4d35f0d2fea5f17b49dc53cea0786fa6fdb6a4485ea517441075719c08cc1522e62f SHA512 7d57de155a5cdc8e79def3a12f8171d1358836e2460c8a14c878cd7686a2bbe6049a7a498fcbe94111a1d9c0c1bf202031408d81631f412696cf8cbaddd1a798
EBUILD mariadb-5.5.65.ebuild 27246 BLAKE2B d8dcf8273a8f6b30c5ad4b9e00d3ae0aa81c3d90473039b7cf2308e8f97f70a1e0c7e163ac6f101e8d8f94e8844f6284625d35be1540c477b5347c67a873fec4 SHA512 b1c9f150e37eba6e2fb847f627dd1d0bf86eb5d3c17304268eef3e54e166fd0e2320b2caf024037233462ba9a38ffba5b76684046cff022de1d4c222bdc30aea
diff --git a/dev-db/mariadb/mariadb-10.2.29.ebuild b/dev-db/mariadb/mariadb-10.2.29.ebuild
new file mode 100644
index 000000000000..df420dcf7436
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.2.29.ebuild
@@ -0,0 +1,986 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20190305-2052Z"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ java-pkg-opt-2 user cmake-utils
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+ "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( sys-libs/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.41-r1:3=
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ !<virtual/mysql-5.6-r11
+ ${COMMON_DEPEND}
+ server? ( galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-25*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ sst-xtrabackup? ( net-misc/socat[ssl] )
+ ) )
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
+ server? ( ~virtual/mysql-5.6[static=]
+ galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+ java-pkg-opt-2_pkg_setup
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if use sst-xtrabackup ; then
+ ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
+ ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
+ ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
+ ewarn "sst-xtrabackup is being removed in 10.3 and higher."
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR%/}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ local malloc
+ for malloc in jemalloc tcmalloc ; do
+ if use ${malloc}; then
+ echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt"
+ fi
+ done
+
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Don't clash with dev-db/mysql-connector-c
+ sed -i -e 's/ my_print_defaults.1//' \
+ -e 's/ perror.1//' \
+ "${S}"/man/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ cmake-utils_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure(){
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_JEMALLOC=$(usex jemalloc system)
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=share/mariadb
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ _disable_test "$t" "False positive due to varying policies"
+ done
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ _disable_test main.gis_notembedded "Needs latin1 USE set"
+ _disable_test main.plugin_auth "Needs client libraries built"
+ _disable_test plugins.auth_ed25519 "Needs client libraries built"
+ _disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration"
+
+ # Likely environment issues as only number of clients connected fails
+ _disable_test rpl.rpl_semi_sync_uninstall_plugin \
+ "Fails intermittently on parallel testing"
+
+ _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1"
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
+ local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
+ fi
+ if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see https://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR}/mysqld-help"
+ "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]]; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
+
+ local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR}"/mysql_install_db.log 2>&1
+ if [ $? -ne 0 ]; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT}/usr/sbin/mysqld \
+ ${options} \
+ --log-warnings=0 \
+ --basedir=${EROOT}/usr \
+ --datadir=${ROOT}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]]; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ if [[ -n "${sqltmp}" ]] ; then
+ ebegin "Loading \"zoneinfo\", this step may require a few seconds"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -uroot \
+ --password="${MYSQL_ROOT_PASSWORD}" \
+ mysql < "${sqltmp}"
+ rc=$?
+ eend $?
+ [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
+ fi
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/mariadb/mariadb-10.3.20.ebuild b/dev-db/mariadb/mariadb-10.3.20.ebuild
new file mode 100644
index 000000000000..35694b80036f
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.3.20.ebuild
@@ -0,0 +1,982 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20190305-2052Z"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ java-pkg-opt-2 user cmake-utils
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.3.12-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+ "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( sys-libs/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.41-r1:3=
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ !<virtual/mysql-5.6-r11
+ ${COMMON_DEPEND}
+ server? ( galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-25*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ ) )
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
+ server? ( ~virtual/mysql-5.6[static=] )"
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+ java-pkg-opt-2_pkg_setup
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Don't clash with dev-db/mysql-connector-c
+ sed -i -e 's/ my_print_defaults.1//' \
+ -e 's/ perror.1//' \
+ "${S}"/man/CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure(){
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+ fi
+
+ # Remove mytop if perl is not selected
+ if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
+ rm -f "${ED}/usr/bin/mytop" || die
+ fi
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ _disable_test "$t" "False positive due to varying policies"
+ done
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ main.mysql main.gis_notembedded \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ _disable_test main.plugin_auth "Needs client libraries built"
+ _disable_test plugins.auth_ed25519 "Needs client libraries built"
+
+ _disable_test main.func_time "Dependent on time test was written"
+ _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1"
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
+ local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
+ fi
+ if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see https://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR}/mysqld-help"
+ "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]]; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
+
+ local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR}"/mysql_install_db.log 2>&1
+ if [ $? -ne 0 ]; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT}/usr/sbin/mysqld \
+ ${options} \
+ --log-warnings=0 \
+ --basedir=${EROOT}/usr \
+ --datadir=${ROOT}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]]; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ if [[ -n "${sqltmp}" ]] ; then
+ ebegin "Loading \"zoneinfo\", this step may require a few seconds"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -uroot \
+ --password="${MYSQL_ROOT_PASSWORD}" \
+ mysql < "${sqltmp}"
+ rc=$?
+ eend $?
+ [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
+ fi
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index 2ad267d36427..c5d170e9afcb 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -21,11 +21,11 @@ DIST mongodb-src-r4.0.13.tar.gz 50006727 BLAKE2B bf47bd32cf50c24084091a1baa81169
DIST mongodb-src-r4.2.0.tar.gz 60781115 BLAKE2B 75531f69647c84f71127d4cdccf13bc21e50586240c767b4c1aa1efbf56cf008bf4f32b3a2011120ad9099da0f97be934375b8dd3d012670034327175c454f0e SHA512 be2f4e00364ac49b1a0490fa859640680a4d10d861252d200bd3db535c770a3b97cee9de6d2b0b6b3622502d055ba92b6c1d88cb1134d251aa2cf50a8951b64c
DIST mongodb-src-r4.2.1.tar.gz 60922510 BLAKE2B b06141cf0a8d256fc24e64c7115093009f42a97c74d270997ad4a70fb040199db05c5083cf1639283cc253264fbeb975d7efe3a41227d75146d7aa2e2fb9fa12 SHA512 6057f68ebeb2d5f74e70639fcc08aecfb112d386e3d016e18dfb2413319abf46249a0f5ffcfb74be9264a2ef34f45dd96f9774d86b1ec7e7213276f1c84f3106
EBUILD mongodb-3.6.13.ebuild 4230 BLAKE2B b2d7e960c5d6a4dc9e4f882d999446eb9ab4e8a1128a513e87e1d119ade30197aa1941e75632d32f1adee32e9a6d0b659f32ad64adc1f0472982885ef303479c SHA512 70e382660c6ceca1bcd53beb41656add3d16c3fec27108864423e7eeeadef90cb4fe7d9b992af6d24b362a2a614b95171a22585eb9addf2f22c177dd65e4a635
-EBUILD mongodb-3.6.14.ebuild 4231 BLAKE2B d285158017e7495ab091797ff655f86f192558eeb483863fa2307f4da26299b093ac1329c9a80560a2921134e573e1f23c249240c88e15ccb818e6bcf6433e53 SHA512 372a006e05788a405e9aae7363d12d4019974a2957be9f1c730fa10d93d1eb4374c01c252f3d286a76917f3e9fc3e7058ad33f586523fe9f7e96150ea5a8d4a8
+EBUILD mongodb-3.6.14.ebuild 4216 BLAKE2B f61802d40a82cefcd1006c2f3c069690eb6bf6cb42129d02f164df5066573a82d7f87146eca68ae16738b4f22f9b51b65088188088d594abe2b7b343ac3b9c2c SHA512 ef381b59444c55e147c2af37dde25ce145e4a385153c364ef65d0895b08988e3f2e80b3db24acb6187103875a82c31fa5318a4dc89cac83d7d037248945e361b
EBUILD mongodb-3.6.8.ebuild 4197 BLAKE2B d28a62156019eaeab2d0fa8b4de5c5589e96c955145f283d810ba58c906d01e6447d74b08fc8037e2ebfff9b43dea38c3f6d5b28615e322ebee892bbe9c97d3a SHA512 90c2f9937355bed8d110044a89a7a5a3980c236b0e33b67457c3bc3ffce2ba3dc730dd55b977667cdd43ff07ecec4489183cee50e8e0e2a618ee2ec3e4fe82ef
EBUILD mongodb-4.0.10.ebuild 4231 BLAKE2B 981c770cdbde22763fa8f4c7be235de7e8d312b1a1b1b6e688de557201cd0c265405b4bd8e5415d9e845618abdd0156bb594036376185ec57caa02cbe7b7ef56 SHA512 9e8153cd872408325dd0941f7e2fdffef09e6b1bd24dd8cf297821fdeb94098c1096df1a722db8e282db18a3bff0f95ce672cc3a3243801cbe3408135094c91a
EBUILD mongodb-4.0.12.ebuild 4291 BLAKE2B dedfea39b0454fd1d4c13fe96c032845d8c951f75bcb6bc85bac84fbd1d6577e415cf817fddf5a6fab50e958b01dbdb467bcb1d33f4a3f1652efee2eacf745c3 SHA512 d0ec6aa07bb7a46b54ce43e4dccb599149e6e67dea4ecd7a85ff7332d515b802e7cf14f5dfc384e1c37820d9503913082bb0699bee37f6ab5308b12c8c26c5af
-EBUILD mongodb-4.0.13.ebuild 4292 BLAKE2B 083dfd2200179cecda627ea545d4d0e5c7f26b7f0c5f4c0bfaf030d666b4cb1ee476056ab494b7e1dbf3678848e8a68f58a00d618f16b1d511954f028bf6bf8c SHA512 76d5a91f4530754698084c273115cdd7932edd0c8045148bd575c9d03cf73f8aa70ad28e4b0e826232cab37637d8af9353f7ff13e6cfe0f8beea43d6951a7ed5
+EBUILD mongodb-4.0.13.ebuild 4217 BLAKE2B 8de92d34b4d0b1b0b750d7d65bf89140e84e56af16b81dfe81648a1036cd82eb8be9023aa90893ad9e8ca6185630393d11f726ed1efb405819859c355e9e88fe SHA512 73855a9a943d3938a67c5ca28900582246ac430e4e097ca61418a38b00b1874082b6fe2fb94e3805227fe06e58c9ced2dc94702bbb59cd80990f4f87fffd8aca
EBUILD mongodb-4.2.0-r2.ebuild 4333 BLAKE2B 0ec1ff9596f0840de62c4ef6844aa0f38fd01a4f0de1c9a9545bb9de991482fae3ee398f3cec39367457c92758f442414986914354dbe8cd8d5bf3b34b37ccbd SHA512 01f7426d86a90f3e52b0310c260ce738b77c31baf01f3634734e41c978fa0123946c269834e12af93f4fe748d3019782d234a30c7a327a3814c3f7ef63d42a5d
-EBUILD mongodb-4.2.1.ebuild 4278 BLAKE2B 1e5ee63d8c5eb814ddd3df7f298d5ba0ec7cfda7d5eb9a3dfebb44fa7cded350d2b4ef392254aee1af95787cd9bba4cca76540f01218c1d55658ba7e0e05812f SHA512 1e94249d45d6c4d41bb5b8d91b68223d52d50f5cbeb3df129e8391b7a716eeb837f18f14ad61668f0910b77e31d257591b1c330f30085babab56c5a966e6529e
+EBUILD mongodb-4.2.1.ebuild 4203 BLAKE2B 16394f58bbe5fb5b8ce63b8b7e5c8d4c8fdceab48aaf9fa8b982cb2a117de077f791db6249937f3ae15db477fcf90410b444676b86ba59f0bb79cba429d54262 SHA512 1be7c415208cedb6ed60294da3f034e02a94e4085421e328d745781ad3a9b3e8672fa1489af240e1d66ee7c1943c56df9dcfb60d1782bb6205d8d01a8da9ac87
MISC metadata.xml 901 BLAKE2B f7fde58679ba05518634b82bf5fcc371897165364fe5b023a2ec161790c869de82b4a3dd769d5e1bb450f99679869b60bb1e35beb8d41c54d3448dfca580a7ae SHA512 48f133d396aa31b992bac5f947e5a262b2d07a1016c6d49fa3c86dabb85981edfa332abb867413826762d88051ff3981cc77c2ec92e992d7a231c3b542336e36
diff --git a/dev-db/mongodb/mongodb-3.6.14.ebuild b/dev-db/mongodb/mongodb-3.6.14.ebuild
index a1ca3bf944f8..b63d5ceeb560 100644
--- a/dev-db/mongodb/mongodb-3.6.14.ebuild
+++ b/dev-db/mongodb/mongodb-3.6.14.ebuild
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -23,7 +23,9 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
-RDEPEND=">=app-arch/snappy-1.1.3
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3
>=dev-cpp/yaml-cpp-0.5.3:=
>=dev-libs/boost-1.60:=[threads(+)]
>=dev-libs/libpcre-8.41[cxx]
@@ -54,6 +56,7 @@ PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
PATCHES=(
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
"${FILESDIR}/${PN}-3.6.1-no-compass.patch"
+ "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch"
)
S="${WORKDIR}/${MY_P}"
@@ -70,13 +73,6 @@ pkg_pretend() {
fi
}
-pkg_setup() {
- enewgroup mongodb
- enewuser mongodb -1 -1 /var/lib/${PN} mongodb
-
- python-any-r1_pkg_setup
-}
-
src_prepare() {
default
diff --git a/dev-db/mongodb/mongodb-4.0.13.ebuild b/dev-db/mongodb/mongodb-4.0.13.ebuild
index d549bea6ba8f..74236bf4fa1e 100644
--- a/dev-db/mongodb/mongodb-4.0.13.ebuild
+++ b/dev-db/mongodb/mongodb-4.0.13.ebuild
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -23,7 +23,9 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
-RDEPEND=">=app-arch/snappy-1.1.3
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3
>=dev-cpp/yaml-cpp-0.5.3:=
>=dev-libs/boost-1.60:=[threads(+)]
>=dev-libs/libpcre-8.41[cxx]
@@ -71,13 +73,6 @@ pkg_pretend() {
fi
}
-pkg_setup() {
- enewgroup mongodb
- enewuser mongodb -1 -1 /var/lib/${PN} mongodb
-
- python-any-r1_pkg_setup
-}
-
src_prepare() {
default
diff --git a/dev-db/mongodb/mongodb-4.2.1.ebuild b/dev-db/mongodb/mongodb-4.2.1.ebuild
index 3feef0be5a7d..cdd1a9ed1be5 100644
--- a/dev-db/mongodb/mongodb-4.2.1.ebuild
+++ b/dev-db/mongodb/mongodb-4.2.1.ebuild
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -23,7 +23,9 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="debug kerberos libressl lto ssl test +tools"
-RDEPEND=">=app-arch/snappy-1.1.3
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3
>=dev-cpp/yaml-cpp-0.6.2:=
>=dev-libs/boost-1.70:=[threads(+)]
>=dev-libs/libpcre-8.42[cxx]
@@ -71,13 +73,6 @@ pkg_pretend() {
fi
}
-pkg_setup() {
- enewgroup mongodb
- enewuser mongodb -1 -1 /var/lib/${PN} mongodb
-
- python-any-r1_pkg_setup
-}
-
src_prepare() {
default
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index c166424c156e..c166fc6d06e2 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -3,20 +3,16 @@ AUX mysql-connector-c++-1.1.11-fix-cpp-linking.patch 440 BLAKE2B 2b78f683c8e4645
AUX mysql-connector-c++-1.1.11-fix-mariadb.patch 1939 BLAKE2B 4ca552777bfcb8671e5dc0213c411f9e1e8fbcbeb0f9f3369572c82ba03304a9df2ab98725b1fb3a365a63e4c8ed9d3d86332c54ffcb14210469b3d6078d89da SHA512 3d02972b57a0c2a544edef9ec5050c82f9214a7013e941cdc13a8f0742b7608812f33bc0c84367e70ea556562efb653297730ce5fc8d928458c5af1d71f3f60a
AUX mysql-connector-c++-1.1.6-fix-cmake.patch 762 BLAKE2B 4cecebd2cb075c6e1af7ab74a84132f41beeeb202d4d286038b05cbbb202cef709e7114563bdbee12aab4e6a738a9e23bbb9455fc1ce0f906d952af4e0042f05 SHA512 c4c89b398aa88a9e7b4ed4cf42b055b79670dc70685775afd1ef2d683e5b3754575c831a6083ef0d097431e796513597e1daf7737e3ade710abad917f63ed32f
AUX mysql-connector-c++-1.1.8-fix-mariadb.patch 1939 BLAKE2B f2d2528cacfa4457c20587557e5125f9d642ce162319ba6b077173b5407319d8d07e6b525a5fb95e797d43a3ad4e9ceb111ebd07a52cf38df1db71b9b4f2ab4c SHA512 66e4783b2ad2db463b243d2fcd7c4f89f1ddbb02f6c5711adb09b402bb448e4ee69b50f635c60201cf63048aebaea25b5db6a18f46b35b25e8d7920dbcfde9bd
-AUX mysql-connector-c++-8.0.13-fix-build.patch 10931 BLAKE2B aeeaa25d76073525a45b7b4bd5b51b6bfa151b7c20f9e563ff98673b5273ad84a3ef9c2ce26f17b175f1038ab4924187ec2e2d059f2052855d8875823ee762bd SHA512 a965e2a475e7802e8a0dd64c39b6e0f9996b9c1c49d647c26cefac33bf52afceb012c7b0acad383006152fb52d94ffb5481d4be9b2ba957776529df842370ffb
AUX mysql-connector-c++-8.0.15-fix-build.patch 10052 BLAKE2B 11c37dcfaf64783bddb05f15a4a31a41123904bbdc39d7bff3f314f30c5e6fb56bf4890fd6aefc824bee2b39e9c8ac28f42c96d4a752695109ff9a1fd0176773 SHA512 fdc38272ff584d7ec3cfb2b014693102654b59f4864b68866455fdfaca171d1e4cbe800a06d2dd2c5975d47cb8d88211219c8201fbd571177c8c35c5e9055840
+AUX mysql-connector-c++-8.0.18-fix-build.patch 8968 BLAKE2B 1a738d7ca5e291e5dc17ddcf0f316e0b4588a0e01a4b3fe2b4961e7d082aca6a61870c43f4821a69aca1bfc5ae5777b837440d5863fd6a45d190b425adde20e4 SHA512 ef226d90d2d968e4e7aed3852c8ae8e608b383adbdc81818d1ca8ea1646b5d034db2fa8fb62ab6ffa3095362d326d2a11519782d5541965bacea3ecddb475a2b
DIST mysql-connector-c++-1.1.11.tar.gz 504872 BLAKE2B 16a265ce291d18d3e76f6654b42271d8c6cc9329f047d9eb0c6cdfaea37e1c13f04932e595e4333882b26154f0940949bc9bdab9d8af8e25d2bfff43be0030fa SHA512 d6839ecda12d1f088f24b20c08f3e9a757e9907d3375dba39e0f247b6a11de59817739644201e74d782d4c900aa18bf60910fe60a9ee98a2c0138104fb55dc22
DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4
DIST mysql-connector-c++-1.1.9.tar.gz 508255 BLAKE2B e2cd300946a873a94beab13d9d1cb64ecb5bd9a9a56ef2217b1f7aff1643adc9afc0aa22c2ff1e0f6b8318cd34d12a7fe95f0584c96c212307fa9bd0cb54a2a1 SHA512 ec4d6cb7f21d52e786de3bff951e65ea5ad7391ba097b599d0094d3e8356cf17f700dee618e38e79d7a9e562684a6c51cca95fb8e2e225942766d33f8d0a5646
-DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B a1ea47c0440beae1892144186ad6b99a4519369845e1f37f5ce42088df6c29a458bd41840a1f9401dbd29827bc3a7c96ba34563a3a4cf3176e29e377cc254b9f SHA512 5113efb473b7cc63f680c04dacf5bee78d0a58ee20b41c8203edb92f8720c31c52c24de838996f25476eaa3d734c845531440317e82cb5e5f635bc03b057a148
-DIST mysql-connector-c++-8.0.13-src.tar.gz 2174609 BLAKE2B 5293ccfb7ad3bd6d50e0518db402d93f707535498ff1f608acc5c642cdc2c671601cbb7c14c7e6ec66fea8bdcb22effbb90e0ee2c207e8e82be7a2b446512f24 SHA512 0c260eff0002f5abc177049b9d050daf3b7860634355c10c02cb0ece18a3d1505454d67d8742d7e879c0cc6b44f8045f75e64d79bdd0bbfc211de9903abec902
DIST mysql-connector-c++-8.0.15-src.tar.gz 2210243 BLAKE2B 45e0ffa2134c9df5a7e311963c7f2c58b5d7cfc0eefd80a5dc323bbe34ba60d40c79154f932e19c5f8e18ae45d0b61d304b7b7daba4955f92f830cf20c718931 SHA512 9a217b8f61babe5dac405be19b12d34b22673e779433d880a3aa31ea2e128f93434599a3fe0c1150b3f7b8c4d03f595d545d8cc33342a60561a2f60bff71ef14
-DIST mysql-connector-c++-8.0.17-src.tar.gz 3111144 BLAKE2B d828ea0a37344719ff57017c7602597e8d419456d17313bddeaa1b69c239405ba584be2961ce833f2961b6b87ff7b29560be30d3a7412955c5b7db2399802ae9 SHA512 63b3e6e4c8bae3fd9bf23342f3684cc290b98d9fcf8af1e4eb5936ad37afce1169ea0cac211be1eff6827a0517cf56f4d215fbe2165a47591d940c77e1ecfa87
+DIST mysql-connector-c++-8.0.18-src.tar.gz 3115736 BLAKE2B f28229593d20f4a401a3e9d0e636ee896a90fb7573f06d9b60340540d6c4d577b4f44daa287c7896a03a60d75dec343413cba981e63a22607ce60eb20f4de122 SHA512 f5b202677392bcf5c5bdd4c3433332e57aa20c1a140de81b57ce3ce69709661d572e2466ae022926fc220b20159c90f09f15b5e44f384529103a24fd592de60d
EBUILD mysql-connector-c++-1.1.11-r1.ebuild 1621 BLAKE2B fdf824ec8993976294bbc03467c63da10206bd04ed066ec33a2d7ce9310e654a0cdd1440e57517bcb22c37851310da0fb2e8e8c48696a99800da3e45cdc0c47a SHA512 7c05b18bac4af342c9feab9622e63afc916bd408a8f2b88dcf59c6192b5a62fba481b3e3f5cbca6826f61d092e7c91e9ef8f20f29b7272c11454c28a836fb15c
EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1648 BLAKE2B 4f16129647c28a35338981d7b0efe867acc6a0aba527d26c9c79c695073d4eed57219cd740bb046a2c869326f75c101a589c4383ea876fcbd619aab15bab1db8 SHA512 382856ec409b13e3c5e96ef7f5b9282b97dcf02f6715f5c6b786e46a2859e30ee64e5911ff81b9691a379f35904fb94f7e895e747d1ed6d5804c21390ffbdbbc
EBUILD mysql-connector-c++-1.1.9-r1.ebuild 1570 BLAKE2B 2f5d17177fe53a0ab0a70efe13d225a6982746819191719d1378b072881037ce81b0d63beb1e0e3dd9106dc04d17ef29b6ac010831734fca2f184901568ba2b2 SHA512 ce9598a2a5f8924cb24822dec8b5349f1655148ba7aba234e324912999d7a5df054a3b3d78c7e9c33c909d046d28bceb9322dc1848370fbed00b27941d49d387
-EBUILD mysql-connector-c++-8.0.11.ebuild 831 BLAKE2B cd00b3ef8d70e64c8fa7d4852a45d58f060fa443dfb90ebffdb3fa11310d4afabf0396eb05ec4af04b2d3fb3115f38b10eb76a1a302d9d7a1cbb5b4f7e61fda0 SHA512 8de6feaa69664b8faea224769777b7050470fd0b60c0d317e00049bc0e29471bac94274ae0da4239ff211651bf3775df0526d29a02d39d88b1d107bddbb44ee0
-EBUILD mysql-connector-c++-8.0.13.ebuild 840 BLAKE2B ad79745000c37f90f50ffb434613bdabcdf7cc8c8fb93e24e2148f08e65414f5bfcbd792a6b942494b776bbcd8b0717760d8576dc77d78607aeba473a2e5878a SHA512 8ed227a9269efc07223a71798225f4e573904aae94126c549e32abcf4e02459269c570a7d8e4e4db3ec7a825636a77feab6b1752ceaf23d4416cc42d4ea94e8b
EBUILD mysql-connector-c++-8.0.15.ebuild 909 BLAKE2B 3a0fa261424e3ce299cf1d10ff5ace8e8bedc4e91fd0eb098916ca1b2d2353562a21d4aaf3fb73c119a665ad64da113036fba6ad9a02a6199306cece67b1f835 SHA512 32c8692e66ed3805c3e01ad5b4e66b04bc0a750e1fd270fc52f70777242abd21d5f11acdff27210b9194190e2ea1bfb3d203e264986c985f0d13210618e51047
-EBUILD mysql-connector-c++-8.0.17.ebuild 909 BLAKE2B 3a0fa261424e3ce299cf1d10ff5ace8e8bedc4e91fd0eb098916ca1b2d2353562a21d4aaf3fb73c119a665ad64da113036fba6ad9a02a6199306cece67b1f835 SHA512 32c8692e66ed3805c3e01ad5b4e66b04bc0a750e1fd270fc52f70777242abd21d5f11acdff27210b9194190e2ea1bfb3d203e264986c985f0d13210618e51047
+EBUILD mysql-connector-c++-8.0.18.ebuild 1015 BLAKE2B e14bf0abe5da065ff96a350c16ce5e90bd8f2190665d0fc45d29a3c6cfe447987733a9b10bb42671cc6c9ccdef485070a3ab265880b256739958cd46a4f7b186 SHA512 3b53b586627adeb2567d275a1a7f8f1787dc9d01d996015bf273e2fed9b387666793eba0add85961fc1eae2c011d8ce11b359f400217154a2029ea67c2783de1
MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch
deleted file mode 100644
index 9bc45d274d7d..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8ba914a..e1127f1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -669,7 +669,7 @@ set_target_properties(connector PROPERTIES
-
-
- install(TARGETS connector
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
-@@ -740,6 +740,12 @@ TARGET_LINK_LIBRARIES(try connector)
- SET_INTERFACE_OPTIONS(try devapi)
- # ADD_GCOV(try)
-
-+IF(WITH_SSL STREQUAL "system")
-+ find_package(OpenSSL REQUIRED)
-+ TARGET_LINK_LIBRARIES(try ${OPENSSL_LIBRARIES})
-+ENDIF()
-+
-+
- if(WITH_JDBC)
-
- add_executable(try_jdbc EXCLUDE_FROM_ALL try_jdbc.cc)
-diff --git a/buildinfo.cmake b/buildinfo.cmake
-index cc57a2c..129afeb 100644
---- a/buildinfo.cmake
-+++ b/buildinfo.cmake
-@@ -112,4 +112,4 @@ if(WITH_JDBC)
- endif()
-
-
--install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT Readme)
-+#install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT Readme)
-diff --git a/cdk/cmake/install_macros.cmake b/cdk/cmake/install_macros.cmake
-index 37c1061..39336cf 100644
---- a/cdk/cmake/install_macros.cmake
-+++ b/cdk/cmake/install_macros.cmake
-@@ -327,7 +327,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
- DESTINATION ${ARG_DESTINATION}
- ${RENAME_PARAM}
- ${PERMISSIONS_${target_type}}
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- COMPONENT ${ARG_COMPONENT}
- OPTIONAL)
-
-@@ -346,7 +346,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
- INSTALL(FILES ${debug_pdb_target_location}
- DESTINATION ${ARG_PDB_DESTINATION}
- ${PDB_RENAME_PARAM}
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- COMPONENT ${ARG_COMPONENT}
- OPTIONAL)
- ENDIF()
-diff --git a/cdk/cmake/libutils.cmake b/cdk/cmake/libutils.cmake
-index 959fc5d..aec2d91 100644
---- a/cdk/cmake/libutils.cmake
-+++ b/cdk/cmake/libutils.cmake
-@@ -282,14 +282,7 @@ function(add_library_ex TARGET)
- endforeach()
-
- if(libs)
--
-- if(${type} STREQUAL "STATIC")
-- merge_static_libraries(${TARGET} ${libs})
-- add_dependencies(${TARGET} ${libs})
-- else()
- target_link_libraries(${TARGET} PRIVATE ${libs})
-- endif()
--
- endif()
-
- #
-diff --git a/cdk/cmake/protobuf.cmake b/cdk/cmake/protobuf.cmake
-index 95ecc71..484687c 100644
---- a/cdk/cmake/protobuf.cmake
-+++ b/cdk/cmake/protobuf.cmake
-@@ -26,201 +26,8 @@
- # along with this program; if not, write to the Free Software Foundation, Inc.,
- # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
--#
--# Usage:
--#
--# INCLUDE(protobuf)
--# [USE_FULL_PROTOBUF()]
--#
--# MYSQLX_PROTOBUF_GENERATE_CPP(SRCS HDRS <protobuf definitions>)
--# ADD_LIBRARY(target ... ${SRCS})
--#
--
--if(DEFINED WITH_PROTOBUF)
--
-- #
-- # If WITH_PROTOBUF is defined, it should point at external location where
-- # protobuf libraries were built using our CMakeLists.txt (so that
-- # exports.cmake was produced).
-- #
--
-- if (NOT EXISTS "${WITH_PROTOBUF}/exports.cmake")
-- message(FATAL_ERROR
-- "Valid protobuf build not found at the given location"
-- " (could not find exports.cmake): ${WITH_PROTOBUF}"
-- )
-- endif()
--
-- message("Using protobuf build at: ${WITH_PROTOBUF}")
--
--else(DEFINED WITH_PROTOBUF)
--
-- #
-- # If external WITH_PROTOBUF location is not given, then we arrange for
-- # building of protbuf from bundled sources in ${PROJECT_BINARY_DIR}/protobuf.
-- #
--
-- message("Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR}")
-- file(REMOVE "${PROJECT_BINARY_DIR}/protobuf/CMakeCache.txt")
-- file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/protobuf")
--
-- #
-- # Pick build configuration for the protobuf build. Normally we build using the
-- # same build configuration that is used for building CDK (Release/Debug/etc.).
-- # But we also support building CDK under non-standard build configuration
-- # named 'Static' (this is a dirty trick we use to simplify building our MSIs).
-- # Since protobuf does not know 'Static' build configuration, we build protobuf
-- # under 'Release' configuration in that case.
-- #
-- # We need to handle two cases. For some build systems, like Makefiles,
-- # the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
-- # variable. In that case we also set it during protobuf build configuration.
-- # Another case is a multi-configuration build system like MSVC. In this case
-- # we use generator expression to pick correct configuration when the build
-- # command is invoked below.
-- #
--
-- if(CMAKE_BUILD_TYPE)
-- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
-- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
-- else()
-- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
-- endif()
-- endif()
--
-- set(CONFIG_EXPR
-- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
-- )
--
-- execute_process(
-- COMMAND ${CMAKE_COMMAND}
-- -G "${CMAKE_GENERATOR}"
-- ${set_build_type}
-- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
-- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
-- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
-- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
-- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
-- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
-- ${PROJECT_SOURCE_DIR}/protobuf
-- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf
-- RESULT_VARIABLE protobuf_config
-- )
--
-- if(protobuf_config)
-- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
-- endif()
--
-- set(WITH_PROTOBUF "${PROJECT_BINARY_DIR}/protobuf")
--
--endif(DEFINED WITH_PROTOBUF)
--
--# Import targets exported by protobuf
--
--include(${WITH_PROTOBUF}/exports.cmake)
--
--#
--# Protobuf library targets imported above (pb_protobuf
--# and pb_protobuf-lite) are local to the directory from which
--# they were imported. This is not good if cdk is used as
--# a sub-project of a parent project, because the parent project
--# must have access to these targets.
--#
--# For that reason below we create global protobuf/protobuf-lite targets
--# and copy their locations from the imported targets.
--#
--# Note: we can't use ALIAS library because it does not work with imported
--# targets
--#
--
--add_library(protobuf STATIC IMPORTED GLOBAL)
--add_library(protobuf-lite STATIC IMPORTED GLOBAL)
--
--foreach(lib protobuf protobuf-lite)
-- #message("processing: ${lib}")
--
-- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
-- #message("- CONF: ${CONF}")
--
-- get_target_property(LOC pb_${lib} IMPORTED_LOCATION_${CONF})
-- if(LOC)
-- #message("- setting imported location to: ${LOC}")
-- set_target_properties(${lib} PROPERTIES
-- IMPORTED_LOCATION_${CONF} "${LOC}"
-- )
-- set_property(TARGET ${lib} APPEND PROPERTY
-- IMPORTED_CONFIGURATIONS ${CONF}
-- )
-- endif()
--
-- endforeach(CONF)
--
--endforeach(lib)
--
--#
--# To support 'Static' build configuration the targets imported from the
--# Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
--# 'Release' locations as Protobuf is built using 'Release' configuration in
--# that case.
--#
--
--foreach(tgt protobuf protobuf-lite pb_protoc)
--
-- get_target_property(LOC ${tgt} IMPORTED_LOCATION_RELEASE)
-- set_property(TARGET ${tgt} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
--
--endforeach(tgt)
--
--
--# protobuf depends on protobuf-lite
--
--set_target_properties(protobuf PROPERTIES
-- INTERFACE_LINK_LIBRARIES "protobuf-lite"
--)
--
--
--message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
--
--set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR}
-- CACHE INTERNAL "Protobuf include path" FORCE)
--set(PROTOBUF_PROTOC_EXECUTABLE pb_protoc
-- CACHE INTERNAL "Protobuf compiler" FORCE)
--
--#
--# Custom target build_protobuf ensures that Protobuf project is built.
--#
--# Note: this depends on Protobuf project generating the stamp file
--#
--
--if(NOT DEFINED PROTOBUF_BUILD_STAMP)
-- message(FATAL_ERROR "Protobuf build stamp file not defined")
--endif()
--
--
--if(CMAKE_VERSION VERSION_LESS 3.0)
-- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
-- COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIGURATION>
-- WORKING_DIRECTORY ${WITH_PROTOBUF}
-- COMMENT "Building protobuf using configuration: $(Configuration)"
-- )
--else()
-- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
-- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG_EXPR}
-- WORKING_DIRECTORY ${WITH_PROTOBUF}
-- COMMENT "Building protobuf using configuration: $(Configuration)"
-- )
--endif()
--
--add_custom_target(build_protobuf
-- DEPENDS ${PROTOBUF_BUILD_STAMP}
--)
--
--add_dependencies(protobuf build_protobuf)
--add_dependencies(protobuf-lite build_protobuf)
--add_dependencies(pb_protoc build_protobuf)
-+#SET(Protobuf_USE_STATIC_LIBS ON)
-+find_package(Protobuf REQUIRED)
-
- #
- # Choice between full and lite version of the library.
-diff --git a/cdk/protocol/mysqlx/crud.cc b/cdk/protocol/mysqlx/crud.cc
-index 5cb12dc..6d32e21 100644
---- a/cdk/protocol/mysqlx/crud.cc
-+++ b/cdk/protocol/mysqlx/crud.cc
-@@ -295,7 +295,7 @@ public:
- class Placeholder_conv_imp
- : public Args_conv
- {
-- map<string, unsigned> m_map;
-+ std::map<string, unsigned> m_map;
-
- public:
-
-@@ -303,7 +303,7 @@ public:
-
- unsigned conv_placeholder(const string &name)
- {
-- map<string, unsigned>::const_iterator it = m_map.find(name);
-+ std::map<string, unsigned>::const_iterator it = m_map.find(name);
- if (it == m_map.end())
- throw_error("Placeholder converter: Placeholder was not defined on args");
- //throw Generic_error((boost::format("Placeholder %s was not defined on args.")
-@@ -314,7 +314,7 @@ public:
-
- void add_placeholder(const string &name)
- {
-- map<string, unsigned>::const_iterator it = m_map.find(name);
-+ std::map<string, unsigned>::const_iterator it = m_map.find(name);
- if (it != m_map.end())
- throw_error("Placeholder converter: Redefined placeholder");
- //throw Generic_error((boost::format("Redifined placeholder %s.")
-diff --git a/jdbc.cmake b/jdbc.cmake
-index 60898da..b5d8bf0 100644
---- a/jdbc.cmake
-+++ b/jdbc.cmake
-@@ -38,7 +38,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
- list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
- endif()
-
--list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
-+list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
-
- if(CMAKE_BUILD_TYPE)
- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.18-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.18-fix-build.patch
new file mode 100644
index 000000000000..484220442ab8
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.18-fix-build.patch
@@ -0,0 +1,275 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -463,7 +463,7 @@ set_target_properties(connector PROPERTIES
+
+
+ install(TARGETS connector
+- CONFIGURATIONS Release RelWithDebInfo
++ CONFIGURATIONS Release RelWithDebInfo Gentoo
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
+ RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
+--- a/cdk/cmake/DepFindProtobuf.cmake
++++ b/cdk/cmake/DepFindProtobuf.cmake
+@@ -48,197 +48,7 @@ if(TARGET Protobuf::pb)
+ return()
+ endif()
+
+-message(STATUS "Setting up Protobuf.")
+-
+-set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
+-set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
+-set(config_stamp "${PB_BINARY_DIR}/config.stamp")
+-set(build_stamp "${PB_BINARY_DIR}/build.stamp")
+-
+-
+-#
+-# Pick build configuration for the protobuf build. Normally we build using the
+-# same build configuration that is used for building CDK (Release/Debug/etc.).
+-# But we also support building CDK under non-standard build configuration
+-# named 'Static' (this is a dirty trick we use to simplify building our MSIs).
+-# Since protobuf does not know 'Static' build configuration, we build protobuf
+-# under 'Release' configuration in that case.
+-#
+-# We need to handle two cases. For some build systems, like Makefiles,
+-# the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
+-# variable. In that case we also set it during protobuf build configuration.
+-# Another case is a multi-configuration build system like MSVC. In this case
+-# we use generator expression to pick correct configuration when the build
+-# command is invoked below.
+-#
+-
+-set(build_type)
+-if(CMAKE_BUILD_TYPE)
+- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
+- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
+- else()
+- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+- endif()
+-endif()
+-
+-set(CONFIG_EXPR
+- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
+-)
+-
+-
+-if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
+-
+- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR}")
+-
+- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
+- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
+-
+- # Dirty trick to speed up cmake set up time.
+- #file(
+- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
+- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
+- #)
+-
+- execute_process(
+- COMMAND ${CMAKE_COMMAND}
+- -G "${CMAKE_GENERATOR}"
+- ${set_build_type}
+- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
+- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
+- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
+- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
+- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
+- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
+- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
+- ${PB_SOURCE_DIR}
+- WORKING_DIRECTORY ${PB_BINARY_DIR}
+- RESULT_VARIABLE protobuf_config
+- )
+-
+- if(protobuf_config)
+- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
+- endif()
+-
+- message("==== Protobuf build configured.")
+-
+-endif()
+-
+-
+-include(${PB_BINARY_DIR}/exports.cmake)
+-
+-#
+-# Protobuf library targets imported above (pb_protobuf
+-# and pb_protobuf-lite) are local to the directory from which
+-# they were imported. This is not good if cdk is used as
+-# a sub-project of a parent project, because the parent project
+-# must have access to these targets.
+-#
+-# For that reason below we create global protobuf/protobuf-lite targets
+-# and copy their locations from the imported targets.
+-#
+-# Note: we can't use ALIAS library because it does not work with imported
+-# targets
+-#
+-
+-add_library(Protobuf::pb-full STATIC IMPORTED GLOBAL)
+-add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
+-add_executable(Protobuf::protoc IMPORTED GLOBAL)
+-
+-set(TGT_protobuf Protobuf::pb-full)
+-set(TGT_protobuf-lite Protobuf::pb-lite)
+-set(TGT_protoc Protobuf::protoc)
+-
+-foreach(tgt protobuf protobuf-lite protoc)
+-
+- #message("processing: ${tgt}")
+-
+- set(loc_list)
+-
+- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
+-
+- #message("- CONF: ${CONF}")
+-
+- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
+-
+- if(LOC)
+-
+- #message("- setting imported location to: ${LOC}")
+- list(APPEND loc_list "${LOC}")
+-
+- set_target_properties(${TGT_${tgt}} PROPERTIES
+- IMPORTED_LOCATION_${CONF} "${LOC}"
+- )
+-
+- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
+- IMPORTED_CONFIGURATIONS ${CONF}
+- )
+-
+- endif()
+-
+- endforeach(CONF)
+-
+- #
+- # To support 'Static' build configuration the targets imported from the
+- # Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
+- # 'Release' locations as Protobuf is built using 'Release' configuration in
+- # that case.
+- #
+-
+- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
+- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
+-
+-endforeach(tgt)
+-
+-
+-#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
+-set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
+-
+-set_target_properties(Protobuf::pb-lite PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
+-)
+-
+-set_target_properties(Protobuf::pb-full PROPERTIES
+- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
+-)
+-
+-# On UNIX Protobuf uses pthread library
+-if(UNIX)
+- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
+- INTERFACE_LINK_LIBRARIES pthread
+- )
+-endif()
+-
+-#
+-# Note: This is needed to correctly compile headers generated by protobuf
+-# with sunpro compiler.
+-#
+-
+-if(SUNPRO)
+- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
+- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
+- )
+-endif()
+-
+-
+-add_custom_command(OUTPUT "${build_stamp}"
+- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG_EXPR}
+- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
+- WORKING_DIRECTORY "${PB_BINARY_DIR}"
+- COMMENT "Building protobuf"
+-)
+-
+-add_custom_target(build_protobuf
+- SOURCES "${build_stamp}"
+-)
+-
+-add_dependencies(Protobuf::pb-full build_protobuf)
+-add_dependencies(Protobuf::pb-lite build_protobuf)
+-add_dependencies(Protobuf::protoc build_protobuf)
+-
+-# TODO: Handle lite/full version
+-
++find_package(Protobuf REQUIRED)
+
+
+ # Standard PROTOBUF_GENERATE_CPP modified to our usage
+@@ -268,11 +78,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
+ "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
+ COMMAND ${CMAKE_COMMAND}
+ -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+- COMMAND Protobuf::protoc
++ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
+ ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+ -I ${ABS_PATH} ${ABS_FIL}
+- --proto_path=${PROJECT_SOURCE_DIR}/protobuf/protobuf-3.6.1/src
+- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
++ --proto_path=${Protobuf_INCLUDE_DIR}
++ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
+ COMMENT "Running C++ protocol buffer compiler on ${FIL}"
+ VERBATIM
+ )
+--- a/cdk/core/CMakeLists.txt
++++ b/cdk/core/CMakeLists.txt
+@@ -44,7 +44,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
+
+ target_link_libraries(cdk
+ PUBLIC cdk_mysqlx cdk_parser
+- PRIVATE Protobuf::pb-lite # required by codecc.cc
++ PRIVATE protobuf # required by codecc.cc
+ )
+
+ add_coverage(cdk)
+--- a/cdk/protocol/mysqlx/CMakeLists.txt
++++ b/cdk/protocol/mysqlx/CMakeLists.txt
+@@ -125,11 +125,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+-if(use_full_protobuf)
+- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
+-else()
+- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
+-endif()
++target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
+
+ target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation)
+
+--- a/jdbc.cmake
++++ b/jdbc.cmake
+@@ -66,7 +66,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
+ list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
+ endif()
+
+-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
++list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
+
+ if(CMAKE_BUILD_TYPE)
+ if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
+--- a/jdbc/CMakeLists.txt
++++ b/jdbc/CMakeLists.txt
+@@ -272,7 +272,7 @@ set_target_properties(connector-jdbc
+
+
+ install(TARGETS connector-jdbc
+- CONFIGURATIONS Release RelWithDebInfo
++ CONFIGURATIONS Release RelWithDebInfo Gentoo
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
+ RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild
deleted file mode 100644
index ddae008cc97a..000000000000
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.11.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake-utils
-
-DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
-HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
-URI_DIR="Connector-C++"
-SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="+legacy"
-
-RDEPEND="
- dev-libs/openssl:0=
- dev-libs/protobuf:=
- legacy? ( dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:= )"
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}/8.0.11-fix-build.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild
deleted file mode 100644
index f823bf40e1c4..000000000000
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake-utils
-
-DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
-HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
-URI_DIR="Connector-C++"
-SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="+legacy"
-
-RDEPEND="
- dev-libs/openssl:0=
- dev-libs/protobuf:=
- legacy? (
- dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
- )"
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}/${PN}-8.0.13-fix-build.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.17.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.18.ebuild
index 2b7374017ca9..bc937af3de44 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.17.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.18.ebuild
@@ -28,13 +28,15 @@ DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}-src"
PATCHES=(
- "${FILESDIR}/${PN}-8.0.15-fix-build.patch"
+ "${FILESDIR}/${PN}-8.0.18-fix-build.patch"
)
src_configure() {
local mycmakeargs=(
-DWITH_SSL=system
-DWITH_JDBC=$(usex legacy ON OFF)
+ $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
+ $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
)
cmake-utils_src_configure
diff --git a/dev-db/qt5-sqlcipher/Manifest b/dev-db/qt5-sqlcipher/Manifest
index 4a7434265c64..29631bafa8ee 100644
--- a/dev-db/qt5-sqlcipher/Manifest
+++ b/dev-db/qt5-sqlcipher/Manifest
@@ -1,4 +1,4 @@
AUX qt5-sqlcipher-install-path.patch 542 BLAKE2B 099aec88aa739615c444478dcf946a11782d34bcda0ea9905d88a766745a063b97f1198d0e03bb7222f338293178dad2c00d430eab7754475766ebfdf95a785d SHA512 a46bb590fe8f56f61d404b4c5deba362f70ecf3044fd746f5de3a897cf884aada1bd2345e768774e674ee8e91bd162775b6f2131e4f822cc91fae22c4d71bb13
-DIST qt5-sqlcipher-1.0.1_p20181221.tar.xz 27668 BLAKE2B e9f7a380be72997a1364ff985271b421230ea75b80200fc1cb4d58946abcb5a98504e458811e9b6641a84a4f8bc7145fd9d6746a147f98bc886e8c2639698646 SHA512 408f71b7fdb26aea3f0419ce0fb295a438c247aa1649756a20b6743571dd9d45cb17d46f5b261a1fd611df4fe39a9dcd6cbd36180bf3742b0abba8b02a9a2d9a
-EBUILD qt5-sqlcipher-1.0.1_p20181221.ebuild 1226 BLAKE2B ae61660cdc3fb6ec76999904048130b4069093c6ac3ec44651a069c1820356efccbffcd668e46916cae1169897866e5c6176b3e4708fe0740c9b30e2a60fe1e2 SHA512 b9610f70d2ec403741e388be772f0a343165f380314d492dc8cb9f20d46801a88f93269be947f9780563b4a1d3b2a4fe8d279fd6f534ad6e6b5bd8b032a17135
+DIST qt5-sqlcipher-1.0.1_p20191025.tar.gz 200293 BLAKE2B 5a0c6401353bc1c9dc511ac585ebce8556742278c303032b3434116c5a778034df01a5133913f8eaac187863b91ef8432b20184b75882c738ed6d850682ac765 SHA512 9e5294ff4c25dc18ef83ecec6c7ef985fec73744f36b27d21591983eb9976b8a13151ef0a31ce3af9767ee3f6388b8f008404002345d328bf0094d03ca4dd8d0
+EBUILD qt5-sqlcipher-1.0.1_p20191025.ebuild 1276 BLAKE2B ebfe234dfdf6e32255f8da50cf45241e508ec5fef977cbb995c8979077449711dcf46ba8b94845fca838bb06cef688d52c88259289c8d509f093c3dcf66d50af SHA512 e01730d3d851091e0e8a5f4bf3b52e37bbc85c8e3b47103d20623ef9012b6460a27a9095d8dc9da95a9265c138ab3d123ac8880c87c6762cea345c52c6cb2bb5
MISC metadata.xml 212 BLAKE2B ecb53eb3efac6ceef048d345601c5ca0430e2f62d6409dc2a18494ee188f792d4763892816f197418d2e9a6d04452091a0c69d83afc207b366fca816632209ee SHA512 3919b8b096abf61c7edaa6a76898603b6ca2e206e2eccd27c671957a9d085bc2591a2fb4839a85ef2a51dcbf887bb2c752d4b38e82ea19c48dfd6d99b67954fa
diff --git a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1_p20181221.ebuild b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1_p20191025.ebuild
index 744c62f7f414..06dc4411a574 100644
--- a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1_p20181221.ebuild
+++ b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1_p20191025.ebuild
@@ -5,20 +5,21 @@ EAPI=7
inherit cmake-utils
+COMMIT="8b8ba1579f4fdd0d2c1e8bd9596eedf5101dd917"
DESCRIPTION="Qt SQL driver plugin for SQLCipher"
HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+SRC_URI="https://github.com/blizzard4591/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1" # version 2.1 only
SLOT="0"
KEYWORDS="~amd64"
RDEPEND=">=dev-db/sqlcipher-3.4.1
- >=dev-qt/qtcore-5.7.1:5=
- >=dev-qt/qtsql-5.7.1:5=[sqlite] <dev-qt/qtsql-5.13:5=[sqlite]"
+ >=dev-qt/qtcore-5.12.3:5=
+ >=dev-qt/qtsql-5.12.3:5=[sqlite] <dev-qt/qtsql-5.14:5=[sqlite]"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/${PN}"
+S="${WORKDIR}/${PN}-${COMMIT}"
DOCS=(README.md)
src_prepare() {
@@ -31,10 +32,8 @@ src_prepare() {
if ! [[ -d qt-file-cache/${v} ]]; then
local vc
case $(ver_cut 1-2 ${v}) in
- 5.7) vc=5.7.1 ;;
- 5.9) vc=5.9.6 ;;
- 5.11) vc=5.11.3 ;;
- 5.12) vc=5.12.0 ;;
+ 5.12) vc=5.12.5 ;;
+ 5.13) vc=5.13.1 ;;
*) die "qtsql-${v} not supported" ;;
esac
elog "qtsql-${v} not in cache, using ${vc} instead"
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 5dc3426aa5bf..f4dfa4956b16 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -12,5 +12,5 @@ DIST sqlite-doc-3290000.zip 9415641 BLAKE2B 97fef1f01d3e7730e5220541ad9ccdf9f853
DIST sqlite-src-3280000.zip 12477204 BLAKE2B e62e0f36f0bebf89990f8ec91cb1e508a5ebc92bb212eaf9c80eb0febecb5623f5938ecd31c210837314f1f9aab19a18189824f82a106799384d8184ca5f65ab SHA512 49c35c65fa686a2326e13218db583c54fa5fe8f48f0caddd11a942601803b3023f7d32ffbab16641e0d72dc9ed288ad26eaa7226c865ac54e1f181859125651f
DIST sqlite-src-3290000.zip 12557725 BLAKE2B b1aeb80734a2cb7d45c6f2e278bad2996b56ecaf792a8f26322bf50aeaa430eea267f23edb1721bb80ecb6e0c8e14c7a5d8f26178d056fd23efb52f496cc03e1 SHA512 575398fbe20c6471ee2abcbde170b8d48efbb3cb2716a65f42f05c52429a45d14e8046e50c59bbf75bfe2d8f151c34abd50b440c50af571f19e19f3290b230df
EBUILD sqlite-3.28.0.ebuild 10067 BLAKE2B 1db1b8101b6db76d7146143bf9bbe2b27358d6d7233009fc7d1ac10b09589da34d3aa5c9a945f67a991c5123aa5e31562adee245a08d791eedc224521a367088 SHA512 d1fb4bbae6dd93a50f0242895bcab0508e0de42e7b0ec523fbeb4bae3b93eecc5ec0ad511a278748283124c38d60609dd251d8fb892f77dc43ddf2cc0a601a67
-EBUILD sqlite-3.29.0.ebuild 12011 BLAKE2B 91889b43433a9d85ea2dffa3331ff101d8d4742d0c26a0c4cd7142aa4050f89d5eedc6d3ffb9762286de490109b903af0509a50d980a73677d7a413b1bd233ba SHA512 c5102b6760938baf3415f98c91f5569ba9e5fad817f3c97070ae87df1aa4896e2a2d6d1412a80adcc3f731674f2b6b92356645e653b327e3f731e61245fa2ea1
+EBUILD sqlite-3.29.0.ebuild 12010 BLAKE2B 4cc533b7b9e57e759c93bbf91adf5d1ae04b252ae9244beef08ee98ebbc4d52c724a441b207aef3fdbbb52658d685f6b21f196fff55df49a7640e24e732ad06e SHA512 d7e7bec9be46e9e29935bbf584efe6228b2d19e4c0ec54c22c73a545d6b3b88a324dc67a6a9057d6623ff170deae1bb15051ced2e6a42c510ce71ec4af05d084
MISC metadata.xml 748 BLAKE2B c58da3e33e12b7747bbadacfd1a6137cf847fd5bd0525fc02ef854eb5bcad7bad0b29739257b632e19190995659768fdea418ffa7e485e55ef15f40f58b8382c SHA512 66f3f134065f76229b74a7ab7b469066a93da737a9037435e6fe78e85f45c980ec561537f2bb9b95db9de026bad025d8b06682187c97dedd2741717e893d43da
diff --git a/dev-db/sqlite/sqlite-3.29.0.ebuild b/dev-db/sqlite/sqlite-3.29.0.ebuild
index 332d40390c4f..a00c771c8c08 100644
--- a/dev-db/sqlite/sqlite-3.29.0.ebuild
+++ b/dev-db/sqlite/sqlite-3.29.0.ebuild
@@ -25,7 +25,7 @@ fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
if [[ "${PV}" == "9999" ]]; then
PROPERTIES="live"