summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-22 20:28:19 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-22 20:28:19 +0000
commitabaa75b10f899ada8dd05b23cc03205064394bc6 (patch)
treeeca3dd248b73b92013cba00a0fcc1edf2696e19a /dev-db
parent24fd814c326e282c4321965c31f341dad77e270d (diff)
gentoo resync : 22.01.2021
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin17134 -> 16937 bytes
-rw-r--r--dev-db/aerospike-server-community/Manifest10
-rw-r--r--dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild71
-rw-r--r--dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild84
-rw-r--r--dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch63
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.conf70
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.init53
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.logrotate10
-rw-r--r--dev-db/aerospike-server-community/files/aerospike_mesh.conf73
-rw-r--r--dev-db/aerospike-server-community/files/aerospike_ssd.conf68
-rw-r--r--dev-db/aerospike-server-community/metadata.xml10
-rw-r--r--dev-db/freetds/Manifest4
-rw-r--r--dev-db/freetds/freetds-1.2.18.ebuild60
-rw-r--r--dev-db/freetds/metadata.xml3
-rw-r--r--dev-db/libzdb/Manifest2
-rw-r--r--dev-db/libzdb/metadata.xml5
-rw-r--r--dev-db/mongodb/Manifest15
-rw-r--r--dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch32
-rw-r--r--dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch46
-rw-r--r--dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch12
-rw-r--r--dev-db/mongodb/metadata.xml1
-rw-r--r--dev-db/mongodb/mongodb-3.6.13.ebuild166
-rw-r--r--dev-db/mongodb/mongodb-3.6.17.ebuild162
-rw-r--r--dev-db/mongodb/mongodb-4.0.19.ebuild173
-rw-r--r--dev-db/mongodb/mongodb-4.0.20.ebuild173
-rw-r--r--dev-db/mongodb/mongodb-4.2.10.ebuild175
-rw-r--r--dev-db/myodbc/Manifest2
-rw-r--r--dev-db/myodbc/myodbc-8.0.23.ebuild122
-rw-r--r--dev-db/mysql-connector-c++/Manifest2
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild44
-rw-r--r--dev-db/mysql-connector-c/Manifest3
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch356
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild112
-rw-r--r--dev-db/mysql/Manifest6
-rw-r--r--dev-db/mysql/mysql-5.7.33.ebuild1244
-rw-r--r--dev-db/mysql/mysql-8.0.23.ebuild1159
-rw-r--r--dev-db/mysqltuner/Manifest2
-rw-r--r--dev-db/mysqltuner/mysqltuner-1.7.17.ebuild4
-rw-r--r--dev-db/percona-toolkit/Manifest2
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild51
-rw-r--r--dev-db/percona-xtrabackup/Manifest9
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch28
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch31
-rw-r--r--dev-db/percona-xtrabackup/metadata.xml5
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild67
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild77
-rw-r--r--dev-db/pgadmin4/Manifest2
-rw-r--r--dev-db/pgadmin4/pgadmin4-4.29.ebuild4
-rw-r--r--dev-db/pgcli/Manifest2
-rw-r--r--dev-db/pgcli/pgcli-3.1.0.ebuild36
-rw-r--r--dev-db/pgrouting/Manifest2
-rw-r--r--dev-db/pgrouting/pgrouting-3.1.1.ebuild4
-rw-r--r--dev-db/redis/Manifest6
-rw-r--r--dev-db/redis/files/redis-6.0.3-sharedlua.patch60
-rw-r--r--dev-db/redis/redis-6.0.9-r1.ebuild187
-rw-r--r--dev-db/redis/redis-6.0.9-r100.ebuild2
-rw-r--r--dev-db/redis/redis-6.0.9.ebuild2
-rw-r--r--dev-db/slony1/Manifest2
-rw-r--r--dev-db/slony1/slony1-2.2.10.ebuild4
-rw-r--r--dev-db/sqldeveloper/Manifest2
-rw-r--r--dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild6
61 files changed, 3634 insertions, 1554 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 3c57df0af5a1..832e9a76cd0b 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/aerospike-server-community/Manifest b/dev-db/aerospike-server-community/Manifest
deleted file mode 100644
index 6f362159c727..000000000000
--- a/dev-db/aerospike-server-community/Manifest
+++ /dev/null
@@ -1,10 +0,0 @@
-AUX 3.5.8-use-system-libs.patch 1755 BLAKE2B fd16e094db29fcce9ed327cc02c730bef8bca486500c80b956d2e2d8e708053982fc39d2ba5e5b9fad141a042bd4eb5b2559a80d1bd59f3f497176afce56374e SHA512 9124fc14481bc1390a743d2365aa51723445e90db428607aa76d7d59e2c73bc4236da4d1a57c765d4484895147f06254bb269f80b0ff9f7029fcb2f782a418a4
-AUX aerospike.conf 1265 BLAKE2B 2851f1a2dcec6b9514ce82b68c832aff55a9d06e4b1127505c377cf18ba118fafaa6b7edea75997142b1c3919d8c55db2edb8b180ded90ca3d1ceeedfef30ff9 SHA512 5d2b2a368bb31e8230d2f88073befbf5f1aa33aecc628b669e5714cfde71e83d53143b28c0ee95b52f13e84027283413927abd97470a97e36946cc05605b15ed
-AUX aerospike.init 1194 BLAKE2B d21f481882027c748de84a01f599a0f3e17f7a14c14c1b7b5e9427399d1e01b9339f6061a77ca2eaba71c2950db1fb92af09e49dfa7b20a0a9f40d85f6c3603c SHA512 c8d5db18225aa031d152337981430bef413fc30592d162776fab6c1d1c8ea2876233feba7c73f103fc35091255ef7f31da602c6dcb302d9dcac2ce9a67c97837
-AUX aerospike.logrotate 196 BLAKE2B e52b68100c48c2ea47d28583a80fbc8da44d866884ef159520315641f8e5261f0e8561cf53460a23fe0daa12133023a5a2c8bc4a8efa81bf89f2b17735ff4bc3 SHA512 2810df72e5a570be0d3118b0c3244fb13ae7bb98684219d681f02a1ec1499191e1f7e3455da818a8ca36d36a7d194cf85ee1985930bf6fe63b1723060af05cba
-AUX aerospike_mesh.conf 1476 BLAKE2B 76dd16b34f024faec1cbbad526b72dfc389f5ba875928a71147e2a21e1f5cec3754c2bd821d2a329cea475ec5f12b6f4c355d15e0a6092733959a4f6131b5a12 SHA512 a7d5e52738a3153b649cc81d8a9b635b70fe21335802f5c2f348fe71f3b7087ea85aaf926c4ad3ce71514fa1b479f98bc27aadb95995a5bbb8808219bcbe28c4
-AUX aerospike_ssd.conf 1341 BLAKE2B 70720ac3bf9c7b41eb595a4ef2ff16d559abbd2f8c64b09159ea6ad7068513040ac0b036eb4dcd77252b454002935b7e8255c79e6a4ebf06850d3acc325100df SHA512 0382842d4e7b20caaa4c39d999da0cd2b67c24bdd9fad6e5d2d393758b6f788decf0039ae9a262a4db7e89b358cbb9954efd082a15549d12e3e244b2c51675c9
-DIST aerospike-server-community-4.1.0.1-debian7.tgz 16538371 BLAKE2B b879fa134d932dd5c5f3432abd6902e3a1bfd071b7753a78b4d2fdd1cc58e6b875c6793285dbfa18612f9ccd98af4f8ae3a16e7178a30d03715a4d38dc369b1c SHA512 f3954f209a3aab446c193b07fe6c045de89af115f29815a886c99b5648da1e3ff1b348cb1ec4299ce772d7619918e2340de6c25393e04c3bf4b9f1760646625d
-EBUILD aerospike-server-community-4.1.0.1.ebuild 1638 BLAKE2B 751741ae79b6700d6233106c6d47daab9ed2d998fafa1162ad19612a4e2ad6865d7a06f698d56aaf52f61ad06203bd6551657a68c0c6d7dd6c027f3a8cd0fd96 SHA512 44c44e9aa4781b43d74d2a2e397c724916ee02da62899525436d6b8eb0b2ac20a9507f3cb2b24cadcf4168859a3b61b6e1dc78ed2c9b9c3bf104f17f10c359c3
-EBUILD aerospike-server-community-9999.ebuild 1921 BLAKE2B 7ee8da5034709fe63c47aa0f6caaf426be2184d68b6f5403261173e4f56fe87ded940b35a65e6994154da9a2ba2c7f023c4c65789a5e12ad1238cce2d3950572 SHA512 3c034f9f0498c74317d8996fca9f022b3eb7d9bca05bea1903e10596a632165a4f1e7ca516cbbf97e24cd8d1b6b89812ae48ec0ee5e448b1436384e3c18fe3fa
-MISC metadata.xml 281 BLAKE2B c83365afa5d87cf5b8d65ed299e16797d54a0c5f8632ad69c7449edcd52b32f150bc7f933a9e3662d45c37fc64dfcd97b09b3d265a328cdc3ca6cc609a2311f2 SHA512 d3a33c339bb7409528ddca6187790b842150e273bd7630a610c0be08be50e26278ed7b4d42305bfd1a796544c6be251301c938b15d70e609b9d91bd22161aee6
diff --git a/dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild
deleted file mode 100644
index a69846b1bc8b..000000000000
--- a/dev-db/aerospike-server-community/aerospike-server-community-4.1.0.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils user
-
-DESCRIPTION="Flash-optimized, in-memory, nosql database"
-HOMEPAGE="http://www.aerospike.com"
-SRC_URI="http://www.aerospike.com/artifacts/${PN}/${PV}/${P}-debian7.tgz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="sys-libs/readline:0
- sys-libs/zlib
- dev-libs/openssl:0
- "
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${P}-debian7"
-
-pkg_setup() {
- enewgroup aerospike
- enewuser aerospike -1 /bin/bash /opt/aerospike aerospike
-}
-
-src_prepare() {
- local server_deb="${P}.debian7.x86_64.deb"
- local tools_deb="aerospike-tools-3.15.3.6.debian7.x86_64.deb"
-
- ar x "${server_deb}" || die
- tar xzf data.tar.gz && rm data.tar.gz || die
-
- ar x "${tools_deb}" || die
- tar xzf data.tar.gz && rm data.tar.gz || die
-
- rm *.deb asinstall control.tar.gz debian-binary LICENSE SHA256SUMS
- rm usr/bin/{asfixownership,asmigrate2to3}
-}
-
-src_install() {
- insinto /opt/
- doins -r opt/aerospike
-
- fperms +x -R /opt/aerospike/bin/
- fperms +x -R /opt/aerospike/lib/python/
-
- for dir in '/etc' '/var/log'; do
- keepdir "${dir}/aerospike"
- done
-
- insinto /etc/aerospike
- for conf in 'aerospike.conf' 'aerospike_mesh.conf' 'aerospike_ssd.conf'; do
- doins "${FILESDIR}/${conf}"
- done
-
- insinto /usr/bin
- doins usr/bin/*
- fperms +x -R /usr/bin/asd
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/aerospike.logrotate aerospike
-
- newinitd "${FILESDIR}"/aerospike.init aerospike
-
- fowners -R aerospike:aerospike /opt/aerospike/
- fowners aerospike:aerospike /usr/bin/asd
- fowners -R aerospike:aerospike /var/log/aerospike
-}
diff --git a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild
deleted file mode 100644
index 0ff1b892d746..000000000000
--- a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit git-r3 systemd user
-
-DESCRIPTION="Flash-optimized, in-memory, nosql database"
-HOMEPAGE="http://www.aerospike.com"
-EGIT_REPO_URI="https://github.com/aerospike/aerospike-server.git"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS=""
-IUSE="+tools"
-
-RDEPEND="
- dev-libs/jansson
- dev-libs/jemalloc"
-DEPEND="${RDEPEND}"
-
-DOCS=(
- README.md
-)
-
-PATCHES=(
- "${FILESDIR}"/3.5.8-use-system-libs.patch
-)
-
-pkg_setup() {
- enewgroup aerospike
- enewuser aerospike -1 /bin/bash /opt/aerospike aerospike
-}
-
-src_prepare() {
- base_src_prepare
-
- git submodule update --init
-
- sed \
- -e 's/USE_SYSTEM_JEM = 0/USE_SYSTEM_JEM = 1/g' \
- -e 's/USE_SYSTEM_JANSSON = 0/USE_SYSTEM_JANSSON = 1/g' \
- -e 's/LD_CRYPTO = static/LD_CRYPTO = dynamic/g' \
- -e 's/LD_JANSSON = static/LD_JANSSON = dynamic/g' \
- -e 's/LD_JEM = static/LD_JEM = dynamic/g' \
- -i make_in/Makefile.vars || die
-
- rm -rf modules/jansson
- rm -rf modules/jemalloc
-}
-
-src_install() {
- base_src_install_docs
-
- dobin target/Linux-x86_64/bin/asd
-
- insinto /opt/aerospike/sys/udf/lua
- doins -r modules/lua-core/src/*
-
- if use tools; then
- insinto /opt/aerospike/bin
- doins tools/afterburner/afterburner.sh
- fperms +x /opt/aerospike/bin/afterburner.sh
- fi
-
- keepdir /opt/aerospike/usr/udf/lua
- keepdir /var/log/aerospike
-
- insinto /etc/aerospike
- for conf in aerospike.conf aerospike_mesh.conf aerospike_ssd.conf; do
- sed -e "s@/var/run/aerospike/asd.pid@/run/aerospike/aerospike.pid@g" -i as/etc/"${conf}" || die
- doins as/etc/"${conf}"
- done
-
- insinto /etc/logrotate.d
- newins as/etc/logrotate_asd aerospike
-
- newinitd "${FILESDIR}"/aerospike.init aerospike
- systemd_newunit as/etc/aerospike-server.service aerospike.service
-
- fowners -R aerospike:aerospike /opt/aerospike/
- fowners aerospike:aerospike /usr/bin/asd
- fowners -R aerospike:aerospike /var/log/aerospike
-}
diff --git a/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch b/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch
deleted file mode 100644
index eb69f5ff2e51..000000000000
--- a/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/Makefile b/Makefile
-index d4ce8ac..26271fd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -54,12 +54,16 @@ ifeq ($(USE_ASM),1)
- $(MAKE) -C $(ASMALLOC) jem SRCDIR=src
- endif
- ifeq ($(USE_JEM),1)
-+ifeq ($(USE_SYSTEM_JEM),0)
- $(MAKE) -C $(JEMALLOC)
- endif
-+endif
- ifeq ($(USE_LUAJIT),1)
- $(MAKE) -C $(LUAJIT) Q= TARGET_SONAME=libluajit.so CCDEBUG=-g
- endif
-+ifeq ($(USE_SYSTEM_JANSSON),0)
- $(MAKE) -C $(JANSSON)
-+endif
- $(MAKE) -C $(COMMON) CF=$(CF) EXT_CFLAGS="$(EXT_CFLAGS)"
- $(MAKE) -C $(CF)
- $(MAKE) -C $(MOD_LUA) CF=$(CF) COMMON=$(COMMON) LUA_CORE=$(LUA_CORE) EXT_CFLAGS="$(EXT_CFLAGS)" USE_LUAJIT=$(USE_LUAJIT) LUAJIT=$(LUAJIT)
-@@ -174,16 +178,24 @@ mexp2: mexp1
- $(MAKE) MEXP_PHASE=2 SRCDIR=$(realpath $(MEXP_DIR))/
-
- $(JANSSON)/configure:
-+ifeq ($(USE_SYSTEM_JANSSON),0)
- cd $(JANSSON) && autoreconf -i
-+endif
-
- $(JANSSON)/Makefile: $(JANSSON)/configure
-+ifeq ($(USE_SYSTEM_JANSSON),0)
- cd $(JANSSON) && ./configure $(JANSSON_CONFIG_OPT)
-+endif
-
- $(JEMALLOC)/configure:
-+ifeq ($(USE_SYSTEM_JEM),0)
- cd $(JEMALLOC) && autoconf
-+endif
-
- $(JEMALLOC)/Makefile: $(JEMALLOC)/configure
-+ifeq ($(USE_SYSTEM_JEM),0)
- cd $(JEMALLOC) && ./configure $(JEM_CONFIG_OPT)
-+endif
-
- $(LUAJIT)/src/luaconf.h: $(LUAJIT)/src/luaconf.h.orig
- ln -s $(notdir $<) $@
-diff --git a/make_in/Makefile.vars b/make_in/Makefile.vars
-index efe3226..0b54701 100644
---- a/make_in/Makefile.vars
-+++ b/make_in/Makefile.vars
-@@ -31,6 +31,12 @@ ifeq ($(USE_ASM),1)
- EXT_CFLAGS += -DUSE_ASM
- endif
-
-+# Use the system provided JEMalloc memory allocator? [By default, no.]
-+USE_SYSTEM_JEM = 0
-+
-+# Use the system provided Jansson JSON API Library? [By default, no.]
-+USE_SYSTEM_JANSSON = 0
-+
- # Use the JEMalloc memory allocator? [By default, yes.]
- USE_JEM = 1
-
diff --git a/dev-db/aerospike-server-community/files/aerospike.conf b/dev-db/aerospike-server-community/files/aerospike.conf
deleted file mode 100644
index 842873bd3e8e..000000000000
--- a/dev-db/aerospike-server-community/files/aerospike.conf
+++ /dev/null
@@ -1,70 +0,0 @@
-# Aerospike database configuration file.
-
-service {
- user root
- group root
- paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
- pidfile /run/aerospike/aerospike.pid
- service-threads 4
- transaction-queues 4
- transaction-threads-per-queue 4
- proto-fd-max 15000
-}
-
-logging {
- # Log file must be an absolute path.
- file /var/log/aerospike/aerospike.log {
- context any info
- }
-}
-
-network {
- service {
- address any
- port 3000
- }
-
- heartbeat {
- mode multicast
- address 239.1.99.222
- port 9918
-
- # To use unicast-mesh heartbeats, remove the 3 lines above, and see
- # aerospike_mesh.conf for alternative.
-
- interval 150
- timeout 10
- }
-
- fabric {
- port 3001
- }
-
- info {
- port 3003
- }
-}
-
-namespace test {
- replication-factor 2
- memory-size 4G
- default-ttl 30d # 30 days, use 0 to never expire/evict.
-
- storage-engine memory
-}
-
-namespace bar {
- replication-factor 2
- memory-size 4G
- default-ttl 30d # 30 days, use 0 to never expire/evict.
-
- storage-engine memory
-
- # To use file storage backing, comment out the line above and use the
- # following lines instead.
-# storage-engine device {
-# file /opt/aerospike/data/bar.dat
-# filesize 16G
-# data-in-memory true # Store data in memory in addition to file.
-# }
-}
diff --git a/dev-db/aerospike-server-community/files/aerospike.init b/dev-db/aerospike-server-community/files/aerospike.init
deleted file mode 100644
index b1dac8078d6d..000000000000
--- a/dev-db/aerospike-server-community/files/aerospike.init
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-config_file=${config_file:-/etc/aerospike/${SVCNAME}.conf}
-run_dir=${run_dir:-/run/aerospike}
-
-command="/usr/bin/asd"
-command_args="--config-file ${config_file}"
-command_background="false"
-pidfile=${run_dir}/${SVCNAME}.pid
-user=${user:-aerospike}
-group=${group:-aerospike}
-start_stop_daemon_args="--user ${user} --group ${group}"
-required_files="${config_file}"
-
-depend() {
- use net
-}
-
-set_shmall() {
- mem=`/sbin/sysctl -n kernel.shmall`
- min=4294967296
- if [ ${#mem} -le ${#min} ]; then
- if [ $mem -lt $min ]; then
- ewarn "kernel.shmall too low, setting to 4G pages = 16TB"
- /sbin/sysctl -w kernel.shmall=$min
- fi
- fi
-}
-
-set_shmmax() {
- mem=`/sbin/sysctl -n kernel.shmmax`
- min=1073741824
- if [ ${#mem} -le ${#min} ]; then
- if [ $mem -lt $min ]; then
- ewarn "kernel.shmmax too low, setting to 1GB"
- /sbin/sysctl -w kernel.shmmax=$min
- fi
- fi
-}
-
-start_pre() {
- checkpath -d -m 0755 -o "${user}":"${group}" "${run_dir}"
- set_shmall
- set_shmmax
- ulimit -n 100000
- if [ -n $LD_PRELOAD ]; then export LD_PRELOAD; fi
-}
-
-start_post() {
- ewaitfile 60 "${pidfile}"
-}
diff --git a/dev-db/aerospike-server-community/files/aerospike.logrotate b/dev-db/aerospike-server-community/files/aerospike.logrotate
deleted file mode 100644
index 04aabc4a6017..000000000000
--- a/dev-db/aerospike-server-community/files/aerospike.logrotate
+++ /dev/null
@@ -1,10 +0,0 @@
-/var/log/aerospike/aerospike.log {
- daily
- rotate 90
- dateext
- compress
- olddir /var/log/aerospike/
- postrotate
- kill -HUP `cat /var/run/aerospike/aerospike.pid`
- endscript
-}
diff --git a/dev-db/aerospike-server-community/files/aerospike_mesh.conf b/dev-db/aerospike-server-community/files/aerospike_mesh.conf
deleted file mode 100644
index 26274f310ed0..000000000000
--- a/dev-db/aerospike-server-community/files/aerospike_mesh.conf
+++ /dev/null
@@ -1,73 +0,0 @@
-# Aerospike database configuration file for deployments using mesh heartbeats.
-
-service {
- user root
- group root
- paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
- pidfile /run/aerospike/aerospike.pid
- service-threads 4
- transaction-queues 4
- transaction-threads-per-queue 4
- proto-fd-max 15000
-}
-
-logging {
- # Log file must be an absolute path.
- file /var/log/aerospike/aerospike.log {
- context any info
- }
-}
-
-network {
- service {
- address any
- port 3000
- }
-
- heartbeat {
- mode mesh
- port 3002 # Heartbeat port for this node.
-
- # List one or more other nodes, one ip-address & port per line:
- mesh-seed-address-port 10.10.10.10 3002
-# mesh-seed-address-port 10.10.10.11 3002
-# mesh-seed-address-port 10.10.10.12 3002
-# mesh-seed-address-port 10.10.10.13 3002
-# mesh-seed-address-port 10.10.10.14 3002
-
- interval 250
- timeout 10
- }
-
- fabric {
- port 3001
- }
-
- info {
- port 3003
- }
-}
-
-namespace test {
- replication-factor 2
- memory-size 4G
- default-ttl 30d # 30 days, use 0 to never expire/evict.
-
- storage-engine memory
-}
-
-namespace bar {
- replication-factor 2
- memory-size 4G
- default-ttl 30d # 30 days, use 0 to never expire/evict.
-
- storage-engine memory
-
- # To use file storage backing, comment out the line above and use the
- # following lines instead.
-# storage-engine device {
-# file /opt/aerospike/data/bar.dat
-# filesize 16G
-# data-in-memory true # Store data in memory in addition to file.
-# }
-}
diff --git a/dev-db/aerospike-server-community/files/aerospike_ssd.conf b/dev-db/aerospike-server-community/files/aerospike_ssd.conf
deleted file mode 100644
index 3d75bd6f7d91..000000000000
--- a/dev-db/aerospike-server-community/files/aerospike_ssd.conf
+++ /dev/null
@@ -1,68 +0,0 @@
-# Aerospike database configuration file for deployments using raw storage.
-
-service {
- user root
- group root
- paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
- pidfile /run/aerospike/aerospike.pid
- service-threads 8
- transaction-queues 8
- transaction-threads-per-queue 8
- proto-fd-max 15000
-}
-
-logging {
- # Log file must be an absolute path.
- file /var/log/aerospike/aerospike.log {
- context any info
- }
-}
-
-network {
- service {
- address any
- port 3000
- }
-
- heartbeat {
- mode multicast
- address 239.1.99.222
- port 9918
-
- # To use unicast-mesh heartbeats, remove the 3 lines above, and see
- # aerospike_mesh.conf for alternative.
-
- interval 150
- timeout 10
- }
-
- fabric {
- port 3001
- }
-
- info {
- port 3003
- }
-}
-
-namespace test {
- replication-factor 2
- memory-size 4G
- default-ttl 30d # 30 days, use 0 to never expire/evict.
-
- # Warning - legacy data in defined raw partition devices will be erased.
- # These partitions must not be mounted by the file system.
- storage-engine device {
- # Use one or more lines like those below with actual device paths.
-# device /dev/sdb
-# device /dev/sdc
-
- # The 2 lines below optimize for SSD.
- scheduler-mode noop
- write-block-size 128K
-
- # Use the line below to store data in memory in addition to devices.
-# data-in-memory true
- }
-}
-
diff --git a/dev-db/aerospike-server-community/metadata.xml b/dev-db/aerospike-server-community/metadata.xml
deleted file mode 100644
index 647069390b01..000000000000
--- a/dev-db/aerospike-server-community/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="tools">Install extra tools</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest
index c418936ac6cc..640c3426f230 100644
--- a/dev-db/freetds/Manifest
+++ b/dev-db/freetds/Manifest
@@ -1,3 +1,5 @@
DIST freetds-dev.1.00.558.tar.gz 3151542 BLAKE2B e7b7eb1d4bad1472a675e7657d524837a27ba18176cf410ebad6dcb949cd59bb50e932526790c816c05cf0ba02fb750a1cfbcda10073e5cbf8908bdc4ceb9cc5 SHA512 763f04ae36be8385f9be955defd2d91698389836e80e19019f0da0ee15515d8b7e3733f7659362a307b492dc83830f0a7f27d2a68cb5b56e2ef171ac1dcfeeca
+DIST freetds-dev.1.2.18.tar.gz 3406990 BLAKE2B f0134ee0a322cb9e7a7fefbf9e85c60b826318b546febde78e53d5ec22dc2c8e269b7e830da6d84267d16a2dc2cf367a54354765017a40e07af2c3c6be54676e SHA512 315f40ba0d97281f852ec99fac457ec4b2a30879a2384bfa2d7c680aad6c056b6ae23fc192c18db4fba75caff552ef86de7bbfc5d7b608ea5a12531bf9eadc4c
EBUILD freetds-1.00.558.ebuild 1890 BLAKE2B f4fb4429996adf84235bc63c9cbe4544e41123e25457820357833e2d41de51fd36434dfd210d4b1a1a529bd5d921b74b86a7f0f1360c11763ba8f5f499f7a05b SHA512 ddd04c9cb5595d029a9ddd0462e5112f4493ebdc22def7ca7e23942e1dac3b6e007eb65e5a35a48a86dcc25749fd636bc2430d84715885a37e177dfc727d9a19
-MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33
+EBUILD freetds-1.2.18.ebuild 1634 BLAKE2B 13b90106cbe5666c3202e6fa59897accd4077adb8868288cbc389e593cfceeddda9500decf7e7a955ed2d77c852a9a89d0018dec45bafe8ef2ccf4a9055e88bc SHA512 84f5965abfc6b4ae12d496e51ed8a6569936f054d3ba7040929f5e4eaf4e2c11a211179afba1c0a54763a4c81ccf7b7bb9bdfb1a3f6c41e24a6f39378bf58ef7
+MISC metadata.xml 251 BLAKE2B 632781bc9fafff55239abb98f5b98cd2dfb01f5f8949dec160ef1007a7cfd513ff9f630157acb90efa4d03183cf9fecd5965d79a46ceea694961ff120dc3486c SHA512 8b481bb37df703c67035739c99511a846fa86d497f4d2bb7a8b86a9409cabcfce2b4c0011828c9e42077234ac1ab4af96c2f0c01dd6e7e65ac93b6f75c0779a1
diff --git a/dev-db/freetds/freetds-1.2.18.ebuild b/dev-db/freetds/freetds-1.2.18.ebuild
new file mode 100644
index 000000000000..1efdc86b1872
--- /dev/null
+++ b/dev-db/freetds/freetds-1.2.18.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# This is from the "current" release series, because the "stable" series
+# is a little too stable for us (missing bug fixes, and so on).
+MY_PN="${PN}-dev"
+
+DESCRIPTION="Tabular Datastream Library"
+HOMEPAGE="https://www.freetds.org/"
+SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos"
+
+IUSE="debug gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs"
+# iODBC and unixODBC are mutually-exclusive choices for
+# the ODBC driver manager. Future versions of FreeTDS
+# will throw an error if you specify both.
+REQUIRED_USE="?? ( iodbc odbc )"
+
+RESTRICT="test"
+
+COMMON_DEPEND="virtual/awk
+ gnutls? ( net-libs/gnutls:= )
+ iconv? ( virtual/libiconv )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ odbc? ( dev-db/unixODBC )
+ ssl? ( dev-libs/openssl:0= )"
+DEPEND="${COMMON_DEPEND}"
+
+# bind-tools is needed because the osql script calls "host".
+RDEPEND="${COMMON_DEPEND}
+ net-dns/bind-tools"
+
+S="${WORKDIR}/${MY_PN}.${PV}"
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --disable-static \
+ $(use_enable debug) \
+ $(use_enable iconv libiconv) \
+ $(use_enable kerberos krb5) \
+ $(use_enable mssql msdblib) \
+ $(use_with iodbc) \
+ $(use_with odbc unixodbc "${EPREFIX}/usr") \
+ $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \
+ $(use_with gnutls) \
+ $(use_with ssl openssl "${EPREFIX}/usr")
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-db/freetds/metadata.xml b/dev-db/freetds/metadata.xml
index 7a38bb900964..7864eef430a6 100644
--- a/dev-db/freetds/metadata.xml
+++ b/dev-db/freetds/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="cpe">cpe:/a:freetds:freetds</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/libzdb/Manifest b/dev-db/libzdb/Manifest
index 767223ea35a0..d57363e8f81e 100644
--- a/dev-db/libzdb/Manifest
+++ b/dev-db/libzdb/Manifest
@@ -1,3 +1,3 @@
DIST libzdb-3.1.tar.gz 720162 BLAKE2B 2ad8ede7e2a1c0ee831ba546b7756d2688bcde83b537e812c12ab3d42d6bdc13526778ae68b61584a52569f0b42fbeb8462efe379821295d855f585ae3420df4 SHA512 7cf24ccf0f0a938955d8b54af2c6eca8a8f700737beafde9e824129f324511e06adbc11a3fdbd6ad6d9b902fdae6f7caab4e5c1c594d2211be314e3a24c697f3
EBUILD libzdb-3.1-r1.ebuild 1987 BLAKE2B 7747fd2a24c9f45fbd2713d931a41368369964635466442b452af6a1ea38e1b187d26a424981b76da1a9796dd45a94d00fd3f79a2b43e6f9e855e3b0c6b2b719 SHA512 735b7ed0579a6cdc95dec473f6fc0d15891e51d2068ccedec1188b163a3afa285603a32f68352df88c7cd3f5bc9dc15da6cfb41321b4a2b09efd1231e2dfb0f0
-MISC metadata.xml 252 BLAKE2B 607ece46067f5be04418014fa63f92ad521ce98dcd952feb4fcd1bcfcb16fd520bddb62e7f6e14486a7f45a2505cc258067adc1017af98ba9e69a78244bc62a5 SHA512 e7da72c861777d74f6459375f6f43e39f9e4dda779352c3e8942fcd658dcce6f995f016e34a74b331533f1815fba3faa9af024956a804f38a411990878e4bad6
+MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33
diff --git a/dev-db/libzdb/metadata.xml b/dev-db/libzdb/metadata.xml
index 947ae36c152a..7a38bb900964 100644
--- a/dev-db/libzdb/metadata.xml
+++ b/dev-db/libzdb/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>lordvan@gentoo.org</email>
- <name>Thomas Raschbacher</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index 77b083204e6f..e9594998d6d6 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -1,7 +1,4 @@
-AUX mongodb-3.6.1-fix-scons.patch 1207 BLAKE2B 3c47d72eb940d67f40e4a12becb6de469255446b74aa5e0b2f27e8e0021e77f1af9cce12ae26ed0b05871e995e29d3da1eaee718997bc6de6e62838285946094 SHA512 70efb9309ff5a2415cec6ddca694c33ebaba29d5fb959ecc79907218205a10d4e7329fe48c8c8515bda83751061245d41f4fb11a5d8cd0c80c1db61217acb90e
-AUX mongodb-3.6.1-no-compass.patch 2046 BLAKE2B e6b6977b69eb297c6a6340661f906e0206c2b68a1cebfd3c7ca01b27cc05562e0909531a2488159a54db32a05ec0cc4f81b4fe675db51bf3c30d66bc9d484c0b SHA512 5a7257a3670f40453c424ae2e6d2bbe0e3d1c795b57351c24a1b48ea4134146b08310d88a47cbb0c94a0a451a2c4a3c30fb10c44a1b9203681ee9cb5240db412
AUX mongodb-4.0.0-no-compass.patch 2270 BLAKE2B 66659a18d46755e6661b57e2ba020d7b967c455b0bfd5d198e0efd5bab1c0fdbb5def66b9e9fb54b34eb415e9b9231dcb6ba4b943d674e09685b47333af31d22 SHA512 e3b3adae4991e7687b191651f4c93471042bc8f56c5977743afec573fe026df3af1459b8bcbdb4f9995ecfbf83785ad56ccf46d6756429164b1f49524a36fed7
-AUX mongodb-4.0.12-boost-1.71-cxxabi-include.patch 227 BLAKE2B 46a23c95581110282929f6a50f1bb9c2cb1bb8e3027f65a88246c9c16854c80bc809e7498ce5e28b7e9c73a21768f67724f1751f811cb7f787a10f9f6f7c6a85 SHA512 2e0fde98937f1cefe28dd5cb68f2b91910a09c014b0090fc7b742ac8a28863d5d9a50e961339374f14b95eaf1972dc02bb48d59daecdcd8c5d7acc1aed618fa5
AUX mongodb-4.2.0-fix-scons.patch 1174 BLAKE2B 748de9efdb743c836ccb26239d4b3e73632f19846e2c765e5a9fb6fa6c0bcfaf6cc31a63ba0ce54edf5c8a9d0923efd31ddf81fbc7196386d827f59a50b0b352 SHA512 6f971e8b4140068402b5e8cc738fbff1b54645f97e2f463fec37b124c7b93b8302fae25f9ea1f7f3261c93270e662e4cd876db3f092111e3bde0fcbc3eea33c4
AUX mongodb-4.2.10-no-compass.patch 2151 BLAKE2B 724bf4e50c608f2336fcf587c78e68c713fb9b1469c5cf1203f1b155961daa16612ca13fd1fdc10326ebb587c7f339333f92f76d7c770fc043125cc1f931a594 SHA512 a13bea0614dfeb4fe2d81ad0448ecf2364ddd79a9d025f011fbd39c6da5a654e616424f91f7f88c32b00c780d9bc88c497f573b3f1b9a04849c67c4671a26c8d
AUX mongodb-4.4.1-boost.patch 761 BLAKE2B 45295d05d23a8c2d72e333b14f06c40d32ff6c0610a244f71303fabf0bf0851d3a8a8c3df9f72aa7363a48a0b44bae45d81422970398f8b4f9753bab3dcf793a SHA512 504ec9a4e41f5e1c1a069d64e0958b260a3a8506d17638e62ddf6f1cd873b835f33a588b779e4851d63351faef4be1e0f4720e86f389128d062909b58fdb9aa2
@@ -16,22 +13,12 @@ AUX mongodb.service 220 BLAKE2B ea55bb2f08066d7399e9e66f981f86395f6a177faa198c66
AUX mongos.conf-r2 648 BLAKE2B 420bebfafc1ef4af4b90580077a803fe30f37d63eca6509e7381ca5fcf4e5bc31e136dfc72b653b4d942fdeda058f9fcecc3dcbec9c61e2c82ac3324b9fc0f44 SHA512 5aa8ced8d83572358e008c0df45dbe72a2e9c0003c9f49514d6b91bf9b75d4fb48b189ffe00d14e5675679943a05215a9873c5c9bde9ab1be4ed4813e75714e3
AUX mongos.confd-r3 470 BLAKE2B 9cf6f201d337430901d957a5a0811ff11ac2e81814aac2120c5018e6ec4c38b5ca22d19caea593834416c63609c69a8294227fb6b30200b41dfb29799cc5c1b4 SHA512 952fb9cf5d3eeea2006b101e23142e408c98d66d1f4f868f6ea5a4df6a6331ddcbcbdfb24f4b031c1a8c42652141a3684073b96dfc0b3fbd21dc6b5bcf0e36cb
AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba9318117b74ad9265ead53a21b7d1790729a62d61839099bee315ace8ff3646c01e096a943c2251bf88 SHA512 bf5897614d59c6b4e72529b126408a62ea37d9e9368e5ff69c8fcf2bad3ec09065cff09467f82117a892c51090018706d2f38c03cb9a974a61a49bd9efa0f144
-DIST mongodb-src-r3.6.13.tar.gz 40853787 BLAKE2B de9621de4f570d569df5cfe026ea5da24641c97f1ac9f3e58a0706b1d0bd74757390a075c95c6d3acd12f3c5c7bcbeb9302ac997248c54a5b7910b582debdc82 SHA512 eb84fb22ff871b5ec620d6fc29a6a66072211656e914630ad0f53e4fcad55aa40a76a0e68e68bdbe8ef061bea09ce6ad6aea5d8d865ea8a8fdca0ed829555fcd
-DIST mongodb-src-r3.6.17.tar.gz 40932592 BLAKE2B 94bbb943fd929318a2b32344cb4574243ad234d1cd14ffef864d7fd2d60841866fd5a1966eae8f14266a9648deb62b7b55386d41338b515d5e6849e980143d42 SHA512 b4d9e9bfc7ff886532641058c99da29420d1aa472cb4cf2b254e0fd0af5ecc72ac8bf28dcd55ab738b799b00132ffacddd154dea37ccfbf459c7cc603c2582e0
-DIST mongodb-src-r4.0.19.tar.gz 50126414 BLAKE2B 2691e2a9c8833ff9a086b28fd137bc8e8f10d58570117657c7cc01edbf61568ae62f58440d72e8711de98b9fc6868c1095b4ee88eb7b0eb63ea45ce19e842edd SHA512 57032a009ea7e79de4cac496a2d1266b83b99cc45eb9f1169be2fcdca1ed2003a659ceedf9eafbd4aa7fc5b3b0513066a5d712af7666cee5a897b2a2d7dd30cb
-DIST mongodb-src-r4.0.20.tar.gz 50160192 BLAKE2B 3395399791b0620d3852b5d0a2ab2419f08127d909fac52035dd2624eb22660069401e71b036f449d8fd46be03b9e48ee548fb0c327b67c1eecc72a6ee9045b8 SHA512 dc18216d9096520b309ff769898fb65cf26f765eb74e5e0517617bdb0732c456620bbce351be5ad9f89bc72fea0b6d3afe13bd4cffe2c2b4ea06c9cb2b3b1696
-DIST mongodb-src-r4.2.10.tar.gz 61800545 BLAKE2B 773f3da589107d932808c30ee3bd09ec006b1c570884fbe6929ea4767581e951fd32b1771e9adf1e392ef97bd4c0e2b4ce5ce30c8bbbfbd63aa36b6ebaa8cbe4 SHA512 3947b2880bc0aaa958f26dfddfe79c7878f389eeeb8d0783360667124d3b253928ef746433c260bf395a219d650a6907bbf712ef61da6137ab85e4e1ba38fcbd
DIST mongodb-src-r4.2.11.tar.gz 61829417 BLAKE2B cc989d6ea87a48b7402d119dda4678a966cf96cec0da5d00d792faf06ecb6fbe4bc426069e1a72548410adcbd26162038ec7201e76036ac599af5f53029c0e66 SHA512 ff398a9d3a012e0eb860c2139967e163b8b0ac045c1c47f2c0c5584ba7c60a1403bb423ce8c6e8b3900fdcad1164a84c6da79276f897fd640366e3f80cf54316
DIST mongodb-src-r4.2.8.tar.gz 61730247 BLAKE2B f1d98b8ac8f62c0c7aff100ef663bb20345de0e77e0ff420817db0843fe735b58af8075578a7f8d83cc9dc4e597c95ae09f89ce7a21cf8146ff15bcb11eba924 SHA512 163fce480762bd377d6c78b661bfe51fc883223a5309a68f9556e1bafb99e26e476d81dbe6de825d90469e835442be097be630ca9678e54b9d09091e0b5d67c4
DIST mongodb-src-r4.4.1.tar.gz 49644743 BLAKE2B 7d84998c69b9b55164ebab04b49c38a4113a0f58d431612389ec37eb044fba1adf9284e9d4454bd40bb7a071fd042308a5cd350129d6d52480412cf6b868ec2b SHA512 16aa66995ea8cfe0cc47b96c1c5643a28ab47fc9f27bd93404cf572944ab30492df7c9255553f918b353cd7157a6ccde9ac6f58bfba322fb52c2d7409c6fb9b0
DIST mongodb-src-r4.4.2.tar.gz 49816559 BLAKE2B 0e51302e7e414de9fef74872e44c8de1f5682cb3cac0aa7a02e3c1ee3084669ea647d1e574e8a76a3b6b2f34aa4ef693c8d1f3fa025ec3072eff7b7c408b94e5 SHA512 bbf59ed97a8718576c469c696d5331c122f63528dad950fd415b00269c2fa5e6949b372c575e2504c2a58b145bae485172b25000000481662e6543bc3127252a
-EBUILD mongodb-3.6.13.ebuild 4253 BLAKE2B 9c549c4a4f86d0642845b704af18c2f6e813ac71c188b1cc770b188e634dc388368607f92bc164afb24f0e4de09ee77d52a126450a89fa0af3f0254f6d8258d7 SHA512 aeacc08eb48dbd86141d694b1a71579b79da29cfc9f1f2e7727c25ccbb47bdc3f9b4d0091fd269ef04aff7bfce27059ac4059e7f7c14f8258ccc194996999c3b
-EBUILD mongodb-3.6.17.ebuild 4239 BLAKE2B 2e88b7f99c60bdc724aba683ac6397634e005ebd0ede16d40620f84de196d77b616defcb2faa1fd84434a922826ebcd53c2902f4cb9fdf052a4b4a4d767b638d SHA512 10425c5c499a7182a22bf80479ddd61bcea5f51c4b99fd64aaf4c8fe29fec9db7dfeca211ead81431faf98f800d5dd3f381be32737acde01d4608d14a9d4f77c
-EBUILD mongodb-4.0.19.ebuild 4592 BLAKE2B 7e2feeb4abdfdd2eebe27265665576ea7c899cdb06bf5d5a70e8ac54a227815a93e79d5a58538effd1732b3e8e9e08d9ed38d7a3e6a463c4c21c5f3850ccd77d SHA512 f37ef841a74cb6b9b9f7adf6879977352d94be11e583b8ff475e3610f4c016203ffcad06ce45808734e93a1fff4aee067b29a9e828961abeca59e15e0396604a
-EBUILD mongodb-4.0.20.ebuild 4593 BLAKE2B 25a75906f5b037572499b8f5a51bc5df9be6e4e413055c85c340a653809587b9467bb51a6b6bd69d5e9609a062727540b7ca90a71e738958b6d50ae21fb46683 SHA512 661332d0421a768ac8b22d9e5f8bc44c5e7ef986dc2180d3c2163e72190fab3557c378d162a63029c897fa1dc1e1a2e5ed2dde5b22d33e7a84de61fa02a52a08
-EBUILD mongodb-4.2.10.ebuild 4787 BLAKE2B cf0502f0cea2c86387b3ba176a1178f58f5e7c0afd6e804c29ece21b4bcb043456612b2739b7e1faa063a5c850dda9c72705ac55728c3449a8796e5a39f4ea5f SHA512 493750ca11273d0ac744086425fa759059ba45c5580818527f2f669ae4d5f6336b763169553f19ea32f7c6c9f7e611be36e4f3cae5d8d27bf12ea89838760790
EBUILD mongodb-4.2.11.ebuild 4788 BLAKE2B 3f349ec20ebe7c493f8c35f9b6849acc3e1880da17623a71f94bda1860f0d1003e7a9afdf607691ec0c50426fefcd7552d086efde527100e807dad22809be4d2 SHA512 b494549fb51885fcf077b30024ed9da1efb16cd1172be4a0b52337c7e012e089d03191e67c9f50e4413c0728d9cac5e8bf872bc03c769445775bbcda42522acc
EBUILD mongodb-4.2.8.ebuild 4785 BLAKE2B 882ce4365612621348c851383ea19a20db880a11c4b7eb38ac3e7e4508a231d3c4bfca90615425eb9801cee85885c2cccfa61aeef1c26b5f22c4971cc8f31c5c SHA512 3c3fa9e7698f8853f9310bab8890e8e30c1bbc095eb2ede1f6196accaaf770cf1bec94b1bfaf019fdf727f9f1243f0dc2dfcaacbfd651187e852d4aa171e04ce
EBUILD mongodb-4.4.1.ebuild 4873 BLAKE2B 238cd0ded14cccbb88e5b0fd9c9ae391bd3c0a17c8aa7f8bfd12f3916a725c576df7cfb4849c0735301d13cb895f86858e5e72b9d7d3805dbc257bdcd7e4b89a SHA512 190549c03ad957d79dbfdaf96be0f9c2b2abeb86159750a4f771345774dbb08037481d0145cf517ecb56ce8051cd7229ae15a94e8a54ce478ce98644e206246c
EBUILD mongodb-4.4.2.ebuild 4828 BLAKE2B 269b1275bfc3bf57ef3dd3036a5cdcf0c8b51327e26e366450d9cd0172bd7b0dca94714fed4c48332b7c55aff1c0f2aa8d42ffed0d5a6978902cce435a333398 SHA512 e6b8c5b1eb5b075906f062b8c89e0884028ea839721944ce8ec30d7cddd4b511342645035e185407e1f3f8bef052fcbd1e8312eba30d5eb91300abf7de81b3ed
-MISC metadata.xml 901 BLAKE2B f7fde58679ba05518634b82bf5fcc371897165364fe5b023a2ec161790c869de82b4a3dd769d5e1bb450f99679869b60bb1e35beb8d41c54d3448dfca580a7ae SHA512 48f133d396aa31b992bac5f947e5a262b2d07a1016c6d49fa3c86dabb85981edfa332abb867413826762d88051ff3981cc77c2ec92e992d7a231c3b542336e36
+MISC metadata.xml 824 BLAKE2B d7e131d6292b092deb2001bbd6f3d6f6a908f57a064f36f64429696849633ae5ff8dee36604e9952a90ef160b834c56f91d085be7c67a6f9a973c83875bf426c SHA512 cc3555829b1587640259c30c8ede022846ad60993d064ba43d16b28ef5b4a46e5b1fad6818826d4668f0738d27a43f29c5ec769fd647076828e275b5d325e748
diff --git a/dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch
deleted file mode 100644
index d7bfb35b00d5..000000000000
--- a/dev-db/mongodb/files/mongodb-3.6.1-fix-scons.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/SConstruct b/SConstruct
-index fe7975b..92659a7 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1619,7 +1619,6 @@ if env.TargetOSIs('posix'):
- # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
- env.Append( CCFLAGS=["-fno-omit-frame-pointer",
- "-fno-strict-aliasing",
-- "-ggdb",
- "-pthread",
- "-Wall",
- "-Wsign-compare",
-@@ -1631,6 +1630,8 @@ if env.TargetOSIs('posix'):
- env.Append( CCFLAGS=["-Werror"] )
-
- env.Append( CXXFLAGS=["-Woverloaded-virtual"] )
-+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
-+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
- if env.ToolchainIs('clang'):
- env.Append( CXXFLAGS=['-Werror=unused-result'] )
-
-@@ -1650,8 +1651,8 @@ if env.TargetOSIs('posix'):
-
- env.Append( LIBS=[] )
-
-- #make scons colorgcc friendly
-- for key in ('HOME', 'TERM'):
-+ #make scons colorgcc, distcc, ccache friendly
-+ for key in ('HOME', 'PATH', 'TERM'):
- try:
- env['ENV'][key] = os.environ[key]
- except KeyError:
diff --git a/dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch b/dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch
deleted file mode 100644
index 133c10fd258b..000000000000
--- a/dev-db/mongodb/files/mongodb-3.6.1-no-compass.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/mongo/SConscript b/src/mongo/SConscript
-index 9cde728..e29664e 100644
---- a/src/mongo/SConscript
-+++ b/src/mongo/SConscript
-@@ -629,33 +629,6 @@ for full_dir, archive_dir in env["ARCHIVE_ADDITION_DIR_MAP"].items():
- for target in env["DIST_BINARIES"]:
- installBinary(env, "db/modules/" + target)
-
--# Set the download url to the right place
--compass_type = 'compass-community'
--if 'enterprise' in env['MONGO_MODULES']:
-- compass_type = 'compass'
--
--compass_script = "install_compass"
--if env.TargetOSIs('windows'):
-- # On windows the .in needs to be explicitly added to the file.
-- compass_script = "Install-Compass.ps1.in"
--
--compass_python_interpreter = '/usr/bin/env python2'
--if env.TargetOSIs('darwin'):
-- compass_python_interpreter = '/usr/bin/env python'
--
--compass_installer = env.Substfile('#/src/mongo/installer/compass/' + compass_script,
-- SUBST_DICT=[
-- ('@compass_type@', compass_type),
-- ('@python_interpreter@', compass_python_interpreter),
-- ])
--distBinaries.append(compass_installer)
--
--compass_script_installer = env.Install("$INSTALL_DIR/bin", compass_installer)
--
--if env.TargetOSIs('posix'):
-- env.AddPostAction( compass_script_installer, 'chmod 755 $TARGET' )
-- env.AddPostAction( compass_installer, 'chmod 755 $TARGET' )
--
- # "dist" target is valid only when --use-new-tools is specified
- # Attempts to build release artifacts without tools must fail
- if has_option("use-new-tools"):
-@@ -673,7 +646,6 @@ if has_option("use-new-tools"):
- '--transform $BUILD_DIR/mongo=$SERVER_DIST_BASENAME/bin',
- '--transform $BUILD_DIR/mongo/stripped/src/mongo-tools=$SERVER_DIST_BASENAME/bin',
- '--transform src/mongo-tools=$SERVER_DIST_BASENAME/bin',
-- '--transform src/mongo/installer/compass=$SERVER_DIST_BASENAME/bin',
- '${TEMPFILE(SOURCES[1:])}'
- ],
- ),
diff --git a/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch b/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch
deleted file mode 100644
index b65f91236770..000000000000
--- a/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/mongo/util/heap_profiler.cpp
-+++ b/src/mongo/util/heap_profiler.cpp
-@@ -49,6 +49,9 @@
- #include <dlfcn.h>
- #include <execinfo.h>
-
-+// for abi::__cxa_demangle
-+#include <cxxabi.h>
-+
- //
- // Sampling heap profiler
- //
diff --git a/dev-db/mongodb/metadata.xml b/dev-db/mongodb/metadata.xml
index 5379d9760d42..a12b5966959c 100644
--- a/dev-db/mongodb/metadata.xml
+++ b/dev-db/mongodb/metadata.xml
@@ -15,7 +15,6 @@
</longdescription>
<use>
<flag name="lto">Adds support for link time optimization</flag>
- <flag name="mms-agent">Install the MongoDB Monitoring Service agent</flag>
<flag name="tools">Install the MongoDB tools (mongoimport, mongodump...) from <pkg>app-admin/mongo-tools</pkg></flag>
</use>
</pkgmetadata>
diff --git a/dev-db/mongodb/mongodb-3.6.13.ebuild b/dev-db/mongodb/mongodb-3.6.13.ebuild
deleted file mode 100644
index 85e64d7df806..000000000000
--- a/dev-db/mongodb/mongodb-3.6.13.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-SCONS_MIN_VERSION="2.5.0"
-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
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=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]
- dev-libs/snowball-stemmer
- net-libs/libpcap
- >=sys-libs/zlib-1.2.8:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- mms-agent? ( app-admin/mms-agent )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing[${PYTHON_USEDEP}]
- ')
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-util/valgrind )
- test? (
- $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
- )"
-PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
- "${FILESDIR}/${PN}-3.6.1-no-compass.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 3.4; then
- ewarn "To upgrade from a version earlier than the 3.4-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 3.4-series. Then upgrade to 3.6 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading."
- fi
- fi
-}
-
-pkg_setup() {
- enewgroup mongodb
- enewuser mongodb -1 -1 /var/lib/${PN} mongodb
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- )
-
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
- use ssl && scons_opts+=( --ssl )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- escons "${scons_opts[@]}" core tools
-}
-
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
-}
-
-src_install() {
- escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_dounit "${FILESDIR}/${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/mongodb/mongodb-3.6.17.ebuild b/dev-db/mongodb/mongodb-3.6.17.ebuild
deleted file mode 100644
index b5718c0c148c..000000000000
--- a/dev-db/mongodb/mongodb-3.6.17.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-SCONS_MIN_VERSION="2.5.0"
-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
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
-RESTRICT="!test? ( test )"
-
-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]
- dev-libs/snowball-stemmer
- net-libs/libpcap
- >=sys-libs/zlib-1.2.8:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- mms-agent? ( app-admin/mms-agent )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing[${PYTHON_USEDEP}]
- ')
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-util/valgrind )
- test? (
- $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
- )"
-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}"
-
-pkg_pretend() {
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 3.4; then
- ewarn "To upgrade from a version earlier than the 3.4-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 3.4-series. Then upgrade to 3.6 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading."
- fi
- fi
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- )
-
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
- use ssl && scons_opts+=( --ssl )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- escons "${scons_opts[@]}" core tools
-}
-
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
-}
-
-src_install() {
- escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_dounit "${FILESDIR}/${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/mongodb/mongodb-4.0.19.ebuild b/dev-db/mongodb/mongodb-4.0.19.ebuild
deleted file mode 100644
index 8b315a9df686..000000000000
--- a/dev-db/mongodb/mongodb-4.0.19.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-SCONS_MIN_VERSION="2.5.0"
-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
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
-RESTRICT="!test? ( test )"
-
-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]
- dev-libs/snowball-stemmer
- net-libs/libpcap
- >=sys-libs/zlib-1.2.11:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- mms-agent? ( app-admin/mms-agent )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- test? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- >=dev-util/scons-2.5.0[${PYTHON_USEDEP}]
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing[${PYTHON_USEDEP}]
- ')
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-util/valgrind )"
-PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
- "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
- "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 3.6; then
- ewarn "To upgrade from a version earlier than the 3.6-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 3.6-series. Then upgrade to 4.0 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading."
- fi
- fi
-}
-
-python_check_deps() {
- if use test; then
- has_version "dev-python/pymongo[${PYTHON_USEDEP}]" ||
- return 1
- fi
-
- has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
- has_version "dev-python/cheetah[${PYTHON_USEDEP}]" &&
- has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" &&
- has_version "dev-python/typing[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- )
-
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
- use ssl && scons_opts+=( --ssl )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- escons "${scons_opts[@]}" core tools
-}
-
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
-}
-
-src_install() {
- escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_dounit "${FILESDIR}/${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/mongodb/mongodb-4.0.20.ebuild b/dev-db/mongodb/mongodb-4.0.20.ebuild
deleted file mode 100644
index 651219492475..000000000000
--- a/dev-db/mongodb/mongodb-4.0.20.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-SCONS_MIN_VERSION="2.5.0"
-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
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
-RESTRICT="!test? ( test )"
-
-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]
- dev-libs/snowball-stemmer
- net-libs/libpcap
- >=sys-libs/zlib-1.2.11:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- mms-agent? ( app-admin/mms-agent )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- test? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- >=dev-util/scons-2.5.0[${PYTHON_USEDEP}]
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing[${PYTHON_USEDEP}]
- ')
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-util/valgrind )"
-PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
- "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
- "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 3.6; then
- ewarn "To upgrade from a version earlier than the 3.6-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 3.6-series. Then upgrade to 4.0 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading."
- fi
- fi
-}
-
-python_check_deps() {
- if use test; then
- has_version "dev-python/pymongo[${PYTHON_USEDEP}]" ||
- return 1
- fi
-
- has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
- has_version "dev-python/cheetah[${PYTHON_USEDEP}]" &&
- has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" &&
- has_version "dev-python/typing[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- )
-
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
- use ssl && scons_opts+=( --ssl )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- escons "${scons_opts[@]}" core tools
-}
-
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
-}
-
-src_install() {
- escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_dounit "${FILESDIR}/${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/mongodb/mongodb-4.2.10.ebuild b/dev-db/mongodb/mongodb-4.2.10.ebuild
deleted file mode 100644
index 763bd774d5a7..000000000000
--- a/dev-db/mongodb/mongodb-4.2.10.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-SCONS_MIN_VERSION="2.5.0"
-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
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="debug kerberos libressl lto ssl test +tools"
-RESTRICT="!test? ( test )"
-
-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]
- app-arch/zstd
- dev-libs/snowball-stemmer
- net-libs/libpcap
- >=sys-libs/zlib-1.2.11:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
- >=dev-util/scons-2.5.0[${PYTHON_USEDEP}]
- dev-python/cheetah3[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- ')
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-util/valgrind )"
-PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.0-fix-scons.patch"
- "${FILESDIR}/${PN}-4.2.10-no-compass.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-python_check_deps() {
- if use test; then
- has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
- has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
- fi
-
- has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
- has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
- has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
- has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 4.0; then
- ewarn "To upgrade from a version earlier than the 4.0-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 4.0-series. Then upgrade to 4.2 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading."
- fi
- fi
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- --use-system-zstd
- )
-
- use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
- use ssl && scons_opts+=( --ssl )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- escons "${scons_opts[@]}" core tools
-}
-
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- ewarn "Tests may hang with FEATURES=usersandbox"
- "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}"
-}
-
-src_install() {
- escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_dounit "${FILESDIR}/${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest
index ca98176d738b..a74f20e3ad92 100644
--- a/dev-db/myodbc/Manifest
+++ b/dev-db/myodbc/Manifest
@@ -3,5 +3,7 @@ AUX myodbc-8.0.19-cxxlinkage.patch 812 BLAKE2B 18e0f62ceb6bb33ad282972a8aae2f755
AUX odbc.ini.m4 406 BLAKE2B 3a20c28b1971753a14a4aa4d30efcc7de833488501a41d9404987567623d48250ce1daea1d3138adaef36741c4f2e0eafc60eba554e5262b45084f93f5205160 SHA512 84ab2a3aab594123d42b65205a7faf8e91fe9416a9e3c4c4c354533b9a298395f59172649c91dc0b671392bfbe5baeaddb6aa47119ce4c825917f3977d9dd521
AUX odbcinst.ini.m4 118 BLAKE2B 6da835746e063f415ad7d640233cfd96e744cd56e12aaab4a21a2bf0bd5f1bd1e5c3d1c9a28522e3aa07c1261abac92301819d4112ac6a000a729aca9f7f7ad6 SHA512 6d929bbffd602a9f060a05998149a6b16334f8a5e3db30d02ff5d38c0065085d085042521e700b87a63766e32aa27ae92be72cef33c2a7aa8f6767b6b71c82c8
DIST mysql-connector-odbc-8.0.22-src.tar.gz 3726015 BLAKE2B 055920446767b0c9a30a0ca4773e71d662b398a9849df1a0b7975d71a21cfb23f540d8dda5430c717569f173e63673d3e51b025bb098e51202093d33e19bc142 SHA512 c613ae60346cea2e57bade89d813fd5ac21d0712d3d751e3acbc275421da6ac7593afc3da9fb6d161ee413f60e76e670f0c84876591f331925c980d969db4e8c
+DIST mysql-connector-odbc-8.0.23-src.tar.gz 3726277 BLAKE2B 21b5e6f3f7e77d6107268800441675a230c79071e52db39093fade6e02031c12c96371d165af9459e9739e069e5b4196f0169dff54c0fa300e7a3023e8a82722 SHA512 2f66b5e1796176d638b1209b7d3381c2600a11cc88fa0dfb1f29b16a6c59386926674d5581d4843036d061af09312d58620484730bd7cdad36c0a0dcd45d49a9
EBUILD myodbc-8.0.22.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652
+EBUILD myodbc-8.0.23.ebuild 3227 BLAKE2B a3bed9bda637b48b5803ef8e5892298b911e6b9cfba9f98481e32181c46ce8d980934b87d812af7e3da2c41755474b0edd6ec8e1881a7286340728d8b647f064 SHA512 a977d4c1b8991e200e79219e69e09f20c8a1e4699caa05ef209eb4f693cc8fb73d6175e5305820785931d05857effc8795dc037affff2aff0ca7532520e7692b
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/myodbc/myodbc-8.0.23.ebuild b/dev-db/myodbc/myodbc-8.0.23.ebuild
new file mode 100644
index 000000000000..aca18615d239
--- /dev/null
+++ b/dev-db/myodbc/myodbc-8.0.23.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-multilib
+
+MAJOR="$(ver_cut 1-2)"
+MY_PN="mysql-connector-odbc"
+MY_P="${MY_PN}-${PV/_p/r}-src"
+
+DESCRIPTION="ODBC driver for MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/"
+SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="${MAJOR}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+# Broken when built dynamically against libmysqlclient.so
+RDEPEND="
+ dev-db/unixODBC[${MULTILIB_USEDEP}]
+ >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+S=${WORKDIR}/${MY_P}
+
+# Careful!
+DRIVER_NAME="${PN}-${SLOT}"
+
+# Patch document path so it doesn't install files to /usr
+PATCHES=(
+ "${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
+ "${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch"
+)
+
+src_prepare() {
+ # Remove Tests
+ sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
+ "${S}/CMakeLists.txt"
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ mycmakeargs+=(
+ -DMYSQLCLIENT_STATIC_LINKING=1
+ -DMYSQL_CXX_LINKAGE=1
+ -DWITH_UNIXODBC=1
+ -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}
+ -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
+ -DMYSQLCLIENT_NO_THREADS=ON
+ -DDISABLE_GUI=ON
+ # The NUMA and LIBWRAP options are not really used.
+ # They are just copied from the server code
+ -DWITH_NUMA=OFF
+ -DWITH_LIBWRAP=OFF
+ )
+ cmake-utils_src_configure
+}
+
+multilib_src_install_all() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ dodir /usr/share/${PN}-${SLOT}
+ for i in odbc.ini odbcinst.ini; do
+ einfo "Building $i"
+ sed \
+ -e "s,__PN__,${DRIVER_NAME},g" \
+ -e "s,__PF__,${MAJOR},g" \
+ -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
+ >"${D}"/usr/share/${PN}-${SLOT}/${i} \
+ <"${FILESDIR}"/${i}.m4 \
+ || die "Failed to build $i"
+ done
+
+ rm -rf "${ED}/usr/$(get_libdir)/${PN}-${MAJOR}/private" \
+ || die "failed to remove bundled libs"
+
+ mv "${D}/usr/bin/myodbc-installer" \
+ "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
+}
+
+pkg_config() {
+
+ [ "${ROOT}" != "/" ] && \
+ die 'Sorry, non-standard ROOT setting is not supported :-('
+
+ local msg='MySQL ODBC driver'
+ local drivers=$(/usr/bin/odbcinst -q -d)
+
+ if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
+ ebegin "Installing ${msg}"
+ /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
+ rc=$?
+ eend $rc
+ [ $rc -ne 0 ] && die
+ else
+ einfo "Skipping already installed ${msg}"
+ fi
+
+ local sources=$(/usr/bin/odbcinst -q -s)
+ msg='sample MySQL ODBC DSN'
+ if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
+ ebegin "Installing ${msg}"
+ /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
+ rc=$?
+ eend $rc
+ [ $rc -ne 0 ] && die
+ else
+ einfo "Skipping already installed ${msg}"
+ fi
+}
+
+pkg_postinst() {
+ elog "If this is a new install, please run the following command"
+ elog "to configure the MySQL ODBC drivers and sources:"
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog "Please note that the driver name used to form the DSN now includes the SLOT."
+ elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
+}
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index 3e96dba6c1e9..ff43dfd4ae50 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -9,9 +9,11 @@ DIST mysql-connector-c++-8.0.19-src.tar.gz 3137484 BLAKE2B 82a2900b0daa00bcfd72d
DIST mysql-connector-c++-8.0.20-src.tar.gz 3774428 BLAKE2B a06114432ab21c36fd0b3b91df2382198b2a48871e8e0bfd8c7a94729ed0e29f33599c078c97670fe9d744b13042db52fb89de2294c75eae670a77112d11d251 SHA512 3edb7c3d4ccf218a3f76afcf83a6d233b7accd236c05105ab3f7a6610cfd8809a78c78142c82fb60fb0931d2ae0f0f8fdc3ce9caf5f0cde7ef54067a7e20270b
DIST mysql-connector-c++-8.0.21-src.tar.gz 3788740 BLAKE2B 1862b4f2c6e2a2bbe8e3044eea2c1d3c8fdb0a319e3758ca44686b79e917a65617e2cfd0e4b698d858ed9ef12c892b4f658eb287f2a8505a5daeeb79d9544c25 SHA512 8a64dff2efd16d2891f613fd416ec42ecba2490b428b1778e99822a3051d9c5af3b94006577e9f38a6ebd146d2f3be522cb876f1e42fbf0ac82001b0a62ffa62
DIST mysql-connector-c++-8.0.22-src.tar.gz 3795112 BLAKE2B c5d6f0ebeb4649857f3217a35f3ae885d62be63af4da09815e7eb156538ece4f805578db24bfff3dd44a0e320c025a9936d7edacba69a2786d84dd932c5abb8a SHA512 1975b43fa3f3806cccc685a695f84783164c5b17da10ac14a6013d27c837cc9c63fff01b1ed4b31f22dae60afa68d34ec56ca9c45ca3dac23635e8f0fa845aa4
+DIST mysql-connector-c++-8.0.23-src.tar.gz 3798295 BLAKE2B 923eebbd7f9cde0252c84de4c70863b40c0dd93ad98a93e2ec14c935b2f3f0b0f251828a8bbbd0f23a5ec03491db06020294e19455901d15181c84fec9fb3d7f SHA512 f8eb8842e199d7373f4b55644720ac63b93eb33be19294c433f57aaf556ce1b5752223154194469fa28af52adebe930f0a7b4e8f62df92cc810b545aa7bab928
EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1636 BLAKE2B e0e977f956845c46bc99a003b5e74fe5d085e1d5e2b9648474f27028b0d99b1764438fb07da8008c3fdef677fc35310342ad2988ada1f54a8c7a9583f5904a41 SHA512 5a80daba3b6038b57c284e409284106b19bcbb426fc2ba56d73d3c65fbad4343d150e7714782f558a94160dec90482cd88426ba5771bafc02300fa722b065778
EBUILD mysql-connector-c++-8.0.19.ebuild 1067 BLAKE2B 8407348e0e4da0ea8acca8ec0caa33a0c2e863c9a95d6951ce500b6306b77687e76ca867eeeb580dc5e9b8a9df3dff7ca0a8cb8ae95403a9a117d50d2dc8d869 SHA512 83d72ab1104a0ebd014d8b3e1f475944f16a18dc4836386e3ebf7b16df547f35cf7db42c586411fcef80ec6273f15a0f9531b197eaecb991a62301d9a9d3ff4b
EBUILD mysql-connector-c++-8.0.20.ebuild 1070 BLAKE2B bd6b438aa0a660bc19a50695ed77fa5f952aabfb6ff1996244eed5846476bb0c725cf2d4899105c88f1409725ebe80970655ac4f51b7012d1fccc3539a69a062 SHA512 d54363d3172c98ef6d500a336fc98c8d8abdd28e443e09e2ce50e85353c374cdd95739b9d6ab636d4aad3a8647bca1eb99329a761a10ff3ffb2040c1ec3796e8
EBUILD mysql-connector-c++-8.0.21.ebuild 1055 BLAKE2B 7a85e4631367e2a34989a8fc998d80d87c5b6b0220296e7f2f75121766db9c10f66b8838e633c0fc51b43c8314e3521a7cbc1fc0ed2a6fec87e67a6a18b0e91c SHA512 7661f1404a55a3342d90c26fbc36e0f1dc060301f82aadf4b814eedfdeeb7a9698f05e3ab8c552b1be03490e6a4591ac36ca28a7a60604a98844a9136ae063cc
EBUILD mysql-connector-c++-8.0.22.ebuild 1055 BLAKE2B 38dbc920d1e67aa065f6f8dfef6c56a515df757c8939e5f893941e66ae2ad361e350abbbe51b824ab4e24017dd55b0a68f588f99d0cb6d74b8713ddbbea10734 SHA512 1390b0edd15b93ec2446278ff70c043fb4ea2a1311e66099b5e7d558d1de2a6698e59ca609c933319c51a47c042a1724faef0eb70dc25a1e7fc5e19cd668e836
+EBUILD mysql-connector-c++-8.0.23.ebuild 1058 BLAKE2B 66fd11b5a092a610f4cfecdac8272583a6fdfbef472bea797d00bb21c6e89028ff73fd390551f55166f87696a6fca8406436493ad6b3c98f6571bad908b65325 SHA512 076ba240dc4a37bc1d04c3c61f1bd25c45b35ec7c4b5682dadf22ffaa576a88883e333f208867491555d22c640bec7905f0812d4bbd0b18e16cbf56a5950cec2
MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild
new file mode 100644
index 000000000000..e5379e0f4996
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.23.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+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="Artistic GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+legacy libressl"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ legacy? (
+ dev-libs/boost:=
+ >=dev-db/mysql-connector-c-6.1.8:=
+ )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )"
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.22-fix-build.patch
+ "${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.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_src_configure
+}
diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest
index 39c45d597b22..2b2fd7e95a15 100644
--- a/dev-db/mysql-connector-c/Manifest
+++ b/dev-db/mysql-connector-c/Manifest
@@ -3,6 +3,9 @@ AUX mysql-connector-c-8.0.19-do-not-install-comp_err.patch 307 BLAKE2B 864c07e9d
AUX mysql-connector-c-8.0.21-libressl.patch 13288 BLAKE2B 5aad519f99103e579356d89ae92dda1e2496268cebdfe8dd3797138a5efe03370365225581399bb2373b847f61e2b4be726d940cde624d3cdda94b5c69904a3a SHA512 f4d057ce159153133e100c71c65f75bd558ba1ea914cd878023dc4e4a628d63b60d0ac671a97d26863b3f48c3dc8984317bb09362378c3b96b8ed47f08c1f6ea
AUX mysql-connector-c-8.0.21-survive-malformed-charset-files.patch 580 BLAKE2B 76ea04058e14dce1cdd057b51e17d358ff582c82f27a537fb47aa66d58c88327231ca10755a6e02d0c1dab5c67d6eb92d9e9d5d74038595a203b65d3372d4577 SHA512 d8075a712bf12697499b1da2df7f43662bcce073113193e4b29261f965f10af43b1d529f1fe14ffed6c7c9bda3d3b0a61a2b3462e865724496d3d80f10c5264e
AUX mysql-connector-c-8.0.22-always-build-decompress-utilities.patch 534 BLAKE2B 15bef04f750b5f373d8c5f39690e90be482bfea66430234befc777e9d84d0060d20e1290798ddacbf0e9f0f8db45ba0318d88b61aec3fd1e859285cefff446ef SHA512 7ae81f4fe020c12e45eba041dcca921fa93f42a12d8c8d840b1bec819c00de8b780a792e99cdc3cae55eef74c911de3087b6583d6213913b36428b96f0e1c3af
+AUX mysql-connector-c-8.0.23-libressl.patch 13374 BLAKE2B 991f1e921c3f06937c682ed5f111f1cc94a763010120c5b779bed3f4246b598e6cc7d514c6c7ce0e1783b160afd27b081ab13cfd94aa99dd43d6c4b3f32a6164 SHA512 936a9b5861c08afc4ab7db069a0dbe586ce364b0581508d726a4fb98a687badcf027f45805e0dfe82cc007f0c6c380f7f4436cb3d9023a01d797bbcf71646616
DIST mysql-boost-8.0.22.tar.gz 285934450 BLAKE2B 1ba0c9bb9a0cb74af4842d3b746f8b690c122cfbf2c6d5201ce95e59a257427a8683dd8d5c2be31dfe9ece4761366c1287fa7b841c45db222725bf76b0639bc6 SHA512 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612
+DIST mysql-boost-8.0.23.tar.gz 291039175 BLAKE2B 3a7d3e05c774085d6078d0d3effd58d2df47521615356a2aa5efc2ea2ef8457e19ad57a054926ccff0a4752ca71d0464daa7fe9a3ac6c1b1d3bd86a9a82dfc58 SHA512 b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8
EBUILD mysql-connector-c-8.0.22.ebuild 2904 BLAKE2B b46f1757bd0d1f4ba6db5f9c029425e57f5f43b379ce121fcffffd0d6562f747b81f980bbf22cec610fdb416192b05368cd9cb45362e296d6e851de6d5ed6780 SHA512 e8de286e91c74a9cd65396d713372fa13d793a719bd702e9116370659194b001a221881051f0bc9c46f3474336e7d134177b1bd35883c09e0e0c3f3c5e0902e5
+EBUILD mysql-connector-c-8.0.23.ebuild 2912 BLAKE2B aa61054bf7972b80e59eed79cd9697339b60f9eb711b8ab69ae6657904a6a3c3d4cf2d33d85a24032295d0b2bd8a46f2593873f0a9e49b512d47c29582fbc919 SHA512 f7e270a9a46a4d9a67d15d289ad339470122d13de9e80b64781bbd4d45a0efa3446357eae00fac077c5555466649d08b7b25a715db5cd1e595b29e7dcab7c0ee
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch
new file mode 100644
index 000000000000..06681d940dd8
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.23-libressl.patch
@@ -0,0 +1,356 @@
+From 262f0b8bdc86a755041c19c11b6067afce28dae1 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 30 Apr 2020 20:01:48 +0200
+Subject: [PATCH 5/6] Add LibreSSL support
+
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ cmake/ssl.cmake | 5 +++--
+ mysys/my_md5.cc | 2 ++
+ .../bindings/xcom/xcom/xcom_ssl_transport.cc | 6 +++++-
+ plugin/x/client/xconnection_impl.cc | 4 ++++
+ router/src/harness/src/tls_client_context.cc | 2 +-
+ router/src/harness/src/tls_context.cc | 9 ++++++--
+ router/src/harness/src/tls_server_context.cc | 3 ++-
+ sql-common/client.cc | 2 ++
+ sql/mysqld.cc | 4 +++-
+ sql/sys_vars.cc | 21 +++++++++++++++++--
+ vio/viossl.cc | 8 +++----
+ vio/viosslfactories.cc | 2 ++
+ 12 files changed, 54 insertions(+), 14 deletions(-)
+
+diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
+index 52feadeaa..3b8332695 100644
+--- a/cmake/ssl.cmake
++++ b/cmake/ssl.cmake
+@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL)
+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
+ ENDIF()
+- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
++ IF(HAVE_TLS1_3_VERSION)
+ ADD_DEFINITIONS(-DHAVE_TLSv13)
+ ENDIF()
+ IF(OPENSSL_INCLUDE_DIR AND
+ OPENSSL_LIBRARY AND
+ CRYPTO_LIBRARY AND
+- OPENSSL_MAJOR_VERSION STREQUAL "1"
++ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
+ )
+ SET(OPENSSL_FOUND TRUE)
+ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
+diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc
+index dea997b25..531696329 100644
+--- a/mysys/my_md5.cc
++++ b/mysys/my_md5.cc
+@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
+ int compute_md5_hash(char *digest, const char *buf, int len) {
+ int retval = 0;
+ int fips_mode = 0;
++#ifndef LIBRESSL_VERSION_NUMBER
+ fips_mode = FIPS_mode();
++#endif
+ /* If fips mode is ON/STRICT restricted method calls will result into abort,
+ * skipping call. */
+ if (fips_mode == 0) {
+diff --git a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
+index 8bf63ce14..02f91b44e 100644
+--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
++++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
+@@ -325,6 +325,7 @@ error:
+ return 1;
+ }
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ #define OPENSSL_ERROR_LENGTH 512
+ static int configure_ssl_fips_mode(const uint fips_mode) {
+ int rc = -1;
+@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
+ EXIT:
+ return rc;
+ }
++#endif
+
+ static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
+ const char *ca_path) {
+@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
+ int verify_server = SSL_VERIFY_NONE;
+ int verify_client = SSL_VERIFY_NONE;
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
+ G_ERROR("Error setting the ssl fips mode");
+ goto error;
+ }
++#endif
+
+ SSL_library_init();
+ SSL_load_error_strings();
+@@ -611,7 +615,7 @@ error:
+ void xcom_cleanup_ssl() {
+ if (!xcom_use_ssl()) return;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ ERR_remove_thread_state(0);
+ #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ }
+diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc
+index a78371098..9d3a7b436 100644
+--- a/plugin/x/client/xconnection_impl.cc
++++ b/plugin/x/client/xconnection_impl.cc
+@@ -498,6 +498,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
+ return XError(CR_SSL_CONNECTION_ERROR, buffer);
+ }
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ /**
+ Set fips mode in openssl library,
+ When we set fips mode ON/STRICT, it will perform following operations:
+@@ -537,6 +538,7 @@ int set_fips_mode(const uint32_t fips_mode,
+ EXIT:
+ return rc;
+ }
++#endif
+
+ XError Connection_impl::activate_tls() {
+ if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
+@@ -547,12 +549,14 @@ XError Connection_impl::activate_tls() {
+ if (!m_context->m_ssl_config.is_configured())
+ return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
+ if (set_fips_mode(
+ static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
+ err_string) != 1) {
+ return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
+ }
++#endif
+ auto ssl_ctx_flags = process_tls_version(
+ details::null_when_empty(m_context->m_ssl_config.m_tls_version));
+
+diff --git a/router/src/harness/src/tls_client_context.cc b/router/src/harness/src/tls_client_context.cc
+index c14b1cb18..81a9425ca 100644
+--- a/router/src/harness/src/tls_client_context.cc
++++ b/router/src/harness/src/tls_client_context.cc
+@@ -61,7 +61,7 @@ stdx::expected<void, std::error_code> TlsClientContext::verify(
+ stdx::expected<void, std::error_code> TlsClientContext::cipher_suites(
+ const std::string &ciphers) {
+ // TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
++#ifdef TLS1_3_VERSION
+ if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
+ return stdx::make_unexpected(make_tls_error());
+ }
+diff --git a/router/src/harness/src/tls_context.cc b/router/src/harness/src/tls_context.cc
+index e0b97bf2d..8b64b1d01 100644
+--- a/router/src/harness/src/tls_context.cc
++++ b/router/src/harness/src/tls_context.cc
+@@ -115,7 +115,7 @@ static int o11x_version(TlsVersion version) {
+ return TLS1_1_VERSION;
+ case TlsVersion::TLS_1_2:
+ return TLS1_2_VERSION;
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
++#ifdef TLS1_3_VERSION
+ case TlsVersion::TLS_1_3:
+ return TLS1_3_VERSION;
+ #endif
+@@ -145,9 +145,11 @@ stdx::expected<void, std::error_code> TlsContext::version_range(
+ switch (min_version) {
+ default:
+ // unknown, leave all disabled
++#ifdef TLS1_3_VERSION
+ // fallthrough
+ case TlsVersion::TLS_1_3:
+ opts |= SSL_OP_NO_TLSv1_2;
++#endif
+ // fallthrough
+ case TlsVersion::TLS_1_2:
+ opts |= SSL_OP_NO_TLSv1_1;
+@@ -197,8 +199,10 @@ TlsVersion TlsContext::min_version() const {
+ return TlsVersion::TLS_1_1;
+ case TLS1_2_VERSION:
+ return TlsVersion::TLS_1_2;
++#ifdef TLS1_3_VERSION
+ case TLS1_3_VERSION:
+ return TlsVersion::TLS_1_3;
++#endif
+ case 0:
+ return TlsVersion::AUTO;
+ default:
+@@ -257,7 +261,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const {
+ }
+
+ int TlsContext::security_level() const {
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
++ !defined(LIBRESSL_VERSION_NUMBER)
+ return SSL_CTX_get_security_level(ssl_ctx_.get());
+ #else
+ return 0;
+diff --git a/router/src/harness/src/tls_server_context.cc b/router/src/harness/src/tls_server_context.cc
+index c8fc2b5a0..76775e2a0 100644
+--- a/router/src/harness/src/tls_server_context.cc
++++ b/router/src/harness/src/tls_server_context.cc
+@@ -169,7 +169,8 @@ stdx::expected<void, std::error_code> TlsServerContext::init_tmp_dh(
+ }
+
+ } else {
+-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
++ !defined(LIBRESSL_VERSION_NUMBER)
+ dh2048.reset(DH_get_2048_256());
+ #else
+ /*
+diff --git a/sql-common/client.cc b/sql-common/client.cc
+index 79f301fe6..b5e1d126c 100644
+--- a/sql-common/client.cc
++++ b/sql-common/client.cc
+@@ -7987,6 +7987,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
+ return 1;
+ break;
+ case MYSQL_OPT_SSL_FIPS_MODE: {
++#if !defined(LIBRESSL_VERSION_NUMBER)
+ char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
+ ENSURE_EXTENSIONS_PRESENT(&mysql->options);
+ mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
+@@ -7998,6 +7999,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
+ "Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
+ return 1;
+ }
++#endif
+ } break;
+ case MYSQL_OPT_SSL_MODE:
+ ENSURE_EXTENSIONS_PRESENT(&mysql->options);
+diff --git a/sql/mysqld.cc b/sql/mysqld.cc
+index cde636761..266a8c3bb 100644
+--- a/sql/mysqld.cc
++++ b/sql/mysqld.cc
+@@ -5035,7 +5035,7 @@ static int init_thread_environment() {
+
+ static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ #define FILE_LINE_ARGS
+ #else
+ #define FILE_LINE_ARGS , const char *, int
+@@ -5069,12 +5069,14 @@ static void init_ssl() {
+ }
+
+ static int init_ssl_communication() {
++#ifndef LIBRESSL_VERSION_NUMBER
+ char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
+ int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
+ if (ret_fips_mode != 1) {
+ LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
+ return 1;
+ }
++#endif
+ if (TLS_channel::singleton_init(&mysql_main, mysql_main_channel, opt_use_ssl,
+ &server_main_callback, opt_initialize))
+ return 1;
+diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
+index 2df3271ff..90942eef0 100644
+--- a/sql/sys_vars.cc
++++ b/sql/sys_vars.cc
+@@ -4614,6 +4614,7 @@ static Sys_var_ulong Sys_max_execution_time(
+ HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
+ VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
+ char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
+ if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
+@@ -4624,15 +4625,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
+ return false;
+ }
+ }
++#endif
++
++#if defined(LIBRESSL_VERSION_NUMBER)
++static const char *ssl_fips_mode_names[] = {"OFF", 0};
++#else
++static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0};
++#endif
+
+-static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
+ static Sys_var_enum Sys_ssl_fips_mode(
+ "ssl_fips_mode",
+ "SSL FIPS mode (applies only for OpenSSL); "
++#ifndef LIBRESSL_VERSION_NUMBER
+ "permitted values are: OFF, ON, STRICT",
++#else
++ "permitted values are: OFF",
++#endif
+ GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
+ ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
+- ON_CHECK(nullptr), ON_UPDATE(update_fips_mode), nullptr);
++ ON_CHECK(NULL),
++#ifndef LIBRESSL_VERSION_NUMBER
++ ON_UPDATE(update_fips_mode),
++#else
++ ON_UPDATE(NULL),
++#endif
++ NULL);
+
+ static Sys_var_bool Sys_auto_generate_certs(
+ "auto_generate_certs",
+diff --git a/vio/viossl.cc b/vio/viossl.cc
+index 0e9594741..3a589c64b 100644
+--- a/vio/viossl.cc
++++ b/vio/viossl.cc
+@@ -45,7 +45,7 @@
+ BIO_set_callback_ex was added in openSSL 1.1.1
+ For older openSSL, use the deprecated BIO_set_callback.
+ */
+-#if OPENSSL_VERSION_NUMBER >= 0x10101000L
++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
+ #define HAVE_BIO_SET_CALLBACK_EX
+ #endif
+
+@@ -634,8 +634,8 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
+
+ #if !defined(DBUG_OFF)
+ {
+- STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr;
+- ssl_comp_methods = SSL_COMP_get_compression_methods();
++ STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
++ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
+ n = sk_SSL_COMP_num(ssl_comp_methods);
+ DBUG_PRINT("info", ("Available compression methods:\n"));
+ if (n == 0)
+@@ -643,7 +643,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
+ else
+ for (j = 0; j < n; j++) {
+ SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+ DBUG_PRINT("info",
+diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc
+index 21c3510da..70e7d8f8b 100644
+--- a/vio/viosslfactories.cc
++++ b/vio/viosslfactories.cc
+@@ -472,6 +472,7 @@ void ssl_start() {
+ }
+ }
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ /**
+ Set fips mode in openssl library,
+ When we set fips mode ON/STRICT, it will perform following operations:
+@@ -525,6 +526,7 @@ EXIT:
+ @returns openssl current fips mode
+ */
+ uint get_fips_mode() { return FIPS_mode(); }
++#endif
+
+ long process_tls_version(const char *tls_version) {
+ const char *separator = ",";
+--
+2.30.0
+
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild
new file mode 100644
index 000000000000..3b2fc70f9d2f
--- /dev/null
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.23.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-multilib
+
+# wrap the config script
+MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/"
+LICENSE="GPL-2"
+
+SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+SLOT="0/21"
+IUSE="ldap libressl static-libs"
+
+RDEPEND="
+ >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}]
+ app-arch/zstd:=[${MULTILIB_USEDEP}]
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ "
+DEPEND="${RDEPEND}"
+
+# Avoid file collisions, #692580
+RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
+RDEPEND+=" !=dev-db/mysql-5.7.23*"
+RDEPEND+=" !=dev-db/mysql-5.7.24*"
+RDEPEND+=" !=dev-db/mysql-5.7.25*"
+RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
+RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
+RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
+
+DOCS=( README )
+
+S="${WORKDIR}/mysql-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.22-always-build-decompress-utilities.patch
+ "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
+ "${FILESDIR}"/${PN}-8.0.23-libressl.patch
+)
+
+src_prepare() {
+ sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
+
+ # All these are for the server only.
+ # Disable rpm call which would trigger sandbox, #692368
+ sed -i \
+ -e '/MYSQL_CHECK_LIBEVENT/d' \
+ -e '/MYSQL_CHECK_RAPIDJSON/d' \
+ -e '/MYSQL_CHECK_ICU/d' \
+ -e '/MYSQL_CHECK_EDITLINE/d' \
+ -e '/MYSQL_CHECK_CURL/d' \
+ -e '/ADD_SUBDIRECTORY(man)/d' \
+ -e '/ADD_SUBDIRECTORY(share)/d' \
+ -e '/INCLUDE(cmake\/boost/d' \
+ -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
+ CMakeLists.txt || die
+
+ # Skip building clients
+ echo > client/CMakeLists.txt || die
+
+ # Forcefully disable auth plugin
+ if ! use ldap ; then
+ sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
+ echo > libmysql/authentication_ldap/CMakeLists.txt || die
+ fi
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LAYOUT=RPM
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
+ -DENABLED_LOCAL_INFILE=ON
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
+ -DWITH_LZ4=system
+ -DWITH_NUMA=OFF
+ -DWITH_SSL=system
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
+ -DSHARED_LIB_PATCH_VERSION="0"
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DWITHOUT_SERVER=ON
+ )
+ cmake-utils_src_configure
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+}
+
+multilib_src_install_all() {
+ doman \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1
+
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index ae58f1cc5bf8..2d37010f221a 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -6,18 +6,22 @@ AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1f
DIST mysql-5.7.30-patches-01.tar.xz 6684 BLAKE2B 9350280094619fda0d91eacae573396198954fceb5dc039669d236b1dad98eef306702550b517ef30ee3d0e6721667b6f5549df91e3c15cef68888079c00d9ba SHA512 74e8e8794fe54b73776b38296aa42c65547311b80bfe65c88b2f961bd44083e9628eb47da4ebcf4c20e2d7c694f514223bcbf29cce27853cca500710ae97778d
DIST mysql-5.7.31-patches-01.tar.xz 6664 BLAKE2B 8225f286f0090653f9714545daa95ccdadaa58812e55284d1ee52ad2dcca18960b9266797630762595d832aa1dda1d9e2df691f0c728102f162b376346c99b3c SHA512 c6260e688da6e8f049ba7ac0553ad442e76829deaca32c1b7a101ec927a36b1571cb24982391f05545a9f62d94502efc09530d444e4abfc08350ab4c19fbfd37
DIST mysql-5.7.32-patches-01.tar.xz 6660 BLAKE2B 5c63158615398bdcc4480a0e1b058f491b39ffc7ee33767b425f3b254555411031f64d865e1924afe8aa3926e4cba18049f1219a0a8acc702bc5e011c94fa947 SHA512 bf5e0d27af81e599005268ee243af4cd93f6df95c32cccb268a749322b4e5f73a2ce5d51f0ad1b0e1f2cf4702b8a05e4b2e0b73110fd4aac61f2a0f51bf4952e
+DIST mysql-5.7.33-patches-01.tar.xz 6672 BLAKE2B cfa410f9ba5a4ba7e43923e7b5940c2dc6a9356b49230ebaea24bd7eef8a9639fc746e917c22241e19c830b81252e95f38e2c9d6054494de700bae46011fb2f4 SHA512 b16bb9531c44f1c5ec9c08aee6c1f5f5d2e3fe59a0039a54f6c050660a18f7c78b955e7eea7bef4e7dccfcdaa81464e0d8e47ac7d0e40ecb90187865a8a0412e
DIST mysql-8.0.20-patches-01.tar.xz 7176 BLAKE2B 2fc51986c0a4da60521d0e64b9f8705caf8ec3869af930c9729359c3710059fc78aae176523fdf17d10173b404431f31f9bb23ee5c82fba7cbbb4cb39881c005 SHA512 bf8211cf3873f8672b9d3d1dc42b68a1c635690ffdc2d3393eafa83f060ada9f2eaa63f859bf8eecc24976a733d8c7c3b9632ac70f28b5facf48eae921c7ceeb
DIST mysql-8.0.21-patches-01.tar.xz 7212 BLAKE2B 2f1b38b3f84a124e3636cb726f3fcef82d71d933e90429dc78be44afeb4f456a37104359c5fd58ab50f0c03c1698e6c79f9b1e07640f0411c0024f558b4e9595 SHA512 3edcbb529b0623adaed30150d88c9b54d1a3e402faf5c7cff4ed626bbf4e5f50838d8f3c79bd2173439d748ded13412ff7fe37e3742c55879ff28907b9eb5660
DIST mysql-8.0.22-patches-02.tar.xz 7580 BLAKE2B a50704c3c58b1f67ca86edb233544137927b0ae5fdf302687b48f6fd30fbbd26798e8ef8282662586b25a7240b47278b44f944a8ca59f1a198bc228dd74459c9 SHA512 59f864452e9fdebe4d3990eff8b756e9bbfad58da216b74fa8b7e8391cb0d9d543ca2828591b9ed1ee276c1dec9e1851a8c2683507f0a326c85054e31cc3f950
+DIST mysql-8.0.23-patches-01.tar.xz 7568 BLAKE2B 222120dcb5556457f382eefbb10f66f46fe1673c64730c8c8a5566942031bc98bab1f1182f747e79e23fccfb6b09197d5c2874aa2087104b6f1eaa25ea9fd60c SHA512 54222c420d57c1b206d920f22738746925ed1e0d78683f01c97cac5bd1d3450f70f784a7f603304b8595fb58120e691f94e28fa1d1884a7cc8bea1d7b177470f
DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52
DIST mysql-boost-5.7.29.tar.gz 51417554 BLAKE2B 652ce9f99419387e9bcc37afeb1b46438784752e963c3aa1877f17650c31d8b058b4052da97c3a7e9454e758c259d6c311e0518f9a75909fce9741150b82164c SHA512 38acf7c2a10b20c59230ad05cd2cd6996c4c582233c1be573ead08e5c6684275790da07a036570363f89b4d61547b306589b0b98ed5fca70723a3f2cbc21fe11
DIST mysql-boost-5.7.30.tar.gz 51363998 BLAKE2B 7897ad74b685c3b30e7ecdf132fdfa72f3416c05e8d0086cb8f7674b6c4f377fff9abc51ed258cc4dfeab50a2cb393af9076d9c1f9a83a26521facbaf223afa1 SHA512 b75d41d0c72d16c6f8d5393dab6e476b7993d296eb5683c12417ce2da3db2052fdab2a152f6e7c545315d21bfa35f26a247cb6cdab83d3418b5d34ed7f5f9560
DIST mysql-boost-5.7.31.tar.gz 51382559 BLAKE2B 86430ee01b0b066ffbd1c876c7d09afecdd57f99cfe07417f406345bcdb14cc6fd33a2d4d92dfe15e87f34ec476bf34d62508ac3f99fb3e11957458e0d6ec20b SHA512 d7fc1927c860562d121658031bcbd58d36a942340423bf7b692cef84c29e67b56d009c9f9bb10cde8acabd6f9db58c67eb542349eccc4719fb38c8570738700a
DIST mysql-boost-5.7.32.tar.gz 52882168 BLAKE2B dd112fa1d8bd29d86fba076675b5b7c9c98b6fb876aed45a00e8a25be716102fc9aa688b7170bef07b1c9f9751737277774d8fb2c64c21e181ecae58f89b4a8a SHA512 33a617d040efd065ea1c2ad84be537f851480abd5cc8a6879b7f170bc4e6db9432bd03f2a6bc680b71f17839c508cab0e7ef1a3aba032197da1b7943c916c77a
+DIST mysql-boost-5.7.33.tar.gz 52912380 BLAKE2B bca09314ae73932f6095799faa016998e65655cf5ea74d5596dcdc785e77014fe0b29a6c123e8618771f4a20a19978df00f7b79eea329aeb4b536ae71a4bef94 SHA512 1d1e1e5934fb17ff731fea45b88d4af6a394c2fbf0177a87803b18cb0eb4fb8d4939f82fc22b6cbc2af64022a44e206cd23e2e88ce11cc119c3ea22129d54e7a
DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01
DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99
DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1
DIST mysql-boost-8.0.22.tar.gz 285934450 BLAKE2B 1ba0c9bb9a0cb74af4842d3b746f8b690c122cfbf2c6d5201ce95e59a257427a8683dd8d5c2be31dfe9ece4761366c1287fa7b841c45db222725bf76b0639bc6 SHA512 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612
+DIST mysql-boost-8.0.23.tar.gz 291039175 BLAKE2B 3a7d3e05c774085d6078d0d3effd58d2df47521615356a2aa5efc2ea2ef8457e19ad57a054926ccff0a4752ca71d0464daa7fe9a3ac6c1b1d3bd86a9a82dfc58 SHA512 b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8
DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8
DIST mysql-extras-20200125-1945Z.tar.bz2 344906 BLAKE2B 0e87875efbc221ded43d6f080dc7dce4277b676b538950120c94b962e51d054093286486e5d83ea3e38e1b2d0b12cf81873df50e1cebbe4cff33b54297e6a17a SHA512 5fcc5d372998db2b8aef32661ff71290791c20c1195a6210ca79c0fda12008906e665f9dc878d3df5a38a95e23ff05b910daa861002c17a1b6de71ef0520bee1
DIST mysql-extras-20200317-0103Z.tar.bz2 344905 BLAKE2B c4c8bb2acea16663ab32cf291d0a2d52af04448a507ad3a6dc22dfdef4d6ba427582d66e5923d05cd51565286f85c8df5ccabef9a67a4a500574d21e1f708f27 SHA512 d1d34817faf0a1271f906213eea9081c204d745b14f96166f17d5c60a29ec58c05926e7216f135b6e9d5df2ceab373f10fc4e6a652514d99ba34a336571dce1f
@@ -26,8 +30,10 @@ EBUILD mysql-5.7.29-r1.ebuild 31447 BLAKE2B 59b57240696f86ef2f0badaf7b75889e53af
EBUILD mysql-5.7.30-r1.ebuild 30672 BLAKE2B d2033739b36d23a02dd61c3c876efdbe444073e37a9bf2fd9c2f8400a04b33768d4017838a59bfa622de46ce808755e1a7889ee27de7c1479de6c12d467cbd66 SHA512 a94a679d9269d3c0291d7380c8917f53991387ddbf2fd7ae9f4124ecd0616fb52ab1b59d8675f850d1d8dd50819c8d3509fc2a7f6073f4ae2c3770a87fce1fcd
EBUILD mysql-5.7.31.ebuild 37540 BLAKE2B bc9955fd55d1628ae1ac9a5518ec860564060ab5144872ac64e2c7251cd65d4d9ff124bb97a45b707b9abd502adc48e4c5d5ccfee8eec54de1f3d792f09adb9b SHA512 7011c0e06a84ba75ac14f52db2f43113a7b41102da9436e7bbe3e7577db99260949bbeb2dc4f474345d2415a908f64e3cd8093b0857e1414b1e58a0a47f553cf
EBUILD mysql-5.7.32.ebuild 37582 BLAKE2B 3bfc1b63f0ee120c46bf58878180554fdbc4a7030363aab9ce10c25a04c82870e9b471c0883de4f9d34add6869b699b518b1e40f80a1cfbf6ebd4addaffc4492 SHA512 15a630779de70023e6defa80ffb26e75778700d6dff1a5b6e8bf962772d16ad3800ee6664e592bb0f9b63f809bc7934d41a13c78350a2d530707220b1bdf07c6
+EBUILD mysql-5.7.33.ebuild 37799 BLAKE2B ab9386e188823ffe0728834e6b19605296e0012e59879ba8c847144b16eecee1a8b80d29b1cf9a70bbef4623b2378a7ae5d00515cfeda9275003ebb7fd67e200 SHA512 4f0faf3c7f73669e5a49253cabd4540927b5ddae43c6a2a28fb27026438483445370cbb5e75c68e09a50bb0b0fdd4d79d431606f35d8fa0d70f58526be53594a
EBUILD mysql-8.0.19-r2.ebuild 37938 BLAKE2B e2e73a2d1ab9ffa6c52374eef4738db94c87353100c4b40afcf6b20e83e872070c50520f694ab1b11c282c1db8c780201260faad41ea646492ad90989c8dc688 SHA512 41f443c5b2cf7a76f902d59ddc66a574a73c4898dbd14aa5dd73a004f48c9b8754e41ee73f2fa1856cec52cf667e647f82a742bfda5c013a733614fc64e8bd91
EBUILD mysql-8.0.20-r1.ebuild 37206 BLAKE2B 3556c8fb3ea88b893b3612fc313ab5c771afc490218c27405b6b9dd3255d6d5a2c6e602ceac44ed7cbf6f8f7443fcc8afcf6c456ce8b5ac273e2b5569a56e8bb SHA512 982906ddc660441f855b3ab59aaf981fbbf1a6ac1c54be0d7ea1d1019279f265579d3d1d1e2781c8f4c8af60befc5e998d36c09fd6a9abc64655fb80f530c0bb
EBUILD mysql-8.0.21-r1.ebuild 38157 BLAKE2B 800cc8a5b52e3b465afe98a26668d04c73e449a5bd611dd53406db351f31e09ca8153b1a2dd52b900e23f3c63fbacd4e22711defc761907582a79eb134533677 SHA512 5b22b6ce8ef86454b59b03bf084a23a7fd7d45a51c441337d25c380eb10c2ddf474fcf2145c9e40afb2b8f9025c1efd937985d66ee3fbb91ca6332c62950edab
EBUILD mysql-8.0.22.ebuild 37596 BLAKE2B 95680e1c45c4277b483d83696c73c5e78f2ba53395a42330fed37dd1da7f9d5cbdd1343b8db6189406937a74553c5612e3d1cb9e57a6913f38fab6f4b1d0f849 SHA512 135c5abf427f9569e0f406758facf03bd4d1d2f3257ddae683978ecdc70aa8554b29b70041761a8db0e321cf9c85320fedc30477f8c2c5ff47af2e58d3e7a684
+EBUILD mysql-8.0.23.ebuild 37740 BLAKE2B ed0cbe3ec238e4f1d85b5727f08c612d7a9dcd83847eaa181700ef0e83dfac71d58eca0a339356f5248437921dfc78a78c52dab417570b0f14e28503ca57a4b1 SHA512 f7a6ba97880a022eefd785e275dc55f22bfce951a90c6723c6ac8c478679581c2981a187e4139c704a39700419d8df14b24c08c9100409f48ba5616c35f30ef8
MISC metadata.xml 1470 BLAKE2B 09754bc9a1cf5584588c4f69700919fd72a860175ae1c045ce90a644a1360d5abccedd5b2649e16fcd189e82df659ceb96fd71ab2aeccdac6256af4f80e46a0d SHA512 d96f6a133611f50b80116221e2586eff899210255efac58d9f6ef7ccd0ee0854a3322b4d4d1db15b3b2e410525f5d73e43f52a833f3ce358f6708b88b3cf00c7
diff --git a/dev-db/mysql/mysql-5.7.33.ebuild b/dev-db/mysql/mysql-5.7.33.ebuild
new file mode 100644
index 000000000000..546fc699fb67
--- /dev/null
+++ b/dev-db/mysql/mysql-5.7.33.ebuild
@@ -0,0 +1,1244 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit check-reqs cmake flag-o-matic linux-info \
+ multiprocessing prefix toolchain-funcs multilib-minimal
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-5.7.33-patches-01.tar.xz"
+
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
+ https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz
+ ${PATCH_SET}"
+
+HOMEPAGE="https://www.mysql.com/"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="5.7/18"
+IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
+ selinux +server static static-libs systemtap tcmalloc test"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!test? ( test ) libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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"
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+# MULTILIB_USEDEP only set for libraries used by the client library
+COMMON_DEPEND="
+ sys-libs/ncurses:0=
+ client-libs? (
+ >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
+ !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
+ )
+ !client-libs? (
+ dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
+ >=sys-libs/zlib-1.2.3:0=
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ server? (
+ >=app-arch/lz4-0_p131:=
+ cjk? ( app-text/mecab:= )
+ experimental? (
+ dev-libs/libevent:=[ssl]
+ dev-libs/protobuf:=
+ net-libs/libtirpc:=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ numa? ( sys-process/numactl )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ dev-libs/protobuf
+ virtual/yacc
+ server? (
+ dev-libs/libevent:=[ssl]
+ experimental? ( net-libs/rpcsvc-proto )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/JSON
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:8.0
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+ )
+"
+# 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 )"
+
+mysql_init_vars() {
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use server ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test $FEATURES ; then
+ CHECKREQS_DISK_BUILD="9G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="9G"
+
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+ [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \
+ && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+
+ if use latin1 ; then
+ # Upstream only supports tests with default charset
+ die "Testing with USE=latin1 is not supported."
+ fi
+ fi
+
+ if use kernel_linux ; then
+ if use numa ; then
+ linux-info_get_any_version
+
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+ fi
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+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 use client-libs && [[ -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 [[ -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
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/mysql.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/mysql.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}
+
+ mv -f "${WORKDIR}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mysql-patches
+
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ if use tcmalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ # Remove bundled libs so we cannot accidentally use them
+ # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
+ rm -rv \
+ "${S}"/extra/protobuf \
+ "${S}"/extra/libevent \
+ "${S}"/zlib \
+ || die
+
+ # Don't clash with dev-db/mysql-connector-c
+ rm \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1 \
+ || die
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # 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
+
+ if use client-libs ; then
+ multilib-minimal_src_configure
+ else
+ multilib_src_configure
+ fi
+}
+
+multilib_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if ! multilib_is_native_abi && ! use client-libs ; then
+ return
+ fi
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -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/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_SSL=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # 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)
+ -DWITH_CURL=system
+ -DWITH_BOOST="${S}/boost"
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ # systemtap only works on native ABI, bug 530132
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_TOOLS=1
+ -DWITH_READLINE=1
+ -DENABLE_DTRACE=0
+ )
+ fi
+
+ if multilib_is_native_abi && use server ; then
+ mycmakeargs+=(
+ -DWITH_LIBEVENT=system
+ -DWITH_LZ4=system
+ -DWITH_PROTOBUF=system
+ -DWITH_MECAB=$(usex cjk system OFF)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ -DWITH_RAPID=$(usex experimental ON OFF)
+ )
+
+ 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
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ )
+
+ if use profiling ; then
+ # Setting to OFF doesn't work: Once set, profiling options will be added
+ # to `mysqld --help` output via sql/sys_vars.cc causing
+ # "main.mysqld--help-notwin" test to fail
+ mycmakeargs+=( -DENABLED_PROFILING=ON )
+ fi
+
+ if use static ; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_EXAMPLE_STORAGE_ENGINE=0
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_FEDERATED_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ -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
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ if use client-libs ; then
+ multilib-minimal_src_compile
+ else
+ multilib_src_compile
+ fi
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='latin1 perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mysql-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
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ fi
+
+ # 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 MySQL 5.7 for now and are believed to be
+ # false positives:
+ #
+ local t
+
+ for t in \
+ auth_sec.keyring_udf \
+ innodb.import_compress_encrypt \
+ perfschema.privilege_table_io \
+ ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ # Unstable tests
+ # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
+ # - rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223
+ # - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489
+ for t in \
+ main.xa_prepared_binlog_off \
+ rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_non_direct_stm_mixing_engines \
+ ; do
+ _disable_test "$t" "Unstable test"
+ done
+
+ for t in \
+ gis.geometry_class_attri_prop \
+ gis.geometry_property_function_issimple \
+ gis.gis_bugs_crashes \
+ gis.spatial_op_testingfunc_mix \
+ gis.spatial_analysis_functions_buffer \
+ gis.spatial_analysis_functions_distance \
+ gis.spatial_utility_function_distance_sphere \
+ gis.spatial_utility_function_simplify \
+ gis.spatial_analysis_functions_centroid \
+ main.with_recursive \
+ ; do
+ _disable_test "$t" "Known rounding error with latest AMD processors"
+ done
+
+ if ! hash zip 1>/dev/null 2>&1 ; then
+ # no need to force dep app-arch/zip for one test
+ _disable_test "innodb.partition_upgrade_create" "Requires app-arch/zip"
+ fi
+
+ if use numa && use kernel_linux ; then
+ # bug 584880
+ if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
+ for t in sys_vars.innodb_numa_interleave_basic ; do
+ _disable_test "$t" "Test $t requires system with NUMA support"
+ done
+ fi
+ fi
+
+ if ! use latin1 ; then
+ # The following tests will fail if DEFAULT_CHARSET
+ # isn't set to latin1:
+ for t in \
+ binlog.binlog_mysqlbinlog_filter \
+ binlog.binlog_xa_prepared_disconnect \
+ funcs_1.is_columns_mysql \
+ funcs_1.is_tables_mysql \
+ funcs_1.is_triggers \
+ innodb.innodb_pagesize_max_recordsize \
+ innodb.innodb-system-table-view \
+ innodb.mysqldump_max_recordsize \
+ main.mysql_client_test \
+ main.mysqld--help-notwin \
+ main.mysqldump_bugs \
+ main.type_string \
+ main.information_schema \
+ perfschema.binlog_edge_mix \
+ perfschema.binlog_edge_stmt \
+ rpl.rpl_xa_survive_disconnect \
+ rpl.rpl_xa_survive_disconnect_lsu_off \
+ rpl.rpl_xa_survive_disconnect_table \
+ ; do
+ _disable_test "$t" "Requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
+ done
+ fi
+
+ if has_version '>=dev-libs/openssl-1.1.1' ; then
+ # Tests are expecting <openssl-1.1.1 default cipher
+ for t in \
+ auth_sec.cert_verify \
+ auth_sec.mysql_ssl_connection \
+ auth_sec.openssl_cert_generation \
+ auth_sec.ssl_auto_detect \
+ auth_sec.ssl_mode \
+ auth_sec.tls \
+ binlog.binlog_grant_alter_user \
+ encryption.innodb_onlinealter_encryption \
+ main.grant_alter_user_qa \
+ main.grant_user_lock_qa \
+ main.mysql_ssl_default \
+ main.openssl_1 \
+ main.plugin_auth_sha256 \
+ main.plugin_auth_sha256_2 \
+ main.plugin_auth_sha256_server_default \
+ main.plugin_auth_sha256_server_default_tls \
+ main.plugin_auth_sha256_tls \
+ main.ssl \
+ main.ssl_8k_key \
+ main.ssl_bug75311 \
+ main.ssl_ca \
+ main.ssl_cipher \
+ main.ssl_compress \
+ main.ssl_crl \
+ main.ssl_ecdh \
+ main.ssl_verify_identity \
+ x.connection_tls_version \
+ x.connection_openssl \
+ ; do
+ _disable_test "$t" "Requires <dev-libs/openssl-1.1.1"
+ done
+ fi
+
+ # Try to increase file limits to increase test coverage
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # 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"
+}
+
+src_install() {
+ local MULTILIB_WRAPPED_HEADERS
+ local MULTILIB_CHOST_TOOLS
+ if use client-libs ; then
+ # headers with ABI specific data
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mysql/server/my_config.h
+ /usr/include/mysql/server/mysql_version.h )
+
+ # wrap the config scripts
+ MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+ multilib-minimal_src_install
+ else
+ multilib_src_install
+ multilib_src_install_all
+ fi
+}
+
+# Intentionally override eclass function
+multilib_src_install() {
+ cmake_src_install
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+multilib_src_install_all() {
+ # 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-5.7" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.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
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
+
+ if [[ ${#results[@]} -gt 0 ]] ; then
+ # When option is set multiple times only return last value
+ echo "${results[-1]}"
+ fi
+ }
+
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
+ local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+ if [[ ! -x "${mysqld_binary}" ]] ; then
+ die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+ if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+ die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+ fi
+
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ local -x HOME="${EROOT}/root"
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
+ # 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 "${MY_DATADIR}" ]] ; then
+ die "Sorry, unable to find MY_DATADIR!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
+ ewarn "Please rename or delete its content if you wish to initialize a new data directory."
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
+ fi
+
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
+ # These are dir+prefix
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+
+ # Create missing directories.
+ # Always check if mysql user can write to directory even if we just
+ # created directory because a parent directory might be not
+ # accessible for that user.
+ PID_DIR="${EROOT}/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
+ || die "Failed to create PID directory '${PID_DIR}'!"
+ fi
+
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
+ else
+ rm "${_pid_dir_testfile}" || die
+ unset _pid_dir_testfile
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
+ else
+ rm "${_my_datadir_testfile}" || die
+ unset _my_datadir_testfile
+ fi
+
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
+ fi
+
+ if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+ MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
+ fi
+
+ # Now we need to test MYSQL_TMPDIR...
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+ else
+ rm "${_my_tmpdir_testfile}" || die
+ unset _my_tmpdir_testfile
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
+ else
+ rm "${_my_logbin_testfile}" || die
+ unset _my_logbin_testfile
+ fi
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
+ else
+ rm "${_my_relaylog_testfile}" || die
+ unset _my_relaylog_testfile
+ fi
+ fi
+
+ local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+ if [[ -z "${mysql_install_log}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
+ fi
+
+ local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+ if [[ -z "${mysqld_logfile}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
+ fi
+
+ echo ""
+ einfo "Detected settings:"
+ einfo "=================="
+ einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+ einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+ einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+ einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+ fi
+
+ einfo "PID DIR:\t\t\t\t${PID_DIR}"
+ einfo "Install db log:\t\t\t${mysql_install_log}"
+ einfo "Install server log:\t\t\t${mysqld_logfile}"
+
+ 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
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local pwd1="a"
+ local pwd2="b"
+
+ echo
+ einfo "No password for mysql 'root' user was specified via environment"
+ einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
+ einfo "file like '${HOME}/.my.cnf'."
+ einfo "To continue please provide a password for the mysql 'root' user"
+ einfo "now on console:"
+ ewarn "NOTE: Please 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
+
+ echo
+ fi
+
+ local -a mysqld_options
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && mysqld_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
+
+ local opt optexp optfull
+ for opt in 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}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+ [[ -z "${tz_sql}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
+ echo "USE mysql;" >"${tz_sql}"
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
+ if [[ $? -ne 0 ]] ; then
+ die "mysql_tzinfo_to_sql failed!"
+ fi
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--initialize-insecure"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
+ die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
+ fi
+
+ rm "${tz_sql}" || die
+
+ local x=${RANDOM}
+ local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+ local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
+ unset x
+
+ cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ --max_allowed_packet=8M
+ --net_buffer_length=16K
+ "--socket='${socket}'"
+ "--pid-file='${pidfile}'"
+ "--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
+
+ echo -n "Waiting for mysqld to accept connections "
+ local maxtry=15
+ while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ if [[ -S "${socket}" ]] ; then
+ # Even with a socket we don't know if mysqld will abort
+ # start due to an error so just wait a little bit more...
+ maxtry=5
+ while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ fi
+
+ echo
+
+ if [[ ! -S "${socket}" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
+ die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
+ fi
+
+ local mysql_logfile="${TMPDIR}/set_root_pw.log"
+ touch "${mysql_logfile}" || die
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
+ cmd=(
+ "${mysql_binary}"
+ --no-defaults
+ "--socket='${socket}'"
+ -hlocalhost
+ "-e \"${sql}\""
+ )
+ eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
+ local rc=$?
+ eend ${rc}
+
+ if [[ ${rc} -ne 0 ]] ; then
+ # Poor man's solution which tries to avoid having password
+ # in log. NOTE: sed can fail if user didn't follow advice
+ # and included character which will require escaping...
+ sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
+
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
+ die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
+ fi
+
+ # Stop the server
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ echo -n "Stopping the server "
+ pkill -F "${pidfile}" &>/dev/null
+
+ maxtry=10
+ while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ echo
+
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ # We somehow failed to stop server.
+ # However, not a fatal error. Just warn the user.
+ ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
+ fi
+ fi
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mysql/mysql-8.0.23.ebuild b/dev-db/mysql/mysql-8.0.23.ebuild
new file mode 100644
index 000000000000..28619bb74858
--- /dev/null
+++ b/dev-db/mysql/mysql-8.0.23.ebuild
@@ -0,0 +1,1159 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit check-reqs cmake flag-o-matic linux-info \
+ multiprocessing prefix toolchain-funcs
+
+MY_PV="${PV//_pre*}"
+MY_P="${PN}-${MY_PV}"
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.23-patches-01.tar.xz"
+
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz
+ https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-${MY_PV}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-8.0/${PN}-boost-${MY_PV}.tar.gz
+ ${PATCH_SET}"
+
+HOMEPAGE="https://www.mysql.com/"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="8.0"
+IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling
+ router selinux +server tcmalloc test"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!test? ( test ) libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )
+ cjk? ( server )
+ jemalloc? ( server )
+ numa? ( server )
+ profiling? ( server )
+ router? ( server )
+ tcmalloc? ( server )"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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"
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ >=app-arch/lz4-0_p131:=
+ app-arch/zstd:=
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ server? (
+ dev-libs/icu:=
+ dev-libs/libevent:=[ssl,threads]
+ >=dev-libs/protobuf-3.8:=
+ net-libs/libtirpc:=
+ cjk? ( app-text/mecab:= )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ numa? ( sys-process/numactl )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ virtual/yacc
+ server? ( net-libs/rpcsvc-proto )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/JSON
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:5.7
+ selinux? ( sec-policy/selinux-mysql )
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+"
+# 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 )"
+
+mysql_init_vars() {
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use server ; then
+ CHECKREQS_DISK_BUILD="2G"
+
+ if has test $FEATURES ; then
+ CHECKREQS_DISK_BUILD="9G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ CHECKREQS_DISK_BUILD="2G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="9G"
+
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+ [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \
+ && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+
+ if use latin1 ; then
+ # Upstream only supports tests with default charset
+ die "Testing with USE=latin1 is not supported."
+ fi
+ fi
+
+ if use kernel_linux ; then
+ if use numa ; then
+ linux-info_get_any_version
+
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+ fi
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mysql-patches
+
+ # Avoid rpm call which would trigger sandbox, #692368
+ sed -i \
+ -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
+ CMakeLists.txt || die
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ # Remove man pages for client-lib tools we don't install
+ rm \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1 \
+ || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # 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')"
+ -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/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ # Using bundled editline to get CTRL+C working
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_SSL=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ # 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)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DWITH_CURL=system
+ -DWITH_BOOST="${S}/boost"
+ -DWITH_ROUTER=$(usex router ON OFF)
+ )
+
+ if is-flagq -fno-lto ; then
+ einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
+ mycmakeargs+=( -DWITH_LTO=OFF )
+ elif is-flagq -flto ; then
+ einfo "LTO forced via {C,CXX,F,FC}FLAGS"
+ myconf+=( -DWITH_LTO=ON )
+ else
+ # Disable automagic
+ myconf+=( -DWITH_LTO=OFF )
+ fi
+
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+
+ mycmakeargs+=(
+ -DWITH_ICU=system
+ -DWITH_LZ4=system
+ # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex
+ -DWITH_RAPIDJSON=bundled
+ -DWITH_ZSTD=system
+ )
+
+ 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."
+ ewarn "Tests will probably fail!"
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+ elif use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci
+ )
+ fi
+
+ if use server ; then
+ mycmakeargs+=(
+ -DWITH_EXTRA_CHARSETS=all
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_MECAB=$(usex cjk system OFF)
+ -DWITH_LIBEVENT=system
+ -DWITH_PROTOBUF=system
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use jemalloc ; then
+ mycmakeargs+=( -DWITH_JEMALLOC=ON )
+ elif use tcmalloc ; then
+ mycmakeargs+=( -DWITH_TCMALLOC=ON )
+ fi
+
+ if use profiling ; then
+ # Setting to OFF doesn't work: Once set, profiling options will be added
+ # to `mysqld --help` output via sql/sys_vars.cc causing
+ # "main.mysqld--help-notwin" test to fail
+ mycmakeargs+=( -DENABLED_PROFILING=ON )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_EXAMPLE_STORAGE_ENGINE=0
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_FEDERATED_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='perl server' \
+# FEATURES='test userpriv' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname bug reason
+ rawtestname="${1}" ; shift
+ bug="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
+ echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ fi
+
+ # 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"
+
+ local -a disabled_tests
+ disabled_tests+=( "auth_sec.atomic_rename_user;0;Depends on user running test" )
+ disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" )
+ disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "main.cast;0;Needs update for 2021" )
+ disabled_tests+=( "main.mysql_load_data_local_dir;0;Known test failure - no upstream bug yet" )
+ disabled_tests+=( "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" )
+ disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Known failure - no upstream bug yet" )
+ disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware")
+ disabled_tests+=( "x.connection;0;Known failure - no upstream bug yet" )
+ disabled_tests+=( "main.mysqlpump_basic_lz4;0;Extra tool output causes false positive" )
+ disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" )
+ disabled_tests+=( "x.message_protobuf_nested;0;False positive caused by protobuff-3.11+" )
+
+ if ! hash zip 1>/dev/null 2>&1 ; then
+ # no need to force dep app-arch/zip for one test
+ disabled_tests+=( "innodb.discarded_partition_create;0;Requires app-arch/zip" )
+ disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" )
+ fi
+
+ local test_infos_str test_infos_arr
+ for test_infos_str in "${disabled_tests[@]}" ; do
+ IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
+
+ if [[ ${#test_infos_arr[@]} != 3 ]] ; then
+ die "Invalid test data set, not matching format: ${test_infos_str}"
+ fi
+
+ _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
+ done
+ unset test_infos_str test_infos_arr
+
+ # Try to increase file limits to increase test coverage
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # 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"
+}
+
+src_install() {
+ cmake_src_install
+
+ # 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 "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/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-5.7" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
+ cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ mycnf_src="my.cnf-8.0.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|utf8mb4|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+
+ if use router ; then
+ rm -rf \
+ "${ED}/usr/LICENSE.router" \
+ "${ED}/usr/README.router" \
+ "${ED}/usr/run" \
+ "${ED}/usr/var" \
+ || die
+ fi
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ # NOTE: $MY_LOGDIR contains $EPREFIX by default
+ [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}"
+
+ # Note about configuration change
+ einfo
+ elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/mysql.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/mysql.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
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog " \"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ einfo
+ else
+ einfo
+ elog "Upgrade process for ${PN}-8.x has changed. Please read"
+ elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html"
+ einfo
+ fi
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
+
+ if [[ ${#results[@]} -gt 0 ]] ; then
+ # When option is set multiple times only return last value
+ echo "${results[-1]}"
+ fi
+ }
+
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
+ local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+ if [[ ! -x "${mysqld_binary}" ]] ; then
+ die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+ if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+ die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+ fi
+
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ local -x HOME="${EROOT}/root"
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
+ # 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 "${MY_DATADIR}" ]] ; then
+ die "Sorry, unable to find MY_DATADIR!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
+ ewarn "Please rename or delete its content if you wish to initialize a new data directory."
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
+ fi
+
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
+ # These are dir+prefix
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+
+ # Create missing directories.
+ # Always check if mysql user can write to directory even if we just
+ # created directory because a parent directory might be not
+ # accessible for that user.
+ PID_DIR="${EROOT}/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
+ || die "Failed to create PID directory '${PID_DIR}'!"
+ fi
+
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
+ else
+ rm "${_pid_dir_testfile}" || die
+ unset _pid_dir_testfile
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
+ else
+ rm "${_my_datadir_testfile}" || die
+ unset _my_datadir_testfile
+ fi
+
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
+ fi
+
+ if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+ MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
+ fi
+
+ # Now we need to test MYSQL_TMPDIR...
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+ else
+ rm "${_my_tmpdir_testfile}" || die
+ unset _my_tmpdir_testfile
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
+ else
+ rm "${_my_logbin_testfile}" || die
+ unset _my_logbin_testfile
+ fi
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
+ else
+ rm "${_my_relaylog_testfile}" || die
+ unset _my_relaylog_testfile
+ fi
+ fi
+
+ local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+ if [[ -z "${mysql_install_log}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
+ fi
+
+ local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+ if [[ -z "${mysqld_logfile}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
+ fi
+
+ echo ""
+ einfo "Detected settings:"
+ einfo "=================="
+ einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+ einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+ einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+ einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+ fi
+
+ einfo "PID DIR:\t\t\t\t${PID_DIR}"
+ einfo "Install db log:\t\t\t${mysql_install_log}"
+ einfo "Install server log:\t\t\t${mysqld_logfile}"
+
+ local -a config_files
+
+ local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..."
+ fi
+
+ config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..."
+ fi
+
+ if [[ ${#config_files[@]} -gt 0 ]] ; then
+ if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then
+ local user_answer
+
+ echo
+ einfo "Please select default authentication plugin (enter number or plugin name):"
+ einfo "1) caching_sha2_password [MySQL 8.0 default]"
+ einfo "2) mysql_native_password [MySQL 5.7 default]"
+ einfo
+ einfo "For details see:"
+ einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password"
+ read -p " >" user_answer
+ echo
+
+ case "${user_answer}" in
+ 1|caching_sha2_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password
+ ;;
+ 2|mysql_native_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password
+ ;;
+ '')
+ die "No authentication plugin selected!"
+ ;;
+ *)
+ die "Authentication plugin '${user_answer}' is unknown/unsupported!"
+ ;;
+ esac
+
+ echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}"
+
+ unset user_answer
+ fi
+
+ local cfg_option cfg_option_tabs cfg_section
+ for config_file in "${config_files[@]}" ; do
+ cfg_option="default-authentication-plugin"
+ cfg_section="mysqld"
+ cfg_option_tabs="\t\t"
+ if [[ "${config_file}" == *client.cnf ]] ; then
+ cfg_option="default-auth"
+ cfg_section="client"
+ cfg_option_tabs="\t\t\t\t"
+ fi
+
+ if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then
+ einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \
+ "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!"
+ else
+ einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \
+ "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!"
+ fi
+ done
+ unset cfg_option cfg_option_tabs cfg_section
+ fi
+ unset config_files config_file
+
+ echo
+
+ 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
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local pwd1="a"
+ local pwd2="b"
+
+ echo
+ einfo "No password for mysql 'root' user was specified via environment"
+ einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
+ einfo "file like '${HOME}/.my.cnf'."
+ einfo "To continue please provide a password for the mysql 'root' user"
+ einfo "now on console:"
+ ewarn "NOTE: Please 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
+
+ echo
+ fi
+
+ local -a mysqld_options
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && mysqld_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
+
+ local opt optexp optfull
+ for opt in 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}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+ [[ -z "${tz_sql}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
+ echo "USE mysql;" >"${tz_sql}"
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
+ if [[ $? -ne 0 ]] ; then
+ die "mysql_tzinfo_to_sql failed!"
+ fi
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--initialize-insecure"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
+ die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
+ fi
+
+ rm "${tz_sql}" || die
+
+ local x=${RANDOM}
+ local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+ local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
+ unset x
+
+ cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ --max_allowed_packet=8M
+ --net_buffer_length=16K
+ "--socket='${socket}'"
+ "--pid-file='${pidfile}'"
+ "--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
+
+ echo -n "Waiting for mysqld to accept connections "
+ local maxtry=15
+ while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ if [[ -S "${socket}" ]] ; then
+ # Even with a socket we don't know if mysqld will abort
+ # start due to an error so just wait a little bit more...
+ maxtry=5
+ while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ fi
+
+ echo
+
+ if [[ ! -S "${socket}" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
+ die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
+ fi
+
+ local mysql_logfile="${TMPDIR}/set_root_pw.log"
+ touch "${mysql_logfile}" || die
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
+ cmd=(
+ "${mysql_binary}"
+ --no-defaults
+ "--socket='${socket}'"
+ -hlocalhost
+ "-e \"${sql}\""
+ )
+ eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
+ local rc=$?
+ eend ${rc}
+
+ if [[ ${rc} -ne 0 ]] ; then
+ # Poor man's solution which tries to avoid having password
+ # in log. NOTE: sed can fail if user didn't follow advice
+ # and included character which will require escaping...
+ sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
+
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
+ die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
+ fi
+
+ # Stop the server
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ echo -n "Stopping the server "
+ pkill -F "${pidfile}" &>/dev/null
+
+ maxtry=10
+ while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ echo
+
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ # We somehow failed to stop server.
+ # However, not a fatal error. Just warn the user.
+ ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
+ fi
+ fi
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mysqltuner/Manifest b/dev-db/mysqltuner/Manifest
index 7f61b39bcf7d..8fece49da219 100644
--- a/dev-db/mysqltuner/Manifest
+++ b/dev-db/mysqltuner/Manifest
@@ -6,5 +6,5 @@ DIST mysqltuner-1.7.17.tar.gz 213429 BLAKE2B 166ed3d657a529ce7c8e92648bcbf6da91f
EBUILD mysqltuner-1.6.18.ebuild 819 BLAKE2B 28fbddde037358d38eac70b778e77e255c3a2fcc812652ed42bd3482bca055c81beabd4bdb879d08b05cb15c6b9a5d036a2db0ecdc032fefbfcca8d5b7de1a48 SHA512 097e8b3cecb29cfc084d73befee963c656b017202f048fcd04d8b2a7880218500fd8f52a7b72edbf5f4fa8f8d3780924d8fe954a254c048d6b4f8264f9107dea
EBUILD mysqltuner-1.7.13.ebuild 825 BLAKE2B 0a4c896905040f43d559161fece619065e9da1392a9cc9814743cf6170a0d279a781a224174f9621884c52db36345766b62826442268af3f06ac5dc085fe7d36 SHA512 3496115cd682c512e34d46fd5f5db623a78618737b5c23e400e7dedd0f96b6ab1b641abf6fbd394e7d283f00025971f58e9fe3a6c8b371d92824076a3cb4bc17
EBUILD mysqltuner-1.7.15.ebuild 954 BLAKE2B c769e561ab9abbcb314394bca95314e8f1c41464187c8b77952cec9e4e13c20f47f03b0feecc360a6b6a235576fc4b498c05fadfdb0f87eff0e705205fe0347a SHA512 cf78ab7498b00bf8a696b589e22d624fcfb72a1354637e01e36506b54d386abb79e66971ba8c69d3517b7dd699934a9292ee84bcfc10d6bb946391f6196868b5
-EBUILD mysqltuner-1.7.17.ebuild 840 BLAKE2B 0afbbc1c5be8eb0000c95aed44b8213f24daca361ffafcca733f8a0a773d374d7d6db68974e7ed96d9b7309ac6710e08588d6058f395f6e13b827d2690ddbe89 SHA512 2e06dae8f0ffb9c11abbafefe1a2a46b6e93929aa7194c201a17e7f5ce4ac128cf54bc81ec9f3a24d985c08099907246c42350ea1262441d9459847f6c29fb58
+EBUILD mysqltuner-1.7.17.ebuild 839 BLAKE2B 4d2a3472151d27aaa5b5a6a7363d5ff635b850b7b77e5db30296cc9e080ad6837e0635d65668197a6da39ed29e092a0d2fefb4c2fce242b176fba41191e121c3 SHA512 92c1de87b8e62e95cf772aa6ca80fbe3d8aa7fbf2096910bb3e76e98d4c3dc98e94090ac8c64556d18035992873b5b869c2a2199b705f1cb4001fc6b239c13b8
MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33
diff --git a/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild b/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild
index f9caa472df48..732f4a0e5036 100644
--- a/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild
+++ b/dev-db/mysqltuner/mysqltuner-1.7.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/major/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND="
dev-lang/perl
diff --git a/dev-db/percona-toolkit/Manifest b/dev-db/percona-toolkit/Manifest
index 3a9aeb1c2468..9df1914dfbd2 100644
--- a/dev-db/percona-toolkit/Manifest
+++ b/dev-db/percona-toolkit/Manifest
@@ -8,9 +8,11 @@ DIST percona-toolkit-3.0.13.tar.gz 10855538 BLAKE2B 30dfbd3c56da64de10ce5d960a9b
DIST percona-toolkit-3.0.9.tar.gz 15197340 BLAKE2B 095d8c0b26853caa6d2515de1d8fb8ff13b3084caa46498c8c789cd4e7b18473d41992701e393ad91cd7fdda8b3e56a099600285aeb4ba788110d36a028f76b6 SHA512 56a8732cfdbd58d0602e482d7bf049d2049104b7ae203d756db81a052cd837f16d2a35f75def4f23748534d0d2eb6441cb9fe49175a931fbcdbb6adeb42f1c53
DIST percona-toolkit-3.1.0.tar.gz 18106856 BLAKE2B 4a08e70a03d80e86e2fd7ba4ac77be9568643faf46bb653ef9e18015b95d36936034369a8adf9de4e09d2ca6cd25a845b140d6dd2c41027597f08d74f328ad26 SHA512 6dd2de997fe9627897dad453277544142cbdcba41bf30de21ee10c292c671bc089df0e299a8e386af082511c57ac53621b8e11f4ae43e98ea41eeca0c76f652f
DIST percona-toolkit-3.2.1.tar.gz 15521123 BLAKE2B 7f8222a2afe2c0700d8f965bb5f8d2ef99c1136b977454ef04133fa8dfeb0192c49552dfde90a2d4d69116c2ba7c4a998fc330f64546691982946624bf24efef SHA512 17fd9f10d2d5671c3ce75dfeba501b9c34b216844b8d8ceb03fadbfb6396cedb7b672d52af7a831739a417d6fcc5b538b4772ffdb9b55816d94fac87e88ba472
+DIST percona-toolkit-3.3.0.tar.gz 15342520 BLAKE2B fcafede75cf15ad61efe18eac057cedab11e570cc6a17d48345cd046638b6b1c89b8f233f26cd051301ea0d6bdd03996b4007fc09a84cd44464beb3ca7150b70 SHA512 87bb5bcccabf782eafc0e363f3a5d75e9e28d5edd9d4278df5f455c90207296dc9035f85311567bd210109a2796484010d8a11fa4d4a5bee09f228aedb6b3bb2
EBUILD percona-toolkit-2.2.20.ebuild 1213 BLAKE2B 2bcc433599d64b15225e508fa16c50634b34c9963c38fae7d8ac412e730c9566751bfa1c784254018e40b5a6d8fcb6b4e52c2f85df7362d43bcf153282f7766b SHA512 f1b0b8a48e99d616d9a54a5bf6c39a06ef5e6f48992fe3e0584d464d7ed1abc5f6f08a14488cbffd4fcf4d8afe8791112094438baf06a5a4b788a953d539288b
EBUILD percona-toolkit-3.0.13.ebuild 1325 BLAKE2B c8dc51ce757c3165957190266fa484bf74451644cdc62a464d8276fd6d3523a2b2864caa27b766c7e90b1c02c81d940ebd706e876922020c0feb878eb3083d26 SHA512 152841e2bd6be6e7015be3c929e1ecef678bf4456b9beba1ace9dac5f129e02d7373b460bb445ab0c69e10c351602907d33dcddb14faf624013790f9cfe54753
EBUILD percona-toolkit-3.0.9.ebuild 1249 BLAKE2B bd743a722e60cade6307bd04c774a77d0e01b2272e82974be486b47d0462120910c1182ba6fc3f7cf268f4ebfa04d432e456f62079010621aeaf6b325c743b54 SHA512 988d423c3125592608caa659543b508dcea2048b0c905a24c924e75894ca7c93924908e49f5c6c2c5d660a7b90a242e558e874849f0793d58a82abec1ad38982
EBUILD percona-toolkit-3.1.0-r1.ebuild 1389 BLAKE2B 43f48d8cbaa1bebcef5c8d9100f2d270931ee2ac0d5649b1aa66bd2f0fb6c56238d5eb30b5a3d1b2bbe4915470976af3e80f04aa97e173a5214f182d41772953 SHA512 fb554bae9ebc93863faf381a59ab0ce64f41c0374061c34d5b6c34e8728ee771a2c90ea852adb8857211adf52cdfd9e48072fcf079a68c20f3554788775bdffd
EBUILD percona-toolkit-3.2.1.ebuild 1327 BLAKE2B 721af4c15c6c1bacae62569f8320698899ac7c26d6694790d4457ea65b2ec12c476d2d3d80e42d8f9f589e4aa8d5c81b76c29484e6f9cf68387bf00cbd2e8000 SHA512 c159ad4696e2fe86b012a24ee3a69da0fe7134c248786936d0f1bca1b0e3672825dd10c1ee485d187d26fa3f0870c453fbbf67de89b28cf770ed640fe9b2b265
+EBUILD percona-toolkit-3.3.0.ebuild 1327 BLAKE2B bb75b25d57fdd2994bc049e55e98060645995111384cd47c9d7c9ee21d7813be85e21622af3e95f08912cd1adc18a990376b611f32c2ebabea5a6659d61e5658 SHA512 61683cb1082708ade2edfc15a8e68c42795582891b9c4d930981d76ddd0473bdac64105d3d25b230380067a9ce7ef4453e7558a1bdbad5f3439eac3cfd8aeefd
MISC metadata.xml 723 BLAKE2B f5150e42397c47b3815de1c9ff8414e12f517501e7075c5fddf3ac800a2c0a654db5d2fccef57609629017713f3a80a81164886b82d16df282601452e1bd5705 SHA512 b0e9ddbbd1834f5867600530e946ce30786ea83e779f62bf894facc0bb3f0fd5a58f6095f0e006d565e04370c89ae4101d9cfb9b7243704118eb7629ae0e0f9e
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild
new file mode 100644
index 000000000000..2baf33ca254c
--- /dev/null
+++ b/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit perl-module
+
+DESCRIPTION="Advanced command-line tools to perform a variety of MySQL and system tasks"
+HOMEPAGE="https://www.percona.com/software/mysql-tools/percona-toolkit"
+SRC_URI="https://www.percona.com/downloads/${PN}/${PV}/source/tarball/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 Artistic )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+# Package warrants IUSE doc
+IUSE=""
+
+COMMON_DEPEND="dev-perl/DBI
+ dev-perl/DBD-mysql
+ virtual/perl-Time-HiRes"
+RDEPEND="${COMMON_DEPEND}
+ dev-perl/JSON
+ dev-perl/libwww-perl
+ dev-perl/Role-Tiny
+ virtual/perl-File-Path
+ virtual/perl-Getopt-Long
+ virtual/perl-Time-Local
+ virtual/perl-Digest-MD5
+ virtual/perl-IO-Compress
+ virtual/perl-File-Temp
+ virtual/perl-File-Spec
+ virtual/perl-Scalar-List-Utils
+ dev-perl/TermReadKey"
+DEPEND="${COMMON_DEPEND}
+ virtual/perl-ExtUtils-MakeMaker"
+
+# Bug #501904 - CVE-2014-2029
+# sed -i -e '/^=item --\[no\]version-check/,/^default: yes/{/^default: yes/d}' bin/*
+# ^ is *-no-versioncheck.patch
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.7-no-versioncheck.patch
+ "${FILESDIR}"/${PN}-3.0.10-slave-delay-fix.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \
+ Makefile.PL || die
+}
diff --git a/dev-db/percona-xtrabackup/Manifest b/dev-db/percona-xtrabackup/Manifest
index 06cf7ae189b4..15364776e6d1 100644
--- a/dev-db/percona-xtrabackup/Manifest
+++ b/dev-db/percona-xtrabackup/Manifest
@@ -2,12 +2,19 @@ AUX percona-xtrabackup-2.4.11-fix-gcc6-isystem.patch 4034 BLAKE2B 0ce65196d46794
AUX percona-xtrabackup-2.4.20-fix-gcc10.patch 931 BLAKE2B 77c433ab006f2fc5c36c5cee17fd37d98136779884ad0075b4547671690307a253dec9ac7aa80998bb1ee02b5568d053d7b41b5df348b5338c83497c744d421f SHA512 2a6f4f745a57df0f8df4f684e8ab194de0b00c1578e91823c7cafce1338bbfea873d1fb7d34f94233e40fb7a0b9d7edd869a482e7cb46f3706caf3d297983397
AUX percona-xtrabackup-2.4.6-remove-boost-version-check.patch 485 BLAKE2B c9330c5b0a163a0d95682a81cee9e3c99cebdb2a6ed124cb5f424ade92728b11b29685e2c1eee0fbf9df613f5a1b08cc4021daec8b60a6c66ab51b08a397b33d SHA512 31277d6bef14a6b642ce425ce9f2c92fe49f905c42c720a583cb45406c1ee18ccbf2bef224b9b89bb02de18aecc1ec48576f5ca0c9bfef0cc683d78218506906
AUX percona-xtrabackup-8.0.13-remove-rpm.patch 1139 BLAKE2B c2ada7337f6596ac5c37b1ebe7f2324fb4ee43e14ec41cfeb8d861bc2df0614ca1957c9d44cf81530b1f4bac9d6143edc906721aeebfe4551fe37dec9a41ed7b SHA512 99d4e92c5f979b4d3e9edb6ebae73e88f81d5696826d4f477f8cd885d8c54d955c879eed45779aca092facfef7aa29f818cf467c3302a7e8db6ca89fa5e38e28
+AUX percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch 1094 BLAKE2B 25b43fc6ca621e6f7a93a214580fb491d7c8c4ac7d4fbaca93e521eebb6b63b48e5526cd8aeff4d92c7715416833ed16df4c258ebbd8c5ce8015a0afdd32e11d SHA512 c0b9fe123766b70d324dd9388bd0762e734bc728c3dd8f750f06ac7432a1907fc45aaad7b1c79418446af0c416e962c116a15e17ac7091607df09f2fa04fa555
+AUX percona-xtrabackup-8.0.22-remove-rpm.patch 1086 BLAKE2B fdac1fa3f83cd7b3b82ca7dd443ba9d170051d1b2e92fbb267524b46c8272c28586cce58de6b71eae1372f08fd5e89b0faee567885bc3de7650cb42c4749ec8a SHA512 2362805b7937b9b1922f4d8be86031b58df9c1475c849052727f190ec08b32cbf07bee98ac38fe7a362e8e10fa1dcb4ee16f9bbeb6f36ddfc2931b9f14c05553
DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae
DIST boost_1_70_0.tar.gz 116000903 BLAKE2B aefeddf5671295ae46fcfed033cef37cca1c70f88d7d3305636e0add98c277fc8170c7e3e0de58ff83a64389b5b430b81077b6852da5941aa4867845a7b08554 SHA512 3d8800d0aa864fb5484a5339ab75dee9bceca063122108e92d971f1d1295a9f09399b2dd88b117da7f0c4558b4f9fb1494eda1e3035498557bbe90e8f058668f
+DIST boost_1_73_0.tar.bz2 109247910 BLAKE2B 5995ff6ca21f45988b187b94bf743795cca97531baa8355f488be0987b9426289dd85d6ce25b7eb03ccd690109f05ba56252a95bca50505ad9cd66f4e0e234e8 SHA512 86c296511c0766145097625a62bf099c3d155284d250ad6e528e788bc90b2945838498dfe473c6c6c78d1694b6fba8e19f7dee0d064a043841e6231603fff668
DIST percona-xtrabackup-2.4.15.tar.gz 57357749 BLAKE2B fcc64736230636a3a5584a300229e0507f00bcd64a3d0b8e00f834b15ec757347a55a85521dd0aea939761c3a26b1ef99466ff7e633133b8088cd290bd835444 SHA512 789b6870d3ad06861126f67190717ffb31224628d1b9631ec5f39d0a41b3c66aaf2127e3ec4b38d3e8f7858a1438a74f0e89b07b9f4248b637b2ed39143ab599
DIST percona-xtrabackup-2.4.20.tar.gz 59782001 BLAKE2B 25deaa3044d89d6f884734bbaee20004d792f4b0bf86bd0d456177cd2b149c29af13900b32e29f92c04cf810b34584ec2d9a74b443be27b8c7dca54b330ced99 SHA512 bac5d276bb78209eacc34ea9950dc128a636c549795b6b071597ac3c8a43fefe9db085a42827b8176647affc2fcfc6caa51462dbc0ae7a1a716ba6fdc9092478
+DIST percona-xtrabackup-2.4.21.tar.gz 61901220 BLAKE2B 77245818015d4e9c22d05cfeb254ff570ab490c43f9d2fd0e1c499e1e3fefb143b4659fb929740a563e2344b3cd7dfb408931c6d24b277f6df06886dfa83126e SHA512 8b14ef4620fdf836a090d07e5aeb78141eacf081a2cf1069d91af1ba5206e36e3e195f8acb06609f334661d6ad27937b31e997b0f1aabb9cef612d35fabd0284
DIST percona-xtrabackup-8.0.13.tar.gz 272887474 BLAKE2B d0ac4c602c7c3197ca0a7c361f9658bd2da00bdac5c6dc0a4d56b92e04e4e6c86f22b70e7cf2b375f121983ea7f134edae93116c91945b2c3314a51565033ae5 SHA512 b1fdb0dea1c8b6e39b5451153f01c8ce0dcf411fd88fe8f9f686e562e0950ff9270a39574230ada928b734cc8bb4517da0f01310e75d5c9beba0e35cfeaa11ff
+DIST percona-xtrabackup-8.0.22-15.tar.gz 294237178 BLAKE2B 819d7594bc41e0adc1e6f2632e6ad50de7a2416c7577f48ea83948bed1b14c0c552c4c44597c84c86fa292bcbbaace185978956acdc39070f81ede6701f4af52 SHA512 f5295e2f1e3ee71931295f89dbd708eed936c4912ab3b6c122eb63795ee2e5154011ddf95cfad005a89c7f086f087f7fb19068d098b49202c697a95b58ee7672
EBUILD percona-xtrabackup-2.4.15.ebuild 1778 BLAKE2B 74e30f27b5dc192c2fe8050cb881b1c5450a0f0d39c630580bf93b8bb95312602b30fa827a06df1794410b2d655f8adc2be9fef596ea26bdf00d071800f99f72 SHA512 fa47544c2b83c281d04a3b9f2e435a36a47d94bce872b3b0fce45071cdffc196c0bd03ca41837a2d2132a09880c1a443216f9b7d98ffe856a3323f8de9067bed
EBUILD percona-xtrabackup-2.4.20.ebuild 1535 BLAKE2B 41170fcaab472910dde609fb7b12aa6918a708018a7fde9cc182276b8383fd041c322141aea8dcf599752a88e2ed5872f4087ac11cc27387495f7574af1be594 SHA512 592dacff26ec640eec56853e8a9bbe63ba8ecae859463e55aac9478c393d05409e3b0bd9a7aefbd4795f37ef213e183c9e24f9929ea05f470c33a6034e5a1fd3
+EBUILD percona-xtrabackup-2.4.21.ebuild 1499 BLAKE2B 00e2dcb73eee4fcc85847e8524c67195d50e53675dfd9e65d2c4e2ad286cdf18416809f185be81256c59fb5908cf5b44893d365c3f0fb535c8025334350c573c SHA512 b436b90f4aa3bd37471c30f3cf23d35327f6d06d67ba4def513e49528fcc6569c22afee356392c877b951c49d60f2235e408ac18e11d61606105bb5ff00aa7a7
EBUILD percona-xtrabackup-8.0.13.ebuild 1545 BLAKE2B 42ea67173b4c4f462e0acbe4a5ebdf2cae8ea7764df7d5353c73f65dd5d9023a2833e8e8c7baf9b4f8316d5179ea5aa3a7ca1b55eebd88d43fb89cbea333928d SHA512 5967bb6a3e95187d13c4b6995cfd8b151aa1d1fa9c4dadfa1bf0791ff8748a73705a750214115c62c92c41c483d48872e38c7915e82fbc4ef90d79f594a135c2
-MISC metadata.xml 258 BLAKE2B 0ed1f43157a23ac7477592c1eeab36b0b85a0352c488b93df9fe605cf9d3eb40aac636a8791f906ce78bd6a453928f81b9497ffdb0df936c35c919872f9bb33a SHA512 cdce5f5e2e7f2fa95a7fea95b60d014c6e6853ab8adc829a0f9ad5b9baa15d353a3756bc7c38b44e1e8989254a23232f8e539d054a66d2ad79f7fd8d7f3ba40c
+EBUILD percona-xtrabackup-8.0.22.15.ebuild 1867 BLAKE2B 626bc0a244a6335f0b8f65ea586e1d26bd2215b239338160f6dcf5a0cb832a810d1a128de7c0599c74fa6c61a8389b002ab9a800d4fd9dfd7ef924d3f32ff0c5 SHA512 d5387d3a5ddf1232786b4d477b404f856484f4d2c9ef4a1b3edc7b4d9f0fb001e18137f0ac597da9ea7c6feed96fe74503126e17d0ff2f890bf12f33ff9c06d9
+MISC metadata.xml 334 BLAKE2B dcc722d923e0f35bd57d67664edf99e7bc159816aa88b4ea210b72a643326c64ed26082088e0468c2b51670b1bd913e66e5f8a99adcb847b42e7f61e7a354223 SHA512 035813d50369063ec1da627ed05ad625045a52e252441bbd4ada2035913525fb18dbf443a57af587aa0f1f18a4e87168e4b683cd33b701e1f115d7e852a81add
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch
new file mode 100644
index 000000000000..b3e1662a0cf6
--- /dev/null
+++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-fix-building-against-ICU-68.patch
@@ -0,0 +1,28 @@
+From 16048ed60bef16d4bf1e361a59e7899845b9426a Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Sun, 20 Dec 2020 21:47:33 +0100
+Subject: [PATCH 10/10] Fix building against >=ICU-68
+
+Link: https://github.com/unicode-org/icu/commit/a18df7ba2834afc2b577a1d5a7d906868ade6fa9
+Bug: https://bugs.gentoo.org/759070
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ sql/mysqld.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sql/mysqld.cc b/sql/mysqld.cc
+index c400e5584..5d2ebfaea 100644
+--- a/sql/mysqld.cc
++++ b/sql/mysqld.cc
+@@ -7323,7 +7323,7 @@ int mysqld_main(int argc, char **argv)
+ if (opt_keyring_migration_source || opt_keyring_migration_destination ||
+ migrate_connect_options) {
+ Migrate_keyring mk;
+- my_getopt_skip_unknown = TRUE;
++ my_getopt_skip_unknown = true;
+ if (mk.init(remaining_argc, remaining_argv, opt_keyring_migration_source,
+ opt_keyring_migration_destination, opt_keyring_migration_user,
+ opt_keyring_migration_host, opt_keyring_migration_password,
+--
+2.29.2
+
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch
new file mode 100644
index 000000000000..91f67c437168
--- /dev/null
+++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.22-remove-rpm.patch
@@ -0,0 +1,31 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -222,28 +222,6 @@ ENDIF()
+ OPTION(FORCE_UNSUPPORTED_COMPILER "Disable compiler version checks" OFF)
+ MARK_AS_ADVANCED(WITHOUT_SERVER FORCE_UNSUPPORTED_COMPILER)
+
+-# Use 'uname -r' and 'rpm -qf /' to figure out host system.
+-# For Docker images we cannot trust uname, so use rpm instead.
+-IF(UNIX)
+- FIND_PROGRAM(MY_UNAME uname /bin /usr/bin /usr/local/bin /sbin)
+- IF(MY_UNAME)
+- EXECUTE_PROCESS(COMMAND ${MY_UNAME} -s
+- OUTPUT_VARIABLE MY_HOST_SYSTEM_NAME
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- RESULT_VARIABLE MY_UNAME_RESULT
+- )
+- EXEC_PROGRAM(${MY_UNAME} ARGS -r OUTPUT_VARIABLE MY_HOST_SYSTEM_VERSION)
+- ENDIF()
+- FIND_PROGRAM(MY_RPM rpm /bin /usr/bin)
+- IF(MY_RPM)
+- EXECUTE_PROCESS(COMMAND ${MY_RPM} -qf /
+- OUTPUT_VARIABLE MY_HOST_FILESYSTEM_NAME
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- RESULT_VARIABLE MY_RPM_RESULT
+- )
+- ENDIF()
+-ENDIF()
+-
+ # See comments above, about CMAKE_MINIMUM_REQUIRED VERSION and macOS 11.
+ IF(APPLE)
+ IF(MY_HOST_SYSTEM_VERSION VERSION_GREATER_EQUAL 20)
diff --git a/dev-db/percona-xtrabackup/metadata.xml b/dev-db/percona-xtrabackup/metadata.xml
index 5a6137a144a5..379f247efeb0 100644
--- a/dev-db/percona-xtrabackup/metadata.xml
+++ b/dev-db/percona-xtrabackup/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
<upstream>
<remote-id type="github">percona/percona-xtrabackup</remote-id>
</upstream>
diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild
new file mode 100644
index 000000000000..967e9fa2e0e1
--- /dev/null
+++ b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.21.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Hot backup utility for MySQL based servers"
+HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
+SRC_URI="https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-${PV}/source/tarball/${P}.tar.gz
+ mirror://sourceforge/boost/boost_1_59_0.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ app-arch/lz4:0=
+ app-editors/vim-core
+ dev-libs/libaio
+ dev-libs/libedit
+ dev-libs/libev
+ dev-libs/libevent:0=
+ dev-libs/libgcrypt:0=
+ dev-libs/libgpg-error
+ dev-python/sphinx
+ net-misc/curl
+ sys-libs/zlib:="
+
+RDEPEND="
+ ${DEPEND}
+ !dev-db/percona-xtrabackup-bin
+ dev-perl/DBD-mysql"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.6-remove-boost-version-check.patch
+ "${FILESDIR}"/${PN}-2.4.20-fix-gcc10.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CONFIG=xtrabackup_release
+ -DBUILD_SHARED_LIBS=OFF
+ -DWITH_BOOST="${WORKDIR}/boost_1_59_0"
+ -DWITH_EDITLINE=system
+ -DWITH_LIBEVENT=system
+ -DWITH_LZ4=system
+ -DWITH_SSL=system
+ -DWITH_ZLIB=system
+ -DWITH_PIC=ON
+ )
+
+ local CMAKE_BUILD_TYPE="Release"
+ cmake_src_configure
+}
+
+src_install() {
+ local p="${BUILD_DIR}/storage/innobase/xtrabackup"
+
+ dobin "${p}"/src/{xbcloud/xbcloud,xbcrypt,xbstream,xtrabackup}
+ dosym xtrabackup /usr/bin/innobackupex
+
+ einstalldocs
+ doman "${p}"/doc/source/build/man/*
+}
diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild
new file mode 100644
index 000000000000..1f27bfcbcf14
--- /dev/null
+++ b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.22.15.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+inherit cmake flag-o-matic
+
+MY_BOOST_VERSION="1.73.0"
+MY_PV=$(ver_rs 3 '-')
+MY_PV="${MY_PV//_pre*}"
+MY_PN="Percona-XtraBackup"
+MY_P="${PN}-${MY_PV}"
+MY_MAJOR_PV=$(ver_cut 1-2)
+
+DESCRIPTION="Hot backup utility for MySQL based servers"
+HOMEPAGE="https://www.percona.com/software/mysql-database/percona-xtrabackup"
+SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz
+ https://dl.bintray.com/boostorg/release/${MY_BOOST_VERSION}/source/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION}).tar.bz2
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ app-arch/lz4:0=
+ app-editors/vim-core
+ dev-libs/icu:=
+ dev-libs/libaio
+ dev-libs/libedit
+ dev-libs/libev
+ dev-libs/libevent:0=
+ dev-libs/libgcrypt:0=
+ dev-libs/libgpg-error
+ dev-libs/openssl:0=
+ dev-libs/protobuf:=
+ dev-libs/rapidjson
+ dev-libs/re2:=
+ dev-python/sphinx
+ net-misc/curl
+ sys-libs/zlib:="
+
+RDEPEND="
+ ${DEPEND}
+ !dev-db/percona-xtrabackup-bin
+ dev-perl/DBD-mysql"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.22-remove-rpm.patch
+ "${FILESDIR}"/${PN}-8.0.22-fix-building-against-ICU-68.patch
+)
+
+S="${WORKDIR}/percona-xtrabackup-${MY_PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CONFIG=xtrabackup_release
+ -DBUILD_SHARED_LIBS=OFF
+ -DWITH_BOOST="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})"
+ -DWITH_SYSTEM_LIBS=ON
+ )
+ local CMAKE_BUILD_TYPE="Release"
+ cmake_src_configure
+}
+
+src_install() {
+ local p="${BUILD_DIR}/storage/innobase/xtrabackup"
+
+ dobin "${p}"/xbcloud_osenv
+ dobin "${BUILD_DIR}"/runtime_output_directory/{xbcloud,xbcrypt,xbstream,xtrabackup}
+
+ dolib.so "${BUILD_DIR}"/plugin_output_directory/{keyring_file.so,keyring_vault.so}
+
+ doman "${p}"/doc/source/build/man/*
+}
diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest
index 5976f645c3fa..0597da720c5c 100644
--- a/dev-db/pgadmin4/Manifest
+++ b/dev-db/pgadmin4/Manifest
@@ -2,5 +2,5 @@ AUX pgadmin4.desktop 298 BLAKE2B 9048ee03c9f8e05807f2907fd7dcfda9d76bb3cd3b25676
DIST pgadmin4-4.26.tar.gz 33525278 BLAKE2B 2a4061f59299bc48b029a4a93f410538170b6c3d97597074d2b3b6eed1de0f9a1ac88bc187614d9e46d8fe872941f173ba0f0a02def590451dad09e6a3b78e5a SHA512 952a4771f80541c54234fcaa9c870283fdf4887246d0d9751a77c28340b7e39ba871141f230086efda9a274d5e6bd567305047cdc7edf766ccd41112281fdf94
DIST pgadmin4-4.29.tar.gz 35389494 BLAKE2B faaa84c0eee9c92ba483f4adffaf9e39e0c5f8ea21630a9ee8fad62aa833c88aa913df50c760be740afa0696aa1fbf1b6902a8b5bfd322822472f7d2dcb295e1 SHA512 2c7d20d10c96712f41621c2862a6a6222f6d6dad4a0b3e1aaf04744e65744460dcae4220f61b27785e02c82a624fa0793df2ea9d8e83ac0a6de048455929e615
EBUILD pgadmin4-4.26.ebuild 3795 BLAKE2B 0e5e00d49abef6ba610ed3808058bd3835ad6e31f76f1beacd8298d962d5b5d18dc3ee0484724a11fb437c9965694e28d4708afd83b13918504f9451a79cdf21 SHA512 ab2abe86a00380b5347429afcaa0de03bb66e082c2b94c1af23c06f7116dc596d261d52a5ded6b47f2b13440a2b76a9fbcafe0e90df0228703371aba60d80ced
-EBUILD pgadmin4-4.29.ebuild 3924 BLAKE2B fea400403695aeb1507ba07615ebde52cd9bd8b23e05eafd734c4b6eb9e837e170777c9af29b0fde2e0e04f351183acbba50970e9e44f267acaa2046859d00ae SHA512 353570463deffe5a45926dac13389d137267b3b642f79ccc46fdf0be243d2162f2b18a7ff407996bb84181d11b2377a13fc5712c86e4ddcf046f1ef603a0536b
+EBUILD pgadmin4-4.29.ebuild 3926 BLAKE2B 5a28b1b3fb5b7b7c3806cf590269224ff713dc85e91b413694bc84a2ca46da9cd49d5b08c883bb08a40a7b43e72b87fc2b512554fa2686ea23f5421365d6088d SHA512 96f3ef682c951fe80005cdf8021f14d34ac6c9f040f15b7142f2a4c80b316cb44c3a90a3ebfca9f53b34c2bbf03684c067f95dc552e4790b3a9e518ec6a850a2
MISC metadata.xml 266 BLAKE2B 9d5988ab45f9939f9be5ee7f4b7a9950a3d62252aa0d3e6c953265467428c59fb8c05b2bb72085431b7aa9fc18d31f2b3273e8fdb33443d786b2237db697b7e2 SHA512 9f85990c7ce6a1de5c1067e4781af18bede2d3bd02963a7b2927766b70dbe98d3fb63bb01e19b1cf6e2b77038d9788bf38155b3cc33f9e5ff8430b10a4006325
diff --git a/dev-db/pgadmin4/pgadmin4-4.29.ebuild b/dev-db/pgadmin4/pgadmin4-4.29.ebuild
index f795a75bfb27..407c7e2e6dcd 100644
--- a/dev-db/pgadmin4/pgadmin4-4.29.ebuild
+++ b/dev-db/pgadmin4/pgadmin4-4.29.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{6,7,8,9} )
PYTHON_REQ_USE="sqlite"
inherit desktop python-single-r1 qmake-utils xdg
diff --git a/dev-db/pgcli/Manifest b/dev-db/pgcli/Manifest
index 3bade1fb664d..ad45dc969815 100644
--- a/dev-db/pgcli/Manifest
+++ b/dev-db/pgcli/Manifest
@@ -1,4 +1,6 @@
AUX pgcli-3.0.0-sqlparse.patch 1258 BLAKE2B bb899fcd3e059e3380d3bdba12765a1709af9cdb7f9da7358a436afc7229c8b33a2c83e27895321b6fe327ba2e81a35166a04649928d52215fc429df09d16b63 SHA512 c2e40269a65fe07140329c70d063e23dbf6853939005a35b209d1f32bb60786ece4fc37c760fc25ecf4859cde0cf7a4df158caaf6e40660a158bd102ecf15173
DIST pgcli-3.0.0.tar.gz 437733 BLAKE2B 5db69997f675812c3ef847b220b66e7872b134b4d8debd668154bdfa6020432ac08829e7c2ce42adc4cf124e84de5eb9aacbe19636216502f81373a71f21b68f SHA512 7ac52cbfc492dc85163dac7df7a5dde6bfa0327ac1ef6580891cb76d617b998d74c2a59b27d2f8abf8699eb5a69aba30bf13e95ad7bee75c83350730ac061262
+DIST pgcli-3.1.0.tar.gz 441939 BLAKE2B 2c9c9a3afb233eee6f88d304e26e482760f1ff2a458103a80ffb80d877f63bd3ec74ba4be06238e8d78adf36ec251cd27849e0899f3b257b75ac9585f3c04572 SHA512 458871bf7ea0a83a66f44ecbde88590ca2aa08420a58c97d2716d4e36c61738d92283d007fc3968063daa01c25b2c46360292ad6339757c119ff04891e1a1c46
EBUILD pgcli-3.0.0-r1.ebuild 1066 BLAKE2B c879ab11069b87424a5c9118e27f0b0ec06f9dc2d9d5584d13d25f2c52dc4365e37656ab9c0d0df2fc00713fa8a3840f7796a4af4452cda23ee5948d79d563bf SHA512 85b78c0153202b25ea0b3900a9c26579655f4fcfbe735ae271f0a32f3544791348f82d8a758794071b895863538fa47fa973169d2d92f1630e7f4f57615b9e0d
+EBUILD pgcli-3.1.0.ebuild 1013 BLAKE2B bc1ebe22b62178467e555396fa88f5a5b5c7072e7d14c36c81f0b9f847a3e4a95f684ff9dd6b39a68c11466f741eb59d2a46467ced804552fbfca7896106e55e SHA512 ce1cac923191a5237132c0845d2c99c1465779abc613857424f4d6ae0e06d804dbaff7049e49fa05f8eabe4c3349bd27d2c9b329be754dac5347e934770e13c5
MISC metadata.xml 460 BLAKE2B c6dc837776eb72ba61b0b0e00cd3f3adc022b70385204346eb2aa0eb8229636ab230be67b194993b22e18cda08b4f968ff02b96d390b8782aac2a4f4de92d7ee SHA512 a3b44f66861c5f8b66cda0fcac6b1d3418bf04835e7ed202ae22faca50ee22187fda785c6e7e7c0848f31b88e1cd9c8c6b4be1999eb600d48965edff2e959c35
diff --git a/dev-db/pgcli/pgcli-3.1.0.ebuild b/dev-db/pgcli/pgcli-3.1.0.ebuild
new file mode 100644
index 000000000000..453cba7d70d4
--- /dev/null
+++ b/dev-db/pgcli/pgcli-3.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6..9} )
+inherit distutils-r1
+
+DESCRIPTION="CLI for Postgres with auto-completion and syntax highlighting"
+HOMEPAGE="https://www.pgcli.com https://github.com/dbcli/pgcli"
+SRC_URI="https://github.com/dbcli/pgcli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/cli_helpers[${PYTHON_USEDEP}]
+ dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/pendulum[${PYTHON_USEDEP}]
+ dev-python/pgspecial[${PYTHON_USEDEP}]
+ dev-python/prompt_toolkit[${PYTHON_USEDEP}]
+ dev-python/psycopg[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/sqlparse[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-db/postgresql
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-db/pgrouting/Manifest b/dev-db/pgrouting/Manifest
index 35a431b91f68..571fa6258f2b 100644
--- a/dev-db/pgrouting/Manifest
+++ b/dev-db/pgrouting/Manifest
@@ -2,6 +2,6 @@ DIST pgrouting-2.6.2.tar.gz 6065517 BLAKE2B e27e28cf988040de1e894a857e3d210bc767
DIST pgrouting-3.1.1.tar.gz 6133979 BLAKE2B b7657eeb88773773e6166190cda73d9e657774ff81ce7e9f005333a8dcb9d56587d4a793410356092bb1623ec287549dbc60d814b1d5156ff28301503acee776 SHA512 73285d2d47be844203df136b8a8c13d1672ad8c2dac44a1ff7ce16e4676043692a8f2a60a305542132891da83560c49c5eaeb7712e3e3dd250cd8fd550260d4a
DIST pgrouting-3.1.2.tar.gz 6063893 BLAKE2B a371fb9c744b14072c65af5ceb1ea73d2cdb69821626be3ac79e08c9dee854272ce8cb3816d1de3eade06d50a7520846dd6bccda06934b9db926f9092719f131 SHA512 3cf3e0a4a726f6f11887d15ad71b789a9067f3bc5a675288f22730215aa12d12b94d75f9bdc8ab3077de8368c45c55c0dc27128d0453c4c30965bfc0cf118dcd
EBUILD pgrouting-2.6.2-r1.ebuild 1224 BLAKE2B d1f10f219e584e2167fbb3351cc35424fb35f10def7e7ba115aa4bec54c259f43e771e47f52d7fddf19c838117d0d265252d4886599ec401020287f590223d35 SHA512 6087d2e8e20c815defe78c440d5ba58e30de353e8ee0722b7347bff79c32ae7abc1d46d48b95c32c0b28db55043f198609217053012134dbfe27b1e879c06eb4
-EBUILD pgrouting-3.1.1.ebuild 1092 BLAKE2B 9e255ade68e57e65f0fb38dc36985f2eaf77323a0e2f769d86031caece6bd08544397b2be8ace08003173b9626663158c54483a0cefc50173117a5991fd6ead3 SHA512 c17720ec34aa5c0c97c39c1e428a45415d78c3b099acb6bce34e8644b2f8f3499bb6219e68efcf2752bc6035354fad239f546589503269e7a098a69ff00eda90
+EBUILD pgrouting-3.1.1.ebuild 1091 BLAKE2B d1505071d8f2f29eb5fae861ba5b621a66f7c8290476b118f879b6b9fd0d909b4a7b7f9f23fc17fed1fccdc648bb11b47d658ad81423d3731767fa58d175be35 SHA512 9f3f6c6d9f0511b868293f3c7e68d3e0e635e91187b4d25812d0e2bfbbf4a58e355ad802a99320bd9fe19a2348a4e33ce2d43c7a162b995f9b2a54f985fab38a
EBUILD pgrouting-3.1.2.ebuild 1056 BLAKE2B 1fa30057f61f0d7857ddd0e98b577b93321326ef9b6b0a81409c6b5f6d0de621b6f73d7c7c98a61872620ac7fd7d3332421d4f82aeb946f4db0b57af57268606 SHA512 2aeb113d2e83966939215772762645edc9bd607c65735d3edfd54174ed6cca3b9367e7e68cc54a8a33cdb2b3ff5696e372da8e05309b2d35960eb409554a7903
MISC metadata.xml 457 BLAKE2B d2432768e9244c7648720e1569195498ffa3bda4f862a5b5a2edbbd4383d3ca0ab83063c1004680ea6eb662d74f13c2ec4991baa25365ae9ae8f513b93c973b1 SHA512 bbfc5eec69256ba3addfe5c3158b11b4561b347682474ac2f5ac4cb3be8ca30df130957c751f09d761d3a3d8ad62cf3e59193414a31a9b46d793084285c9406d
diff --git a/dev-db/pgrouting/pgrouting-3.1.1.ebuild b/dev-db/pgrouting/pgrouting-3.1.1.ebuild
index 519683a61f95..0742615d5496 100644
--- a/dev-db/pgrouting/pgrouting-3.1.1.ebuild
+++ b/dev-db/pgrouting/pgrouting-3.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ HOMEPAGE="https://pgrouting.org/"
LICENSE="GPL-2 MIT Boost-1.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
SRC_URI="https://github.com/pgRouting/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
IUSE=""
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index a4b873c949b1..74d291176ada 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -3,7 +3,6 @@ AUX redis-3.2.3-config.patch 1495 BLAKE2B 9f3c04dfd97845dcd364b75e2e5f543bc40ec0
AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa84bcb7209344b79b3bfc4c6f8df5224c8ae0e5d9ee8dbd62d9e288e90934809e91fd6f63c7d1dd4a518170a9 SHA512 f1d1e37a4786a84e9543956e21644a1dcfdc52742299119ba1547b9fb56a92fdef3ca518d94a1db8a88222b661ac7849a4db0bf7ba38b1ae65f286e7df90f0c1
AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425
AUX redis-5.0.8-ppc-atomic.patch 495 BLAKE2B a995c1b1e327416705151dd888b98fe02fdea8126359f3ffa2cce4d5794d7677ffc4dc7f628d076bc0ed341dac4010ffb9409ee25113fe9cac2298658e94802e SHA512 f4f2c2aad5d09e9fafa58946fdc79aa49d8f16ce6d389dd653522295dc397796c58c87f4fb92016af8c261aa4b00a7eab09d33a19eded496807444d234a9abd9
-AUX redis-6.0.3-sharedlua.patch 2815 BLAKE2B 323c13cd06ee50cc86a6f4b4896ab3c887c55a4ec836b6c40e509b166207075ced4cc35b0e9d3490fb893405fc6b4cd325e2e1688acec61a15ef1d34cfc78be1 SHA512 a4e2c54ec9fbaa594290178af26430b5e139b1fb12d44327074077e3e2bff45b9e999d8911f3bc0ac10f5b0afba4ef0993bba610355cb8701bce72a48a6ec634
AUX redis-6.0.9-sharedlua.patch 2871 BLAKE2B 57e56b6cbe6999a2f21daf527aab1a05b6f5107750d8f4afed0f2792ef418a84e6e1addde833ee3969b2aca24b698f2ddc17187eaa726f87642c81ea144b617e SHA512 f39021b66af0d9c7386802430dd26c43fa6fb5ac572dfe459cc00f9f5cd424797bdb13eddfebba5d2f11e9ecf6456f571c7e58190a4f308f889f512250a78092
AUX redis-sentinel-5.0-config.patch 706 BLAKE2B 0fa0166bbb3460e783e85b90acf4c606b83e271d8e9828bb5b3a39b623508b21dac33369ac25b645169271822e9c5deb6ea7294e40fc8d1a5ceec5129c174505 SHA512 2dee5666d50fc5d9b6021735a95c9a9647ba99c562e348785381d5a05f1388c3fb9e8c4a15b0de771cf73fb80e5e29f1df25805df749457a2ce4f2e3f2e0e9e8
AUX redis-sentinel.confd 470 BLAKE2B f77fd7e35c753e35aafa6e773dcc00d2779bc29d8579334078bd6124aab436dff671ae790c0b0e3cefdd4082fe212b4b71501b529176cb0a1e5f8c8cdcf1387e SHA512 ea455f8c73c21bc46127ea5c7b99dc5707ad41160e5fd61367555dd2e3fd5c1518026257651e7d371a60a64b682b6839dd37580f75308c73239edeba49d6b372
@@ -19,6 +18,7 @@ DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38
DIST redis-6.0.9.tar.gz 2261418 BLAKE2B 93e64e2c682320d11e468021fd13a2888dd6b15430c15eaaa9468242d9b4d8b60e29dfe656e677774dc88ed751471284d1adf94c723521085019b375785abe7a SHA512 ebae2b09637fdbdc71dd22b72ccea24e2c21beb81c6ff5c4bae8b341886a7d847ce868f52dc917079bab8aa250ff61c83efe8acbb8a1cbc5e285c7842b0aefa3
EBUILD redis-5.0.10.ebuild 4733 BLAKE2B 16dff9009b44aff40a0d8b00c6d9885fd26bbd7265a57f09b57060acedb083d15ccbf593015bf66fdd0b0d05b8ce84cfc3805000b7f0aa9a5d7209773046d476 SHA512 f25cf0346af69b39075537a5fc8ee547c1bc3d1c3bd77e9ea6ab7c44fcbfd13e4e23ed5126f37fa86ecf5637c8a6619d864c69cfe3a5b5879464c04c1f7d9261
EBUILD redis-5.0.9-r1.ebuild 4727 BLAKE2B 691271bcb72643dd3b1b0adb6f1a374967b7172437c2049fbc6cfdb01b19ee2cbd104f0baa96fce3b6b6983704f49922863f45677727b4d4ee573694d6897336 SHA512 bf5edded12de21673a5095ea034a344de05b5e54070dbbe698b8ca591d576af209f38df9c3715c21e38e877ae79a9b57b894142a55f2c475e933f72e4dc95222
-EBUILD redis-6.0.9-r100.ebuild 4568 BLAKE2B 0088942746ae620a1e07dc161df62ff84778b5b80c5de90bbe2f1c4cf7322ffb827452047bfdca3b24de57d71195dadf2ef830ea06fc539334b0fbe2569e908a SHA512 37bf4db34a51b2055ab4b9cc3bc591c9fead01b9dbb762776944f19d9155c480df8e031032fcbbd585e5f353b5725ce0fe4e70e0d8fdf1dd233c4911c37b47cb
-EBUILD redis-6.0.9.ebuild 4937 BLAKE2B 9612fa325b4e7d380af2dc34e8529cd69c20fbb434f3f0097bbb1759e542b59954c9df437b7351c0f7f77afbbbdd95f5f708c56e44b3983f4db5a346107d64d6 SHA512 12ba4c6d9771c0b9aa50daac093467bb0b086b6086ec2a3b6f6536057c4bcd837c4b6df3527fd06cac8d9ae56731d9d82a5738a69101096b8bb48d8e9648f8e3
+EBUILD redis-6.0.9-r1.ebuild 5127 BLAKE2B 26563847dfdddf0348d766cd21ac03aa740383690db8a42545e3ab5982da3bd99a9196e78bf5f010c5adefe21d7480667dff37328815438cdb39fa58923d81de SHA512 87ffa2f1bc28a4092103f0a845f7cec6f8ed81bf317dd9f69e3fd74717b4ecebf27d3c4dad8908ae37e158d456caf1a5c7f6222d9532715331eced4a38f5223f
+EBUILD redis-6.0.9-r100.ebuild 4575 BLAKE2B ec7c086c04e86f54ce4e8faa851cee2dd074aabeeeef1aa569aff498d43e829dc8bd1f73e2ca5885c8bdc1630044e11639cce20ac5e04ed236f21b0f25837baf SHA512 417248f9d33ec0959a789f0c1fd4d300662121ec51dec53088d6b27b0ba9b53b9553b2f174c77656e1cea9d1c9e34e2cbf45590379171d31468d29cd72e2e984
+EBUILD redis-6.0.9.ebuild 4943 BLAKE2B 89a87cd49796bcb9ddb1f46390a6bea48a4fd2b6df7e8f2bd4c22587e6a6c7f3035316800641a0c2a7b4bf1ec76a66927fe72b721f3a141c2c3886d96b899efe SHA512 e827cc5a7db240e1569be7e05da01385e4039ba98a7d96857bfc7a0360a698512a950c29e2d20b7a6bad830641b1c5b53a932def18d00e273d5ee86f53199294
MISC metadata.xml 356 BLAKE2B 19e27b12be84927b990fc2f481d8dd1f88f05b5e029fdd91c7ce9517e7fd378d6e1df1eb55052a04fefe781da09b371da1c28fd269c72f4222aa896897222bf7 SHA512 ab06f694c5b20072f40e85b3a8e05d2c333f3b29fc145733fde1e3f42ea78ac7c51550afc29e671ef9b4a163597ac9f44bc182344c18db52036595e5d65f7e22
diff --git a/dev-db/redis/files/redis-6.0.3-sharedlua.patch b/dev-db/redis/files/redis-6.0.3-sharedlua.patch
deleted file mode 100644
index 20df7983d7a8..000000000000
--- a/dev-db/redis/files/redis-6.0.3-sharedlua.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
-index c26c0d7..fa50c41 100644
---- a/deps/lua/src/lua_cjson.c
-+++ b/deps/lua/src/lua_cjson.c
-@@ -46,7 +46,7 @@
- #include "strbuf.h"
- #include "fpconv.h"
-
--#include "../../../src/solarisfixes.h"
-+#include "solarisfixes.h"
-
- #ifndef CJSON_MODNAME
- #define CJSON_MODNAME "cjson"
-diff --git a/src/Makefile b/src/Makefile
-index b8c05c3..e5a7cc2 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
- uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
- OPTIMIZATION?=-O2
--DEPENDENCY_TARGETS=hiredis linenoise lua
-+DEPENDENCY_TARGETS=hiredis linenoise
- NODEPS:=clean distclean
-
- # Default settings
-@@ -76,6 +76,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=@LUA_LIBS@
- DEBUG=-g -ggdb
-
- # Linux ARM needs -latomic at linking time
-@@ -149,7 +150,7 @@ endif
- endif
- endif
- # Include paths to dependencies
--FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src
-+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@
-
- # Determine systemd support and/or build preference (defaulting to auto-detection)
- BUILD_WITH_SYSTEMD=no
-@@ -217,6 +218,7 @@ endif
- REDIS_SERVER_NAME=redis-server
- REDIS_SENTINEL_NAME=redis-sentinel
- REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o
-+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
- REDIS_CLI_NAME=redis-cli
- REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -268,7 +270,7 @@ endif
-
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
-- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS)
-+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS)
-
- # redis-sentinel
- $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
diff --git a/dev-db/redis/redis-6.0.9-r1.ebuild b/dev-db/redis/redis-6.0.9-r1.ebuild
new file mode 100644
index 000000000000..4674c4fe7093
--- /dev/null
+++ b/dev-db/redis/redis-6.0.9-r1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic systemd toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc luajit ssl tcmalloc test"
+RESTRICT="!test? ( test )"
+SLOT="0"
+
+# Redis does NOT build with Lua 5.2 or newer at this time.
+# This should link correctly with both unslotted & slotted Lua, without
+# changes.
+COMMON_DEPEND="
+ jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
+ ssl? ( dev-libs/openssl:0= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ acct-group/redis
+ acct-user/redis
+"
+
+BDEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ dev-lang/tcl:0=
+ ssl? ( dev-tcltk/tls )
+ )"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.3-config.patch
+ "${FILESDIR}"/${PN}-5.0-shared.patch
+ "${FILESDIR}"/${PN}-6.0.9-sharedlua.patch
+ "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
+ "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+ default
+
+ # unstable on jemalloc
+ > tests/unit/memefficiency.tcl || die
+
+ # Copy lua modules into build dir
+ cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+ cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+ # Append cflag for lua_cjson
+ # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+ append-cflags "-DENABLE_CJSON_GLOBAL"
+
+ # now we will rewrite present Makefiles
+ local makefiles="" MKF
+ for MKF in $(find -name 'Makefile' | cut -b 3-); do
+ mv "${MKF}" "${MKF}.in"
+ sed -i -e 's:$(CC):@CC@:g' \
+ -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+ -e 's: $(DEBUG)::g' \
+ -e 's:$(OBJARCH)::g' \
+ -e 's:ARCH:TARCH:g' \
+ -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+ "${MKF}.in" \
+ || die "Sed failed for ${MKF}"
+ makefiles+=" ${MKF}"
+ done
+ # autodetection of compiler and settings; generates the modified Makefiles
+ cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+ # Use the correct pkgconfig name for Lua
+ if false && has_version 'dev-lang/lua:5.3'; then
+ # Lua5.3 gives:
+ #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+ LUAPKGCONFIG=lua5.3
+ elif false && has_version 'dev-lang/lua:5.2'; then
+ # Lua5.2 fails with:
+ # scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+ # Because lua_open because lua_newstate in 5.2
+ LUAPKGCONFIG=lua5.2
+ elif has_version 'dev-lang/lua:5.1'; then
+ LUAPKGCONFIG=lua5.1
+ else
+ LUAPKGCONFIG=lua
+ fi
+ # The upstream configure script handles luajit specially, and is not
+ # effected by these changes.
+ einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
+ sed -i \
+ -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+ -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+ -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
+ configure.ac || die "Sed failed for configure.ac"
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with luajit)
+
+ # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+ # also, don't define ANSI/c99 for lua twice
+ sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+ local myconf=""
+
+ if use jemalloc; then
+ myconf+="MALLOC=jemalloc"
+ elif use tcmalloc; then
+ myconf+="MALLOC=tcmalloc"
+ else
+ myconf+="MALLOC=libc"
+ fi
+
+ if use ssl; then
+ myconf+=" BUILD_TLS=yes"
+ fi
+
+ tc-export AR CC RANLIB
+ emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+ # Known to fail with FEATURES=usersandbox
+ if has usersandbox ${FEATURES}; then
+ ewarn "You are emerging ${P} with 'usersandbox' enabled." \
+ "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+ fi
+
+ if use ssl; then
+ ./utils/gen-test-certs.sh
+ ./runtest --tls
+ else
+ ./runtest
+ fi
+}
+
+src_install() {
+ insinto /etc/
+ doins redis.conf sentinel.conf
+ use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+ fperms 0644 /etc/{redis,sentinel}.conf
+
+ newconfd "${FILESDIR}/redis.confd-r1" redis
+ newinitd "${FILESDIR}/redis.initd-5" redis
+
+ systemd_newunit "${FILESDIR}/redis.service-3" redis.service
+ systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf
+
+ newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
+ newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+ dobin src/redis-cli
+ dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+ fperms 0750 /usr/sbin/redis-benchmark
+ dosym redis-server /usr/sbin/redis-sentinel
+
+ if use prefix; then
+ diropts -m0750
+ else
+ diropts -m0750 -o redis -g redis
+ fi
+ keepdir /var/{log,lib}/redis
+}
diff --git a/dev-db/redis/redis-6.0.9-r100.ebuild b/dev-db/redis/redis-6.0.9-r100.ebuild
index 53ee073cd46c..289257d67305 100644
--- a/dev-db/redis/redis-6.0.9-r100.ebuild
+++ b/dev-db/redis/redis-6.0.9-r100.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc tcmalloc test"
RESTRICT="!test? ( test )"
SLOT="0"
diff --git a/dev-db/redis/redis-6.0.9.ebuild b/dev-db/redis/redis-6.0.9.ebuild
index e9c315ea1560..f24b4fcfe9be 100644
--- a/dev-db/redis/redis-6.0.9.ebuild
+++ b/dev-db/redis/redis-6.0.9.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc luajit tcmalloc test"
RESTRICT="!test? ( test )"
SLOT="0"
diff --git a/dev-db/slony1/Manifest b/dev-db/slony1/Manifest
index b223b43b86d6..2f4b200b99fb 100644
--- a/dev-db/slony1/Manifest
+++ b/dev-db/slony1/Manifest
@@ -8,7 +8,7 @@ DIST slony1-2.2.7-docs.tar.bz2 252020 BLAKE2B 315d54c008fca121fac12385602e729c7b
DIST slony1-2.2.7.tar.bz2 1464923 BLAKE2B aee11f92d634a6c2eaf84dd48faf6cac7a27956474aaa9070f1d4fad3e70b0af09475abda149e096f1b238d68237c0b43b18880440bd4c2d66f5c0f4ad789e99 SHA512 22700e1574c91d4a4be5b78aac967eebc039440897364780891c2c76ed5b8e07c03205f0fbcd4870ee7c620d62b175987c46c43750524c6e5f9009044cc24f9a
DIST slony1-2.2.9-docs.tar.bz2 1445251 BLAKE2B eafd17370e333a706fd563440b7948513db19a05e23f6a0a118e0f8927b5b52c99f46953c3c9ce2d8e9f04371a35ff390e0e542f295f4e926b7002642fc913b0 SHA512 88d1c26d668b4a021c7b53cb5c2a9b140485595460d1444997ae49e4b77910f58860d603777f1836fdfa1231d2e44ad5cdf8e82c0a03df5278c9de7de3101c5b
DIST slony1-2.2.9.tar.bz2 1464548 BLAKE2B 6a2f3e21679ed1542066016bdc9e97aa7b5885fe15770d5015f26deb16e4d9634b930d9f13a8dbba6b1e89bf28cdcc28b3181f12efbf9b549a75c6e62755c099 SHA512 c42d7604ae2eda9b83bfa608ca13a4a25b2a4b77301a591b9308eda964d263490a02acdfd5b1a7e7751c24b2a7cb5d9410c58deaf82bdb3c422456af65c2b3f5
-EBUILD slony1-2.2.10.ebuild 1941 BLAKE2B 6e10b4c4952f637f2a79adbd8487e09bfb1333d07adbdf0391a014a352e9b43a26b1a8c03ffc4741a868ae4e6ed1a8f3adcb600a5ff26bd5ea4ccca1306aaf31 SHA512 dfcfd92604100b4934dc270fd74be4f239c2adaef6e999509ce3af9f8798033b30766273093731c876c7dcb3655baa788daa29b58b3712f7ef4d854f6f411ce0
+EBUILD slony1-2.2.10.ebuild 1939 BLAKE2B 5764f809e2b293bcf9fff457f5d3d5bfb03b4f20c0fb363ed9dca4768199a13d6d34e360cdbc41c85a108db2950afea04af4b81cb45a2c5e40428bb3c571ab88 SHA512 201b3d07398457eeea215cb075a8b0d2e931cb743378da4570f8b38cccd07a698c65f21581db008db04fba1ed4831a46f33302392e30ac114d374d9fe2c6698f
EBUILD slony1-2.2.6.ebuild 1643 BLAKE2B f9c9cce6671b1a5c613a6950ee34df5627db305c83709af4a1a76d25b8f0520ee73d679db0d974531062f83d4bb085f65165ba0ca46059908839de639385d41a SHA512 9ee213f0628031c5b670a0a8533c19c43b45694e64bfd7c23ddf5a9d8a09d9d048898214536cde6303b81134504c0e11412e9e28705abe649982e2d4bb69841c
EBUILD slony1-2.2.7.ebuild 1635 BLAKE2B c3d2307c14aaec2a9ae999e31ef5ec3b090857d59e50eb09e17c175b4d92f92ba12e15b6a43823a79c9e95d0be94f31218b17ca17f8dfc0c966b87fdb713932a SHA512 767988ade2ba9f7203b1142767d43dfb8fb11f34d9555fc86dec8a2c2360bd423112aaae4a5632b44b8e01610a0f8dbfd3af23a8972adb5d686b9b38eb7d56ea
EBUILD slony1-2.2.9.ebuild 1941 BLAKE2B 6e10b4c4952f637f2a79adbd8487e09bfb1333d07adbdf0391a014a352e9b43a26b1a8c03ffc4741a868ae4e6ed1a8f3adcb600a5ff26bd5ea4ccca1306aaf31 SHA512 dfcfd92604100b4934dc270fd74be4f239c2adaef6e999509ce3af9f8798033b30766273093731c876c7dcb3655baa788daa29b58b3712f7ef4d854f6f411ce0
diff --git a/dev-db/slony1/slony1-2.2.10.ebuild b/dev-db/slony1/slony1-2.2.10.ebuild
index 0e854d2ba2ca..6c562ce7b40e 100644
--- a/dev-db/slony1/slony1-2.2.10.ebuild
+++ b/dev-db/slony1/slony1-2.2.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,7 +20,7 @@ SRC_URI="https://slony.info/downloads/${MAJ_PV}/source/${P}.tar.bz2
LICENSE="BSD GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ppc ~x86"
DEPEND="${POSTGRES_DEP}
perl? ( dev-perl/DBD-Pg )
diff --git a/dev-db/sqldeveloper/Manifest b/dev-db/sqldeveloper/Manifest
index 5cb3d5952a2a..ce36f50c5b0a 100644
--- a/dev-db/sqldeveloper/Manifest
+++ b/dev-db/sqldeveloper/Manifest
@@ -3,5 +3,5 @@ AUX sqldeveloper-r1 407 BLAKE2B 26bf826e6ccf1cd45b52e7cdf6e694d88570118c0e98cab8
DIST sqldeveloper-20.2.0.175.1842-no-jre.zip 433127943 BLAKE2B da410245ce2fe62b6f5d533f0d170069cb031cae6abcb294fbb1ccb537814f37260482d00d4c752de33d3cea3b4613929a8c8049c4ea813913666d9950a02875 SHA512 1ac9c29b57efae26a5ec8925c25c6500b2e625852d6bfb4b10afae95d6d1b3e4f7b4df34eb847f6f458009b82c4659f1bbad3bb7ba0632850ed97b096014f4ce
DIST sqldeveloper-4.2.0.17.089.1709-no-jre.zip 348604841 BLAKE2B 0c3adff04f148102e6460c7550f787329c7e5a69aca0b81c2de4725b9c9ea27c03bb2f588671a95371aa3612839805f2042855b443bb5635c70d0e0b2140295b SHA512 4d1e270376ae125a60146228e35fcb2cb615d593c0e9f2ca98e4deef4d8fd1ddff59cf15064d63e33e77125f49e8da9fe317ed1fd96a9b00a699bf6c5e739874
EBUILD sqldeveloper-20.2.0.175.1842.ebuild 2659 BLAKE2B 29c616d3e225f917ee66f4a217346fd80a6329627f4826bfe08a32c3e03e12ebe28cbded0383eaaaacb8e24b382538f677090c2e8151728b1bd0d83b9e4171b1 SHA512 08e44520ebca5e9eac49fb8a293ce744abcf50a7792513eaa5e4d889d414e8671d5c85e2870d07a419e1dc0dc48242d816af2199cb57e3f43541729d38437b6f
-EBUILD sqldeveloper-4.2.0.17.089.1709.ebuild 3200 BLAKE2B 72022780aad23a4d907b1911447162bee87f5e7d9d68ac0577f3451b2db06931eb12437559752f7970fe4f9348bac470baaf2bd92445d39e6d48411c87235385 SHA512 db084a3aaadd441174b4175c70af7b08833979362ea5093ffdd16a3ebefca440511d6592322b4fc9b641abdc10c3bbf7a67b82766811983c5aaa6baa4f0cdd29
+EBUILD sqldeveloper-4.2.0.17.089.1709.ebuild 3218 BLAKE2B 3640beb6c918d9e2110eb409b4d51de29d1d74a2e1b37cce43b1dd14a74c712b6edf6842e005c697f9da13cc1e7327f0576d722c030c19ff99f9a8fa8b54a1a1 SHA512 27700ffcb3b832074bdd962133b4ca4fe8c6e5be26783a9999aa1b8e9809f82cfca4713265e493d31691d292760fba1e1a8388800aec19fdcc224b5be9ef54b0
MISC metadata.xml 261 BLAKE2B 9772344d77d5ee748886120e69eb80ebc3df85fe5a371772e32b139a0ee39fc8f2758d0f576abca035f2f5ea4124777d44b7d921e56593cbcb819eaf313fd5c6 SHA512 2a60e17b95fab939ca49a24940840277dcd64fd0fa43ad981c933f6f3af3b2eed56ff710f57f6d41fc19877e6e99d4489e8121d9a64d0447ad1348a4a744f613
diff --git a/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild b/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild
index 7979de3c0dd0..4bac238ce42b 100644
--- a/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild
+++ b/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -17,7 +17,9 @@ KEYWORDS="amd64 x86"
IUSE="mssql mysql sybase"
-DEPEND="mssql? ( dev-java/jtds:1.3 )
+DEPEND="
+ app-arch/unzip
+ mssql? ( dev-java/jtds:1.3 )
mysql? ( dev-java/jdbc-mysql:0 )
sybase? ( dev-java/jtds:1.3 )"
RDEPEND=">=virtual/jdk-1.8