summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/barman/Manifest1
-rw-r--r--dev-db/barman/barman-2.12-r1.ebuild (renamed from dev-db/barman/barman-2.12.ebuild)6
-rw-r--r--dev-db/barman/barman-2.19.ebuild44
-rw-r--r--dev-db/citus/Manifest3
-rw-r--r--dev-db/citus/citus-11.0.2.ebuild (renamed from dev-db/citus/citus-11.0.1_beta0.ebuild)2
-rw-r--r--dev-db/citus/citus-11.0.4.ebuild35
-rw-r--r--dev-db/firebird/files/firebird.init.d.3.0-r122
-rw-r--r--dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild228
-rw-r--r--dev-db/gigabase/Manifest1
-rw-r--r--dev-db/gigabase/files/gigabase-3.83-cpp14.patch34
-rw-r--r--dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch63
-rw-r--r--dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch182
-rw-r--r--dev-db/gigabase/gigabase-3.83-r2.ebuild58
-rw-r--r--dev-db/gigabase/metadata.xml27
-rw-r--r--dev-db/innotop/Manifest1
-rw-r--r--dev-db/innotop/innotop-1.12.0.ebuild27
-rw-r--r--dev-db/kdb/Manifest1
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch52
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch35
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch24
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch25
-rw-r--r--dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch68
-rw-r--r--dev-db/kdb/kdb-3.2.0-r2.ebuild (renamed from dev-db/kdb/kdb-3.2.0-r1.ebuild)32
-rw-r--r--dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch16
-rw-r--r--dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild3
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild5
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild5
-rw-r--r--dev-db/mariadb-connector-odbc/Manifest1
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild69
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild4
-rw-r--r--dev-db/mariadb/Manifest20
-rw-r--r--dev-db/mariadb/files/mariadb-10.6.8-openssl3.patch461
-rw-r--r--dev-db/mariadb/mariadb-10.2.44.ebuild (renamed from dev-db/mariadb/mariadb-10.2.41.ebuild)7
-rw-r--r--dev-db/mariadb/mariadb-10.3.35.ebuild (renamed from dev-db/mariadb/mariadb-10.3.32.ebuild)9
-rw-r--r--dev-db/mariadb/mariadb-10.4.25.ebuild (renamed from dev-db/mariadb/mariadb-10.4.22.ebuild)7
-rw-r--r--dev-db/mariadb/mariadb-10.5.15.ebuild1309
-rw-r--r--dev-db/mariadb/mariadb-10.5.16.ebuild (renamed from dev-db/mariadb/mariadb-10.5.13.ebuild)5
-rw-r--r--dev-db/mariadb/mariadb-10.6.8-r1.ebuild (renamed from dev-db/mariadb/mariadb-10.6.5-r1.ebuild)9
-rw-r--r--dev-db/mariadb/metadata.xml67
-rw-r--r--dev-db/mongodb/files/mongodb-4.2.17-boost-1.79.patch41
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.1-boost.patch2
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch15
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch29
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch49
-rw-r--r--dev-db/mongodb/mongodb-4.2.15-r1.ebuild4
-rw-r--r--dev-db/mongodb/mongodb-4.2.15-r2.ebuild2
-rw-r--r--dev-db/mongodb/mongodb-4.2.17-r1.ebuild2
-rw-r--r--dev-db/mongodb/mongodb-4.2.17-r2.ebuild182
-rw-r--r--dev-db/mongodb/mongodb-4.2.17.ebuild4
-rw-r--r--dev-db/mongodb/mongodb-4.4.10-r1.ebuild3
-rw-r--r--dev-db/mongodb/mongodb-5.0.5-r2.ebuild1
-rw-r--r--dev-db/mydumper/Manifest3
-rw-r--r--dev-db/mydumper/mydumper-0.11.1.3.ebuild49
-rw-r--r--dev-db/mydumper/mydumper-0.12.5.3.ebuild (renamed from dev-db/mydumper/mydumper-0.11.3.5.ebuild)4
-rw-r--r--dev-db/myodbc/myodbc-8.0.27-r1.ebuild2
-rw-r--r--dev-db/mysql-connector-c++/metadata.xml19
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r2.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild)34
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch49
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.27-r1.ebuild123
-rw-r--r--dev-db/mysql-workbench/Manifest2
-rw-r--r--dev-db/mysql-workbench/metadata.xml2
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.28.ebuild2
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.29.ebuild2
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.30.ebuild (renamed from dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild)4
-rw-r--r--dev-db/mysql/Manifest2
-rw-r--r--dev-db/mysql/files/mysql-8.0.27-gcc12.patch33
-rw-r--r--dev-db/mysql/metadata.xml45
-rw-r--r--dev-db/mysql/mysql-8.0.27.ebuild7
-rw-r--r--dev-db/mysqltuner/Manifest2
-rw-r--r--dev-db/mysqltuner/mysqltuner-1.9.9.ebuild (renamed from dev-db/mysqltuner/mysqltuner-1.8.3.ebuild)2
-rw-r--r--dev-db/mytop/mytop-1.9.1-r1.ebuild (renamed from dev-db/mytop/mytop-1.9.1.ebuild)26
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild6
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild6
-rw-r--r--dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild6
-rw-r--r--dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch45
-rw-r--r--dev-db/percona-server/percona-server-8.0.26.16-r1.ebuild1
-rw-r--r--dev-db/percona-toolkit/Manifest6
-rw-r--r--dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch13
-rw-r--r--dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch216
-rw-r--r--dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch33
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild44
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.0.13.ebuild51
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild49
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild52
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.2.1.ebuild51
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild51
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild4
-rw-r--r--dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.26.18-gcc-12.patch21
-rw-r--r--dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild5
-rw-r--r--dev-db/pg_activity/Manifest2
-rw-r--r--dev-db/pg_activity/pg_activity-2.3.1.ebuild (renamed from dev-db/pg_activity/pg_activity-2.3.0.ebuild)4
-rw-r--r--dev-db/pgadmin4/Manifest2
-rw-r--r--dev-db/pgadmin4/files/pgadmin4.desktop11
-rw-r--r--dev-db/pgadmin4/metadata.xml8
-rw-r--r--dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild130
-rw-r--r--dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild132
-rw-r--r--dev-db/pgbadger/Manifest5
-rw-r--r--dev-db/pgbadger/pgbadger-11.0.ebuild24
-rw-r--r--dev-db/pgbadger/pgbadger-11.3.ebuild24
-rw-r--r--dev-db/pgbadger/pgbadger-11.4.ebuild24
-rw-r--r--dev-db/pgbadger/pgbadger-11.8.ebuild (renamed from dev-db/pgbadger/pgbadger-11.6.ebuild)4
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.16.1.ebuild2
-rw-r--r--dev-db/pgcli/pgcli-3.3.1-r1.ebuild (renamed from dev-db/pgcli/pgcli-3.3.1.ebuild)4
-rw-r--r--dev-db/pgpool2/Manifest2
-rw-r--r--dev-db/pgpool2/pgpool2-4.2.1-r2.ebuild2
-rw-r--r--dev-db/pgpool2/pgpool2-4.2.2-r2.ebuild2
-rw-r--r--dev-db/pgpool2/pgpool2-4.2.9.ebuild98
-rw-r--r--dev-db/pgpool2/pgpool2-4.3.2.ebuild91
-rw-r--r--dev-db/pgpool2/pgpool2-9999.ebuild2
-rw-r--r--dev-db/pgtap/pgtap-1.2.0-r2.ebuild4
-rw-r--r--dev-db/pgxnclient/Manifest1
-rw-r--r--dev-db/pgxnclient/pgxnclient-1.3.2.ebuild39
-rw-r--r--dev-db/phpmyadmin/Manifest4
-rw-r--r--dev-db/phpmyadmin/metadata.xml4
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild61
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild61
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild4
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.2.0.ebuild (renamed from dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild)8
-rw-r--r--dev-db/postgis/metadata.xml4
-rw-r--r--dev-db/postgresql/Manifest10
-rw-r--r--dev-db/postgresql/files/postgresql-13.8-no-server.patch144
-rw-r--r--dev-db/postgresql/files/postgresql-14.5-no-server.patch146
-rw-r--r--dev-db/postgresql/files/postgresql-15_beta3-no-server.patch146
-rw-r--r--dev-db/postgresql/metadata.xml3
-rw-r--r--dev-db/postgresql/postgresql-10.19-r1.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-10.22.ebuild453
-rw-r--r--dev-db/postgresql/postgresql-11.14-r1.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-11.17.ebuild453
-rw-r--r--dev-db/postgresql/postgresql-12.12.ebuild453
-rw-r--r--dev-db/postgresql/postgresql-12.9-r1.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-13.5-r1.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-13.8.ebuild465
-rw-r--r--dev-db/postgresql/postgresql-14.2-r1.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-14.4.ebuild (renamed from dev-db/postgresql/postgresql-14.3.ebuild)0
-rw-r--r--dev-db/postgresql/postgresql-14.5.ebuild462
-rw-r--r--dev-db/postgresql/postgresql-15_beta2.ebuild (renamed from dev-db/postgresql/postgresql-15_beta1-r1.ebuild)0
-rw-r--r--dev-db/postgresql/postgresql-15_beta3.ebuild464
-rw-r--r--dev-db/postgresql/postgresql-9999.ebuild7
-rw-r--r--dev-db/pspg/Manifest3
-rw-r--r--dev-db/pspg/pspg-3.1.5-r1.ebuild19
-rw-r--r--dev-db/pspg/pspg-4.3.0-r1.ebuild19
-rw-r--r--dev-db/pspg/pspg-5.0.5.ebuild19
-rw-r--r--dev-db/pspg/pspg-5.5.4.ebuild2
-rw-r--r--dev-db/redis/Manifest3
-rw-r--r--dev-db/redis/files/configure.ac-7.058
-rw-r--r--dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch47
-rw-r--r--dev-db/redis/files/redis-5.0-sharedlua.patch60
-rw-r--r--dev-db/redis/files/redis-7.0.4-no-which.patch66
-rw-r--r--dev-db/redis/files/redis-sentinel.confd16
-rw-r--r--dev-db/redis/files/redis-sentinel.initd22
-rw-r--r--dev-db/redis/files/redis.confd-r120
-rw-r--r--dev-db/redis/files/redis.initd-525
-rw-r--r--dev-db/redis/files/redis.service-314
-rw-r--r--dev-db/redis/files/redis.tmpfiles2
-rw-r--r--dev-db/redis/metadata.xml11
-rw-r--r--dev-db/redis/redis-5.0.14.ebuild165
-rw-r--r--dev-db/redis/redis-6.0.16.ebuild36
-rw-r--r--dev-db/redis/redis-6.2.6.ebuild30
-rw-r--r--dev-db/redis/redis-6.2.7-r1.ebuild29
-rw-r--r--dev-db/redis/redis-7.0.4.ebuild (renamed from dev-db/redis/redis-7.0.0.ebuild)71
-rw-r--r--dev-db/rqlite/Manifest6
-rw-r--r--dev-db/rqlite/rqlite-7.5.0.ebuild36
-rw-r--r--dev-db/rqlite/rqlite-7.5.1.ebuild36
-rw-r--r--dev-db/rqlite/rqlite-7.6.0.ebuild36
-rw-r--r--dev-db/rqlite/rqlite-7.6.1.ebuild36
-rw-r--r--dev-db/sqlcl-bin/Manifest2
-rw-r--r--dev-db/sqlcl-bin/sqlcl-bin-22.2.0.172.1718.ebuild (renamed from dev-db/sqlcl-bin/sqlcl-bin-22.1.1.131.0820.ebuild)0
-rw-r--r--dev-db/sqldeveloper/Manifest3
-rw-r--r--dev-db/sqldeveloper/files/sqldeveloper9
-rw-r--r--dev-db/sqldeveloper/sqldeveloper-22.2.0.173.2018.ebuild (renamed from dev-db/sqldeveloper/sqldeveloper-21.4.3.063.0100.ebuild)6
-rw-r--r--dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild99
-rw-r--r--dev-db/sqlite/Manifest8
-rw-r--r--dev-db/sqlite/metadata.xml1
-rw-r--r--dev-db/sqlite/sqlite-3.38.5.ebuild436
-rw-r--r--dev-db/sqlite/sqlite-3.39.2.ebuild (renamed from dev-db/sqlite/sqlite-3.38.2.ebuild)0
-rw-r--r--dev-db/sqlite/sqlite-9999.ebuild (renamed from dev-db/sqlite/sqlite-3.38.3.ebuild)2
-rw-r--r--dev-db/sqlitestudio/Manifest1
-rw-r--r--dev-db/sqlitestudio/sqlitestudio-3.3.3.ebuild153
-rw-r--r--dev-db/sqlmap/Manifest5
-rw-r--r--dev-db/sqlmap/sqlmap-1.6.5.ebuild (renamed from dev-db/sqlmap/sqlmap-1.6.4.ebuild)4
-rw-r--r--dev-db/sqlmap/sqlmap-1.6.6.ebuild (renamed from dev-db/sqlmap/sqlmap-1.6.2.ebuild)6
-rw-r--r--dev-db/sqlmap/sqlmap-1.6.7.ebuild60
-rw-r--r--dev-db/sqlmap/sqlmap-9999.ebuild4
-rw-r--r--dev-db/timescaledb/Manifest2
-rw-r--r--dev-db/timescaledb/timescaledb-2.7.0.ebuild67
-rw-r--r--dev-db/timescaledb/timescaledb-2.7.1.ebuild67
-rw-r--r--dev-db/tora/files/tora-3.2-missing-header.patch21
-rw-r--r--dev-db/tora/files/tora-3.2-qt-5.11.0.patch69
-rw-r--r--dev-db/tora/files/tora-3.2-qt-includes.patch61
-rw-r--r--dev-db/tora/metadata.xml19
-rw-r--r--dev-db/tora/tora-3.2-r1.ebuild96
-rw-r--r--dev-db/tora/tora-3.2-r2.ebuild (renamed from dev-db/tora/tora-9999.ebuild)50
-rw-r--r--dev-db/unixODBC/unixODBC-2.3.9.ebuild3
193 files changed, 5931 insertions, 4563 deletions
diff --git a/dev-db/barman/Manifest b/dev-db/barman/Manifest
index 40a91a4f4fd..0ecd3afb227 100644
--- a/dev-db/barman/Manifest
+++ b/dev-db/barman/Manifest
@@ -1 +1,2 @@
DIST barman-2.12.tar.gz 1370978 BLAKE2B 2b44e153addab3fca7dbf572b03b2e22fe18f0960d98048aa145c64552a0de4cea977c423c268bfb9b822e44aaead3572ee350053049ab5459cc022d976eb4d0 SHA512 b4b479a03e5b770ba783af1d5645f6be2a19e2427cb58c6d9dfc6389240d4eeeec85401caa59c0d837a70f1cf67c0edbdb1539ecbd2f3de86285a122fc184320
+DIST barman-2.19.tar.gz 1423229 BLAKE2B db316bad10774ff5825af7409ecc69cd502fe447dd91efc52c04ae23d8e5c21e682fcde351b23dea437817d6207765a6cba355399aea0c5799b0f34be55ee524 SHA512 042912aac1e02994fbbe270f9bf6f4340b9b7ba5b1fdb5d588bdf95098a970ed398e002d1d56731f9b96c8bd0c7e0b71463ab6c08517ce3c1f2c77d1a92618ff
diff --git a/dev-db/barman/barman-2.12.ebuild b/dev-db/barman/barman-2.12-r1.ebuild
index ce74beef145..44e095f92d0 100644
--- a/dev-db/barman/barman-2.12.ebuild
+++ b/dev-db/barman/barman-2.12-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
@@ -19,7 +19,7 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/boto3[${PYTHON_USEDEP}]
dev-python/argh[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/argcomplete[${PYTHON_USEDEP}]
net-misc/rsync
diff --git a/dev-db/barman/barman-2.19.ebuild b/dev-db/barman/barman-2.19.ebuild
new file mode 100644
index 00000000000..f3cfc26cec0
--- /dev/null
+++ b/dev-db/barman/barman-2.19.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Administration tool for disaster recovery of PostgreSQL servers"
+HOMEPAGE="https://www.pgbarman.org https://sourceforge.net/projects/pgbarman/"
+SRC_URI="https://github.com/2ndquadrant-it/barman/archive/release/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-release-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/argh[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ net-misc/rsync
+ dev-db/postgresql[server]
+"
+
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ sed -i -e \
+ "s/^ def test_xlog_segment_mask(.*:/ @pytest.mark.xfail(reason='Test fails on Gentoo')\n\0/" \
+ tests/test_xlog.py || die
+}
diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest
index 329a0db9373..71a71529dbf 100644
--- a/dev-db/citus/Manifest
+++ b/dev-db/citus/Manifest
@@ -3,5 +3,6 @@ DIST citus-10.1.3.tar.gz 5281581 BLAKE2B cf119c550174a8b64bfee6497288a10030db7ff
DIST citus-10.1.4.tar.gz 5283715 BLAKE2B e19b35734b32541678538b963f1c03a259fa404f373b759a4c08e867325e106689ff711a5db9ba9231e1f9b42e303a49e6d58c8fb18b5ab7d75e19aea4741a0e SHA512 36a19b30d63ea53a8be6a77946d54558f7fd92f2e91b356395f9273e907f24444500c31d77e9693186fc2bd8df7c7e5f62a11ddfbc8795fbde8d700ebe7a9e76
DIST citus-10.2.4.tar.gz 5535944 BLAKE2B 3820622ec7f60aad5989536fe6dd53b8db75c51dc31ae3a0d023058afaa369f2de29fe49369d7846ad3bd17242fb6ce7784f2832263ba79ca045c75e558e14d7 SHA512 f9d6853333984c23b3f6aaeec156719c8564958e4d446781506f95fd56e48b8df27f1ddfa1cddb085791dccd6a17c07f3df87d84a89e137ba5a6972a656222f2
DIST citus-10.2.5.tar.gz 5538309 BLAKE2B c8e06b356728a68a948ffd3dd6d3c56c2972ad094922ce03e049999c450cac0c62ebe45f4ecc489d2cb521530b9f1bf566ac9732227646247a7eebd03f3f88cb SHA512 95ee1225c850bc986025f6960cb5784b02f2ac5af8f312f5dd4a270c4ebf46dd60388ba604a9cd4cf2e22f8b7a855bd18654cbe9f701ba7cd35c1576414d185f
-DIST citus-11.0.1_beta0.tar.gz 5805252 BLAKE2B 857a68481a3b91a3cfade75632acb308ac85ffcde95f7828e0997536e116810d8f2017e52c37f237ae6ca3afd8e0b2789ddc9f8974e028c95c45864fc732c1f1 SHA512 b7c9fcaf3c2da94e0e7d8f15f43ebe7b3636036fa74639c6870d7f4172d527a8f0f56170c68ab7b7802e811f72c3982308f5aa49c085c3c6ac9fc10f4157812d
+DIST citus-11.0.2.tar.gz 6002371 BLAKE2B a04f7d2cc927f7586ccb78cb4f007cd42de848770e2ab025e09a95bec62cf2ed16c6af544c6dfc5e2913ba23ef1a4c26928bbfff01aa9258bc21b9d686cda618 SHA512 9050c0401b245b5e5c38fc79389cd33c5b98898ecec86a00e94912cdd6079170550eaffb524fcd04f4c4b42f8d211b4e4b65914e73780b01f321f75c061339ed
+DIST citus-11.0.4.tar.gz 6006098 BLAKE2B 7621d824ce9e1247b8fb813008bb06c3c89d7c3a0cea6720ccbf0b59d3cb80a78a72f1f764dc0480caa3be1f39edad299bb3ad9f0a89abb119e7d6df04c193e6 SHA512 700cadb8014c2e4ef0cc265e3d91ff3bec2334b0c59f4b9c695679da761838a1dd7bd6eff95a019ff6ee5440d336a44969911ad6fb6ca5a295a3005b50497769
DIST citus-9.5.10.tar.gz 4744848 BLAKE2B e6d9595fe30cb93508007cb4f39933ae57b6f0f1c5ee084ac83b0f5edea0d32dc0e8fd71737e396eb9b77fd5601ae647e29dea5b13e2e7a53a59f96365773466 SHA512 24683c7607de115d1d7fc355b56ff732e5e5f2adcdbebac7ee0d71b8878de3f335f3824be9e02ae9554850c68d7e21bc6d95d581e02ba4fef9da27b2f67f2987
diff --git a/dev-db/citus/citus-11.0.1_beta0.ebuild b/dev-db/citus/citus-11.0.2.ebuild
index 08b2b75966e..a1add589578 100644
--- a/dev-db/citus/citus-11.0.1_beta0.ebuild
+++ b/dev-db/citus/citus-11.0.2.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
IUSE=""
LICENSE="POSTGRESQL AGPL-3"
-KEYWORDS=""
+KEYWORDS="~amd64"
SLOT=0
diff --git a/dev-db/citus/citus-11.0.4.ebuild b/dev-db/citus/citus-11.0.4.ebuild
new file mode 100644
index 00000000000..a1add589578
--- /dev/null
+++ b/dev-db/citus/citus-11.0.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 13 14 )
+
+inherit postgres-multi
+
+DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
+HOMEPAGE="https://www.citusdata.com/"
+
+MY_PV="${PV/beta0/beta}"
+SRC_URI="https://github.com/citusdata/citus/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+IUSE=""
+LICENSE="POSTGRESQL AGPL-3"
+
+KEYWORDS="~amd64"
+
+SLOT=0
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}
+ app-arch/lz4
+ app-arch/zstd
+ "
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ postgres-multi_foreach econf
+}
diff --git a/dev-db/firebird/files/firebird.init.d.3.0-r1 b/dev-db/firebird/files/firebird.init.d.3.0-r1
new file mode 100644
index 00000000000..c49ea97f920
--- /dev/null
+++ b/dev-db/firebird/files/firebird.init.d.3.0-r1
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+name=${RC_SVCNAME}
+
+fbhomedir="/var/run/firebird"
+fblogdir="/var/log/firebird"
+pidfile="${fbhomedir}/firebird.pid"
+command="/usr/sbin/fbguard"
+command_args="-forever"
+command_args_background="-daemon -pidfile $pidfile"
+command_user="${FBUSER:-firebird}:${FBGROUP:-firebird}"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -q -d -m 0770 -o ${FBUSER:-firebird}:${FBGROUP:-firebird} ${fbhomedir} || return 1
+ checkpath -q -d -m 0770 -o ${FBUSER:-firebird}:${FBGROUP:-firebird} ${fblogdir} || return 1
+}
diff --git a/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild b/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild
new file mode 100644
index 00000000000..3ee04900edf
--- /dev/null
+++ b/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P=${PN/f/F}-$(ver_rs 4 '-')
+inherit autotools flag-o-matic
+
+DESCRIPTION="Relational database offering many ANSI SQL:2003 and some SQL:2008 features"
+HOMEPAGE="https://www.firebirdsql.org/"
+SRC_URI="
+ https://github.com/FirebirdSQL/firebird/releases/download/R$(ver_rs 1-3 '_' $(ver_cut 1-3))/${MY_P}.tar.bz2
+ doc? ( ftp://ftpc.inprise.com/pub/interbase/techpubs/ib_b60_doc.zip )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="IDPL Interbase-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples +server xinetd"
+
+BDEPEND="
+ >=dev-util/btyacc-3.0-r2
+ doc? ( app-arch/unzip )
+"
+# FIXME: cloop?
+DEPEND="
+ dev-libs/icu:=
+ dev-libs/libedit
+ dev-libs/libtommath
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/firebird
+ acct-user/firebird
+ xinetd? ( virtual/inetd )
+ !sys-cluster/ganglia
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.2.32703.0-unbundle.patch
+ "${FILESDIR}"/${PN}-3.0.2.32703.0-cloop-compiler.patch
+)
+
+pkg_pretend() {
+ if [[ -e /var/run/${PN}/${PN}.pid ]] ; then
+ ewarn
+ ewarn "The presence of server connections may prevent isql or gsec"
+ ewarn "from establishing an embedded connection. Accordingly,"
+ ewarn "creating employee.fdb or security3.fdb could fail."
+ ewarn "It is more secure to stop the firebird daemon before running emerge."
+ ewarn
+ fi
+}
+
+check_sed() {
+ MSG="sed of $3, required $2 line(s) modified $1"
+ einfo "${MSG}"
+ [[ $1 -ge $2 ]] || die "${MSG}"
+}
+
+src_unpack() {
+ unpack "${MY_P}.tar.bz2"
+ if use doc; then
+ # Unpack docs
+ mkdir "manuals" || die
+ cd "manuals" || die
+ unpack ib_b60_doc.zip
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Rename references to isql to fbsql
+ # sed vs patch for portability and addtional location changes
+ check_sed "$(sed -i -e 's:"isql :"fbsql :w /dev/stdout' \
+ src/isql/isql.epp | wc -l)" "1" "src/isql/isql.epp" # 1 line
+ check_sed "$(sed -i -e 's:isql :fbsql :w /dev/stdout' \
+ src/msgs/history2.sql | wc -l)" "4" "src/msgs/history2.sql" # 4 lines
+ check_sed "$(sed -i -e 's:--- ISQL:--- FBSQL:w /dev/stdout' \
+ -e 's:isql :fbsql :w /dev/stdout' \
+ -e 's:ISQL :FBSQL :w /dev/stdout' \
+ src/msgs/messages2.sql | wc -l)" "6" "src/msgs/messages2.sql" # 6 lines
+
+ find . -name \*.sh -exec chmod +x {} + || die
+ rm -r extern/{btyacc,editline,icu} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -fprefetch-loop-arrays
+ filter-mfpmath sse
+
+ # otherwise this doesnt build with gcc-6
+ # http://tracker.firebirdsql.org/browse/CORE-5099
+ append-cflags -fno-sized-deallocation -fno-delete-null-pointer-checks
+ append-cxxflags -fno-sized-deallocation -fno-delete-null-pointer-checks -std=c++11
+
+ local myeconfargs=(
+ --prefix=/usr/$(get_libdir)/firebird
+ --with-editline
+ --with-system-editline
+ --with-fbbin=/usr/bin
+ --with-fbsbin=/usr/sbin
+ --with-fbconf=/etc/${PN}
+ --with-fblib=/usr/$(get_libdir)
+ --with-fbinclude=/usr/include
+ --with-fbdoc=/usr/share/doc/${PF}
+ --with-fbudf=/usr/$(get_libdir)/${PN}/UDF
+ --with-fbsample=/usr/share/doc/${PF}/examples
+ --with-fbsample-db=/usr/share/doc/${PF}/examples/db
+ --with-fbhelp=/usr/$(get_libdir)/${PN}/help
+ --with-fbintl=/usr/$(get_libdir)/${PN}/intl
+ --with-fbmisc=/usr/share/${PN}
+ --with-fbsecure-db=/etc/${PN}
+ --with-fbmsg=/usr/$(get_libdir)/${PN}
+ --with-fblog=/var/log/${PN}/
+ --with-fbglock=/var/run/${PN}
+ --with-fbplugins=/usr/$(get_libdir)/${PN}/plugins
+ --with-gnu-ld
+ )
+ econf "${myeconfargs[@]}"
+}
+
+# from linux underground, merging into this here
+src_install() {
+ if use doc; then
+ dodoc -r doc
+ find "${WORKDIR}"/manuals -type f -iname "*.pdf" -exec dodoc '{}' + || die
+ fi
+
+ cd "${S}/gen/Release/${PN}" || die
+
+ doheader include/*
+ dolib.so lib/*.so*
+
+ # links for backwards compatibility
+ insinto /usr/$(get_libdir)
+ dosym libfbclient.so /usr/$(get_libdir)/libgds.so
+ dosym libfbclient.so /usr/$(get_libdir)/libgds.so.0
+ dosym libfbclient.so /usr/$(get_libdir)/libfbclient.so.1
+
+ insinto /usr/share/${PN}/msg
+ doins *.msg
+
+ use server || return
+
+ einfo "Renaming isql -> fbsql"
+ mv bin/isql bin/fbsql || die "failed to rename isql -> fbsql"
+
+ dobin bin/{fb_config,fbsql,fbsvcmgr,fbtracemgr,gbak,gfix,gpre,gsec,gsplit,gstat,nbackup,qli}
+ dosbin bin/{firebird,fbguard,fb_lock_print}
+
+ insinto /usr/share/${PN}/help
+ # why???
+ insopts -m0660 -o firebird -g firebird
+ doins help/help.fdb
+
+ exeinto /usr/$(get_libdir)/${PN}/intl
+ doexe intl/libfbintl.so
+ dosym libfbintl.so /usr/$(get_libdir)/${PN}/intl/fbintl.so
+
+ insinto /usr/$(get_libdir)/${PN}/intl
+ insopts -m0644 -o root -g root
+ doins intl/fbintl.conf
+
+ # plugins
+ exeinto /usr/$(get_libdir)/${PN}/plugins
+ doexe plugins/*.so
+ exeinto /usr/$(get_libdir)/${PN}/plugins/udr
+ doexe plugins/udr/*.so
+
+ exeinto /usr/$(get_libdir)/${PN}/UDF
+ doexe UDF/*.so
+
+ # logging (do we really need the perms?)
+ diropts -m 755 -o firebird -g firebird
+ dodir /var/log/${PN}
+ keepdir /var/log/${PN}
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # configuration files
+ insinto /etc/${PN}/plugins
+ doins plugins/udr_engine.conf
+ insinto /etc/${PN}
+ doins {databases,fbtrace,firebird,plugins}.conf
+
+ # install secutity3.fdb
+ insopts -m0660 -o firebird -g firebird
+ doins security3.fdb
+
+ if use xinetd; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd.3.0" ${PN}
+ else
+ newinitd "${FILESDIR}/${PN}.init.d.3.0-r1" ${PN}
+ fi
+
+ if use examples; then
+ cd examples || die
+ insinto /usr/share/${PN}/examples
+ insopts -m0644 -o root -g root
+ doins -r api
+ doins -r dbcrypt
+ doins -r include
+ doins -r interfaces
+ doins -r package
+ doins -r stat
+ doins -r udf
+ doins -r udr
+ doins CMakeLists.txt
+ doins functions.c
+ doins README
+ insinto /usr/share/${PN}/examples/empbuild
+ insopts -m0660 -o firebird -g firebird
+ doins empbuild/employee.fdb
+ fi
+
+ elog "Starting with version 3, server mode is set in firebird.conf"
+ elog "The default setting is superserver."
+ elog
+ elog "If you're using UDFs, please remember to move them to /usr/$(get_libdir)/firebird/UDF"
+}
diff --git a/dev-db/gigabase/Manifest b/dev-db/gigabase/Manifest
deleted file mode 100644
index 1f22a68d7a3..00000000000
--- a/dev-db/gigabase/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gigabase-3.83.tar.gz 1746301 BLAKE2B f9168a7182f2a152a36a9bda12c91f3f2507f17a28e3cac9a58ed25795fdee73e397021ef46f3ad75dffb2f76b81c47d3d8d4cc900b1345619939e450daa6e9a SHA512 df2eab9b8ceae831c24a25f010cf06ebdd38fdf2f7478116b0d769092d6e4575c5c95222562410752df462a8bf3cc2f205c05d3adfaeb1634e82f443529957e5
diff --git a/dev-db/gigabase/files/gigabase-3.83-cpp14.patch b/dev-db/gigabase/files/gigabase-3.83-cpp14.patch
deleted file mode 100644
index 47d2a1a540f..00000000000
--- a/dev-db/gigabase/files/gigabase-3.83-cpp14.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This patch fixes GCC6 (C++14) compilation errors. It replaces two invalid macro
-calls with correct code in one place. It also removes redefinitions of fmax and
-fmin functions which exist in standard library since C++11.
-Gentoo-bug: https://bugs.gentoo.org/show_bug.cgi?id=594550
-
---- a/testddl.cpp
-+++ b/testddl.cpp
-@@ -102,8 +102,13 @@
-
- REGISTER(Record);
-
-+#if __cplusplus < 201103L
- USER_FUNC(sin);
- USER_FUNC(cos);
-+#else
-+static dbUserFunction fsin_descriptor((double (*)(double))&sin, STRLITERAL("sin"));
-+static dbUserFunction fcos_descriptor((double (*)(double))&cos, STRLITERAL("cos"));
-+#endif
-
- int __cdecl main()
- {
---- a/testtimeseries.cpp
-+++ b/testtimeseries.cpp
-@@ -47,8 +47,10 @@
- REGISTER(Stock);
-
- inline int random(unsigned mod) { return rand() % mod; }
-+#if __cplusplus < 201103L
- inline float fmax(float x, float y) { return x > y ? x : y; }
- inline float fmin(float x, float y) { return x < y ? x : y; }
-+#endif
-
- int main(int argc, char* argv[])
- {
diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch b/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch
deleted file mode 100644
index d807bc9a7fd..00000000000
--- a/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Fix build system to respect DESTDIR and rename subsql to subsql-gdb,
-in order to avoid name clash with FastDB version of subsql.
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -21,7 +21,7 @@
- # Place where to copy Gigabase library
- libdir = @libdir@
-
--# Place where to copy Gigabase subsql utility
-+# Place where to copy Gigabase subsql-gdb utility
- bindir = @bindir@
-
- VERSION = 2
-@@ -42,7 +42,7 @@
-
- GB_LIB = libgigabase$(SUFF).${LIBEXT}
- CLI_LIB = libcli$(SUFF).${LIBEXT}
--EXES = subsql
-+EXES = subsql-gdb
-
- EXAMPLES = guess testdb testjoin testddl testperf testspat testperf2 testsync testiref testtrav testidx testidx2 clitest testblob testleak testsession testtimeseries testtl
- WEB_EXAMPLES = cgistub bugdb clidb
-@@ -90,8 +90,8 @@
- clitest: clitest.o $(CLI_LIB)
- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o clitest clitest.o $(CLI_LIB) $(SOCKLIBS)
-
--subsql: subsql.o $(GB_LIB)
-- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o subsql subsql.o $(GB_LIB) $(SOCKLIBS)
-+subsql-gdb: subsql.o $(GB_LIB)
-+ $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o subsql-gdb subsql.o $(GB_LIB) $(SOCKLIBS)
-
- bugdb: bugdb.o $(GB_LIB)
- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o bugdb bugdb.o $(GB_LIB) $(SOCKLIBS)
-@@ -153,18 +153,18 @@
- testleak: testleak.o $(GB_LIB)
- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o testleak testleak.o $(GB_LIB) $(SLHACK)
-
--install: subsql $(GB_LIB) $(CLI_LIB)
-- mkdir -p $(includedir)
-- cp $(INCS) $(CLI_INCS) $(includedir)
-- mkdir -p $(libdir)
-- $(LIBTOOL) --mode=install $(INSTALL) $(GB_LIB) $(CLI_LIB) $(libdir)
-- mkdir -p $(bindir)
-- if test -x .libs/subsql ; then \
-- cp .libs/subsql $(bindir); \
-+install: subsql-gdb $(GB_LIB) $(CLI_LIB)
-+ mkdir -p $(DESTDIR)$(includedir)
-+ cp $(INCS) $(CLI_INCS) $(DESTDIR)$(includedir)
-+ mkdir -p $(DESTDIR)$(libdir)
-+ $(LIBTOOL) --mode=install $(INSTALL) $(GB_LIB) $(CLI_LIB) $(DESTDIR)$(libdir)
-+ mkdir -p $(DESTDIR)$(bindir)
-+ if test -x .libs/subsql-gdb ; then \
-+ cp .libs/subsql-gdb $(DESTDIR)$(bindir); \
- else \
-- cp subsql $(bindir); \
-+ cp subsql-gdb $(DESTDIR)$(bindir); \
- fi
--# strip $(bindir)/subsql
-+# strip $(bindir)/subsql-gdb
-
- clean:
- rm -f *.o *.lo core *~
diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch b/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch
deleted file mode 100644
index d2f0669d24f..00000000000
--- a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch
+++ /dev/null
@@ -1,182 +0,0 @@
---- a/session.cpp
-+++ b/session.cpp
-@@ -131,7 +131,7 @@
- throw CursorException("Cursor is not opened");
- }
- fillBuffer(sizeof(oid_t));
-- oid_t currOid = *(oid_t*)&sockBuf[bufPos];
-+ oid_t currOid = *(oid_t*)(sockBuf + bufPos);
- bufPos += sizeof(oid_t);
- if (currObj != NULL) {
- delete[] currObj;
-@@ -139,7 +139,7 @@
- }
- if (currOid != 0) {
- fillBuffer(sizeof(int));
-- size_t size = *(int*)&sockBuf[bufPos];
-+ size_t size = *(int*)(sockBuf + bufPos);
- if (size <= SOCKET_BUFFER_SIZE) {
- fillBuffer(size);
- if (record != NULL) {
---- a/database.cpp
-+++ b/database.cpp
-@@ -739,40 +739,55 @@
- return;
-
- case dbvmInvokeMethodBool:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.bvalue);
-- sattr.bvalue = *(bool*)&sattr.bvalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ bool val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.bvalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt1:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
-- sattr.ivalue = *(int1*)&sattr.ivalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ int1 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.ivalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt2:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
-- sattr.ivalue = *(int2*)&sattr.ivalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ int2 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.ivalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt4:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
-- sattr.ivalue = *(int4*)&sattr.ivalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ int4 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.ivalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodInt8:
- execute(expr->ref.base, iattr, sattr);
- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue);
- iattr.free(sattr);
- return;
- case dbvmInvokeMethodReal4:
-- execute(expr->ref.base, iattr, sattr);
-- expr->ref.field->method->invoke(sattr.base, &sattr.fvalue);
-- sattr.fvalue = *(real4*)&sattr.fvalue;
-- iattr.free(sattr);
-- return;
-+ {
-+ real4 val;
-+ execute(expr->ref.base, iattr, sattr);
-+ expr->ref.field->method->invoke(sattr.base, &val);
-+ sattr.fvalue = val;
-+ iattr.free(sattr);
-+ return;
-+ }
- case dbvmInvokeMethodReal8:
- execute(expr->ref.base, iattr, sattr);
- expr->ref.field->method->invoke(sattr.base, &sattr.fvalue);
-@@ -792,28 +807,43 @@
- return;
-
- case dbvmInvokeSelfMethodBool:
-- expr->ref.field->method->invoke(iattr.record, &sattr.bvalue);
-- sattr.bvalue = *(bool*)&sattr.bvalue;
-- return;
-+ {
-+ bool val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.bvalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt1:
-- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
-- sattr.ivalue = *(int1*)&sattr.ivalue;
-- return;
-+ {
-+ int1 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.ivalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt2:
-- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
-- sattr.ivalue = *(int2*)&sattr.ivalue;
-- return;
-+ {
-+ int2 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.ivalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt4:
-- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
-- sattr.ivalue = *(int4*)&sattr.ivalue;
-- return;
-+ {
-+ int4 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.ivalue = val;
-+ return;
-+ }
- case dbvmInvokeSelfMethodInt8:
- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue);
- return;
- case dbvmInvokeSelfMethodReal4:
-- expr->ref.field->method->invoke(iattr.record, &sattr.fvalue);
-- sattr.fvalue = *(real4*)&sattr.fvalue;
-- return;
-+ {
-+ real4 val;
-+ expr->ref.field->method->invoke(iattr.record, &val);
-+ sattr.fvalue = *(real4*)&sattr.fvalue;
-+ return;
-+ }
- case dbvmInvokeSelfMethodReal8:
- expr->ref.field->method->invoke(iattr.record, &sattr.fvalue);
- return;
---- a/server.cpp
-+++ b/server.cpp
-@@ -2097,7 +2097,7 @@
- bufUsed = 0;
- }
- oid_t oid = cursor.getOid();
-- *(oid_t*)&buf[bufUsed] = oid;
-+ *(oid_t*)(buf + bufUsed) = oid;
- bufUsed += sizeof(oid_t);
- dbRecord* record = db->getRow(tie, oid);
- size_t size = record->size;
-@@ -2129,7 +2129,7 @@
- bufUsed = 0;
- }
- }
-- *(oid_t*)&buf[bufUsed] = 0;
-+ *(oid_t*)(buf + bufUsed) = 0;
- return session->sock->write(buf, bufUsed + sizeof(oid_t));
- }
-
diff --git a/dev-db/gigabase/gigabase-3.83-r2.ebuild b/dev-db/gigabase/gigabase-3.83-r2.ebuild
deleted file mode 100644
index 5e21d4f9ae8..00000000000
--- a/dev-db/gigabase/gigabase-3.83-r2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="OO-DBMS with interfaces for C/C++/Java/PHP/Perl"
-HOMEPAGE="http://www.garret.ru/~knizhnik/gigabase.html"
-SRC_URI="mirror://sourceforge/gigabase/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-dereferencing.patch"
- "${FILESDIR}/${P}-cpp14.patch" # fix #594550
- "${FILESDIR}/${P}-fix-build-system.patch"
-)
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
-
- if use doc; then
- doxygen doxygen.cfg || die
- HTML_DOCS=( GigaBASE.htm docs/html/. )
- fi
-}
-
-src_test() {
- local t
- for t in testddl testidx testidx2 testiref testleak testperf \
- testperf2 testspat testtl testsync testtimeseries; do
- ./${t} || die
- done
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
-
-pkg_postinst() {
- elog "The subsql binary has been renamed to subsql-gdb,"
- elog "to avoid a name clash with the FastDB version of subsql"
-}
diff --git a/dev-db/gigabase/metadata.xml b/dev-db/gigabase/metadata.xml
deleted file mode 100644
index 525e79d7da7..00000000000
--- a/dev-db/gigabase/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- Object-Relational Database Management System GigaBASE inherits most of the
- features of FastDB, but uses page pool instead of direct mapping of file on
- virtual memory. So GigaBASE is able to handle database, which size
- significantly exceeds size of computer physical memory. Convenient and
- flexible C++ interface makes development of application for GigaBASE very
- easy and automatic scheme evaluation simplifies maintenance and modification
- of the system. GigaBASE merges best features of relational (simple data
- structure and non-procedural query language) and object-oriented (direct
- object references, user defined types and methods) databases. GigaBASE is
- primary oriented on application requiring fast data retrieving by means of
- indices and direct object references, such as Web Server databases
- applications. SUBSQL utility can be used for database browsing and
- inspection, performing online backups, database recovery, importing data to
- and exporting data from database. GigaBASE will perform automatic recovery
- after system or application crash, you should not worry about it. The only
- thing you can have to do manually is stopping all database application if
- one of them is crashed leaving database blocked.
- </longdescription>
- <upstream>
- <remote-id type="sourceforge">gigabase</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/innotop/Manifest b/dev-db/innotop/Manifest
index 2f84721246a..b4906df387d 100644
--- a/dev-db/innotop/Manifest
+++ b/dev-db/innotop/Manifest
@@ -1,2 +1 @@
-DIST innotop-1.12.0.tar.gz 182854 BLAKE2B 1470f21fe7882e920966a856365586c37461c955f0d07ea72a9bffa16b1a112fe5daa2dec585f888c90570d28f9af4e88885a36910bf892cc4f69abd044a4494 SHA512 bc650cd8fb5e5b83f12ccccc852802d676500d7241fe0beaa2a67c3dcca90ab06f329f0a6750789b6097ab201630b9ecf494159086d904ce7c1cfe7aefb5a635
DIST innotop-1.13.0.tar.gz 189278 BLAKE2B 0e7334c983aa441c130ded820e76afb72a324b52dc6b444fb5e5813dc09c19a656d42b449b43af682d61620305062929d87a78db4298e17bed36eca62ff6f53a SHA512 827a6ec36355af023d24b85afdaabac44ef0c33c853c133d39f0725b2da3585cf1bc7b21e501d436a28ac6b798d9d502b4a81c2c9c28373abf91543519b4f45a
diff --git a/dev-db/innotop/innotop-1.12.0.ebuild b/dev-db/innotop/innotop-1.12.0.ebuild
deleted file mode 100644
index d1f0d89c491..00000000000
--- a/dev-db/innotop/innotop-1.12.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit perl-module
-
-DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features"
-HOMEPAGE="https://github.com/innotop/innotop"
-SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( Artistic GPL-2 )"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
-SLOT="0"
-IUSE=""
-
-DEPEND="dev-perl/DBI
- dev-perl/DBD-mysql
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes"
-
-DIST_TEST="do parallel"
-
-src_install() {
- perl-module_src_install
-}
diff --git a/dev-db/kdb/Manifest b/dev-db/kdb/Manifest
index eb0224c3d90..6290c27eb8c 100644
--- a/dev-db/kdb/Manifest
+++ b/dev-db/kdb/Manifest
@@ -1 +1,2 @@
+DIST kdb-3.2.0-patches.tar.xz 7448 BLAKE2B 924a3ac0db2fedfa6d757dcb96fefc48540d5bee7dd2e1239e0e7eca9765393e3b72b13365a66a8e336a655aa4c8978e800f3baa86b704e85134d0c7281b90d7 SHA512 4fe59f33059dcfe19a26bed93615ce152f321f040daa57a2e6747a397aebbc896cd6c964cd2cb1350762552173ff146e4e51b864aa098ec5ae77e0dd6c6d9a2f
DIST kdb-3.2.0.tar.xz 650180 BLAKE2B 306152b37c2ecc670d26a2df2ae8acb950505ecb37c4994f4debd1b80c8b2ee94252658fe28b59255d9ad0d350375171f3b43dc9e94949417c3aa9ed167134fe SHA512 7df22f2c5b6e20ae3de71cb6c76b234d2f1f33b2abcdffa85be313c63d067a40a85ed102b6256207315db08ced5d69f8bc40afdf84a188463713a6b2ffdb2df7
diff --git a/dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch b/dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch
deleted file mode 100644
index c0b8cb8c200..00000000000
--- a/dev-db/kdb/files/kdb-3.2.0-KDEInstallDirs.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 259684d4768f64fe4f0773442cce83dec089720a Mon Sep 17 00:00:00 2001
-From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
-Date: Mon, 18 Jan 2021 16:37:20 +0100
-Subject: [PATCH] Use non-deprecated KDEInstaUse non-deprecated KDEInstallDirs
- variables
-
-GIT_SILENT
----
- src/CMakeLists.txt | 2 +-
- src/drivers/CMakeLists.txt | 2 +-
- src/drivers/sqlite/dump/CMakeLists.txt | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 78c91e8c..4a392b63 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -250,7 +250,7 @@ if(BUILD_TEST_COVERAGE)
- endif()
-
- # Create a Config.cmake and a ConfigVersion.cmake file and install them
--set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/${KDB_BASE_NAME}")
-+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${KDB_BASE_NAME}")
-
- ecm_setup_version(${PROJECT_VERSION}
- VARIABLE_PREFIX KDB
-diff --git a/src/drivers/CMakeLists.txt b/src/drivers/CMakeLists.txt
-index 6fd7f14d..fb2005cc 100644
---- a/src/drivers/CMakeLists.txt
-+++ b/src/drivers/CMakeLists.txt
-@@ -5,7 +5,7 @@ endif()
-
- #TODO add_definitions(-DKDE_DEFAULT_DEBUG_AREA=44001)
-
--set(KDB_PLUGIN_INSTALL_DIR ${PLUGIN_INSTALL_DIR}/${KDB_BASE_NAME_LOWER})
-+set(KDB_PLUGIN_INSTALL_DIR ${KDE_INSTALL_PLUGINDIR}/${KDB_BASE_NAME_LOWER})
-
- # -----------------------
- macro(build_and_install_kdb_driver _name _srcs _extra_libs)
-diff --git a/src/drivers/sqlite/dump/CMakeLists.txt b/src/drivers/sqlite/dump/CMakeLists.txt
-index cfffb5c6..27093ccb 100644
---- a/src/drivers/sqlite/dump/CMakeLists.txt
-+++ b/src/drivers/sqlite/dump/CMakeLists.txt
-@@ -15,4 +15,4 @@ if(WIN32)
- PROPERTIES LINK_FLAGS "/SUBSYSTEM:CONSOLE")
- endif()
-
--install(TARGETS ${KDB_SQLITE_DUMP_TOOL} ${INSTALL_TARGETS_DEFAULT_ARGS})
-+install(TARGETS ${KDB_SQLITE_DUMP_TOOL} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
---
-2.31.1
-
diff --git a/dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch b/dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch
deleted file mode 100644
index 5329fae80d8..00000000000
--- a/dev-db/kdb/files/kdb-3.2.0-build-w-pg12.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 40cdaea4d7824cc1b0d26e6ad2dcb61fa2077911 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Tue, 29 Oct 2019 07:52:32 +0100
-Subject: PgSQL driver: fix build with PostgreSQL 12+
-
-ABSTIMEOID and RELTIMEOID were removed, as their data types were dropped.
----
- src/drivers/postgresql/PostgresqlTypes.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/drivers/postgresql/PostgresqlTypes.cpp b/src/drivers/postgresql/PostgresqlTypes.cpp
-index ea576d6..0697129 100644
---- a/src/drivers/postgresql/PostgresqlTypes.cpp
-+++ b/src/drivers/postgresql/PostgresqlTypes.cpp
-@@ -36,6 +36,7 @@
- #endif
- #include <libpq-fe.h>
- #include <catalog/pg_type.h> // needed for BOOLOID, etc.
-+#include <pg_config.h> // needed for PG_VERSION_NUM
-
- #ifdef _MSC_VER
- #pragma warning( pop )
-@@ -70,8 +71,10 @@ void PostgresqlDriver::initPgsqlToKDbMap()
- //! @todo POLYGONOID geometric polygon '(pt1,...)'
- m_pgsqlToKDbTypes.insert(FLOAT4OID, KDbField::Double);
- m_pgsqlToKDbTypes.insert(FLOAT8OID, KDbField::Double);
-+#if PG_VERSION_NUM < 120000
- m_pgsqlToKDbTypes.insert(ABSTIMEOID, KDbField::Date);
- m_pgsqlToKDbTypes.insert(RELTIMEOID, KDbField::Date);
-+#endif
- //! @todo TINTERVALOID (abstime,abstime), time interval
- //! @todo CIRCLEOID geometric circle '(center,radius)'
- //! @todo CASHOID monetary amounts, $d,ddd.cc
---
-cgit v1.1
diff --git a/dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch b/dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch
deleted file mode 100644
index 4258fdc4745..00000000000
--- a/dev-db/kdb/files/kdb-3.2.0-cmake-pg12.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 6bba3130f8968abb2e904bda1e8b59f83dd43bdc Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Sat, 25 May 2019 06:59:44 +0200
-Subject: cmake: find PostgreSQL 12
-
----
- cmake/modules/FindPostgreSQL.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
-index 8ec30db..74e6f6b 100644
---- a/cmake/modules/FindPostgreSQL.cmake
-+++ b/cmake/modules/FindPostgreSQL.cmake
-@@ -86,7 +86,7 @@ set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache e
- set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
-
- set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
-- "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-+ "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-
- # Define additional search paths for root directories.
- foreach (suffix ${PostgreSQL_KNOWN_VERSIONS} )
---
-cgit v1.1
diff --git a/dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch b/dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch
deleted file mode 100644
index 83785533fa8..00000000000
--- a/dev-db/kdb/files/kdb-3.2.0-cmake-pg13.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fb5dafb01ffba27b5868eaeb99816f3e8c1cf91c Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Fri, 22 May 2020 18:59:11 +0200
-Subject: [PATCH] cmake: find PostgreSQL 13
-
----
- cmake/modules/FindPostgreSQL.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
-index 74e6f6b4..90db33ba 100644
---- a/cmake/modules/FindPostgreSQL.cmake
-+++ b/cmake/modules/FindPostgreSQL.cmake
-@@ -86,7 +86,7 @@ set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache e
- set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
-
- set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
-- "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-+ "13" "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
-
- # Define additional search paths for root directories.
- foreach (suffix ${PostgreSQL_KNOWN_VERSIONS} )
---
-2.31.1
-
diff --git a/dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch b/dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch
deleted file mode 100644
index e4a2a2d1146..00000000000
--- a/dev-db/kdb/files/kdb-3.2.0-qt-5.15.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 3a31ad05fcc7682bf3b65143af99fdb9b2e1e248 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Mon, 16 Nov 2020 16:41:27 +0100
-Subject: [PATCH] Fix build with newer Qt
-
-(cherry picked from commit b36d74f13a1421437a725fb74502c993c359392a)
----
- src/KDb.cpp | 34 +++++++++++++++++-----------------
- 1 file changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/src/KDb.cpp b/src/KDb.cpp
-index 5c3b601f..ee92c2ee 100644
---- a/src/KDb.cpp
-+++ b/src/KDb.cpp
-@@ -1635,33 +1635,33 @@ QString KDb::escapeBLOB(const QByteArray& array, BLOBEscapingType type)
- for (int i = 0; i < size; i++) {
- const unsigned char val = array[i];
- if (val < 32 || val >= 127 || val == 39 || val == 92) {
-- str[new_length++] = '\\';
-- str[new_length++] = '\\';
-- str[new_length++] = '0' + val / 64;
-- str[new_length++] = '0' + (val % 64) / 8;
-- str[new_length++] = '0' + val % 8;
-+ str[new_length++] = QLatin1Char('\\');
-+ str[new_length++] = QLatin1Char('\\');
-+ str[new_length++] = QChar::fromLatin1('0' + val / 64);
-+ str[new_length++] = QChar::fromLatin1('0' + (val % 64) / 8);
-+ str[new_length++] = QChar::fromLatin1('0' + val % 8);
- } else {
-- str[new_length++] = val;
-+ str[new_length++] = QChar::fromLatin1(val);
- }
- }
- } else {
- for (int i = 0; i < size; i++) {
- const unsigned char val = array[i];
-- str[new_length++] = intToHexDigit(val / 16);
-- str[new_length++] = intToHexDigit(val % 16);
-+ str[new_length++] = QChar::fromLatin1(intToHexDigit(val / 16));
-+ str[new_length++] = QChar::fromLatin1(intToHexDigit(val % 16));
- }
- }
- if (type == BLOBEscapingType::XHex || type == BLOBEscapingType::Octal) {
-- str[new_length++] = '\'';
-+ str[new_length++] = QLatin1Char('\'');
- } else if (type == BLOBEscapingType::ByteaHex) {
-- str[new_length++] = '\'';
-- str[new_length++] = ':';
-- str[new_length++] = ':';
-- str[new_length++] = 'b';
-- str[new_length++] = 'y';
-- str[new_length++] = 't';
-- str[new_length++] = 'e';
-- str[new_length++] = 'a';
-+ str[new_length++] = QLatin1Char('\'');
-+ str[new_length++] = QLatin1Char(':');
-+ str[new_length++] = QLatin1Char(':');
-+ str[new_length++] = QLatin1Char('b');
-+ str[new_length++] = QLatin1Char('y');
-+ str[new_length++] = QLatin1Char('t');
-+ str[new_length++] = QLatin1Char('e');
-+ str[new_length++] = QLatin1Char('a');
- }
- return str;
- }
---
-2.31.1
-
diff --git a/dev-db/kdb/kdb-3.2.0-r1.ebuild b/dev-db/kdb/kdb-3.2.0-r2.ebuild
index 672f29b8c9e..caf82c0d8d8 100644
--- a/dev-db/kdb/kdb-3.2.0-r1.ebuild
+++ b/dev-db/kdb/kdb-3.2.0-r2.ebuild
@@ -1,20 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
-PYTHON_COMPAT=( python3_{7,8,9} )
-KFMIN=5.60.0
-QTMIN=5.12.3
+PYTHON_COMPAT=( python3_{8..10} )
+KFMIN=5.82.0
+QTMIN=5.15.2
inherit ecm kde.org python-any-r1
DESCRIPTION="Database connectivity and creation framework for various vendors"
HOMEPAGE="https://community.kde.org/KDb"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
+ SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${P}-patches.tar.xz"
KEYWORDS="amd64 x86"
fi
@@ -22,9 +23,6 @@ LICENSE="LGPL-2+"
SLOT="5/4"
IUSE="debug mysql postgres sqlite"
-BDEPEND="${PYTHON_DEPS}
- dev-qt/linguist-tools:5
-"
DEPEND="
dev-libs/icu:=
>=dev-qt/qtgui-${QTMIN}:5
@@ -34,21 +32,25 @@ DEPEND="
>=kde-frameworks/kcoreaddons-${KFMIN}:5
mysql? ( dev-db/mysql-connector-c:= )
postgres? (
- >=dev-qt/qtnetwork-${QTMIN}:5
dev-db/postgresql:*
+ >=dev-qt/qtnetwork-${QTMIN}:5
)
sqlite? ( dev-db/sqlite:3 )
"
RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-qt/linguist-tools:5
+"
PATCHES=(
# 3.2 branch
- "${FILESDIR}"/${P}-cmake-pg12.patch
- "${FILESDIR}"/${P}-build-w-pg12.patch
- "${FILESDIR}"/${P}-cmake-pg13.patch
- "${FILESDIR}"/${P}-qt-5.15.patch
+ "${WORKDIR}"/${P}-patches/${P}-build-w-pg12.patch
+ "${WORKDIR}"/${P}-patches/${P}-qt-5.15.patch
+ "${WORKDIR}"/${P}-patches/${P}-cmake-pg15.patch
+ "${WORKDIR}"/${P}-patches/${P}-Q_REQUIRED_RESULT-placing.patch
+ "${WORKDIR}"/${P}-patches/${P}-gcc12.patch
# master
- "${FILESDIR}"/${P}-KDEInstallDirs.patch
+ "${WORKDIR}"/${P}-patches/${P}-KDEInstallDirs.patch
)
pkg_setup() {
diff --git a/dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch b/dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch
new file mode 100644
index 00000000000..f7d5a2e3436
--- /dev/null
+++ b/dev-db/libodbc++/files/libodbc++-0.2.3-musl-1.2.3-null.patch
@@ -0,0 +1,16 @@
+https://cgit.freebsd.org/ports/tree/databases/libodbc++/files/patch-src-datetime.cpp
+https://bugs.gentoo.org/855887
+
+(Given the source, possibly fixes libcxx too?)
+--- a/src/datetime.cpp
++++ b/src/datetime.cpp
+@@ -272,7 +272,7 @@
+ # endif
+ #endif
+ ,ODBCXX_STRING_CONST("%09d"),nanos_);
+- buf[9] = NULL;// Terminate string
++ buf[9] = '\0';// Terminate string
+ ret+=ODBCXX_STRING(buf);
+ }
+ return ret;
+
diff --git a/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild b/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
index 3241509b98a..b3ebd27f321 100644
--- a/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
+++ b/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -27,6 +27,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.2.3-doxygen.patch
"${FILESDIR}"/${PN}-0.2.3-gcc41.patch
"${FILESDIR}"/${PN}-0.2.3-gcc44.patch
+ "${FILESDIR}"/${PN}-0.2.3-musl-1.2.3-null.patch
)
src_prepare() {
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
index fb175f8f740..f31b6bb77e1 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,10 +11,9 @@ else
MY_PV=${PV/_b/-b}
SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
-CMAKE_ECLASS=cmake
inherit cmake-multilib toolchain-funcs
MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
index fb175f8f740..f31b6bb77e1 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,10 +11,9 @@ else
MY_PV=${PV/_b/-b}
SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
-CMAKE_ECLASS=cmake
inherit cmake-multilib toolchain-funcs
MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
diff --git a/dev-db/mariadb-connector-odbc/Manifest b/dev-db/mariadb-connector-odbc/Manifest
index 08aa13d342b..8f57f358bcf 100644
--- a/dev-db/mariadb-connector-odbc/Manifest
+++ b/dev-db/mariadb-connector-odbc/Manifest
@@ -1,3 +1,2 @@
-DIST mariadb-connector-odbc-3.1.12-src.tar.gz 542918 BLAKE2B b770d79d1724480589b941ded1552bcfedb85eb1f59256269c8cd219e395dc5c151ab6762ea49c062900187ec4ae6a161a33a15ea3ffd4addc542f1c9f846121 SHA512 9723555c598c3ec77c41a617d9960c8d0fb9ee9d0b70e44b44f55f8842a5966b50ed6c04e8a80d252330b2cd96bdac4e0403100141e827c23af72ed58f747ffb
DIST mariadb-connector-odbc-3.1.13-src.tar.gz 546893 BLAKE2B 7d3f02667ab3c5eb81063a2a2470bd49914cabea79d8756fd4d493b3117a692c9bd3594c00d5c7d8a866ad4677dec2848a08a80b0e97952e6e80edb5d677e93f SHA512 b50949b99207aeef18fc7f8e15ecb8e8c869fcdc85a04ce1922f2ff856d3f07eb6701df8515545e762abbcb97f74605c6b5ac66efa1927e761a80dcd1c29c2d3
DIST mariadb-connector-odbc-3.1.14-src.tar.gz 549698 BLAKE2B 612879086805c57b42036bb224b14ef1ab287d2ff288a5ec5ec6db7334fc8b82acd648476eca1dee282393486d117cadf1bbdcb0e78eae52bab26a0c05cb1fbe SHA512 bb3cb74ccd17a8df39456ccf3091579bbdfc56431954a978f488928df54e3f9ad1c5b67cb411be4b661ba0e0bdd69ccd4d00ea4bfd72c3f448b560031830512d
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
deleted file mode 100644
index b40a50b0e93..00000000000
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib flag-o-matic
-
-DESCRIPTION="MariaDB Connector/ODBC"
-HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3.1"
-KEYWORDS="amd64 x86"
-IUSE="ssl"
-
-S="${S}-src"
-
-# USE=ssl merely enables the configuration options (seemingly for interactive
-# sessions) and does not cause direct linking to any SSL libraries. However,
-# it doesn't make sense enable these configuration options unless the
-# underlying mariadb-connector-c has ssl enabled, thus if we have USE=ssl,
-# require mariadb-connector-c to have it too.
-DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*[ssl?]
- dev-db/unixODBC"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e "s,/lib/,/$(get_libdir)/,g" "${FILESDIR}/odbcinst2.ini" > odbcinst.ini || die
-}
-
-multilib_src_configure() {
- append-cppflags $(mariadb_config --cflags || die)
- local mycmakeargs=(
- -DWITH_SSL=$(usex ssl OPENSSL OFF)
- -DMARIADB_LINK_DYNAMIC=YES
- -DUSE_SYSTEM_INSTALLED_LIB=YES
- -DINSTALL_DOCDIR="/usr/share/doc/${PF}"
- -DINSTALL_LICENSEDIR="/usr/share/doc/${PF}"
- #-DCMAKE_C_FLAGS="$(mariadb_config --cflags)"
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- insinto /usr/share/${PN}
- doins odbcinst.ini
-}
-
-pkg_postinst() {
- elog "Please remember to use emerge --config =${P} to install the ODBC ini files."
- elog "Alternatively run: /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini"
-}
-
-pkg_config() {
- [[ -n "${ROOT}" ]] && die "Sorry, non-standard ROOT setting is not supported."
-
- if /usr/bin/odbcinst -q -d -n maodbc &>/dev/null; then
- einfo "maodbc (MariaDB ODBC driver) has already been installed."
- else
- ebegin "Installing maodbc (MariaDB ODBC driver)"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini
- eend ${?} || die
- fi
-}
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
index 3c026e81474..0f2c972abac 100644
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
+++ b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2018-2021 Gentoo Authors
+# Copyright 2018-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/3.1"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="ssl"
S="${S}-src"
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index e434cc93d7a..4f1c8bbb046 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -1,12 +1,10 @@
-DIST mariadb-10.2.41-patches-01.tar.xz 5840 BLAKE2B bfc1404ef7a856e1588caf6ac4b61514125752b298adc7d7b575f5106b052b33a0344a51c0b0974a4664ee13059be30d31d2a12436009a39f34567124ee81ce6 SHA512 3105d291d22a9085dd92c516f0af999786d78328e8a8970a000c7be9d2df211e544c798ba9882a6da94abcddbb4cf16d100c5e1ccda6dc98e7a16c2ca5914bff
-DIST mariadb-10.2.41.tar.gz 74358994 BLAKE2B ca7fedebac0ce05bbc0797e58347041b098878fe565b5f3ae8ac149b30eca9188335e5e4afbc158f644888de13a5bc264916c77e315b5f489b2449342bf46f8a SHA512 d6f04d5866c6179c8df796dcf2407fa6289f7b9a57590e6ac793518dd805da7799e76f1031579b74e03dad6adcbcd204dd80394a68ac0105fcecaacea64b74e1
-DIST mariadb-10.3.32-patches-01.tar.xz 4388 BLAKE2B e84de23ff97e0fcff9867bbba615f8054cf1dd015b44aa5d64bca38e150daf66d4e5149b1408485330af3e49006865c5d598797199cca1d74a31d77df2715627 SHA512 fdf36b310823b15ccb2fb921d694998ce076442ef4086a88b76ebc81c7ef778099c5dfddf1152bb54bf653c9f99a335502e9a34ee200846bd6ee14d407ae127e
-DIST mariadb-10.3.32.tar.gz 73389214 BLAKE2B 476d293f41804e2124859019c25df1bb93509741e8893939978af9ca6b83dfe238c3079bef0023281a1e2a0b89cb63d9a3de8d8a540ddbb96463f3914490d5ac SHA512 d74c8bdf9cc8126385e1ca69c098e2bd8543de292d36c6c88ffc8228430fd246386f675089e7a1a11c830a947efde755845eda279dfb202c89c641962edf43cd
-DIST mariadb-10.4.22-patches-01.tar.xz 4388 BLAKE2B 0e615ddc4db93daa1f4ef1d8755b97502bb19b0ece0fc0d6d8620cb69a7db2df81ef5a06fc0a6b0f7b61fdb5431f919da99afa8068b064d905cdeaa95df807f0 SHA512 7bfff381b7fd19d12f64caaaa7d598ee476e286def9be9acd6f808784ecd47e715f222bd07fd05cd24b3342053f46c22d03041413a6a55b7194d1a5c66b0c03a
-DIST mariadb-10.4.22.tar.gz 84916052 BLAKE2B f5f7623101cfac6b209a95de20ee737ce0afa574766340471a30ddb81abacaf2acf3809d54ecb62f9377f924b11fac04faa770802c2bdc8dc10e3286b1c8e648 SHA512 e505a56346cfcaf5b8fba80abad6b2ce819dd410f6e6f36e290ad4127aaa9fb580264c28068f9f9e04c3a2fcccd101ef73d2bf5944aedde6b2d4369163fb9248
-DIST mariadb-10.5.13-patches-01.tar.xz 5012 BLAKE2B 34a5af415737f71750a8fa47de4f2119e31723686f000a7f99f9892a0a12fbd2be3c7bb635197b131691d73ae663e34c1b010b154d62e1ea16535265f96200f1 SHA512 71e7940558fa863835ef86f04c48c4a1ca927dee0d9ae94fcb32facde857dfef1757ae96b5a738653c341fa19a67916b0b3a03ce473020edd5c8b52ccedc0bea
-DIST mariadb-10.5.13.tar.gz 102047279 BLAKE2B be91ebbd05b72d8046eaea73075510e160d7985b2766f64a1cdd3e5bbad1f4eebe9f371caf070a0e9fab605a90588539a4011ea4b2e4243ea4fd8f299ee836fd SHA512 5d5ac04a3c8099a982cacb98dd4c162966fc7957e11c28e8b5645e49ffcf0513b9c8956f43d215c37e5eaa34aa8db6c71cfe993c89d62cab123021ee83169e7f
+DIST mariadb-10.2.43-patches-01.tar.xz 5940 BLAKE2B f8658b799485942c4415b39667436edc91f7264dc08a10acbc83e145c4aabb2df925c9488ebe3e342f6bbb47afac4c20cc3bcc3a571b1104940064a858868a4a SHA512 1634600a53274b62f894351f58bc12600fe6e358280091dfa53b87ca656670dfc414d57e053582ce4a7caca4631a865bfe1bc37d541352aec268948cf8deadbc
+DIST mariadb-10.2.44.tar.gz 74425890 BLAKE2B 1a5d41ebf209dec54aa68a935ad4c6bac528aa7f8def64efea2bd146011daea0a701276ea037282b927b41b063f86f2cf4667c5d3309cd03a5489074ed351505 SHA512 29b17abfe82667053c3137e4e70e12854dab1312376fe8bdcfc76bf105aa3cddae49bcb07cc607a9c8f0a336bd8e537c6f57e2cdbbd06e48a45d125e3bb006a6
+DIST mariadb-10.3.34-patches-01.tar.xz 4696 BLAKE2B 36643b83f773a10180d5f94b4318c19abd441550701ca9e98ff8b7adf037648032023bb93c03efd58e25a650df5650e9b76ee8237cd3b61523f69521e505e643 SHA512 d33c52ad39e249daaae52fde09334f49285212aeb691f3caa7bf8776f95e82eff54bd6a942f24276aa7d945bd030d73e3b1f0ba15f9217236115bd448697d62c
+DIST mariadb-10.3.35.tar.gz 73496487 BLAKE2B 3ab05276fc22098be11ce8e2f5c9323c05c28b7617b31655506fe97131cccebe70a525dda0856b05c8196fabf50243865adf91ed6914ca750bbdf27c915767e8 SHA512 9355de944eccef4e0bc01b19ffc3c0c72cf88befae7385c6f0ee1ea47dbd98d23f6bb46af9c140acc48d9d9613552870684bc0b7ca1f3cff1dc09c1a2c801573
+DIST mariadb-10.4.25-patches-01.tar.xz 4496 BLAKE2B f710bed49c53bda4cd1bfc8cc8bbde8588a5600a25aba62f90be61e78879729b6b34ec18bfc0729f8330b9fc9858079e2d924c2b72080b86c73b85a9294f2894 SHA512 5545b6fa879ba99c38b52b5c4e1347efea0f1fd098c8593388a6e9c11ae7ffbca5ebe69a3c418420f49a0a7671bf26102dd2dc024fd60e8f9072ae920a16cb58
+DIST mariadb-10.4.25.tar.gz 88680777 BLAKE2B 993ed640ad579c2726ae241165d024a87fff580a4461fedee7c41a2bd70d668ed56b31219032096b4bd264543d6a93457947422b8a1384d3d3b94e7ca2f6ecb4 SHA512 27ad62985e19c877623d1512adcbec44e714ca50da9d303eab12bc2ad67dcae45d48a1aa010ad554341c46a1c5db7ee26c14570b9fa55fb71caf9979dd12671e
DIST mariadb-10.5.15-patches-01.tar.xz 5116 BLAKE2B 57759c61e672668be8ed991ca023007a4e0c10b2352cc621e88b825097cfde3eb83078804af7afaaa0c6f47900c34046773141a9e3dc3c220b33ecc16435784d SHA512 e3d21b3499ec9f6b5fd32978a6a779ecaca671cccadf241700207a1a3822a6b05ba2e13e1a6cb20e4d5fe4e6db6e5f46e9af650c736bdc3e3de9a4d8bad7ce19
-DIST mariadb-10.5.15.tar.gz 102803624 BLAKE2B 1a983bffdbfaf58c3adfb1789e10b3506b958a2c362226fd38cc9898a5584681640286a2bdbebb1c0e7e75a042276fe549224e38fbc49aef2c493f307ec7e935 SHA512 ea3d99fd9ad8adc8187fb5d722ff16cde90c7cca4b3572e410814ae39e0246b7a83b4dc1e72f95de58c1c12a9563fb524dcca2dd1fb8f595cc41625a2fb0af76
-DIST mariadb-10.6.5-patches-04.tar.xz 5916 BLAKE2B c9a6d087057ce732cfe7789255d2a5106baefc70b4bfcfc6806c0165ae7b56d440e88c5c4b0aa10a8f0c1b9478826f1dc89a785ffec76764b8bd4e824960edf6 SHA512 29b22e99a6be137e5c2832f5c781bfbbacee40b716089e24150ac72198f59a8a3f46b6a056ee4d02588a06d32ed9c3b815a59c302c48b493afe9a21a7d4a884d
-DIST mariadb-10.6.5.tar.gz 85061860 BLAKE2B 668fe327e6a46c66bc0b77339d71279cc8bfe468d1e634035e639e88aabaa09ea27aa50e3b9d27728a275e1e7861e8db1209d372d751084ea486ad31f6f1fd29 SHA512 5aafe0a8d5ae54a6f798a6fd0cf922521f5b8e54ef5fb5c7db1cf798a7755f5910bb0b8a6c371cb8253dfb48f4ebca0becd6eb543b68473d564d2092df3185a1
+DIST mariadb-10.5.16.tar.gz 105798374 BLAKE2B fc8ba002a876cd9d357c9762e531082f22380480f8713d3f3882c29ad31c6b14065079b6cdde2e698382d2be668e9e7af2d900b93cd976e8fa27e876f33acff4 SHA512 28cea63cc3c5e1b236fb13593285e5d4b9aac5eaf259784e760def42bca8b09954510d39014a7a7c9e8656d61f5995a356df2f2ebb0df2696dd739ff3de5865d
+DIST mariadb-10.6.8-patches-01.tar.xz 5220 BLAKE2B 0ad1caecbd05defd9d60e3c438cb0f36dfe7db5fa78e08f43cdd298613cb34691c013f7c44f6bddd39a56f0bf267d257e116defeea5022635b3b6e9b105e0eae SHA512 4cbc527b7307417e0cbf3056487e688474183f0db223ea9107d9a911ef1594691344f2b283402b45ddbc82e29023f0545301a8407f9711f7d8242e3001e3f095
+DIST mariadb-10.6.8.tar.gz 88794744 BLAKE2B 1cd036bc686864b497d04454388d9366261f6cc69ad233ab3783063a893c8814ca6c95166415c5b76f2bec2462bffe0bc44d3543502932d03805e972f63b6abc SHA512 b4327000eb3e5fc75bbd78de9890b0464217a432c8aac744948af94e092ffeef1f101885b81ec49029900a92b0018838e46efcf225056a9b06f35a04ecf26aab
diff --git a/dev-db/mariadb/files/mariadb-10.6.8-openssl3.patch b/dev-db/mariadb/files/mariadb-10.6.8-openssl3.patch
new file mode 100644
index 00000000000..378ae6bae08
--- /dev/null
+++ b/dev-db/mariadb/files/mariadb-10.6.8-openssl3.patch
@@ -0,0 +1,461 @@
+https://bugs.gentoo.org/849593
+https://github.com/MariaDB/server/commit/f0fa40efada3f46d76b735fa61e9f20cc9ce18fc
+https://github.com/MariaDB/server/commit/987d16a0b43c163264ab37d3e01795577f97d83b
+https://github.com/MariaDB/server/commit/78412ab028509f07a801c9bf1f3792ad77bcfac6
+https://github.com/MariaDB/server/commit/babb803222d4a5d5a3256720c59d056cc8ba7dc3
+
+From: Vladislav Vaintroub <wlad@mariadb.com>
+Date: Mon, 8 Nov 2021 18:48:19 +0100
+Subject: [PATCH] MDEV-25785 Add support for OpenSSL 3.0
+
+Summary of changes
+
+- MD_CTX_SIZE is increased
+
+- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points
+ to nobody knows where. The assumption made previously was that
+ (since the function does not seem to be documented)
+ was that it points to the last partial source block.
+ Add own partial block buffer for NOPAD encryption instead
+
+- SECLEVEL in CipherString in openssl.cnf
+ had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible
+ (according to https://github.com/openssl/openssl/blob/openssl-3.0.0/NEWS.md
+ even though the manual for SSL_CTX_get_security_level claims that it
+ should not be necessary)
+
+- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers,
+ in addition to what was set in --ssl-cipher
+
+- ctx_buf buffer now must be aligned to 16 bytes with openssl(
+ previously with WolfSSL only), ot crashes will happen
+
+- updated aes-t , to be better debuggable
+ using function, rather than a huge multiline macro
+ added test that does "nopad" encryption piece-wise, to test
+ replacement of EVP_CIPHER_CTX_buf_noconst
+
+part of MDEV-28133
+--- a/cmake/ssl.cmake
++++ b/cmake/ssl.cmake
+@@ -139,6 +139,13 @@ MACRO (MYSQL_CHECK_SSL)
+ SET(SSL_INTERNAL_INCLUDE_DIRS "")
+ SET(SSL_DEFINES "-DHAVE_OPENSSL")
+
++ # Silence "deprecated in OpenSSL 3.0"
++ IF((NOT OPENSSL_VERSION) # 3.0 not determined by older cmake
++ OR NOT(OPENSSL_VERSION VERSION_LESS "3.0.0"))
++ SET(SSL_DEFINES "${SSL_DEFINES} -DOPENSSL_API_COMPAT=0x10100000L")
++ SET(CMAKE_REQUIRED_DEFINITIONS -DOPENSSL_API_COMPAT=0x10100000L)
++ ENDIF()
++
+ SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+ SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES})
+ SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+@@ -152,6 +159,7 @@ MACRO (MYSQL_CHECK_SSL)
+ HAVE_X509_check_host)
+ SET(CMAKE_REQUIRED_INCLUDES)
+ SET(CMAKE_REQUIRED_LIBRARIES)
++ SET(CMAKE_REQUIRED_DEFINITIONS)
+ ELSE()
+ IF(WITH_SSL STREQUAL "system")
+ MESSAGE(FATAL_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support")
+--- a/include/mysql/service_my_crypt.h
++++ b/include/mysql/service_my_crypt.h
+@@ -45,7 +45,7 @@ extern "C" {
+ /* The max key length of all supported algorithms */
+ #define MY_AES_MAX_KEY_LENGTH 32
+
+-#define MY_AES_CTX_SIZE 656
++#define MY_AES_CTX_SIZE 672
+
+ enum my_aes_mode {
+ MY_AES_ECB, MY_AES_CBC
+--- a/include/ssl_compat.h
++++ b/include/ssl_compat.h
+@@ -24,7 +24,7 @@
+ #define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION)
+ #define ERR_remove_state(X) ERR_clear_error()
+ #define EVP_CIPHER_CTX_SIZE 176
+-#define EVP_MD_CTX_SIZE 48
++#define EVP_MD_CTX_SIZE 72
+ #undef EVP_MD_CTX_init
+ #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
+ #undef EVP_CIPHER_CTX_init
+@@ -77,7 +77,6 @@
+ #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G))
+ #endif
+
+-#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf)
+ #define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt)
+ #define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX)
+
+--- a/mysql-test/lib/openssl.cnf
++++ b/mysql-test/lib/openssl.cnf
+@@ -9,4 +9,4 @@ ssl_conf = ssl_section
+ system_default = system_default_section
+
+ [system_default_section]
+-CipherString = ALL:@SECLEVEL=1
++CipherString = ALL:@SECLEVEL=0
+--- a/mysql-test/main/ssl_cipher.result
++++ b/mysql-test/main/ssl_cipher.result
+@@ -61,8 +61,8 @@ connect ssl_con,localhost,root,,,,,SSL;
+ SHOW STATUS LIKE 'Ssl_cipher';
+ Variable_name Value
+ Ssl_cipher AES128-SHA
+-SHOW STATUS LIKE 'Ssl_cipher_list';
+-Variable_name Value
+-Ssl_cipher_list AES128-SHA
++SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list';
++VARIABLE_VALUE like '%AES128-SHA%'
++1
+ disconnect ssl_con;
+ connection default;
+--- a/mysql-test/main/ssl_cipher.test
++++ b/mysql-test/main/ssl_cipher.test
+@@ -98,6 +98,6 @@ let $restart_parameters=--ssl-cipher=AES128-SHA;
+ source include/restart_mysqld.inc;
+ connect (ssl_con,localhost,root,,,,,SSL);
+ SHOW STATUS LIKE 'Ssl_cipher';
+-SHOW STATUS LIKE 'Ssl_cipher_list';
++SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list';
+ disconnect ssl_con;
+ connection default;
+--- a/mysys_ssl/my_crypt.cc
++++ b/mysys_ssl/my_crypt.cc
+@@ -29,11 +29,7 @@
+ #include <ssl_compat.h>
+ #include <cstdint>
+
+-#ifdef HAVE_WOLFSSL
+ #define CTX_ALIGN 16
+-#else
+-#define CTX_ALIGN 0
+-#endif
+
+ class MyCTX
+ {
+@@ -100,8 +96,9 @@ class MyCTX_nopad : public MyCTX
+ {
+ public:
+ const uchar *key;
+- uint klen, buf_len;
++ uint klen, source_tail_len;
+ uchar oiv[MY_AES_BLOCK_SIZE];
++ uchar source_tail[MY_AES_BLOCK_SIZE];
+
+ MyCTX_nopad() : MyCTX() { }
+ ~MyCTX_nopad() { }
+@@ -112,7 +109,7 @@ class MyCTX_nopad : public MyCTX
+ compile_time_assert(MY_AES_CTX_SIZE >= sizeof(MyCTX_nopad));
+ this->key= key;
+ this->klen= klen;
+- this->buf_len= 0;
++ this->source_tail_len= 0;
+ if (ivlen)
+ memcpy(oiv, iv, ivlen);
+ DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv));
+@@ -123,26 +120,41 @@ class MyCTX_nopad : public MyCTX
+ return res;
+ }
+
++ /** Update last partial source block, stored in source_tail array. */
++ void update_source_tail(const uchar* src, uint slen)
++ {
++ if (!slen)
++ return;
++ uint new_tail_len= (source_tail_len + slen) % MY_AES_BLOCK_SIZE;
++ if (new_tail_len)
++ {
++ if (slen + source_tail_len < MY_AES_BLOCK_SIZE)
++ {
++ memcpy(source_tail + source_tail_len, src, slen);
++ }
++ else
++ {
++ DBUG_ASSERT(slen > new_tail_len);
++ memcpy(source_tail, src + slen - new_tail_len, new_tail_len);
++ }
++ }
++ source_tail_len= new_tail_len;
++ }
++
+ int update(const uchar *src, uint slen, uchar *dst, uint *dlen)
+ {
+- buf_len+= slen;
++ update_source_tail(src, slen);
+ return MyCTX::update(src, slen, dst, dlen);
+ }
+
+ int finish(uchar *dst, uint *dlen)
+ {
+- buf_len %= MY_AES_BLOCK_SIZE;
+- if (buf_len)
++ if (source_tail_len)
+ {
+- uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx);
+ /*
+ Not much we can do, block ciphers cannot encrypt data that aren't
+ a multiple of the block length. At least not without padding.
+ Let's do something CTR-like for the last partial block.
+-
+- NOTE this assumes that there are only buf_len bytes in the buf.
+- If OpenSSL will change that, we'll need to change the implementation
+- of this class too.
+ */
+ uchar mask[MY_AES_BLOCK_SIZE];
+ uint mlen;
+@@ -154,10 +166,10 @@ class MyCTX_nopad : public MyCTX
+ return rc;
+ DBUG_ASSERT(mlen == sizeof(mask));
+
+- for (uint i=0; i < buf_len; i++)
+- dst[i]= buf[i] ^ mask[i];
++ for (uint i=0; i < source_tail_len; i++)
++ dst[i]= source_tail[i] ^ mask[i];
+ }
+- *dlen= buf_len;
++ *dlen= source_tail_len;
+ return MY_AES_OK;
+ }
+ };
+--- a/unittest/mysys/aes-t.c
++++ b/unittest/mysys/aes-t.c
+@@ -21,27 +21,96 @@
+ #include <string.h>
+ #include <ctype.h>
+
+-#define DO_TEST(mode, nopad, slen, fill, dlen, hash) \
+- SKIP_BLOCK_IF(mode == 0xDEADBEAF, nopad ? 4 : 5, #mode " not supported") \
+- { \
+- memset(src, fill, src_len= slen); \
+- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, \
+- src, src_len, dst, &dst_len, \
+- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \
+- "encrypt " #mode " %u %s", src_len, nopad ? "nopad" : "pad"); \
+- if (!nopad) \
+- ok (dst_len == my_aes_get_size(mode, src_len), "my_aes_get_size");\
+- my_md5(md5, (char*)dst, dst_len); \
+- ok(dst_len == dlen && memcmp(md5, hash, sizeof(md5)) == 0, "md5"); \
+- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, \
+- dst, dst_len, ddst, &ddst_len, \
+- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \
+- "decrypt " #mode " %u", dst_len); \
+- ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); \
++
++/** Test streaming encryption, bytewise update.*/
++static int aes_crypt_bytewise(enum my_aes_mode mode, int flags, const unsigned char *src,
++ unsigned int slen, unsigned char *dst, unsigned int *dlen,
++ const unsigned char *key, unsigned int klen,
++ const unsigned char *iv, unsigned int ivlen)
++{
++ /* Allocate context on odd address on stack, in order to
++ catch misalignment errors.*/
++ void *ctx= (char *)alloca(MY_AES_CTX_SIZE+1)+1;
++
++ int res1, res2;
++ uint d1= 0, d2;
++ uint i;
++
++ if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen)))
++ return res1;
++ for (i= 0; i < slen; i++)
++ {
++ uint tmp_d1=0;
++ res1= my_aes_crypt_update(ctx, src+i,1, dst, &tmp_d1);
++ if (res1)
++ return res1;
++ d1+= tmp_d1;
++ dst+= tmp_d1;
++ }
++ res2= my_aes_crypt_finish(ctx, dst, &d2);
++ *dlen= d1 + d2;
++ return res1 ? res1 : res2;
++}
++
++
++#ifndef HAVE_EncryptAes128Ctr
++const uint MY_AES_CTR=0xDEADBEAF;
++#endif
++#ifndef HAVE_EncryptAes128Gcm
++const uint MY_AES_GCM=0xDEADBEAF;
++#endif
++
++#define MY_AES_UNSUPPORTED(x) (x == 0xDEADBEAF)
++
++static void do_test(uint mode, const char *mode_str, int nopad, uint slen,
++ char fill, size_t dlen, const char *hash)
++{
++ uchar key[16]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6};
++ uchar iv[16]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7};
++ uchar src[1000], dst[1100], dst2[1100], ddst[1000];
++ uchar md5[MY_MD5_HASH_SIZE];
++ uint src_len, dst_len, dst_len2, ddst_len;
++ int result;
++
++ if (MY_AES_UNSUPPORTED(mode))
++ {
++ skip(nopad?7:6, "%s not supported", mode_str);
++ return;
++ }
++ memset(src, fill, src_len= slen);
++ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, src_len,
++ dst, &dst_len, key, sizeof(key), iv, sizeof(iv));
++ ok(result == MY_AES_OK, "encrypt %s %u %s", mode_str, src_len,
++ nopad ? "nopad" : "pad");
++
++ if (nopad)
++ {
++ result= aes_crypt_bytewise(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src,
++ src_len, dst2, &dst_len2, key, sizeof(key),
++ iv, sizeof(iv));
++ ok(result == MY_AES_OK, "encrypt bytewise %s %u", mode_str, src_len);
++ /* Compare with non-bytewise encryption result*/
++ ok(dst_len == dst_len2 && memcmp(dst, dst2, dst_len) == 0,
++ "memcmp bytewise %s %u", mode_str, src_len);
++ }
++ else
++ {
++ int dst_len_real= my_aes_get_size(mode, src_len);
++ ok(dst_len_real= dst_len, "my_aes_get_size");
+ }
++ my_md5(md5, (char *) dst, dst_len);
++ ok(dst_len == dlen, "md5 len");
++ ok(memcmp(md5, hash, sizeof(md5)) == 0, "md5");
++ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT,
++ dst, dst_len, ddst, &ddst_len, key, sizeof(key), iv,
++ sizeof(iv));
++
++ ok(result == MY_AES_OK, "decrypt %s %u", mode_str, dst_len);
++ ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp");
++}
+
+-#define DO_TEST_P(M,S,F,D,H) DO_TEST(M,0,S,F,D,H)
+-#define DO_TEST_N(M,S,F,D,H) DO_TEST(M,ENCRYPTION_FLAG_NOPAD,S,F,D,H)
++#define DO_TEST_P(M, S, F, D, H) do_test(M, #M, 0, S, F, D, H)
++#define DO_TEST_N(M, S, F, D, H) do_test(M, #M, ENCRYPTION_FLAG_NOPAD, S, F, D, H)
+
+ /* useful macro for debugging */
+ #define PRINT_MD5() \
+@@ -53,25 +122,15 @@
+ printf("\"\n"); \
+ } while(0);
+
+-#ifndef HAVE_EncryptAes128Ctr
+-const uint MY_AES_CTR=0xDEADBEAF;
+-#endif
+-#ifndef HAVE_EncryptAes128Gcm
+-const uint MY_AES_GCM=0xDEADBEAF;
+-#endif
+
+ int
+ main(int argc __attribute__((unused)),char *argv[])
+ {
+- uchar key[16]= {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6};
+- uchar iv[16]= {2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7};
+- uchar src[1000], dst[1100], ddst[1000];
+- uchar md5[MY_MD5_HASH_SIZE];
+- uint src_len, dst_len, ddst_len;
+
+ MY_INIT(argv[0]);
+
+- plan(87);
++ plan(122);
++
+ DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a");
+ DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b");
+ DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9");
+
+From: Oleksandr Byelkin <sanja@mariadb.com>
+Date: Fri, 4 Feb 2022 14:52:03 +0100
+Subject: [PATCH] Revert "don't build with OpenSSL 3.0, it doesn't work before
+ MDEV-25785"
+
+This reverts commit c9beef43154a199bfcd9f71049c011a2ed77ca74, because
+we have OpenSSL 3.0 support here.
+
+part of MDEV-28133
+--- a/cmake/ssl.cmake
++++ b/cmake/ssl.cmake
+@@ -118,7 +118,7 @@ MACRO (MYSQL_CHECK_SSL)
+ ENDIF()
+ FIND_PACKAGE(OpenSSL)
+ SET_PACKAGE_PROPERTIES(OpenSSL PROPERTIES TYPE RECOMMENDED)
+- IF(OPENSSL_FOUND AND OPENSSL_VERSION AND OPENSSL_VERSION VERSION_LESS "3.0.0")
++ IF(OPENSSL_FOUND)
+ SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY})
+ INCLUDE(CheckSymbolExists)
+ SET(SSL_SOURCES "")
+
+From: Honza Horak <hhorak@redhat.com>
+Date: Tue, 8 Feb 2022 16:39:10 +0100
+Subject: [PATCH] MDEV-27778 md5 in FIPS crashes with OpenSSL 3.0.0
+
+OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer.
+In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while
+in 3.0.0+ it is a different EVP_MD provider.
+
+Fixes #2010
+
+part of MDEV-28133
+--- a/mysys_ssl/my_md5.cc
++++ b/mysys_ssl/my_md5.cc
+@@ -52,12 +52,23 @@ static void md5_result(EVP_MD_CTX *context, uchar digest[MD5_HASH_SIZE])
+
+ static void md5_init(EVP_MD_CTX *context)
+ {
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ EVP_MD *md5;
++ EVP_MD_CTX_init(context);
++ /* Ok to ignore FIPS: MD5 is not used for crypto here */
++ /* In OpenSSL 3.0.0+ it is a different EVP_MD provider */
++ md5 = EVP_MD_fetch(NULL, "MD5", "fips=no");
++ EVP_DigestInit_ex(context, md5, NULL);
++ EVP_MD_free(md5);
++#else
+ EVP_MD_CTX_init(context);
+ #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW
+ /* Ok to ignore FIPS: MD5 is not used for crypto here */
++ /* In OpenSSL 1.1.1 the non FIPS allowed flag is context specific */
+ EVP_MD_CTX_set_flags(context, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
+ #endif
+ EVP_DigestInit_ex(context, EVP_md5(), NULL);
++#endif
+ }
+
+ static void md5_input(EVP_MD_CTX *context, const uchar *buf, unsigned len)
+
+From: Vladislav Vaintroub <wlad@mariadb.com>
+Date: Mon, 23 May 2022 14:38:56 +0200
+Subject: [PATCH] MDEV-28648 main.ssl_timeout fails with OpenSSL 3.0.3
+
+Depending on OpenSSL version, and at least in 3.0.3, the client-side socket
+timeout is reported as generic error (SSL_ERROR_SYSCALL), losing further
+details (both errno and GetLastError() return 0). This results in client
+reporting "Unknown OpenSSL error" 2026, instead of another generic
+"Lost connection to server during query" 2013
+
+Adjusted test case.
+--- a/mysql-test/main/ssl_timeout.result
++++ b/mysql-test/main/ssl_timeout.result
+@@ -5,6 +5,6 @@ SELECT (VARIABLE_VALUE <> '') AS have_ssl FROM INFORMATION_SCHEMA.SESSION_STATUS
+ have_ssl
+ 1
+ SELECT SLEEP(600);
+-ERROR HY000: Lost connection to server during query
++Got one of the listed errors
+ connection default;
+ disconnect ssl_con;
+--- a/mysql-test/main/ssl_timeout.test
++++ b/mysql-test/main/ssl_timeout.test
+@@ -10,7 +10,7 @@ connect (ssl_con,localhost,root,,,,,SSL read_timeout=5);
+ SELECT (VARIABLE_VALUE <> '') AS have_ssl FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher';
+
+ # --error CR_SERVER_LOST
+---error 2013
++--error 2013,2026
+ SELECT SLEEP(600);
+
+ connection default;
+
diff --git a/dev-db/mariadb/mariadb-10.2.41.ebuild b/dev-db/mariadb/mariadb-10.2.44.ebuild
index 43001d345c8..0b6fb36477b 100644
--- a/dev-db/mariadb/mariadb-10.2.41.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.44.ebuild
@@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.41-patches-01.tar.xz"
+PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/${PN}/${PN}-10.2.43-patches-01.tar.xz"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
${PATCH_SET}"
@@ -464,7 +464,7 @@ src_compile() {
}
# Official test instructions:
-# USE='extraengine perl server' \
+# USE='extraengine perl server xml' \
# FEATURES='test userpriv' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
@@ -685,6 +685,9 @@ src_install() {
if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
}
pkg_preinst() {
diff --git a/dev-db/mariadb/mariadb-10.3.32.ebuild b/dev-db/mariadb/mariadb-10.3.35.ebuild
index b8789782160..68eeddd2a5f 100644
--- a/dev-db/mariadb/mariadb-10.3.32.ebuild
+++ b/dev-db/mariadb/mariadb-10.3.35.ebuild
@@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.32-patches-01.tar.xz"
+PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/${PN}/${PN}-10.3.34-patches-01.tar.xz"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
${PATCH_SET}"
@@ -30,7 +30,7 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !extraengine !pam )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
@@ -454,7 +454,7 @@ src_compile() {
}
# Official test instructions:
-# USE='extraengine perl server' \
+# USE='extraengine perl server xml' \
# FEATURES='test userpriv' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
@@ -682,6 +682,9 @@ src_install() {
rm "${ED}/usr/bin/${scriptremove}" || die
fi
done
+
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
}
pkg_preinst() {
diff --git a/dev-db/mariadb/mariadb-10.4.22.ebuild b/dev-db/mariadb/mariadb-10.4.25.ebuild
index 14def683d3a..d614fe01c4f 100644
--- a/dev-db/mariadb/mariadb-10.4.22.ebuild
+++ b/dev-db/mariadb/mariadb-10.4.25.ebuild
@@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.22-patches-01.tar.xz"
+PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.4.25-patches-01.tar.xz"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
${PATCH_SET}"
@@ -468,7 +468,7 @@ src_compile() {
}
# Official test instructions:
-# USE='extraengine perl server' \
+# USE='extraengine perl server xml' \
# FEATURES='test userpriv' \
# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
@@ -696,6 +696,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
diff --git a/dev-db/mariadb/mariadb-10.5.15.ebuild b/dev-db/mariadb/mariadb-10.5.15.ebuild
deleted file mode 100644
index 5f5be0b5ce0..00000000000
--- a/dev-db/mariadb/mariadb-10.5.15.ebuild
+++ /dev/null
@@ -1,1309 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake
-
-# Patch version
-PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.5.15-patches-01.tar.xz"
-
-SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
- ${PATCH_SET}"
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
-IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
- test xml yassl"
-
-RESTRICT="!bindist? ( bindist ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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="
- >=dev-libs/libpcre2-10.34:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- >=sys-libs/zlib-1.2.3:0=
- virtual/libcrypt:=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kerberos? ( virtual/krb5 )
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- server? (
- app-arch/bzip2
- app-arch/xz-utils
- backup? ( app-arch/libarchive:0= )
- columnstore? (
- app-arch/snappy
- dev-libs/boost:0=
- dev-libs/libxml2:2=
- )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- s3? ( net-misc/curl )
- systemd? ( sys-apps/systemd:= )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- >=dev-libs/openssl-1.0.0:0=
- )
-"
-BDEPEND="virtual/yacc"
-DEPEND="${COMMON_DEPEND}
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !dev-db/mariadb:0
- !dev-db/mariadb:5.5
- !dev-db/mariadb:10.1
- !dev-db/mariadb:10.2
- !dev-db/mariadb:10.3
- !dev-db/mariadb:10.4
- !dev-db/mariadb:10.6
- !dev-db/mariadb:10.7
- !dev-db/mariadb:10.8
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- selinux? ( sec-policy/selinux-mysql )
- server? (
- columnstore? ( dev-db/mariadb-connector-c )
- extraengine? ( jdbc? ( >=virtual/jre-1.8 ) )
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- )
-"
-# 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=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1)
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1)
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if has test ${FEATURES} ; then
- # 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
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
-
- mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}"/mariadb-patches
-
- eapply_user
-
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- # It fails on alpha without this
- use alpha && append-ldflags "-Wl,--no-relax"
-
- 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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=bin
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
- # Connect and Federated{,X} must be treated special
- # otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_CONNECT=NO
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO
- )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_S3=$(usex s3 YES NO)
- -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- fi
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-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_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # 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
-
- # 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
- touch "${S}"/mysql-test/unstable-tests || die
- fi
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
- disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.sp2;24177;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" )
- 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
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --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_tests} -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "${failures}" ]] || die "Test failures: ${failures}"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- cmake_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Conflicting files
- conflicting_files=()
-
- # We prefer my_print_defaults from dev-db/mysql-connector-c
- conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
-
- # Remove bundled mytop in favor of dev-db/mytop
- conflicting_files+=( "${ED}/usr/bin/mytop" )
- conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
-
- local conflicting_file
- for conflicting_file in "${conflicting_files[@]}" ; do
- if [[ -e "${conflicting_file}" ]] ; then
- rm -v "${conflicting_file}" || die
- fi
- done
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-pkg_config() {
- _getoptval() {
- local section="${1}"
- local option="--${2}"
- local extra_options="${3}"
- local cmd=(
- "${my_print_defaults_binary}"
- "${extra_options}"
- "${section}"
- )
-
- local values=()
- local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
- for parameter in "${parameters[@]}"
- do
- # my_print_defaults guarantees output of options, one per line,
- # in the form that they would be specified on the command line.
- # So checking for --option=* should be safe.
- case ${parameter} in
- ${option}=*)
- values+=( "${parameter#*=}" )
- ;;
- esac
- done
-
- if [[ ${#values[@]} -gt 0 ]] ; then
- # Option could have been set multiple times
- # in which case only the last occurrence
- # contains the current value
- echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
- if [[ ! -x "${mysql_binary}" ]] ; then
- die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
- fi
-
- 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
- if [[ ! -x "${mysql_install_db_binary}" ]] ; then
- die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
- # Only create directory when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Only test when MYSQL_LOG_BIN is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
- # Only create directory when MYSQL_RELAY_LOG is an absolute path
- 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Only test when MYSQL_RELAY_LOG is an absolute path
- 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
- [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
-
- # Limit access
- chmod 0770 "${SETUP_TMPDIR}" || die
- chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
-
- local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
- local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
-
- 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
- # Absolute path for binary log files specified
- einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
- fi
-
- if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
- # Absolute path for relay log files specified
- 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}"
-
- 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}"
- grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" )
- done
-
- # Prepare timezones, see
- # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
- local tz_sql="${SETUP_TMPDIR}/tz.sql"
-
- 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
-
- local cmd=(
- "${mysql_install_db_binary}"
- "${mysqld_options[@]}"
- "--init-file='${tz_sql}'"
- "--basedir='${EROOT}/usr'"
- "--datadir='${MY_DATADIR}'"
- "--tmpdir='${MYSQL_TMPDIR}'"
- "--log-error='${mysql_install_log}'"
- "--rpm"
- "--cross-bootstrap"
- "--skip-test-db"
- "--user=${MYSQL_USER}"
- )
-
- einfo "Initializing ${PN} data directory: ${cmd[@]}"
- eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
-
- if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
-
- local x=${RANDOM}
- local socket="${PID_DIR}/mysqld.${x}.sock"
- [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
- local pidfile="${PID_DIR}/mysqld.${x}.pid"
- [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
- 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="${SETUP_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
-
- rm -r "${SETUP_TMPDIR}" || die
-
- einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
-}
diff --git a/dev-db/mariadb/mariadb-10.5.13.ebuild b/dev-db/mariadb/mariadb-10.5.16.ebuild
index cac5f2acfa6..9d33127732a 100644
--- a/dev-db/mariadb/mariadb-10.5.13.ebuild
+++ b/dev-db/mariadb/mariadb-10.5.16.ebuild
@@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.13-patches-01.tar.xz"
+PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.5.15-patches-01.tar.xz"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
${PATCH_SET}"
@@ -703,6 +703,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
diff --git a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild b/dev-db/mariadb/mariadb-10.6.8-r1.ebuild
index 0d12908c713..c78a89ef581 100644
--- a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.8-r1.ebuild
@@ -10,7 +10,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
# Patch version
-PATCH_SET=( https://dev.gentoo.org/~{whissi,dlan}/dist/${PN}/${PN}-10.6.5-patches-04.tar.xz )
+PATCH_SET="https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.8-patches-01.tar.xz"
SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
${PATCH_SET[@]}"
@@ -206,6 +206,8 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mariadb-patches
+ eapply "${FILESDIR}"/${P}-openssl3.patch
+
eapply_user
_disable_plugin() {
@@ -557,11 +559,13 @@ src_test() {
disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" )
disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+ disabled_tests+=( "spider.*;0;Fails with network sandbox" )
disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
if ! use latin1 ; then
@@ -705,6 +709,9 @@ src_install() {
rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
fi
+ # Remove dangling symlink
+ rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die
+
# Remove broken SST scripts that are incompatible
local scriptremove
for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
index ce11cf9a4b4..1944166e396 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -1,36 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
-<use>
- <flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag>
- <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages</flag>
- <flag name="columnstore">Build the ColumnStore storage engine</flag>
- <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
- <flag name="galera">Enables galera replication</flag>
- <flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag>
- <flag name="innodb-lzo">Enables lzo compression methods for InnoDB/XtraDB</flag>
- <flag name="innodb-snappy">Enables snappy compression methods for InnoDB/XtraDB using <pkg>app-arch/snappy</pkg></flag>
- <flag name="jdbc">Enable the CONNECT engine to access foreign databases via JDBC</flag>
- <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
- <flag name="mroonga">Add support for the Mroonga engine for interfacing with the Groonga text search</flag>
- <flag name="numa">Enable NUMA support using sys-process/numactl (NUMA kernel support is also required)</flag>
- <flag name="oqgraph">Add support for the Open Query GRAPH engine</flag>
- <flag name="pam">Enable the optional PAM authentication plugin for the server</flag>
- <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
- <flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag>
- <flag name="server">Build the server program</flag>
- <flag name="sphinx">Add suport for the sphinx full-text search engine</flag>
- <flag name="sst-rsync">Add tools needed to support the rsync SST method</flag>
- <flag name="sst-mariabackup">Add tools needed to support the mariabackup SST method</flag>
- <flag name="sst-xtrabackup">Add tools needed to support the xtrabackup and xtrabackup-v2 SST methods</flag>
- <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name="s3">Build the S3 storage engine</flag>
- <flag name="test">Install upstream testsuites for end use.</flag>
- <flag name="tokudb">Add support for TokuDB storage engine</flag>
- <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
-</use>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <use>
+ <flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag>
+ <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages</flag>
+ <flag name="columnstore">Build the ColumnStore storage engine</flag>
+ <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
+ <flag name="galera">Enables galera replication</flag>
+ <flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag>
+ <flag name="innodb-lzo">Enables lzo compression methods for InnoDB/XtraDB</flag>
+ <flag name="innodb-snappy">Enables snappy compression methods for InnoDB/XtraDB using <pkg>app-arch/snappy</pkg></flag>
+ <flag name="jdbc">Enable the CONNECT engine to access foreign databases via JDBC</flag>
+ <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
+ <flag name="mroonga">Add support for the Mroonga engine for interfacing with the Groonga text search</flag>
+ <flag name="numa">Enable NUMA support using sys-process/numactl (NUMA kernel support is also required)</flag>
+ <flag name="oqgraph">Add support for the Open Query GRAPH engine</flag>
+ <flag name="pam">Enable the optional PAM authentication plugin for the server</flag>
+ <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
+ <flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag>
+ <flag name="server">Build the server program</flag>
+ <flag name="sphinx">Add suport for the sphinx full-text search engine</flag>
+ <flag name="sst-rsync">Add tools needed to support the rsync SST method</flag>
+ <flag name="sst-mariabackup">Add tools needed to support the mariabackup SST method</flag>
+ <flag name="sst-xtrabackup">Add tools needed to support the xtrabackup and xtrabackup-v2 SST methods</flag>
+ <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="s3">Build the S3 storage engine</flag>
+ <flag name="test">Install upstream testsuites for end use.</flag>
+ <flag name="tokudb">Add support for TokuDB storage engine</flag>
+ <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">MariaDB/server</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mongodb/files/mongodb-4.2.17-boost-1.79.patch b/dev-db/mongodb/files/mongodb-4.2.17-boost-1.79.patch
new file mode 100644
index 00000000000..b86efa142f5
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.2.17-boost-1.79.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/844235
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -51,6 +51,7 @@
+ #endif
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/none.hpp>
+ #include <boost/optional.hpp>
+ #include <fmt/format.h>
+--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
++++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+@@ -36,6 +36,7 @@
+ #include <limits>
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/base/simple_string_data_comparator.h"
+--- a/src/mongo/shell/shell_utils_extended.cpp
++++ b/src/mongo/shell/shell_utils_extended.cpp
+@@ -37,6 +37,7 @@
+ #endif
+
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/fstream.hpp>
+ #include <fstream>
+
+ #include "mongo/scripting/engine.h"
+--- a/src/mongo/db/storage/storage_repair_observer.cpp
++++ b/src/mongo/db/storage/storage_repair_observer.cpp
+@@ -41,6 +41,7 @@
+ #include <sys/types.h>
+ #endif
+
++#include <boost/filesystem/fstream.hpp>
+ #include <boost/filesystem/path.hpp>
+
+ #include "mongo/db/dbhelpers.h"
diff --git a/dev-db/mongodb/files/mongodb-4.4.1-boost.patch b/dev-db/mongodb/files/mongodb-4.4.1-boost.patch
index 009ca6826a4..d14f6fe3052 100644
--- a/dev-db/mongodb/files/mongodb-4.4.1-boost.patch
+++ b/dev-db/mongodb/files/mongodb-4.4.1-boost.patch
@@ -1,5 +1,3 @@
-diff --git a/SConstruct b/SConstruct
-index 89c044ab..0484e475 100644
--- a/SConstruct
+++ b/SConstruct
@@ -3511,17 +3511,11 @@ def doConfigure(myenv):
diff --git a/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch b/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch
index df7dbc001b0..601141e8d41 100644
--- a/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch
+++ b/dev-db/mongodb/files/mongodb-4.4.10-boost-1.79.patch
@@ -1,5 +1,4 @@
-diff --git a/src/mongo/db/auth/security_key_test.cpp b/src/mongo/db/auth/security_key_test.cpp
-index fc1787b5..70b977c1 100644
+https://bugs.gentoo.org/844235
--- a/src/mongo/db/auth/security_key_test.cpp
+++ b/src/mongo/db/auth/security_key_test.cpp
@@ -30,6 +30,7 @@
@@ -10,8 +9,6 @@ index fc1787b5..70b977c1 100644
#include "mongo/base/string_data.h"
#include "mongo/db/auth/authorization_manager.h"
-diff --git a/src/mongo/db/storage/storage_repair_observer.cpp b/src/mongo/db/storage/storage_repair_observer.cpp
-index 22b76a6a..ec5bcece 100644
--- a/src/mongo/db/storage/storage_repair_observer.cpp
+++ b/src/mongo/db/storage/storage_repair_observer.cpp
@@ -41,6 +41,7 @@
@@ -22,8 +19,6 @@ index 22b76a6a..ec5bcece 100644
#include <boost/filesystem/path.hpp>
#include "mongo/db/dbhelpers.h"
-diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
-index 01bb7806..78c15609 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp
@@ -34,6 +34,7 @@
@@ -34,8 +29,6 @@ index 01bb7806..78c15609 100644
#include <boost/filesystem/path.hpp>
#include <memory>
-diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
-index 58e85385..0f8a5148 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
@@ -36,6 +36,7 @@
@@ -46,8 +39,6 @@ index 58e85385..0f8a5148 100644
#include <boost/filesystem/path.hpp>
#include "mongo/base/simple_string_data_comparator.h"
-diff --git a/src/mongo/shell/shell_utils_extended.cpp b/src/mongo/shell/shell_utils_extended.cpp
-index 8cd7f035..cd672eb5 100644
--- a/src/mongo/shell/shell_utils_extended.cpp
+++ b/src/mongo/shell/shell_utils_extended.cpp
@@ -37,6 +37,7 @@
@@ -58,8 +49,6 @@ index 8cd7f035..cd672eb5 100644
#include <fstream>
#include "mongo/bson/bson_validate.h"
-diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
-index de4b84bc..b01fa7a2 100644
--- a/src/mongo/util/processinfo_linux.cpp
+++ b/src/mongo/util/processinfo_linux.cpp
@@ -36,6 +36,7 @@
@@ -70,8 +59,6 @@ index de4b84bc..b01fa7a2 100644
#include <sched.h>
#include <stdio.h>
#include <sys/mman.h>
-diff --git a/src/mongo/util/stacktrace_threads.cpp b/src/mongo/util/stacktrace_threads.cpp
-index 4667a261..73a36015 100644
--- a/src/mongo/util/stacktrace_threads.cpp
+++ b/src/mongo/util/stacktrace_threads.cpp
@@ -36,6 +36,7 @@
diff --git a/dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch b/dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch
new file mode 100644
index 00000000000..471f3e22682
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.4.10-no-force-lld.patch
@@ -0,0 +1,29 @@
+Don't automagically force lld > gold > bfd. Leave it up to the user.
+
+In particular, avoids issues with LTO enabled (via the flag/scons option)
+where using GCC as compiler, as lld can't do LTO with GCC.
+
+https://bugs.gentoo.org/769986
+--- a/SConstruct
++++ b/SConstruct
+@@ -3109,20 +3109,6 @@ def doConfigure(myenv):
+ myenv.Append( CCFLAGS=["/Zc:inline"])
+
+ if myenv.ToolchainIs('gcc', 'clang'):
+- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
+- # because it is much faster. Don't use it if the user has already configured another linker
+- # selection manually.
+- if not any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
+-
+- # lld has problems with separate debug info on some platforms. See:
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- if get_option('separate-debug') == 'off':
+- if not AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=lld'):
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+- else:
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+-
+ # Usually, --gdb-index is too expensive in big static binaries, but for dynamic
+ # builds it works well.
+ if link_model.startswith("dynamic"):
diff --git a/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch b/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
new file mode 100644
index 00000000000..6ce92778b6b
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.5-no-force-lld.patch
@@ -0,0 +1,49 @@
+Don't automagically force lld > gold > bfd. Leave it up to the user.
+
+In particular, avoids issues with LTO enabled (via the flag/scons option)
+where using GCC as compiler, as lld can't do LTO with GCC.
+
+https://bugs.gentoo.org/769986
+--- a/SConstruct
++++ b/SConstruct
+@@ -2824,40 +2824,6 @@ def doConfigure(myenv):
+ def AddToSHLINKFLAGSIfSupported(env, flag):
+ return AddFlagIfSupported(env, 'C', '.c', flag, True, SHLINKFLAGS=[flag])
+
+- if myenv.ToolchainIs('gcc', 'clang'):
+- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
+- # because it is much faster. Don't use it if the user has already configured another linker
+- # selection manually.
+- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
+- myenv.FatalError(f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
+-
+- linker_ld = get_option('linker')
+- if linker_ld == 'auto':
+- # lld has problems with separate debug info on some platforms. See:
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556
+- #
+- # lld also apparently has problems with symbol resolution
+- # in some esoteric configurations that apply for us when
+- # using --link-model=dynamic mode, so disable lld there
+- # too. See:
+- # - https://bugs.llvm.org/show_bug.cgi?id=46676
+- #
+- # We should revisit all of these issues the next time we upgrade our clang minimum.
+- if get_option('separate-debug') == 'off' and get_option('link-model') != 'dynamic':
+- if not AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=lld'):
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+- else:
+- AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
+- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
+- # BFD is not supported due to issues with it causing warnings from some of
+- # the third party libraries that mongodb is linked with:
+- # https://jira.mongodb.org/browse/SERVER-49465
+- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
+- else:
+- if not AddToLINKFLAGSIfSupported(myenv, f'-fuse-ld={linker_ld}'):
+- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
+-
+ detectCompiler = Configure(myenv, help=False, custom_tests = {
+ 'CheckForCXXLink': CheckForCXXLink,
+ })
diff --git a/dev-db/mongodb/mongodb-4.2.15-r1.ebuild b/dev-db/mongodb/mongodb-4.2.15-r1.ebuild
index 4877cf52d7b..de9f2efce32 100644
--- a/dev-db/mongodb/mongodb-4.2.15-r1.ebuild
+++ b/dev-db/mongodb/mongodb-4.2.15-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..9} )
SCONS_MIN_VERSION="2.5.0"
CHECKREQS_DISK_BUILD="2400M"
diff --git a/dev-db/mongodb/mongodb-4.2.15-r2.ebuild b/dev-db/mongodb/mongodb-4.2.15-r2.ebuild
index 3edd0a731a4..9c15f79a737 100644
--- a/dev-db/mongodb/mongodb-4.2.15-r2.ebuild
+++ b/dev-db/mongodb/mongodb-4.2.15-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..9} )
SCONS_MIN_VERSION="2.5.0"
CHECKREQS_DISK_BUILD="2400M"
diff --git a/dev-db/mongodb/mongodb-4.2.17-r1.ebuild b/dev-db/mongodb/mongodb-4.2.17-r1.ebuild
index 874b0f13158..90a1c4a77af 100644
--- a/dev-db/mongodb/mongodb-4.2.17-r1.ebuild
+++ b/dev-db/mongodb/mongodb-4.2.17-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{8..10} )
SCONS_MIN_VERSION="2.5.0"
CHECKREQS_DISK_BUILD="2400M"
diff --git a/dev-db/mongodb/mongodb-4.2.17-r2.ebuild b/dev-db/mongodb/mongodb-4.2.17-r2.ebuild
new file mode 100644
index 00000000000..3cc83abd6d1
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.2.17-r2.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+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 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? (
+ >=dev-libs/openssl-1.0.1g: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.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-4.2.15-no-compass.patch"
+ "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+ "${FILESDIR}/${PN}-4.2.17-boost-1.79.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=(
+ AR="$(tc-getAR)"
+ 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 )
+
+ # Needed to avoid forcing FORTIFY_SOURCE
+ # Gentoo's toolchain applies these anyway
+ scons_opts+=( --runtime-hardening=off )
+
+ # 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_newunit "${FILESDIR}/${PN}.service-r1" "${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.17.ebuild b/dev-db/mongodb/mongodb-4.2.17.ebuild
index 535c6798265..e5f4219b279 100644
--- a/dev-db/mongodb/mongodb-4.2.17.ebuild
+++ b/dev-db/mongodb/mongodb-4.2.17.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{8..10} )
SCONS_MIN_VERSION="2.5.0"
CHECKREQS_DISK_BUILD="2400M"
diff --git a/dev-db/mongodb/mongodb-4.4.10-r1.ebuild b/dev-db/mongodb/mongodb-4.4.10-r1.ebuild
index aa4c846908a..8cd7e580741 100644
--- a/dev-db/mongodb/mongodb-4.4.10-r1.ebuild
+++ b/dev-db/mongodb/mongodb-4.4.10-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 -riscv"
+KEYWORDS="amd64 ~arm64 -riscv"
IUSE="debug kerberos lto ssl test +tools"
RESTRICT="!test? ( test )"
@@ -59,6 +59,7 @@ PATCHES=(
"${FILESDIR}/${PN}-4.4.1-gcc11.patch"
"${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
"${FILESDIR}/${PN}-4.4.10-boost-1.79.patch"
+ "${FILESDIR}/${PN}-4.4.10-no-force-lld.patch"
)
S="${WORKDIR}/${MY_P}"
diff --git a/dev-db/mongodb/mongodb-5.0.5-r2.ebuild b/dev-db/mongodb/mongodb-5.0.5-r2.ebuild
index 9e993f26b1d..6c89b11fff9 100644
--- a/dev-db/mongodb/mongodb-5.0.5-r2.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.5-r2.ebuild
@@ -66,6 +66,7 @@ PATCHES=(
"${FILESDIR}/${PN}-5.0.2-skip-no-exceptions.patch"
"${FILESDIR}/${PN}-5.0.2-skip-reqs-check.patch"
"${FILESDIR}/${PN}-5.0.2-boost-1.79.patch"
+ "${FILESDIR}/${PN}-5.0.5-no-force-lld.patch"
)
S="${WORKDIR}/${MY_P}"
diff --git a/dev-db/mydumper/Manifest b/dev-db/mydumper/Manifest
index c5a2e6c1a34..33635d830df 100644
--- a/dev-db/mydumper/Manifest
+++ b/dev-db/mydumper/Manifest
@@ -1,4 +1,3 @@
-DIST mydumper-0.11.1-3.tar.gz 77589 BLAKE2B 5b5a6965ee07fb265e2f3dad288195035554c02da49337ed008b01b6a5f5d399769e67c00f57f4531ed1a1b14233829f617f4bbfb45abb904f1f3054a41b0b01 SHA512 70f5e4dac5af4e016bfc85d8befa2eebbe9e5c1a6b2ee1ccbd491bed29e2625202aee7961ead41d0cf432b23e8ce06dfa4474587663b35fbbdd5bffabc32ae2e
-DIST mydumper-0.11.3-5.tar.gz 105032 BLAKE2B 722938bf88fdea17804542c28f0613f4e792fece7fcc03b1c27bc9bf52ab4ffb235472a07a13761339ce4db0b6b3b320daaf8924990878752227c5d891a5eb15 SHA512 8eb99c3a949f6547badfe6a291fa63819f4fb3844e7dcf797a9d741e7df7912c6f0006a3ca694c4ad5b5d7efe2bde86c7fdd3c98a3c4a987cc99d8dfcb331f7c
DIST mydumper-0.11.5-2.tar.gz 110088 BLAKE2B c9e2f56ce7cc206f311ba00fd82e96479cd0313d99260ae27130489b5aa02e0b465c96900e41e9eb017d68022501bf327495ae39c8a64b330dc1072b3fb5ca9b SHA512 f600c086c7e3402c3d35070709c5968e30046be5fc351e67dca05d2d7c48565e68ccbba08cf01195aa4d2ae3f2bdf8df84338d4f44a40504b583959fb67e72d8
DIST mydumper-0.12.1.tar.gz 114268 BLAKE2B d8fd459c645e0a8c7f978f0b948b534d3e602489ffdee926cc61d2f77053506c0b73a26b1dd89fc206dc9e7dea4b0c5cc848de6dbcceecf68450e5be9928be28 SHA512 90466520af4c26478b963a70ac9614889decae743fb40c3f5b6438b1e6db11ef284bd077288a0afa2aa02c93e9df32711d948cd868a7030d5215c2c7f5f96405
+DIST mydumper-0.12.5-3.tar.gz 131104 BLAKE2B 436c92474c498f17e7cfd723d7dbdd9f56f0a3cd42be88233dcfee6a2768ff49c795bb232e5f4bad1d6d9eb5e1cedf7fa812bc3dbc7a4eeb8fbb4894034a5960 SHA512 03c4a219877c61a3659561afd37ba095030edd0f44f922de51d4801a08cf6dc17c5fc8864f9b47d4d7c70a94bd2f814192ab1fa66f174e27d5d0e8a3a09a6b02
diff --git a/dev-db/mydumper/mydumper-0.11.1.3.ebuild b/dev-db/mydumper/mydumper-0.11.1.3.ebuild
deleted file mode 100644
index c59cf884504..00000000000
--- a/dev-db/mydumper/mydumper-0.11.1.3.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-MY_PV="$(ver_rs 3 -)"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
-HOMEPAGE="https://github.com/maxbube/mydumper"
-SRC_URI="https://github.com/maxbube/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="app-arch/zstd
- dev-db/mysql-connector-c:=
- dev-libs/glib:2
- dev-libs/libpcre
- dev-libs/openssl:=
- sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( dev-python/sphinx )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.10.5-atomic.patch" #654314
-)
-
-src_prepare() {
- # respect user cflags; do not expand ${CMAKE_C_FLAGS} (!)
- sed -i -e 's|-Werror -O3 -g|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
-
- # fix doc install path
- sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(-DBUILD_DOCS=$(usex doc))
-
- cmake_src_configure
-}
diff --git a/dev-db/mydumper/mydumper-0.11.3.5.ebuild b/dev-db/mydumper/mydumper-0.12.5.3.ebuild
index b087cfa64bd..e4e2ef8601e 100644
--- a/dev-db/mydumper/mydumper-0.11.3.5.ebuild
+++ b/dev-db/mydumper/mydumper-0.12.5.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,7 +34,7 @@ PATCHES=(
src_prepare() {
# respect user cflags; do not expand ${CMAKE_C_FLAGS} (!)
- sed -i -e 's|-Werror -O3 -g|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
+ sed -i -e 's|-O3 -g -Werror|${CMAKE_C_FLAGS}|' CMakeLists.txt || die
# fix doc install path
sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
diff --git a/dev-db/myodbc/myodbc-8.0.27-r1.ebuild b/dev-db/myodbc/myodbc-8.0.27-r1.ebuild
index 7689549feac..7faa6c20acd 100644
--- a/dev-db/myodbc/myodbc-8.0.27-r1.ebuild
+++ b/dev-db/myodbc/myodbc-8.0.27-r1.ebuild
@@ -53,7 +53,7 @@ multilib_src_configure() {
-DMYSQLCLIENT_STATIC_LINKING=OFF
-DMYSQL_CXX_LINKAGE=YES
-DWITH_UNIXODBC=YES
- -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}
+ -DWITH_DOCUMENTATION_INSTALL_PATH="${EPREFIX}"/usr/share/doc/${PF}
-DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
-DMYSQLCLIENT_NO_THREADS=ON
-DDISABLE_GUI=ON
diff --git a/dev-db/mysql-connector-c++/metadata.xml b/dev-db/mysql-connector-c++/metadata.xml
index 3eae39f02d1..41a2871986c 100644
--- a/dev-db/mysql-connector-c++/metadata.xml
+++ b/dev-db/mysql-connector-c++/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<use>
- <flag name="gcov">Build coverage support</flag>
- <flag name="legacy">Build the legacy 1.x API as well as the DevX API</flag>
-</use>
-<maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
-</maintainer>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <use>
+ <flag name="gcov">Build coverage support</flag>
+ <flag name="legacy">Build the legacy 1.x API as well as the DevX API</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mysql/mysql-connector-cpp</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r2.ebuild
index 889a975cea7..e4f89b29bcd 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r2.ebuild
@@ -1,21 +1,21 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit cmake-utils flag-o-matic
+inherit cmake flag-o-matic
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}.tar.gz"
+SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C++/${P}.tar.gz"
LICENSE="Artistic GPL-2"
SLOT="0/7"
KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 sparc x86"
-IUSE="debug examples gcov static-libs"
+IUSE="debug examples gcov"
-DEPEND="dev-db/mysql-connector-c:=
+DEPEND="
+ dev-db/mysql-connector-c:=
dev-libs/boost:=
dev-libs/openssl:0=
!<dev-db/mysql-connector-c-6.1.8"
@@ -28,31 +28,23 @@ PATCHES=(
src_configure() {
# native lib/wrapper needs this!
- append-flags "-fno-strict-aliasing"
+ append-flags -fno-strict-aliasing
local mycmakeargs=(
-DMYSQLCPPCONN_BUILD_EXAMPLES=OFF
-DMYSQLCPPCONN_ICU_ENABLE=OFF
- -DMYSQLCPPCONN_TRACE_ENABLE=$(usex debug ON OFF)
- -DMYSQLCPPCONN_GCOV_ENABLE=$(usex gcov ON OFF)
- -DINSTALL_DOCS="/usr/share/doc/${PF}"
+ -DMYSQLCPPCONN_TRACE_ENABLE=$(usex debug)
+ -DMYSQLCPPCONN_GCOV_ENABLE=$(usex gcov)
+ -DINSTALL_DOCS="share/doc/${PF}"
-DMYSQL_CXX_LINKAGE=0
-DMYSQL_INCLUDE_DIR=$(mysql_config --variable=pkgincludedir)
)
-
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
-
- # static lib has wrong name so we need to rename it
- if use static-libs; then
- mv "${ED}"/usr/$(get_libdir)/libmysqlcppconn-static.a \
- "${ED}"/usr/$(get_libdir)/libmysqlcppconn.a || die
- else
- rm -f "${ED}"/usr/$(get_libdir)/libmysqlcppconn-static.a
- fi
+ cmake_src_install
+ rm "${ED}"/usr/$(get_libdir)/libmysqlcppconn-static.a || die
# examples
if use examples; then
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch
new file mode 100644
index 00000000000..34961b8ad9e
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-res_n.patch
@@ -0,0 +1,49 @@
+# Musl doesn't have res_n* functions so we are falling back to the not
+# thread safe ones. Patch made with help from developer Fabian Groffen
+# <grobian@gentoo.org>.
+#
+# Closes: https://bugs.gentoo.org/761352
+# See also: https://github.com/mysql/mysql-server/pull/385
+# See also: https://bugs.mysql.com/bug.php?id=106034
+--- a/libmysql/CMakeLists.txt
++++ b/libmysql/CMakeLists.txt
+@@ -423,6 +423,19 @@ IF(HAS_WARN_FLAG)
+ )
+ ENDIF()
+
++check_symbol_exists(res_ninit "resolv.h" HAVE_RES_NINIT_FUNCTION)
++check_symbol_exists(res_nsearch "resolv.h" HAVE_RES_NSEARCH_FUNCTION)
++check_symbol_exists(res_nclose "resolv.h" HAVE_RES_NCLOSE_FUNCTION)
++IF (HAVE_RES_NINIT_FUNCTION)
++ add_compile_definitions(HAVE_RES_NINIT)
++ENDIF(HAVE_RES_NINIT_FUNCTION)
++IF (HAVE_RES_NSEARCH_FUNCTION)
++ add_compile_definitions(HAVE_RES_NSEARCH)
++ENDIF(HAVE_RES_NSEARCH_FUNCTION)
++IF (HAVE_RES_NCLOSE_FUNCTION)
++ add_compile_definitions(HAVE_RES_NCLOSE)
++ENDIF(HAVE_RES_NCLOSE_FUNCTION)
++
+ # Verify that libmysql_api_test runs OK
+ ADD_CUSTOM_COMMAND(TARGET libmysql_api_test POST_BUILD
+ COMMAND libmysql_api_test
+--- a/libmysql/dns_srv.cc
++++ b/libmysql/dns_srv.cc
+@@ -37,6 +37,17 @@
+ #include <netdb.h>
+ #include <resolv.h>
+
++/* we don't have anything else but the non-thread-safe variants */
++#if !defined(HAVE_RES_NINIT)
++#define res_ninit(X) (void)X
++#endif
++#if !defined(HAVE_RES_NSEARCH)
++#define res_nsearch(X,D,I,S,B,L) res_search(D,I,S,B,L)
++#endif
++#if !defined(HAVE_RES_NCLOSE)
++#define res_nclose(X) (void)X
++#endif
++
+ // POSIX version
+
+ static bool get_dns_srv(Dns_srv_data &data, const char *dnsname, int &error) {
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.27-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.27-r1.ebuild
new file mode 100644
index 00000000000..5100e01c17f
--- /dev/null
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.27-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib flag-o-matic
+
+# wrap the config script
+MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+ S="${WORKDIR}/mysql-${PV}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/21"
+IUSE="ldap 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}] )
+ 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 )
+
+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.27-add-OpenSSL-3.0.0-support.patch
+ "${FILESDIR}"/${PN}-8.0.27-res_n.patch
+)
+
+src_prepare() {
+ sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "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_src_prepare
+}
+
+multilib_src_configure() {
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
+
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
+ -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_src_configure
+}
+
+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-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index a9792bd0979..528af0af025 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,4 +1,4 @@
DIST antlr-4.9.1-complete.jar 2100605 BLAKE2B 6fcdc184900cd30e42b3e1b6f56bcccbf1d3c975edc8475b92b9c0779568148f711e9bcbb77859d8fbff2d31f362a9b562847b9b9ece03c8c4b7792341fab57e SHA512 a01815324c15fbff9cb917fa2cdef85aabf34c77730913026257e92c195d11f059c73a1579ffa74616b76b5aba34fd6074b19e1de8f2f3bec1c55cd950f4947b
-DIST mysql-workbench-community-8.0.27-src.tar.gz 19282580 BLAKE2B 53069dbf26f1ba5975a9b28cf96cae660db8654dd60e5f7cdf112db48e7d4fd41beeb74a9ff870ae38b2d651de4ed7edffec32ba3eb8914bb329ff414ec7e7d4 SHA512 827d7abb8e04b0ec4a730eac163b4e2b62f5cde25d7326b4cb95b5f924b1e7c5bc87b1a8ca64dbab59232f4dd042b41cb1e53b97a9484549d0d6c2b7c8a14741
DIST mysql-workbench-community-8.0.28-src.tar.gz 19275374 BLAKE2B 31930e181888dba0b5dd54509ffa58a9328d12ac2ad080a27715bbcd7fbf347d892175323632e5e7edc2926836427499be5a040ad9c731d9ad5b165a36065d4e SHA512 373f829c6f4ab5e97d277476166144f70f76e32b7443cd5d403dffc10f4fa80ad4dc27bb88b2c564f7c39e5f32045be94eb2b1b9ee2bf560f22d9c4d7fce53e1
DIST mysql-workbench-community-8.0.29-src.tar.gz 19353576 BLAKE2B 7562da75534261e128e990e64dbdbe7486bbf7a5d3c777f505178be9f33c6266e2e5c3efcad2cb14fdb53878fc485bbc13dce7f37bc0aaaf114d41e9c86335a7 SHA512 f2ce224154c35ee7076d044ec0db3d23bec466f22361ed5d0cd1f49a34a4aeb963405db6d9bd1923bd176163652a54f0501b53ad34c5c0a999f6a39f137bce3e
+DIST mysql-workbench-community-8.0.30-src.tar.gz 19349201 BLAKE2B aea468a2952b45edec4405094a1fbea6c1dd67831222a9255f1b9ce3ce35095dc45946fb6908d1ec60876d592d4f64cc0ebc952bfe81477c4258628ead8b5dab SHA512 195f7dceeb9a0c596c49a3ea6c3a9647763671676bae52e4d21a4dd85eb7d5ca05f78158bfe31bca9217e3cf868d8f335cad0ae3f68357937e951525c5fbf4f0
diff --git a/dev-db/mysql-workbench/metadata.xml b/dev-db/mysql-workbench/metadata.xml
index 5afcc9dfd01..2ad1914fcf6 100644
--- a/dev-db/mysql-workbench/metadata.xml
+++ b/dev-db/mysql-workbench/metadata.xml
@@ -5,6 +5,6 @@
<email>graaff@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">antlr/website-antlr3</remote-id>
+ <remote-id type="github">mysql/mysql-workbench</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.28.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.28.ebuild
index 740ae76efe9..9af8e05bfb2 100644
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.28.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.28.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug doc"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.29.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.29.ebuild
index 740ae76efe9..9af8e05bfb2 100644
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.29.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.29.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug doc"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.30.ebuild
index 273419842bc..740ae76efe9 100644
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.27.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.30.ebuild
@@ -4,7 +4,7 @@
EAPI=7
GCONF_DEBUG="no"
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8,9,10} )
PYTHON_REQ_USE="sqlite"
ANTLR_VERSION=4.9.1
@@ -20,7 +20,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug doc"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index 142174a9a37..17d7fae4b8e 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -1,4 +1,4 @@
DIST mysql-5.7.36-patches-01.tar.xz 6396 BLAKE2B ed9783f207d40fc220992c4193bdd8e96523f69414daa756f1f30306c1aedff9e96216ba2294a4c41eefbaf39c8bb37784bf1e7cce656c93f829c9cf0682fa6d SHA512 b0fbd41ebb2d32067e6c81707dffa91fece2d368f4b2fa47951492936509972d425b64d7613748c42b31cf9ba9dab697efeff70debe7268855a90d322d3f3158
-DIST mysql-8.0.27-patches-02.tar.xz 7204 BLAKE2B 1a3548f8b48b63a1d38cd9826f8ed2daf3d396276e8887e0a02a73fb91e544e1d0f1da9560351f03d3345d2ea5e8f61e5a9df2bce80558143bd3bc2558372232 SHA512 86c660d67d883fb84e6a38c39994bc30669c18b1d5bdedf908f112c7ebb59f0acf23903e6a81f01de1e6862a8cb779c7b537659ff18b090306eacf668dea47f8
+DIST mysql-8.0.27-patches-03.tar.xz 9864 BLAKE2B 03136477a97a5bff0c5f1cbc7921a77d9b36e148e94f80463f00f0efd1a6859af4595f9cf15aa492bce043fdc9d6c6328bd64102f8b0127eacbc7795b1785ecb SHA512 8c00c8fef2b01389f59138eaa29399d8a9ce7930b6bdfb7689d1d7bf14a32fbb10a2b8dbe91933b805899ef3af0cf0bda704d4be14249991b381054bcc496058
DIST mysql-boost-5.7.36.tar.gz 52968383 BLAKE2B 4d5e4fcf8d56f4a1d1d54ee889d432ee3265f55ff9c0ecf6fe216e67790a49ed052b94457680daef4cb42df29f14db7b0e678e0f0443c20b7e2324c772c24313 SHA512 a95580efd5b87776ee7f1aae9b50d50d88c70a48c16e7a2d8c6ada0b1cadc5ec6074a859291a65caa1b50a00e08a9e350df342bb0c6ef74edaf21055331c081b
DIST mysql-boost-8.0.27.tar.gz 292184025 BLAKE2B 177209f3c62b0326ca9d021c751a701dec84c1b15c946ab0a68b1b4cf0620468eb3a1df77a918284007a0fde1aaa6a9767d0baed57936612813ef583df51c35e SHA512 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891
diff --git a/dev-db/mysql/files/mysql-8.0.27-gcc12.patch b/dev-db/mysql/files/mysql-8.0.27-gcc12.patch
new file mode 100644
index 00000000000..f4ecb59273a
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.27-gcc12.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/840990
+https://bugs.gentoo.org/852737
+--- a/client/logger.cc
++++ b/client/logger.cc
+@@ -27,6 +27,7 @@
+ #include <time.h>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+
+ using namespace std;
+
+--- a/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
++++ b/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
+@@ -25,6 +25,7 @@
+ #include <cstring>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+ #include <sstream>
+
+ #include <m_string.h>
+
+--- a/router/src/harness/include/mysql/harness/net_ts/executor.h
++++ b/router/src/harness/include/mysql/harness/net_ts/executor.h
+@@ -35,6 +35,7 @@
+ #include <stdexcept> // logic_error
+ #include <thread>
+ #include <type_traits> // decay_t, enable_if
++#include <utility>
+ #include <unordered_map>
+
+ #include "my_compiler.h"
diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml
index d24d1320721..6ee2f3d235f 100644
--- a/dev-db/mysql/metadata.xml
+++ b/dev-db/mysql/metadata.xml
@@ -1,25 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mysql-bugs@gentoo.org</email>
- <name>MySQL</name>
- </maintainer>
-<!--
-Please note that this list is shared between the following packages:
-dev-db/mysql
-dev-db/mariadb
--->
-<use>
- <flag name="cjk">Add CJK support for InnoDB fulltext search using <pkg>app-text/mecab</pkg></flag>
- <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
- <flag name="experimental">Build experimental features aka "rapid" plugins</flag>
- <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
- <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
- <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
- <flag name="router">Build the MySQL router program</flag>
- <flag name="server">Build the server program</flag>
- <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name="test">Install upstream testsuites for end use.</flag>
-</use>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <!--
+ Please note that this list is shared between the following packages:
+ dev-db/mysql
+ dev-db/mariadb
+ -->
+ <use>
+ <flag name="cjk">Add CJK support for InnoDB fulltext search using <pkg>app-text/mecab</pkg></flag>
+ <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
+ <flag name="experimental">Build experimental features aka "rapid" plugins</flag>
+ <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
+ <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
+ <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
+ <flag name="router">Build the MySQL router program</flag>
+ <flag name="server">Build the server program</flag>
+ <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="test">Install upstream testsuites for end use.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mysql/mysql-server</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mysql/mysql-8.0.27.ebuild b/dev-db/mysql/mysql-8.0.27.ebuild
index d59053a5026..18dda6ee167 100644
--- a/dev-db/mysql/mysql-8.0.27.ebuild
+++ b/dev-db/mysql/mysql-8.0.27.ebuild
@@ -12,12 +12,12 @@ MY_PV="${PV//_pre*}"
MY_P="${PN}-${MY_PV}"
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.27-patches-02.tar.xz"
+PATCH_SET=( https://dev.gentoo.org/~{whissi,dlan}/dist/mysql/${PN}-8.0.27-patches-03.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}"
+ ${PATCH_SET[@]}"
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
@@ -37,7 +37,7 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
tcmalloc? ( server )"
# -ppc, -riscv for bug #761715
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips -ppc ppc64 -riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips -ppc ppc64 ~riscv ~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
@@ -170,6 +170,7 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mysql-patches
+ eapply "${FILESDIR}"/${PN}-8.0.27-gcc12.patch
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
diff --git a/dev-db/mysqltuner/Manifest b/dev-db/mysqltuner/Manifest
index c100f545074..af045b5c99d 100644
--- a/dev-db/mysqltuner/Manifest
+++ b/dev-db/mysqltuner/Manifest
@@ -1 +1 @@
-DIST mysqltuner-1.8.3.tar.gz 254525 BLAKE2B 7fa1fe24ab454aa15a03e62410e08988a4a0d3ac9b1e4df0219a67bffa4d6113d8c89d6f93f8e6d08a35ecc4bdbf5c0148d8e53138f05a5c22899ecca98b3614 SHA512 965ad0204cb449aa113bf1880a91468d48467c84e7d42ac8f12e7ee4035e49dc7cb191d2b11b6e5b084a60c3857e92ac4d1bef63f688538f3468fda32304a702
+DIST mysqltuner-1.9.9.tar.gz 225048 BLAKE2B 5c22ecbe3ab8ab2ad8712c6cbdfbc6bb182e6211d7894c2dc10c68b5b31f74f7512747c983844ba6ce9e12e422f510e4e68a18e85e29f443424e4dfa7055e1f7 SHA512 9373fcbcf514a989126b100739a87d711b4c2081e2608b4576d0ab88590ffd85fae57f1587e1d9f44cf0d89baa92eeb9115db2c4c6c491b701e965de7a549fa0
diff --git a/dev-db/mysqltuner/mysqltuner-1.8.3.ebuild b/dev-db/mysqltuner/mysqltuner-1.9.9.ebuild
index 3dfa05a3ba1..025f02dedce 100644
--- a/dev-db/mysqltuner/mysqltuner-1.8.3.ebuild
+++ b/dev-db/mysqltuner/mysqltuner-1.9.9.ebuild
@@ -7,7 +7,7 @@ MY_PN="MySQLTuner-perl"
DESCRIPTION="Makes recommendations for increased performance and stability for MySQL"
HOMEPAGE="https://github.com/major/MySQLTuner-perl"
-SRC_URI="https://github.com/major/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/major/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-3+"
diff --git a/dev-db/mytop/mytop-1.9.1.ebuild b/dev-db/mytop/mytop-1.9.1-r1.ebuild
index 004f5b3371e..71c49ce7834 100644
--- a/dev-db/mytop/mytop-1.9.1.ebuild
+++ b/dev-db/mytop/mytop-1.9.1-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+DIST_TEST="do"
inherit perl-module
DESCRIPTION="mytop - a top clone for mysql"
@@ -12,24 +13,23 @@ SRC_URI="http://www.mysqlfanboy.com/mytop-3/${P}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~alpha amd64 ppc sparc x86"
SLOT="0"
-IUSE=""
-RDEPEND="dev-perl/DBD-mysql
- virtual/perl-Getopt-Long
+RDEPEND="
+ dev-perl/DBD-mysql
dev-perl/TermReadKey
+ virtual/perl-Getopt-Long
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes"
-DEPEND="${RDEPEND}
- >=sys-apps/sed-4"
+DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}/${PN}-1.9.1-global-status.patch"
- "${FILESDIR}/${PN}-1.9.1-queries-vs-questions-mysql-5.0.76.patch"
- )
-SRC_TEST="do"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.1-global-status.patch
+ "${FILESDIR}"/${PN}-1.9.1-queries-vs-questions-mysql-5.0.76.patch
+)
src_install() {
perl-module_src_install
- sed -i -r\
+ sed -i -r \
-e "s|socket( +)=> '',|socket\1=> '/var/run/mysqld/mysqld.sock',|g" \
- "${D}"/usr/bin/mytop
+ "${ED}"/usr/bin/mytop || die
}
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild
index 8fdee383093..4bbd5242c42 100644
--- a/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild
+++ b/dev-db/oracle-instantclient/oracle-instantclient-18.5.0.0.ebuild
@@ -186,7 +186,7 @@ src_install() {
elog "Skipping unsupported ABI ${ABI}."
continue
fi
- einfo "Installing runtime for ${MY_PLAT} ..."
+ ebegin "Installing runtime for ${MY_PLAT}"
cd "${MY_S}" || die
@@ -250,7 +250,7 @@ src_install() {
# doins precomp/admin/pcbcfg.cfg
fi
if use sdk; then
- einfo "Installing SDK ..."
+ ebegin "Installing SDK"
DOCS+=( SDK_README )
scripts+=( sdk/ott )
insinto "${oracle_home}"/$(get_libdir)
@@ -285,7 +285,7 @@ src_install() {
paxbins+=( exp expdp imp impdp sqlldr wrc )
fi
- einfo "Installing binaries for ${MY_PLAT} ..."
+ ebegin "Installing binaries for ${MY_PLAT}"
into "${oracle_home}"
dobin ${paxbins[*]} ${scripts[*]}
pushd "${ED}${oracle_home}/bin" >/dev/null || die
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild
index e3821520fed..cef39520161 100644
--- a/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild
+++ b/dev-db/oracle-instantclient/oracle-instantclient-19.11.0.0.0.ebuild
@@ -160,7 +160,7 @@ src_install() {
elog "Skipping unsupported ABI ${ABI}."
continue
fi
- einfo "Installing runtime for ${MY_PLAT} ..."
+ ebegin "Installing runtime for ${MY_PLAT}"
cd "${MY_S}" || die
@@ -224,7 +224,7 @@ src_install() {
# doins precomp/admin/pcbcfg.cfg
fi
if use sdk; then
- einfo "Installing SDK ..."
+ ebegin "Installing SDK"
DOCS+=( SDK_README )
scripts+=( sdk/ott )
insinto "${oracle_home}"/$(get_libdir)
@@ -259,7 +259,7 @@ src_install() {
paxbins+=( exp expdp imp impdp sqlldr wrc )
fi
- einfo "Installing binaries for ${MY_PLAT} ..."
+ ebegin "Installing binaries for ${MY_PLAT}"
into "${oracle_home}"
dobin ${paxbins[*]} ${scripts[*]}
pushd "${ED}${oracle_home}/bin" >/dev/null || die
diff --git a/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild
index 33507719659..aed8a1a4985 100644
--- a/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild
+++ b/dev-db/oracle-instantclient/oracle-instantclient-21.3.0.0.0.ebuild
@@ -158,7 +158,7 @@ src_install() {
elog "Skipping unsupported ABI ${ABI}."
continue
fi
- einfo "Installing runtime for ${MY_PLAT} ..."
+ ebegin "Installing runtime for ${MY_PLAT}"
cd "${MY_S}" || die
@@ -222,7 +222,7 @@ src_install() {
# doins precomp/admin/pcbcfg.cfg
fi
if use sdk; then
- einfo "Installing SDK ..."
+ ebegin "Installing SDK"
DOCS+=( SDK_README )
scripts+=( sdk/ott )
insinto "${oracle_home}"/$(get_libdir)
@@ -257,7 +257,7 @@ src_install() {
paxbins+=( exp expdp imp impdp sqlldr wrc )
fi
- einfo "Installing binaries for ${MY_PLAT} ..."
+ ebegin "Installing binaries for ${MY_PLAT}"
into "${oracle_home}"
dobin ${paxbins[*]} ${scripts[*]}
pushd "${ED}${oracle_home}/bin" >/dev/null || die
diff --git a/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch b/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch
new file mode 100644
index 00000000000..d465e94effe
--- /dev/null
+++ b/dev-db/percona-server/files/percona-server-8.0.26.16-gcc-12.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/842168
+https://bugs.gentoo.org/853085
+https://bugs.gentoo.org/855170
+--- a/client/logger.cc
++++ b/client/logger.cc
+@@ -27,6 +27,7 @@
+ #include <time.h>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+
+ using namespace std;
+
+--- a/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
++++ b/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
+@@ -25,6 +25,7 @@
+ #include <cstring>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+ #include <sstream>
+
+ #include <m_string.h>
+--- a/plugin/auth_ldap/src/connection.cc
++++ b/plugin/auth_ldap/src/connection.cc
+@@ -1,6 +1,7 @@
+ #include "plugin/auth_ldap/include/connection.h"
+
+ #include <iostream>
++#include <iterator>
+ #include <regex>
+
+ #include "plugin/auth_ldap/include/plugin_log.h"
+diff --git a/router/src/harness/include/mysql/harness/net_ts/executor.h b/router/src/harness/include/mysql/harness/net_ts/executor.h
+index 5cf514b..ec61168 100644
+--- a/router/src/harness/include/mysql/harness/net_ts/executor.h
++++ b/router/src/harness/include/mysql/harness/net_ts/executor.h
+@@ -36,6 +36,7 @@
+ #include <thread>
+ #include <type_traits> // decay_t, enable_if
+ #include <unordered_map>
++#include <utility>
+
+ #include "mysql/harness/net_ts/netfwd.h"
+ #include "mysql/harness/stdx/type_traits.h" // conjunction, void_t
diff --git a/dev-db/percona-server/percona-server-8.0.26.16-r1.ebuild b/dev-db/percona-server/percona-server-8.0.26.16-r1.ebuild
index 6774c64be09..d4c8ed5cdd2 100644
--- a/dev-db/percona-server/percona-server-8.0.26.16-r1.ebuild
+++ b/dev-db/percona-server/percona-server-8.0.26.16-r1.ebuild
@@ -176,6 +176,7 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}"/mysql-patches
+ eapply "${FILESDIR}"/${PN}-8.0.26.16-gcc-12.patch
# Avoid rpm call which would trigger sandbox, #692368
sed -i \
diff --git a/dev-db/percona-toolkit/Manifest b/dev-db/percona-toolkit/Manifest
index 9d3b91d5898..92fd18a98ed 100644
--- a/dev-db/percona-toolkit/Manifest
+++ b/dev-db/percona-toolkit/Manifest
@@ -1,7 +1 @@
-DIST percona-toolkit-2.2.20.tar.gz 1431840 BLAKE2B 76565662b4037010f7e8de98316f568c2994f55d042ae3a21b80dc3b839444a11014b61db675cc21c149f26c3b7df52013d7b06c9c1127ec325dae2942a4e4c0 SHA512 f7a5f47e9ca05c43dcb80866a1eacd13066e1f036f4f58d51145fc6354ddc86dd6515a9aa33c8f736029800bf4c80f7ba5fcb9f1e6ac41653b3351597885f679
-DIST percona-toolkit-3.0.13.tar.gz 10855538 BLAKE2B 30dfbd3c56da64de10ce5d960a9b35b5729c7ea07ec8a40b97f2707af935e57d2291201926dae8794e623a2f60095502a5b97709d3343bd95318ab832f3a5ca5 SHA512 4f8050f3f3a43363c9ee1b15c161d60deafd443a0e057b7960881870d10d1fe0214b885e77b404f03081eb27adfa337e3adea26ca238efac753fb949272f36d3
-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
DIST percona-toolkit-3.3.1.tar.gz 15348084 BLAKE2B 1bae3bc96144d23d51afca624b4ff4c7d5e118db857b5bf7721b8fa3fbc43e0ed87c52113e694e5defa0c70643a018ce1a7d2e437f097bac407344456f70ca1f SHA512 ee82613e15746820739042d34cf7cac0ba7e9f2825234ba39d7bfb8e0a52ab9b8d23ca47cb6a6afe2525c01f69fc81130a3be67b8a191c98d0d43e960a736cb0
diff --git a/dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch b/dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch
deleted file mode 100644
index 9865e1ba1a7..00000000000
--- a/dev-db/percona-toolkit/files/percona-toolkit-2.2.20-fix-package-name.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Source https://github.com/percona/percona-toolkit/pull/84
-Adapted to current version
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -1,7 +1,7 @@
- use ExtUtils::MakeMaker;
-
- WriteMakefile(
-- NAME => 'percona-toolkit',
-+ NAME => 'Percona::Toolkit',
- VERSION => '2.2.20',
- EXE_FILES => [ <bin/*> ],
- MAN1PODS => {
diff --git a/dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch b/dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch
deleted file mode 100644
index d6d38177b18..00000000000
--- a/dev-db/percona-toolkit/files/percona-toolkit-2.2.7-no-versioncheck.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-archiver new/percona-toolkit-2.2.7/bin/pt-archiver
---- old/percona-toolkit-2.2.7/bin/pt-archiver 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-archiver 2014-05-21 18:13:49.148631547 +0200
-@@ -7465,8 +7465,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-config-diff new/percona-toolkit-2.2.7/bin/pt-config-diff
---- old/percona-toolkit-2.2.7/bin/pt-config-diff 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-config-diff 2014-05-21 18:13:38.012402960 +0200
-@@ -5563,8 +5563,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-deadlock-logger new/percona-toolkit-2.2.7/bin/pt-deadlock-logger
---- old/percona-toolkit-2.2.7/bin/pt-deadlock-logger 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-deadlock-logger 2014-05-21 18:11:18.923569703 +0200
-@@ -5332,8 +5332,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-diskstats new/percona-toolkit-2.2.7/bin/pt-diskstats
---- old/percona-toolkit-2.2.7/bin/pt-diskstats 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-diskstats 2014-05-21 18:11:04.041268359 +0200
-@@ -5468,8 +5468,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker new/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker
---- old/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-duplicate-key-checker 2014-05-21 18:12:51.993462828 +0200
-@@ -5430,8 +5430,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-find new/percona-toolkit-2.2.7/bin/pt-find
---- old/percona-toolkit-2.2.7/bin/pt-find 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-find 2014-05-21 18:09:46.496705351 +0200
-@@ -4440,8 +4440,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-fk-error-logger new/percona-toolkit-2.2.7/bin/pt-fk-error-logger
---- old/percona-toolkit-2.2.7/bin/pt-fk-error-logger 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-fk-error-logger 2014-05-21 18:12:39.277202489 +0200
-@@ -4335,8 +4335,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-heartbeat new/percona-toolkit-2.2.7/bin/pt-heartbeat
---- old/percona-toolkit-2.2.7/bin/pt-heartbeat 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-heartbeat 2014-05-21 18:09:29.885373476 +0200
-@@ -6019,8 +6019,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-index-usage new/percona-toolkit-2.2.7/bin/pt-index-usage
---- old/percona-toolkit-2.2.7/bin/pt-index-usage 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-index-usage 2014-05-21 18:08:58.139739567 +0200
-@@ -7348,8 +7348,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-kill new/percona-toolkit-2.2.7/bin/pt-kill
---- old/percona-toolkit-2.2.7/bin/pt-kill 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-kill 2014-05-21 18:11:45.264103271 +0200
-@@ -7626,8 +7626,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-online-schema-change new/percona-toolkit-2.2.7/bin/pt-online-schema-change
---- old/percona-toolkit-2.2.7/bin/pt-online-schema-change 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-online-schema-change 2014-05-21 18:13:04.843724091 +0200
-@@ -11298,8 +11298,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-query-digest new/percona-toolkit-2.2.7/bin/pt-query-digest
---- old/percona-toolkit-2.2.7/bin/pt-query-digest 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-query-digest 2014-05-21 18:12:23.127872894 +0200
-@@ -16265,8 +16265,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-slave-delay new/percona-toolkit-2.2.7/bin/pt-slave-delay
---- old/percona-toolkit-2.2.7/bin/pt-slave-delay 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-slave-delay 2014-05-21 18:08:11.586811388 +0200
-@@ -4698,8 +4698,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-slave-restart new/percona-toolkit-2.2.7/bin/pt-slave-restart
---- old/percona-toolkit-2.2.7/bin/pt-slave-restart 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-slave-restart 2014-05-21 18:11:32.423843497 +0200
-@@ -5638,8 +5638,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-table-checksum new/percona-toolkit-2.2.7/bin/pt-table-checksum
---- old/percona-toolkit-2.2.7/bin/pt-table-checksum 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-table-checksum 2014-05-21 18:14:03.377924135 +0200
-@@ -12314,8 +12314,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-table-sync new/percona-toolkit-2.2.7/bin/pt-table-sync
---- old/percona-toolkit-2.2.7/bin/pt-table-sync 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-table-sync 2014-05-21 18:10:18.476350097 +0200
-@@ -12501,8 +12501,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-upgrade new/percona-toolkit-2.2.7/bin/pt-upgrade
---- old/percona-toolkit-2.2.7/bin/pt-upgrade 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-upgrade 2014-05-21 18:08:38.344342935 +0200
-@@ -11003,8 +11003,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
-diff -rupN old/percona-toolkit-2.2.7/bin/pt-variable-advisor new/percona-toolkit-2.2.7/bin/pt-variable-advisor
---- old/percona-toolkit-2.2.7/bin/pt-variable-advisor 2014-02-20 08:20:28.000000000 +0100
-+++ new/percona-toolkit-2.2.7/bin/pt-variable-advisor 2014-05-21 18:10:01.967017827 +0200
-@@ -5968,8 +5968,6 @@ Show version and exit.
-
- =item --[no]version-check
-
--default: yes
--
- Check for the latest version of Percona Toolkit, MySQL, and other programs.
-
- This is a standard "check for updates automatically" feature, with two
diff --git a/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch b/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
deleted file mode 100644
index 0596365423f..00000000000
--- a/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change
-index 7ecec11..afdd7dd 100755
---- a/bin/pt-online-schema-change
-+++ b/bin/pt-online-schema-change
-@@ -8948,15 +8948,6 @@ sub main {
- Quoter => $q,
- );
-
-- my $vp = VersionParser->new($cxn->dbh());
-- if ($vp->cmp('8.0.14') > -1 && $vp->flavor() !~ m/maria/i) {
-- my $msg = "There is an error in MySQL that makes the server to die when trying to ".
-- "rename a table with FKs. See https://bugs.mysql.com/bug.php?id=96145\n".
-- "Since pt-online-schema change needs to rename the old <-> new tables as the final " .
-- "step, and the requested table has FKs, it cannot be executed under the current MySQL version";
-- _die($msg, NO_MINIMUM_REQUIREMENTS);
-- }
--
- if ( ($alter_fk_method || '') eq 'none' ) {
- print "Not updating foreign keys because "
- . "--alter-foreign-keys-method=none. Foreign keys "
-@@ -9872,12 +9863,6 @@ sub main {
- }
- }
-
-- if ($vp->cmp('8.0') > -1 && $vp->flavor() !~ m/maria/i && $alter_fk_method eq 'drop_swap') {
-- my $msg = "--alter-foreign-keys-method=drop_swap doesn't work with MySQL 8.0+\n".
-- "See https://bugs.mysql.com/bug.php?id=89441";
-- _die($msg, INVALID_PARAMETERS);
-- }
--
- # --plugin hook
- if ( $plugin && $plugin->can('after_copy_rows') ) {
- $plugin->after_copy_rows();
diff --git a/dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild b/dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild
deleted file mode 100644
index 7b08f6262ae..00000000000
--- a/dev-db/percona-toolkit/percona-toolkit-2.2.20.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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}/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"
-
-src_prepare() {
- # Bug #501904 - CVE-2014-2029
- # sed -i -e '/^=item --\[no\]version-check/,/^default: yes/{/^default: yes/d}' bin/*
- eapply -p2 "${FILESDIR}"/${PN}-2.2.7-no-versioncheck.patch
- eapply -p1 "${FILESDIR}"/${PN}-2.2.20-fix-package-name.patch
-
- default
-}
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.0.13.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.0.13.ebuild
deleted file mode 100644
index 63fd079079b..00000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.0.13.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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-toolkit/percona-toolkit-3.0.9.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild
deleted file mode 100644
index 8cb91309b31..00000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.0.9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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/*
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.7-no-versioncheck.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \
- Makefile.PL || die
-}
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
deleted file mode 100644
index bc039dc3046..00000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 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
- "${FILESDIR}"/${PN}-3.1.0-drop-swap-gentoo-mariadb-fix.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e "s/=> 'percona-toolkit',/=> 'Percona::Toolkit',/g" \
- Makefile.PL || die
-}
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.2.1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.2.1.ebuild
deleted file mode 100644
index 90f65e5dffb..00000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.2.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 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-toolkit/percona-toolkit-3.3.0.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild
deleted file mode 100644
index 2baf33ca254..00000000000
--- a/dev-db/percona-toolkit/percona-toolkit-3.3.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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-toolkit/percona-toolkit-3.3.1.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild
index 2baf33ca254..fb56ea929b9 100644
--- a/dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild
+++ b/dev-db/percona-toolkit/percona-toolkit-3.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -11,7 +11,7 @@ SRC_URI="https://www.percona.com/downloads/${PN}/${PV}/source/tarball/${P}.tar.g
LICENSE="|| ( GPL-2 Artistic )"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
# Package warrants IUSE doc
IUSE=""
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.26.18-gcc-12.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.26.18-gcc-12.patch
new file mode 100644
index 00000000000..f9d1f79c97e
--- /dev/null
+++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-8.0.26.18-gcc-12.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/840335
+--- a/client/logger.cc
++++ b/client/logger.cc
+@@ -27,6 +27,7 @@
+ #include <time.h>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+
+ using namespace std;
+
+--- a/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
++++ b/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc
+@@ -25,6 +25,7 @@
+ #include <cstring>
+ #include <iostream>
+ #include <locale>
++#include <memory>
+ #include <sstream>
+
+ #include <m_string.h>
diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild
index 896af1ba69a..a295c561386 100644
--- a/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild
+++ b/dev-db/percona-xtrabackup/percona-xtrabackup-8.0.26.18.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -22,7 +22,7 @@ SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
DEPEND="
app-arch/lz4:0=
@@ -49,6 +49,7 @@ RDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-8.0.26-remove-rpm.patch
+ "${FILESDIR}"/${PN}-8.0.26.18-gcc-12.patch
)
S="${WORKDIR}/percona-xtrabackup-${MY_PV}"
diff --git a/dev-db/pg_activity/Manifest b/dev-db/pg_activity/Manifest
index 57114c5a805..519fe54ea21 100644
--- a/dev-db/pg_activity/Manifest
+++ b/dev-db/pg_activity/Manifest
@@ -1 +1 @@
-DIST pg_activity-2.3.0.tar.gz 283467 BLAKE2B 2f480ebd8b628718a33a772a942e2abfdd91a20cbde2c4aad41d150414bf8cec4478bab475702cd0a31f66af535b373ea706f9b05f948637410a6ad1ef6dcfd4 SHA512 972abddb1871bf4d0b74778ea988f024f33f38335597543d30a2d7549165269a4e5269b1cb649449ff92491501a70b7e3b6b930a154a7ff377e62f7231abb9a7
+DIST pg_activity-2.3.1.tar.gz 283216 BLAKE2B d8a7382f3343b0e339e69e31a19bdc628d3c79ff12b037500f67900c6875272dffec3fdda8f51e20dd05a2e4e917cdac1562a8e2a9e80362358ba43ba3bdf44f SHA512 26c29ec1701cd2eead8314d2a4df247557164231c53323fb3bed12fbf346e14247addfa508af94cee685a2f0084a26c26118896c4c3395e41fb0eee4a4da2d27
diff --git a/dev-db/pg_activity/pg_activity-2.3.0.ebuild b/dev-db/pg_activity/pg_activity-2.3.1.ebuild
index bfd352359e1..a7e75c7ee86 100644
--- a/dev-db/pg_activity/pg_activity-2.3.0.ebuild
+++ b/dev-db/pg_activity/pg_activity-2.3.1.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python3_{8..10} )
+EAPI="8"
+PYTHON_COMPAT=( python3_{9..10} )
inherit distutils-r1
diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest
deleted file mode 100644
index 57c96d5daaf..00000000000
--- a/dev-db/pgadmin4/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pgadmin4-4.29.tar.gz 35389494 BLAKE2B faaa84c0eee9c92ba483f4adffaf9e39e0c5f8ea21630a9ee8fad62aa833c88aa913df50c760be740afa0696aa1fbf1b6902a8b5bfd322822472f7d2dcb295e1 SHA512 2c7d20d10c96712f41621c2862a6a6222f6d6dad4a0b3e1aaf04744e65744460dcae4220f61b27785e02c82a624fa0793df2ea9d8e83ac0a6de048455929e615
-DIST pgadmin4-4.30.tar.gz 36490656 BLAKE2B 3e8e998b29b13ced40b38106a468d047dea92a0cc930150d153c473e78045278840f78b3bcbd41f20a5017e68c1980c05ccf734bf63d8f107e0e02c2df54162e SHA512 7ce12f65ce9dbfe4af9e92dd7f9327a05be8b8436ef495a0634043158417f3af5f457b88ee5422ede59f517c197668094454c6d7b7c33e255068479ce6ec13d9
diff --git a/dev-db/pgadmin4/files/pgadmin4.desktop b/dev-db/pgadmin4/files/pgadmin4.desktop
deleted file mode 100644
index e1697a620d5..00000000000
--- a/dev-db/pgadmin4/files/pgadmin4.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=pgAdmin 4
-Exec=/usr/bin/pgAdmin4
-Icon=pgadmin4
-Type=Application
-Categories=Development;Database;
-MimeType=text/html
-DocPath=/usr/share/pgadmin4/docs/en_US/_build/html/index.html
-Comment=PostgreSQL Tools
-Keywords=database;db;sql;query;administration;development;
diff --git a/dev-db/pgadmin4/metadata.xml b/dev-db/pgadmin4/metadata.xml
deleted file mode 100644
index 028048e538d..00000000000
--- a/dev-db/pgadmin4/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>pgsql-bugs@gentoo.org</email>
- <name>PostgreSQL</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild b/dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild
deleted file mode 100644
index a6bd089b32f..00000000000
--- a/dev-db/pgadmin4/pgadmin4-4.29-r3.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="sqlite"
-inherit desktop python-single-r1 qmake-utils xdg
-
-DESCRIPTION="GUI administration and development platform for PostgreSQL"
-HOMEPAGE="https://www.pgadmin.org/"
-SRC_URI="https://ftp.postgresql.org/pub/pgadmin/${PN}/v${PV}/source/${P}.tar.gz"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-# libsodium dep added because of 689678
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-libs/libsodium[-minimal]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtwidgets:5
-"
-DEPEND="${COMMON_DEPEND}
- doc? (
- $(python_gen_cond_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- ')
- )
- virtual/imagemagick-tools[png]
-"
-
-# In 4.25's requirement.txt, bcrypt is listed as <=3.17, but upstream's
-# git history shows this is just for compatibility with <python-3.6.
-# In 4.26's requirement.txt, cryptography is listed as <=3.0, but upstream's
-# git history shows this is just for compatibility with Windows.
-# 4.28; requirement.txt: Flask-Security was renamed to
-# Flask-Security-Too. This is still the same dev-python/flask-security.
-RDEPEND="${COMMON_DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- <dev-python/flask-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-compress-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/flask-migrate-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
- <dev-python/flask-security-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-2.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/ldap3-2.5.1[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.7.0[${PYTHON_USEDEP}]
- <dev-python/psycopg-2.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
- >=dev-python/simplejson-3.16.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- >=dev-python/speaklater-1.3[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.3.13[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/sshtunnel-0.1.5[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/wtforms-2.2.1[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/python-email-validator[${PYTHON_USEDEP}]
- ')
-"
-
-S="${WORKDIR}"/${P}/runtime
-
-src_prepare() {
- cd "${WORKDIR}"/${P} || die
- default
-}
-
-src_configure() {
- export PGADMIN_PYTHON_DIR="${EPREFIX}/usr"
- eqmake5
-}
-
-src_compile() {
- default
- use doc && emake -C "${WORKDIR}"/${P} docs
-}
-
-src_install() {
- dobin pgAdmin4
-
- cd "${WORKDIR}"/${P} || die
-
- local APP_DIR=/usr/share/${PN}/web
- insinto "${APP_DIR}"
- doins -r web/.
- newins - config_local.py <<-EOF
- SERVER_MODE = False
- UPGRADE_CHECK_ENABLED = False
- EOF
- python_optimize "${D}${APP_DIR}"
-
- insinto /etc/xdg/pgadmin
- newins - pgadmin4.conf <<-EOF
- [General]
- ApplicationPath=${APP_DIR}
- PythonPath=$(python_get_sitedir)
- EOF
-
- if use doc; then
- rm -r docs/en_US/_build/html/_sources || die
- insinto /usr/share/${PN}/docs/en_US/_build
- doins -r docs/en_US/_build/html
- fi
-
- local s
- for s in 16 32 48 64 72 96 128 192 256; do
- convert runtime/pgAdmin4.png -resize ${s}x${s} ${PN}_${s}.png || die
- newicon -s ${s} ${PN}_${s}.png ${PN}.png
- done
- domenu "${FILESDIR}"/${PN}.desktop
-}
diff --git a/dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild b/dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild
deleted file mode 100644
index d8bca3fedc7..00000000000
--- a/dev-db/pgadmin4/pgadmin4-4.30-r3.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="sqlite"
-inherit desktop python-single-r1 qmake-utils xdg
-
-DESCRIPTION="GUI administration and development platform for PostgreSQL"
-HOMEPAGE="https://www.pgadmin.org/"
-SRC_URI="https://ftp.postgresql.org/pub/pgadmin/${PN}/v${PV}/source/${P}.tar.gz"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-# libsodium dep added because of 689678
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-libs/libsodium[-minimal]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtwidgets:5
-"
-DEPEND="${COMMON_DEPEND}
- doc? (
- $(python_gen_cond_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- ')
- )
- virtual/imagemagick-tools[png]
-"
-
-# In 4.25's requirement.txt, bcrypt is listed as <=3.17, but upstream's
-# git history shows this is just for compatibility with <python-3.6.
-# In 4.26's requirement.txt, cryptography is listed as <=3.0, but upstream's
-# git history shows this is just for compatibility with Windows.
-# 4.28; requirement.txt: Flask-Security was renamed to
-# Flask-Security-Too. This is still the same dev-python/flask-security.
-RDEPEND="${COMMON_DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- <dev-python/flask-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-babelex-0.9.4[${PYTHON_USEDEP}]
- >=dev-python/flask-compress-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/flask-migrate-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
- <dev-python/flask-security-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-2.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/ldap3-2.5.1[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.7.0[${PYTHON_USEDEP}]
- <dev-python/psycopg-2.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
- >=dev-python/simplejson-3.16.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- >=dev-python/speaklater-1.3[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.3.13[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/sshtunnel-0.1.5[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/wtforms-2.2.1[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/gssapi[${PYTHON_USEDEP}]
- dev-python/python-email-validator[${PYTHON_USEDEP}]
- ')
-"
-
-S="${WORKDIR}"/${P}/runtime
-
-src_prepare() {
- cd "${WORKDIR}"/${P} || die
- default
-}
-
-src_configure() {
- export PGADMIN_PYTHON_DIR="${EPREFIX}/usr"
- eqmake5
-}
-
-src_compile() {
- default
- use doc && emake -C "${WORKDIR}"/${P} docs
-}
-
-src_install() {
- dobin pgAdmin4
-
- cd "${WORKDIR}"/${P} || die
-
- local APP_DIR=/usr/share/${PN}/web
- insinto "${APP_DIR}"
- doins -r web/.
- newins - config_local.py <<-EOF
- SERVER_MODE = False
- UPGRADE_CHECK_ENABLED = False
- EOF
- python_optimize "${D}${APP_DIR}"
-
- insinto /etc/xdg/pgadmin
- newins - pgadmin4.conf <<-EOF
- [General]
- ApplicationPath=${APP_DIR}
- PythonPath=$(python_get_sitedir)
- EOF
-
- if use doc; then
- rm -r docs/en_US/_build/html/_sources || die
- insinto /usr/share/${PN}/docs/en_US/_build
- doins -r docs/en_US/_build/html
- fi
-
- local s
- for s in 16 32 48 64 72 96 128 192 256; do
- convert runtime/pgAdmin4.png -resize ${s}x${s} ${PN}_${s}.png || die
- newicon -s ${s} ${PN}_${s}.png ${PN}.png
- done
- domenu "${FILESDIR}"/${PN}.desktop
-}
diff --git a/dev-db/pgbadger/Manifest b/dev-db/pgbadger/Manifest
index 27ee39a9ef2..0c5ef5c1d8a 100644
--- a/dev-db/pgbadger/Manifest
+++ b/dev-db/pgbadger/Manifest
@@ -1,5 +1,2 @@
-DIST pgbadger-11.0.tar.gz 1661028 BLAKE2B d83be01017d69b83cf288b23fe5066d5c691b630ce748fe42b33514346183f7b8f18efceeefe0533e534c669e986c30388a6df5b620ea654ae89b3dc3c08d342 SHA512 167534d61cb28df6cb7eae7efe788d3f6bbad1c614468e905a9b678a76b3a2dfc0eb192b595ac4dc332cd694e820f1603b79d83bc934b7dfe3d226019f6a9c15
-DIST pgbadger-11.3.tar.gz 2297407 BLAKE2B 7e0814c570a3e5fbf79132c99e3134ee944c8239b956d4638a144c551a45b1903a27ee730f93e0dd040c3b8b8c3ec7d1b22228bf2390fa1585f8e4907cb9ae90 SHA512 0af40e68391d6cc783c5895eea01d266bdb22672bd9142e6029ec428f68ee13e0d0deaced4cb80ccd5b608bf04a72a9964c95d2cc9ad933c7412dbf888fc788a
-DIST pgbadger-11.4.tar.gz 2299574 BLAKE2B bb18cd73117ac58330cca2a5f3b525f962d7c0d30a0c28881ff977424dc1ee84f7754a1d4bae200739e60b51015ccad0552573b98d06a3e5932af0056c01ed9f SHA512 c945d6b6fd564640ef9f13fc0927acbed12c4329d05a44e12858a944b3df97677af8c92e62c4572b5e02279ee5d0ce84cf9e66d294f909b4cfcf311e86ba7557
DIST pgbadger-11.5.tar.gz 2305597 BLAKE2B 1e88e52ac5861343e7122784f3ec1ecc38e67a2737db49a05661de473c990992f924c887eb86e34d3ca80d329c01af4a60893af5436d8a291bbeae0d7fdc0e81 SHA512 ed02066250539d339d5aaaab784522eac37580873e8a5adde5b565cf6d11447fad469cc23b4ab88425b0322521b4ededd1f5a24670b0b9fdbd65aaa31e4e4088
-DIST pgbadger-11.6.tar.gz 2974369 BLAKE2B 2b9e6e03bf785f92864adbfd3d1e6edc4ac899db1172ddc5bcf5c58b072a33b58de68042a3be111fa0f993cbda353742de3e795a7e104e656373b638de6bced9 SHA512 f13c48e3503f17f8d2c37f39409953baf32e87e05ec77e44097648fb5d57f6e6d3e2af45fb703e44d184ea150db80132c868860b5f2cd023911d5fdf8fc6550d
+DIST pgbadger-11.8.tar.gz 2987593 BLAKE2B f6f5aeaba4aa2d982a3b71463bd6a02e47078d2491a703bdbeb81b349790807eaca91794be7b850dfea86615f9e8142f0513af2f68e3ff3fd0908ac50645bf18 SHA512 78082a4c9c4ca1836825d5b1718555951f29630b26eff20f30dab03d3cb30395107d6854e09f47143fb099ccfdb8d7c9319bc80f787792a33cdda70abef7bb38
diff --git a/dev-db/pgbadger/pgbadger-11.0.ebuild b/dev-db/pgbadger/pgbadger-11.0.ebuild
deleted file mode 100644
index e45fe665314..00000000000
--- a/dev-db/pgbadger/pgbadger-11.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit perl-module
-
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer"
-HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-
-DEPEND="
- dev-perl/JSON-XS
- dev-perl/Text-CSV_XS
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
- prove || die
-}
diff --git a/dev-db/pgbadger/pgbadger-11.3.ebuild b/dev-db/pgbadger/pgbadger-11.3.ebuild
deleted file mode 100644
index d7d9c0862e6..00000000000
--- a/dev-db/pgbadger/pgbadger-11.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit perl-module
-
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer"
-HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- dev-perl/JSON-XS
- dev-perl/Text-CSV_XS
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
- prove || die
-}
diff --git a/dev-db/pgbadger/pgbadger-11.4.ebuild b/dev-db/pgbadger/pgbadger-11.4.ebuild
deleted file mode 100644
index d7d9c0862e6..00000000000
--- a/dev-db/pgbadger/pgbadger-11.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit perl-module
-
-DESCRIPTION="pgBadger is a PostgreSQL log analyzer"
-HOMEPAGE="https://pgbadger.darold.net/"
-SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- dev-perl/JSON-XS
- dev-perl/Text-CSV_XS
-"
-RDEPEND="${DEPEND}"
-
-src_test() {
- prove || die
-}
diff --git a/dev-db/pgbadger/pgbadger-11.6.ebuild b/dev-db/pgbadger/pgbadger-11.8.ebuild
index 87183b3e26a..31a09daa2bf 100644
--- a/dev-db/pgbadger/pgbadger-11.6.ebuild
+++ b/dev-db/pgbadger/pgbadger-11.8.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit perl-module
diff --git a/dev-db/pgbouncer/pgbouncer-1.16.1.ebuild b/dev-db/pgbouncer/pgbouncer-1.16.1.ebuild
index 3103f9c999c..dad0a008cc9 100644
--- a/dev-db/pgbouncer/pgbouncer-1.16.1.ebuild
+++ b/dev-db/pgbouncer/pgbouncer-1.16.1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://www.pgbouncer.org/"
SRC_URI="https://www.pgbouncer.org/downloads/files/${PV}/pgbouncer-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="+c-ares debug doc pam ssl systemd udns"
# At-most-one-of, one can be enabled but not both
diff --git a/dev-db/pgcli/pgcli-3.3.1.ebuild b/dev-db/pgcli/pgcli-3.3.1-r1.ebuild
index 1878a36b4cf..90fbe7be5b7 100644
--- a/dev-db/pgcli/pgcli-3.3.1.ebuild
+++ b/dev-db/pgcli/pgcli-3.3.1-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="CLI for Postgres with auto-completion and syntax highlighting"
@@ -21,7 +21,7 @@ RDEPEND="
dev-python/pendulum[${PYTHON_USEDEP}]
dev-python/pgspecial[${PYTHON_USEDEP}]
dev-python/prompt_toolkit[${PYTHON_USEDEP}]
- dev-python/psycopg[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
dev-python/setproctitle[${PYTHON_USEDEP}]
dev-python/sqlparse[${PYTHON_USEDEP}]"
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
index 870e3b0f5fa..a7796736bd1 100644
--- a/dev-db/pgpool2/Manifest
+++ b/dev-db/pgpool2/Manifest
@@ -1,3 +1,5 @@
DIST pgpool-II-4.2.1.tar.gz 4713114 BLAKE2B 207cb3c43e47d40385d6808195561117293e5acec6bc34664ec7a1d8754bf9beb8c5350252a4274d4c50520254089f0e5a5fdfc0faf778186fa8000db6124df2 SHA512 b859a3952f69dd98a3df60b33b801d3bc96b9a11757593795a89751abe558c6baab10a37701d69d415c9da26a16abcdc72e0209e74c62204facfb25cdbc512f8
DIST pgpool-II-4.2.2.tar.gz 4734840 BLAKE2B 2b4d26991732293e1411d1219f85a8c9ad1dca72c63069381ae1377a02ae215e813356172f3b89b42b9140549c92c76d443b125bb65cbc6abf03d2b99cf18dab SHA512 a147c810cc691fb27b823a813cbd2eaad66822c7c9f5c0f829cc70d4ac65911bbe827640f2dbd8060913276ed97340b52167e4332e9cdf013b6c9bc144c7b5d8
+DIST pgpool-II-4.2.9.tar.gz 4642836 BLAKE2B 75cfaf86d2e7a4f9677b7d5a98b783e25458e282b682979d31023372dd827dd0b52bf684949e9c97e404c383ab8b2f526e40b00e643d3d6566c702b111a13e34 SHA512 b0256095298e1c1ee50133b4bdc5716aea52f2ab6dc4dc4152ca0415f9b5ccfc14f97d6af1167e69fa1e2b0fd37468a5a10a1cffd8dfcea8e93b11616a66cf42
DIST pgpool-II-4.3.1.tar.gz 6034811 BLAKE2B 6ca2a27eefc2b20186d0e5cbdfd838f429d9996e299ab177e655ed69aa214e676029db728b16020dbdc49d9036fe7aad71d6abb12b486a4cf8fb8348bb201c6c SHA512 a5417d9f5baa1b39e3645f7d44accf0a2f04d5fc5cb4d28089169aaebbd15c20b4cd280d09f15fa764c3b793117086fc03f5d7be584c0c5ff9c5f8e11ddb9ef8
+DIST pgpool-II-4.3.2.tar.gz 5846769 BLAKE2B 82cfe7095ad303ac3a910c533d6e57edb4e3d5b28a9a9bffb2df473dd3087ec329d3a77f9490d9bb738d5d1a443020d96d0e9a1b1d6adecc04cce5d1caa04e7d SHA512 771426257eddb5c48504c80a2c8cccf44a18f7ea50df55654b7e9e017bda561a73a3e1f0db79785785ff6893d6df26f73b55310d0184ef3301838d12290d3d4c
diff --git a/dev-db/pgpool2/pgpool2-4.2.1-r2.ebuild b/dev-db/pgpool2/pgpool2-4.2.1-r2.ebuild
index d34913fcacc..d3efaa96fff 100644
--- a/dev-db/pgpool2/pgpool2-4.2.1-r2.ebuild
+++ b/dev-db/pgpool2/pgpool2-4.2.1-r2.ebuild
@@ -56,7 +56,7 @@ src_prepare() {
src_configure() {
postgres-multi_foreach econf \
--disable-rpath \
- --sysconfdir="${EROOT}/etc/${PN}" \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
$(use_enable static-libs static) \
diff --git a/dev-db/pgpool2/pgpool2-4.2.2-r2.ebuild b/dev-db/pgpool2/pgpool2-4.2.2-r2.ebuild
index d05f5c5dea0..c8b5484a0cd 100644
--- a/dev-db/pgpool2/pgpool2-4.2.2-r2.ebuild
+++ b/dev-db/pgpool2/pgpool2-4.2.2-r2.ebuild
@@ -55,7 +55,7 @@ src_prepare() {
src_configure() {
postgres-multi_foreach econf \
--disable-rpath \
- --sysconfdir="${EROOT}/etc/${PN}" \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
$(use_enable static-libs static) \
diff --git a/dev-db/pgpool2/pgpool2-4.2.9.ebuild b/dev-db/pgpool2/pgpool2-4.2.9.ebuild
new file mode 100644
index 00000000000..c2ce05764ea
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.2.9.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {10..14} )
+
+inherit autotools postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ net-libs/libnsl:0=
+ virtual/libcrypt:=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ postgres_new_user pgpool
+
+ postgres-multi_pkg_setup
+}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+ "${FILESDIR}/pgpool-4.2.0-run_paths.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-4.3.2.ebuild b/dev-db/pgpool2/pgpool2-4.3.2.ebuild
new file mode 100644
index 00000000000..f78d1120630
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.3.2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.6 {10..14} )
+
+inherit autotools postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ acct-user/pgpool
+ net-libs/libnsl:0=
+ virtual/libcrypt:=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? ( dev-libs/openssl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+ "${FILESDIR}/pgpool-4.3.1-run_paths.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-9999.ebuild b/dev-db/pgpool2/pgpool2-9999.ebuild
index 2c9d504b504..d14481554c2 100644
--- a/dev-db/pgpool2/pgpool2-9999.ebuild
+++ b/dev-db/pgpool2/pgpool2-9999.ebuild
@@ -55,7 +55,7 @@ src_prepare() {
src_configure() {
postgres-multi_foreach econf \
--disable-rpath \
- --sysconfdir="${EROOT}/etc/${PN}" \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
$(use_enable static-libs static) \
diff --git a/dev-db/pgtap/pgtap-1.2.0-r2.ebuild b/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
index c622db920eb..a62f1fe0a5e 100644
--- a/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
+++ b/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
LICENSE="POSTGRESQL"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE=""
DEPEND="${POSTGRES_DEP}
@@ -33,6 +33,6 @@ src_configure() {
src_install() {
postgres-multi_src_install
- rm -r ${ED}/usr/share/doc/postgresql* || die "Failed to remove improper doc locations"
+ rm -r "${ED}"/usr/share/doc/postgresql* || die "Failed to remove improper doc locations"
dodoc doc/pgtap.mmd
}
diff --git a/dev-db/pgxnclient/Manifest b/dev-db/pgxnclient/Manifest
index 0df4802f49c..43ec9571158 100644
--- a/dev-db/pgxnclient/Manifest
+++ b/dev-db/pgxnclient/Manifest
@@ -1,2 +1,3 @@
DIST pgxnclient-1.3.1.tar.gz 80554 BLAKE2B 0f63d3ee94de623b32d990a9504a469e5606b72df7c4f3c8a261e00c36c7284e2d7efdc1eec15b43fde69be50c1b55f65f3a2259a67894fb9022e9d39280683f SHA512 e698fa9cb56a4f66c4c4281861ee6cfef4667ca9b0643691798929c625fee9eb9534ad9c6c4b94f63a730b9dedcf9f0b6a120d179052c3519d8010bc2791dd3e
+DIST pgxnclient-1.3.2.tar.gz 86146 BLAKE2B 452eb33999362b97c4f65aadcc9d19f1a24534fd7647b0ad66bbe8b87d006cee59ae5de71551be7bcd42402f40bdc551946bb38e960f217617357fb65657f161 SHA512 ce4e2b7512e4fc8f36ee9ebb7280096bdc18c5c372bb483c8cec35b7e5d5c0f19c256d1a916b5f9b2adb96c80736524df9dee90dcd7e76bf4b1af13fbf8d96bc
DIST pgxnclient-1.3.tar.gz 51976 BLAKE2B 84ae5573588e6da0b01d5b05e296adc09f28a0b21ff81e5f2f14f3035a98ad5eb834d6793acf0a48a8b19190b989562e75094341f7c01b371028a0dd6a87b0f4 SHA512 fd9326107334d473db3466f776021186a5add389a93266b000c143131a0214b9773dd4cdd4688575cd720c8357afce1473838dea4aa5ff2564dcbc2c359de2dd
diff --git a/dev-db/pgxnclient/pgxnclient-1.3.2.ebuild b/dev-db/pgxnclient/pgxnclient-1.3.2.ebuild
new file mode 100644
index 00000000000..caa31d1ee64
--- /dev/null
+++ b/dev-db/pgxnclient/pgxnclient-1.3.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="PostgreSQL Extension Network Client"
+HOMEPAGE="https://pgxn.github.io/pgxnclient/
+ https://pypi.org/project/pgxnclient/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+LICENSE="BSD"
+SLOT="0"
+
+IUSE="test"
+
+RDEPEND="dev-db/postgresql:*[server]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock )
+"
+
+# Test data is currently missing from the distribution. Next release
+# will include it.
+RESTRICT="test"
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed "s/setup_requires/#/" -i setup.py || die
+ sed "s/find_packages()/find_packages(exclude=['tests'])/" -i setup.py || die
+
+ default
+}
diff --git a/dev-db/phpmyadmin/Manifest b/dev-db/phpmyadmin/Manifest
index 7ae02fb72f9..2ce0ee673fc 100644
--- a/dev-db/phpmyadmin/Manifest
+++ b/dev-db/phpmyadmin/Manifest
@@ -1,4 +1,2 @@
-DIST phpMyAdmin-4.9.6-all-languages.tar.xz 4978288 BLAKE2B 73f7cf5da8ec55fb39d5ea1c007d640f521c9b4490c820ef3f2660000f37af751d7e9a9d08d04405497b9e69642c53f6b28f5f84b5401e437bcf3419c2d2323b SHA512 4aa35ae627edfcf99af83a30e328b8b9ccdfa129ae9d16c2672ace234aa8a416ad8840af5bc9998e44b9e26b07abd195cfba1b4c784b0bc6509f5e8e548e62f1
-DIST phpMyAdmin-5.0.3-all-languages.tar.xz 6786864 BLAKE2B 737df7cc7c2bdeda89f81d2d5d61857f5f9c0f1e69c4679df6f728c0df8d50fde589971e5e4cd371f2f33d766cdd17cca5580ccb7b75cecb0122ce49dcf52a05 SHA512 e03b0fcd1998570c243a41bcb9e1bf46c1da8fdb99b8e54ba4de3e7e22ff0d847468f16137b011f22eb2ee58d92debd66f2f0ec1b403775aef879a3f8978ebf1
-DIST phpMyAdmin-5.1.0-all-languages.tar.xz 7902416 BLAKE2B 0b3e8f359e4b528474da8fe15b64f0dc5f82e3366402495c3ba65115852db8041bacdf274ae9e93d9ed9e4edba6c396031cc6f5684ca5a0f270ac1ca7e4d424d SHA512 b49f0c722ef3ea763d9a0eb1fa269717a81affbaf207b108f1cb085a44eae97d690da83fd18ea54477cfb08a646557285d24cd0568aa148b0207f78d17754192
DIST phpMyAdmin-5.1.1-all-languages.tar.xz 7751820 BLAKE2B 95d54893b7a7d8743769c0a91ef79c4fd22eb69acf2573f781295f20a39e7e667ff0623c900b68705f6fc9852f3b665adc3689c4c7d596c6cbcb78468d36e7e1 SHA512 22586bf9e37224f4a307564e8da73384cdc55d705063a487c17b3a02ab0a0454371d1349aad96b136395a72dff38409f8eac21ab9a7f3e5835ad85fc7854d59b
+DIST phpMyAdmin-5.2.0-all-languages.tar.xz 7078212 BLAKE2B 184c5f1ca0d9fee4812d7f7847f7142887f39103cc629acd08183986f71a3069bfb89750c0e03f4a3a20d2ee767d37a281b14ec8d0ad50f44321620b0735023a SHA512 69658f94908e279e80f7cb76ac108090d704f27bc3f3206ff7d69c0aac4119ee42696ce66f98be6bc11e3532ca0d47916c1a2a8c915c3af6d1e5be6aa1d925a5
diff --git a/dev-db/phpmyadmin/metadata.xml b/dev-db/phpmyadmin/metadata.xml
index 8e983045834..83eef45855b 100644
--- a/dev-db/phpmyadmin/metadata.xml
+++ b/dev-db/phpmyadmin/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jmbsvicetto@gentoo.org</email>
- <name>Jorge Manuel B. S. Vicetto</name>
- </maintainer>
<maintainer type="project">
<email>web-apps@gentoo.org</email>
<name>Gentoo Webapps</name>
diff --git a/dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild
deleted file mode 100644
index 163c9511f45..00000000000
--- a/dev-db/phpmyadmin/phpmyadmin-4.9.6.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_PV=${PV/_/-}
-MY_PN="phpMyAdmin"
-MY_P="${MY_PN}-${MY_PV}-all-languages"
-
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="https://www.phpmyadmin.net/"
-SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
-IUSE="setup"
-
-RDEPEND="
- dev-lang/php[ctype,filter,json(+),session,unicode]
- || (
- dev-lang/php[mysqli]
- dev-lang/php[mysql]
- )
- virtual/httpd-php:*
-"
-
-need_httpd_cgi
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- webapp_pkg_setup
-}
-
-src_install() {
- webapp_src_preinst
-
- dodoc README RELEASE-DATE-${MY_PV} ChangeLog
- rm -f LICENSE README* RELEASE-DATE-${MY_PV}
-
- if ! use setup; then
- rm -rf setup || die "Cannot remove setup utility"
- elog "The phpMyAdmin setup utility has been removed."
- elog "It is a regular target of various exploits. If you need it, set USE=setup."
- else
- elog "You should consider disabling the setup USE flag"
- elog "to exclude the setup utility if you don't use it."
- elog "It regularly is the target of various exploits."
- fi
-
- insinto "${MY_HTDOCSDIR#${EPREFIX}}"
- doins -r .
-
- webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
- webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
-
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt
- webapp_src_install
-}
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild
deleted file mode 100644
index 8cb21b3ed99..00000000000
--- a/dev-db/phpmyadmin/phpmyadmin-5.1.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit webapp
-
-MY_PV=${PV/_/-}
-MY_PN="phpMyAdmin"
-MY_P="${MY_PN}-${MY_PV}-all-languages"
-
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="https://www.phpmyadmin.net/"
-SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
-IUSE="setup"
-
-RDEPEND="
- >=dev-lang/php-7.1[ctype,filter,json(+),session,unicode]
- || (
- dev-lang/php[mysqli]
- dev-lang/php[mysql]
- )
- virtual/httpd-php:*
-"
-
-need_httpd_cgi
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- webapp_pkg_setup
-}
-
-src_install() {
- webapp_src_preinst
-
- dodoc README RELEASE-DATE-${MY_PV} ChangeLog
- rm -f LICENSE README* RELEASE-DATE-${MY_PV}
-
- if ! use setup; then
- rm -rf setup || die "Cannot remove setup utility"
- elog "The phpMyAdmin setup utility has been removed."
- elog "It is a regular target of various exploits. If you need it, set USE=setup."
- else
- elog "You should consider disabling the setup USE flag"
- elog "to exclude the setup utility if you don't use it."
- elog "It regularly is the target of various exploits."
- fi
-
- insinto "${MY_HTDOCSDIR#${EPREFIX}}"
- doins -r .
-
- webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
- webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php
-
- webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt
- webapp_src_install
-}
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild
index 8cb21b3ed99..507a5f517c4 100644
--- a/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-5.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
IUSE="setup"
RDEPEND="
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.2.0.ebuild
index 8cb21b3ed99..4f76bc1e82d 100644
--- a/dev-db/phpmyadmin/phpmyadmin-5.0.3.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-5.2.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit webapp
@@ -14,11 +14,11 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~x64-macos"
IUSE="setup"
RDEPEND="
- >=dev-lang/php-7.1[ctype,filter,json(+),session,unicode]
+ dev-lang/php[ctype,filter,json(+),session,ssl,unicode]
|| (
dev-lang/php[mysqli]
dev-lang/php[mysql]
diff --git a/dev-db/postgis/metadata.xml b/dev-db/postgis/metadata.xml
index 522613858a1..8f42ee9fd43 100644
--- a/dev-db/postgis/metadata.xml
+++ b/dev-db/postgis/metadata.xml
@@ -20,4 +20,8 @@
Build topology spatial types and functions
</flag>
</use>
+ <upstream>
+ <remote-id type="github">postgis/postgis</remote-id>
+ <remote-id type="gitlab">postgis/postgis</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 0e2edc76922..9728a27e7cd 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,16 +1,22 @@
DIST postgresql-10.19.tar.bz2 19261478 BLAKE2B 3ccd44d68980ddb0e394b811af20c213cf89eb8d4374d2c49c9cda5165f222ca849a2db4fe4d521991f15f9cc84ec35bafa91083b9625f2a6729159f490a94c9 SHA512 41b0f5026be7d563e41b54e9ea7199dd466a132d355be0b71a91d41f533d97fbf550eccf2a2ece3d60c5dab5921ebeea3ac4780c18c54b924df52d7423305a22
DIST postgresql-10.20.tar.bz2 19371473 BLAKE2B 24ce3e3dda749375e999206307154e79bf15d20b3cd598ba0b78bf27976241d71e88e6fa4cd459b675bc9a9047e9315321b1535dbb41ed9e558858c2a7e9dd31 SHA512 44cfca541947d58c70593b767d3c2423f20cc6904f3d4cea8f63c1802ccbc569130c4a2a15f1af152285926f6a200e13d59c21584295dafd6f6e74bd38251428
DIST postgresql-10.21.tar.bz2 19409454 BLAKE2B 5e43abaee8156b9eb99360efeb25ba268f93a60ac2c29044d9025c4faa8753d84cb3c0c8cbcd65eb9e0eb094ebf63e0cc1cbd0ef12c0a2faa360754e63ae106a SHA512 1053e15505c0448df491119c9aad1617889b66118628a2155e3ec87e6648b2071a0a54e10d8fbbe00161b2aa86d1a6194d932a8cf5808c626e7972d135bb05c5
+DIST postgresql-10.22.tar.bz2 19455874 BLAKE2B 10a8a894ba6e649abcc68abfd829bd30bca04b6e90f987ae5771fe02474517254ea2b48c7c9f2a899309de7b84aeaf13bac025965a9cc44814727ba257a633d7 SHA512 2e1ea75be7696ffbbb947351a8e8e55aaf067f86ad318308499a6a58797f0bf86227ed33e257e261c5c71ebba2f73ba514ef195a2394b91414ce6a0c3ab62532
DIST postgresql-11.14.tar.bz2 20172910 BLAKE2B a033752fc5fc593c96fe63a258b2cc0d4b896548a366e3fefa8afde1f96ab64aab97eb395b10ae10494709963ed924623279f76f66870c4faee435969400c1b7 SHA512 ab71461ee6fb4cdc5b4240f7ecd8af2497ce6780283fde2abf5951ffdb616bd0c8ed22b26fdfca402a346e663ff77c4d17f3284c9d700e6fd6795b2aec97c9be
DIST postgresql-11.15.tar.bz2 20245750 BLAKE2B f6a632606fe4b34b2a44df2c165ccfa6e890b85f4f6048994f781428bbd1de6888a24493fb5d0c231f3f34e6a4e94cfd23078a9afdaf5925d284b4854847d23f SHA512 1eba7bddee1edf034617102c1d61ad0aa1b58927dad63de1d054817966c4c9a1d7d3fa6f6896af3fe5a6880b09a6ec86be298256ee6ecc3705ff2654d3d00c74
DIST postgresql-11.16.tar.bz2 20347100 BLAKE2B 240e86b68ff8833265f10802da2fb847d72e38ac9325fc56bb6864266b2ad98939170038ccdb7044ae16f9fd29e7a9e1d404456d8bc7d53430067d714b9bb563 SHA512 e1b6be0a97e60cdd95cd0ebc756b1de6abf2f33f41f6a80da3dff25483a30146fb6bf750ab787bb5bb4f2a04718946c7429e71f891cbd491001e9f9c2ea8e63c
+DIST postgresql-11.17.tar.bz2 20385599 BLAKE2B d145bc0f5e0f277be91bf46868c78c9ce5bb2eebbbd84fbdcdbb1ec115911d124a0a054df783739fb912eeae1322fb7eb58b7b1b8d40a8f81cffe2f24d3dda01 SHA512 35304279c06577eca134581490710db976edeac8cca169d3436fcdce8eebb18159459ea3b5ef403f6a8efe85542726f9960c4ca653da4619e081ce5869866032
DIST postgresql-12.10.tar.bz2 20990621 BLAKE2B a7a56cf75944c558ae9bb9165dfb17b30cc5f7a865961e0a588677e4dd3e53d1fab15a212a21ec12f8e7b669a448d78efa0dfe985fd4902e16485a298c7adc62 SHA512 befedb14320aa033dc55bbb93bbbec4e67d9cfced63be0e4f631c7495a0fbc6fe280bd6d2fb941d7a2e6b2ac570b7f40d8db7f07a192a81bd9cd63c6c244a9c5
DIST postgresql-12.11.tar.bz2 21086745 BLAKE2B 7062d334f3ef3b98f69e709f5de744324c7ce53ea516384902632a454a2ccadfd7bcc0c9ef4d51a685dd7a06e1fdccc292109294517831181c3db30bc2b7be91 SHA512 705e9e1ccf8202062cce61069b5ddb7db5f804dd0736c620640ce5622b9e42fdcbc1417771e77d51aa54beb4562a09b4307f2ff7dec135bd0e31f4941ca36ac8
+DIST postgresql-12.12.tar.bz2 21089064 BLAKE2B 7285dcfc8ed6cf2dbbe29d894dbcef53fad18cbeddbfdb3a43893234a1ee75a9bf5d966968a0c481a8ab15bf8a37400bf6eb4b57a83359501b729e70398e3551 SHA512 eeff79279ac11db04fdddeb2c52ba1ec6b549223b862222540e1f659fbfc3617130699c22694b465bde46b1a4a665c01aef70b68b86d80e58a5657efd019407d
DIST postgresql-12.9.tar.bz2 20904260 BLAKE2B fc88d61d369569a3054b889848eaf1405a4f5137cd8c2cf27282115f70853dd4d5d8b4bf0a9fc60c63db936246a0a64077c9bfdb90685d4dfe375558e4519b2b SHA512 11697d8283f5df5a9c74c2406e94d1b6da6df8358ad48f3b773825aab98e8395f9fd4e3fc8b1e6ebad3743c3dadbda8b795d4fe84a447d7913223e136cf2b88f
DIST postgresql-13.5.tar.bz2 21186674 BLAKE2B 3e51d6d67bba09fb134cd71c48349674e0cacfaefee299620482c93f0b09edbfead578deb63083686ab691563b088fc0ea60a6281a0bcf9145689fb3ce1ec0f0 SHA512 c76effbca8ee63be48fa3aeb39c7038221848fe83ca2afc4e0904ba8c6a50b89aa2ad37080d4e3be75e9bdc2d6ca6dfefcda334ef55a5e1a8954bb955ce905e5
DIST postgresql-13.6.tar.bz2 21257213 BLAKE2B f5ea95fd9ffc8846e0aaf5bac03b02afa71e62e796bbe40f68af727a2f3c74eddd98cb68427bcc13b87b6fa00a8e2a7b18dd7749318f0a4a32cfdbf9b0e0a873 SHA512 2852726a3031b8d469f1c38f3019af02fc5afe40ec27b22288a29acefd30c63a98806bce88a214d0c2f9177f547b0b5010ad64e70bcbe2c2f1d97a27ae1984f8
DIST postgresql-13.7.tar.bz2 21364433 BLAKE2B 2d8a505f6de4eb31cae415529eeac750a60abafcf45e7fde29043597b385a8150fac55df659f8c2ad200822e8063d388ed606dff9108d4407f9e26b893fa62f4 SHA512 9254f21519c8d4e926f70082503bb5593c91064a3d2a4ea18ac503dfd9aa94751d6f01ce00fca9fec9b2b7af40caf8d0951b661dd8be4d6aa87c1e35b6fa7a41
+DIST postgresql-13.8.tar.bz2 21397381 BLAKE2B eb076382027a175789652a6ae8579d9b9c8856918741e8058456d22f1ef89525cff5fafe863bf615f658bc94b740b00d1268825969e37a7cefed6b5c90f402c5 SHA512 3b39448b291342a5e9b610d410c222aeb85f8acf95632e73e138ae316133af3dadc795a6e706f6447f543cf10df3c786da4f1afa1d91489b50eb77e2d9ed5d84
DIST postgresql-14.1.tar.bz2 21887101 BLAKE2B a496dfd513c52339d1b3cb72773f9611721fd7c5d2a702d6fd71f650a1d41c3d7bf6574eba23671c7f9f11718e007f51f9547949bdc3d7fe1ea2248ebfb8d70b SHA512 4a0bec157d5464bb9e5f5c0eb0efdede55526e03f6f4d660b87d161a47705eb152fa0878960b1581bce42a5ed28a1f457825ea54e8d22e34b5b8eb36473ceefd
DIST postgresql-14.2.tar.bz2 21964841 BLAKE2B 6460533a40064404f18642147b949cf7c85d036c45ede478fb9af8919895ee7b09dc78b89ed08a292226911f07cfc9e46d7f2d42e0aaea546c5e97a291d599b9 SHA512 19aeb6528605dbcf5df84048b2eed8f54b202576134d3fe3900bb8f073179c4258d2581acd745887e7e6fa86ebdb5f7b159ffaa0a645d601efee7c5f7730456b
-DIST postgresql-14.3.tar.bz2 22092190 BLAKE2B 8c9124cb758618d770a1084553f9e8f9a3fcb4e17e1aa4a1649e04f4c057f33ce1e5890bba3288bed2257236a4569735a77b3e5ddf989c2a2a4ef60ed494b3cc SHA512 70e6f67b5729a23f80b92b04e3fad2e09596b939660e3ddebf499d06af946459a45a019279e05413673e7b65d09a28a0440ed3c2ae565068466ed37e2d4f6f17
-DIST postgresql-15beta1.tar.bz2 23518203 BLAKE2B 54398d2f6972e7640cbb1211b86c642b205b33ca879d6db7a93ef8a39e294e69a7d8bb0bc7ec5df3455e5a01a5aac63815506ad55b78bf5698d2a77e943031bf SHA512 ced71f4dca02803788890c71a192b0516a41b5bc5b8113623e52183eb143905185affa93b5399b27113e112b9669dbca20cb5783f96e31ff1f5ccd2f8ddc55d3
+DIST postgresql-14.4.tar.bz2 22094218 BLAKE2B 05b65083d826ed2f451b31b29b4b247dfd76b3d24ef05f6be128ee9e58d521d506a3ec4ae4839cbb74d8e217dfae81a95bd97894a778ef3c47b907b85b1fb25e SHA512 dd2f80248684e331d2ffb1e26cd2a285df1fb18710807a0c31aedabf917912ce9267f8ca26318e5371d916c6fe476f8a17886d82d3ff86a974e6f24c19a6aafb
+DIST postgresql-14.5.tar.bz2 22132996 BLAKE2B 6d303850ef1e8f9f5d66a53275fc814475646c762b9747a4f0401a472ebaf59be06d6e7c08e9c1c5ad5d3b9dbc3bb3c06d58bae137806e1a437c86bcc8cae501 SHA512 3051c5ab729f6a55952c6108098b022517398b1de64f7fefbdd6c806c7e2eb0637d00f3c98a6203c5bee654656528c4ff3530db5a69470e7888864c77900178a
+DIST postgresql-15beta2.tar.bz2 23511057 BLAKE2B d1e6d8ce67998d4295587780c2cb75f33b930556e11fd95bbd4d828086f63faed6bbddbb809ebc1fddf0980c83c7cf51e3d37f110d7bb68959dab34f61b5b8c9 SHA512 139bf4f95e2bc8942666009c6680d2b61d8ea2898e9e7eb3a0afb118f0bf6acfac5f21676525cccd82e9ee5c43ad79e07e23a55333e1318426d8b9bc95a4f00d
+DIST postgresql-15beta3.tar.bz2 23585136 BLAKE2B cdea196fb62587800f7fceafcbbd781f5636323fc6b205a0e5e0081964f2d08fcb421d0d66f710150dba37f30c2b0e7f7b3119a9a83a0cc573104968b16fc043 SHA512 caf79b889ca1325bcbdce3bbbcb3a0707b8928c8bd7b97f594cfedaedc06826e829a561b2fde73210c1e2596a0201305fa350bb3f12c05783014fc0c8564298a
diff --git a/dev-db/postgresql/files/postgresql-13.8-no-server.patch b/dev-db/postgresql/files/postgresql-13.8-no-server.patch
new file mode 100644
index 00000000000..295df7087c1
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-13.8-no-server.patch
@@ -0,0 +1,144 @@
+--- a/contrib/Makefile
++++ b/contrib/Makefile
+@@ -5,56 +5,9 @@
+ include $(top_builddir)/src/Makefile.global
+
+ SUBDIRS = \
+- adminpack \
+- amcheck \
+- auth_delay \
+- auto_explain \
+- bloom \
+- btree_gin \
+- btree_gist \
+- citext \
+- cube \
+- dblink \
+- dict_int \
+- dict_xsyn \
+- earthdistance \
+- file_fdw \
+- fuzzystrmatch \
+- hstore \
+- intagg \
+- intarray \
+- isn \
+- lo \
+- ltree \
+ oid2name \
+- pageinspect \
+- passwordcheck \
+- pg_buffercache \
+- pg_freespacemap \
+- pg_prewarm \
+- pg_standby \
+- pg_stat_statements \
+- pg_trgm \
+- pgcrypto \
+- pgrowlocks \
+- pgstattuple \
+- pg_visibility \
+- postgres_fdw \
+- seg \
+- spi \
+- tablefunc \
+- tcn \
+- test_decoding \
+- tsm_system_rows \
+- tsm_system_time \
+- unaccent \
+ vacuumlo
+
+-ifeq ($(with_openssl),yes)
+-SUBDIRS += sslinfo
+-else
+-ALWAYS_SUBDIRS += sslinfo
+-endif
+
+ ifneq ($(with_uuid),no)
+ SUBDIRS += uuid-ossp
+--- a/src/backend/Makefile
++++ b/src/backend/Makefile
+@@ -56,7 +56,7 @@
+
+ ##########################################################################
+
+-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
++all: generated-headers
+
+ ifneq ($(PORTNAME), cygwin)
+ ifneq ($(PORTNAME), win32)
+@@ -195,23 +195,7 @@
+
+ ##########################################################################
+
+-install: all installdirs install-bin
+-ifeq ($(PORTNAME), cygwin)
+-ifeq ($(MAKE_DLL), true)
+- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
+-endif
+-endif
+-ifeq ($(PORTNAME), win32)
+-ifeq ($(MAKE_DLL), true)
+- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
+-endif
+-endif
+- $(MAKE) -C catalog install-data
+- $(MAKE) -C tsearch install-data
+- $(MAKE) -C utils install-data
+- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
+- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
+- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
++install:
+
+ ifeq ($(with_llvm), yes)
+ install-bin: install-postgres-bitcode
+--- a/src/bin/Makefile
++++ b/src/bin/Makefile
+@@ -14,21 +14,8 @@
+ include $(top_builddir)/src/Makefile.global
+
+ SUBDIRS = \
+- initdb \
+- pg_archivecleanup \
+- pg_basebackup \
+- pg_checksums \
+ pg_config \
+- pg_controldata \
+- pg_ctl \
+ pg_dump \
+- pg_resetwal \
+- pg_rewind \
+- pg_test_fsync \
+- pg_test_timing \
+- pg_upgrade \
+- pg_verifybackup \
+- pg_waldump \
+ pgbench \
+ psql \
+ scripts
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -15,21 +15,12 @@
+ SUBDIRS = \
+ common \
+ port \
+- timezone \
+ backend \
+- backend/utils/mb/conversion_procs \
+- backend/snowball \
+ include \
+ interfaces \
+- backend/replication/libpqwalreceiver \
+- backend/replication/pgoutput \
+ fe_utils \
+ bin \
+- pl \
+- makefiles \
+- test/regress \
+- test/isolation \
+- test/perl
++ makefiles
+
+ ifeq ($(with_llvm), yes)
+ SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/files/postgresql-14.5-no-server.patch b/dev-db/postgresql/files/postgresql-14.5-no-server.patch
new file mode 100644
index 00000000000..87bd89b68f1
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-14.5-no-server.patch
@@ -0,0 +1,146 @@
+--- a/contrib/Makefile
++++ b/contrib/Makefile
+@@ -5,57 +5,9 @@
+ include $(top_builddir)/src/Makefile.global
+
+ SUBDIRS = \
+- adminpack \
+- amcheck \
+- auth_delay \
+- auto_explain \
+- bloom \
+- btree_gin \
+- btree_gist \
+- citext \
+- cube \
+- dblink \
+- dict_int \
+- dict_xsyn \
+- earthdistance \
+- file_fdw \
+- fuzzystrmatch \
+- hstore \
+- intagg \
+- intarray \
+- isn \
+- lo \
+- ltree \
+ oid2name \
+- old_snapshot \
+- pageinspect \
+- passwordcheck \
+- pg_buffercache \
+- pg_freespacemap \
+- pg_prewarm \
+- pg_stat_statements \
+- pg_surgery \
+- pg_trgm \
+- pgcrypto \
+- pgrowlocks \
+- pgstattuple \
+- pg_visibility \
+- postgres_fdw \
+- seg \
+- spi \
+- tablefunc \
+- tcn \
+- test_decoding \
+- tsm_system_rows \
+- tsm_system_time \
+- unaccent \
+ vacuumlo
+
+-ifeq ($(with_ssl),openssl)
+-SUBDIRS += sslinfo
+-else
+-ALWAYS_SUBDIRS += sslinfo
+-endif
+
+ ifneq ($(with_uuid),no)
+ SUBDIRS += uuid-ossp
+--- a/src/backend/Makefile
++++ b/src/backend/Makefile
+@@ -56,7 +56,7 @@
+
+ ##########################################################################
+
+-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
++all: generated-headers
+
+ ifneq ($(PORTNAME), cygwin)
+ ifneq ($(PORTNAME), win32)
+@@ -194,23 +194,7 @@
+
+ ##########################################################################
+
+-install: all installdirs install-bin
+-ifeq ($(PORTNAME), cygwin)
+-ifeq ($(MAKE_DLL), true)
+- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
+-endif
+-endif
+-ifeq ($(PORTNAME), win32)
+-ifeq ($(MAKE_DLL), true)
+- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
+-endif
+-endif
+- $(MAKE) -C catalog install-data
+- $(MAKE) -C tsearch install-data
+- $(MAKE) -C utils install-data
+- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
+- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
+- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
++install:
+
+ ifeq ($(with_llvm), yes)
+ install-bin: install-postgres-bitcode
+--- a/src/bin/Makefile
++++ b/src/bin/Makefile
+@@ -14,22 +14,8 @@
+ include $(top_builddir)/src/Makefile.global
+
+ SUBDIRS = \
+- initdb \
+- pg_amcheck \
+- pg_archivecleanup \
+- pg_basebackup \
+- pg_checksums \
+ pg_config \
+- pg_controldata \
+- pg_ctl \
+ pg_dump \
+- pg_resetwal \
+- pg_rewind \
+- pg_test_fsync \
+- pg_test_timing \
+- pg_upgrade \
+- pg_verifybackup \
+- pg_waldump \
+ pgbench \
+ psql \
+ scripts
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -15,21 +15,12 @@
+ SUBDIRS = \
+ common \
+ port \
+- timezone \
+ backend \
+- backend/utils/mb/conversion_procs \
+- backend/snowball \
+ include \
+ interfaces \
+- backend/replication/libpqwalreceiver \
+- backend/replication/pgoutput \
+ fe_utils \
+ bin \
+- pl \
+- makefiles \
+- test/regress \
+- test/isolation \
+- test/perl
++ makefiles
+
+ ifeq ($(with_llvm), yes)
+ SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/files/postgresql-15_beta3-no-server.patch b/dev-db/postgresql/files/postgresql-15_beta3-no-server.patch
new file mode 100644
index 00000000000..9ada0a71d5a
--- /dev/null
+++ b/dev-db/postgresql/files/postgresql-15_beta3-no-server.patch
@@ -0,0 +1,146 @@
+--- a/contrib/Makefile
++++ b/contrib/Makefile
+@@ -5,59 +5,9 @@
+ include $(top_builddir)/src/Makefile.global
+
+ SUBDIRS = \
+- adminpack \
+- amcheck \
+- auth_delay \
+- auto_explain \
+- basic_archive \
+- basebackup_to_shell \
+- bloom \
+- btree_gin \
+- btree_gist \
+- citext \
+- cube \
+- dblink \
+- dict_int \
+- dict_xsyn \
+- earthdistance \
+- file_fdw \
+- fuzzystrmatch \
+- hstore \
+- intagg \
+- intarray \
+- isn \
+- lo \
+- ltree \
+ oid2name \
+- old_snapshot \
+- pageinspect \
+- passwordcheck \
+- pg_buffercache \
+- pg_freespacemap \
+- pg_prewarm \
+- pg_stat_statements \
+- pg_surgery \
+- pg_trgm \
+- pgrowlocks \
+- pgstattuple \
+- pg_visibility \
+- pg_walinspect \
+- postgres_fdw \
+- seg \
+- spi \
+- tablefunc \
+- tcn \
+- test_decoding \
+- tsm_system_rows \
+- tsm_system_time \
+- unaccent \
+ vacuumlo
+
+-ifeq ($(with_ssl),openssl)
+-SUBDIRS += pgcrypto sslinfo
+-else
+-ALWAYS_SUBDIRS += pgcrypto sslinfo
+-endif
+
+ ifneq ($(with_uuid),no)
+ SUBDIRS += uuid-ossp
+--- a/src/backend/Makefile
++++ b/src/backend/Makefile
+@@ -56,7 +56,7 @@
+
+ ##########################################################################
+
+-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
++all: generated-headers
+
+ ifneq ($(PORTNAME), cygwin)
+ ifneq ($(PORTNAME), win32)
+@@ -194,23 +194,7 @@
+
+ ##########################################################################
+
+-install: all installdirs install-bin
+-ifeq ($(PORTNAME), cygwin)
+-ifeq ($(MAKE_DLL), true)
+- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
+-endif
+-endif
+-ifeq ($(PORTNAME), win32)
+-ifeq ($(MAKE_DLL), true)
+- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
+-endif
+-endif
+- $(MAKE) -C catalog install-data
+- $(MAKE) -C tsearch install-data
+- $(MAKE) -C utils install-data
+- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
+- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
+- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
++install:
+
+ ifeq ($(with_llvm), yes)
+ install-bin: install-postgres-bitcode
+--- a/src/bin/Makefile
++++ b/src/bin/Makefile
+@@ -14,22 +14,8 @@
+ include $(top_builddir)/src/Makefile.global
+
+ SUBDIRS = \
+- initdb \
+- pg_amcheck \
+- pg_archivecleanup \
+- pg_basebackup \
+- pg_checksums \
+ pg_config \
+- pg_controldata \
+- pg_ctl \
+ pg_dump \
+- pg_resetwal \
+- pg_rewind \
+- pg_test_fsync \
+- pg_test_timing \
+- pg_upgrade \
+- pg_verifybackup \
+- pg_waldump \
+ pgbench \
+ psql \
+ scripts
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -17,19 +17,11 @@
+ port \
+ timezone \
+ backend \
+- backend/utils/mb/conversion_procs \
+- backend/snowball \
+ include \
+ interfaces \
+- backend/replication/libpqwalreceiver \
+- backend/replication/pgoutput \
+ fe_utils \
+ bin \
+- pl \
+- makefiles \
+- test/regress \
+- test/isolation \
+- test/perl
++ makefiles
+
+ ifeq ($(with_llvm), yes)
+ SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/metadata.xml b/dev-db/postgresql/metadata.xml
index a7ebd231efc..5eedeb1b035 100644
--- a/dev-db/postgresql/metadata.xml
+++ b/dev-db/postgresql/metadata.xml
@@ -18,4 +18,7 @@
<pkg>dev-libs/ossp-uuid</pkg>).
</flag>
</use>
+ <upstream>
+ <remote-id type="github">postgres/postgres</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/postgresql/postgresql-10.19-r1.ebuild b/dev-db/postgresql/postgresql-10.19-r1.ebuild
index 2451592a1f7..2bab39336a2 100644
--- a/dev-db/postgresql/postgresql-10.19-r1.ebuild
+++ b/dev-db/postgresql/postgresql-10.19-r1.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9,10} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-10.22.ebuild b/dev-db/postgresql/postgresql-10.22.ebuild
new file mode 100644
index 00000000000..c82314c99b6
--- /dev/null
+++ b/dev-db/postgresql/postgresql-10.22.ebuild
@@ -0,0 +1,453 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit flag-o-matic linux-info pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap nls pam perl
+ python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libcrypt:=
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Work around PPC{,64} compilation bug where bool is already defined
+ sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
+
+ if use pam ; then
+ sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ # https://bugs.gentoo.org/753257
+ # https://bugs.gentoo.org/766225
+ eapply "${FILESDIR}"/postgresql-10.0-icu68.patch
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY doc/{TODO,bug.template}
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "${DATA_DIR}"
+ chown -Rf postgres:postgres "${DATA_DIR}"
+ chmod 0700 "${DATA_DIR}"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-11.14-r1.ebuild b/dev-db/postgresql/postgresql-11.14-r1.ebuild
index 8ec21798e0a..314f7672344 100644
--- a/dev-db/postgresql/postgresql-11.14-r1.ebuild
+++ b/dev-db/postgresql/postgresql-11.14-r1.ebuild
@@ -8,7 +8,7 @@ LLVM_MAX_SLOT=13
inherit flag-o-matic linux-info llvm multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-11.17.ebuild b/dev-db/postgresql/postgresql-11.17.ebuild
new file mode 100644
index 00000000000..b190ec5a766
--- /dev/null
+++ b/dev-db/postgresql/postgresql-11.17.ebuild
@@ -0,0 +1,453 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+LLVM_MAX_SLOT=13
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-14:=
+ <sys-devel/clang-14:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY doc/{TODO,bug.template}
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-12.12.ebuild b/dev-db/postgresql/postgresql-12.12.ebuild
new file mode 100644
index 00000000000..a9740768fb2
--- /dev/null
+++ b/dev-db/postgresql/postgresql-12.12.ebuild
@@ -0,0 +1,453 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+LLVM_MAX_SLOT=14
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-15:=
+ <sys-devel/clang-15:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-12.1-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-12.9-r1.ebuild b/dev-db/postgresql/postgresql-12.9-r1.ebuild
index d747cba6e9e..e59f0a03279 100644
--- a/dev-db/postgresql/postgresql-12.9-r1.ebuild
+++ b/dev-db/postgresql/postgresql-12.9-r1.ebuild
@@ -8,7 +8,7 @@ LLVM_MAX_SLOT=14
inherit flag-o-matic linux-info llvm multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-13.5-r1.ebuild b/dev-db/postgresql/postgresql-13.5-r1.ebuild
index 2fe896fdb18..6e0f3bba684 100644
--- a/dev-db/postgresql/postgresql-13.5-r1.ebuild
+++ b/dev-db/postgresql/postgresql-13.5-r1.ebuild
@@ -8,7 +8,7 @@ LLVM_MAX_SLOT=14
inherit flag-o-matic linux-info llvm multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-13.8.ebuild b/dev-db/postgresql/postgresql-13.8.ebuild
new file mode 100644
index 00000000000..bffdb8f1537
--- /dev/null
+++ b/dev-db/postgresql/postgresql-13.8.ebuild
@@ -0,0 +1,465 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+LLVM_MAX_SLOT=14
+
+inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ <sys-devel/llvm-15:=
+ <sys-devel/clang-15:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use llvm && llvm_pkg_setup
+
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-13.3-riscv-spinlocks.patch
+
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-13.8-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-14.2-r1.ebuild b/dev-db/postgresql/postgresql-14.2-r1.ebuild
index 20bb400d693..ba00ea41f4e 100644
--- a/dev-db/postgresql/postgresql-14.2-r1.ebuild
+++ b/dev-db/postgresql/postgresql-14.2-r1.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9,10} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-14.3.ebuild b/dev-db/postgresql/postgresql-14.4.ebuild
index 9e6e14b865b..9e6e14b865b 100644
--- a/dev-db/postgresql/postgresql-14.3.ebuild
+++ b/dev-db/postgresql/postgresql-14.4.ebuild
diff --git a/dev-db/postgresql/postgresql-14.5.ebuild b/dev-db/postgresql/postgresql-14.5.ebuild
new file mode 100644
index 00000000000..200f856a2c6
--- /dev/null
+++ b/dev-db/postgresql/postgresql-14.5.ebuild
@@ -0,0 +1,462 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit flag-o-matic linux-info pam python-single-r1 systemd tmpfiles
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm lz4 nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ sys-devel/llvm:=
+ sys-devel/clang:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-14.5-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-15_beta1-r1.ebuild b/dev-db/postgresql/postgresql-15_beta2.ebuild
index 0207dd4f425..0207dd4f425 100644
--- a/dev-db/postgresql/postgresql-15_beta1-r1.ebuild
+++ b/dev-db/postgresql/postgresql-15_beta2.ebuild
diff --git a/dev-db/postgresql/postgresql-15_beta3.ebuild b/dev-db/postgresql/postgresql-15_beta3.ebuild
new file mode 100644
index 00000000000..a805f1d90ea
--- /dev/null
+++ b/dev-db/postgresql/postgresql-15_beta3.ebuild
@@ -0,0 +1,464 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit flag-o-matic linux-info pam python-single-r1 systemd tmpfiles
+
+KEYWORDS=""
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos ldap llvm lz4 nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib zstd"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap:= )
+llvm? (
+ sys-devel/llvm:=
+ sys-devel/clang:=
+)
+lz4? ( app-arch/lz4 )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+zstd? ( app-arch/zstd )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,musl} )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-15_beta3-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ local myconf="\
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with lz4) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_with zstd) \
+ $(use_enable nls)"
+ if use alpha; then
+ myconf+=" --disable-spinlocks"
+ else
+ # Should be the default but just in case
+ myconf+=" --enable-spinlocks"
+ fi
+ econf ${myconf}
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
+ # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
+ local old_ctype=${LC_CTYPE}
+ export LC_CTYPE=${LC_COLLATE}
+ emake check
+ export LC_CTYPE=${old_ctype}
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9999.ebuild
index cce0a2f8499..92b4cf038a8 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9999.ebuild
@@ -1,12 +1,11 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{8,9,10,11} )
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
- systemd tmpfiles
+inherit flag-o-matic git-r3 linux-info pam python-single-r1 systemd tmpfiles
KEYWORDS=""
diff --git a/dev-db/pspg/Manifest b/dev-db/pspg/Manifest
index 4e869267dd2..32aa6ebed49 100644
--- a/dev-db/pspg/Manifest
+++ b/dev-db/pspg/Manifest
@@ -1,4 +1 @@
-DIST pspg-3.1.5.tar.gz 1380515 BLAKE2B b9539347d1977a178468127df5f92f8b7be835b7e6edc49720131173b71b22e01b614bcde55e354d32a2ecf1665dcebd27502110786b7595411b5ec782391f01 SHA512 287d4794aebc867bf3c344c3747f1d058c1b93710dd0d86de66ae1e0d97961f4e3d511bc0f7df98c309bffc962aaf50b758faab1f8c6f0eb3374450e53ecdccb
-DIST pspg-4.3.0.tar.gz 1398789 BLAKE2B 51669105e335669ad76f174f7e085954bb5bf65719c929b0153aaa53c1a48d3f6c642cdf20624042dcfe5d7ad43bf2e6c5b5aaa5263d100590fdfa8ae21e62f4 SHA512 947052ca480ff271712b4620d7cf6060a5a702f245417c5223d8dcd6a357f71d16bc5bc732f883e80c730d3b699534a5791fc58d37b6c05e40e71e8f814e2c23
-DIST pspg-5.0.5.tar.gz 1828909 BLAKE2B 9e58735acbeeb42b7aa560d0b418b40ab461e1be2a429696cc07414d7e47e58c12511e6493ab95d16dd1b02b37921aac98acd99c9346dea8a95c55545a4c755f SHA512 9e2a673d7721598b0058ca8738e973b4c6b2e967b6b6d6dffba6d6473760809dce01b0f086ff6fff4e16e10a4fe78f0551e0a42d78a66513eb898c2df7dc0dc8
DIST pspg-5.5.4.tar.gz 2415002 BLAKE2B 1b7712318069c5fe69afe5e7477aa2a415d007a1f41af866726b11e65073c507ed12a51de14fc39ee06df9ccbe2763472332f55dda49167547e6ba590850bb5b SHA512 f13f4d7424d7b172a1fc5f963e7390a53f73f5c53ea4af7a9bed32dabc99f657e46cae550e8d5c7dd756b3496dd2ad665f3fd6551e54f9add1b3aef491709572
diff --git a/dev-db/pspg/pspg-3.1.5-r1.ebuild b/dev-db/pspg/pspg-3.1.5-r1.ebuild
deleted file mode 100644
index 58ec04498fc..00000000000
--- a/dev-db/pspg/pspg-3.1.5-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A better pager for psql and mysql"
-HOMEPAGE="https://github.com/okbob/pspg"
-SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="sys-libs/ncurses:=
-dev-db/postgresql:=
-sys-libs/readline:="
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
diff --git a/dev-db/pspg/pspg-4.3.0-r1.ebuild b/dev-db/pspg/pspg-4.3.0-r1.ebuild
deleted file mode 100644
index 51c9c87a2f6..00000000000
--- a/dev-db/pspg/pspg-4.3.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A better pager for psql and mysql"
-HOMEPAGE="https://github.com/okbob/pspg"
-SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="sys-libs/ncurses:=
-dev-db/postgresql:=
-sys-libs/readline:="
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
diff --git a/dev-db/pspg/pspg-5.0.5.ebuild b/dev-db/pspg/pspg-5.0.5.ebuild
deleted file mode 100644
index cdb6dbe8621..00000000000
--- a/dev-db/pspg/pspg-5.0.5.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="A better pager for psql and mysql"
-HOMEPAGE="https://github.com/okbob/pspg"
-SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="sys-libs/ncurses:=
-dev-db/postgresql:=
-sys-libs/readline:="
-RDEPEND="${DEPEND}"
-
-RESTRICT="test"
diff --git a/dev-db/pspg/pspg-5.5.4.ebuild b/dev-db/pspg/pspg-5.5.4.ebuild
index c9c1a5f51b2..479438bf0b0 100644
--- a/dev-db/pspg/pspg-5.5.4.ebuild
+++ b/dev-db/pspg/pspg-5.5.4.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
DEPEND="sys-libs/ncurses:=
dev-db/postgresql:=
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 4c02c0a50d6..554246eb8a0 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,5 +1,4 @@
-DIST redis-5.0.14.tar.gz 2000179 BLAKE2B 77d3ed09a81450dbf806edd017785b82c50bb059aab44c82bc4ab784b7f03d5c58f9372b96c857831f84d278771dcf223f42ca05af790f0dc10ecdde211fd149 SHA512 513299ae8b967a659d54812fab4dfdfaf0081b20136a3d89b6a761e93548583c96436fedb84baa4d23385b42110ef615527efc3690b873f5bec7793403fe7eaf
DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d372484c95d2af8b24ec902a8086b9c3f4e53513df982fe135963432bfb527334926dd494e50d2cc618ab813f39 SHA512 83bb72448f9943e3d015cb4d961eb2eae21602ef1f90ca52ca8ab7c6918b0ab979db9f61f3981df27b2286894f4864f4588c3a52fa988e30e9419b0967998845
DIST redis-6.2.6.tar.gz 2476542 BLAKE2B d139479432171294911d99e7e8c2327dbbc6682ea49de761c4bb4089a2efd814926f2f8823dca1826b4a61dd9ccf79abb22878c9463ac92870481b43d8a7fff7 SHA512 9b947d26fd9e208627ed22d318ab3d0775ab0be46d98db1c1d158feac671b984e75ce33e647d196face9643f80768af47e678be1b4e1ddd3eb56dff467c46022
DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953
-DIST redis-7.0.0.tar.gz 2943054 BLAKE2B 561cf591bacac51fddc375a1c725c385f9b0b4b4bb7fca7d889ee1b7760cf5ea986e26613a0f69fda9b6f8a02d02e055514d374be7913e26724e3857967fea22 SHA512 12ac925708c54b00b34c365dee39cb207fbe3cb3c99e8daad965e122b6e3a6543e3ca80e23e6a56f5dff6371d4f2b9c149ee51800ed540e1f1b9154a118ea07b
+DIST redis-7.0.4.tar.gz 2963216 BLAKE2B 95ad18547b4be0b199fccc4b0f534b00d2f442609b604b02ef83f44cef4283048d1f8b89e383a14208a00842eb3d6655649d32169a2a6586ed6fac1792e19d5a SHA512 7edecfa667b30584666be0a2dbcb2ac25a6764fa5b8db49ab421602ad20272eeab99ccff0b7c2f789c30a0425d80b774515b03c849e517451cbe597d37eb0247
diff --git a/dev-db/redis/files/configure.ac-7.0 b/dev-db/redis/files/configure.ac-7.0
new file mode 100644
index 00000000000..45397b33b7e
--- /dev/null
+++ b/dev-db/redis/files/configure.ac-7.0
@@ -0,0 +1,58 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.63)
+AC_INIT(redis, __PV__, antirez@gmail.com)
+AM_CFLAGS="-std=c99 -pedantic -Wall -W -D__EXTENSIONS__ -D_XPG6"
+if test x"$CFLAGS" = x""; then
+ AM_CFLAGS="$AM_CFLAGS -O2"
+else
+ AM_CFLAGS="$AM_CFLAGS $CFLAGS"
+fi
+
+# options
+AC_MSG_CHECKING([whether to build with debug information])
+AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+ [enable debug data generation (def=no)])],
+ [debugit="$enableval"],
+ [debugit=no])
+AC_MSG_RESULT([$debugit])
+
+if test x"$debugit" = x"yes"; then
+ AC_DEFINE([DEBUG],[],[Debug Mode])
+ AM_CFLAGS="$AM_CFLAGS -g -rdynamic -ggdb"
+else
+ AC_DEFINE([NDEBUG],[],[No-debug Mode])
+fi
+AC_SUBST([AM_CFLAGS])
+
+# Checks for programs.
+AC_PROG_CC
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_INLINE
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+
+# Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_STRCOLL
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([dup2 gethostbyname gettimeofday inet_ntoa memchr memmove memset select socket strcasecmp strchr strerror strstr strtol])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch b/dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch
new file mode 100644
index 00000000000..968fc865da8
--- /dev/null
+++ b/dev-db/redis/files/redis-5.0-luajit-2.1-fix.patch
@@ -0,0 +1,47 @@
+Backported from https://github.com/openresty/lua-cjson
+
+Upstream-commit: 638ac2741a7f ("optimize: improved forward-compatibility with older versions of Lua/LuaJIT.")
+Link: https://github.com/openresty/lua-cjson/commit/638ac2741a7f274979ac3fe2e1ea5fd6487702fe
+Upstream-PR: https://github.com/openresty/lua-cjson/pull/32
+See-also: https://www.freelists.org/post/luajit/ANN-LuaJIT210beta3,3
+
+diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
+index c26c0d7b8..af9e4ca54 100644
+--- a/deps/lua/src/lua_cjson.c
++++ b/deps/lua/src/lua_cjson.c
+@@ -1293,11 +1293,13 @@ static int json_decode(lua_State *l)
+ /* ===== INITIALISATION ===== */
+
+ #if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM < 502
+-/* Compatibility for Lua 5.1.
++/* Compatibility for Lua 5.1 and older LuaJIT.
+ *
+- * luaL_setfuncs() is used to create a module table where the functions have
+- * json_config_t as their first upvalue. Code borrowed from Lua 5.2 source. */
+-static void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup)
++ * compat_luaL_setfuncs() is used to create a module table where the functions
++ * have json_config_t as their first upvalue. Code borrowed from Lua 5.2
++ * source's luaL_setfuncs().
++ */
++static void compat_luaL_setfuncs(lua_State *l, const luaL_Reg *reg, int nup)
+ {
+ int i;
+
+@@ -1310,6 +1312,8 @@ static void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup)
+ }
+ lua_pop(l, nup); /* remove upvalues */
+ }
++#else
++#define compat_luaL_setfuncs(L, reg, nup) luaL_setfuncs(L, reg, nup)
+ #endif
+
+ /* Call target function in protected mode with all supplied args.
+@@ -1365,7 +1369,7 @@ static int lua_cjson_new(lua_State *l)
+
+ /* Register functions with config data as upvalue */
+ json_create_config(l);
+- luaL_setfuncs(l, reg, 1);
++ compat_luaL_setfuncs(l, reg, 1);
+
+ /* Set cjson.null */
+ lua_pushlightuserdata(l, NULL);
diff --git a/dev-db/redis/files/redis-5.0-sharedlua.patch b/dev-db/redis/files/redis-5.0-sharedlua.patch
deleted file mode 100644
index 3e14f41733b..00000000000
--- a/dev-db/redis/files/redis-5.0-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 773d3b2..2d120d4 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
-@@ -66,6 +66,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
-
- ifeq ($(uname_S),SunOS)
-@@ -107,7 +108,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@
-
- ifeq ($(MALLOC),tcmalloc)
- FINAL_CFLAGS+= -DUSE_TCMALLOC
-@@ -145,6 +146,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 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
-+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 anet.o ae.o crc64.o siphash.o crc16.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -196,7 +198,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/files/redis-7.0.4-no-which.patch b/dev-db/redis/files/redis-7.0.4-no-which.patch
new file mode 100644
index 00000000000..e8c775d8bce
--- /dev/null
+++ b/dev-db/redis/files/redis-7.0.4-no-which.patch
@@ -0,0 +1,66 @@
+--- a/runtest
++++ b/runtest
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/runtest-cluster
++++ b/runtest-cluster
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/runtest-moduleapi
++++ b/runtest-moduleapi
+@@ -4,7 +4,7 @@ TCLSH=""
+ [ -z "$MAKE" ] && MAKE=make
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/runtest-sentinel
++++ b/runtest-sentinel
+@@ -3,7 +3,7 @@ TCL_VERSIONS="8.5 8.6 8.7"
+ TCLSH=""
+
+ for VERSION in $TCL_VERSIONS; do
+- TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
++ TCL=`command -v tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
+ done
+
+ if [ -z $TCLSH ]
+--- a/utils/generate-module-api-doc.rb
++++ b/utils/generate-module-api-doc.rb
+@@ -164,7 +164,7 @@ end
+ # Populate the 'since' map (name => version) if we're in a git repo.
+ $since = {}
+ git_dir = File.dirname(__FILE__) ++ "/../.git"
+-if File.directory?(git_dir) && `which git` != ""
++if File.directory?(git_dir) && `comamnd -v git` != ""
+ `git --git-dir="#{git_dir}" tag --sort=v:refname`.each_line do |version|
+ next if version !~ /^(\d+)\.\d+\.\d+?$/ || $1.to_i < 4
+ version.chomp!
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -52,7 +52,7 @@ INSTALL=install
+ PKG_CONFIG?=pkg-config
+
+ ifndef PYTHON
+-PYTHON := $(shell which python3 || which python)
++PYTHON := $(shell command -v python3 || command -v python)
+ endif
+
+ # Default allocator defaults to Jemalloc if it's not an ARM
diff --git a/dev-db/redis/files/redis-sentinel.confd b/dev-db/redis/files/redis-sentinel.confd
deleted file mode 100644
index f465a5c3e91..00000000000
--- a/dev-db/redis/files/redis-sentinel.confd
+++ /dev/null
@@ -1,16 +0,0 @@
-# Redis-sentinel user.
-REDIS_SENTINEL_USER="redis"
-
-# Redis-sentinel group.
-REDIS_SENTINEL_GROUP="redis"
-
-# Redis-sentinel configuration file.
-REDIS_SENTINEL_CONF="/etc/sentinel.conf"
-
-# Redis-sentinel working directory.
-REDIS_SENTINEL_DIR="/tmp"
-
-# Specify the network service that corresponds to the "bind" setting
-# in your sentinel.conf. For example, if you bind to 127.0.0.1, this should
-# be set to "net.lo" which provides the loopback interface.
-rc_need="net.lo"
diff --git a/dev-db/redis/files/redis-sentinel.initd b/dev-db/redis/files/redis-sentinel.initd
deleted file mode 100644
index 6a22d08db69..00000000000
--- a/dev-db/redis/files/redis-sentinel.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDIS_SENTINEL_DIR:=/tmp}
-: ${REDIS_SENTINEL_CONF:=/etc/sentinel.conf}
-: ${REDIS_SENTINEL_USER:=redis}
-: ${REDIS_SENTINEL_GROUP:=redis}
-: ${REDIS_SENTINEL_TIMEOUT:=30}
-
-command="/usr/sbin/redis-sentinel"
-command_args="${REDIS_SENTINEL_CONF}"
-command_background="true"
-command_user="${REDIS_SENTINEL_USER}:${REDIS_SENTINEL_GROUP}"
-pidfile="/run/${RC_SVCNAME}.pid"
-retry="${REDIS_SENTINEL_TIMEOUT}"
-start_stop_daemon_args="--chdir \"${REDIS_SENTINEL_DIR}\""
-
-depend() {
- use localmount logger
- after keepalived redis
-}
diff --git a/dev-db/redis/files/redis.confd-r1 b/dev-db/redis/files/redis.confd-r1
deleted file mode 100644
index 1f4ff23f211..00000000000
--- a/dev-db/redis/files/redis.confd-r1
+++ /dev/null
@@ -1,20 +0,0 @@
-# Redis user.
-REDIS_USER="redis"
-
-# Redis group.
-REDIS_GROUP="redis"
-
-# Redis configuration file.
-REDIS_CONF="/etc/redis.conf"
-
-# Redis dump directory.
-REDIS_DIR="/var/lib/redis"
-
-# Redis options.
-# (Redis expects the first argument to be the configuration file.)
-REDIS_OPTS="${REDIS_CONF}"
-
-# Specify the network service that corresponds to the "bind" setting
-# in your redis.conf. For example, if you bind to 127.0.0.1, this should
-# be set to "net.lo" which provides the loopback interface.
-rc_need="net.lo"
diff --git a/dev-db/redis/files/redis.initd-5 b/dev-db/redis/files/redis.initd-5
deleted file mode 100644
index bfeeb6925ec..00000000000
--- a/dev-db/redis/files/redis.initd-5
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDIS_DIR:=/var/lib/redis}
-: ${REDIS_CONF:=/etc/redis.conf}
-: ${REDIS_OPTS:="${REDIS_CONF}"}
-: ${REDIS_USER:=redis}
-: ${REDIS_GROUP:=redis}
-: ${REDIS_TIMEOUT:=30}
-
-# https://bugs.gentoo.org/631002#c10
-# Force '--daemonize no' to override the config file
-command="/usr/sbin/redis-server"
-command_args="${REDIS_OPTS} --daemonize no"
-command_background="true"
-command_user="${REDIS_USER}:${REDIS_GROUP}"
-pidfile="/run/${RC_SVCNAME}.pid"
-retry="${REDIS_TIMEOUT}"
-start_stop_daemon_args="--chdir \"${REDIS_DIR}\""
-
-depend() {
- use localmount logger
- after keepalived
-}
diff --git a/dev-db/redis/files/redis.service-3 b/dev-db/redis/files/redis.service-3
deleted file mode 100644
index 1c733fcec17..00000000000
--- a/dev-db/redis/files/redis.service-3
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=A persistent key-value database
-After=syslog.target network.target
-
-[Service]
-Type=simple
-PIDFile=/run/redis/redis.pid
-ExecStart=/usr/sbin/redis-server /etc/redis.conf
-User=redis
-Group=redis
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/dev-db/redis/files/redis.tmpfiles b/dev-db/redis/files/redis.tmpfiles
deleted file mode 100644
index 657d8a551d4..00000000000
--- a/dev-db/redis/files/redis.tmpfiles
+++ /dev/null
@@ -1,2 +0,0 @@
-# redis runtime directory
-d /var/run/redis 0755 redis root -
diff --git a/dev-db/redis/metadata.xml b/dev-db/redis/metadata.xml
index 9810bc7e755..a48bd437f9f 100644
--- a/dev-db/redis/metadata.xml
+++ b/dev-db/redis/metadata.xml
@@ -1,13 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>arkamar@atlas.cz</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
<maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="tcmalloc">
Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations.
</flag>
</use>
+ <upstream>
+ <remote-id type="github">redis/redis</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/redis/redis-5.0.14.ebuild b/dev-db/redis/redis-5.0.14.ebuild
deleted file mode 100644
index 0d8391f0401..00000000000
--- a/dev-db/redis/redis-5.0.14.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic systemd toolchain-funcs tmpfiles
-
-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"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit selinux test"
-RESTRICT="!test? ( test )"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-COMMON_DEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( dev-lang/lua:5.1 )
- tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
-
-RDEPEND="
- ${COMMON_DEPEND}
- acct-group/redis
- acct-user/redis
- selinux? ( sec-policy/selinux-redis )"
-
-BDEPEND="
- ${COMMON_DEPEND}
- virtual/pkgconfig"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
- ${COMMON_DEPEND}
- test? ( dev-lang/tcl:0= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.3-config.patch
- "${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-5.0-sharedlua.patch
- "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
- "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-)
-
-src_prepare() {
- default
-
- # don't call ar directly
- sed -e '/^STLIB_MAKE_CMD/s/ar/$(AR)/g' \
- -i deps/hiredis/Makefile || die
-
- # Copy lua modules into build dir
- cp deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c src/ || die
- cp deps/lua/src/{fpconv,strbuf}.h 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 tcmalloc; then
- myconf="${myconf} USE_TCMALLOC=yes"
- elif use jemalloc; then
- myconf="${myconf} JEMALLOC_SHARED=yes"
- else
- myconf="${myconf} MALLOC=yes"
- fi
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-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
- newtmpfiles "${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
-}
-
-pkg_postinst() {
- tmpfiles_process redis.conf
-}
diff --git a/dev-db/redis/redis-6.0.16.ebuild b/dev-db/redis/redis-6.0.16.ebuild
index b5c13c94f4c..9c1f2e88c2d 100644
--- a/dev-db/redis/redis-6.0.16.ebuild
+++ b/dev-db/redis/redis-6.0.16.ebuild
@@ -11,7 +11,7 @@ EAPI=7
# because lua_open became lua_newstate in 5.2
LUA_COMPAT=( lua5-1 luajit )
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value and data structures database"
HOMEPAGE="https://redis.io"
@@ -60,14 +60,12 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.0.12-sharedlua.patch
"${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+ "${FILESDIR}"/${PN}-5.0-luajit-2.1-fix.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
@@ -94,7 +92,7 @@ src_prepare() {
# Use the correct pkgconfig name for Lua.
# The upstream configure script handles luajit specially, and is not
- # effected by these changes.
+ # affected by these changes.
sed -i \
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
@@ -133,18 +131,30 @@ src_compile() {
}
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'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+
+ # unstable on jemalloc, see https://github.com/gentoo/gentoo/pull/15924
+ --skiptest "Active defrag"
+ --skiptest "Active defrag big keys"
+ --skiptest "Active defrag big list"
+ --skiptest "Active defrag edge case"
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0 and it was later backported to 6.0.7
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-6.2.6.ebuild b/dev-db/redis/redis-6.2.6.ebuild
index 805967d1d7e..364e49a7adb 100644
--- a/dev-db/redis/redis-6.2.6.ebuild
+++ b/dev-db/redis/redis-6.2.6.ebuild
@@ -11,7 +11,7 @@ EAPI=7
# because lua_open became lua_newstate in 5.2
LUA_COMPAT=( lua5-1 luajit )
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value and data structures database"
HOMEPAGE="https://redis.io"
@@ -60,14 +60,12 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+ "${FILESDIR}"/${PN}-5.0-luajit-2.1-fix.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
@@ -94,7 +92,7 @@ src_prepare() {
# Use the correct pkgconfig name for Lua.
# The upstream configure script handles luajit specially, and is not
- # effected by these changes.
+ # affected by these changes.
sed -i \
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
@@ -133,18 +131,24 @@ src_compile() {
}
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'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-6.2.7-r1.ebuild b/dev-db/redis/redis-6.2.7-r1.ebuild
index 140726ba899..1539582edbb 100644
--- a/dev-db/redis/redis-6.2.7-r1.ebuild
+++ b/dev-db/redis/redis-6.2.7-r1.ebuild
@@ -14,7 +14,7 @@ LUA_COMPAT=( lua5-1 luajit )
# Upstream have deviated too far from vanilla Lua, adding their own APIs
# like lua_enablereadonlytable, but we still need the eclass and such
# for bug #841422.
-inherit autotools flag-o-matic systemd toolchain-funcs lua-single tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="https://redis.io"
@@ -22,7 +22,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
@@ -67,9 +67,6 @@ PATCHES=(
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
@@ -135,18 +132,24 @@ src_compile() {
}
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'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-7.0.0.ebuild b/dev-db/redis/redis-7.0.4.ebuild
index b77a78d5aea..773c003e309 100644
--- a/dev-db/redis/redis-7.0.0.ebuild
+++ b/dev-db/redis/redis-7.0.4.ebuild
@@ -3,18 +3,10 @@
EAPI=8
-# Redis does NOT build with Lua 5.2 or newer at this time:
-# - 5.3 and 5.4 give:
-# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
-# - 5.2 fails with:
-# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
-# because lua_open became lua_newstate in 5.2
-LUA_COMPAT=( lua5-1 luajit )
-
-# Upstream have deviated too far from vanilla Lua, adding their own APIs
-# like lua_enablereadonlytable, but we still need the eclass and such
-# for bug #841422.
-inherit autotools flag-o-matic systemd toolchain-funcs lua-single tmpfiles
+# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
+# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
+
+inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="https://redis.io"
@@ -22,12 +14,11 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
- ${LUA_DEPS}
jemalloc? ( >=dev-libs/jemalloc-5.1:= )
ssl? ( dev-libs/openssl:0= )
systemd? ( sys-apps/systemd:= )
@@ -54,25 +45,19 @@ DEPEND="
ssl? ( dev-tcltk/tls )
)"
-REQUIRED_USE="?? ( jemalloc tcmalloc )
- ${LUA_REQUIRED_USE}"
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
PATCHES=(
"${FILESDIR}"/${PN}-6.2.1-config.patch
"${FILESDIR}"/${PN}-5.0-shared.patch
"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
"${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+ "${FILESDIR}"/${PN}-7.0.4-no-which.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"
@@ -92,21 +77,17 @@ src_prepare() {
makefiles+=" ${MKF}"
done
# autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+ cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
- # Use the correct pkgconfig name for Lua.
- # The upstream configure script handles luajit specially, and is not
- # affected by these changes.
sed -i \
- -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+ -e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
configure.ac || die "Sed failed for configure.ac"
eautoreconf
}
src_configure() {
- econf #$(use_with lua_single_target_luajit luajit)
+ econf
# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
# also, don't define ANSI/c99 for lua twice
@@ -135,18 +116,32 @@ src_compile() {
}
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'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+
+ --skiptest "Active defrag eval scripts" # see bug #851654
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "oom-score-adj related tests will be skipped." \
+ "They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ runtestargs+=(
+ # unit/oom-score-adj was introduced in version 6.2.0
+ --skipunit unit/oom-score-adj # see bug #756382
+
+ # Following test was added in version 7.0.0 to unit/introspection.
+ # It also tries to adjust OOM score.
+ --skiptest "CONFIG SET rollback on apply error"
+ )
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
@@ -168,7 +163,7 @@ src_install() {
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
- dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+ dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
dobin src/redis-cli
dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
diff --git a/dev-db/rqlite/Manifest b/dev-db/rqlite/Manifest
index fd8f9441f23..575c1849fac 100644
--- a/dev-db/rqlite/Manifest
+++ b/dev-db/rqlite/Manifest
@@ -1,2 +1,8 @@
DIST rqlite-7.4.0-deps.tar.xz 57459940 BLAKE2B 665656a3a488dd17e9d3e08cd020237eaec26bfbca62e96308c29a8781f90cfcda31f1cc1cc36a6056e65c8cd2a4dd68d329bc0f87f33188e2a6d6eb4dc4bcf5 SHA512 82e7e861661110563f7743596ca29a1e81cb61edbe0088d50cf58b419111ee5ffbe8f3d5716c14e67fcaa685c53b3903d2a3b075d61708bf320535b8addaeb8a
DIST rqlite-7.4.0.tar.gz 457065 BLAKE2B 32232537da4561abfa792dac04eaa25ffd616da49dab7bcf03e5c861cf0b77c214c8cdce8c8ac79dce0df61932eefbbf0dcb3c26f04b5aba24b39cec07c48a23 SHA512 9c5b9cfc3d6f79001b562d3f1717879f377e5b190dcfd96b3f983a40ca3a649b1dc9389970abf8136a344a0b6da84a3e8abd20022a351cf6f1c1f51185df315a
+DIST rqlite-7.5.0-deps.tar.xz 81867772 BLAKE2B 5cd6f9cebccfa5c7144f73ba2d53ed297dcaa669dfdbfaeedb05f1906a4c2401cd637a19fa3732cfcafb7d7c5b339dc0548c1a0276160dc601cd432d7c1c7cd2 SHA512 e2c811fc1f4f1b74a0282050947b3960b22e8188ab2e4aa3edc3d364d9b159d85d9b7fd76d972309c393a909ce687a712c8b0134fff1ef49d77a7d6b1b25e432
+DIST rqlite-7.5.0.tar.gz 465489 BLAKE2B 4159b3f3a1e34724acbef05aea7ca06a8f61c0b6f0bed860c063232d0c0c00bd450fea3977764c7da5ef4ca67d80bb25af7417196e9474e0d1f5457930ebe09d SHA512 970c9e1e861e4d5bcbfa0e1fad4b6937651bf60b87fec2d8f39eb2083fc87f706ff6da3de77e89e568e5288bfa189947924c0441d0cbc2eae014b54c7bb25394
+DIST rqlite-7.5.1-deps.tar.xz 82045440 BLAKE2B 795e99463d803620ff9a0b98462b60a3bbac2a6f7e97277b8ea81276157a7ac433ac9c2d3e92b47927650f71199ab4017d11073fbfaaafd8a2d9333dbabca3dc SHA512 2ddb4449fc7177328379fb886da19bf85889eece24c2e5d64a7e435acd6b1a0b15c7397ff9acfd34b4f48c4975b0938a2810f6d24942eb14710bb77760d592ac
+DIST rqlite-7.5.1.tar.gz 465499 BLAKE2B 9b88118d2ab776dcc60858533b90ad1eefbf89b4a810ad2f060d449ebaefaeb16382e6f7ff434e5ffcf1e641b49b96617a99e7ed5592ffc0b05e014668d2e2fc SHA512 355ef56be32847d02520ff57d43861cc3c4023ccd55c2600efc51af82f83fa3dfd09dfba53b4ca2e159a68f1d065c4f77d03b4f6da7e107d25f8edad733f39c8
+DIST rqlite-7.6.0.tar.gz 466441 BLAKE2B e14234fdbb7b4c92d0ded3f250b18e72d75ead3f1c11ee13a09a46876ec0369b58f67d069109d47cea8f7147a05cbf8c4776700301fc68de42196d180ca8cca0 SHA512 79a70617c258d7864a1c64f74bacb221a1b325b52fbd4b21fed03076386c76b9e81a5cd3a766eeea0b5379355e6222fc77de2e197a31950eb8293bd4514f0599
+DIST rqlite-7.6.1.tar.gz 468911 BLAKE2B 3d39bc4ea499c38566a8fc65f16fafaa83709e34193014cf4015c4d7343ff1d00fcdf7621e76298c32f00343fac61d5bfa0369a9e1375ab1d19007fe7f05693e SHA512 487e5656b8ad0dc24db5fb450baeaf22802e4200c79eb8ed67d2acf80304d3bc5837ba1501741c43005b26892cc5e7e18d0026ee45467eb76adb27b898dfaf45
diff --git a/dev-db/rqlite/rqlite-7.5.0.ebuild b/dev-db/rqlite/rqlite-7.5.0.ebuild
new file mode 100644
index 00000000000..20c36e63ddb
--- /dev/null
+++ b/dev-db/rqlite/rqlite-7.5.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+EGIT_COMMIT=3fa6c506726962bff3db4a9956f2bc662b77a12e
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/rqlite/rqlite-7.5.1.ebuild b/dev-db/rqlite/rqlite-7.5.1.ebuild
new file mode 100644
index 00000000000..dcde115025a
--- /dev/null
+++ b/dev-db/rqlite/rqlite-7.5.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+EGIT_COMMIT=b1515fd95f046e0f0a050aaf53c34fb116c0ffe0
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/rqlite/rqlite-7.6.0.ebuild b/dev-db/rqlite/rqlite-7.6.0.ebuild
new file mode 100644
index 00000000000..a55f4223f8f
--- /dev/null
+++ b/dev-db/rqlite/rqlite-7.6.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+EGIT_COMMIT=7f6acb95cc9473d199bd4212ad7776c9df14b41a
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/rqlite-7.5.1-deps.tar.xz"
+
+LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/rqlite/rqlite-7.6.1.ebuild b/dev-db/rqlite/rqlite-7.6.1.ebuild
new file mode 100644
index 00000000000..b5c096f3753
--- /dev/null
+++ b/dev-db/rqlite/rqlite-7.6.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+EGIT_COMMIT=697782280fc22ccf66c23693bb0a235538664257
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/rqlite-7.5.1-deps.tar.xz"
+
+LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/sqlcl-bin/Manifest b/dev-db/sqlcl-bin/Manifest
index 5705c6590a2..c5d4405608a 100644
--- a/dev-db/sqlcl-bin/Manifest
+++ b/dev-db/sqlcl-bin/Manifest
@@ -1 +1 @@
-DIST sqlcl-22.1.1.131.0820.zip 40620046 BLAKE2B f09898832eba3ae3f371c7535c589a9cbf83f5caa6a91c4af0df0ad8348819686a633459ff680b58c215bfaf163eb6fc5e9faa00ad128a4cc4309f41986134e8 SHA512 a2af4737dc892676f302869301d1ebbb0fbcf2633e574f75e697abe37d84ba8b70879f85ebe71960c4376f6f17db0752b71358aa563c054fb3a80fd33468136d
+DIST sqlcl-22.2.0.172.1718.zip 41321573 BLAKE2B 43e5413a07de69f5cddad8825b71957c44f0e9f6126f05206b9c3528fb66fa91fe1097eab57c76b9e733c55651444b4f1b9c7bc1c30c0e33fc3df20026272878 SHA512 107c40074b3bc1e73cc174fd5758140cedb652447c2adaecc3f4820f0a777ce1c43c16fe9551a1516245008f3a5ee74404a5da2d424e6e9d63db127e71492514
diff --git a/dev-db/sqlcl-bin/sqlcl-bin-22.1.1.131.0820.ebuild b/dev-db/sqlcl-bin/sqlcl-bin-22.2.0.172.1718.ebuild
index 9788f57e0b2..9788f57e0b2 100644
--- a/dev-db/sqlcl-bin/sqlcl-bin-22.1.1.131.0820.ebuild
+++ b/dev-db/sqlcl-bin/sqlcl-bin-22.2.0.172.1718.ebuild
diff --git a/dev-db/sqldeveloper/Manifest b/dev-db/sqldeveloper/Manifest
index 014afef5416..a9296c07880 100644
--- a/dev-db/sqldeveloper/Manifest
+++ b/dev-db/sqldeveloper/Manifest
@@ -1,2 +1 @@
-DIST sqldeveloper-21.4.3.063.0100-no-jre.zip 469919055 BLAKE2B 402fbb25c44c2205db1f8ecf3649028aee01d00f73c8f45cf4f415f42d1c507f9f4b5b23b6068165d7667897e1c314272f583dc6da02e70660c64422acee08c9 SHA512 4ab25d596ad383c4d09f315f3a9c43c285a36528e544b8052b8cc5cbed0c13fcd68ad12f660dc66ec087c7044accde6cdfac48518a86bc9c4cb2b89a8bb621fd
-DIST sqldeveloper-4.2.0.17.089.1709-no-jre.zip 348604841 BLAKE2B 0c3adff04f148102e6460c7550f787329c7e5a69aca0b81c2de4725b9c9ea27c03bb2f588671a95371aa3612839805f2042855b443bb5635c70d0e0b2140295b SHA512 4d1e270376ae125a60146228e35fcb2cb615d593c0e9f2ca98e4deef4d8fd1ddff59cf15064d63e33e77125f49e8da9fe317ed1fd96a9b00a699bf6c5e739874
+DIST sqldeveloper-22.2.0.173.2018-no-jre.zip 507930198 BLAKE2B 51c22825b7774d61ca5006150fa8566f35f03a64a755a2602c1aba9613f1d22e5efe9c46aa9b0d8295f349e980e9a0af115e39e8faa9bded4e154d8619f9b5f8 SHA512 daa3be1d20ed7a44e1f2a5e3e86166c6ea27050aceb0fe2ec46ade8557d68c8fc2c56c19e2d7a37c80005a0ac8040f3f7b0f9fd8345284e6615c616d36462627
diff --git a/dev-db/sqldeveloper/files/sqldeveloper b/dev-db/sqldeveloper/files/sqldeveloper
deleted file mode 100644
index eba773e1026..00000000000
--- a/dev-db/sqldeveloper/files/sqldeveloper
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# skip their stupid [ -f `which java` ] test, which will always fail on Gentoo
-export APP_SKIP_J2SE_TEST=1
-export JAVA_HOME=$(java-config -o)
-
-cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $@
diff --git a/dev-db/sqldeveloper/sqldeveloper-21.4.3.063.0100.ebuild b/dev-db/sqldeveloper/sqldeveloper-22.2.0.173.2018.ebuild
index a6c582ff187..98ac3b35566 100644
--- a/dev-db/sqldeveloper/sqldeveloper-21.4.3.063.0100.ebuild
+++ b/dev-db/sqldeveloper/sqldeveloper-22.2.0.173.2018.ebuild
@@ -19,8 +19,8 @@ KEYWORDS="-* ~amd64"
IUSE="mssql mysql postgres sybase"
RDEPEND="
- <dev-java/openjdk-17:*[javafx]
- >=virtual/jre-1.8:*
+ dev-java/openjdk:11[javafx]
+ virtual/jre:11
mssql? ( dev-java/jtds:1.3 )
mysql? ( dev-java/jdbc-mysql:0 )
postgres? ( dev-java/jdbc-postgresql:0 )
@@ -36,7 +36,7 @@ QA_PREBUILT="
pkg_nofetch() {
einfo "Please go to"
- einfo " ${HOMEPAGE}"
+ einfo " https://www.oracle.com/tools/downloads/sqldev-downloads.html"
einfo "and download"
einfo " Oracle SQL Developer for other platforms"
einfo " ${SRC_URI}"
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
deleted file mode 100644
index 4bac238ce42..00000000000
--- a/dev-db/sqldeveloper/sqldeveloper-4.2.0.17.089.1709.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils java-pkg-2
-
-DESCRIPTION="Oracle SQL Developer is a graphical tool for database development"
-HOMEPAGE="http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html"
-SRC_URI="${P}-no-jre.zip"
-
-RESTRICT="fetch"
-
-LICENSE="OTN"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="mssql mysql sybase"
-
-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
- ${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-QA_PREBUILT="
-opt/${PN}/netbeans/platform/modules/lib/amd64/linux/*.so
-opt/${PN}/netbeans/platform/modules/lib/i386/linux/*.so
-"
-
-pkg_nofetch() {
- eerror "Please go to"
- eerror " ${HOMEPAGE}"
- eerror "and download"
- eerror " Oracle SQL Developer for other platforms"
- eerror " ${SRC_URI}"
- eerror "and move it to your DISTDIR directory."
-}
-
-src_prepare() {
- # we don't need these, do we?
- find ./ \( -iname "*.exe" -or -iname "*.dll" -or -iname "*.bat" \) -exec rm {} +
-
- # they both use jtds, enabling one of them also enables the other one
- if use mssql && ! use sybase; then
- einfo "You requested MSSQL support, this also enables Sybase support."
- fi
- if use sybase && ! use mssql; then
- einfo "You requested Sybase support, this also enables MSSQL support."
- fi
-
- if use mssql || use sybase; then
- echo "AddJavaLibFile $(java-pkg_getjars jtds-1.3)" >> sqldeveloper/bin/sqldeveloper.conf || die
- fi
-
- if use mysql; then
- echo "AddJavaLibFile $(java-pkg_getjars jdbc-mysql)" >> sqldeveloper/bin/sqldeveloper.conf || die
- fi
-}
-
-src_install() {
- dodir /opt/${PN}
- # NOTE For future version to get that line (what to copy) go to the unpacked sources dir
- # using `bash` and press Meta+_ (i.e. Meta+Shift+-) -- that is a builtin bash feature ;-)
- cp -r {configuration,d{ataminer,ropins,vt},e{quinox,xternal},ide,j{avavm,d{bc,ev},lib,views},modules,netbeans,ords,rdbms,s{leepycat,ql{developer,j},vnkit}} \
- "${D}"/opt/${PN}/ || die "Install failed"
-
- newbin "${FILESDIR}"/${PN}-r1 ${PN}
-
- newicon icon.png ${PN}-32x32.png
- make_desktop_entry ${PN} "Oracle SQL Developer" ${PN}-32x32
-
- # This is normally called automatically by java-pkg_dojar, which
- # hasn't been used above. We need to create package.env to help the
- # launcher select the correct VM.
- java-pkg_do_write_
-}
-
-pkg_postinst() {
- # this temporary fixes FileNotFoundException with datamodeler
- # this is more like a workaround than permanent fix
- mkdir -p /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log || die
- touch /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log || die
- chmod -R 1777 /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log || die
-
- # this fixes another datamodeler FileNotFoundException
- # also more like a workaround than permanent fix
- chmod 1777 /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/types/dr_custom_scripts.xml || die
-
- echo
- einfo "If you want to use the TNS connection type you need to set up the"
- einfo "TNS_ADMIN environment variable to point to the directory your"
- einfo "tnsnames.ora resides in."
- echo
-}
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 75ed260461b..26d53697bbc 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,6 +1,2 @@
-DIST sqlite-doc-3380200.zip 10620764 BLAKE2B 81f7e7b9aef37bdae133c4d7dc517d2040d8202a7e0cdf00180d3abe3fb677c80dbc1987e437f0d0f34f47c61f09a7c9d664ba42af976ecfb24555590bb22087 SHA512 b54372ff788aa42b2138c6de91c42c4f6a6440623de3679f08b0519c5c20d9d865c60fa63223c60f4374ff5badb800d6f209e75abb280b9815902757424faf0b
-DIST sqlite-doc-3380300.zip 10626490 BLAKE2B 7f1c2ff11ed4ba4748c35fcd72bedec5ce1ca68d87d00839f0a5f512c7309cf1c60678c0a0d8aecf07dc521c2240acdf1262f47ff3000b95e4953e095f2ec8f2 SHA512 4c30860b6ff0ba8c9455ea037cdda642bab2c1070e8726411ee51046b442f333623ce9c810d1d028a49ce571e6cc4afe363c643e90ba59463e84bb39298c4ad3
-DIST sqlite-doc-3380500.zip 10640188 BLAKE2B d831b672879a07e700c4d19bb97435cfc3aabc2371fd1b7f9e2257d1d53edaba72d974816d509fa60dbc7feaddf4b4f64c6bc061da4945aecab7be463951cb0c SHA512 1f8520e8b06cac97a3cd532d105be847b864d4d51ff2d8ab92c62b369e2e662aa477808e566e334a9103e31b84c119050b92ab6f0ef6d5d68db4d49bf2dd8182
-DIST sqlite-src-3380200.zip 13242285 BLAKE2B a07f895f57c355e2ec1c96fc857b63d774ff52f7e49c22b1c936b260e6e7787ec656059c02cc6d38845c4368507067d86dac493559541fbb914a3da9cbc67cce SHA512 fd457602db4577b31bc6053fd3cceb220337275e3fd26976f4270fb8a7da4fa047ca23dd18e2795cdfd894d05bad4c53954a81391d71507d359fb224995e420a
-DIST sqlite-src-3380300.zip 13244116 BLAKE2B d28c26a72729b49fac009e835068a15cb14b13bcef5e2d45a94929f22329002cbbf09ff9926a7cb041d1bcbd6fb9ebac784cce06196d29a9b9bf56f97645553e SHA512 d0605148931db62d167080e384d058e87452409fcb3ce366603e6eec8e2f68754259ce217c26e641401d5b0ae7714efd45fc4a881671db37597f2f027cd7da51
-DIST sqlite-src-3380500.zip 13245057 BLAKE2B d2deefbc918ab593146950c21047dbd94168d09150ffe00da20e4ee6b02f69516b496b14e1925b00ace8a4148b87bfb263a97d75ab48990e29e12796387fee5f SHA512 d91f060165354ff4b32a72627c16b6d2310d478768794a49eef57229d7199d83f951444fdc0725acf8d2565ef61a9c7921e9c965f429b018b6fd23d129b6e630
+DIST sqlite-doc-3390200.zip 10683207 BLAKE2B 745aedf0c71da6c0d802aed2b64b6e10ef57f4a72210b12276a3019ccc5408bef537ad93c64eb972a7f24117df5780e35f75246d2ba9cd74c4537588eb6cba3c SHA512 54b9e632244b95ebf35fcaa5ce9c02381601eb442eec2ec2a809a7fe24d2cfed751581bb82fd243aaede2c935864da39fd1f1685e762826dd76fc754c7f79c0b
+DIST sqlite-src-3390200.zip 13403722 BLAKE2B 24ab8cfe5fda267c7a90939875e87bc9f9914f2690f195c21ff2b774ba83a7d6914f57648cf618fd79b37e54ad85121f86310a733a87e6c76bf729716a937d02 SHA512 a838386a48654391590ea0e1cb355d29f6f93033c3e582df7c63139adaf5119dd5a1550e913dbad0d3eafb0bfa03c4fc6dc48a334d9c45ffb8a7205a528b38f1
diff --git a/dev-db/sqlite/metadata.xml b/dev-db/sqlite/metadata.xml
index 1446d7cf26b..60dcd6c085d 100644
--- a/dev-db/sqlite/metadata.xml
+++ b/dev-db/sqlite/metadata.xml
@@ -13,5 +13,6 @@
</use>
<upstream>
<remote-id type="cpe">cpe:/a:sqlite:sqlite</remote-id>
+ <remote-id type="github">sqlite/sqlite</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/sqlite/sqlite-3.38.5.ebuild b/dev-db/sqlite/sqlite-3.38.5.ebuild
deleted file mode 100644
index c69a893b551..00000000000
--- a/dev-db/sqlite/sqlite-3.38.5.ebuild
+++ /dev/null
@@ -1,436 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" != "9999" ]]; then
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
- DOC_PV="${SRC_PV}"
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
-fi
-
-DESCRIPTION="SQL database engine"
-HOMEPAGE="https://sqlite.org/"
-
-# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
-# for hints regarding test failures, backports, etc.
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://sqlite.org/2022/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2022/${PN}-doc-${DOC_PV}.zip )"
-fi
-
-LICENSE="public-domain"
-SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-if [[ "${PV}" == "9999" ]]; then
- PROPERTIES="live"
-fi
-RESTRICT="!test? ( test )"
-
-if [[ "${PV}" == "9999" ]]; then
- BDEPEND=">=dev-lang/tcl-8.6:0
- dev-vcs/fossil"
-else
- BDEPEND="app-arch/unzip
- >=dev-lang/tcl-8.6:0"
-fi
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-
-if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
-else
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
-fi
-
-_fossil_fetch() {
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local repo_id="${1}"
- local repo_uri="${2}"
-
- local -x FOSSIL_HOME="${HOME}"
-
- mkdir -p "${T}/fossil/${repo_id}" || die
- pushd "${T}/fossil/${repo_id}" > /dev/null || die
-
- if [[ -n "${EVCS_OFFLINE}" ]]; then
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
- fi
- else
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
- fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
- echo
- else
- cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
- einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
- fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
- echo
- fi
-
- (
- addwrite "${distdir}"
- mkdir -p "${distdir}/fossil-src/${repo_id}" || die
- cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
- )
- fi
-
- popd > /dev/null || die
-}
-
-_fossil_checkout() {
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
- local repo_id="${1}"
- local branch_or_commit="${2}"
- local target_directory="${3}"
-
- local -x FOSSIL_HOME="${HOME}"
-
- if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
- die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
- fi
-
- if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
- mkdir -p "${T}/fossil/${repo_id}" || die
- cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
- fi
-
- mkdir "${target_directory}" || die
- pushd "${target_directory}" > /dev/null || die
-
- einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
- fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
- echo
-
- popd > /dev/null || die
-}
-
-fossil_fetch() {
- local repo_id="${1}"
- local repo_uri="${2}"
- local target_directory="${3}"
-
- local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
-
- _fossil_fetch "${repo_id}" "${repo_uri}"
- _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
-}
-
-src_unpack() {
- if [[ "${PV}" == "9999" ]]; then
- fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
- if use doc; then
- fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
- fi
- else
- default
- fi
-}
-
-src_prepare() {
- eapply_user
-
- eautoreconf
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
- local options=()
-
- options+=(
- --enable-load-extension
- --enable-threadsafe
- )
-
- # Support detection of misuse of SQLite API.
- # https://sqlite.org/compile.html#enable_api_armor
- append-cppflags -DSQLITE_ENABLE_API_ARMOR
-
- # Support bytecode and tables_used virtual tables.
- # https://sqlite.org/compile.html#enable_bytecode_vtab
- # https://sqlite.org/bytecodevtab.html
- append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
-
- # Support column metadata functions.
- # https://sqlite.org/compile.html#enable_column_metadata
- # https://sqlite.org/c3ref/column_database_name.html
- append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
-
- # Support sqlite_dbpage virtual table.
- # https://sqlite.org/compile.html#enable_dbpage_vtab
- # https://sqlite.org/dbpage.html
- append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
-
- # Support dbstat virtual table.
- # https://sqlite.org/compile.html#enable_dbstat_vtab
- # https://sqlite.org/dbstat.html
- append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
-
- # Support sqlite3_serialize() and sqlite3_deserialize() functions.
- # https://sqlite.org/compile.html#enable_deserialize
- # https://sqlite.org/c3ref/serialize.html
- # https://sqlite.org/c3ref/deserialize.html
- append-cppflags -DSQLITE_ENABLE_DESERIALIZE
-
- # Support comments in output of EXPLAIN.
- # https://sqlite.org/compile.html#enable_explain_comments
- append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
-
- # Support Full-Text Search versions 3, 4 and 5.
- # https://sqlite.org/compile.html#enable_fts3
- # https://sqlite.org/compile.html#enable_fts3_parenthesis
- # https://sqlite.org/compile.html#enable_fts4
- # https://sqlite.org/compile.html#enable_fts5
- # https://sqlite.org/fts3.html
- # https://sqlite.org/fts5.html
- append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
- options+=(--enable-fts5)
-
- # Support hidden columns.
- append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
-
- # Support memsys5 memory allocator.
- # https://sqlite.org/compile.html#enable_memsys5
- # https://sqlite.org/malloc.html#memsys5
- append-cppflags -DSQLITE_ENABLE_MEMSYS5
-
- # Support sqlite3_normalized_sql() function.
- # https://sqlite.org/c3ref/expanded_sql.html
- append-cppflags -DSQLITE_ENABLE_NORMALIZE
-
- # Support sqlite_offset() function.
- # https://sqlite.org/compile.html#enable_offset_sql_func
- # https://sqlite.org/lang_corefunc.html#sqlite_offset
- append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
-
- # Support pre-update hook functions.
- # https://sqlite.org/compile.html#enable_preupdate_hook
- # https://sqlite.org/c3ref/preupdate_count.html
- append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
-
- # Support Resumable Bulk Update extension.
- # https://sqlite.org/compile.html#enable_rbu
- # https://sqlite.org/rbu.html
- append-cppflags -DSQLITE_ENABLE_RBU
-
- # Support R*Trees.
- # https://sqlite.org/compile.html#enable_rtree
- # https://sqlite.org/compile.html#enable_geopoly
- # https://sqlite.org/rtree.html
- # https://sqlite.org/geopoly.html
- append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
-
- # Support Session extension.
- # https://sqlite.org/compile.html#enable_session
- # https://sqlite.org/sessionintro.html
- append-cppflags -DSQLITE_ENABLE_SESSION
-
- # Support scan status functions.
- # https://sqlite.org/compile.html#enable_stmt_scanstatus
- # https://sqlite.org/c3ref/stmt_scanstatus.html
- # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
- append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
-
- # Support sqlite_stmt virtual table.
- # https://sqlite.org/compile.html#enable_stmtvtab
- # https://sqlite.org/stmt.html
- append-cppflags -DSQLITE_ENABLE_STMTVTAB
-
- # Support unknown() function.
- # https://sqlite.org/compile.html#enable_unknown_sql_function
- append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-
- # Support unlock notification.
- # https://sqlite.org/compile.html#enable_unlock_notify
- # https://sqlite.org/c3ref/unlock_notify.html
- # https://sqlite.org/unlock_notify.html
- append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
-
- # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
- # https://sqlite.org/compile.html#enable_update_delete_limit
- # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
- # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
- append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
-
- # Support soundex() function.
- # https://sqlite.org/compile.html#soundex
- # https://sqlite.org/lang_corefunc.html#soundex
- append-cppflags -DSQLITE_SOUNDEX
-
- # Support URI filenames.
- # https://sqlite.org/compile.html#use_uri
- # https://sqlite.org/uri.html
- append-cppflags -DSQLITE_USE_URI
-
- # debug USE flag.
- options+=($(use_enable debug))
-
- # icu USE flag.
- if use icu; then
- # Support ICU extension.
- # https://sqlite.org/compile.html#enable_icu
- append-cppflags -DSQLITE_ENABLE_ICU
- sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
- fi
-
- # readline USE flag.
- options+=(
- --disable-editline
- $(use_enable readline)
- )
- if use readline; then
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
- fi
-
- # secure-delete USE flag.
- if use secure-delete; then
- # Enable secure_delete pragma by default.
- # https://sqlite.org/compile.html#secure_delete
- # https://sqlite.org/pragma.html#pragma_secure_delete
- append-cppflags -DSQLITE_SECURE_DELETE
- fi
-
- # static-libs USE flag.
- options+=($(use_enable static-libs static))
-
- # tcl, test, tools USE flags.
- if use tcl || use test || { use tools && multilib_is_native_abi; }; then
- options+=(
- --enable-tcl
- --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
- )
- else
- options+=(--disable-tcl)
- fi
-
- if [[ "${ABI}" == "x86" ]]; then
- if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
- append-cflags -mfpmath=sse
- else
- append-cflags -ffloat-store
- fi
-
- # Skip known-broken test for now
- # https://sqlite.org/forum/forumpost/d97caf168f
- # https://sqlite.org/forum/forumpost/50f136d91d
- if use test ; then
- rm test/atof1.test || die
- fi
- fi
-
- econf "${options[@]}"
-}
-
-multilib_src_compile() {
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
-
- if use tools && multilib_is_native_abi; then
- emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
- fi
-
- if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
- emake tclsqlite3.c
-
- local build_directory="$(pwd)"
- build_directory="${build_directory##*/}"
-
- mkdir "${WORKDIR}/${PN}-doc-build" || die
- pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
-
- emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
- rmdir doc/matrix{/*,} || die
-
- popd > /dev/null || die
- fi
-}
-
-multilib_src_test() {
- if [[ "${EUID}" -eq 0 ]]; then
- ewarn "Skipping tests due to root permissions"
- return
- fi
-
- local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
-
- # e_uri.test tries to open files in /.
- # https://bugs.gentoo.org/839798
- local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
-
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
-
- if use tools && multilib_is_native_abi; then
- install_tool() {
- if [[ -f ".libs/${1}" ]]; then
- newbin ".libs/${1}" "${2}"
- else
- newbin "${1}" "${2}"
- fi
- }
-
- install_tool changeset sqlite3-changeset
- install_tool dbdump sqlite3-db-dump
- install_tool dbhash sqlite3-db-hash
- install_tool dbtotxt sqlite3-db-to-txt
- install_tool index_usage sqlite3-index-usage
- install_tool rbu sqlite3-rbu
- install_tool scrub sqlite3-scrub
- install_tool showdb sqlite3-show-db
- install_tool showjournal sqlite3-show-journal
- install_tool showshm sqlite3-show-shm
- install_tool showstat4 sqlite3-show-stat4
- install_tool showwal sqlite3-show-wal
- install_tool sqldiff sqlite3-diff
- install_tool sqlite3_analyzer sqlite3-analyzer
- install_tool sqlite3_checker sqlite3-checker
- install_tool sqlite3_expert sqlite3-expert
- install_tool sqltclsh sqlite3-tclsh
-
- unset -f install_tool
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
-
- doman sqlite3.1
-
- if use doc; then
- if [[ "${PV}" == "9999" ]]; then
- pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
- else
- pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
- fi
-
- find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
- if [[ "${PV}" != "9999" ]]; then
- rm search search.d/admin || die
- rmdir search.d || die
- find -name "*~" -delete || die
- fi
-
- (
- docinto html
- dodoc -r *
- )
-
- popd > /dev/null || die
- fi
-}
diff --git a/dev-db/sqlite/sqlite-3.38.2.ebuild b/dev-db/sqlite/sqlite-3.39.2.ebuild
index a2eb7c1e987..a2eb7c1e987 100644
--- a/dev-db/sqlite/sqlite-3.38.2.ebuild
+++ b/dev-db/sqlite/sqlite-3.39.2.ebuild
diff --git a/dev-db/sqlite/sqlite-3.38.3.ebuild b/dev-db/sqlite/sqlite-9999.ebuild
index c69a893b551..89f000f4934 100644
--- a/dev-db/sqlite/sqlite-3.38.3.ebuild
+++ b/dev-db/sqlite/sqlite-9999.ebuild
@@ -21,11 +21,11 @@ if [[ "${PV}" == "9999" ]]; then
else
SRC_URI="https://sqlite.org/2022/${PN}-src-${SRC_PV}.zip
doc? ( https://sqlite.org/2022/${PN}-doc-${DOC_PV}.zip )"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
if [[ "${PV}" == "9999" ]]; then
PROPERTIES="live"
diff --git a/dev-db/sqlitestudio/Manifest b/dev-db/sqlitestudio/Manifest
index 3f2d35cbdf6..7c5ddd701a4 100644
--- a/dev-db/sqlitestudio/Manifest
+++ b/dev-db/sqlitestudio/Manifest
@@ -1 +1,2 @@
DIST sqlitestudio-3.2.1.tar.gz 9405867 BLAKE2B 53cd8465a6140cf17c602094cceef2fdf74f513f33257b22e1a3d7adcb9c78d8eb2cdaff047920836a9d98429ba0025924ce608f2eab97319feabf063de4c9ee SHA512 9c07f0dc50bf35ad04d0cb06cfc1a306d3f0aa9446e7d737c8187c63cb7dd2c44fb4b960693f2c30a15ece3aac0878701874a9ce3cebfe0c6bf48df10814a574
+DIST sqlitestudio-3.3.3.tar.gz 8863232 BLAKE2B 1dfa74ab405ec057090f87726c3562470de4c1fd7b97c0fbc3e3fb4b3c8413825ec1884ac8bc9cb86e0d3d64b42af323a46ae4aa324de98c1dc8e967a4eb0d35 SHA512 1b92b06dbca3b5ee051d2582345c0e9a0a3cbd2cbbde0c6b9b18f75ca30140c777746fc9d35a3c314c13d99300dbe8d9bbd313b2ae4cb069b8e81446b27e982f
diff --git a/dev-db/sqlitestudio/sqlitestudio-3.3.3.ebuild b/dev-db/sqlitestudio/sqlitestudio-3.3.3.ebuild
new file mode 100644
index 00000000000..401c8f8bec3
--- /dev/null
+++ b/dev-db/sqlitestudio/sqlitestudio-3.3.3.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PLOCALES="de es fr it pl pt_BR ro_RO ru sk zh_CN"
+inherit desktop plocale toolchain-funcs qmake-utils xdg
+
+DESCRIPTION="Powerful cross-platform SQLite database manager"
+HOMEPAGE="https://sqlitestudio.pl"
+SRC_URI="https://github.com/pawelsalawa/sqlitestudio/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cli cups tcl test"
+
+REQUIRED_USE="test? ( cli )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtscript:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ cli? (
+ sys-libs/readline:=
+ sys-libs/ncurses:=
+ )
+ cups? ( dev-qt/qtprintsupport:5 )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-qt/designer:5
+ dev-qt/qtconcurrent:5
+ test? ( dev-qt/qttest:5 )
+"
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+
+core_build_dir="${S}/output/build"
+plugins_build_dir="${core_build_dir}/Plugins"
+
+src_prepare() {
+ default
+
+ sed -i -e 's/linux|portable/portable/' SQLiteStudio3/sqlitestudio/sqlitestudio.pro || die
+
+ # bug #838325
+ sed -i -e "s:-lcurses:$($(tc-getPKG_CONFIG) --libs ncurses):" SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro || die
+
+ disable_modules() {
+ [[ $# -lt 2 ]] && die "not enough arguments"
+
+ local pro="$1"; shift
+ local modules="${@}"
+
+ sed -r -i \
+ -e 's/('${modules// /|}')[[:space:]]*(\\?)/\2/' \
+ ${pro} || die
+ }
+
+ use cli || disable_modules SQLiteStudio3/SQLiteStudio3.pro cli
+
+ local mod_lst=( DbSqlite2 )
+ use cups || mod_lst+=( Printing )
+ use tcl || mod_lst+=( ScriptingTcl )
+ disable_modules Plugins/Plugins.pro ${mod_lst[@]}
+
+ local mylrelease="$(qt5_get_bindir)"/lrelease
+ local ts_dir_lst=$(find * -type f -name "*.qm" -printf '%h\n' | sort -u)
+ local ts_pro_lst=$(find * -type f -name "*.pro" -exec grep -l 'TRANSLATIONS' {} \;)
+ local ts_qrc_lst=$(find * -type f -name "*.qrc" -exec grep -l '\.qm' {} \;)
+
+ # delete all "*.qm"
+ for ts_dir in ${ts_dir_lst[@]}; do
+ rm "${ts_dir}"/*.qm || die
+ done
+
+ lrelease_locale() {
+ for ts_dir in ${ts_dir_lst[@]}; do
+ local ts=$(find "${ts_dir}" -type f -name "*${1}.ts" || continue)
+ "${mylrelease}" "${ts}" || die "preparing ${1} locale failed"
+ done
+ }
+
+ rm_locale() {
+ for ts_pro in ${ts_pro_lst[@]}; do
+ sed -i -r -e 's/[^[:space:]]*'${1}'\.ts//' \
+ ${ts_pro} || die
+ done
+
+ for ts_qrc in ${ts_qrc_lst[@]}; do
+ sed -i -e '/'${1}'\.qm/d' \
+ ${ts_qrc} || die
+ done
+ }
+
+ local ts_dir_main="SQLiteStudio3/sqlitestudio/translations"
+ plocale_find_changes ${ts_dir_main} "sqlitestudio_" '.ts'
+ plocale_for_each_locale lrelease_locale
+ plocale_for_each_disabled_locale rm_locale
+
+ # prevent "multilib-strict check failed" with USE test
+ sed -i -e 's/\(target.*usr\/\)lib/\1'$(get_libdir)'/' \
+ SQLiteStudio3/Tests/TestUtils/TestUtils.pro || die
+}
+
+src_configure() {
+ # NOTE: QMAKE_CFLAGS_ISYSTEM option prevents
+ # build error with tcl use enabled (stdlib.h is missing)
+ local myqmakeargs=(
+ "BINDIR=${EPREFIX}/usr/bin"
+ "LIBDIR=${EPREFIX}/usr/$(get_libdir)"
+ "QMAKE_CFLAGS_ISYSTEM=\"\""
+ $(usex test 'DEFINES+=tests' '')
+ )
+
+ ## Core
+ mkdir -p "${core_build_dir}" && cd "${core_build_dir}" || die
+ eqmake5 "${myqmakeargs[@]}" "${S}/SQLiteStudio3"
+
+ ## Plugins
+ mkdir -p "${plugins_build_dir}" && cd "${plugins_build_dir}" || die
+ eqmake5 "${myqmakeargs[@]}" "${S}/Plugins"
+}
+
+src_compile() {
+ emake -C "${core_build_dir}"
+ emake -C "${plugins_build_dir}"
+}
+
+src_install() {
+ emake -C "${core_build_dir}" INSTALL_ROOT="${D}" install
+ emake -C "${plugins_build_dir}" INSTALL_ROOT="${D}" install
+
+ doicon -s scalable "SQLiteStudio3/guiSQLiteStudio/img/${PN}.svg"
+
+ local make_desktop_entry_args=(
+ "${PN} -- %F"
+ 'SQLiteStudio3'
+ "${PN}"
+ 'Development;Database;Utility'
+ )
+ make_desktop_entry "${make_desktop_entry_args[@]}" \
+ "$( printf '%s\n' "MimeType=application/x-sqlite3;" )"
+}
diff --git a/dev-db/sqlmap/Manifest b/dev-db/sqlmap/Manifest
index 08c25653555..81414d9df11 100644
--- a/dev-db/sqlmap/Manifest
+++ b/dev-db/sqlmap/Manifest
@@ -1,2 +1,3 @@
-DIST sqlmap-1.6.2.tar.gz 7258723 BLAKE2B cc972eda5351683904e4c9d4f7e0ab9c127c22de597397e976060808812032b2041f68ab2d737784e499a20a7ca930167427390ca178269d744ee71738e5c270 SHA512 a3057486f5096fb2a242296b4ceeb1c500246fbd322c3e52f71e72cd91d1c676ca6f7746becf887625e45d0b14443a669410b28bd6a995124a6e8006c4534976
-DIST sqlmap-1.6.4.tar.gz 7203746 BLAKE2B 8e55805a59dbc7fa4a4be03d5edf34160858e624047dafe63d6280bfb59c83fef0bfe3f74b775adad3cbe3be312dad166c79c758fe18418d32788c22b2233d16 SHA512 304c8213ae4b1858066765fa5e6409e97ac90de46b319683e7daf6c89f610de04cac400a7044633aeb014648b7b57c880c3a2646b40049b93f84a626c12994d2
+DIST sqlmap-1.6.5.tar.gz 7204055 BLAKE2B 0ab5ff3ab8f27e0f944c65d84e9d66627dd09c22fd59a18002481a26db804d737702acf71768dfd44f88008fe82369c155144e9df58935e7feed644394299d89 SHA512 6812ab822119c0071077d87bbc7dd032560c6b85dedd6a568e63e12f885156959a89fa67045545a1433ab0ad6f4ad1f0335980adbc54a1af654d999ac07cee6d
+DIST sqlmap-1.6.6.tar.gz 7204158 BLAKE2B 40e4a896855270b98c89fc0a5d6060af51ec7d24da101688dbf2ec470741129a6193330be45e3ddd8d450bdfbcf4ccdf29bac47ba9e1d27eddf76490fc0777dc SHA512 9d680754ad82db660770d29b96c74a20c271dec8feff19f57f20c726a1776c86f685e538bb33c026ec49d48fadf981eb41cf6dd970c6100dc7a0c9dcd39c43cf
+DIST sqlmap-1.6.7.gh.tar.gz 7205694 BLAKE2B 35498643389a8393b4941665d33349b0e0a6263e3ed10e40b12631bf9d8e495374fffa6354c69f032b6da94fa07b667f5393def9cacf9069c088b63de4b13a67 SHA512 35707755a93fe4d23ea67670d08014acb4eb8d49d6743b5031ad02ef72939181099523cc768be9d4f7a4fb5773ddaad5eac22758ecd1aadcb36e33679fff36d1
diff --git a/dev-db/sqlmap/sqlmap-1.6.4.ebuild b/dev-db/sqlmap/sqlmap-1.6.5.ebuild
index bafc90f9951..a1ffe637309 100644
--- a/dev-db/sqlmap/sqlmap-1.6.4.ebuild
+++ b/dev-db/sqlmap/sqlmap-1.6.5.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="sqlite"
inherit bash-completion-r1 python-single-r1 wrapper
@@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
else
SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
# sqlmap (GPL-2+)
diff --git a/dev-db/sqlmap/sqlmap-1.6.2.ebuild b/dev-db/sqlmap/sqlmap-1.6.6.ebuild
index 7b33e4568b1..a1ffe637309 100644
--- a/dev-db/sqlmap/sqlmap-1.6.2.ebuild
+++ b/dev-db/sqlmap/sqlmap-1.6.6.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="sqlite"
inherit bash-completion-r1 python-single-r1 wrapper
@@ -16,14 +16,14 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
else
SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
# sqlmap (GPL-2+)
# ansitrm (BSD)
# beautifulsoup (BSD)
# bottle (MIT)
-# charder (LGPL-2.1+)
+# chardet (LGPL-2.1+)
# clientform (BSD)
# colorama (BSD)
# fcrypt (BSD-2)
diff --git a/dev-db/sqlmap/sqlmap-1.6.7.ebuild b/dev-db/sqlmap/sqlmap-1.6.7.ebuild
new file mode 100644
index 00000000000..6b74d886480
--- /dev/null
+++ b/dev-db/sqlmap/sqlmap-1.6.7.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="sqlite"
+
+inherit bash-completion-r1 python-single-r1 wrapper
+
+DESCRIPTION="An automatic SQL injection and database takeover tool"
+HOMEPAGE="https://sqlmap.org/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
+else
+ SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+# sqlmap (GPL-2+)
+# ansitrm (BSD)
+# beautifulsoup (BSD)
+# bottle (MIT)
+# chardet (LGPL-2.1+)
+# clientform (BSD)
+# colorama (BSD)
+# fcrypt (BSD-2)
+# identitywaf (MIT)
+# keepalive (LGPL-2.1+)
+# magic (MIT)
+# multipartpost (LGPL-2.1+)
+# ordereddict (MIT)
+# prettyprint (BSD-2)
+# pydes (public-domain)
+# six (MIT)
+# socks (BSD)
+# termcolor (BSD)
+# wininetpton (public-domain)
+LICENSE="BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain"
+SLOT="0"
+
+RDEPEND="${PYTHON_DEPS}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS=( doc/ README.md )
+
+src_install () {
+ einstalldocs
+
+ insinto /usr/share/${PN}/
+ doins -r *
+ python_optimize "${ED}"/usr/share/${PN}
+
+ make_wrapper ${PN} \
+ "${EPYTHON} ${EPREFIX}/usr/share/${PN}/sqlmap.py"
+
+ newbashcomp "${FILESDIR}"/sqlmap.bash-completion sqlmap
+}
diff --git a/dev-db/sqlmap/sqlmap-9999.ebuild b/dev-db/sqlmap/sqlmap-9999.ebuild
index bafc90f9951..6b74d886480 100644
--- a/dev-db/sqlmap/sqlmap-9999.ebuild
+++ b/dev-db/sqlmap/sqlmap-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="sqlite"
inherit bash-completion-r1 python-single-r1 wrapper
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
else
- SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
diff --git a/dev-db/timescaledb/Manifest b/dev-db/timescaledb/Manifest
index 6cde88ea9ab..81b45f69e9d 100644
--- a/dev-db/timescaledb/Manifest
+++ b/dev-db/timescaledb/Manifest
@@ -1,3 +1,5 @@
DIST timescaledb-2.5.2.tar.gz 2773859 BLAKE2B 918768e21ea43de2678c2ce12c5ea9faa9794eb48d4f1003c898d5510330d25c319b30323692facff78f95ee417a4cd4ec0e78363de17c4746aeb3f42c0b5bba SHA512 28cc4b4a786c62651aa9e499bb82bbc079307ed237a8c2478d5fbd4d6aaa9bb43bf3c1df971f76921d25112761a79dc9dec31d663fa31caca38b0c822f2026b0
DIST timescaledb-2.6.0.tar.gz 2863860 BLAKE2B 14b7bbfcfe1ca874ef24a7d31f3855f78cde0be57022251e1b1eb141819e19af45a2269123583a2d97c08c778aed38d9662cd4a6ff9c44281a605b8c0faed1ec SHA512 b076a44e3b30e99986dba710079cdc1a38b59a9d65ecd9f78fa16f3b762f253d7a9236a34a4d7e7beb29c1051113ea8877973e07ed3116012c9d2175a77e2edc
DIST timescaledb-2.6.1.tar.gz 2876847 BLAKE2B 6053e69fd6f7b86287c0ae54966a9e7528cf371d2952b6edfe80c0c616c4fcaccf04fa1f3af5f7ed787e85b7b12ac00e709664552c79561f7b4e503891cb5dd4 SHA512 edcc84c37af9670c1a7bf527f5c430405e9b04e9a35e676d04e7ac70b20184032f992d05545a180b50ac2346b076aac4fc98348c355006345394910978864a8f
+DIST timescaledb-2.7.0.tar.gz 2962972 BLAKE2B 37a0c3c7f51936d888492b7be59d2abc635bead3681a0414c5b7bfaca6b70a162638d5f9cf8368bfd49e2a8a03bbcdbf4fde853466edebbbc8a38d57ef567674 SHA512 fb07e06be36c2a59fbbaa77c7cbc3b564ce26b8f508211ec10b19b2e9bf08afed2e734b9a578b97ed99af95936a8f722cbc4cf2b5c6952df739e777ea96bf414
+DIST timescaledb-2.7.1.tar.gz 2987186 BLAKE2B 19f3c19ea0194b1511743b69158aa6000dfe55073b0404de917a532e9cee9efcf96aef2f64ec565529d3838ce2b531e84171bf129b8f94f133ab5e342ff99613 SHA512 0ac5433242e6481bda4f0fb6e3c99a26924e3f3a257128feee8a8ede8e472cadaadea6347e7a2734aedd01d0d1a2eb44d95c878dc44110a50cf7ae56bb9bdac4
diff --git a/dev-db/timescaledb/timescaledb-2.7.0.ebuild b/dev-db/timescaledb/timescaledb-2.7.0.ebuild
new file mode 100644
index 00000000000..b6b5d265256
--- /dev/null
+++ b/dev-db/timescaledb/timescaledb-2.7.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 12 13 14 )
+POSTGRES_USEDEP="ssl"
+
+inherit postgres-multi cmake
+
+DESCRIPTION="Open-source time-series SQL database"
+HOMEPAGE="https://www.timescale.com/"
+SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="proprietary-extensions"
+LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
+
+KEYWORDS="~amd64"
+
+SLOT=0
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+
+CMAKE_IN_SOURCE_BUILD=yes
+CMAKE_BUILD_TYPE="RelWithDebInfo"
+BUILD_DIR=${WORKDIR}/${P}
+
+src_prepare() {
+ postgres-multi_src_prepare
+ postgres-multi_foreach cmake_src_prepare
+}
+
+timescale_configure() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
+
+ # licensing is tied to features, this useflag disables the non-apache2 licensed bits
+ if ! use proprietary-extensions ; then
+ mycmakeargs+=("-DAPACHE_ONLY=ON")
+ fi
+ cmake_src_configure
+}
+
+src_configure() {
+ postgres-multi_foreach timescale_configure
+}
+
+timescale_src_compile() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ cmake_src_compile
+}
+
+src_compile() {
+ postgres-multi_foreach timescale_src_compile
+}
+
+timescale_src_install() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ cmake_src_install
+}
+
+src_install() {
+ postgres-multi_foreach timescale_src_install
+}
diff --git a/dev-db/timescaledb/timescaledb-2.7.1.ebuild b/dev-db/timescaledb/timescaledb-2.7.1.ebuild
new file mode 100644
index 00000000000..b6b5d265256
--- /dev/null
+++ b/dev-db/timescaledb/timescaledb-2.7.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 12 13 14 )
+POSTGRES_USEDEP="ssl"
+
+inherit postgres-multi cmake
+
+DESCRIPTION="Open-source time-series SQL database"
+HOMEPAGE="https://www.timescale.com/"
+SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="proprietary-extensions"
+LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
+
+KEYWORDS="~amd64"
+
+SLOT=0
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+
+CMAKE_IN_SOURCE_BUILD=yes
+CMAKE_BUILD_TYPE="RelWithDebInfo"
+BUILD_DIR=${WORKDIR}/${P}
+
+src_prepare() {
+ postgres-multi_src_prepare
+ postgres-multi_foreach cmake_src_prepare
+}
+
+timescale_configure() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
+
+ # licensing is tied to features, this useflag disables the non-apache2 licensed bits
+ if ! use proprietary-extensions ; then
+ mycmakeargs+=("-DAPACHE_ONLY=ON")
+ fi
+ cmake_src_configure
+}
+
+src_configure() {
+ postgres-multi_foreach timescale_configure
+}
+
+timescale_src_compile() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ cmake_src_compile
+}
+
+src_compile() {
+ postgres-multi_foreach timescale_src_compile
+}
+
+timescale_src_install() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ cmake_src_install
+}
+
+src_install() {
+ postgres-multi_foreach timescale_src_install
+}
diff --git a/dev-db/tora/files/tora-3.2-missing-header.patch b/dev-db/tora/files/tora-3.2-missing-header.patch
deleted file mode 100644
index 272054b7779..00000000000
--- a/dev-db/tora/files/tora-3.2-missing-header.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 503fb876bd5664b455d234ba21294735a8972c91 Mon Sep 17 00:00:00 2001
-From: Ivan Brezina <ibrezina@ibrezina.net>
-Date: Wed, 5 Jul 2017 10:07:14 +0200
-Subject: [PATCH] linux fix
-
----
- src/editor/tosqltext.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/editor/tosqltext.cpp b/src/editor/tosqltext.cpp
-index c329daf0..60935c12 100644
---- a/src/editor/tosqltext.cpp
-+++ b/src/editor/tosqltext.cpp
-@@ -50,6 +50,7 @@
- #include <QToolTip>
- #endif
-
-+#include <QMenu>
- #include <QListWidget>
- #include <QVBoxLayout>
- #include <QApplication>
diff --git a/dev-db/tora/files/tora-3.2-qt-5.11.0.patch b/dev-db/tora/files/tora-3.2-qt-5.11.0.patch
deleted file mode 100644
index d9e50eeaf5b..00000000000
--- a/dev-db/tora/files/tora-3.2-qt-5.11.0.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From afbff9ec3b93f0e90f02953d1bdd859a0f9a72ab Mon Sep 17 00:00:00 2001
-From: ibre5041 <ibre5041@ibrezina.net>
-Date: Wed, 30 May 2018 23:22:05 +0200
-Subject: [PATCH] fix for bug #96 - missing #include <QButtonGroup>
-
----
- src/tools/tobrowser.cpp | 1 +
- src/tools/toscript.cpp | 1 +
- src/tools/tosecurity.cpp | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/src/tools/tobrowser.cpp b/src/tools/tobrowser.cpp
-index 895be336..69a4c6b6 100644
---- a/src/tools/tobrowser.cpp
-+++ b/src/tools/tobrowser.cpp
-@@ -65,6 +65,7 @@
- #include <QInputDialog>
- #include <QSplitter>
- #include <QToolBar>
-+#include <QButtonGroup>
-
- #include "icons/addindex.xpm"
- #include "icons/addtable.xpm"
-diff --git a/src/tools/toscript.cpp b/src/tools/toscript.cpp
-index bc74fc8c..aff26158 100644
---- a/src/tools/toscript.cpp
-+++ b/src/tools/toscript.cpp
-@@ -56,6 +56,7 @@
- #include <QSplitter>
- #include <QtCore/QTextStream>
- #include <QToolBar>
-+#include <QButtonGroup>
-
- #include "icons/execute.xpm"
- #include "icons/toscript.xpm"
-diff --git a/src/tools/tosecurity.cpp b/src/tools/tosecurity.cpp
-index 17f5c3b0..b2694928 100644
---- a/src/tools/tosecurity.cpp
-+++ b/src/tools/tosecurity.cpp
-@@ -46,6 +46,7 @@
-
- #include <QSplitter>
- #include <QToolBar>
-+#include <QButtonGroup>
-
- #include "icons/addrole.xpm"
- #include "icons/adduser.xpm"
-
-From 1852446c42c36d71b856fe09e1444b52052ca86d Mon Sep 17 00:00:00 2001
-From: Ivan Brezina <ibrezina@ibrezina.net>
-Date: Wed, 27 Jun 2018 19:11:09 +0200
-Subject: [PATCH] fix for bug #101
-
----
- src/widgets/tohelp.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/widgets/tohelp.cpp b/src/widgets/tohelp.cpp
-index 69e3c6a1..4ffd6cea 100644
---- a/src/widgets/tohelp.cpp
-+++ b/src/widgets/tohelp.cpp
-@@ -43,6 +43,7 @@
- #include "core/toconfiguration.h"
- #include "ts_log/ts_log_utils.h"
-
-+#include <QAction>
- #include <QMessageBox>
- #include <QtCore/QSettings>
-
diff --git a/dev-db/tora/files/tora-3.2-qt-includes.patch b/dev-db/tora/files/tora-3.2-qt-includes.patch
new file mode 100644
index 00000000000..6126cdf71ca
--- /dev/null
+++ b/dev-db/tora/files/tora-3.2-qt-includes.patch
@@ -0,0 +1,61 @@
+--- a/src/editor/tosqltext.cpp
++++ b/src/editor/tosqltext.cpp
+@@ -50,6 +50,7 @@
+ #include <QToolTip>
+ #endif
+
++#include <QMenu>
+ #include <QListWidget>
+ #include <QVBoxLayout>
+ #include <QApplication>
+--- a/src/main/tooraclesetting.cpp
++++ b/src/main/tooraclesetting.cpp
+@@ -45,6 +45,8 @@
+ #include "core/toqvalue.h"
+ #include "core/toquery.h"
+
++#include <QtGui/qvalidator.h>
++
+ toOracleSetting::toOracleSetting(QWidget *parent)
+ : QWidget(parent)
+ , toSettingTab("database.html#oracle")
+--- a/src/tools/tobrowser.cpp
++++ b/src/tools/tobrowser.cpp
+@@ -65,6 +65,7 @@
+ #include <QInputDialog>
+ #include <QSplitter>
+ #include <QToolBar>
++#include <QButtonGroup>
+
+ #include "icons/addindex.xpm"
+ #include "icons/addtable.xpm"
+--- a/src/tools/toscript.cpp
++++ b/src/tools/toscript.cpp
+@@ -56,6 +56,7 @@
+ #include <QSplitter>
+ #include <QtCore/QTextStream>
+ #include <QToolBar>
++#include <QButtonGroup>
+
+ #include "icons/execute.xpm"
+ #include "icons/toscript.xpm"
+--- a/src/tools/tosecurity.cpp
++++ b/src/tools/tosecurity.cpp
+@@ -46,6 +46,7 @@
+
+ #include <QSplitter>
+ #include <QToolBar>
++#include <QButtonGroup>
+
+ #include "icons/addrole.xpm"
+ #include "icons/adduser.xpm"
+--- a/src/widgets/tohelp.cpp
++++ b/src/widgets/tohelp.cpp
+@@ -43,6 +43,7 @@
+ #include "core/toconfiguration.h"
+ #include "ts_log/ts_log_utils.h"
+
++#include <QAction>
+ #include <QMessageBox>
+ #include <QtCore/QSettings>
+
diff --git a/dev-db/tora/metadata.xml b/dev-db/tora/metadata.xml
index 808b6f98bd8..390a3d3661d 100644
--- a/dev-db/tora/metadata.xml
+++ b/dev-db/tora/metadata.xml
@@ -1,20 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>ikonta@yandex.ru</email>
- <name>Sergey Starikoff</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
- TOra is a Toolkit for Oracle which aims to help the DBA or developer of
- database application. Features PL/SQL debugger, SQL worksheet with syntax
- highlighting, DB browser and a comprehensive set of DBA tools. Also works
- with mySQL and postgreSQL.
-</longdescription>
+ TOra is a Toolkit for Oracle which aims to help the DBA or developer of
+ database application. Features PL/SQL debugger, SQL worksheet with syntax
+ highlighting, DB browser and a comprehensive set of DBA tools. Also works
+ with mySQL and postgreSQL.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tora</remote-id>
</upstream>
diff --git a/dev-db/tora/tora-3.2-r1.ebuild b/dev-db/tora/tora-3.2-r1.ebuild
deleted file mode 100644
index b653ad25405..00000000000
--- a/dev-db/tora/tora-3.2-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils desktop xdg-utils
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/tora-tool/tora"
- inherit git-r3
-else
- SRC_URI="https://github.com/tora-tool/tora/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="SQL IDE for Oracle, MySQL and PostgreSQL dbs"
-HOMEPAGE="https://github.com/tora-tool/tora/wiki"
-IUSE="doc mysql oracle +postgres"
-REQUIRED_USE="|| ( mysql oracle postgres )"
-
-SLOT="0"
-LICENSE="GPL-2"
-
-RDEPEND="
- dev-libs/ferrisloki
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsql:5[mysql?,postgres?]
- dev-qt/qtwidgets:5
- >=x11-libs/qscintilla-2.10.1:=[qt5(+)]
- oracle? ( dev-db/oracle-instantclient )
- postgres? ( dev-db/postgresql:* )
-"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-missing-header.patch"
- "${FILESDIR}/${P}-qt-5.11.0.patch"
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # fixed in master, only care about recent qscintilla lib name:
- sed -e "/FIND_LIBRARY(QSCINTILLA_LIBRARY/s/qt5scintilla2/qscintilla2_qt5/" \
- -i cmake/modules/FindQScintilla.cmake || die "Failed to fix FindQScintilla.cmake"
-
- rm -r extlibs/{loki,qscintilla2} || die # ferrisloki, bug #383109
-
- sed -e "/COPYING/ d" \
- -i CMakeLists.txt || die "Removal of COPYING file failed"
-
- # bug 547520
- grep -rlZ '$$ORIGIN' . | xargs -0 sed -i 's|:$$ORIGIN[^:"]*||' || \
- die 'Removal of $$ORIGIN failed'
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_DB2=OFF
- -DQT5_BUILD=ON
- -DWANT_INTERNAL_LOKI=OFF
- -DWANT_INTERNAL_QSCINTILLA=OFF
- -DWANT_RPM=OFF
- -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki)/libferrisloki.so"
- -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki)/FerrisLoki"
- $(cmake-utils_use_find_package doc Doxygen)
- -DENABLE_ORACLE=$(usex oracle)
- -DUSE_PCH=OFF
- -DENABLE_PGSQL=$(usex postgres)
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- doicon src/icons/${PN}.xpm || die
- domenu src/${PN}.desktop || die
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/dev-db/tora/tora-9999.ebuild b/dev-db/tora/tora-3.2-r2.ebuild
index d1bf824895b..7bd8e475a41 100644
--- a/dev-db/tora/tora-9999.ebuild
+++ b/dev-db/tora/tora-3.2-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils desktop xdg-utils
+inherit cmake desktop toolchain-funcs xdg
-if [[ ${PV} == 9999 ]]; then
+if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/tora-tool/tora"
inherit git-r3
else
@@ -15,11 +15,11 @@ fi
DESCRIPTION="SQL IDE for Oracle, MySQL and PostgreSQL dbs"
HOMEPAGE="https://github.com/tora-tool/tora/wiki"
-IUSE="doc mysql oracle pch +postgres"
-REQUIRED_USE="|| ( mysql oracle postgres )"
-SLOT="0"
LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc mysql oracle +postgres"
+REQUIRED_USE="|| ( mysql oracle postgres )"
RDEPEND="
dev-libs/ferrisloki
@@ -33,14 +33,20 @@ RDEPEND="
oracle? ( dev-db/oracle-instantclient )
postgres? ( dev-db/postgresql:* )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost
+"
+BDEPEND="
dev-qt/linguist-tools:5
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
+PATCHES=( "${FILESDIR}"/${P}-qt-includes.patch )
+
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
# fixed in master, only care about recent qscintilla lib name:
sed -e "/FIND_LIBRARY(QSCINTILLA_LIBRARY/s/qt5scintilla2/qscintilla2_qt5/" \
@@ -63,29 +69,19 @@ src_configure() {
-DWANT_INTERNAL_LOKI=OFF
-DWANT_INTERNAL_QSCINTILLA=OFF
-DWANT_RPM=OFF
- -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki)/libferrisloki.so"
- -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki)/FerrisLoki"
- $(cmake-utils_use_find_package doc Doxygen)
+ -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki || die)/libferrisloki.so"
+ -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki || die)/FerrisLoki"
+ $(cmake_use_find_package doc Doxygen)
-DENABLE_ORACLE=$(usex oracle)
- -DUSE_PCH=$(usex pch)
+ -DUSE_PCH=OFF
-DENABLE_PGSQL=$(usex postgres)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
-
- doicon src/icons/${PN}.xpm || die
- domenu src/${PN}.desktop || die
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
+ cmake_src_install
-pkg_postrm() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
+ doicon src/icons/tora.xpm || die
+ domenu src/tora.desktop || die
}
diff --git a/dev-db/unixODBC/unixODBC-2.3.9.ebuild b/dev-db/unixODBC/unixODBC-2.3.9.ebuild
index 3450c2c3e52..97506e74f15 100644
--- a/dev-db/unixODBC/unixODBC-2.3.9.ebuild
+++ b/dev-db/unixODBC/unixODBC-2.3.9.ebuild
@@ -31,7 +31,8 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/unixodbc_conf.h )
multilib_src_configure() {
# --enable-driver-conf is --enable-driverc as per configure.in
- myeconfargs=(
+ local myeconfargs=(
+ --cache-file="${BUILD_DIR}"/config.cache
--sysconfdir="${EPREFIX}"/etc/${PN}
--disable-editline
--disable-static