summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/citus/Manifest6
-rw-r--r--dev-db/citus/citus-11.3.1.ebuild (renamed from dev-db/citus/citus-11.3.0.ebuild)2
-rw-r--r--dev-db/citus/citus-12.0.1.ebuild (renamed from dev-db/citus/citus-12.0.0.ebuild)2
-rw-r--r--dev-db/citus/citus-12.1.2.ebuild (renamed from dev-db/citus/citus-12.1.1.ebuild)2
-rw-r--r--dev-db/cockroach/cockroach-19.1.1-r1.ebuild4
-rw-r--r--dev-db/cockroach/cockroach-2.1.5-r1.ebuild4
-rw-r--r--dev-db/futuresql/Manifest1
-rw-r--r--dev-db/futuresql/futuresql-0.1.1.ebuild38
-rw-r--r--dev-db/futuresql/metadata.xml12
-rw-r--r--dev-db/influxdb/Manifest242
-rw-r--r--dev-db/influxdb/files/influxdb.confd-r118
-rw-r--r--dev-db/influxdb/files/influxdb.initd-r147
-rw-r--r--dev-db/influxdb/influxdb-2.7.1-r1.ebuild248
-rw-r--r--dev-db/influxdb/influxdb-2.7.3-r2.ebuild284
-rw-r--r--dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch53
-rw-r--r--dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild87
-rw-r--r--dev-db/libzdb/libzdb-3.2.3.ebuild4
-rw-r--r--dev-db/litecli/Manifest1
-rw-r--r--dev-db/litecli/litecli-1.10.0.ebuild34
-rw-r--r--dev-db/litecli/metadata.xml16
-rw-r--r--dev-db/lmdb++/lmdb++-0.9.14.0.ebuild1
-rw-r--r--dev-db/lmdb++/metadata.xml1
-rw-r--r--dev-db/lmdb/Manifest1
-rw-r--r--dev-db/lmdb/lmdb-0.9.30.ebuild70
-rw-r--r--dev-db/lmdb/lmdb-0.9.31.ebuild7
-rw-r--r--dev-db/m17n-db/m17n-db-1.8.0.ebuild4
-rw-r--r--dev-db/mariadb/Manifest4
-rw-r--r--dev-db/mariadb/mariadb-10.11.5-r1.ebuild1319
-rw-r--r--dev-db/mariadb/mariadb-10.11.5.ebuild7
-rw-r--r--dev-db/mariadb/mariadb-10.11.6.ebuild1319
-rw-r--r--dev-db/mariadb/mariadb-10.6.14.ebuild7
-rw-r--r--dev-db/mariadb/mariadb-10.6.15-r1.ebuild1330
-rw-r--r--dev-db/mariadb/mariadb-10.6.15.ebuild7
-rw-r--r--dev-db/mariadb/mariadb-10.6.16.ebuild1330
-rw-r--r--dev-db/mariadb/metadata.xml2
-rw-r--r--dev-db/mongodb/metadata.xml1
-rw-r--r--dev-db/mongodb/mongodb-4.4.20.ebuild13
-rw-r--r--dev-db/mongodb/mongodb-5.0.16-r1.ebuild15
-rw-r--r--dev-db/myodbc/metadata.xml11
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild2
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild2
-rw-r--r--dev-db/mysql-init-scripts/files/conf.d-2.02
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r7.ebuild (renamed from dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r6.ebuild)2
-rw-r--r--dev-db/mysql-workbench/Manifest2
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch33
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.34.ebuild116
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.36.ebuild (renamed from dev-db/mysql-workbench/mysql-workbench-8.0.34-r1.ebuild)8
-rw-r--r--dev-db/mysql/metadata.xml2
-rw-r--r--dev-db/mysql/mysql-5.7.41.ebuild4
-rw-r--r--dev-db/mysql/mysql-8.0.27-r1.ebuild13
-rw-r--r--dev-db/mysql/mysql-8.0.31-r2.ebuild13
-rw-r--r--dev-db/mysql/mysql-8.0.32-r2.ebuild13
-rw-r--r--dev-db/mysql/mysql-8.0.34.ebuild10
-rw-r--r--dev-db/mysqltuner/Manifest1
-rw-r--r--dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch107
-rw-r--r--dev-db/mysqltuner/mysqltuner-2.5.2.ebuild36
-rw-r--r--dev-db/opendbx/opendbx-1.4.6-r6.ebuild4
-rw-r--r--dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild13
-rw-r--r--dev-db/percona-toolkit/Manifest1
-rw-r--r--dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild43
-rw-r--r--dev-db/pg-gvm/Manifest2
-rw-r--r--dev-db/pg-gvm/pg-gvm-22.6.4.ebuild (renamed from dev-db/pg-gvm/pg-gvm-22.6.1-r1.ebuild)4
-rw-r--r--dev-db/pgLatLon/Manifest1
-rw-r--r--dev-db/pgLatLon/metadata.xml8
-rw-r--r--dev-db/pgLatLon/pgLatLon-0.15.ebuild20
-rw-r--r--dev-db/pgbadger/Manifest3
-rw-r--r--dev-db/pgbadger/pgbadger-11.5.ebuild24
-rw-r--r--dev-db/pgbadger/pgbadger-12.4.ebuild (renamed from dev-db/pgbadger/pgbadger-11.8.ebuild)3
-rw-r--r--dev-db/pgbouncer/Manifest4
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.17.0.ebuild80
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.18.0.ebuild78
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.22.0.ebuild (renamed from dev-db/pgbouncer/pgbouncer-1.19.1.ebuild)11
-rw-r--r--dev-db/pgcli/Manifest1
-rw-r--r--dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch112
-rw-r--r--dev-db/pgcli/pgcli-3.3.1-r2.ebuild35
-rw-r--r--dev-db/pgcli/pgcli-4.0.1-r1.ebuild (renamed from dev-db/pgcli/pgcli-4.0.1.ebuild)28
-rw-r--r--dev-db/pglogical/Manifest1
-rw-r--r--dev-db/pglogical/pglogical-2.4.1.ebuild3
-rw-r--r--dev-db/pglogical/pglogical-2.4.4.ebuild34
-rw-r--r--dev-db/pgpool2/Manifest2
-rw-r--r--dev-db/pgpool2/pgpool2-4.3.8.ebuild91
-rw-r--r--dev-db/pgpool2/pgpool2-4.4.5.ebuild91
-rw-r--r--dev-db/pgrouting/Manifest1
-rw-r--r--dev-db/pgrouting/pgrouting-3.6.1.ebuild52
-rw-r--r--dev-db/pgtap/Manifest1
-rw-r--r--dev-db/pgtap/pgtap-1.2.0-r2.ebuild3
-rw-r--r--dev-db/pgtap/pgtap-1.3.1.ebuild37
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild2
-rw-r--r--dev-db/phppgadmin/Manifest1
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.14.5.ebuild3
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.14.7.ebuild37
-rw-r--r--dev-db/plr/Manifest1
-rw-r--r--dev-db/plr/metadata.xml3
-rw-r--r--dev-db/plr/plr-8.4.6.ebuild70
-rw-r--r--dev-db/postgis/Manifest1
-rw-r--r--dev-db/postgis/postgis-3.3.5.ebuild142
-rw-r--r--dev-db/postgresql/Manifest12
-rw-r--r--dev-db/postgresql/files/postgresql-11_beta1-no-server.patch144
-rw-r--r--dev-db/postgresql/postgresql-11.21.ebuild451
-rw-r--r--dev-db/postgresql/postgresql-11.22.ebuild451
-rw-r--r--dev-db/postgresql/postgresql-12.17.ebuild7
-rw-r--r--dev-db/postgresql/postgresql-12.18.ebuild (renamed from dev-db/postgresql/postgresql-12.16.ebuild)10
-rw-r--r--dev-db/postgresql/postgresql-13.13.ebuild7
-rw-r--r--dev-db/postgresql/postgresql-13.14.ebuild (renamed from dev-db/postgresql/postgresql-13.12.ebuild)10
-rw-r--r--dev-db/postgresql/postgresql-14.10.ebuild7
-rw-r--r--dev-db/postgresql/postgresql-14.11.ebuild (renamed from dev-db/postgresql/postgresql-14.9.ebuild)12
-rw-r--r--dev-db/postgresql/postgresql-15.5.ebuild7
-rw-r--r--dev-db/postgresql/postgresql-15.6.ebuild (renamed from dev-db/postgresql/postgresql-15.4.ebuild)14
-rw-r--r--dev-db/postgresql/postgresql-16.1.ebuild9
-rw-r--r--dev-db/postgresql/postgresql-16.2.ebuild (renamed from dev-db/postgresql/postgresql-16.0.ebuild)18
-rw-r--r--dev-db/postgresql/postgresql-9999.ebuild6
-rw-r--r--dev-db/qdbm/qdbm-1.8.78-r4.ebuild4
-rw-r--r--dev-db/redis/Manifest10
-rw-r--r--dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch173
-rw-r--r--dev-db/redis/files/redis-7.0.4-replica-tests-fix.patch61
-rw-r--r--dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch173
-rw-r--r--dev-db/redis/redis-6.2.11.ebuild195
-rw-r--r--dev-db/redis/redis-6.2.14-r1.ebuild (renamed from dev-db/redis/redis-6.2.13.ebuild)4
-rw-r--r--dev-db/redis/redis-6.2.14.ebuild195
-rw-r--r--dev-db/redis/redis-6.2.7-r2.ebuild198
-rw-r--r--dev-db/redis/redis-7.0.14-r1.ebuild (renamed from dev-db/redis/redis-7.0.13.ebuild)4
-rw-r--r--dev-db/redis/redis-7.0.14.ebuild187
-rw-r--r--dev-db/redis/redis-7.0.15-r1.ebuild (renamed from dev-db/redis/redis-7.0.12.ebuild)4
-rw-r--r--dev-db/redis/redis-7.0.5-r1.ebuild191
-rw-r--r--dev-db/redis/redis-7.0.9.ebuild187
-rw-r--r--dev-db/redis/redis-7.2.1-r1.ebuild (renamed from dev-db/redis/redis-7.2.1.ebuild)4
-rw-r--r--dev-db/redis/redis-7.2.3-r1.ebuild (renamed from dev-db/redis/redis-7.2.3.ebuild)6
-rw-r--r--dev-db/redis/redis-7.2.4-r1.ebuild (renamed from dev-db/redis/redis-7.2.2.ebuild)6
-rw-r--r--dev-db/rqlite/Manifest8
-rw-r--r--dev-db/rqlite/rqlite-7.10.1.ebuild36
-rw-r--r--dev-db/rqlite/rqlite-7.13.0.ebuild37
-rw-r--r--dev-db/rqlite/rqlite-7.13.1.ebuild37
-rw-r--r--dev-db/rqlite/rqlite-7.9.2.ebuild36
-rw-r--r--dev-db/rqlite/rqlite-8.16.8.ebuild (renamed from dev-db/rqlite/rqlite-7.11.0.ebuild)10
-rw-r--r--dev-db/spatialite/spatialite-5.0.1-r2.ebuild2
-rw-r--r--dev-db/spatialite/spatialite-5.1.0-r1.ebuild (renamed from dev-db/spatialite/spatialite-5.1.0.ebuild)12
-rw-r--r--dev-db/sqlcl-bin/Manifest2
-rw-r--r--dev-db/sqlcl-bin/sqlcl-bin-23.3.0.270.1251.ebuild (renamed from dev-db/sqlcl-bin/sqlcl-bin-23.1.0.089.0929.ebuild)2
-rw-r--r--dev-db/sqldeveloper/Manifest2
-rw-r--r--dev-db/sqldeveloper/sqldeveloper-23.1.1.345.2114.ebuild (renamed from dev-db/sqldeveloper/sqldeveloper-23.1.0.097.1607.ebuild)4
-rw-r--r--dev-db/sqlite/Manifest12
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch125
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch187
-rw-r--r--dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch24
-rw-r--r--dev-db/sqlite/sqlite-3.43.0.ebuild428
-rw-r--r--dev-db/sqlite/sqlite-3.43.2.ebuild428
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r1.ebuild (renamed from dev-db/sqlite/sqlite-3.42.0.ebuild)9
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r2.ebuild (renamed from dev-db/sqlite/sqlite-3.43.1.ebuild)12
-rw-r--r--dev-db/sqlite/sqlite-3.44.2.ebuild428
-rw-r--r--dev-db/sqlite/sqlite-3.45.1-r1.ebuild (renamed from dev-db/sqlite/sqlite-3.44.0.ebuild)20
-rw-r--r--dev-db/sqlite/sqlite-9999.ebuild16
-rw-r--r--dev-db/sqlitebrowser/metadata.xml6
-rw-r--r--dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r1.ebuild73
-rw-r--r--dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild14
-rw-r--r--dev-db/sqlmap/Manifest2
-rw-r--r--dev-db/sqlmap/sqlmap-1.8.ebuild (renamed from dev-db/sqlmap/sqlmap-1.7.8.ebuild)4
-rw-r--r--dev-db/timescaledb/Manifest4
-rw-r--r--dev-db/timescaledb/timescaledb-2.14.0.ebuild (renamed from dev-db/timescaledb/timescaledb-2.12.2.ebuild)4
-rw-r--r--dev-db/timescaledb/timescaledb-2.14.2.ebuild (renamed from dev-db/timescaledb/timescaledb-2.13.0.ebuild)4
-rw-r--r--dev-db/tinycdb/Manifest1
-rw-r--r--dev-db/tinycdb/tinycdb-0.78.ebuild6
-rw-r--r--dev-db/tinycdb/tinycdb-0.81.ebuild52
-rw-r--r--dev-db/tora/tora-3.2-r2.ebuild4
163 files changed, 7712 insertions, 5077 deletions
diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest
index 0cc96bd761ba..3e0a2d22cbba 100644
--- a/dev-db/citus/Manifest
+++ b/dev-db/citus/Manifest
@@ -1,3 +1,3 @@
-DIST citus-11.3.0.tar.gz 6627414 BLAKE2B 763ebe9cc7c36222b6e1148b18fcf98af3dc4dbc77a141c355f72e3f943b0cd6ba79aa98622e365f81ca1f5965095e75a0e83277a4690fb386b371d5e80dc778 SHA512 4e40240f8e3867823724feda480fe23ee41347b8d49802b3afcedf970f571a97c8d5cf1639d2d776035d125193ca8ff998927aed47c03e1c1ab3bb79da830ee9
-DIST citus-12.0.0.tar.gz 6744359 BLAKE2B 0cd25e60fb4c94a44c1bf8d0db4a4a62a34082285afe4c32700f182a3b9a67c45f68d1629e6bf7659ed1a5884f2da28a638aa0cb97cc870f8832cf9c3c0e7121 SHA512 1e9b985719d1a2c6c1c965cc5708ffc358b62413fafc7f3f9496727763df2e8674782fc2016d452974530c568e7c5ec5a15cb8905ec9ee7344d82b950780f5b8
-DIST citus-12.1.1.tar.gz 6896428 BLAKE2B 2a7abbdb3d4bb7c3f6c1f03992b078dee98ce2eab7401fee07fe7a5d52c8617e46bb53e5a7d4e677de7d9ad825558735fb214f3861c08a9d60c6ede6b0e848c1 SHA512 55dcb41472e855a8ad46ce4305d53e0e9c2658a5111f5ac503aa7f9f6c492be532c9b1222d62e106ee590adc3dedc7b9ae207f6fcd661f740123264ec2524da7
+DIST citus-11.3.1.tar.gz 6623462 BLAKE2B ef07fb1e6cf0dd3f49600c3befcb300d47244393dd3bbe01450a8cb7bdb40adf1b7c6d7cf473ac80c466fc5dd4d6e0f5a62d1a587804d74011dda65731431028 SHA512 481d74cdf0e8de86b918fc73ed72f988f42679a827a39e7d89e2d0ebb0447d629dbaf323099dc97e886ea3012539200831f580bfe0cf3a12ef1f3a7bfe3fab42
+DIST citus-12.0.1.tar.gz 6740395 BLAKE2B ca004f8026d94c1ed70c9c7450726287aff415c13b80b93d25a19fbae9a79cbbeaec51521fc7922d5574c75bddb9537d42d656121ca586f4512afe773be5bf76 SHA512 db9b882c63ef6ab848a85d547390d4fc61b97056485dcc8fa51c289a302b78d0de959e29c27a91c494fd3e20491f6a96e96436d8766d02b2770f0e375b94564e
+DIST citus-12.1.2.tar.gz 6897486 BLAKE2B 6cbd65cf0cefc5bbe4abcedbeaece8c9a123a05d0d6b812d95cea69153843fd187ff67ce0e99e19758f43569b7e38379294c3c1551f7751ffcb5a6d025800f1a SHA512 00ca6d7053c91671c894bb2afec25ba2a38aae50b6f363a1e63e08e4f3016e43739c9a48b20d93afecb5cc0f2d886fd12318dd8f54f67c052baca2d421882828
diff --git a/dev-db/citus/citus-11.3.0.ebuild b/dev-db/citus/citus-11.3.1.ebuild
index 1b91866bc2b8..196628d1bd19 100644
--- a/dev-db/citus/citus-11.3.0.ebuild
+++ b/dev-db/citus/citus-11.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-db/citus/citus-12.0.0.ebuild b/dev-db/citus/citus-12.0.1.ebuild
index 2ace5e3b55ee..c3c9617e490d 100644
--- a/dev-db/citus/citus-12.0.0.ebuild
+++ b/dev-db/citus/citus-12.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-db/citus/citus-12.1.1.ebuild b/dev-db/citus/citus-12.1.2.ebuild
index 9cde9352931d..6f1052ed0c2d 100644
--- a/dev-db/citus/citus-12.1.1.ebuild
+++ b/dev-db/citus/citus-12.1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-db/cockroach/cockroach-19.1.1-r1.ebuild b/dev-db/cockroach/cockroach-19.1.1-r1.ebuild
index aae348a5ea02..8d796276a335 100644
--- a/dev-db/cockroach/cockroach-19.1.1-r1.ebuild
+++ b/dev-db/cockroach/cockroach-19.1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -25,7 +25,7 @@ DEPEND="
${RDEPEND}
>=app-arch/xz-utils-5.2.3
>=dev-lang/go-1.8.3
- >=dev-util/cmake-3.8.1
+ >=dev-build/cmake-3.8.1
"
QA_EXECSTACK="usr/bin/cockroach"
diff --git a/dev-db/cockroach/cockroach-2.1.5-r1.ebuild b/dev-db/cockroach/cockroach-2.1.5-r1.ebuild
index aae348a5ea02..8d796276a335 100644
--- a/dev-db/cockroach/cockroach-2.1.5-r1.ebuild
+++ b/dev-db/cockroach/cockroach-2.1.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -25,7 +25,7 @@ DEPEND="
${RDEPEND}
>=app-arch/xz-utils-5.2.3
>=dev-lang/go-1.8.3
- >=dev-util/cmake-3.8.1
+ >=dev-build/cmake-3.8.1
"
QA_EXECSTACK="usr/bin/cockroach"
diff --git a/dev-db/futuresql/Manifest b/dev-db/futuresql/Manifest
new file mode 100644
index 000000000000..2a7052c288cf
--- /dev/null
+++ b/dev-db/futuresql/Manifest
@@ -0,0 +1 @@
+DIST futuresql-0.1.1.tar.xz 27844 BLAKE2B d2f335c7a64b44b32785e2bf8522ca3670450ff2ec5190aa2ff296198e2ac62985e51dacb890566b24a52c54f6300688f17cbb208055d7b4a3ee007d19415d81 SHA512 ce9cd927c6da3ca7351640cc2c36854c1a728ec5c24517e61772e3571d56bcaa2221cfe05127f78554bd9d2b2d72bd46e911834c9fb1e9b89bd96b84b39bda16
diff --git a/dev-db/futuresql/futuresql-0.1.1.ebuild b/dev-db/futuresql/futuresql-0.1.1.ebuild
new file mode 100644
index 000000000000..acad2895fac0
--- /dev/null
+++ b/dev-db/futuresql/futuresql-0.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_EXAMPLES="true"
+ECM_TEST="true"
+KDE_ORG_CATEGORY="libraries"
+KFMIN=5.249.0
+inherit ecm kde.org
+
+DESCRIPTION="Non-blocking Qt database framework"
+HOMEPAGE="https://api.kde.org/futuresql/html/index.html https://invent.kde.org/libraries/futuresql"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-qt/qtbase:6[sql]"
+DEPEND="${RDEPEND}
+ examples? ( dev-libs/qcoro )
+ test? ( dev-libs/qcoro )
+"
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ fi
+ ecm_src_install
+}
diff --git a/dev-db/futuresql/metadata.xml b/dev-db/futuresql/metadata.xml
new file mode 100644
index 000000000000..9049183544a1
--- /dev/null
+++ b/dev-db/futuresql/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/futuresql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/influxdb/Manifest b/dev-db/influxdb/Manifest
index f62564780a2b..747e0c19b0f5 100644
--- a/dev-db/influxdb/Manifest
+++ b/dev-db/influxdb/Manifest
@@ -1,154 +1,188 @@
DIST adler32-1.2.0.crate 6411 BLAKE2B 51d44ccfd774158687b8244e83377e40ff896364e3d41e9015665131cc2a176d4ca0ab5a84df027dec0869ee735ee36f5687a06c1d2341de666070cdbab89483 SHA512 8ed72612fb78e213fc92963fdae0508ef26988656c939e6c9cddccbe2658d4a956a8ae934d9658262a8b2687dc446b3f1ee7614128b440487c81e606526dfda3
DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
-DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
-DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
+DIST aho-corasick-0.7.20.crate 111440 BLAKE2B 3f5d54fea2793ce1c2c4d5b3049b910f45a5721e7538cb2557df63dc3069ab3f6b66aceb5e9a48f21c43ae29778fd045428ea103b2a6de81659e605e30e64ca6 SHA512 ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5
+DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
-DIST anyhow-1.0.56.crate 44780 BLAKE2B 142a2c02e51dc6fa2709d349881aea404b14dbdfa379ddd6a99672df4977dcca0658897c9e9881e291fb56f5b522cf2a0e2da12afb7038d0929d05f436ff68a9 SHA512 9dc8233b87f8229676ad08903cc1507370588d63702c10bff3426d00ce10754744477d5ba3396c94e7128eeef12c647f8f042de8cc6d1943c2882785ac7ebab5
+DIST anyhow-1.0.70.crate 43803 BLAKE2B 574da0e447592c12051deef171850b00ac2347dd336f71915dd21f45cc03439fbcdbaffe261097d53cc11fa0db75b1e3b21ba667f26c08db7125b1c6264973de SHA512 6fd1338e4cbe915cb01fcc5e05e7e0c051868701eeb27f03577a7cfdd59057493922b36e2308f7050608a851112d4d24cff2826456160ac8930fe961640e809b
DIST arrayvec-0.5.2.crate 27838 BLAKE2B 51e2eacae0ef148f3f52d21ae00794e540e7ce4c013fb496dd1347ad91ffbbca199381fffbb064225f829216f6c5e915edfa64833f91fabdd13c3f011d86491f SHA512 1896b5f64b4dbdcff8ad234bda4ea8129bcacf87839347304717e94ee9f369cf5f4371755e453ff7d72817edb8f7fdbc726d77cc4f28ed05148dc89c7714b004
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
-DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bstr-0.2.17.crate 330350 BLAKE2B 90c3a48d78b73d7e36a3da9fda0beae6e91ce534d17198ea8ceee0b613d03297f9dd8bca30e1ec5da01d1da359a1da72b2c2771b77c82bebab5006cafd665192 SHA512 883eac8210d14f89517b4dd5e25d02c97cf31602ec74498b5e186112ba0f154d47de8d1c41a8f4e5503f3b53c064e2c976b60bbfd63fc28b186bc006e00f20c2
+DIST bitflags-2.0.2.crate 32293 BLAKE2B 4ff74b5abae1159bab45fa46c6782c241335186c9df07a0a419800c8d9aced0454e27d62027c61d1b4fbef3f29090508cb4955e085cf4a25bd9b21ce0a8a2e51 SHA512 4581eb84133135267f8b5f1ccedd8a921d1d6ac3189e079f3d77bf78f3074008a0330e17a9fc6249b3e1db787e5a73526ad59b8bb2e1fb3a31c4bbd861460353
DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4
-DIST cast-0.2.7.crate 11222 BLAKE2B 8a09b6493d68b08539b38fef39ac3abae829c8b899d5243bda3c3d8acada44f4c57416e3247c82a9a4b82180d7f96c96f048b8cdbf21a8fc184ca6957b237ad9 SHA512 24d204acf21366e088f721714c48bb6431895882263ef3a08f6644abbca5c06f430729fa8bbb4c9f37c95a6baa1b824d3fad95c5f0889e92587490d51bebb4d6
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST chrono-0.4.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980
-DIST clap-2.33.3.crate 201925 BLAKE2B bec9c866481c5b3fddeb314f68af9bce38fc421e42816182de3209e8ea3447b72cf033e6251eea27fe974eff8085b7d98cdd2911b5cc0ec6b4bf4c750deb8a25 SHA512 3eb0fd648e2e3f9e5ff69a5e6cf0d867304fe18523accd036f28a86de368e4774088a6936c108ccc045092c539fe7f7494ea96420ebf6b4bec16880cea84bedf
+DIST chrono-0.4.24.crate 191330 BLAKE2B 492a5f1a458db9d6eaf244ac6ee750fee5b4e2586b7c675f87f2515143080774f13f9c163bcfc84b08ec70b90c7fab2ffa438f9b2b8b4ec1e691fbf9a104ad50 SHA512 1a9121870aa4d76448a1b118a2e135a145a55c7784c4f5a4f25732f8597b8655f32cbce174bdd65c2dc7b17dcc3a608454d0e3dc29b86338e42a839f8be1e4fd
+DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8
DIST codespan-reporting-0.11.1.crate 48963 BLAKE2B 39deb717a853ffbe3585e20a67fd7a75b62e2d796a66b5004876501fd7476acde9f126804f2ef6220ebab66821a3ccf058d544d689a2705eae44285f34b510cb SHA512 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844
DIST colored-2.0.0.crate 21619 BLAKE2B 5abcc05a95cd74a106c4e4f3c9b1722a7a9493c7d16c2d73f2a116d1d0d20f93d00c414a19871930e6286aa60cdcb0f4f4411ae059e7e76b7632cfca3a55ebe9 SHA512 c9ee830c1e8a32372ab8c7ce569701deaa6533fa369fc1b4c04bed57b1e686ed775fc76c3d9815ad21ee69cfc7c30d645abcbacad39081c7e37ff83ebb6d9e8a
-DIST crc32fast-1.2.1.crate 38172 BLAKE2B 80801a345f4c5ed8a5fd335bbf672eac1733a1c2b333dc8a8e0254338148ce7b34402201a8d2d7434dd1b057f33d99d3a8f02610ea50b54115d80bb8da28b2b0 SHA512 4c04236bb15a5c63b712c62652777917e947823abb20a0d0b372c850ec1c8695faa414e8de73904f1f1a296d7b00a6206cde8da404cf4cdaa2e8408e64b62b5e
-DIST criterion-0.3.5.crate 110662 BLAKE2B deac65befe648cabfca827b8c37a57a0c48ba1edf34b6e32799117dba9147eceee91b652244b2eb5523c88d8521ae3800d05fbec13b3b3548eabdb13a56f2763 SHA512 ad5d0cf9270c3be5d76c87ada41198d0fbdcdd9831f092ae7179b57e16df153d2aebc0bb70ad7b6fc98966240a902ed5f6fc7adf044be0420bbaa95b951e5be1
-DIST criterion-plot-0.4.4.crate 22546 BLAKE2B ab1326f804cbfbedcb415baadfee2d11b4a67544856fd94dae0f3f3a9bfe46550d23a29a0c8a3a84da6e18565dfb330580aaddfd69a42284499a36b2ae596fef SHA512 4f8fdfdf4ed5e1c410b8e133b36bf9add3d86d56bb23d75d37d92b1095b81850915209c7e4d19fd6aec7cf1b1270a9b968b8e37adc491cfc76b6df71c4619943
-DIST crossbeam-channel-0.5.1.crate 86919 BLAKE2B b223d0dcacbb09850d457825cb2a018494d798d0000a20eed3f54b1152e41ebca4698e7d50e81f467b86543779155ad08566da9496eee36aa06644b69cf5d7eb SHA512 f15aff67e9105584f5fe41e1ee650ae4fdd0d0ca0fa9202ee83c6f6025398a300decaa50d1b4682e8afb9bd6e11e95b69bcf23f68ae117419aa84df14ee7747b
-DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
-DIST crossbeam-epoch-0.9.5.crate 43883 BLAKE2B c0ee0879c583bd1051b63d29eccac37ceb9f9446ee8cb64756b2e3d95a30c5c11bc79d9d460be4ef4b62513049e28900a96085031f805d064e81b5eae4bc297a SHA512 ad822e967e5ef45fa0c4a939f057f44146f1f051032fd032355a75c0f45ae4e0a55e1d31c80bc67c01ff8d9c87a51aba7ccfe9a440f061fd8225c879aa663064
-DIST crossbeam-utils-0.8.8.crate 39681 BLAKE2B 2b3e64bfcaa044a9351c1cc8e9ea53fd68fd0bb9875ae523e0cd309a85ad23b340267bdb742d363b5d99fc065ed74f6cbb3ad1e33dec7d14d99ec458875e7e10 SHA512 ab960afdb82863160a3fa1c21c64b35b3112725bd72fc8e0724175937f4b23d0628253032229501938cd86a8e406a59c06cb44e8bdf34619de781a84ebb46ea0
-DIST csv-1.1.6.crate 886999 BLAKE2B b178d0419af671df570f37a4d054391bc883085b0cd3949de5e967aa4ca323fdadfd8c5d91eef1e8882ec112a1111cf255756eace3c7421e455ea2b6e01cb600 SHA512 81dd826f0ee85e7d335d844e9f9b4d2b66f7076c517d8050ee2e35721bfa4ecb8a906dcd9671b1c5381a968dcce0949202f1afe8eea535b6d215363d4f5be6fc
+DIST core-foundation-sys-0.8.4.crate 17725 BLAKE2B 8afe47838dc91c8848c0d6a96a604149e5f0762228dbc10c17b85e4e9cd2c3928712bd0b28e1071f5fd6fd76d4ef972cb86c6c929246fb6e84577776933a8ac7 SHA512 15da472316d6decc213e4e5f08ecd22a108ebefe427b890741de4f9199614f19123e64329da76de5e8b4c9ff74ffc31738fd929acc1460fc757b4aa1fd3fdbb6
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST criterion-0.3.6.crate 110967 BLAKE2B 7e6d86da0c218145505c467680968758641dfffe55ed6570d5ad0ee23115d484db45aebd5a0efa248f22e60cb8923b0671f51860f867fce74132fca90a3a843b SHA512 282d8d110b8ae2c4f96503ee9d5080cd40acb4bd5ceb317f9a0acf098f2a67c61a99fe3c9796424a74181910840411362b8cf5c53e5665b078483c50935dbdcc
+DIST criterion-plot-0.4.5.crate 22721 BLAKE2B 81118b04d9715fdef79a120d98ea85cc2c2b6b49ef44b28cd5c9984762dc400da37c7681b52a8a185e6208574c4a5b74b7de9e3db0223757258a8dd4b2214a3c SHA512 0e06a230d00471b7274375d37c8454d0e000ba513348463407083423151df930831c8c99a943a3d1e42155f98e09687e26d53bea7ca3f640171e055cce32ec83
+DIST crossbeam-channel-0.5.7.crate 90257 BLAKE2B ac8d47df391d64e05f2eac2df7113d9038d53639d963cd45109c2de71a1b32c9f687052d5fa88533271ea3569519627729fae1e092d2491d2b66bc38e21e176f SHA512 70d605a224db1a4e2217280cd2269a954781bb21a0dc5b0b08a5a83794daf1c941181f271c6a8347f72321ca2119dc562ee016fdc18104d5d3327a82b412e9fc
+DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
+DIST crossbeam-epoch-0.9.14.crate 48524 BLAKE2B 439eec7e5e0364af0fe0a34ffc9354ae289798ffa7480bc656d4a610101e1ef2d5f484d84f82c87f961bd622434c36adfb7a87f7fbd2c71077b732cc7cc765ad SHA512 543cb60cff7c0823733f6ace191b137a04025a2b40fe4fea5eb273772009627fb705aecf742bc59e01367d4c15a14aca73aa2caf7f4b509f4b25947e14fd1e19
+DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
+DIST csv-1.2.1.crate 887936 BLAKE2B bd58776a653f51c0c0ae57a1f7082c58b0447d5874bf91e40bc9d66558200c1447dee368f710ab99a9434df319ec53cf15dc90a470ccbd439a823dd9ef83b4ee SHA512 015d6990fc68a992a980695bc21dbd4ac00b6fbe277568981dcaa3e7edcae4429979c870fcd79b883114d1a5a55f66584f3cd5c27d3886453b4a70577cbf37c8
DIST csv-core-0.1.10.crate 25668 BLAKE2B 8e9a56c26e75f4c4c9e90a21cc30c60cc3fff17515ac93bc858e8ec45e130df2ecabafa7c513b2d2815269fbbd98c418269dfb1bf1425d2fd32fe46823cee6c8 SHA512 2a269d050fbe5d9e0f5dcda2de1e84bfeb69538dde86040ad1ec7307a214eed813a1482acb5029a51f18126d384d5238355e021964e47811db971a0821bcc328
-DIST ctor-0.1.21.crate 9303 BLAKE2B 8feeaacd3d870b721ecfed7c8df60a27005de1f2a099eef816bd6df2d7b07dbfa00badeef44027398ff4505871a69814d7d4ec90b07d36e371099e4d0aebfae6 SHA512 18a914f5bd55172e5ff199778babad9a20dd4214f36f24cc00531db5e169af66f77eacab425e8e64d053907366ebd3b448a0c3275ee1f8244822778b62c4cb71
+DIST ctor-0.1.26.crate 10803 BLAKE2B 93627949b92651243b7a763d3d45a22fafcf2147a30661c4cc017e222bfc2bc12b4071054e3079adc431fc8a5dd8b86a8d11c53c401be6db846a3d0d2076b9b5 SHA512 3a3d60c976ec02a9edfe04470af4b04b02601c48e2a007393cedfef5c13e22bca58630e9e885e635a71aabc3e0ad8fb70995876551cdbc6a31029d8d2bc2e86d
+DIST cxx-1.0.94.crate 196058 BLAKE2B f504685292650a076c3689540cbb5906721fcba1cda0391e855d75b9b1270249805986b501291d91c947c124ba8affa1659e43e040bb264d3ab3aa23b98d9718 SHA512 fb66c3d53dfa1fdfe8fa31ffb6ffe0f53fc87d5f56038b5d2f588fc56668f96954e75db1fc7304d183ebae2735f0c7297b396936d588242556f40557854f22be
+DIST cxx-build-1.0.94.crate 84842 BLAKE2B 39b8a11b925244410ac2dca3be5a27576ea67f5386588e768d9ac1041336170834c7c2d0cd0a61b3e6eadea4d6364e98bf4dca64204126ef815235a17f1edef3 SHA512 4e2b7ccb8ca2ba35d14fda222595528d3e7abf6b4bf5b8e23f19f9668377103808151ddf63bc1c5f725fa362dc3f33a827b026edab176cc99a36e0f890c13adf
+DIST cxxbridge-flags-1.0.94.crate 5253 BLAKE2B f7746ca703e95f8b6197655aae08b88509132b89d035c62420e3d0cc4857687171063e2da69a787938188dc5e40fccd2b50713ed929f3f097efbc5b5956b5263 SHA512 9d577cf6bd2afa2301e8c227f201c138a379457624833c3cad4e75c7ed046544b363ac4bd0f7a1a2142ab1c9d879b56ccfd681a3962be917099db5ee4c63fb02
+DIST cxxbridge-macro-1.0.94.crate 59873 BLAKE2B 9a29a2818cdd6047b49002c10542e2d04702ceb41823a12e27b151bcc524a05377390c65164e53062630d7ad9f849ec71070118de5eb348c98072e301dbd1416 SHA512 59120f8d0f498539a16921d18e0e53a745f4ee58f4ed40465b13722188d28975820adc3c632a4592c6813771056fe084674daee6c56940e50f6e9c492c4fd90d
DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da
DIST derive_more-0.99.17.crate 55771 BLAKE2B b290bfbf06119018206be0f8ad4c92508be4cbc443f1a937c38961e207fc3f433d8a87b2b5a17e72aa1735520799540557d9dd9e49e26b8eb7cc80289afd44bd SHA512 0bb5a94e56d35a17ff4deed61c437ba75c9063694032ba98b58be1b072d33f2fb170d51bd262a17ff1beed2110b334528de75d5315ac627202ccb13d8c490baf
-DIST diff-0.1.12.crate 10223 BLAKE2B 369f305661f1da31207f3801ed1841dbce12451ac9c3e9d3736f7158ece433af9b2e42c29063e5d93bb86b1d300e503caa9c3ce7dd0b25553f91d72a9eea5298 SHA512 0e81331c0424e9369963e23894a6412b65a3ed4f3154ccc184fc84cf1c5985b81c586a6b34e8c6c0e5c3afba38fb15277cfd89e7f50c85bd5d8d4d24ba670d16
-DIST dissimilar-1.0.3.crate 28403 BLAKE2B 79f9f6b2cd754c1fc49959ad3fc081bec521669ce276c48dd5e6e2a29669f00e5398b391067a40f4bc08336408f95305e4b736485f7dbb2b882f1aa269bf761b SHA512 0c05cbee349bfa775ae37ec84642b204838599b4887f3eace9cfb34464cf747f43caeea9c741d342bf5d8b142269c2eb66d848556b6babe19e878a1e2afac529
-DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
-DIST ena-0.14.0.crate 23052 BLAKE2B ac9a4141d831bd16cfd260a162572b43e9389b5cee4319cc22a23b550b25370cf49856c320fd4489633171a4fca91cf7091e974418ddbb1649fec8730c9cd2c9 SHA512 bcf842f8f5da8a7e9b8e51df50bdf3f00234534f1d59d96bb1e45b0ee4fa74847eb8b9b5ca615a66d84d23c629d7386f28294a5c64d22efdf2903bc89faab2d4
-DIST env_logger-0.9.0.crate 33573 BLAKE2B b9c22205ee60ba97da0d338e1d40dda989f0d766d9ebc60e610b53db882a803769fb3c093348c031183856e16a5a948342e09551953f0b98cd73437bec658bee SHA512 d7db85d2f7d16f7f97b6714e01e342ab6b784c799ef26ee322ec85fcee28a549b6e49a49200ff78eceacd0c682e941f8538a497e2a2a196040769c2365feb566
-DIST expect-test-1.2.2.crate 12293 BLAKE2B 7c90caf4195613b8437f86fce5e4243c7f734fa49968e0733adfbb82db5d513d336dad821ebe36b91f0f523dbace79d07eb30d596df1c1edf98144da882ef3aa SHA512 6c580a73cb71d66670c8838bb89125b84638306adb8affaf0b9c30eab8906c3b4fc2e6ffe16db90146238ce6659acdb64a817466ef481122269252fb13359ecd
+DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb
+DIST dissimilar-1.0.6.crate 27459 BLAKE2B b62d27ebac85617e0111f3424522acc43a38295c024ff2e6b9f1e152bbd369fad266d1581171a63817efc319ec1ceb6d5b5c9ebb3b8724a549ffba32ed860622 SHA512 586246b66ffd16fcf29bac81bf683ba964b801e4ce7e9fe78499a0e8575378f9ddafd75982101323ef937378a8433707b7986aec8cc9acb1bc256fc4ac7827a9
+DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
+DIST ena-0.14.2.crate 22991 BLAKE2B b609831e2f5dfb6602293cc3260098bf0dac09afd516a8e6062453724d7d3f516bf14811e81ac3e11efd917087dbbf4f9a3524fd30ba79cca85cee2c0c63d77a SHA512 e66eea99484c2b7fa2df7c8b3df3a10dd185163b781fa03b1695900a148a7c1a1676f7e6dfe2c5d18b61a90a6756de0bc42e9c873fc7a53de3dac799b7c23c01
+DIST env_logger-0.9.3.crate 33291 BLAKE2B ab0f0f85771bbdc6c7709f7cd4c86d9eaf436b073ce614f9297f60e95b6c9e6141d8810d1dccc575893c796358ab65ba56a281630ab75350e8f421167e5d9c52 SHA512 a3ee86e77d980c2eefe4be32d75422aa0f9a60a43fd11bafaa3c9e556584cf65c36976a6aa650f87426edfd82de0cbb919e0906cdba6db8b486b4dd4b2583bbe
+DIST errno-0.3.0.crate 10268 BLAKE2B b5afcebe6fa435eb67407c063c7d37f0303e7a6770edeafb1b87f36b7d5773c28c8b4b3c970e12f42788a3409f7442b23f015b2e6a5465ea4c6b0e9b9fe048b6 SHA512 8b0626190d965306ddd84383b6b5ab529502eddf3859f7b480f6864e83310248b6044485e000bece8b95ef24d2f1bfffad6c2eeebd177f3a10e819b29e5e6f5b
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST expect-test-1.4.1.crate 13530 BLAKE2B bc83162a09c2493dffd45d8d8bc11d3ca86ad1d76583073792b411a5af39684d0e80e5183eeb3b87f7001cde46901b280b67ee186283d23425bcfceb6eb5730e SHA512 5665e7bc640fe56f1134fcffb9ac80e5d6df820c679b768a0d68d58198167d3ff0893592adf88299564037ce72a198c6c8cdb33f83683ca5225e329494a2ee52
DIST fallible-iterator-0.2.0.crate 18509 BLAKE2B 9630fcadb2f30fbd8a2a057eb992bf33c0aa2d163e6fbd43de9c8c350e3e932ebca79a6576b215e17a0566898f6e37aef806a643d20c16a6aa73ca515fcf30c0 SHA512 c558fea3fcf3a7756acc0b63d38f76dfe7eeed4dd9c12c46b7a7e8b8bea64d00e0cc115492e8b3a1a19e86e6083477dcf7d2d72ef960b44f24d61819a3077e79
DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc
-DIST fastrand-1.7.0.crate 11265 BLAKE2B 318f6c903a0ad0d0eac39638aceb162739868efd61dc0b54f6aac4c96b7b1283c8d463b48b36f9ea1fee640a2081a0eda39238cd53cdcc24efc4d17b4a3a09d4 SHA512 6a1a8cd4f6f9bfff07a4ca18ef84839e4427ca9bf9b6733bb15b1b70cf2439820d6a770ae9f3e5e10166a6144449e37e6f3f6ed9acb761688207fd7c53d2c673
-DIST flatbuffers-22.9.29.crate 23598 BLAKE2B 30aede378564fea17982220b4e0afd5212f87bbe37b924b1f9746bbbb84543c659950be749c8f3c89b5c19342e4a186a5598aaf5344f5a27d500c8f45498563e SHA512 441d950cd477b09095254c63557e8dc85fd9932e50bad90dce3b130d88a18be68494d6403fa04d1d6428d50df0c5275014208440a10720bdf7824d83bfb279e2
+DIST fastrand-1.9.0.crate 11910 BLAKE2B 570c66ec1d4ace08b9790299759e3b6f0394aca52c4ec2e02258229c198846cba7c0627807548bac3ef1f86c7e512c4bd105f1e18e35ac0ea6934f76a6838e1f SHA512 321567b5fad8552c0efc4393b1e77d1bce288b0a88c475d432f79e91b3457ee6eb5db9e4d65ac6381b9990c9916f4651b6a76250df44d51ea3e25bd8184bdc52
+DIST flatbuffers-22.12.6.crate 23942 BLAKE2B f601cb587268da91e27c35b40c98ab84d0564f97985521bd1f245b18b44a9e79a3d0a643a10435bcefa8a5d887de5e6021d760e0fd62147ce7bc7c9dc730437f SHA512 ef975f87d2bcb45c2e09b73413bc17ea1cbef35e415d373e57b41e689b275e1de5607cd74cceaecaceaa2bd45bc643b95643807447c47a837d6dd8c720942048
DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
-DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68
-DIST getrandom-0.2.6.crate 28043 BLAKE2B b9871b18389f6e5503b3b817baa37dc585eec980851114b3407f34d25bbf68fd70e8bdef60ab682967a1397cb9659b343312deee740aa2107bbf38d1f4629d60 SHA512 3fca26198bbab1a9e189fb45ad6cc7c7a18969eed6f68ca43407a2d463fe004955b1d199c1794a23a53ba21fedb61eff86d380d2bf49bfdb6c7055c11d543096
+DIST form_urlencoded-1.1.0.crate 8734 BLAKE2B eaca73d73d16242f3fa3e38e23531c67c01404697bc7b7eb7c64fa04167dcb403a41818487fc46c5d9118842818472d549a2f5fcef5e4d962461e1c103d895d1 SHA512 9e245495dbf235b147e4216b313f2e6a96357d2782a66d71c08c2902c6a065701ca8ecdbb6b2035983a83c44cf36c921b5c71d63af0e02dd39bf5f8347117e11
+DIST getrandom-0.2.8.crate 30553 BLAKE2B 30211bc6a8ceb5ba765cbf068405cfc08842b2521c5850647971f4cb4bc9a5b0a9195ccfbc1461de019eeb7744ee69f934922ff21677259d7b815800516df4dc SHA512 cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5
DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
-DIST hashbrown-0.11.2.crate 85713 BLAKE2B 402f9f1bdcb92631206f9b72923ee35e28db8623e87469c0f1496664bc7185077013ab3c8aea68268241e5b2504f10cddc613a350abd4291050deda6c112e559 SHA512 c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c
-DIST hashlink-0.7.0.crate 25309 BLAKE2B 39370daa12ee047f1fbf4251b46dfc797a75cadb743b1dddaf94295352888d0d9cd2fc2049e6646ffefac527cd16126c2d61b62f271c9cb678ba40a2677e8da9 SHA512 bef02ac4ff270a7021e0da24f6f0a7c2d601c20e2bf347bb4ab24058d97d25fc863d6aaad7971fbb7fb777643f66c7e1af47251acd89e12a123056c0a7810861
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST hashlink-0.8.1.crate 26404 BLAKE2B 6dff33a44c6cfb19d0258cff5ecedd6677da0987f13b2071d816b22e0c707fa0b4c3efd26e9dc62516c29f8da29c321561a4b785a916c3f5349a061b26e7f17f SHA512 e6b0e843c3dab51225c90b7428fec00c5047d6ea15cb7987d7884271c0da6b5ef66e4d7aff3de764c41ad916724518e9a556b582f6ddc745151d983de0a95155
DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
+DIST hermit-abi-0.3.1.crate 13793 BLAKE2B ece7865a09f566a95bfba5f1fba380bf12836c3761fc6d5a3d5543d3e50ca0eac81bb567d50b5643849cf1a752aa651a0db4c053c60faa8f1c74fe2f12819d71 SHA512 a55fe9230e4e8fef63284befff74108f206e76067257439d334d33068875368902dc690926a1feea15611f14123073867d7e9cd21397bc484cef849d6e1dfbf9
DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
-DIST idna-0.2.3.crate 271023 BLAKE2B 157ece18825fd3f8055581ccbd14191a6923da4c806ce51b3d6376682878db000a1b873f744c8e9e1966e4c1f8393643bcb603deae299ed0bd87847b0bd2c591 SHA512 1278bd561ce329e1dc7a6f24a10f83d9a068af5d15a088414f3921c6728b0d54f4d60d6f4d0d5a786596ad226263e1e50c3842f192d5758aa4665ba4ed5c269f
-DIST indexmap-1.8.1.crate 53220 BLAKE2B 9605405ef6d7559fc5d6fde38cc6810ae49e69b93e0687323f9a4ecee9b513a1cf7c57b8ef625a9095fd36cc7ba6e98410fa11a7a8788c424fb6a0cecfe6b37c SHA512 919372d9bbe791092ca78026ea6f7f6b6560b5c011682b21afcfbbc76684a18844602545a527e3342e2b787643b1c07c8f18f2279535b7afdf395361c9a8749b
+DIST iana-time-zone-0.1.56.crate 19517 BLAKE2B 88a83a65b2e17afff6491953c1ec508168e3cb0d720992c7958aa98ffec263d3b32f4ad07664703b1e429d96faa211a50c557d5a1398a849c45ab9df796f8e4c SHA512 d1bc3ccc17c6d3abc44f8662a15b5c84f5381f90dceb5e14a826595706178ba0f8cbf7cfa86d3b7e967a51ef75a27cb868fda7a3531be9bd6e77e813580131e8
+DIST iana-time-zone-haiku-0.1.1.crate 7200 BLAKE2B 9e748694423cadd6edebc1daef2aa4126904f5597202874d68066a15580cade77f48f1e6f2a77e17c7de0fae5204ef1262ad5b6f30bd95f4faec77748aa2ae0a SHA512 daa7570aaf5a07c990b07fdc2153b63d947598ed35aa9c35c4773772a6c67997143b120a18ff4c7c13474d296e81a92975ebf5b9aa9d204c1820e9629cb2e369
+DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabea8785b93cd247b3aedd2aeef2cd99978a027186290016ed924db39d19fe7d397da1ab570be9646bbb630a SHA512 9b7cee27811ee52ed9bb39fe82f724742eef2e5370642b6c756bd134c8cbc20bb6faa9f296053672dba8a66f7356a08b2ca99f176407b173e2d566d85d066441
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
DIST influxdb-1.8.10-deps.tar.xz 151055544 BLAKE2B b660cdf996ea918db2d569472f42bb48cfdd694398d2577e4e97d549a549e90851b417463bc5228735b3b23d108fad83868971770953bea38ff27bde4fb9493f SHA512 bfd89dc2817c59de1286b2dbf4e9895d8a104aa1e2cd3db54069e40328d51baee152c761ba92818f67b2a6ab20591b543dd84259e4e2a545a79cd59ca197dd95
DIST influxdb-1.8.10.tar.gz 12082933 BLAKE2B 511202025bd0c2305b8fa3b8be439f6e2941313b42587e6e6eedfcb6ae44c8fd821e5ffcbde288eb4d2d426d3fcbde940cdcb2a993918263ec31c57ecfce0e85 SHA512 4f5d20c190288d6397f0e87abd9b9136340b17f091c361cbc111ba661a3e63626edf5c74ddeeda164d82102dd06026e0037f50da546cda25e6c8647f4c739fae
-DIST influxdb-2.7.1-assets.tar.gz 19829786 BLAKE2B 1ca0fe1a6265329b226eb4de0d1310e71b766bcd8d05f636e3ee0c75c2b9f50c90b8c7f38225c0380b3074f84eb07805a7d42cf06cfbdac3b8b1ffad3befb8e5 SHA512 85f49e3e5a262fcecb801b3ba91157557fa30933a9cc210f2ad7395d3165225fba2f50190e452f76b2567adb765aba297dbcb425d388851f742edd55375da135
-DIST influxdb-2.7.1-deps.tar.xz 418144700 BLAKE2B ed2d820cf67e87a150cb5f24e2405d32c9b758793ceffde6f9178b4b36fd7ace4a0db6a34f0840f361d9e9fbe4ed6d712657380adf6b7f2783824946be4695fe SHA512 b3ef5550df982e3f0e0e171f98c6c5bb2a38add2f28a96f8e1ffe9c8ab8e36d1a3f3a05fd1c51bf138d956dc8f625b5fa4e526c3380aa9e4c7046e2c47de1918
-DIST influxdb-2.7.1.tar.gz 14245574 BLAKE2B 250b5feca6ac9160622a82addca7c3a39ec1232ba473d61b2ad8798aaa877beea528646b62c5f498db6a901a62ebd52e1039e1c4b7f271b2ae5603e65ac1105c SHA512 39b25476d57924058de9e6fee42b28565d9691ca6fc83e05b0449dc8062720e3d9942a25cfdb3299131246b43609365902748321e67bb2aa278e51cc434e1a01
+DIST influxdb-2.7.3-assets.tar.gz 19829786 BLAKE2B 1ca0fe1a6265329b226eb4de0d1310e71b766bcd8d05f636e3ee0c75c2b9f50c90b8c7f38225c0380b3074f84eb07805a7d42cf06cfbdac3b8b1ffad3befb8e5 SHA512 85f49e3e5a262fcecb801b3ba91157557fa30933a9cc210f2ad7395d3165225fba2f50190e452f76b2567adb765aba297dbcb425d388851f742edd55375da135
+DIST influxdb-2.7.3-deps.tar.xz 421383868 BLAKE2B 0590a5023de66cb01772ed2d18f993f8e706e1dfd8fb1a7f191bfe0244baa16610537f87b20fd16b840b04afc7b5f97cc751a8ba1bc9f179f31bada73b51052e SHA512 f0130c57db60fa3ff622cf646d234f1bc47eccded070ad959df541f8c0ce3a9feefeb86f9bf1b7fbdf562347d40e8eabd42ad65b5a415dec9e74b9542ca31a6e
+DIST influxdb-2.7.3.tar.gz 14249851 BLAKE2B d859330ece0aa0dc0eb2ce7246d0ee7a1f25796dd436d102b402255a4c463a93e0369287228b4f840ee333aa3509882aaadddfae901e9e2842cfed6d582032c4 SHA512 4d9f2faa742fda0366d3386487461d6dd06f6ad27589db3b87ce37242ee9b335e96028d6685683d2691cd2424a1a8d2fff535056eb290af0a1152883767f02b5
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
-DIST itertools-0.10.1.crate 116219 BLAKE2B 7d354daf7b069515ec7fe77ff2f4f07ecf870735d7ca166fd6b10ba89431cc27bf264c648efd2052206e8edd8f596485b913071453f37e5de47da44e935db79f SHA512 8626eee66aa598e16f5322a6fc55b17c622656f58635c990f5cbd8faeb4739690b0abb3efac4a9a3073752e9f2a51a0ba29401edb12e0f6bf9bddd8d1b394dbc
-DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e
-DIST itoa-1.0.1.crate 11059 BLAKE2B 5a2e22ab891ec883a90f652c88f924113252765579c03c783e43210fb2604e9e3ccbd4c1571087791be07bb99c4e85c7f85253be831b3ea883bc0ac18a927980 SHA512 8e7bc1e9bf4fc06871b9fe20caad4e0af965477d724f4c8d0e2a3a4d87aedf99f92e4e583a6440ce574d0fb43fc9d6a2e80add52a2f64210c6aa3b402e424295
-DIST js-sys-0.3.55.crate 70499 BLAKE2B 6108d6bf4be72dc93db5c2f45d59dcbd7b94edc02ccb368a05bdc0e259768be4708e449647b254bc3c542a366492a02f0569d08e69c00249f58b07a566cdf97a SHA512 bd51d61684b3683d5b80df42eb80cb2e4688096bf14fcbd30234503709b1730ab25c7b58112516aeb5d7f44ae20e0ba08bdfddb0518a20603bbb4ca74544d4ac
+DIST io-lifetimes-1.0.10.crate 37294 BLAKE2B 9b8836c4bf30e6d102fd9973ac66f067c3ff8bc2806e55f26368ebdc9854f2e9cc6eecc8014f9a0b22a968a6eea8be243fcb7a641d2d0dfc747ee08a6a1450bb SHA512 4b2cde9522780a408c5d4e6406286bc5dd3a0de1a99675129e9856e5d889498a127fd5dd7c937a7542135abc2213b60bfb6258b7871b8709dcdd79d60455bea9
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itoa-1.0.6.crate 10410 BLAKE2B 8b1dc9ae9d55a006bb2abe3b0282e5e77397814b692a87b9becdc2bb74deabf5db09e3d5a2f604964cbff046148025988a5d916480e0402b2b80646fbed32875 SHA512 e1fb82fe16e1248141d48de9e05e7abed0c6fef58f2ff8b77b52aca5f16f3600c46707ff4c7a0f0307047610f29775bda74948d6d1efceb74b37cdd22e1fcf31
+DIST js-sys-0.3.61.crate 80158 BLAKE2B 07980db627a1f4f385586ad0609b5daf30d590931d2ca0c123f2d84f6c97be0ea935aaae3ccd082440c7e7da1adb4eccfd054a3598d99351fafdfa748f567b5b SHA512 f97bb546af2111fe072a23cbdc71e4fbfd39fbfc6be37132b306853d5737175d4c9c0c4661096012f7fce3612f81509e62a97df8bcb21d7cc796a8084e5b2e16
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.121.crate 574702 BLAKE2B bae9215a7318e5b5b6d821d2320ce28e883d04af0bca40ede49b9c5d575d28307b07077b3d59be28347bffc4c69d6c9dd334733f0c519c16de704360f6fa8738 SHA512 aa1ee710b2a4008ead7118e85d7f2d29fab8aa0e1111436db8039a84737727b8d1a8a1cb72acd38abd2656d22a5025046d7be7d8154537f8a503017e0548e953
-DIST libflate-1.2.0.crate 40864 BLAKE2B 295fdee2e332552cfbac2ccd382552dc879fb441517a49083b8574868b28ffb7f8428b94b6cbca9b673cb8bf5e0cc4b22c0e10d2efe1d94fdb93d68dcf3eb287 SHA512 a5e0448e56ab5a219952a4b4efc3407c8419d8d9a255670f42b8f1bca7f7fe5774c2711025b18285c4f1310d26d0347ab2090b0f734bae43b569a0879f67d1f2
-DIST libflate_lz77-1.1.0.crate 5729 BLAKE2B 6e8bad43512e90544e3429fbbc707ee2a532a9d5451dd6c394278069d0f17ecc7711007dbb8a4c0afae3ecea2d872c677f21732d6d509d94ce485b188b05976f SHA512 ab0cba9d324d2f7bf2a741e8ef8b0ee7bfa85ab6ee63b9ccf6ff912461ca854d6b7467e527d74ee93a219d6dec5bcecc3e61eea83d4cf5b2452f9a0aa97cd95c
-DIST libsqlite3-sys-0.23.2.crate 4687087 BLAKE2B e1b91a2b1b380045ca31c7afb80fc3127bd4ce5e8d5cec1fc90ea07052a42e890272098618ca9ef0ab4d36673867e91a0f301b798abfe4eeeeead5a101bea4a3 SHA512 7f079c6bfbfaa2af24a351631736467f428fca0a9c04946e89e629884e11a13b0233c59a534c8962cdaf97b94242aacc315431c9f57ffc68d50bc43a0b0e501f
-DIST lock_api-0.4.6.crate 25215 BLAKE2B af1d28010f7c340dc0857afbaf8acd2396228cabca26e52f79526cc4eafb072c2aee8987bdd9ace4ba87c272f6fc816fc6f62a69e4d7e66a5c6e91ae3e824ede SHA512 ba14d341564eba91bb5ec58bb2e0d6c87e70b3694c4609396f0c0f4afc0c6c105a88cb99c303b1e9761b0fc6cae56f79ba6a7663b063454ab1ede4d49274906d
-DIST log-0.4.16.crate 37758 BLAKE2B b9a88c3d75232ba57de8c30d97e6ba056bb1ec128c2c154c52cc8fa47e0617902526fbf1cd526152d79db9236b00c51afca1eef7d9ceaa205177993849d55d4f SHA512 b12dfcd8bec2f44864b8174776d3151ddf1fa1d82bc8a54fb155d5af3b2af959aab4899d72835a3c25cf58d6c41cd7f1b16c2accbdc20a0eba7e8be3d1883ee1
+DIST libc-0.2.141.crate 671145 BLAKE2B c0e37825ac3fba376e942a0e2c2aeefcab384b24c50a453d1948376cecb3f953d59735e37aef8a9ca7ae707fc6b4818823fae7330f213bf084e5460a82dd3ed5 SHA512 29d81f440d62fa1c9f7983c38138994e61f4897761a50a4f14abce1ced85a8994c6f0cc0ce86f77113b74495e36ddbebae6627f0b94c44621620a395a6723cdd
+DIST libflate-1.3.0.crate 42136 BLAKE2B 05d70256f3e12067985ef2247e08b4c16a4248a5c31b50105833e9677745d6b1c8ad79de49f32966b9bf5c472ba7b5233fc12e26016dc163aa951c1365827049 SHA512 3b60fa5e51df20ed2e5821cbbefb73da652534933947fd53bcbe17a0ebafa19e9ef9666328bafd4a02f551a96d6b006ed340d68035b491be1ae88de62961be8b
+DIST libflate_lz77-1.2.0.crate 5964 BLAKE2B 9dc410c3e8d3b7d16a9cb7e16ac925b2d7a3ba97a4214380de5f9e99e35a5415b82ad961d41221abdaa8a0a6102ce0ed9def57ff89822ca714cccac0ec4b4308 SHA512 5aeb0d1ab0bef43a87552f93dca760450e6fcb0213c9dfdc0ed2f72fcb6ee1b26add02705f7c5a8552c975c9673b1a147fa036b6f4c42c07675a11b3cb1929d0
+DIST libsqlite3-sys-0.26.0.crate 4840390 BLAKE2B 2b6ec9f110afaa17cfeb787f1d99a5bf5e6f062502ce80d31d212dffebde3be5cc9f4bdaeebb9e0ce0f363b0df5e86e5115a2c6e528710b1babb628cc1bc39fa SHA512 8c1cbadad1b14979555121423cc8245ebb6cb4bd72ef93202c5188c4d799cfb35f7ed8e9d7ac420a86cd1a3da7f15426aaa928b6c16510592d8739b54ab324dc
+DIST link-cplusplus-1.0.8.crate 7674 BLAKE2B cbb93184d9deadd4912f6e03dfb7bb9d37f01b6d8d47dc9744724c848f297adb9cafb1599c2bbaffbff336f883e9a24c3cb4f11745ec4716a9a2c8cfa05f6305 SHA512 690afe063eb9726faa03443bfd01789a559aa10ded4bb3714ef7b13095005c817ad019fcc62b5f7b286c974a81e387ca3342d238e60ed7ab237c3628383a661e
+DIST linux-raw-sys-0.3.1.crate 932203 BLAKE2B 090e9c11a36ed26b244d9f130c87d1c6adcd81424e83eded72ffc421192d0800af27c683afa262efa8b3063f0ea510ec113664e0c2b0eb273325d2c30443f313 SHA512 bd82bb055a8f40ccd4a1cbfbf8c628c63ed609489f7ebf61b9ccb268474c16e206867c3695e1da2840c72cb26b3f646fe9585148037604adfcdaf7bfb494a452
+DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
DIST lsp-types-0.91.1.crate 54922 BLAKE2B dacc338ebbe9496bc0bd42b27cc74858f7a0f0674cc2425b8919ad8b3894b19a91bcf406703f88765d202373a25635fccf0d90cf0e27ea5bb9494b16ce90af4d SHA512 a7b51c83b32464e97bcf5791ac208e2be123e2516973a35b39403b0ed026039585a04bb030cf60d318775cfb740d774f7d13f55505ad5345973e6a39f57a8a87
DIST maplit-1.0.2.crate 8871 BLAKE2B 3cf975d35de2d2fbd50227a6d2c5e72227e99197b620c8f29be97bd3666ec162deeef0d9e6bd327a063f175201beeb73c4ed27272449b1df0b78238b2d36ca22 SHA512 917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f
-DIST matches-0.1.9.crate 2246 BLAKE2B de155202636c6a03ed68cdb21e8ef96e19b45be040a82943d2d7e5192c0ab5c253ab6d65f0b30b2689e21da79cba684af5be6e63c48266681aceba356f6eea41 SHA512 6a2809687d30ff04ea97bf9d1610d746e097699a4c3625ffd1b7b1e4a9673ece9d559058c9f760b99d6ab509024f7b338e7cfa6fe767499c983efa98bfb98305
-DIST memchr-2.4.1.crate 64977 BLAKE2B 31479718c118093b684bed946eae0706d77d9d275bd49f5aeff4de490f479abd60c7dc462150eafffc6d6fc1da0853123b78be038826b775d2a41a4c39d93ab5 SHA512 d8912e3902a2126f86159bdc998532a2890b882cbb7d59b5a470fffcad4c32281e045f2fff48a235aa4189f1928866bf3d33b699d50866ad6b6c272bba7adb11
-DIST memoffset-0.6.4.crate 7664 BLAKE2B 098783d0fde7268b16fc5c9f5df005b93daac18092f04d981559b9f0fa310344c6fbbb93d42587ec7107a5c4e8d757508377dadf03471dbd7022f3bdb5b3da4b SHA512 bf8d05b72571ccdef32a93cc4489ab4cb7abd41415d55572d1dfb983053afe3eb2615e968d87a326af90c5702b9959150f985a4186acfd61df9b69a74e99713d
-DIST num-integer-0.1.44.crate 22216 BLAKE2B e1c08427e006cde6f2084adadb6086e87e6d6f8bb8dfa757a8228aa671e862a366e4bd8ca5e0500008c18bab128aead9bd5b1e53568a4f40afadcaf3882ee98f SHA512 d07e27ede02a1d007373935fd91e57a26e0e84ae14bbe24be66763baae6850788bd64ad2598d2bde4f4fad6c8a4675c40bfe0927164b16b9b69de5e9a83d9771
-DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
-DIST num_cpus-1.13.0.crate 14704 BLAKE2B e7a26e597ad5e45309393a9500b031ba64a77831320cbb96d7861139a2f7a453b7ba06a3255439b43ac1e2e36269b0a350d514020d3cd82c2513b57934b3ebbc SHA512 e75ec298fa682be84bf4efb6cf40126da9233ef25f07e887c2fa7421ee78790204564e6406c8219466651f47421e27f69eca690bb9cdfc982b644d78cc10de3f
-DIST once_cell-1.10.0.crate 30414 BLAKE2B 4161622dc9dab4748a1b96777da263523f23329808506faea7938160f0d5ca07b5edd31f385b14b88dd2fc34c58063df4d40a34a479573750a369512dc956992 SHA512 f6b5ce5e68923296d2041f83ac037f10ad7b9e94fc607c71332e8ee942a02c29534c2073cecdb132c7e1d91428e9d9687fbf05393ca0abbf7e15db50bb3b74ab
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
+DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
-DIST ordered-float-3.2.0.crate 16239 BLAKE2B 6b5d6cfe13f0f1e0a7450df28677c252ba4507805f8fff951b5e4dfc1fa970215fe8991f7c103270257ed59e049907abd33d67722762a9adc15b00fa7631fb1b SHA512 c3225f8b6174e22f8588d72f8d7736bda42fb0c54f9f57492bef2bd6b22cd0663fb0ca326f4bc5d72ee8499ce4d2cffed74173d0ef7e35bb10aeb0445f6b8240
-DIST output_vt100-0.1.2.crate 4062 BLAKE2B eed08c0a1800560d4f623f451d818e3c7f0dcd72fa99f4e5e6dd4934e50a9649011ec955e06728fd017d58bb9f36cecbeb9b4aa8c13c040225c24019f774e63a SHA512 b8eb00a541bebef2e0bb44975c4547fadfd4ab88a14aa8e31945f3c73531a550cf5729f1f3d18fae5cf36286b82d1a54fb08b28720f1592ab6cfe0814c8d3036
+DIST ordered-float-3.6.0.crate 17666 BLAKE2B 4173e6e58d97e06630a1c732c47539478b83efe39708cfac77354726163ed811d6df130e51fc9b4baa9b7c02fe4a4f7d3677dee887a6d54c72431f5cb0b5db8d SHA512 83386ea83101a1fb1327314f02b12ab540add86bd45bc8d2354bddc0d680560ceebb55cbe74bcbd46f2f2e2c7cd3e36e14e8b83c5045c79199c2ce29dc2629a6
+DIST output_vt100-0.1.3.crate 4473 BLAKE2B 8c75dbcd413e1273ddf077f3b57996953d70376be6e438ee1a4de83a8c3c535d4cc866849aed91df74aa9b22d41d428b1142cefe035dab7404ec89af9efaa832 SHA512 ccca3b4c582e860b0643dea78302fbcb96f8f86b356041ae9c685e7c48f1721fd3366dd1bea39afc1bcef03b298d0f6c87918a1ba92a56e6b06bc8b4123c0d89
DIST pad-0.1.6.crate 4963 BLAKE2B 38e02652f89b3020e1b5161c73053c060eb83142869f297bc8d21f3a193106f1c3565116c7c3ffaa6a30da5ccc2db3c702c14a20b13eed13cf33a358aebece6f SHA512 712b402d76512dd074862c719ff3b066b4ec4e7c56f37cf3b9359ddf45cb21eba3bad55d4e26b6c61c5b982c5adecfdc6fccee7939004329b7b12c8ecb997132
DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
-DIST parking_lot_core-0.8.5.crate 32466 BLAKE2B 44d9cb65444ea93fded7e216e3bdbe2256ba1611f5cb6f80d67a01e71d428b81e6c7fc73cb928e2125f34bac0abf4d1da39f622e813dff89b01fed7632308b7e SHA512 c4315df551748d1ae77655e4d9f8c90f911498856e5358009e9e02e410bb8085f006f369188b0753a298371ebd74a5c383d848b65e31b55f3462381308c83a00
-DIST percent-encoding-2.1.0.crate 9748 BLAKE2B f3ff35ac683724b15e40c85e0fb8ececb07b61beeea82b7020f02d27df05a8a3535f157b3cd688533e414d6541de7de8640ef4756706d8061af0fec94ba04ab3 SHA512 98af4dfa7c6a3cf0d5aa929c436f9eb1ba1b576a944513f1284e6df2ad06be7cab9eba145d888d50af88f8c970bacc702b323041bec6d4fa1dc34095186c628a
-DIST pkg-config-0.3.25.crate 16838 BLAKE2B b6ebbcacdc0f440e24ce5730edd4b371387cf7f44e438216893f29c0f303ac7920791630d4a9bf13581da840c8888e18bdd78dc61458d3331e967b3dfa6d0597 SHA512 46658794f0a7446354041c1cc08cf637970f7651c0c506e2b90c9d4e284347cb82f05ce282cc55c8087bed58a5b961424a56574f4500de9f3ba9cb9e71667aa8
-DIST plotters-0.3.1.crate 8595577 BLAKE2B 7c500c43c2b2875d9dc17e4eab57cbd8a470c6064deadf4e78c429abe2f1e97511f64bc67782b4e03e7cc47c8ac54aadfa5f7cc8c27d3b4453d2ee8252896c99 SHA512 c7bcdf9da56c2d1c03053f61256d44d2384fac1a9a7e0db058090c13b359bce76a2a96bbcbfde04fdcde0a9dd3db8a1a22bc57508b0b6e4a374c8b35ec6c9707
-DIST plotters-backend-0.3.2.crate 13524 BLAKE2B cfd42df0fcea4e5ee944a6b8c48e3b7fcecefd6d97f07e1c333067193c211da9eba29fb56e9fc8b861cfa2d1baa3c042fddb494bb66b9109656b26bde7901f7d SHA512 116bc6866094a2ec40a9ab9363378566ff37eeb4a4e3805562dd3e95f1d5e8664b54d3dc858a2c9974b125e308e46b77c294de2a655f836d342712c32f0242a3
-DIST plotters-svg-0.3.1.crate 7596 BLAKE2B ac8dffc5dea833c0506c472567056be0804e5519828b68f7b3bec9ee63dd59f9aa828c10732a50e004214512df06c7eaf164eb9613cda75b2753270fa358c0d6 SHA512 4d3cd02534440dc26f5eaa3b4966081901626c61d9fabe0092fed87c48929cb9be070d9c34486fc7c7bef308337ff4890d30f9581a613549e507db60dd9d8876
-DIST pretty-0.11.2.crate 27032 BLAKE2B 86a58ead326c4c70144ab675cae5a442ae0e89809155e52625b6c1563b226f98eff512366a9d5da5f96bcd40401e6c66315fe76bbe7d4b168d841f4e788481c3 SHA512 d581421a57acced88f21072c753a79706f7a395eac7d7c7d151e924f93a7d2d4f5400c58c5a3f198b5179370c0decdd1bfe88a1ac770d7850aaaa14f71168a74
-DIST pretty_assertions-1.2.1.crate 79474 BLAKE2B fbdc7c7ddc40aedaaa845f9096d52eeadd9772f64fda71eb2a2ecfd40745ae6a7ed8baa2a83c909f2a01bfaad31c00aa7c24af6d449022486dac204a3671dd55 SHA512 6e6cb21bf03f34effe3c38ab9b31d768c7a7c02dfb385efb5c1dade7547a367276c5b00c4eae11aa85d90b6f2dbe5033acdf109200196e225e335e73bf5e0ad4
+DIST parking_lot_core-0.8.6.crate 32567 BLAKE2B 9943244f813879ab85eae0b9a6bd8f8f0070fe190bc43148a832b217ad546bc97e58707a3987072965a79ae8bc2fa839aebac272f2de00993b8ac1ca0c5fc5ef SHA512 906241f8e2d71784d572fb78978c9550b19af9c4e32fe3b2da751287806d0faeba61f5bd36f7aab026970b2bffaaa1f62ddc10c64dc348eae61bf7b51297ef80
+DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
+DIST pkg-config-0.3.26.crate 18662 BLAKE2B 2ad92dfdc8ac0414b12a61dd30ea4ac5f142bbb55d0555ecfa3a53e750367e1b11766a693ef11f8cbe5a2ddb978327632458b2bcf75be7aa8f973262033349ee SHA512 509c4d1494cccc20de6a62d9d037c63ff77ebee8d907747c57ba0926d177b08fcac0231ccdda14511b453deb0b76ddd10f8fbdf63ff94257d72a12a889546435
+DIST plotters-0.3.4.crate 143219 BLAKE2B 3121caf7d2a62d3dd337d887ea2343981d23b26ab742fa192456d58a73ebd07d384ad6e1de58671b5c06344c2efea8e32168d830051d425a63299d15746f3a73 SHA512 04d490ad1b822195259a661dbc605ec2f8e190a5bbbbf549741b286aa888b26a2c7468d226cee7718bd69b77e026283944367504db98c0293b3db4ce45103534
+DIST plotters-backend-0.3.4.crate 13416 BLAKE2B 2b7090fb98ab9c28fd8525e1b3b4ca3410dafdb80563f52b545af70db638899123455254861e95973fb9c9e178e83cccd941c7305977de033091ed957291c28d SHA512 4784da70eda90a48aab38192619cfa7df733519cadc3b9aecd339dc735a9237e03144eee4f22f5f03ca214a732e8807d179d455032dd255a8125092ea489228b
+DIST plotters-svg-0.3.3.crate 6916 BLAKE2B 74c2c71afefe1148c82f8695ca3ae5283bad5b084e542325f3b6d587eac23f9fc087b64033043ff52ebcd661d40bb91c33ccd0de3c424ac0916baaa3a69c63b6 SHA512 1233eece4ab91ec690f93c7134ae8e6405183aaf500b2dce6973b6e212058334b7335aa80915e40363b9d2057398028c57d0b3aa974b88bb42c4e0e4726e7a92
+DIST pretty-0.11.3.crate 27335 BLAKE2B 284bab5c5bb2a4b81aca8be629a573246fd4d105c95a117587df54529a8edc083e072cd490d2c3ead5519062386218397588e436f9c2d84642e11f21cff21f8f SHA512 d01e496fdc57aedda856ee77165f74fb47dbae68d93ae193ad5f1de76bef273707dcb06e45cd387443b2042af6e389a35cc0199a37c10e2e45803bf4277ca37f
+DIST pretty_assertions-1.3.0.crate 79441 BLAKE2B e9d29267ee77532de9432f075daab704e8d80a3d5fd5515a7d3c1c9a58dd98ef0190a592e7fe4d8c22a149beec15fc346a68620a3835c1269f72e563d2a5fb89 SHA512 40a56ae7287552cb66e1066cfb89b26af621f894036b9a0cd49889ec5b25831d52cc07f9e117d905766701fa71786a45955186849d36e00cbdb5f884763efcd3
DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
-DIST proc-macro2-1.0.32.crate 41003 BLAKE2B e8da70dae2ee75aa2c344602e55cbbf9ee5316ff6182c870b64f9fe4b33e60b9fb1a22137acf357615331f2e4079ab1e8964a2cb0234fa439d1b3d8d514c2eff SHA512 8631714c226c8a6fb330a529f42214216057eca85cfa63afd3de8600d2638e2be45efa54155ce73625883bcbabc2c56cb865ad9dda04e2c7092d955caed48abf
-DIST pulldown-cmark-0.9.1.crate 114955 BLAKE2B ee295f4b65dee11c0b39054a4613cbfa1058a8dce05dc298bacc151e049dbe3f05b1739205ac345a98e70662187932d226c0d0667974b3c6a6f55882b566564b SHA512 466d6b4ceee89e1a8c71ff7ab8fc1000e7ef1d9bd22193a152358e1dad28c0c1bbe619caf71106d74eb376805dbfd2b888a0626c8c2851bd814d348873843306
-DIST quote-1.0.10.crate 29960 BLAKE2B fbd4e3e0e0f452e64b30399fdfaef318cead505d05f0c61db61a7aa3cd5a3300220b4ba2656603f88bc0b535390ab4d0ec101a919ace1d442a3e979f08e8d48f SHA512 08613679b564ea7d750117d3a2907ba957d5d595bdfa8016344f99a232c72c6b08acb882dff45c34c9e4c8f93f879fb308b36125572722aac04fbc6bb0c666f0
-DIST rayon-1.5.2.crate 165456 BLAKE2B 0a08064df966422d32f582f44570504bb405c59f35f20fcd792f4aa980b62fbd8797e8e01f01a9c3ec4f87eb3a1557f485a16ca2191749759beb31f4d704f082 SHA512 3c11bd89692af7e245be2c0b26d96e864a6353eb901706fe6394e3ff8bba13a829609d2a086aa69fbf716ca4286a1977123a950080d673814edf6bd55d29d459
-DIST rayon-core-1.9.2.crate 65221 BLAKE2B 44b1bcf748e0bf19e7341c032eed6ea348f284ff9f834af628baa2484d3b468d6c8c31ed0309e226def441ee7a94e2ad0b9a2adf107493bef1ae27882d93a7ed SHA512 83c17e71e3da636d97ad77b64d988bfaa78addfd0c512f0fc09b1755614dab2a35532a4dcb126fa15da4e62461e59f5683b922a1fb4a5381a629992617d0383f
-DIST redox_syscall-0.2.10.crate 23582 BLAKE2B 7253dd96415e7b70df488c208d86c250c670b1245ac6573a59085faabbde9e33fabfacd233e7d737e365493db14008c180274b41ea0a4af5f6f98eec666a873f SHA512 ef012eb4bffe32119e50ecdbef4cc31f6e84a344e94f026484fe4e2c904f94053a8b6249fb6bd8ada31b3ecfbf0096085283bb68aeb62b1b01b57f35794aee92
-DIST regex-1.5.5.crate 238119 BLAKE2B 175cec668da4321930a070993feb1671e14348b78e8b432f9fa25afd764863ff233b0d1d8931951ff99a3b5bc2e18774f68a6c0a4e31125ffcdb990b5b1b009c SHA512 a5873edc75a64f03be77151c318bc90c7dff565f838d811f5973ebca2e86247efd58830b0a8ba41e372f5a72f5402d93873f8d34c36481fa4359874b2fa5d571
-DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
-DIST regex-syntax-0.6.25.crate 293293 BLAKE2B d5ca0dbc26b03c6a1818026f9a69cd226ec934e7c64094d0ebe843052b648617ffae7aa3a074f8da46d03c46996d8b547d8916576342000bd9711089b3e57d73 SHA512 a3d31f82aadc6be1796f76c03152ff24f37fe42d6ce27fb98e2f55ab102f86502bc37ccd563f6e0eba61aab20d002184c618517b678b3b93cb8f0497cc046ca5
-DIST remove_dir_all-0.5.3.crate 9184 BLAKE2B ab7ef94e0230ddc9b363f038254a180881bbc20eb04a254f97e6f71ed491c99ba1c88f5e85632d450243882a4a0df63f3b8b183bc1fbca9caf30ec23d577b1d7 SHA512 50417d6d8a33912193a1ed37eb72b47431b12ae65d2780cdb7080c3d141e63819da13751c3fb737685cea322f70b36d413389c3dc01aa12b4dce615aefed0e2c
-DIST rle-decode-fast-1.0.1.crate 62490 BLAKE2B 34370186c8875c91b8d353b372518bc039c58061e0e0377c7596a9e100b047550e800c431f2b4a59556fc266eefcbc7846b53d5a4e10360fcbe435acf63249b2 SHA512 38b3565279b134dcb3bcba001b081ada73f36e4107bdee935036631b740b6e1d1f767e3965ad414e38c8606abc1733f898062bce01b8c19234f204adcbe05a4a
-DIST rusqlite-0.26.3.crate 135951 BLAKE2B 17f758cae3234c6950c0901f9fcddf29b8ff9286fbda3224facefc135c1d71d22f870dde06c4a89f12497830fc2c00de961830220e51a01d094ae5767b5e5305 SHA512 1d8ae38d3863530a941da111045a7d4e785c24e01ce34f38573eec9d8faad91ffdbe9ebd32e8f812522db304ea56c1dd08b3cb0482ae7a688ce56799df07239e
+DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
+DIST pulldown-cmark-0.9.2.crate 115824 BLAKE2B cc8b8cac890b333a864ecb1444128b1aa187392b296c54ccb0c3048d79d17aa7f53bd0ac31f0c6492544ea78636deefaf3ad44804a1c79008e17b27fe1e61fad SHA512 2268a3284da5def75b906373a3c70927bc68ecde7b641231d96ff9437785732134568abaf0b6f81c582dc56498da4e677a7b2e2f1914cd42b345db0a06d75c60
+DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
+DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
+DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
+DIST regex-1.7.3.crate 239886 BLAKE2B 8d9413178b626b09243e18a1c5e0336cd41e05659128d4026bd551df0c34b9e141e36c3134f3b22200b18828ef89082a08515047159afb4f4960e5fa840fd54b SHA512 f7e8dbcfaa10c2443b9a6dfa514edf0e149d33f1a135e4a828adf97dbb0f1af5a4b58a2bad75ea8cbecb9641f499b30ed06b8ba60c7eaba79409ca18ede85e4f
+DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e
+DIST rle-decode-fast-1.0.3.crate 62086 BLAKE2B 402d56595936734f36597c18e816a798ade6a8636b27e79acdedd4069da38e22e6ded5f2358ef0f0d509ea752e828fa294a4a9ac6d99cf26472fe21a505302c9 SHA512 f647cfd9ae0bbaca4a189cd1f8d1f8531f6dc0ffa1fd296c75cfe405fc9060e25be74581558a9195364ea90e32c7ccd60e066d21704cae836d41606b5799301a
+DIST rusqlite-0.29.0.crate 137156 BLAKE2B 83ab57daff2f03dce2720cfc5eb253231f721bf3af609ff15c66ee9be9578533765fc368af94040fc1f7a635578c14b310d93e568f894495a1aa46a73bf9c22a SHA512 63e5722f7391a335773d2fe554ebf285f388ecdce7279f767f9c3293bc776abedd15badfaa29c4abaa356707667ffda11dd14bf50fb4bae670df0e102283e055
DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
-DIST ryu-1.0.5.crate 49570 BLAKE2B 3bfba4a5f290a429de7ac3b86823b2a973f40eb6f48c15329173d95964d31ada36f2618be4b36774a03f97f2ce61364900c6a3ad5465a294e2df311a1f4104ed SHA512 d1708ffa3112a684edf2956b6730ead040401d38f1457cde074eaaa59c249007dc8b925629e7f6df89f7ea757e9d0826649d685cc8ede0a04d50296048bf476c
+DIST rustix-0.37.7.crate 307751 BLAKE2B 0fa2b1fc50a845df3b67cb9d316dc9dc40f290c0e5f4e60b4025e9f649a743a05e78770c4b4362121ef7d75fcf11d8794251a0875a9a5d177afc826e9c943c94 SHA512 e72fcf16722b62dc9821a498b21254b6f794580aef64e2ae9db15eaf5f5c63bd55a22e0014a00e2a2fcdb4f6ad703c2fa8b75b2db387d1a658a34da7a4ca424e
+DIST ryu-1.0.13.crate 46823 BLAKE2B c6d661cbff5e7b273da5a6bb704bb1910b897c55d854b05bd417f53853a832791afc351e5a5aeaa94ba99a8fe64c8a930221c52a8784519728da748371a4ae04 SHA512 25f60216d91e68cb47695ce4e966fae674d5b3e4b0cf33e740248c1605fdcf0c963acd278a485c5b4bb0a1c1144002e73173592222af4989df7a4ba402508c13
DIST salsa-0.17.0-pre.2.crate 441448 BLAKE2B a5487a1a30eaa3f6fd1cc393c4b8157a5f66389e4795351412587acd0aea62cf4b0ed32da38ef2cabc9773ceccccc6e6616cd443b2e5bd6ec6ca66378817bf6e SHA512 fb6c072538e40ecd9a2c1707832fb08f668fa694157962437b67e30b41ab9789d1446ffda89521aa53a5e29950f252f43a6780d99bb218630d5041dd11207abf
DIST salsa-macros-0.17.0-pre.2.crate 15358 BLAKE2B edcd8a0adf04114de829aab88d6e2001fbb04a8a52f1809bcff98fdee129889c37f929370e28c0abb431f8a8db98ec00aaafa075cc5ff805e7663f1d81197c0a SHA512 7aa768980b241d160cee00ad1ab73021465c9afa232def3beabfd27d15d8dc9e4b3c885b8606ada6fc805d9453f19db333d01ed186f088cc2a88967cbd91133e
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST semver-1.0.4.crate 29375 BLAKE2B 534a89125c4483fc99c44f7b104870be1471d478ba4f709819ae700767f4d6d0bdc98955897e33566651cbecadb4d4dc223204e4504ba4820c2d3919ef4fa775 SHA512 82ef2b4a3533360de1c645dba02b57a2670fdc51709a07be4a63b94055335225764d42d70f9617ed3aeb4c4de121da24e73b0e2c5c781501e9ee32dff756ebd9
-DIST serde-1.0.136.crate 76158 BLAKE2B 44603c8eede428dce4211350497a443385ff0ddb0b43799170411110fd8908a56e9df801c72695723f4fcff5eb33384bcf92ef58eecb9c4924d5d9cc30e2f6c9 SHA512 d043ccfd6a1dc9a114a1a95530a63ed9342688d31d3aadeec600a9a9d47aad328be35b6f80080400ea4bb3f820ddd18cc5ce1e6ea1db28e02752962061e71019
+DIST scratch-1.0.5.crate 8013 BLAKE2B 64bad5081da3765fab34b582c679fdb345d592adbdba09071357dd3306eaa55d885a4f282732972b6f856ef9cfbcf73a18e9f5b2591ab05ef9104119299d4159 SHA512 522e24868568e9e3c4c6a9b0af4e1890d5ca6753ea68660e13bdc95b98c30576058dc949d20a5df95a6313378083ca138c7bfbde5c60916a011cf9697180692d
+DIST semver-1.0.17.crate 29685 BLAKE2B b9beb685eb9f6cffe557d1185997e1a93d0e50ecd8e9719d9855347f12dd430ed1020df81839b7924a984596437ae7fb2951e7ae44c5540692a7f37b591bee2e SHA512 5199923757e675506d68c252182b10f55955e47054880492e5471a0a0f9ad13ef25d552d2ab9bd68fba37121b8026d9989bf15db67e95265b3aa53d06377fda7
+DIST serde-1.0.159.crate 77014 BLAKE2B a377be7b7a0624ca9449d962693100d4ee892a252b4fe1326dee2057a214029ecacde05aedb7f0adcebc9815e6b4ea7ec2096ef4db4c55526defdef88a20cc25 SHA512 4e5373b940b5328fabca35759e8a02816c89692b83996c6224be39365b6409688ef2db0eef24219381003133a31da93a41b500a76aeb1b84c05df9a91ff4844d
DIST serde_cbor-0.11.2.crate 44570 BLAKE2B facc8d16886dde89125b7d69e9e77ff586c61993c3493fe4089ff03c53e6c0808c6da45a83337d3be7414dd82f3d6a7f3d43167473e49e586a7e817d47ef3014 SHA512 12ddcbd5de0d85f2da6e078e3ccfdf2115125084d57eb93d7e9b45bca6a86daf79dcc79c8e54260c56240c3b5e814b1481ac28c3aa1d1b4b982ef5956b5cc3cd
-DIST serde_derive-1.0.136.crate 54776 BLAKE2B 687524001bf61c42266d91a7263661ab80aa9556e570975a39bdf56a5cb1a2ec3ad1baf22dff586c7ad4ff66d035555d0a9d4a431c49402dcad6d79d0ef40cee SHA512 92c99455a5a9ac0fe45eb6ff1ad3ea55db860031fb912ace3755d1d2aad0dd880b2d83add4d41872823bd60557ebe1cb36e898bf0ac975b1093caa9819f7c289
-DIST serde_json-1.0.79.crate 144451 BLAKE2B d04f8788d3ef0d4854d73232a4f441c1f3a42934442679a91853c311262ac9a4f554240d0c44c69f2e22cdd225a3e4d4751dc928ee5092b4371c198325fca0b3 SHA512 83987c1a7eddc6adf8ae359c30e2db1fea98edabd6dc49bde840c37a56258fa845612e8ae270a7dca4cfbe9a3532dc55028091e14cdf1dd3b1ceea4bb86a2dd7
-DIST serde_repr-0.1.7.crate 10173 BLAKE2B 30bca6a616e55f44def56ab1f85cbb141727a872466f161f562798db005473d520e6a4dba89b631cfe11f1a38cbc1db2fb0ef921f0245e0990a6744f9987e95a SHA512 4e3e87b1c97ee587e88be56d67f287e43252de474a3becdefb4b768eda661db5d78f665d7d93720a40d9f5bd27fd9ab6213d66713ec89bcc2063092b16625a18
-DIST smallvec-1.7.0.crate 27459 BLAKE2B a740a4b7448a4c8d1bef59cfb6dc9a52145e40eeb38028c64c880f31800cd3a4cb8be17394742239dfa7fb692c749f9edf70e6df02abd7a1bff288eec38ba24e SHA512 d061e0059cd6bd1636424374848aa1d4edd21f75605844a7855ff5d343dbdb71e6eb14bd70de7947ae7ab58f04ff096a5e77aa9a1ac14cef59f657685c846156
+DIST serde_derive-1.0.159.crate 55039 BLAKE2B 6a239fe8b045c5d61e3503186325e2e4fd3cdbd13e6727e79b673f894f5fdd0872419b0b0f6dae97b9c3dbf737b41bb4816e92fc6a0efa0487350bdb0a8dbb7a SHA512 ee05d53cc4e7a36ba6073cf0be235ff4606e26430ab2a25379a6b915378c8c76584ba77b2fef8125edacf4effffa37adce8e51109e3f5bc6f418987de90fa574
+DIST serde_json-1.0.95.crate 144618 BLAKE2B beb05d7c37fcbacf4cc7dc04380e818a144a81e20e09ac9aecf6488bc18b142713bd1e9c7bc2ff4d10dd2385ccd280207cd992380bde4616db54f0852141eb0f SHA512 ff9f3f9e9a0e07956923bbac02288915c31f5ee24fc618808bfd4aa4b36ec40ec8d0e4426d926bdbcd019c9a4a6608dff5a651bf92dc5663eaf69c7c060223ba
+DIST serde_repr-0.1.12.crate 9549 BLAKE2B 03f1fecd3edd4c2e14f936db0c1a4452784da327eae63af4086d38323a56ef06b34bf49bd10ca4afe35afa67db4cfd119cdcf98532a57d6badd055bc931f4dff SHA512 c0897efb6ee046b29c810bfa28c6aa5d8cf10ab33e220ee7e1747e9abd2ea0721585f267060cf0a1b03c8f3e5588a48d344079bee2fc9d7472ba2ed61461c714
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
DIST structopt-0.3.26.crate 53798 BLAKE2B 04be64637d18bcc87d261320668023459a42c167bb5a4c52216df556a7dd19be28032e7bf759cbcf710a3729a9dfaeb20c29f37f35fcf33533db583ac4fa049a SHA512 dec27090b57107473c9d398db68bde3b1b5191e7c7980d7d2c20fc723f92c64a6cf1d391d5122a103222c4262253d8073fd0fdfb11c74f235af79b2ae0caf069
DIST structopt-derive-0.4.18.crate 20996 BLAKE2B 2ae17e0d365a7ce7a4d0e007513623ee0d5acf45afdc3844114e02975b855fd1a9f7df404a24044cf33a3a4cc4142eccc34d1e97925646d54d460a89baa28275 SHA512 68a7f9c2ed987993fdd8bb7e81c31969a1fdf5351c58cba9de61a2f5957aba1626be4b0742f31d4de502301675ba24b0d91dd3acb24f5607bdeec83070626a57
-DIST syn-1.0.81.crate 234144 BLAKE2B 7258c4a0ad0eb0c807912c297233eeb195d22b44cb2078e13e43eb90f1c82ecda6f7672ab072832ce130ccb953c1bb23c8440a3df77b714f462fe39cc6e6e1a3 SHA512 288ddaf4dc5ad2fdb3bc36800d94b53e2bfe9ac74a61a5d158bfcad3728955bebac6a900a5881c7d4abde4f3759515a1dd877e1421c226b85aff99a5ee649390
-DIST tempfile-3.3.0.crate 27578 BLAKE2B e98c5ed4c59b6ff411e89ad4eb529bbe15264d6744edca8675c89bfb4397fbbb8da60bbc582da24bf9953afd9bb17cdb22654d933468697e9fa9e9903e6a7c77 SHA512 ba6faafb2dd56d694efe424752099a2efb50316afc0a4db9fdb7620ae3f1a31dfbb2a7b41724878cb977fa11f7568a406bd3b6a4f7cfc0b88b86b2cc616b953e
-DIST termcolor-1.1.2.crate 17287 BLAKE2B 5ff748064c9fb6663befce2fd299edf6a6deb06ea72d21a62d6e77642934cca0933e10340fa84f636631cc08c76ba83ef2284b2212759129d54248e5fccb4c49 SHA512 f37b034345382cd621b1344a3fb301ca3d4d9db8b5858ac1ea82372c983229fce3c0ea8213d6b7e91291b6034affe11e2c3e593dbd95256294ce5c584b33e14c
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.13.crate 240619 BLAKE2B 80536a808aa671424fd940d28013b96988b0f51c29400c5fe1ca7e6789587c670cef7e746a527701641bcb9df73925ab2fa581ad5f877b2d5cdec31590ccf223 SHA512 940ed62d2d5676034292e675ffac2fbc495976ebced6a295cc4da8914e9e9f059275e892e0033bebfd26e3692236c504dd36973e7f62b8e1943f19ec6491d9e1
+DIST tempfile-3.5.0.crate 31129 BLAKE2B 6d32584819794dbbb1f30970577ca2c82cf79979f94b070327285ae8bca6f8e3ea2402d2034290472f284ce039a3a578bfdfa81a53b5c49b587dbdb40960f6fe SHA512 8e8775a9727e32f6931b3289d2b8aefa5ede7b224ae2e1937da3aff371ef5f6078587f060eb36793e9779249992a97acc39c02c6095c41467929e39ada12c7db
+DIST termcolor-1.2.0.crate 17917 BLAKE2B 5ca7802b0bd29495bcd2deaddcdb4c3ff964073a373eaf39964a24ed91a48c5c33e192d676099e2837064df3149fdd73aba7d241e9aeaad9887bf1bcae9d38f0 SHA512 cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7
DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
-DIST thiserror-1.0.30.crate 17748 BLAKE2B b9d8a8f824de03c57af43d0ef8f2e157321e7e6a220660581299a38988e7bd43733126fc9b8d8b8ae38ac1d788ef08fbcb2352beb5ddc014113e0058c2bf60d0 SHA512 0e6cbc160ee1b6236a9073dec225a4290e7a82632ee7cec00bf02797b04851adb2d3071fa268b54f7fa9fe22eeada55a83d44fbddf824520023608eda8ea2e99
-DIST thiserror-impl-1.0.30.crate 15230 BLAKE2B bdfd4451304a2ef4ddbecb48eb1a1307e6eeadab0860c785a2b6a5e7de270ac42ac4f11e46eb9dba77ec5a86b203d9baf8e4fd5c83cdaa10e2af34a95d29d2e5 SHA512 465b1d4eb79075d8abb11f5c260d68847ea52806a2f519515705b03da376fffb3686bebb23c11462b1c59e1ae5b3ee96d834c62cac69862c491001b1ff7cbb46
-DIST time-0.1.43.crate 28653 BLAKE2B 95fe69647e8d52784be1fd3457578896aa38279d00f51f1070eadab111d39450583c63854c73d4384f2e4349b0250f1c9bff9901529b776c596846c057c93335 SHA512 c3e0c68cab1ed2f33f41955f83e632c51924e4d3c1d22dd0c4ae98499e03f3cafde8b0c2d9e69b67a78d6e4055e464ee00d1ed6af5eb9fa75052405b43e24a25
+DIST thiserror-1.0.40.crate 18709 BLAKE2B 8057ebcd11546f8b3ae5d760c1dd1764386f3c29dc43bc7a4aef20604970c65356daef137734e80260051d41e39979943bfda496459696b924a95f455159704c SHA512 db1b1fab3aa61dc6bbc672670eb70cee2f838fa713d3a927022900eddde253108d123bded1aa6df8d314e1aa2f8ff37bc72fc9b0803fe3a56447a64290ab2a91
+DIST thiserror-impl-1.0.40.crate 15138 BLAKE2B 7590428b5a97efde6a823440a9c91e1d1835b20df4ad8a700c1eeddd98516f1203605853fc6dc65528c5fd92480d04f9a8412aa7c20a524cb94435b0a0032f1d SHA512 9027f2d4127864c34d2d92ad3b2753a95893d26f5b2dcdec869884a98232c5304db1700a38112ced258e5f3832218cdea3a4bb21223098e1b20d06af1fd7edd2
DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
-DIST tinyvec-1.5.1.crate 44942 BLAKE2B d02f610dfb599ae4957d81140bb8945f4cae49c1b7ec5de4bd4a7d07a1334cd00557993dfae2516d506f362305025bd1a6617d55efdad8ebb549fe573e9e6f21 SHA512 80b68058e3264b3fbc537debf01b6b60d438bf5cba6ad366083cb440ed6b45587f367d3a134ec6fab769495b94413d0eca47544b26959a2c35b1a997423eb849
-DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
-DIST typed-arena-2.0.1.crate 11439 BLAKE2B b5bd230a22894c5545966279b40a8493940719fdf79bed144ad41c363e7f73bfd40e1492efa8d96fb9b5b32e3a31405ef9dbddd55d10bb900ac082d41a034b03 SHA512 182fdac0ef9b494fc2966005ece2107a3c53b6eafe4eebe9be3d552aebe143e05f3db2b51693c253831744fc265ec2a557d31ee42cf0ba5991b38d075278415d
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST typed-arena-2.0.2.crate 11848 BLAKE2B 1d2821519c959b8e5f32942fb106f836a9aa753a43058cad6898588f8e0d9abcbe7a94a91ec8d30c62e59833563df48229c6aeec8bf7a396de20895e39571d11 SHA512 33f43488ff63ab763e4330d124e3290ece41e50ab78b6f12dae3a2be4d7f5bdf6ec876ab3b1f8cd81874e335fc41f3a2254994f250d3d6aba682fce557a6a399
DIST unicase-2.6.0.crate 23478 BLAKE2B 6e580108ac81b1cbee70e5bd331f43b12f266dae4f4f758bb8f5f073bd1af61943ee0de34cc27769525b19da8c24f8dea4941d0f5454594ab0cc8b78071ff053 SHA512 7e76a5f344e32c56cf87223585d87a56c79627b52bba0b29eb6de82de874b2964accededa8e9b5741f57944b6750fba5c61e679a50d4fd5a5646f431e2f4f188
-DIST unicode-bidi-0.3.7.crate 33759 BLAKE2B 4d5224062c829b5e48d26ca727bb60d10d7c663cfca24762331b36a2819a70e7d43d2b6b64ba64751d9b686949142b53346a52027d400acf8cb1e1b1895b2796 SHA512 6eeafec87a504ac968b59dd3168714e555b5b374cfbb5a6a9c962445c423f82b68ee54d1b732c5939eb17fdbb804f9b3affe828745bf4ff34e8a1587df2bc8bf
-DIST unicode-normalization-0.1.19.crate 107353 BLAKE2B 4c69d50efcae131eb4b91d385a64b49412a11ba913b3c0364cd04ad107d59e31adbda74d34ed13a065d9a7825d79fb740e82a4dc66b7813a9837af4352ac9e16 SHA512 7459e9d2867308cac80a98d8dd0b0cce797e2830ea5ff55b878f7a37a6f5e1f0bc14340e1a29955298d660ba2be57754a1478d74851b1b90576dd5bc4231729f
-DIST unicode-segmentation-1.8.0.crate 94011 BLAKE2B 33440cedd5b51bd6075c9c75541bb8dcc16037b1c937ca72962f6c46be71a30850ab8e8a144d8b7548e5a91c78d551e7bbab5f26a713f1df0311d15f11299af9 SHA512 f0779ec42907b665df53f38ea370e661f10e7c72a75917f4cbd055868428c0eac1c7fc194d4bbf048e00f0f3d3e2b3602ae88d7820ad0c73e94a5228b61f6495
-DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4
-DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
-DIST url-2.2.2.crate 68555 BLAKE2B f8e59f784b6c2e16bacfba36ad68670a6af17c16ea3b0866b5aa98e5bf4686cf1b1aac9b1f0a0ea3b89a01e044a2ca37830416f42d147158ea8e88f23fd28ac2 SHA512 f9b6ad99d69ff303283b3fd9e98945fbd6cb411a3d141badcbb3a0566723a451375e6dd5d5357e3eb7a1b5b1ee5756a2347c43817db2de6fe35b9004b090e077
+DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
+DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
+DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
+DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b
+DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
+DIST url-2.3.1.crate 72777 BLAKE2B 6ca0e537baf373b92269b2531945c1cdf360f1566cae4734dfb96f05a605e5c6c82e3192a1b9dde0ff22b92b87aba2d56e32a1bf17882b4de15efd7cdf52bc76 SHA512 8224010bef067574481e5d84100d944782d52b49db7c396ae2b4dfc145ed58769c15440d97a0fed4d2f9857592a8601417cc5b1bdea959c47a3e7a1f7182ed0d
DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9
-DIST version_check-0.9.3.crate 12547 BLAKE2B 85761c300a8d755e0b376191ef0604728ae641261fdb10682a3134a828eadc4a33216426d286bcdbd8d0c5fcfe6ca8ba20ed078c4f53066b959739a0e73daec0 SHA512 4b3b428214a0322af536a18e6f050438398766af6589389f20a804121a6721962ba411e2dcfded60aaa74313128fb0e831bea31378e2695c29b29bdc24d7cbfd
-DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
-DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7
-DIST wasm-bindgen-0.2.78.crate 162111 BLAKE2B a3311e67900961b35a59ead7a8972dcee37671921c0f524895c821658a7b1246403d4674bee1735f1b2b94aa789d5376edd02afe4c8ebda110f4344ef58c9225 SHA512 bedeb2828d1e74b1e373bdf34dc2eaec70dd523e9ed96a341da1ab3729a7cf8470a828ddb9cfd4cf15af6e2fff75b4368553ab4f6f02c8dec9419dcdd7578de9
-DIST wasm-bindgen-backend-0.2.78.crate 25576 BLAKE2B 03dc6b255ab9e30f9eb54f81638eb02a05a0b994ddd51f47852bca376a02080fcce596453d688f5e8e7b5a814fd081b9709c1215f7e9f9fec0e4a7a6cba1000c SHA512 00a0ec9afb65c084b64cf9d25f778ab03bf2368a1e0ff213e07b8fe742a125ddae00c7b4d693225d6d798618b0441d4dea3c175cacdb37fdd75b0a46ba3a287b
-DIST wasm-bindgen-macro-0.2.78.crate 11700 BLAKE2B 9f1538d79a39555f643b9ac6bfe026c259dfd129c45fdcc33cfbeeba2acb2a26ff4c9df83a3d11674c5ef8e9393af7a4d0cd7e3bd08b7eca0fa55986c893c5e3 SHA512 3389922198b0d5c19163f4de345e0cd7a3c0609d48ff933bd5af0cfb205463632878b5d60bfeeb8dd8f8a98f28f23c5185dd6d8389f599f31176297c944b595d
-DIST wasm-bindgen-macro-support-0.2.78.crate 17858 BLAKE2B 8378f639a94797d2d149f2cd836f56143a498d3be5fc30eced6fe4fc2e1bfe14a70f3165cdc5cc1c88f0162efec75b64e56aa9819596984afa97003601b933ce SHA512 84d9867407a7caa942ab11f0ad1c343839bf51793930cdc3ebc5279ca370062eda006540448cc401f6afa078dbb1523b348ae69f4c6d7ccc9a7b8fa1ff895236
-DIST wasm-bindgen-shared-0.2.78.crate 7206 BLAKE2B ee60946d3a90a2760d8cb045657de659c6367aed2d98efd60074cb57f6b06aedf9ac44fed3d41c20299c5edc095cac5537a365fdb01183f3e60b6323da581935 SHA512 a808b7a7909e4a287ccced1b251ad4c1230399c84c05e246127b6a91fa4ed328d6a24316dbdc1843db71a5bd78cfd80113424f9984e0777323d74e3125607134
-DIST web-sys-0.3.55.crate 664827 BLAKE2B 1864f320e6c9b80c6b4b4fd8941d66cf9368a9b0cebcb86d3486b99f65456748b46c507a1bb761611c4825d412986f5bd8c8fc38c3bda3dad2e9de213467ee51 SHA512 ddf191f009d49388bf60ee31650eff1ff884f01822989a226c559b9560aebd90681fadd34e7437f555d627a0a3139ebe267375618eadac8c17ace5fd47650764
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST walkdir-2.3.3.crate 23125 BLAKE2B 3bd354b9796a31bd4c8f4ca695514101a7837ae2134fa1ffec20df1cc946a67b38c6b50affbc2cb79ffee0934474d8269378dab5ac49a4943ccf8c7aaa51db11 SHA512 2b6e1e27c16e310f636eb1c9ee58435509fb8f7a6c5beba4dd13d87aa1d91599a593bfe720a675d536ce63e217c31e240a57122455d8e18de1282a9e7fc3defe
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasm-bindgen-0.2.84.crate 172947 BLAKE2B 90c9b846bcea9d099a394b42f126990db82d1dcbe247f8b63f8c91cdfbb5e2d184d36daedaf8fcee58c34afe89bf9a30454063693d64806ead3427680a87e7af SHA512 20f8c9e4f8d81c66e34d9ca2b266fabaae30da9015d139cd4eba3f314c67c17cb562c6eec5127c41302c11c2f314237add2524a8b9a4d5346b8822a37e467b2d
+DIST wasm-bindgen-backend-0.2.84.crate 26344 BLAKE2B 5686a252082afe128ded295584d972fe4af11a30fe37a80e142d213eb2e4bca567182bfc5addf1571696bd12e68e029148cffaa9af088d1269a1201af72e64d1 SHA512 afb06e21d916cf1af137159ac86924fbee3a958ef73725bdf6bf205e15465857791070c721e0fc0164eb6e37d195bbb6a3f03661c81e1e5a9ab8502bc3704058
+DIST wasm-bindgen-macro-0.2.84.crate 12857 BLAKE2B 23ae9963cc2cf9bc589f5d77c8d3819aeb9d671f0bddd17093b2df096cc800d2130bd2a994b786a5f446e9194947199b3f0cdf1c16f15e7283a4ae319ca849a1 SHA512 23b69ff601c149909d81200bc2902018ec71efad8aec9cd84a0653025aaf852cc86d93e28c5f60144ba6ce5aeff04b90d23761e263e3783d45097316525d6f43
+DIST wasm-bindgen-macro-support-0.2.84.crate 19076 BLAKE2B 4f779d7d0a406f376092ea8193851dbc86e9dbb822464db66a2022274665b03b9bf6552f79263014510cfaf4284847e98e8173263a6565f1af0c29054bd33fff SHA512 f2a8b6e0170dcea0d2f4a50361f036ad6604c499a89f0cf602578d0958d47c193aecebbd98e63310f592b08f8fe53da6c3d7a124b433ee384aa22371d9c963e5
+DIST wasm-bindgen-shared-0.2.84.crate 7219 BLAKE2B 4910158ed884dd9dbb32b1539b0c89a583f98df05cb29654487a26db063c973d44cb086dad4b466f9bc63104e3d4da72fe9feed32618f8243151dfb9ccfaff29 SHA512 fc4bf134a33c71852b91d09fbf1e1801e2b97b5c2756e2680d0c1f8701da30b22b56777d8e806e13602beb040775824966e378f7b9805e131a385e7816ddd010
+DIST web-sys-0.3.61.crate 706333 BLAKE2B f57cb14032e2ea01b5e0ffcef0988ee3e8227c1da7d27ef8799583f64cddb4bcfbbb145f5ea1889006fc9ff61d42b1c02d4b278d67371c9d914827113f5e4128 SHA512 dd8c93a92295a9cd94a4a4cac4a81d9fa41c2c0bc885c1861eae5cc317a0d55e1a9d34b97b91999bf617a071f7f8acc39bb0d4a684b40543519f0cad6b82a25c
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-0.48.0.crate 11864177 BLAKE2B 39c0e4f058f68a829ee08721818a0b04287af20dfe6e03a125b75566b4c8a58b56557d685600f1f9c215811154f9782f12368d42848445d54dcf9bfd6471349d SHA512 7c906f885fa0a730f1cb1ef4e62f5b602a49d44343febe1d38fcd4cbc28e0342766983796042585fe457aa229333558715b6270e378946faa8f398a7ecc2af8c
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2
diff --git a/dev-db/influxdb/files/influxdb.confd-r1 b/dev-db/influxdb/files/influxdb.confd-r1
new file mode 100644
index 000000000000..7c225cfea51f
--- /dev/null
+++ b/dev-db/influxdb/files/influxdb.confd-r1
@@ -0,0 +1,18 @@
+#The convention in this file is to show the default setting commented
+#out.
+#To change the setting, uncomment it then change the value.
+
+#This is the influxd error log:
+#error_log="/var/log/influxdb/influxd.log"
+
+#This is the influxd output log:
+#output_log="/dev/null"
+
+#The influxd Config path location:
+#config_path="/etc/influxdb/."
+
+# Extra options to pass to influxd:
+#influxd_opts=""
+
+# Uncomment / edit to enable healthchecks
+#INFLUXDB_HEALTHCHECK_URI="127.0.0.1:8086/ping"
diff --git a/dev-db/influxdb/files/influxdb.initd-r1 b/dev-db/influxdb/files/influxdb.initd-r1
new file mode 100644
index 000000000000..ef7da61d271d
--- /dev/null
+++ b/dev-db/influxdb/files/influxdb.initd-r1
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+
+# Logging
+error_log="${error_log:-/var/log/influxdb/influxd.log}"
+output_log="${output_log:-/dev/null}"
+
+config_path="${config_path:-/etc/influxdb/.}"
+influxd_opts=${influxd_opts:-}
+
+command=/usr/bin/influxd
+command_args="${influxd_opts}"
+command_user="influxdb:influxdb"
+extra_commands="version"
+
+retry=SIGTERM/30/SIGKILL/10
+supervisor="supervise-daemon"
+
+# Max open files
+rc_ulimit="-n 65536"
+
+start_pre() {
+ # Check if config file exist
+ if [ -n "${config_path}" ] && [ ! -e "${config_path}" ]; then
+ checkpath -d -o "${command_user}" "$(dirname "${config_path}")"
+ fi
+ if [ -n "${error_log}" ] && [ ! -e "${error_log}" ]; then
+ checkpath -d -o "${command_user}" "$(dirname "${error_log}")"
+ fi
+ if [ -n "${output_log}" ] && [ ! -e "${output_log}" ]; then
+ checkpath -d -o "${command_user}" "$(dirname "${output_log}")"
+ fi
+ return 0
+}
+
+version() {
+ $command version
+}
+
+if [ -n "${INFLUXDB_HEALTHCHECK_URI}" ]; then
+ healthcheck_delay=300
+ healthcheck_timer=60
+
+ healthcheck() {
+ command -v wget || return 0
+ wget -Oq- "${INFLUXDB_HEALTHCHECK_URI}"
+ }
+fi
diff --git a/dev-db/influxdb/influxdb-2.7.1-r1.ebuild b/dev-db/influxdb/influxdb-2.7.1-r1.ebuild
deleted file mode 100644
index 1209ebeda900..000000000000
--- a/dev-db/influxdb/influxdb-2.7.1-r1.ebuild
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
- adler32-1.2.0
- ahash-0.7.6
- aho-corasick-0.7.18
- ansi_term-0.11.0
- ansi_term-0.12.1
- anyhow-1.0.56
- arrayvec-0.5.2
- atty-0.2.14
- autocfg-1.0.1
- bitflags-1.3.2
- bstr-0.2.17
- bumpalo-3.12.0
- cast-0.2.7
- cfg-if-1.0.0
- chrono-0.4.19
- clap-2.33.3
- codespan-reporting-0.11.1
- colored-2.0.0
- crc32fast-1.2.1
- criterion-0.3.5
- criterion-plot-0.4.4
- crossbeam-channel-0.5.1
- crossbeam-deque-0.8.1
- crossbeam-epoch-0.9.5
- crossbeam-utils-0.8.8
- csv-1.1.6
- csv-core-0.1.10
- ctor-0.1.21
- derivative-2.2.0
- derive_more-0.99.17
- diff-0.1.12
- dissimilar-1.0.3
- either-1.6.1
- ena-0.14.0
- env_logger-0.9.0
- expect-test-1.2.2
- fallible-iterator-0.2.0
- fallible-streaming-iterator-0.1.9
- fastrand-1.7.0
- flatbuffers-22.9.29
- fnv-1.0.7
- form_urlencoded-1.0.1
- getrandom-0.2.6
- half-1.8.2
- hashbrown-0.11.2
- hashlink-0.7.0
- heck-0.3.3
- hermit-abi-0.1.19
- humantime-2.1.0
- idna-0.2.3
- indexmap-1.8.1
- instant-0.1.12
- itertools-0.10.1
- itoa-0.4.8
- itoa-1.0.1
- js-sys-0.3.55
- lazy_static-1.4.0
- libc-0.2.121
- libflate-1.2.0
- libflate_lz77-1.1.0
- libsqlite3-sys-0.23.2
- lock_api-0.4.6
- log-0.4.16
- lsp-types-0.91.1
- maplit-1.0.2
- matches-0.1.9
- memchr-2.4.1
- memoffset-0.6.4
- num-integer-0.1.44
- num-traits-0.2.14
- num_cpus-1.13.0
- once_cell-1.10.0
- oorandom-11.1.3
- ordered-float-3.2.0
- output_vt100-0.1.2
- pad-0.1.6
- parking_lot-0.11.2
- parking_lot_core-0.8.5
- percent-encoding-2.1.0
- pkg-config-0.3.25
- plotters-0.3.1
- plotters-backend-0.3.2
- plotters-svg-0.3.1
- pretty-0.11.2
- pretty_assertions-1.2.1
- proc-macro-error-1.0.4
- proc-macro-error-attr-1.0.4
- proc-macro2-1.0.32
- pulldown-cmark-0.9.1
- quote-1.0.10
- rayon-1.5.2
- rayon-core-1.9.2
- redox_syscall-0.2.10
- regex-1.5.5
- regex-automata-0.1.10
- regex-syntax-0.6.25
- remove_dir_all-0.5.3
- rle-decode-fast-1.0.1
- rusqlite-0.26.3
- rustc-hash-1.1.0
- rustc_version-0.4.0
- ryu-1.0.5
- salsa-0.17.0-pre.2
- salsa-macros-0.17.0-pre.2
- same-file-1.0.6
- scopeguard-1.1.0
- semver-1.0.4
- serde-1.0.136
- serde_cbor-0.11.2
- serde_derive-1.0.136
- serde_json-1.0.79
- serde_repr-0.1.7
- smallvec-1.7.0
- strsim-0.8.0
- structopt-0.3.26
- structopt-derive-0.4.18
- syn-1.0.81
- tempfile-3.3.0
- termcolor-1.1.2
- textwrap-0.11.0
- thiserror-1.0.30
- thiserror-impl-1.0.30
- time-0.1.43
- tinytemplate-1.2.1
- tinyvec-1.5.1
- tinyvec_macros-0.1.0
- typed-arena-2.0.1
- unicase-2.6.0
- unicode-bidi-0.3.7
- unicode-normalization-0.1.19
- unicode-segmentation-1.8.0
- unicode-width-0.1.9
- unicode-xid-0.2.2
- url-2.2.2
- vcpkg-0.2.15
- vec_map-0.8.2
- version_check-0.9.3
- walkdir-2.3.2
- wasi-0.10.2+wasi-snapshot-preview1
- wasm-bindgen-0.2.78
- wasm-bindgen-backend-0.2.78
- wasm-bindgen-macro-0.2.78
- wasm-bindgen-macro-support-0.2.78
- wasm-bindgen-shared-0.2.78
- web-sys-0.3.55
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-inherit cargo go-module systemd
-
-DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
-HOMEPAGE="https://www.influxdata.com"
-
-SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v${PV}/build.tar.gz -> ${P}-assets.tar.gz"
-SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz"
-SRC_URI+=" $(cargo_crate_uris)"
-
-LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="virtual/pkgconfig"
-
-COMMON_DEPEND="
- acct-group/influxdb
- acct-user/influxdb
-"
-
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- default
-
- local data_dir
- data_dir="${S}/static/data"
- mkdir "${data_dir}" || die
- mv "${WORKDIR}/build" "${data_dir}" || die
-}
-
-src_compile() {
- mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die
- mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die
- cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die
- ego build .
- mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die
- mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die
-
- cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v0.193.0/libflux" || die
- cargo_src_compile
-
- cd "${S}" || die
-
- export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config"
- ego generate ./static
- GOBIN="${S}/bin" \
- ego install \
- -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \
- -ldflags="-X main.version=${PV}" \
- ./...
-}
-
-src_test() {
- ego test ./tests
-}
-
-src_install() {
- dobin bin/influx*
- dodoc *.md
- cd .circleci/package/fs
- systemd_dounit usr/lib/influxdb/scripts/influxdb.service
- dodir /usr/lib/influxdb/scripts
- exeinto /usr/lib/influxdb/scripts
- doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh
- dodir /usr/share/influxdb
- exeinto /usr/share/influxdb
- doexe usr/share/influxdb/influxdb2-upgrade.sh
- newconfd "${FILESDIR}"/influxdb.confd influxdb
- newinitd "${FILESDIR}"/influxdb.initd influxdb
- keepdir /var/log/influxdb
- fowners influxdb:influxdb /var/log/influxdb
-}
-
-pkg_postinst() {
- elog "Upgrading from InfluxDB1.x requires migration of time series data."
- elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/"
- elog "Keep in mind that some applications not compatible with InfluxDB 2.x"
- elog "may stop working."
-
- ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli"
- ewarn "You will need to install it separately"
-}
diff --git a/dev-db/influxdb/influxdb-2.7.3-r2.ebuild b/dev-db/influxdb/influxdb-2.7.3-r2.ebuild
new file mode 100644
index 000000000000..3bd8b07c924a
--- /dev/null
+++ b/dev-db/influxdb/influxdb-2.7.3-r2.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ adler32@1.2.0
+ ahash@0.7.6
+ aho-corasick@0.7.20
+ android_system_properties@0.1.5
+ ansi_term@0.12.1
+ anyhow@1.0.70
+ arrayvec@0.5.2
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.0.2
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.79
+ cfg-if@1.0.0
+ chrono@0.4.24
+ clap@2.34.0
+ codespan-reporting@0.11.1
+ colored@2.0.0
+ core-foundation-sys@0.8.4
+ crc32fast@1.3.2
+ criterion-plot@0.4.5
+ criterion@0.3.6
+ crossbeam-channel@0.5.7
+ crossbeam-deque@0.8.3
+ crossbeam-epoch@0.9.14
+ crossbeam-utils@0.8.15
+ csv-core@0.1.10
+ csv@1.2.1
+ ctor@0.1.26
+ cxx-build@1.0.94
+ cxx@1.0.94
+ cxxbridge-flags@1.0.94
+ cxxbridge-macro@1.0.94
+ derivative@2.2.0
+ derive_more@0.99.17
+ diff@0.1.13
+ dissimilar@1.0.6
+ either@1.8.1
+ ena@0.14.2
+ env_logger@0.9.3
+ errno-dragonfly@0.1.2
+ errno@0.3.0
+ expect-test@1.4.1
+ fallible-iterator@0.2.0
+ fallible-streaming-iterator@0.1.9
+ fastrand@1.9.0
+ flatbuffers@22.12.6
+ fnv@1.0.7
+ form_urlencoded@1.1.0
+ getrandom@0.2.8
+ half@1.8.2
+ hashbrown@0.12.3
+ hashlink@0.8.1
+ heck@0.3.3
+ hermit-abi@0.1.19
+ hermit-abi@0.2.6
+ hermit-abi@0.3.1
+ humantime@2.1.0
+ iana-time-zone-haiku@0.1.1
+ iana-time-zone@0.1.56
+ idna@0.3.0
+ indexmap@1.9.3
+ instant@0.1.12
+ io-lifetimes@1.0.10
+ itertools@0.10.5
+ itoa@1.0.6
+ js-sys@0.3.61
+ lazy_static@1.4.0
+ libc@0.2.141
+ libflate@1.3.0
+ libflate_lz77@1.2.0
+ libsqlite3-sys@0.26.0
+ link-cplusplus@1.0.8
+ linux-raw-sys@0.3.1
+ lock_api@0.4.9
+ log@0.4.17
+ lsp-types@0.91.1
+ maplit@1.0.2
+ memchr@2.5.0
+ memoffset@0.8.0
+ num-integer@0.1.45
+ num-traits@0.2.15
+ num_cpus@1.15.0
+ once_cell@1.17.1
+ oorandom@11.1.3
+ ordered-float@3.6.0
+ output_vt100@0.1.3
+ pad@0.1.6
+ parking_lot@0.11.2
+ parking_lot_core@0.8.6
+ percent-encoding@2.2.0
+ pkg-config@0.3.26
+ plotters-backend@0.3.4
+ plotters-svg@0.3.3
+ plotters@0.3.4
+ pretty@0.11.3
+ pretty_assertions@1.3.0
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.56
+ pulldown-cmark@0.9.2
+ quote@1.0.26
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.2.16
+ redox_syscall@0.3.5
+ regex-syntax@0.6.29
+ regex@1.7.3
+ rle-decode-fast@1.0.3
+ rusqlite@0.29.0
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ rustix@0.37.7
+ ryu@1.0.13
+ salsa-macros@0.17.0-pre.2
+ salsa@0.17.0-pre.2
+ same-file@1.0.6
+ scopeguard@1.1.0
+ scratch@1.0.5
+ semver@1.0.17
+ serde@1.0.159
+ serde_cbor@0.11.2
+ serde_derive@1.0.159
+ serde_json@1.0.95
+ serde_repr@0.1.12
+ smallvec@1.10.0
+ strsim@0.8.0
+ structopt-derive@0.4.18
+ structopt@0.3.26
+ syn@1.0.109
+ syn@2.0.13
+ tempfile@3.5.0
+ termcolor@1.2.0
+ textwrap@0.11.0
+ thiserror-impl@1.0.40
+ thiserror@1.0.40
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ typed-arena@2.0.2
+ unicase@2.6.0
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.8
+ unicode-normalization@0.1.22
+ unicode-segmentation@1.10.1
+ unicode-width@0.1.10
+ url@2.3.1
+ vcpkg@0.2.15
+ vec_map@0.8.2
+ version_check@0.9.4
+ walkdir@2.3.3
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.84
+ wasm-bindgen-macro-support@0.2.84
+ wasm-bindgen-macro@0.2.84
+ wasm-bindgen-shared@0.2.84
+ wasm-bindgen@0.2.84
+ web-sys@0.3.61
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.45.0
+ windows-sys@0.48.0
+ windows-targets@0.42.2
+ windows-targets@0.48.0
+ windows@0.48.0
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.48.0
+ yansi@0.5.1
+"
+
+inherit cargo go-module systemd
+
+DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+FLUX_PV="0.194.3"
+
+SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v2.7.1/build.tar.gz -> ${P}-assets.tar.gz"
+SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz"
+SRC_URI+=" ${CARGO_CRATE_URIS}"
+
+LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+DEPEND="
+ acct-group/influxdb
+ acct-user/influxdb
+"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ default
+
+ local data_dir
+ data_dir="${S}/static/data"
+ mkdir "${data_dir}" || die
+ mv "${WORKDIR}/build" "${data_dir}" || die
+}
+
+src_compile() {
+ mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die
+ mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die
+ cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die
+ ego build .
+ mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die
+ mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die
+
+ cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die
+ cargo_src_compile
+
+ cd "${S}" || die
+
+ export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config"
+ ego generate ./static
+ GOBIN="${S}/bin" \
+ ego install \
+ -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \
+ -ldflags="-X main.version=${PV}" \
+ ./...
+}
+
+src_test() {
+ ego test ./tests
+}
+
+src_install() {
+ dobin bin/influx*
+ dodoc *.md
+ cd .circleci/scripts/package/influxdb2/fs || die
+ systemd_dounit usr/lib/influxdb/scripts/influxdb.service
+ exeinto /usr/lib/influxdb/scripts
+ doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh
+ exeinto /usr/share/influxdb
+ doexe usr/share/influxdb/influxdb2-upgrade.sh
+ newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb
+ newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+
+ newenvd - "99${PN}" <<-_EOF_
+ INFLUXD_CONFIG_PATH="/etc/influxdb"
+ _EOF_
+}
+
+pkg_postinst() {
+ elog "Upgrading from InfluxDB1.x requires migration of time series data."
+ elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/"
+ elog "Keep in mind that some applications not compatible with InfluxDB 2.x"
+ elog "may stop working."
+
+ ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli"
+ ewarn "You will need to install it separately"
+}
diff --git a/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch
new file mode 100644
index 000000000000..42fb7cb6eabc
--- /dev/null
+++ b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-clang16-build-fix.patch
@@ -0,0 +1,53 @@
+Bug: https://bugs.gentoo.org/894750
+https://sourceforge.net/p/libdbi-drivers/bugs/28/
+
+Fix type errors in the cgreen with constraints facility.
+
+diff --git a/tests/cgreen/src/constraint.c b/tests/cgreen/src/constraint.c
+index c19c0ddd41a7bfa7..95673dd3e222a3cf 100644
+--- a/tests/cgreen/src/constraint.c
++++ b/tests/cgreen/src/constraint.c
+@@ -22,8 +22,7 @@ static double unbox_double(intptr_t box);
+ static double as_double(intptr_t box);
+
+ static int compare_using_matcher(Constraint *constraint, intptr_t actual);
+-static void test_with_matcher(Constraint *constraint, const char *function, const char* matcher_name, intptr_t actual, const char *test_file, int test_line, TestReporter *reporter);
+-
++static void test_with_matcher(Constraint *constraint, const char *function, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter);
+
+ void destroy_constraint(void *abstract) {
+ Constraint *constraint = (Constraint *)abstract;
+@@ -164,11 +163,11 @@ static void test_want_double(Constraint *constraint, const char *function, intpt
+ }
+
+ static int compare_using_matcher(Constraint *constraint, intptr_t actual) {
+- int (*matches)(const void*) = constraint->expected;
+- return matches(actual);
++ int (*matches)(const void*) = (int (*)(const void*)) constraint->expected;
++ return matches((const void *)actual);
+ }
+
+-static void test_with_matcher(Constraint *constraint, const char *function, const char* matcher_name, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter) {
++static void test_with_matcher(Constraint *constraint, const char *function, intptr_t matcher_function, const char *test_file, int test_line, TestReporter *reporter) {
+ (*reporter->assert_true)(
+ reporter,
+ test_file,
+@@ -176,7 +175,7 @@ static void test_with_matcher(Constraint *constraint, const char *function, cons
+ (*constraint->compare)(constraint, matcher_function),
+ "Wanted parameter [%s] to match [%s] in function [%s]",
+ constraint->parameter,
+- matcher_name,
++ constraint->name,
+ function);
+ }
+
+--- a/tests/cgreen/src/unit.c
++++ b/tests/cgreen/src/unit.c
+@@ -9,6 +9,7 @@
+ #include <stdarg.h>
+ #include <unistd.h>
+ #include <signal.h>
++#include <sys/wait.h>
+
+ enum {test_function, test_suite};
+
diff --git a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild
new file mode 100644
index 000000000000..243151ab44aa
--- /dev/null
+++ b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r2.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The libdbi-drivers project maintains drivers for libdbi"
+HOMEPAGE="https://libdbi-drivers.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc firebird mysql oci8 postgres +sqlite static-libs"
+
+REQUIRED_USE="|| ( mysql postgres sqlite firebird oci8 )"
+RESTRICT="firebird? ( bindist )"
+
+RDEPEND="
+ >=dev-db/libdbi-0.9.0
+ firebird? ( dev-db/firebird )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/openjade )"
+
+DOCS=( AUTHORS ChangeLog NEWS README README.osx TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.0-doc-build-fix.patch
+ "${FILESDIR}"/${PN}-0.9.0-slibtool-libdir.patch
+ "${FILESDIR}"/${PN}-0.9.0-clang16-build-fix.patch
+)
+
+pkg_setup() {
+ use oci8 && [[ -z "${ORACLE_HOME}" ]] && die "\$ORACLE_HOME is not set!"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ # WARNING: the configure script does NOT work correctly
+ # --without-$driver does NOT work
+ # so do NOT use `use_with...`
+ # Future additions:
+ # msql
+ # freetds
+ # ingres
+ # db2
+ use mysql && myconf+=" --with-mysql"
+ use postgres && myconf+=" --with-pgsql"
+ use sqlite && myconf+=" --with-sqlite3"
+ use firebird && myconf+=" --with-firebird"
+ if use oci8; then
+ [[ -z "${ORACLE_HOME}" ]] && die "\$ORACLE_HOME is not set!"
+ myconf+=" --with-oracle-dir=${ORACLE_HOME} --with-oracle"
+ fi
+
+ econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ --with-dbi-libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_test() {
+ if [[ -z "${WANT_INTERACTIVE_TESTS}" ]]; then
+ ewarn "Tests disabled due to interactivity."
+ ewarn "Run with WANT_INTERACTIVE_TESTS=1 if you want them."
+ return 0
+ fi
+ einfo "Running interactive tests"
+ emake check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-db/libzdb/libzdb-3.2.3.ebuild b/dev-db/libzdb/libzdb-3.2.3.ebuild
index f6f1b34b83a4..1aee3c3eb4fd 100644
--- a/dev-db/libzdb/libzdb-3.2.3.ebuild
+++ b/dev-db/libzdb/libzdb-3.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,7 +21,7 @@ RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
ssl? ( dev-libs/openssl:0= )"
DEPEND="${RDEPEND}
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-db/litecli/Manifest b/dev-db/litecli/Manifest
new file mode 100644
index 000000000000..c5b049c04ec9
--- /dev/null
+++ b/dev-db/litecli/Manifest
@@ -0,0 +1 @@
+DIST litecli-1.10.0.tar.gz 887727 BLAKE2B 141a13760ce24530a72d2a1fb1c896378f1f35a9354b8a6b553792607337b2ea861481f995f1ff016ac4fca1c7bde1aada4c193acd388fdf03095900b137c303 SHA512 aa497fe050f4e1135f2c63f4c0cbab736400158c546a0391f3eca956b38132349ad2eb46505beb52651f74bc5ff1a2ba9b0254e7a6a86d79e461fdd0508fb412
diff --git a/dev-db/litecli/litecli-1.10.0.ebuild b/dev-db/litecli/litecli-1.10.0.ebuild
new file mode 100644
index 000000000000..fc8f2ae015b3
--- /dev/null
+++ b/dev-db/litecli/litecli-1.10.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+DESCRIPTION="CLI for SQLite with auto-completion and syntax highlighting"
+HOMEPAGE="https://litecli.com/ https://github.com/dbcli/litecli"
+SRC_URI="https://github.com/dbcli/litecli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/click-4.1[${PYTHON_USEDEP}]
+ >=dev-python/cli-helpers-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.3[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.5[${PYTHON_USEDEP}]
+ dev-python/sqlparse[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-db/litecli/metadata.xml b/dev-db/litecli/metadata.xml
new file mode 100644
index 000000000000..27c879594147
--- /dev/null
+++ b/dev-db/litecli/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">dbcli/litecli</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild b/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild
index 72646bad27e1..62c9abb00e81 100644
--- a/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild
+++ b/dev-db/lmdb++/lmdb++-0.9.14.0.ebuild
@@ -13,7 +13,6 @@ SRC_URI="mirror://sourceforge/lmdbxx/${PV}/${MY_P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
RDEPEND="dev-db/lmdb"
diff --git a/dev-db/lmdb++/metadata.xml b/dev-db/lmdb++/metadata.xml
index 282df1f9a7b0..727af7ea901b 100644
--- a/dev-db/lmdb++/metadata.xml
+++ b/dev-db/lmdb++/metadata.xml
@@ -12,5 +12,6 @@
</longdescription>
<upstream>
<remote-id type="github">hoytech/lmdbxx</remote-id>
+ <remote-id type="sourceforge">lmdbxx</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest
index 88c59cf54aeb..8b9290f5a694 100644
--- a/dev-db/lmdb/Manifest
+++ b/dev-db/lmdb/Manifest
@@ -1,2 +1 @@
-DIST openldap-LMDB_0.9.30.tar.gz 145023 BLAKE2B bf93d23a3d2a2a4fe1e82e310125187e52f22cfcf7809f729edc6085521d2f66c07c042c552b745d8241d515d58c4c8da9921d503cfcca25ecacd1d06a662ad4 SHA512 4d531f1e2bb01566ad60970201cf10418a894d64167dd2e01503ab7b42c148c6ced8e857ae7f5d09e46feaa709b88f7006e5cb702b69ddaa343f005d0fef16ed
DIST openldap-LMDB_0.9.31.tar.gz 145086 BLAKE2B 8df437c27cb9d40b71a8e9f516c503676dade2342c9d618dcfff6081bf0034f67d1216a6a25a364e7dacd588acb2e254b98486efade12307fa3ad7977be5ed54 SHA512 318aa89b7e39f98f636dba01620f866ddc255d81a2d4def8a9d9fdd80878608db1ac7b60bde58e954aba802d94df42786a9cd00d0c7e11646f09fd5d64821ac4
diff --git a/dev-db/lmdb/lmdb-0.9.30.ebuild b/dev-db/lmdb/lmdb-0.9.30.ebuild
deleted file mode 100644
index 5e1e02cffb31..000000000000
--- a/dev-db/lmdb/lmdb-0.9.30.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit flag-o-matic multilib multilib-minimal toolchain-funcs
-
-MY_P="${PN^^}_${PV}"
-
-DESCRIPTION="An ultra-fast, ultra-compact key-value embedded data store"
-HOMEPAGE="https://symas.com/lmdb/technical/"
-SRC_URI="https://git.openldap.org/openldap/openldap/-/archive/${MY_P}/openldap-${MY_P}.tar.gz"
-
-LICENSE="OPENLDAP"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND=""
-
-S="${WORKDIR}/openldap-${MY_P}/libraries/liblmdb"
-
-src_prepare() {
- default
- if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -lt 10 ]] ; then
- # posix_memalign isn't available before 10.6, but on OSX
- # malloc is always aligned for any addressable type
- sed -i -e '/(__APPLE__)/a#define HAVE_MEMALIGN 1\n#define memalign(X,Y) malloc(X)' mdb.c || die
- fi
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local soname="-Wl,-soname,liblmdb$(get_libname 0)"
- if [[ ${CHOST} == *-darwin* ]] ; then
- soname="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/liblmdb$(get_libname 0)"
- replace-flags -O[123456789] -O1
- fi
- sed -i -e "s!^CC.*!CC = $(tc-getCC)!" \
- -e "s!^CFLAGS.*!CFLAGS = ${CFLAGS}!" \
- -e "s!^AR.*!AR = $(tc-getAR)!" \
- -e "s!^SOEXT.*!SOEXT = $(get_libname)!" \
- -e "/^prefix/s!/usr/local!${EPREFIX}/usr!" \
- -e "/^libdir/s!lib\$!$(get_libdir)!" \
- -e "s!shared!shared ${soname}!" \
- "Makefile" || die
-}
-
-multilib_src_compile() {
- emake LDLIBS+=" -pthread"
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- mv "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname) \
- "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname 0) || die
- dosym liblmdb$(get_libname 0) /usr/$(get_libdir)/liblmdb$(get_libname)
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins "${FILESDIR}/lmdb.pc"
- sed -i -e "s!@PACKAGE_VERSION@!${PV}!" \
- -e "s!@prefix@!${EPREFIX}/usr!g" \
- -e "s!@libdir@!$(get_libdir)!" \
- "${ED}"/usr/$(get_libdir)/pkgconfig/lmdb.pc || die
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/liblmdb.a || die
- fi
-}
diff --git a/dev-db/lmdb/lmdb-0.9.31.ebuild b/dev-db/lmdb/lmdb-0.9.31.ebuild
index ca2062f8f74a..423945a76b08 100644
--- a/dev-db/lmdb/lmdb-0.9.31.ebuild
+++ b/dev-db/lmdb/lmdb-0.9.31.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,12 +12,9 @@ SRC_URI="https://git.openldap.org/openldap/openldap/-/archive/${MY_P}/openldap-$
LICENSE="OPENLDAP"
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
-DEPEND=""
-RDEPEND=""
-
S="${WORKDIR}/openldap-${MY_P}/libraries/liblmdb"
src_prepare() {
diff --git a/dev-db/m17n-db/m17n-db-1.8.0.ebuild b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
index 4265d7a91b07..7342e3737171 100644
--- a/dev-db/m17n-db/m17n-db-1.8.0.ebuild
+++ b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -9,7 +9,7 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE=""
RDEPEND="virtual/libintl"
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index d3fd1a3256a1..993df4a61536 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -1,5 +1,9 @@
DIST mariadb-10.11.3-patches-01.tar.xz 4984 BLAKE2B abc78c83505c745ab7320b99dcda8c667fed8332dede466142027b24957fa9ff3d03f8402679ce6cffdc89bc9f0559f8c717b7ec9df52a2c5db39195f096d731 SHA512 127386c9dc8ce242d9d309e31b9357a928ba816d24d94d60cbc8723fb3bd0fb136c7d049bfb37aac057f9ebcc73c155ac20b8bcf2542f89401140728c2dcf29a
DIST mariadb-10.11.5.tar.gz 99709948 BLAKE2B 97429df4f0a10eb72c74dd0e951954b7c096a6b42fdaa97c682d1409e2a21716171a2b66aae6ec8ab3f4371bed57aff1f054554d398242e413d5c8e7ad988da4 SHA512 851e6508c1e495afa608a8bcd5c62faa5800e69cc1ba81b9366bf250e07ce8a9801a4ee07ecbaec4b57180c9b3bf2ed8acb7f5f03dd37a87a53928bfd4dfe559
+DIST mariadb-10.11.6-patches-01.tar.xz 4980 BLAKE2B 62edcb60484d61683eb7733bb29f2f7e227d943cf95ff84373f25a8e438b1ca8d3b4a1e3f46f70722dd9abd43679e12f4cef1c2bfb3d01f8f23f68f6ab7cbd50 SHA512 2bdaaa026ac95d6edf50a1f46e77f8295e98504f978bb55d405267faf56150c17e52682a0334132eae1230c814b5cf458616e1abefb1dd580d160f952e5294f1
+DIST mariadb-10.11.6.tar.gz 99586625 BLAKE2B 8fa1d8b8c1f0206ecb8bf754f918d22f42befc816c7bb9f83641b0d71d737177f593d244477fc399cd7a3c3fa3e97f96af329d83e8848c9850f59cbb05ecab48 SHA512 3d77f7be4a26d5a36af56150a5f8ed5e21adeed9bc8ea1bd694e47a25a571bd73468eada7c96e0dfe5a6c81bef625abf71a56d228cf43a738e555e3c0d824a6a
DIST mariadb-10.6.13-patches-01.tar.xz 4984 BLAKE2B 625d04310b02aad4fec4b633e9fab06636364f3c5ed3cb88e89acd4224786c3c9ed478b636ac699e77a888b73dab12cb279df41d6095e93e9c4ae3a159570286 SHA512 1e6ac167bfd77570e8ff5955aaa9a101d9387ac4857d856f1fb8c9a489c4c2a154481b9385584435e8dc95baef0dd3ef6831c7de2d6f004401cc338edcaa9d12
DIST mariadb-10.6.14.tar.gz 95286643 BLAKE2B 4a186f3f52b63ab7321aa7556776ff8a986bd602d78dc6a143cc3bfdfd8cc09b0a22688cba02b8907f4b3f0d1e7c640f5caad768c1e89486d6af24e6cf3168a8 SHA512 11b88480ac61303172e98ed3271c8172e840cded5175caba1469d6ec063df647b536ee6e95f110abd8d95d95c9b8d7edf1cb611113be225d5e8eeb2041f86438
DIST mariadb-10.6.15.tar.gz 98204031 BLAKE2B 4534b82f1c1e16ce2c7c21879714e24b20fada36ef10a8a0dbe770c1d99055822fcaf146646b19b459cfd948bff0662d23f1f661a843919f90a354838bda7ee6 SHA512 61b5af8c2f8bd2f641aaa708941563d5f6ecc118acc9a154c009c3ae1d50e7360ae59241f87e5c2111775a3ffeb42a64f4853e9c7096b58d68a3695b5d0ef97c
+DIST mariadb-10.6.16-patches-01.tar.xz 4956 BLAKE2B a178930f7abe474e1419509c0bbabf783e1b931cfc3f4b4bddf426d9671d4e69e62a800d759f424f957562091c634049e594332ab15dc758e98d26c48ba69d1d SHA512 42969e6881cf2548c48fcce7f8439c9d56596ef038d55affcada45f4cd42a3666617f5786b69fe9ba42f11b06e85f43b722f2190aa7ed5badb461c48282751e5
+DIST mariadb-10.6.16.tar.gz 98224346 BLAKE2B f5b51df0b8665b817e81b5f0550019627fb41fa682c5cf5acfac30add46442ad9338da39283b09f97f2108e3677c249c2b7395c9c9f5b97e8648c879d654c7f1 SHA512 05d509d5f7a672b897f42674884df0debcae0b75c4eaa6d67645343c596c81c0c41d474a59150108428bf9f2c4468ca05650afb616aac5d1ea09fd2cea258a7f
diff --git a/dev-db/mariadb/mariadb-10.11.5-r1.ebuild b/dev-db/mariadb/mariadb-10.11.5-r1.ebuild
new file mode 100644
index 000000000000..faf4a0173937
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.11.5-r1.ebuild
@@ -0,0 +1,1319 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.11.3-patches-01.tar.xz"
+
+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 )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~x86"
+
+# 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/libfmt:=
+ >=dev-libs/libpcre2-10.34:=
+ >=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? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ 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:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/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/percona-server
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.6
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:11.0
+ 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-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+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 "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ 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
+ local 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_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=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_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.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.mysql_upgrade;27044;Sporadically failing test" )
+ 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+=( "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
+ 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 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
+ 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.11.5.ebuild b/dev-db/mariadb/mariadb-10.11.5.ebuild
index ec6228a419cd..388d4ffea6c1 100644
--- a/dev-db/mariadb/mariadb-10.11.5.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -26,7 +26,8 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
@@ -81,7 +82,7 @@ COMMON_DEPEND="
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
diff --git a/dev-db/mariadb/mariadb-10.11.6.ebuild b/dev-db/mariadb/mariadb-10.11.6.ebuild
new file mode 100644
index 000000000000..618372159ab3
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.11.6.ebuild
@@ -0,0 +1,1319 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.11.6-patches-01.tar.xz"
+
+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 )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# 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/libfmt:=
+ >=dev-libs/libpcre2-10.34:=
+ >=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? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ 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:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/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/percona-server
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.6
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:11.0
+ 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-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+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 "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ 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
+ local 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_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=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_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.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.mysql_upgrade;27044;Sporadically failing test" )
+ 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+=( "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
+ 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 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
+ 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.6.14.ebuild b/dev-db/mariadb/mariadb-10.6.14.ebuild
index d1edd500cbd9..6b04209e8502 100644
--- a/dev-db/mariadb/mariadb-10.6.14.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -26,7 +26,8 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
@@ -80,7 +81,7 @@ COMMON_DEPEND="
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
diff --git a/dev-db/mariadb/mariadb-10.6.15-r1.ebuild b/dev-db/mariadb/mariadb-10.6.15-r1.ebuild
new file mode 100644
index 000000000000..2bce0280ca59
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.15-r1.ebuild
@@ -0,0 +1,1330 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz"
+
+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 )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~x86"
+
+# 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/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? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ 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:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/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.5
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
+ !<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-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
+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 "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ 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
+ local 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_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=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_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.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.mysql_upgrade;27044;Sporadically failing test" )
+ 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+=( "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
+ 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 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
+ 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.6.15.ebuild b/dev-db/mariadb/mariadb-10.6.15.ebuild
index 0675af87264c..e2281369b5cb 100644
--- a/dev-db/mariadb/mariadb-10.6.15.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.15.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -26,7 +26,8 @@ RESTRICT="!bindist? ( bindist ) !test? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
+ static? ( yassl !pam )
+ test? ( extraengine )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
@@ -80,7 +81,7 @@ COMMON_DEPEND="
s3? ( net-misc/curl )
systemd? ( sys-apps/systemd:= )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
yassl? ( net-libs/gnutls:0= )
!yassl? (
diff --git a/dev-db/mariadb/mariadb-10.6.16.ebuild b/dev-db/mariadb/mariadb-10.6.16.ebuild
new file mode 100644
index 000000000000..b2abcce4246a
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.16.ebuild
@@ -0,0 +1,1330 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+HOMEPAGE="https://mariadb.org/"
+SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
+ https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz"
+
+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 )
+ test? ( extraengine )"
+
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# 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/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? (
+ dev-libs/libaio:0=
+ sys-libs/liburing:=
+ sys-process/procps:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy:=
+ dev-libs/boost:=
+ 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:=
+ dev-libs/judy:0=
+ )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0:0=
+ )
+"
+BDEPEND="app-alternatives/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.5
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !dev-db/mariadb:10.9
+ !dev-db/mariadb:10.10
+ !dev-db/mariadb:10.11
+ !dev-db/mariadb:11.0
+ !<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-MariaDB is needed by some scripts installed by MySQL
+PDEPEND="perl? ( dev-perl/DBD-MariaDB )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux
+ pthread_threadid_np
+ getthrid
+)
+
+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 "${FILESDIR}"/${PN}-10.6.11-gssapi.patch
+ eapply "${FILESDIR}"/${PN}-10.6.11-include.patch
+ eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch
+
+ 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
+ local 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_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=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_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.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.mysql_upgrade;27044;Sporadically failing test" )
+ 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+=( "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
+ 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 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
+ 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/metadata.xml b/dev-db/mariadb/metadata.xml
index 9dcb6c6d11e8..909151a47221 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -25,7 +25,7 @@
<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="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-debug/systemtap</pkg></flag>
<flag name="s3">Build the S3 storage engine</flag>
<flag name="test">Install upstream testsuites for end use.</flag>
<flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
diff --git a/dev-db/mongodb/metadata.xml b/dev-db/mongodb/metadata.xml
index 4209dc659524..f8c3c65fba50 100644
--- a/dev-db/mongodb/metadata.xml
+++ b/dev-db/mongodb/metadata.xml
@@ -14,7 +14,6 @@
and powerful queries).
</longdescription>
<use>
- <flag name="lto">Adds support for link time optimization</flag>
<flag name="mongosh">Install the MongoDB shell from <pkg>app-admin/mongosh-bin</pkg></flag>
<flag name="tools">Install the MongoDB tools (mongoimport, mongodump...) from <pkg>app-admin/mongo-tools</pkg></flag>
</use>
diff --git a/dev-db/mongodb/mongodb-4.4.20.ebuild b/dev-db/mongodb/mongodb-4.4.20.ebuild
index 4dc301c49f07..12cef7fbaaa0 100644
--- a/dev-db/mongodb/mongodb-4.4.20.ebuild
+++ b/dev-db/mongodb/mongodb-4.4.20.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
@@ -21,7 +21,7 @@ SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="amd64 ~arm64 -riscv"
-IUSE="debug kerberos lto ssl test +tools"
+IUSE="debug kerberos ssl test +tools"
RESTRICT="!test? ( test )"
RDEPEND="acct-group/mongodb
@@ -42,11 +42,11 @@ DEPEND="${RDEPEND}
${PYTHON_DEPS}
sys-libs/ncurses:0=
sys-libs/readline:0=
- debug? ( dev-util/valgrind )"
+ debug? ( dev-debug/valgrind )"
BDEPEND="
$(python_gen_any_dep '
test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
- >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ >=dev-build/scons-3.1.1[${PYTHON_USEDEP}]
dev-python/cheetah3[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
@@ -73,7 +73,7 @@ python_check_deps() {
python_has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
fi
- python_has_version ">=dev-util/scons-3.1.1[${PYTHON_USEDEP}]" &&
+ python_has_version ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
@@ -123,7 +123,6 @@ src_configure() {
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
diff --git a/dev-db/mongodb/mongodb-5.0.16-r1.ebuild b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
index 95e24df12a4f..239cdc96c99c 100644
--- a/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
@@ -22,7 +22,7 @@ LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="amd64 ~arm64 -riscv"
CPU_FLAGS="cpu_flags_x86_avx"
-IUSE="debug kerberos lto mongosh ssl +tools ${CPU_FLAGS}"
+IUSE="debug kerberos mongosh ssl +tools ${CPU_FLAGS}"
# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
# resmoke needs python packages not yet present in Gentoo
@@ -46,10 +46,10 @@ DEPEND="${RDEPEND}
${PYTHON_DEPS}
sys-libs/ncurses:0=
sys-libs/readline:0=
- debug? ( dev-util/valgrind )"
+ debug? ( dev-debug/valgrind )"
BDEPEND="
$(python_gen_any_dep '
- >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ >=dev-build/scons-3.1.1[${PYTHON_USEDEP}]
dev-python/cheetah3[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
@@ -78,7 +78,7 @@ PATCHES=(
S="${WORKDIR}/${MY_P}"
python_check_deps() {
- python_has_version ">=dev-util/scons-3.1.1[${PYTHON_USEDEP}]" &&
+ python_has_version ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
@@ -138,8 +138,7 @@ src_configure() {
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 amd64 && ! use cpu_flags_x86_avx && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
+ use amd64 && ! use cpu_flags_x86_avx && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
scons_opts+=( --ssl=$(usex ssl on off) )
diff --git a/dev-db/myodbc/metadata.xml b/dev-db/myodbc/metadata.xml
index 8973b55f07b5..7bc9d15851cf 100644
--- a/dev-db/myodbc/metadata.xml
+++ b/dev-db/myodbc/metadata.xml
@@ -1,8 +1,11 @@
<?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>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mysql/mysql-connector-odbc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
index a6558abd86f4..caa3194fb0eb 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${P}-src"
LICENSE="Artistic GPL-2"
SLOT="0"
# -ppc, -sparc for bug #711940
-KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
+KEYWORDS="amd64 arm ~arm64 -ppc ppc64 -sparc x86"
IUSE="+legacy"
RDEPEND="
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild
index 0c403ce0c233..7e872e2d3d73 100644
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild
@@ -95,6 +95,8 @@ multilib_src_configure() {
-DWITH_DEFAULT_COMPILER_OPTIONS=OFF
-DENABLED_LOCAL_INFILE=ON
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
+ # Automagically uses LLD with not using LTO (bug #710272, #775845)
+ -DUSE_LD_LLD=OFF
-DWITH_LZ4=system
-DWITH_NUMA=OFF
-DWITH_SSL=system
diff --git a/dev-db/mysql-init-scripts/files/conf.d-2.0 b/dev-db/mysql-init-scripts/files/conf.d-2.0
index cecb9a940f14..843b6fe93095 100644
--- a/dev-db/mysql-init-scripts/files/conf.d-2.0
+++ b/dev-db/mysql-init-scripts/files/conf.d-2.0
@@ -63,7 +63,7 @@ STOP_TIMEOUT=120
# Or from NFS? P.S. This is not a good idea in most cases, but does have some
# valid usage cases, so we provide the option.
-#rc_need="nfsmount"
+#rc_need="nfsclient"
# Should any one of the instances satisfy the requirement for MySQL coming up?
# By default, we say no.
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r6.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r7.ebuild
index b5212ccb5bf5..ce3110eecafa 100644
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r6.ebuild
+++ b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index b6ff93357857..89f6c6141073 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,2 +1,2 @@
DIST antlr-4.11.1-complete.jar 3547867 BLAKE2B 24e9799a402302fd13ebd91028a8e3b8141af50b446bc06bb4df3f7619cad956e9b681c0908b870a1f9d6701049e89099906cdc6038dc007984b19f7a8cc756b SHA512 a445bb71e4470ffa7bbb382a873fe5c5737b96b2c68b57593c1151ed9944ec701ce0c299ea5c3b593bd33916d384d598e2538a9b0b11b41c77a399beca4aab88
-DIST mysql-workbench-community-8.0.34-src.tar.gz 27906155 BLAKE2B 3a05e1763eddba5c72242eb3d79100fee43915a96fc0198ad5624f14f5228cc11040d424ccd484ee312d8bcd2372c5197ae0136e8d33f3fd45b3ed429ff9ee20 SHA512 e031f6a0cadab528d64160113539535e93aea4631e0139256f6b3e812fa6d12a35c71f16f78d60ceeb004edb3a67bbd4db6ac3e5c286df23491d3f0b410f1c77
+DIST mysql-workbench-community-8.0.36-src.tar.gz 27419906 BLAKE2B 47ab5c64b5beee712c9227cdb5c46a6863d830ef75983e0e56702e0b08370b9118b301d0c34ba95180bef2fe0b01ae24791337c9e1922cd412a37f057906027a SHA512 953f072414abb8c236ffccb8a4439dcd4c5eb76ff07f5ca276c35e8cf6102ef73292412fc70113a167f34bd998603ef22b59038ae06cf84d2f0440769c1d9689
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch b/dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch
new file mode 100644
index 000000000000..e3ee9aa099f0
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-8.0.36-libxml2-2.12-support.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/923020
+https://github.com/mysql/mysql-workbench/pull/43
+
+From 8f8917671ab5a06f842a340f31c6d4ec7634147a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 27 Jan 2024 22:51:15 +0200
+Subject: [PATCH] Fix support for libxml2-2.12 with its api and header changes
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/library/grt/src/grt.h
++++ b/library/grt/src/grt.h
+@@ -34,6 +34,7 @@
+ #include <vector>
+ #include <stdexcept>
+ #include <boost/function.hpp>
++#include <libxml/tree.h>
+ #include <libxml/xmlmemory.h>
+ #include "base/threading.h"
+ #include <string>
+--- a/library/grt/src/unserializer.cpp
++++ b/library/grt/src/unserializer.cpp
+@@ -401,7 +401,11 @@ ValueRef internal::Unserializer::unserialize_xmldata(const char *data, size_t si
+ xmlDocPtr doc = xmlReadMemory(data, (int)size, NULL, NULL, XML_PARSE_NOENT);
+
+ if (!doc) {
++#if LIBXML_VERSION >= 21200
++ const xmlError* error = xmlGetLastError();
++#else
+ xmlErrorPtr error = xmlGetLastError();
++#endif
+
+ if (error)
+ throw std::runtime_error(base::strfmt("Could not parse XML data. Line %d, %s", error->line, error->message));
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.34.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.34.ebuild
deleted file mode 100644
index be2ff26905e2..000000000000
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.34.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GCONF_DEBUG="no"
-
-PYTHON_COMPAT=( python3_{9,10,11} )
-PYTHON_REQ_USE="sqlite"
-
-ANTLR_VERSION=4.11.1
-
-inherit gnome2 flag-o-matic python-single-r1 cmake
-
-MY_P="${PN}-community-${PV}-src"
-
-DESCRIPTION="MySQL Workbench"
-HOMEPAGE="https://www.mysql.com/products/workbench/"
-SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz
- https://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# glibc: deprecated mutex functions, removed in 2.36.0
-CDEPEND="${PYTHON_DEPS}
- app-crypt/libsecret
- dev-libs/glib:2
- >=dev-cpp/antlr-cpp-4.11.1:4
- dev-cpp/atkmm:*
- dev-cpp/pangomm:1.4
- >=dev-cpp/glibmm-2.14:2
- dev-cpp/gtkmm:3.0
- dev-libs/atk
- >=net-libs/libssh-0.9.5[server]
- x11-libs/pango
- x11-libs/gtk+:3
- >=x11-libs/cairo-1.5.12[glib,svg(+)]
- >=dev-libs/rapidjson-1.1.0
- dev-libs/libsigc++:2
- dev-libs/boost[nls]
- >=dev-cpp/ctemplate-0.95
- >=dev-libs/libxml2-2.6.2:2
- dev-libs/libzip
- dev-libs/libpcre[cxx]
- >=sci-libs/gdal-1.11.1-r1:=
- virtual/opengl
- || ( sys-fs/e2fsprogs dev-libs/ossp-uuid )
- dev-libs/tinyxml[stl]
- >=dev-db/mysql-connector-c++-8.0.27-r1
- dev-db/vsqlite++
- || ( dev-db/libiodbc >=dev-db/unixODBC-2.3.11 )
- dev-python/pexpect
- >=dev-python/paramiko-1.7.4
-"
-
-RDEPEND="${CDEPEND}
- app-admin/sudo
- >=sys-apps/net-tools-1.60_p20120127084908"
-
-DEPEND="${CDEPEND}
- dev-lang/swig
- >=virtual/jre-11
- virtual/pkgconfig"
-
-S="${WORKDIR}"/"${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
- "${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch"
- "${FILESDIR}/${PN}-8.0.33-gcc13.patch"
-)
-
-src_unpack() {
- unpack ${PN}-community-${PV}-src.tar.gz
-}
-
-src_prepare() {
- ## remove hardcoded CXXFLAGS
- sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
- ## And avoid -Werror
- sed -i -e 's/-Werror//' CMakeLists.txt || die
- ## Fix doc install directory
- sed -i -e "/WB_INSTALL_DOC_DIR/ s/mysql-workbench/${P}/ ; /WB_INSTALL_DOC_DIR/ s/-community//" CMakeLists.txt || die
-
- ## package is very fragile...
- strip-flags
-
- cmake_src_prepare
-}
-
-src_configure() {
- if has_version dev-db/libiodbc ; then
- IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config"
- fi
-
- if has_version dev-db/unixODBC ; then
- UNIXODBC="-DUNIXODBC_CONFIG_PATH=/usr/bin/odbc_config"
- fi
-
- append-cxxflags -std=c++11
- ANTLR_JAR_PATH="${DISTDIR}/antlr-${ANTLR_VERSION}-complete.jar"
- local mycmakeargs=(
- -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH}
- -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
- -DIODBC_INCLUDE_PATH="/usr/include/iodbc"
- ${IODBC}
- ${UNIXODBC}
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
- )
- cmake_src_configure
-}
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.34-r1.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.36.ebuild
index 8c7923b9a050..bb6113df89ed 100644
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.34-r1.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.36.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GCONF_DEBUG="no"
-PYTHON_COMPAT=( python3_{9,10,11} )
+PYTHON_COMPAT=( python3_{10,11} )
PYTHON_REQ_USE="sqlite"
ANTLR_VERSION=4.11.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}"
@@ -33,7 +33,6 @@ CDEPEND="${PYTHON_DEPS}
dev-cpp/pangomm:1.4
>=dev-cpp/glibmm-2.14:2
dev-cpp/gtkmm:3.0
- dev-libs/atk
>=net-libs/libssh-0.9.5[server]
x11-libs/pango
x11-libs/gtk+:3
@@ -71,6 +70,7 @@ PATCHES=(
"${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
"${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch"
"${FILESDIR}/${PN}-8.0.33-gcc13.patch"
+ "${FILESDIR}/${PN}-8.0.36-libxml2-2.12-support.patch"
)
src_unpack() {
diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml
index 6ee2f3d235f6..8cf9fbadca70 100644
--- a/dev-db/mysql/metadata.xml
+++ b/dev-db/mysql/metadata.xml
@@ -19,7 +19,7 @@
<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="systemtap">Build support for profiling and tracing using <pkg>dev-debug/systemtap</pkg></flag>
<flag name="test">Install upstream testsuites for end use.</flag>
</use>
<upstream>
diff --git a/dev-db/mysql/mysql-5.7.41.ebuild b/dev-db/mysql/mysql-5.7.41.ebuild
index e06cf85e23a5..016aa962043a 100644
--- a/dev-db/mysql/mysql-5.7.41.ebuild
+++ b/dev-db/mysql/mysql-5.7.41.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -63,7 +63,7 @@ COMMON_DEPEND="
)
numa? ( sys-process/numactl )
)
- systemtap? ( >=dev-util/systemtap-1.3:0= )
+ systemtap? ( >=dev-debug/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
"
diff --git a/dev-db/mysql/mysql-8.0.27-r1.ebuild b/dev-db/mysql/mysql-8.0.27-r1.ebuild
index 8a28bc5b2b53..fb831d0ded5e 100644
--- a/dev-db/mysql/mysql-8.0.27-r1.ebuild
+++ b/dev-db/mysql/mysql-8.0.27-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -238,15 +238,10 @@ src_configure() {
-DWITH_ROUTER=$(usex router ON OFF)
)
- if is-flagq -fno-lto ; then
- einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
- mycmakeargs+=( -DWITH_LTO=OFF )
- elif is-flagq -flto ; then
- einfo "LTO forced via {C,CXX,F,FC}FLAGS"
- myconf+=( -DWITH_LTO=ON )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
diff --git a/dev-db/mysql/mysql-8.0.31-r2.ebuild b/dev-db/mysql/mysql-8.0.31-r2.ebuild
index c93dec93051e..854e55432dfc 100644
--- a/dev-db/mysql/mysql-8.0.31-r2.ebuild
+++ b/dev-db/mysql/mysql-8.0.31-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -238,15 +238,10 @@ src_configure() {
-DWITH_ROUTER=$(usex router ON OFF)
)
- if is-flagq -fno-lto ; then
- einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
- mycmakeargs+=( -DWITH_LTO=OFF )
- elif is-flagq -flto ; then
- einfo "LTO forced via {C,CXX,F,FC}FLAGS"
- myconf+=( -DWITH_LTO=ON )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
diff --git a/dev-db/mysql/mysql-8.0.32-r2.ebuild b/dev-db/mysql/mysql-8.0.32-r2.ebuild
index c2f3cdba598b..4f6fa4715c82 100644
--- a/dev-db/mysql/mysql-8.0.32-r2.ebuild
+++ b/dev-db/mysql/mysql-8.0.32-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -246,15 +246,10 @@ src_configure() {
-DWITH_ROUTER=$(usex router ON OFF)
)
- if is-flagq -fno-lto ; then
- einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
- mycmakeargs+=( -DWITH_LTO=OFF )
- elif is-flagq -flto ; then
- einfo "LTO forced via {C,CXX,F,FC}FLAGS"
- myconf+=( -DWITH_LTO=ON )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
diff --git a/dev-db/mysql/mysql-8.0.34.ebuild b/dev-db/mysql/mysql-8.0.34.ebuild
index 43fb2e5f98f0..2b86120d9b9a 100644
--- a/dev-db/mysql/mysql-8.0.34.ebuild
+++ b/dev-db/mysql/mysql-8.0.34.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -246,7 +246,6 @@ src_configure() {
-DWITH_ROUTER=$(usex router ON OFF)
)
-
if use debug; then
# Debug build type used extensively to add preprocessor definitions
local -x CMAKE_BUILD_TYPE="Debug"
@@ -258,14 +257,9 @@ src_configure() {
)
fi
- if is-flagq -fno-lto ; then
- einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
- mycmakeargs+=( -DWITH_LTO=OFF )
- elif is-flagq -flto ; then
- einfo "LTO forced via {C,CXX,F,FC}FLAGS"
+ if tc-is-lto ; then
mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
mycmakeargs+=( -DWITH_LTO=OFF )
fi
diff --git a/dev-db/mysqltuner/Manifest b/dev-db/mysqltuner/Manifest
index a992f6e3c145..dd279be50776 100644
--- a/dev-db/mysqltuner/Manifest
+++ b/dev-db/mysqltuner/Manifest
@@ -1 +1,2 @@
DIST mysqltuner-2.2.12.tar.gz 5130342 BLAKE2B 9a62f634a18f94d8f844aa93a0c7b2595bf29c9888005c89bdf8c0acb7376548dd745e46b2c0d67bb2ab5b79acd4ce19f6fd99b525bf8794e92b7713020128ac SHA512 84352c3bce74a7288ea1ac5a7c2e513ff0cd35656df5280bedf8738eb4b90ad0cdf039510d874947080720f56f0f947a964cf5152788a7566616e012a5f94c85
+DIST mysqltuner-2.5.2.tar.gz 5132683 BLAKE2B 439559c05ed9daad6f21fc90f91b3b39619ca2012a719eca3ba4b5d8cb2d963fb8bc10b0ea2855052ca5716fc98aa62f35bd0288380dceb79c1832150fe7f2a8 SHA512 9fe3d77636e3779ca2ab5f93cd7c480d651f6c26f4e6271adfcee6012aa423579f124ce6858bbf7142b2967f30bc0f0517b5d82ad2a35ecc004b1b621d0bee45
diff --git a/dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch b/dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch
new file mode 100644
index 000000000000..d32ea2751978
--- /dev/null
+++ b/dev-db/mysqltuner/files/mysqltuner-2.5.2-missing-shebang.patch
@@ -0,0 +1,107 @@
+From ca10ec741100501aa8190d129263b86104c08222 Mon Sep 17 00:00:00 2001
+From: Jean-Marie Renouard <jmrenouard@gmail.com>
+Date: Tue, 6 Feb 2024 18:35:38 +0100
+Subject: [PATCH] Adding shebang comment for auto execution
+
+---
+ mysqltuner.pl | 1 +
+ v2.5.2.txt | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 82 insertions(+)
+ create mode 100644 v2.5.2.txt
+
+diff --git a/mysqltuner.pl b/mysqltuner.pl
+index 3a755318..2006e20d 100755
+--- a/mysqltuner.pl
++++ b/mysqltuner.pl
+@@ -1,3 +1,4 @@
++#!/bin/env perl
+ # mysqltuner.pl - Version 2.5.2
+ # High Performance MySQL Tuning Script
+ # Copyright (C) 2015-2023 Jean-Marie Renouard - jmrenouard@gmail.com
+diff --git a/v2.5.2.txt b/v2.5.2.txt
+new file mode 100644
+index 00000000..b8e4d854
+--- /dev/null
++++ b/v2.5.2.txt
+@@ -0,0 +1,81 @@
++commit 4fdd80139269691828c0a27ff583b2ee49987451
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Tue Feb 6 18:00:04 2024 +0100
++
++ Generate CVE list at 2024-02-06T17:59:02+01:00
++
++commit dd2ed7264295a6d328c59c7c395eeb9be933fdde
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Tue Feb 6 17:58:57 2024 +0100
++
++ Indenting mysqltuner at 2024-02-06T17:58:52+01:00
++
++commit 30d1d9ecc61393ec807d2596ef8b5e178a4b52cd
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Tue Feb 6 17:58:35 2024 +0100
++
++ Generate 2.5.2 sub version at 2024-02-06T17:58:35+01:00
++
++commit b3a776576e7e568143797d62b754d9f992ffd1db
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Sun Feb 4 00:34:49 2024 +0100
++
++ Two separate garb install script with or without SSL
++
++commit 27525ca922a74d1df5c53c4d3ed1a1f07029919c
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Sun Feb 4 00:31:54 2024 +0100
++
++ Fix issue in Buffer Pool instead of Log Buffer Pool
++
++commit 65b1c138a56157774d8d98f93741a42054b3f4c6
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Thu Jan 18 05:38:00 2024 +0100
++
++ #741 false positive in log error detection
++
++commit 56d16e168efe85ba4a93b93800c50b42cdd32aee
++Merge: 3fd633b b608da0
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Wed Jan 17 18:35:27 2024 +0100
++
++ Merge pull request #745 from FabioPedretti/master
++
++ Enable color by default when running on a terminal
++
++commit b608da0fb1a8ad3200b5857a4ef6e6706934ab46
++Author: Fabio Pedretti <pedretti.fabio@gmail.com>
++Date: Thu Jan 11 11:27:25 2024 +0100
++
++ Enable color by default when running on a terminal
++
++commit 3fd633b507d48e7505c28aab8dc48d73f028f8da
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Fri Dec 1 00:46:15 2023 +0100
++
++ Generate 2.5.0 minor version at 2023-12-01T00:45:45+01:00
++
++commit 77699b72ae2e12f948aff622dd8194c9dbec9e09
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Fri Dec 1 00:45:34 2023 +0100
++
++ Suggest incrementing log_buffer_size to improve InnoDB Write Log efficiency.
++ #462
++
++commit c20bcbf8f0c00f9e900a880559ac95688ec9b1dc
++Merge: b10cdb7 01a1e53
++Author: Jean-Marie Renouard <jmrenouard@gmail.com>
++Date: Thu Nov 30 21:51:53 2023 +0100
++
++ Merge pull request #744 from paskal/remove_innodb_stats_on_metadata
++
++ Remove innodb_stats_on_metadata mentions in Readme
++
++commit 01a1e5336487e8464d655a4a8a1d51af0ebd38ee
++Author: Dmitry Verkhoturov <paskal.07@gmail.com>
++Date: Thu Nov 30 15:59:51 2023 +0100
++
++ remove innodb_stats_on_metadata mentions in Readme
++
++ That flag is off by default, starting with MySQL 5.7, and the tool
++ itself reports it in the "Performance Metrics" section.
diff --git a/dev-db/mysqltuner/mysqltuner-2.5.2.ebuild b/dev-db/mysqltuner/mysqltuner-2.5.2.ebuild
new file mode 100644
index 000000000000..7ce503589cae
--- /dev/null
+++ b/dev-db/mysqltuner/mysqltuner-2.5.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-lang/perl
+ virtual/perl-Getopt-Long
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.5.2-missing-shebang.patch" )
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ newbin mysqltuner.pl mysqltuner
+ dodoc {CONTRIBUTING,INTERNALS,USAGE}.md
+ einstalldocs
+
+ # Passwords and vulnerabilities are meant to be fed to the script uncompressed.
+ dodoc basic_passwords.txt vulnerabilities.csv
+ docompress -x "/usr/share/doc/${PF}/basic_passwords.txt" "/usr/share/doc/${PF}/vulnerabilities.csv"
+}
diff --git a/dev-db/opendbx/opendbx-1.4.6-r6.ebuild b/dev-db/opendbx/opendbx-1.4.6-r6.ebuild
index 5a24ad4af48d..2f84c093e8fa 100644
--- a/dev-db/opendbx/opendbx-1.4.6-r6.ebuild
+++ b/dev-db/opendbx/opendbx-1.4.6-r6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,7 +29,7 @@ RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
DEPEND="${RDEPEND}"
BDEPEND="
man? (
- app-doc/doxygen
+ app-text/doxygen
app-text/docbook2X
)
"
diff --git a/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild b/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild
index ee421f4b5a3f..ebf0aeb32043 100644
--- a/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild
+++ b/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -259,15 +259,10 @@ src_configure() {
-DWITH_ROUTER=$(usex router ON OFF)
)
- if is-flagq -fno-lto ; then
- einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
- mycmakeargs+=( -DWITH_LTO=OFF )
- elif is-flagq -flto ; then
- einfo "LTO forced via {C,CXX,F,FC}FLAGS"
- myconf+=( -DWITH_LTO=ON )
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
else
- # Disable automagic
- myconf+=( -DWITH_LTO=OFF )
+ mycmakeargs+=( -DWITH_LTO=OFF )
fi
if use test ; then
diff --git a/dev-db/percona-toolkit/Manifest b/dev-db/percona-toolkit/Manifest
index e2c1db1c4641..45e40278b2eb 100644
--- a/dev-db/percona-toolkit/Manifest
+++ b/dev-db/percona-toolkit/Manifest
@@ -1,2 +1,3 @@
DIST percona-toolkit-3.5.1.tar.gz 14700246 BLAKE2B 58e1ae76a2fce32dd16fde3a9caae2a470882e737893cc22f67cf810533ceafa95c5b26ec390cc58b2b9f0db3a2323fe78c00a631da107e6dbbbef73e65c1bb4 SHA512 33ec22c2fc1c3cc855caead7ac7ca153328e280500f56e24e074cca6a2ba95572430369908cb557eedfcadfb7246fbb5670c943673aa41d5210dc38603aeb492
DIST percona-toolkit-3.5.3.tar.gz 14673470 BLAKE2B f0eeaaf20924a75ff68eb623d4027fd8402169bbd8479e91ec174638f20109cee33a3e93b19dd88cd860a3f572db7e0a645fb1bd96e63f52c5d261167ad5eae8 SHA512 80abe6fe1d690d8faff01d72918c5b5da188819389d0fafe8f88f23489b609aa9730b0c7c2b284eb057e0cc3ae8ccb5b83849b31ff61291d8ab75d58abcdf85f
+DIST percona-toolkit-3.5.5.tar.gz 14847253 BLAKE2B f26b88581b84a12fd2b353984b2dbfbf43056388a48821739e70f43a28f448fc7caea99bdb0f5284b91ce04436e0969da1eec85e66054bfc1e8ff2771dede6d2 SHA512 0fb367e2a967c1a459e2d8a70f3db6c75043caf4127c14472b2bdfdb89415286c9f52929e326fa4f402d73a4c3e95b4cf8b0ee0f0624e54e382e44eb653bfaf9
diff --git a/dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild b/dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild
new file mode 100644
index 000000000000..6738557e2b53
--- /dev/null
+++ b/dev-db/percona-toolkit/percona-toolkit-3.5.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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
+)
diff --git a/dev-db/pg-gvm/Manifest b/dev-db/pg-gvm/Manifest
index 16dfdbeab3b1..fe0636597390 100644
--- a/dev-db/pg-gvm/Manifest
+++ b/dev-db/pg-gvm/Manifest
@@ -1 +1 @@
-DIST pg-gvm-22.6.1.tar.gz 39378 BLAKE2B 67116e826095b793838b48c9b0f8d42a3d31dfd730fbf4883edd6f70740a7e2d51a7a7aa3044114f423884dbac0515ef941e31e407e45c7dba017dbda19991b0 SHA512 7352fd25a3a8960636e5718b0902c90bc7808faa9c98b4596f4292d36a25b7f214336aeacc45f945c20ee6affa4c829e3aac80fc94f5f311140886e3ef018e30
+DIST pg-gvm-22.6.4.tar.gz 39702 BLAKE2B d879f721c0d9d9d8f6942c889c37e37199671c5bb3fc4c5a38e5787d6f392c6c09bd5780907655445f9ad813e59e9d54242c1eac7fa513d4be71af8b85cc3790 SHA512 62ea4e982f6939f4eef0543209120fc7b1e0134630669c500289c9e68247b56dd861d802f93524a8eb4ad4c0585d38d11b8d3715cc2afc6e63cea5b6accd4bb6
diff --git a/dev-db/pg-gvm/pg-gvm-22.6.1-r1.ebuild b/dev-db/pg-gvm/pg-gvm-22.6.4.ebuild
index 96da716d298f..e4c533212b83 100644
--- a/dev-db/pg-gvm/pg-gvm-22.6.1-r1.ebuild
+++ b/dev-db/pg-gvm/pg-gvm-22.6.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/greenbone/pg-gvm/archive/refs/tags/v${PV}.tar.gz ->
SLOT="0"
LICENSE="GPL-3"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
# Tests requires a running database that match up with the current
# testing slot. Won't run from ${ED}, want's to install too early.
diff --git a/dev-db/pgLatLon/Manifest b/dev-db/pgLatLon/Manifest
new file mode 100644
index 000000000000..54cdd07623a2
--- /dev/null
+++ b/dev-db/pgLatLon/Manifest
@@ -0,0 +1 @@
+DIST pgLatLon-v0.15.tar.gz 46667 BLAKE2B 7a5ff9b1c451d3fed69614198c06725d11d6ccb2265a8542a6602c1c77fb7a0a2044fffbe7cc0eafa10236813f113b3ff1a73aa159014bafaa7d49cbf4b21973 SHA512 9a6ced9d32e9868baba5bdb8677fd5800cea14af75ab2f2d99f6fda33e2cd85ac00c356dac4584386338c830b9ad0f4b8d7441f59f2b671505463e1895a655ef
diff --git a/dev-db/pgLatLon/metadata.xml b/dev-db/pgLatLon/metadata.xml
new file mode 100644
index 000000000000..8c0d75248cf7
--- /dev/null
+++ b/dev-db/pgLatLon/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-db/pgLatLon/pgLatLon-0.15.ebuild b/dev-db/pgLatLon/pgLatLon-0.15.ebuild
new file mode 100644
index 000000000000..bfdc1c596f80
--- /dev/null
+++ b/dev-db/pgLatLon/pgLatLon-0.15.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP=${PN}-v${PV}
+
+DESCRIPTION="Spatial database extension for the PostgreSQL"
+HOMEPAGE="https://www.public-software-group.org/pgLatLon"
+SRC_URI="https://www.public-software-group.org/pub/projects/${PN}/v${PV}/${MYP}.tar.gz
+ https://dev.gentoo.org/~tupone/distfiles/${MYP}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="dev-db/postgresql:="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}
diff --git a/dev-db/pgbadger/Manifest b/dev-db/pgbadger/Manifest
index 6e54e56f30c0..7d50f9b0a806 100644
--- a/dev-db/pgbadger/Manifest
+++ b/dev-db/pgbadger/Manifest
@@ -1,4 +1,3 @@
-DIST pgbadger-11.5.tar.gz 2305597 BLAKE2B 1e88e52ac5861343e7122784f3ec1ecc38e67a2737db49a05661de473c990992f924c887eb86e34d3ca80d329c01af4a60893af5436d8a291bbeae0d7fdc0e81 SHA512 ed02066250539d339d5aaaab784522eac37580873e8a5adde5b565cf6d11447fad469cc23b4ab88425b0322521b4ededd1f5a24670b0b9fdbd65aaa31e4e4088
-DIST pgbadger-11.8.tar.gz 2987593 BLAKE2B f6f5aeaba4aa2d982a3b71463bd6a02e47078d2491a703bdbeb81b349790807eaca91794be7b850dfea86615f9e8142f0513af2f68e3ff3fd0908ac50645bf18 SHA512 78082a4c9c4ca1836825d5b1718555951f29630b26eff20f30dab03d3cb30395107d6854e09f47143fb099ccfdb8d7c9319bc80f787792a33cdda70abef7bb38
DIST pgbadger-12.1.tar.gz 3041661 BLAKE2B 0489b52a56b20442f4ad9c2f22c63eee7049ad93b65166d4d87a96aebf8ca20dd3709291fed4a31df77c0c49e4efa10a66d9c185b9f7f66818057aca1a83a607 SHA512 16cdb64cd425b58d9f13a4ffe06eb79aeb0238c585e325ed7f1613a32a960fb19a5871c29ebd082ffc52b063b8da16d22ded1367e47557473389ead001dffc06
DIST pgbadger-12.2.tar.gz 3044596 BLAKE2B ab25e4b52099fa22d8e0bbcc1e0702fc9ec0982e00027a28e3b5735d456058d7b2f2b67dc1e9c857fb87bcea7ae273eeb3b97a260fb5387ccd768057e11a826b SHA512 b07dba94a0eb57cf8559439660204fd40cb3f2a9fc9a8fd4c0200af1b41a13bad2bd908f9019ecabce2f17c76fcb6d364b2b3b64c64028d4e40665df1075bd5d
+DIST pgbadger-12.4.tar.gz 4062907 BLAKE2B 1922d486a2ef4f87267156c2ebb5f038cbf5b48dc5a4dce80a517cbad000e5d4545b36c6a2404f699d987214c97ae9c867603138b8781131a71591d206adeaa0 SHA512 251035796275ed51efa2d3f45f8cf79c5ed89af34ee8b65c1ed2f481699152902a4f8820b316d06e4cf6528f894bc29ddce2b2ef2524e326a081f9412b9416d8
diff --git a/dev-db/pgbadger/pgbadger-11.5.ebuild b/dev-db/pgbadger/pgbadger-11.5.ebuild
deleted file mode 100644
index d9ced5d973ea..000000000000
--- a/dev-db/pgbadger/pgbadger-11.5.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.8.ebuild b/dev-db/pgbadger/pgbadger-12.4.ebuild
index 31a09daa2bfd..ffc67f024940 100644
--- a/dev-db/pgbadger/pgbadger-11.8.ebuild
+++ b/dev-db/pgbadger/pgbadger-12.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,6 +16,7 @@ KEYWORDS="~amd64"
DEPEND="
dev-perl/JSON-XS
dev-perl/Text-CSV_XS
+ dev-perl/Pod-Markdown
"
RDEPEND="${DEPEND}"
diff --git a/dev-db/pgbouncer/Manifest b/dev-db/pgbouncer/Manifest
index c40336931939..55b0060c363d 100644
--- a/dev-db/pgbouncer/Manifest
+++ b/dev-db/pgbouncer/Manifest
@@ -1,7 +1,5 @@
DIST pgbouncer-1.16.1.tar.gz 591450 BLAKE2B 137193ad614586d708598fd7003af4dee69f03f88a7235ba4074b63d57ffc3ee1c41fbccb49c5df7c23a2272b33810f8c2a9084d98e2e695a3b5f5ec317e0227 SHA512 9ecb7c7ae136d85e3da434094909df3a6ff06ce8586a1848c0c00914d87a877aecbb26ea30ad8230062160f3177621cc16deb4a490e9a2a649c8032dacb86341
-DIST pgbouncer-1.17.0.tar.gz 598294 BLAKE2B 697411c612b4d53c779c3170692e49afd250c28a1674a835403aa6e0ee27f1e52627b97d0ed478868f8658be7ce2323fdfd1604e5a00d739f3152c55332479b2 SHA512 5913ce542f0f694f114db8a2f339e536fb2b5887efb160b7ce3c708ae3d638bee95943104eafb9fbc4fc225649bd5625da2ccf1b56489afe33ebf8aacac48863
-DIST pgbouncer-1.18.0.tar.gz 600825 BLAKE2B 5c701d6534b9127cb8aef4e47c956644e657506104f5d9844724cc27901f48d271471ff0fe7f863bc064a30906c0ab9dfa9d0ca9472753d183419e57ae2ad333 SHA512 1c2bd55c6909a012917fcf1b139ab4bac89de1d02b346b8ade2205c15105a0c6f4f6632bf5844f654cb19e3312b8ed22bf2d14094a17f5515325c826662d5935
-DIST pgbouncer-1.19.1.tar.gz 623569 BLAKE2B b62d19e097d4fb1bccda315c9a67876aecaa8647ab092cc0157591fe64644c2c84b2785efab08ac338429e3c7d2cdd2bbff20404e71d67a9b1b5695367c2586e SHA512 1f1f56f778cf1ad7bd6a9809b54443d570eb04c2d5fe416d3bc9aa2ee8e4b3404753a15d9096c88c3a86dee534aff0268d460f862326694097ae67c83f08a589
DIST pgbouncer-1.20.0.tar.gz 638020 BLAKE2B 1aa253b4f211e70e882e9b7789bfcdee3436b56d88d0448a122a6975deb379ff6034f563f3ec87997a3f8c2f0e6c25a09916989d486542356a5a5d41ef6e2039 SHA512 6386f80bb8dcdf6e9882f94dde1c5ff4b58cd6eb877233952e483d5fa765072588f12dfb39eab5989dee54eaa595db541042654ad47c1ea4b754304ecc69f3dd
DIST pgbouncer-1.20.1.tar.gz 638844 BLAKE2B 9b71b72b9baf3ce49d4b9c6597581d20a2666b5450d89bc716a4df6df0c8a8aaf92735a76033eccf358412934a3af92e1a8ed7e4ca0e863441f2d6bf43eefdc7 SHA512 7669005ac1d46d1cb5b42c853fc0fb5e495c8583c206658bf6c59f797d04eb9170a3d467a48863708ee69034ff71ac6fbbca752b239de644ef6225d46fb98e76
DIST pgbouncer-1.21.0.tar.gz 668211 BLAKE2B 36dd43d301d1837876806688bc87febb6ae4fd40014e7e7301978026a4866b736c2c174d3b1e19a4e7bf5f8ca85025d2a0cd5711f2e4fa95e455f59ed1dbe381 SHA512 881701deae508e8e664402c0da533b25027259443551cda2974867453ad033ec5cfe8027ca3dac96a5134c57faff385c3c1e5711539e1acd6815761c9e3caee8
+DIST pgbouncer-1.22.0.tar.gz 670589 BLAKE2B feb0138c09eb2e3f865f9c372d1924f9fbe67785a52534f8b99783c0bc2d5a54a6fd8b0554ea8ac7d4e8e108fd2296a3a9ae19cb75d628052c45e4a57fd037cd SHA512 1d8f4b352103e17a3905ec0677362954f4b9f606f6dc00011514c2ec46d8c4e8d17b24e9ca92794ccaf4c86c9c77ac062e6be92be7856192b7c534b5a4911163
diff --git a/dev-db/pgbouncer/pgbouncer-1.17.0.ebuild b/dev-db/pgbouncer/pgbouncer-1.17.0.ebuild
deleted file mode 100644
index 966e502fe603..000000000000
--- a/dev-db/pgbouncer/pgbouncer-1.17.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit systemd
-
-DESCRIPTION="Lightweight connection pooler for PostgreSQL"
-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"
-IUSE="+c-ares debug doc pam ssl systemd udns"
-
-# At-most-one-of, one can be enabled but not both
-REQUIRED_USE="?? ( c-ares udns )"
-
-RDEPEND="
- >=dev-libs/libevent-2.0:=
- acct-user/pgbouncer
- c-ares? ( >=net-dns/c-ares-1.10 )
- ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist(-)] )
- systemd? ( sys-apps/systemd )
- udns? ( >=net-libs/udns-0.1 )
-"
-
-DEPEND="${RDEPEND}"
-
-# Tests require a local database server, wants to fiddle with iptables,
-# and doesn't support overriding.
-RESTRICT="test"
-
-src_prepare() {
- eapply "${FILESDIR}"/pgbouncer-1.12-dirs.patch
-
- default
-}
-
-src_configure() {
- # --enable-debug is only used to disable stripping
- econf \
- --docdir=/usr/share/doc/${PF} \
- --enable-debug \
- $(use_with c-ares cares) \
- $(use_enable debug cassert) \
- $(use_with pam) \
- $(use_with ssl openssl) \
- $(use_with systemd) \
- $(use_with udns)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc AUTHORS
- use doc && dodoc doc/*.md
-
- newconfd "${FILESDIR}/${PN}.confd-r1" "${PN}"
- newinitd "${FILESDIR}/${PN}.initd-r2" "${PN}"
-
- insinto /etc
- doins etc/pgbouncer.ini
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate" pgbouncer
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] ; then
- einfo "Please read the config.txt for Configuration Directives"
- einfo
- einfo "For Administration Commands, see:"
- einfo " man pgbouncer"
- einfo
- einfo "By default, PgBouncer does not have access to any database."
- einfo "GRANT the permissions needed for your application and make sure that it"
- einfo "exists in PgBouncer's auth_file."
- fi
-}
diff --git a/dev-db/pgbouncer/pgbouncer-1.18.0.ebuild b/dev-db/pgbouncer/pgbouncer-1.18.0.ebuild
deleted file mode 100644
index da2f7fb9f694..000000000000
--- a/dev-db/pgbouncer/pgbouncer-1.18.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Lightweight connection pooler for PostgreSQL"
-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"
-IUSE="+c-ares debug doc pam ssl systemd udns"
-
-# At-most-one-of, one can be enabled but not both
-REQUIRED_USE="?? ( c-ares udns )"
-
-RDEPEND="
- >=dev-libs/libevent-2.0:=
- acct-user/pgbouncer
- c-ares? ( >=net-dns/c-ares-1.10 )
- ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist(-)] )
- systemd? ( sys-apps/systemd )
- udns? ( >=net-libs/udns-0.1 )
-"
-
-DEPEND="${RDEPEND}"
-
-# Tests require a local database server, wants to fiddle with iptables,
-# and doesn't support overriding.
-RESTRICT="test"
-
-src_prepare() {
- eapply "${FILESDIR}"/pgbouncer-1.12-dirs.patch
-
- default
-}
-
-src_configure() {
- # --enable-debug is only used to disable stripping
- econf \
- --docdir=/usr/share/doc/${PF} \
- --enable-debug \
- $(use_with c-ares cares) \
- $(use_enable debug cassert) \
- $(use_with pam) \
- $(use_with ssl openssl) \
- $(use_with systemd) \
- $(use_with udns)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc AUTHORS
- use doc && dodoc doc/*.md
-
- newconfd "${FILESDIR}/${PN}.confd-r1" "${PN}"
- newinitd "${FILESDIR}/${PN}.initd-r2" "${PN}"
-
- insinto /etc
- doins etc/pgbouncer.ini
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate" pgbouncer
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] ; then
- einfo "Please read the config.txt for Configuration Directives"
- einfo
- einfo "For Administration Commands, see:"
- einfo " man pgbouncer"
- einfo
- einfo "By default, PgBouncer does not have access to any database."
- einfo "GRANT the permissions needed for your application and make sure that it"
- einfo "exists in PgBouncer's auth_file."
- fi
-}
diff --git a/dev-db/pgbouncer/pgbouncer-1.19.1.ebuild b/dev-db/pgbouncer/pgbouncer-1.22.0.ebuild
index da2f7fb9f694..1647a74fb4c5 100644
--- a/dev-db/pgbouncer/pgbouncer-1.19.1.ebuild
+++ b/dev-db/pgbouncer/pgbouncer-1.22.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,10 +9,7 @@ SRC_URI="https://www.pgbouncer.org/downloads/files/${PV}/pgbouncer-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="+c-ares debug doc pam ssl systemd udns"
-
-# At-most-one-of, one can be enabled but not both
-REQUIRED_USE="?? ( c-ares udns )"
+IUSE="+c-ares debug doc pam ssl systemd"
RDEPEND="
>=dev-libs/libevent-2.0:=
@@ -20,7 +17,6 @@ RDEPEND="
c-ares? ( >=net-dns/c-ares-1.10 )
ssl? ( >=dev-libs/openssl-1.0.1:=[-bindist(-)] )
systemd? ( sys-apps/systemd )
- udns? ( >=net-libs/udns-0.1 )
"
DEPEND="${RDEPEND}"
@@ -44,8 +40,7 @@ src_configure() {
$(use_enable debug cassert) \
$(use_with pam) \
$(use_with ssl openssl) \
- $(use_with systemd) \
- $(use_with udns)
+ $(use_with systemd)
}
src_install() {
diff --git a/dev-db/pgcli/Manifest b/dev-db/pgcli/Manifest
index bf5794e565c6..e446d14d1e52 100644
--- a/dev-db/pgcli/Manifest
+++ b/dev-db/pgcli/Manifest
@@ -1,2 +1 @@
-DIST pgcli-3.3.1.tar.gz 446637 BLAKE2B c7c946b905f72e18b06100012c32b332c278fcf6dab2bdd304972b5bd4936a2d3d2c1b2be23a9fd5f986afa14ed8a8f3b6a0a08703ec6142ee3bc3d1a2ece68d SHA512 01286ce62919a8845ca55b40851ad8c3832dba58d523ce2d953d555a60d2785b0129b76361e854574340cb1c0933c7b83eb03d7c2a7df81fbc4231dc42e45357
DIST pgcli-4.0.1.tar.gz 646421 BLAKE2B ceb0537344d1fc4c22fc424b7d1df809515778e9d1e492aead517c904ed6274f8c330e1f9bd73da377543e0d078acc8c385951a6717784205dbff0ab427b2d49 SHA512 eba490b979d7b1120eda817c3fe2afc2f2a8e4608e67e41be9b73597dc51027fbe013d5f72f8a6f2853c85395fb51f622dcf6b30c8d2185e5d9a9c1aada378ba
diff --git a/dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch b/dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch
new file mode 100644
index 000000000000..b761f1c13634
--- /dev/null
+++ b/dev-db/pgcli/files/pgcli-4.0.1-no-pendulum.patch
@@ -0,0 +1,112 @@
+From da189aaa1852170cb852a7a435a20d8246e59c30 Mon Sep 17 00:00:00 2001
+From: Damien Baty <damien@damienbaty.com>
+Date: Mon, 19 Feb 2024 09:36:46 +0100
+Subject: [PATCH] feat: Replace pendulum by home-made duration-to-words
+ function
+
+diff --git a/pgcli/main.py b/pgcli/main.py
+index bbb1989d..cfa1c970 100644
+--- a/pgcli/main.py
++++ b/pgcli/main.py
+@@ -11,7 +11,6 @@
+ import threading
+ import shutil
+ import functools
+-import pendulum
+ import datetime as dt
+ import itertools
+ import platform
+@@ -800,9 +799,9 @@ def execute_command(self, text, handle_closed_connection=True):
+ "Time: %0.03fs (%s), executed in: %0.03fs (%s)"
+ % (
+ query.total_time,
+- pendulum.Duration(seconds=query.total_time).in_words(),
++ duration_in_words(query.total_time),
+ query.execution_time,
+- pendulum.Duration(seconds=query.execution_time).in_words(),
++ duration_in_words(query.execution_time),
+ )
+ )
+ else:
+@@ -1735,5 +1734,28 @@ def parse_service_info(service):
+ return service_conf, service_file
+
+
++def duration_in_words(duration_in_seconds: float) -> str:
++ if not duration_in_seconds:
++ return "0 seconds"
++ components = []
++ hours, remainder = divmod(duration_in_seconds, 3600)
++ if hours > 1:
++ components.append(f"{hours} hours")
++ elif hours == 1:
++ components.append("1 hour")
++ minutes, seconds = divmod(remainder, 60)
++ if minutes > 1:
++ components.append(f"{minutes} minutes")
++ elif minutes == 1:
++ components.append("1 minute")
++ if seconds >= 2:
++ components.append(f"{int(seconds)} seconds")
++ elif seconds >= 1:
++ components.append("1 second")
++ elif seconds:
++ components.append(f"{round(seconds, 3)} second")
++ return " ".join(components)
++
++
+ if __name__ == "__main__":
+ cli()
+diff --git a/setup.py b/setup.py
+index f9dbc56a..640dca00 100644
+--- a/setup.py
++++ b/setup.py
+@@ -16,7 +16,6 @@
+ "psycopg-binary >= 3.0.14; sys_platform == 'win32'",
+ "sqlparse >=0.3.0,<0.5",
+ "configobj >= 5.0.6",
+- "pendulum>=2.1.0",
+ "cli_helpers[styles] >= 2.2.1",
+ ]
+
+diff --git a/tests/test_main.py b/tests/test_main.py
+index cbf20a6a..0aeba80e 100644
+--- a/tests/test_main.py
++++ b/tests/test_main.py
+@@ -11,6 +11,7 @@
+
+ from pgcli.main import (
+ obfuscate_process_password,
++ duration_in_words,
+ format_output,
+ PGCli,
+ OutputSettings,
+@@ -488,3 +489,28 @@ def test_application_name_db_uri(tmpdir):
+ mock_pgexecute.assert_called_with(
+ "bar", "bar", "", "baz.com", "", "", application_name="cow"
+ )
++
++
++@pytest.mark.parametrize(
++ "duration_in_seconds,words",
++ [
++ (0, "0 seconds"),
++ (0.0009, "0.001 second"),
++ (0.0005, "0.001 second"),
++ (0.0004, "0.0 second"), # not perfect, but will do
++ (0.2, "0.2 second"),
++ (1, "1 second"),
++ (1.4, "1 second"),
++ (2, "2 seconds"),
++ (3.4, "3 seconds"),
++ (60, "1 minute"),
++ (61, "1 minute 1 second"),
++ (123, "2 minutes 3 seconds"),
++ (3600, "1 hour"),
++ (7235, "2 hours 35 seconds"),
++ (9005, "2 hours 30 minutes 5 seconds"),
++ (86401, "24 hours 1 second"),
++ ],
++)
++def test_duration_in_words(duration_in_seconds, words):
++ assert duration_in_words(duration_in_seconds) == words
diff --git a/dev-db/pgcli/pgcli-3.3.1-r2.ebuild b/dev-db/pgcli/pgcli-3.3.1-r2.ebuild
deleted file mode 100644
index 13478cf57da7..000000000000
--- a/dev-db/pgcli/pgcli-3.3.1-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="CLI for Postgres with auto-completion and syntax highlighting"
-HOMEPAGE="https://www.pgcli.com https://github.com/dbcli/pgcli"
-SRC_URI="https://github.com/dbcli/pgcli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- >=dev-python/cli-helpers-2.2.1[${PYTHON_USEDEP}]
- dev-python/configobj[${PYTHON_USEDEP}]
- dev-python/pendulum[${PYTHON_USEDEP}]
- dev-python/pgspecial[${PYTHON_USEDEP}]
- dev-python/prompt-toolkit[${PYTHON_USEDEP}]
- dev-python/psycopg:2[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/setproctitle[${PYTHON_USEDEP}]
- dev-python/sqlparse[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-db/postgresql
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-db/pgcli/pgcli-4.0.1.ebuild b/dev-db/pgcli/pgcli-4.0.1-r1.ebuild
index 48845c0b6508..d168855385f8 100644
--- a/dev-db/pgcli/pgcli-4.0.1.ebuild
+++ b/dev-db/pgcli/pgcli-4.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,24 +13,42 @@ SRC_URI="https://github.com/dbcli/pgcli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
>=dev-python/cli-helpers-2.2.1[${PYTHON_USEDEP}]
dev-python/configobj[${PYTHON_USEDEP}]
- dev-python/pendulum[${PYTHON_USEDEP}]
dev-python/pgspecial[${PYTHON_USEDEP}]
dev-python/prompt-toolkit[${PYTHON_USEDEP}]
dev-python/psycopg:0[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
dev-python/setproctitle[${PYTHON_USEDEP}]
dev-python/sqlparse[${PYTHON_USEDEP}]
- dev-python/sshtunnel[${PYTHON_USEDEP}]"
+ dev-python/sshtunnel[${PYTHON_USEDEP}]
+"
BDEPEND="
test? (
dev-db/postgresql
dev-python/mock[${PYTHON_USEDEP}]
- )"
+ )
+"
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/dbcli/pgcli/pull/1452
+ "${FILESDIR}/${P}-no-pendulum.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hang while trying to create a keyring
+ # https://bugs.gentoo.org/925085
+ tests/test_main.py::test_pg_service_file
+ tests/test_ssh_tunnel.py::test_ssh_tunnel
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-db/pglogical/Manifest b/dev-db/pglogical/Manifest
index e276cb38f5fe..5741701297c1 100644
--- a/dev-db/pglogical/Manifest
+++ b/dev-db/pglogical/Manifest
@@ -1 +1,2 @@
DIST REL2_4_1.tar.gz 277428 BLAKE2B 51319e3b1491e1857e63e63640f2e6d2315ab72a0aabcfe7869456822a294bdb53fd0f4cc9bca0c60bfcf9e0926249acad86f09327c5656735b508851037ccaf SHA512 0d673e1a2b696e2cfbb94d8350bb15c280947f69b6512aa80f8ef7497e30cbd407a01b9a4f8fa9844b4ccb39377a6b2bee390a7887f3050074c2e6a11e6f3e3f
+DIST REL2_4_4.tar.gz 280564 BLAKE2B 67d9cf090117875f58d671987fcd5593b9db5b78b31c79fc44c23d4ce5ebfcb1eb7b970ebb026ca6dedefd958081a3bc4ef7ce502e7edda027a5d082f879e385 SHA512 163b5f6ea61fd83eadbde843745d72ebe7f1fb401d5506c9bbf3689871e5b81c85e7536103080a71fa6567942f4278326a0fb232e19f432665757e23132be94d
diff --git a/dev-db/pglogical/pglogical-2.4.1.ebuild b/dev-db/pglogical/pglogical-2.4.1.ebuild
index d886bbb793cf..75619daafadd 100644
--- a/dev-db/pglogical/pglogical-2.4.1.ebuild
+++ b/dev-db/pglogical/pglogical-2.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -18,7 +18,6 @@ SRC_URI="https://github.com/2ndQuadrant/pglogical/archive/REL${MY_PV}.tar.gz"
LICENSE="POSTGRESQL"
SLOT="0"
KEYWORDS="~amd64"
-IUSE=""
DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
diff --git a/dev-db/pglogical/pglogical-2.4.4.ebuild b/dev-db/pglogical/pglogical-2.4.4.ebuild
new file mode 100644
index 000000000000..27bba65b9239
--- /dev/null
+++ b/dev-db/pglogical/pglogical-2.4.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+POSTGRES_COMPAT=( {12..16} )
+
+RESTRICT="test" # connects to :5432 by default, not good
+
+inherit postgres-multi
+
+MY_PV=$(ver_rs 1- '_')
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${PN}-REL${MY_PV}"
+
+DESCRIPTION="Logical replication for PostgreSQL"
+HOMEPAGE="https://github.com/2ndQuadrant/pglogical"
+SRC_URI="https://github.com/2ndQuadrant/pglogical/archive/REL${MY_PV}.tar.gz"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ postgres-multi_foreach emake USE_PGXS=1 || die "emake failed"
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" USE_PGXS=1 install
+ postgres-multi_foreach dobin pglogical_create_subscriber
+}
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
index c07b7ba70f51..7f212bb30d09 100644
--- a/dev-db/pgpool2/Manifest
+++ b/dev-db/pgpool2/Manifest
@@ -1,3 +1,5 @@
DIST pgpool-II-4.3.2.tar.gz 5846769 BLAKE2B 82cfe7095ad303ac3a910c533d6e57edb4e3d5b28a9a9bffb2df473dd3087ec329d3a77f9490d9bb738d5d1a443020d96d0e9a1b1d6adecc04cce5d1caa04e7d SHA512 771426257eddb5c48504c80a2c8cccf44a18f7ea50df55654b7e9e017bda561a73a3e1f0db79785785ff6893d6df26f73b55310d0184ef3301838d12290d3d4c
DIST pgpool-II-4.3.7.tar.gz 4901679 BLAKE2B 40c280a9d399246da77661a856d64691c213361193ba6af46a70c03c9193021a9f44dd9bfdfc7335c269675d04e9469d033ce55757799a7009d35d1493c50d6e SHA512 dd84b94a60fb1e75de2c14f83b3637491a4673b15dc7c23dbb8e26e69d32f617a85159f7c276a88a62d741b7758d84e94949ea6aa8f505be0960d8fffdaa10b6
+DIST pgpool-II-4.3.8.tar.gz 4939785 BLAKE2B fbccfa89311c85394d48c9ff25ce68baea15a80bb87efdf9c7d06280f0a532b8bf656f7ad144b9f813293bf6bd43a7d0cead78fff422eef55598ee2a7cd6380e SHA512 93f623900f24454a1913dcf29be508a47ae3c5f7fd360d3546f48b88b93dcc66886de01a5d9b0f53fb955d1eeded1e5329c3ca1fbca4c3f16aabea79e869d9a3
DIST pgpool-II-4.4.4.tar.gz 4973024 BLAKE2B 2fa41442bc9bf677a17d98388f9977b97fb609cdd6f1494d9f4de2356b04de5a3725478381d67cc04a01f3ff964bd3dfe159d9c41c13980e477a5f0c4c198413 SHA512 fb80df3df2894e7f2cf820a2b32e04ef6447a8137341db65c3a141679ea0fcbae7d5824c1904cb19aae7b05ef9fe641ac294dbc58cdbc6231444f0c4e508e7dc
+DIST pgpool-II-4.4.5.tar.gz 4992570 BLAKE2B 638812144e8ac58e56e0b9dbe6aadfa90140c05ed46da1d795d0e22515dacd3a126afa6082881ca84c031693a205c895ea69d01fc7a14f870344bae9b454c57f SHA512 cd2fb2f715aed70d67522ab1852fa7df059d5379f9d4860be82a3d32d78701c5bce75e3e1304eda6a67670475aa367a2631cce517a4d2e4eb6b07c1e74901dd9
diff --git a/dev-db/pgpool2/pgpool2-4.3.8.ebuild b/dev-db/pgpool2/pgpool2-4.3.8.ebuild
new file mode 100644
index 000000000000..d46c7c75826a
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.3.8.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.6 {10..15} )
+
+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-4.4.5.ebuild b/dev-db/pgpool2/pgpool2-4.4.5.ebuild
new file mode 100644
index 000000000000..7c58c30c4de0
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.4.5.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {10..16} )
+
+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.4.4-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/pgrouting/Manifest b/dev-db/pgrouting/Manifest
index 6b9919c41871..d87d06d9d225 100644
--- a/dev-db/pgrouting/Manifest
+++ b/dev-db/pgrouting/Manifest
@@ -1,2 +1,3 @@
DIST pgrouting-3.2.1.tar.gz 5940439 BLAKE2B 01f4ec19d4cee9165a5aca946935cf4786a42f943602eca99414b536dec11ffe298f960e11aaa8b747c1b9c1839625ac9d3e7f67f1f606e941c9c738b4970479 SHA512 ead51de138950707008a7ea6b1a18cfe4d8b1885bfe92849464c2714e39f8e43ef3dbebd1c68279987a1321705fe33a598efb463078491d52cb90a8d1a0414c7
DIST pgrouting-3.5.1.tar.gz 3613985 BLAKE2B a0af5d730673b8a9555891998f0c2cf7ff429d48efc5170aa59ae05518deb6be6b898d52f4c9bf6cd24422922a9c27329cead3281db8df7d7c6b679cec7484f2 SHA512 d29871fc55f8bfa1795816c34483dd8b6a02d24f91b111b5848be8cccc4f04916dc76b99c4bb68ccfcb9c0a745e646ec51e0144a3e09c7fb2d16caabb7a62c40
+DIST pgrouting-3.6.1.tar.gz 3871417 BLAKE2B 43295bdb949daf736ba04ca0e89f0374ecbb87859ce49f8436f97bac0491aa69fe118426ddfed939163a975299d085187d51bd233051bf79f97bc4500149fdf4 SHA512 278d6d89ea49e9a38c6ae8c52936e52ae5a3508e9d8693182efdc15649b44be7208affea236046bbb67ff373831a82e2985087f890b0faa4c96be4fa6c3e07cf
diff --git a/dev-db/pgrouting/pgrouting-3.6.1.ebuild b/dev-db/pgrouting/pgrouting-3.6.1.ebuild
new file mode 100644
index 000000000000..dfac3a1976d6
--- /dev/null
+++ b/dev-db/pgrouting/pgrouting-3.6.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE="Release"
+
+POSTGRES_COMPAT=( {11..16} )
+POSTGRES_USEDEP="server"
+
+inherit cmake postgres-multi
+
+DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality"
+HOMEPAGE="https://pgrouting.org/"
+LICENSE="GPL-2 MIT Boost-1.0"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+SRC_URI="https://github.com/pgRouting/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+IUSE=""
+
+RDEPEND="${POSTGRES_DEP}
+ >=dev-db/postgis-2.0
+ dev-libs/boost
+ sci-mathematics/cgal
+"
+
+DEPEND="${RDEPEND}"
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+src_prepare() {
+ cmake_src_prepare
+ postgres-multi_src_prepare
+}
+
+my_src_configure() {
+ local mycmakeargs=( -DPOSTGRESQL_BIN="$($PG_CONFIG --bindir)" )
+ cmake_src_configure
+}
+
+src_configure() {
+ postgres-multi_foreach my_src_configure
+}
+
+src_compile() {
+ postgres-multi_foreach cmake_build
+}
+
+src_install() {
+ postgres-multi_foreach cmake_src_install
+}
diff --git a/dev-db/pgtap/Manifest b/dev-db/pgtap/Manifest
index dd00a611ef19..a015f57d011e 100644
--- a/dev-db/pgtap/Manifest
+++ b/dev-db/pgtap/Manifest
@@ -1 +1,2 @@
DIST pgtap-1.2.0.zip 319374 BLAKE2B 1cea77860a1928ed7cbf4ddb0bb8ff418023bf88e377196ae2b505c065321e3003179227077567e676a8c551230d259ecd1cdb590001fc71bcc821b87fb3d0f6 SHA512 5569bea5e7879787a91fa9b2baae5cbff1db5b9a5a096db2a9a064012d65e02c52bd1520422b5e6f87fb5b6e64845371188ea53c43a277aee68ffc05d5152ed7
+DIST pgtap-1.3.1.zip 654637 BLAKE2B 412dfcb51813552541f935328e28fbf8f0a014536a5eee8bf55ea680cd22a6424529641040627f91afebb407872d8d3d4aa25e576d965ddb11514229c2b72591 SHA512 98129bbbdf2221502e52375c3e55dff324e69cb930865d1589949ad2d96ddeac1a215e10d0612f7cc050d9a725817b01b23a9cc3e9cb42ef23a929e593ecb698
diff --git a/dev-db/pgtap/pgtap-1.2.0-r2.ebuild b/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
index a62f1fe0a5ee..a4658a7fd8c6 100644
--- a/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
+++ b/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,6 @@ SRC_URI="https://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
LICENSE="POSTGRESQL"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
DEPEND="${POSTGRES_DEP}
app-arch/unzip
diff --git a/dev-db/pgtap/pgtap-1.3.1.ebuild b/dev-db/pgtap/pgtap-1.3.1.ebuild
new file mode 100644
index 000000000000..6ecd9a456893
--- /dev/null
+++ b/dev-db/pgtap/pgtap-1.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {12..16} )
+
+inherit postgres-multi
+
+DESCRIPTION="Unit testing for PostgreSQL"
+HOMEPAGE="https://pgtap.org/"
+SRC_URI="https://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="${POSTGRES_DEP}
+ app-arch/unzip
+ dev-perl/TAP-Parser-SourceHandler-pgTAP
+"
+RDEPEND="${DEPEND}"
+
+# Tests requires a running database that match up with the current
+# testing slot. Won't run from ${ED}, want's to install too early.
+RESTRICT="test"
+
+src_configure() {
+ :
+}
+
+src_install() {
+ postgres-multi_src_install
+
+ rm -r "${ED}"/usr/share/doc/postgresql* || die "Failed to remove improper doc locations"
+ dodoc doc/pgtap.mmd
+}
diff --git a/dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild b/dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild
index d4422b2b9a42..1d3e002359ea 100644
--- a/dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-5.2.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 sparc x86 ~ppc-macos ~x64-macos"
IUSE="setup"
RDEPEND="
diff --git a/dev-db/phppgadmin/Manifest b/dev-db/phppgadmin/Manifest
index ed40a199d3ec..69edf6186112 100644
--- a/dev-db/phppgadmin/Manifest
+++ b/dev-db/phppgadmin/Manifest
@@ -1 +1,2 @@
DIST phppgadmin-7.14.5.tar.gz 1153991 BLAKE2B 52f52e02305814a149cdde7498bdffe281c78198241c436182bdebce7e2597aea8ac1e0ae04900073355dbe4da7f41f0f0b83c5ec28a5b476ce6f3249dfff6b7 SHA512 1983b7d98623def3aa0d83f7ea507026abe1699dba3104fddf743fb581a4f1226be8d784990984ebcc22e92c2bed3cacfbec13ed7387d7b87b2662fc66fe0ac6
+DIST phppgadmin-7.14.7.tar.gz 1154132 BLAKE2B 96321c9f2c67f8a740425b8a049a8b31320d43eedaaa2f8ceaf135d0b5b725ea168aa14715fc2df19fe9eb75d551bdb76c3821d1dbde6550dc865595ecc0ca99 SHA512 b5c6dd52e1458184a0bdb693650157c69f36d72a43df0645fde87ec7e0b3b75216dd4e1dcb3f34f95e8a0acb4bf3ec6bd9a9086a72a3ad526b80431acb476054
diff --git a/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild b/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild
index e0f1422ca113..757b78ffd1a9 100644
--- a/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild
+++ b/dev-db/phppgadmin/phppgadmin-7.14.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,6 @@ SRC_URI="https://github.com/ReimuHakurei/phpPgAdmin/archive/refs/tags/v${PV}-mod
LICENSE="GPL-2"
KEYWORDS="~amd64"
-IUSE=""
RDEPEND="dev-lang/php[postgres,session,unicode]"
diff --git a/dev-db/phppgadmin/phppgadmin-7.14.7.ebuild b/dev-db/phppgadmin/phppgadmin-7.14.7.ebuild
new file mode 100644
index 000000000000..eb41f009a28a
--- /dev/null
+++ b/dev-db/phppgadmin/phppgadmin-7.14.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit webapp
+
+MY_P="phpPgAdmin-${PV}-mod"
+
+DESCRIPTION="Web-based administration for Postgres database in php"
+HOMEPAGE="http://phppgadmin.sourceforge.net/"
+SRC_URI="https://github.com/ReimuHakurei/phpPgAdmin/archive/refs/tags/v${PV}-mod.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-lang/php[postgres,session,unicode]"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ webapp_src_preinst
+
+ local doc
+ local docs="BUGS CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS"
+ dodoc ${docs}
+ mv conf/config.inc.php-dist conf/config.inc.php || die
+
+ cp -r * "${D}${MY_HTDOCSDIR}"
+ for doc in ${docs} INSTALL LICENSE; do
+ rm -f "${D}${MY_HTDOCSDIR}/${doc}" || die
+ done
+
+ webapp_configfile "${MY_HTDOCSDIR}"/conf/config.inc.php
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_src_install
+}
diff --git a/dev-db/plr/Manifest b/dev-db/plr/Manifest
index 6b8423543b46..e3e94a94bb3c 100644
--- a/dev-db/plr/Manifest
+++ b/dev-db/plr/Manifest
@@ -1 +1,2 @@
DIST plr-8.4.5.tar.gz 273711 BLAKE2B 666941f1cbc7e74dee532b928102afda4684b344f3c69a6ac4e3449c057e8f4dbb74b765f4222bb06e61940fa1e4ba888cc60bac193ca43989b557da9d02ceaa SHA512 bb04a8956d1cdc7acb20c89ea3b17be6ee385dac52381ab0f8af7446480fa9b8d163ff6697a05b439a75f57841b203e65bea78db8a7c3d55c1118bebbf4ac81a
+DIST plr-8.4.6.tar.gz 277578 BLAKE2B 575426e44e553f52dfe9b4bd1eb8de1b72e9023abe086c6b1570dabcda1b5e99a8eebce9c5b0e97019aec969b369e15a83801d51b8531695026e1a9bdc79d5c0 SHA512 de5f6b094f4eb6f88df6134142c461bc4ebd6a692c3db03cf04e1d0f04b71d63a26bce22defc1f25fa627c7bc4ba63c533dd2df1f571b58cb04d29c7eada2e42
diff --git a/dev-db/plr/metadata.xml b/dev-db/plr/metadata.xml
index a4942cba46ae..7290965385bf 100644
--- a/dev-db/plr/metadata.xml
+++ b/dev-db/plr/metadata.xml
@@ -8,4 +8,7 @@
An extension for postgresql databases to allow direct usage of
<pkg>dev-lang/R</pkg> in SQL queries and database functions
</longdescription>
+ <upstream>
+ <remote-id type="github">postgres-plr/plr</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-db/plr/plr-8.4.6.ebuild b/dev-db/plr/plr-8.4.6.ebuild
new file mode 100644
index 000000000000..bb10bae54f14
--- /dev/null
+++ b/dev-db/plr/plr-8.4.6.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {12..16} )
+POSTGRES_USEDEP="server"
+
+inherit postgres-multi
+
+DESCRIPTION="R language extension for postgresql database"
+HOMEPAGE="http://www.joeconway.com/plr/"
+SRC_URI="https://github.com/postgres-plr/plr/archive/REL${PV//./_}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-lang/R
+ ${POSTGRES_DEP}"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+S="${WORKDIR}"/contrib/${PN}
+
+src_unpack() {
+ unpack ${A}
+
+ # the build system wants 'contrib' to be part of the path
+ mkdir -p "${WORKDIR}/contrib" || die
+ mv "${WORKDIR}/${PN}-REL${PV//./_}" "${S}" || die
+}
+
+src_prepare() {
+ local BUILD_DIR="${S}"
+ postgres-multi_src_prepare
+}
+
+src_compile() {
+ pg_src_compile() {
+ cd "${BUILD_DIR}"
+ PG_CONFIG="${ESYSROOT}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
+ USE_PGXS=1 \
+ emake -j1
+ }
+ postgres-multi_foreach pg_src_compile
+}
+
+src_install() {
+ pg_src_install() {
+ cd "${BUILD_DIR}"
+ PG_CONFIG="${ESYSROOT}/usr/$(get_libdir)/postgresql-${MULTIBUILD_ID}/bin/pg_config" \
+ USE_PGXS=1 \
+ emake -j1 DESTDIR="${D}" install
+ }
+ postgres-multi_foreach pg_src_install
+}
+
+pkg_postinst() {
+ elog "The plr extension needs to be explicitly added (or 'created') on each database"
+ elog "you wish to use it with. As of postgresql-9.1 the easiest way to do this is"
+ elog "with the proprietary SQL statement:"
+ elog
+ elog "\tCREATE EXTENSION plr;"
+ elog
+ elog "For more info on how to add PL/R to your postgresql database(s), please visit"
+ elog "http://www.joeconway.com/doc/plr-install.html"
+}
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index 70fa437c20ca..fce28441144b 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -7,5 +7,6 @@ DIST postgis-3.2.6.tar.gz 16886873 BLAKE2B 9bf8375c08d434c0eace1807154c041d06384
DIST postgis-3.3.2.tar.gz 17793976 BLAKE2B 40dc7636f04e0d5cfd734b175da1ce49c32e4b8f5750059e79e03a7395fb8b9241c1f479815794b46dee81704d7c392fe7693c9f0180323d1ca21812c37d36b5 SHA512 4dd129057598b032ba322c42888bb8ce14b9423bd450ef7a42fa22162f6b48e34b226f38480aa67fe2da85be2529b0822655855f9846b657bdd32f50256f4305
DIST postgis-3.3.3.tar.gz 17790503 BLAKE2B d5390e3e0713b2f74db0c6d7f953681b49611937442f89cd316b43315257db0e0734b6cd23b750a88d9fe503c5348c98578e12cfe6fd8a382fc7817d641e89cf SHA512 0025a8a5c6be7e18dfb97a6a04c468a9da2d6e99462d20eec7bddf4048b8f2fa1e8029be9f819950c910a6f89190e8295f10e8dab9b4885d03d3dbcce41380c2
DIST postgis-3.3.4.tar.gz 18591029 BLAKE2B 5aae3804b8abcaf8436cc57c53e288f68e317b5ab930a0651f2f55fc825f9c3d6cdf43b74cb7a845de385d019737759e6ef127587015f28851734ffeedbc64da SHA512 b35811ffcb7fdddbe5d4714216f714b687f92e6984614f20c6bfd4a498e6422a3035fd0de9a0afd0a04c6999d8b8a68e0f93a5bb75f893fcb6d3c3f64fe65726
+DIST postgis-3.3.5.tar.gz 17785894 BLAKE2B 9c710430adb68d92e8326caef6c5a1117a398f04f31bb58f3b38818f3194866eb4906b843e82e4b8e4790717f778690c27f2c856263431e5051412c79c50fc55 SHA512 f9d400d7e9db0acd12ada051922e6baf566ae9ad182af937873765a64bd4e1b4948951da4a173efe7d1f85b3ead0065c6ea9b05860a78cf9942c523bacd2d351
DIST postgis-3.4.0.tar.gz 14693348 BLAKE2B a7ae007edb12a796f58b24ec8f72264e154900335a2da8c9358dcf0455a4ff183bb77036f45a77aa3533913ab2a802a4995ce17913ef355c52e5c1d8132c04a6 SHA512 d8c5329e5394bfe1d77a207d35cf8100217d39236cfeb228e268c796e16e24068df2191403830bf190b7ae9fabb21003675a091a8cc6dbfeed9b4b02cbbb9d33
DIST postgis-3.4.1.tar.gz 14942851 BLAKE2B 98ef490b08438c5ee35409a1c5c63d985d3024325d607a7a150b197aabb8baaaa70ec8c4bd5134136f92a106e6b1c885e3adb99aa325282122bc37d84db0d83f SHA512 66f460077066372276783d8e7acefb0d61ae5fbf7e2d3bbb7008d9289a65adfe78eb8431eee4bbdd3f8e5a9e37653e396d659f46bb285edab00ed57277fae2c7
diff --git a/dev-db/postgis/postgis-3.3.5.ebuild b/dev-db/postgis/postgis-3.3.5.ebuild
new file mode 100644
index 000000000000..6f4f58e24ace
--- /dev/null
+++ b/dev-db/postgis/postgis-3.3.5.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( {11..16} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.9.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre2 )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+ # source: https://github.com/google/flatbuffers/pull/7897
+ "${FILESDIR}/${PN}-3.3.2-flatbuffers-abseil-2023.patch" # bug 905378
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ # bug #775968
+ touch build-aux/ar-lib || die
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ export CPP=$(tc-getCPP)
+
+ local myeconfargs=(
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 34dea7b73979..f4d4bca5dbf6 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,12 +1,10 @@
-DIST postgresql-11.21.tar.bz2 20467892 BLAKE2B a20440904a6908ee1a91bf5c300b15abd2135de01300f2910abe573ba1c52aa6195c81497326c8f1edd5f1b21a993a911a9e78900720ee10e0b311455143c63e SHA512 2c76859b50ac9c6373624e5ca25a94bbb2a3b6af014304508969f2ae21760b072826c393822b33de50ab9dbb84cd5168b9f5e7d8e057a1d573223180934d7899
-DIST postgresql-11.22.tar.bz2 20482994 BLAKE2B 1bac5e9a73b1ad1f8e082cfe29f374058b866d3e1234612c01bcc4324e5e25a407531e71436a1c0e10e7574da494499540d242ac66db66d5f85c1ff5954bac41 SHA512 2e4f7322235ed616d10d1e720fa72b8700cb1ebd9fec2e65d63662fca874c8df519b5b2184b32ee63f2060f6f6f620956b790cc6b24dbb06eb0b07d2710a8278
-DIST postgresql-12.16.tar.bz2 21140532 BLAKE2B 25370615532f1b23765f7b9973fa85b9801fca575182aded4cfa682d170b4b17e92353bba441ab7c7051e9a916a564d5912041149fb287bf33c4472359fc901b SHA512 37c1e5c87e6e3437b9f3de1219a8df2085b1dfb6f687980dd0e9c8691f2caac34ac58a6c119fe69a61888b80a9cbce89ebc9dbb345d6d141a8e4ea9b1b37fa89
DIST postgresql-12.17.tar.bz2 21181616 BLAKE2B dda4b06d8d36d3257e1eea251ccbdf38f1ce63ca811045b7b8d156d2b54614304b83b30ad3b1ead4e7ad74fa9f42acc8934f648902e17a4f7c89a117dc8e3c03 SHA512 8bf67475db4ec5baf058ca976ea3e416df39cd9d15131be3fa3c161edbfa93f74251d33b29d23b3084c95bbb73fb6606f4615e528129674047a75a86e7417373
-DIST postgresql-13.12.tar.bz2 21542293 BLAKE2B b0de1300d90f41445b941c22716986534df850754f67b81c99da9d4acc18b8e8dde4a7291d7f49960f4480a2d9755137390700bf20447d78f0432b526aeb70d7 SHA512 6b6f6de998016b33f0954d4ed8233b84d98abd2dc9b50f5e959f403d1d87a7e9c3b8c8c2ed456806578c2610982f41be3169d9afd4221c52c320b1a2795043e4
+DIST postgresql-12.18.tar.bz2 21208935 BLAKE2B cadb1d168185d0f73752af2a58f34bde79db51716ffbc4e974efa759ac5ebd3b340a17acc965a1fd30899321c5aef597b93f947277a35c1159bc9ff7ac4b4254 SHA512 723105a2b280ed9116615fa5fe29034a8588e474ed622de2c439f95e5b621b8865224e02553b71cba8d0288b1ee9fea077b20bd77fe2c858cd988b417efa56c0
DIST postgresql-13.13.tar.bz2 21563452 BLAKE2B ee4b2d022c1b3003dc9c4da96e5900878a2fc70b3033470d0fb972131e063a047895e86d5d1e36297885f2821f0ef3af966cabe32941efba4bd11bdd0557e44f SHA512 d7b1076cdc406ac83440c75d18e6dc6db9af709615344978ba0135b45a127082b1d3c6ad6d8cd6259d67ddf38cfcee37dd78dcfbf8e4a710b724c67cf36170a7
+DIST postgresql-13.14.tar.bz2 21584146 BLAKE2B 67b1c85cac910f445a393060646e901e03eccf9c00d3b4d41b12acc9d94254697c46060f09a4c6ed57ec33b202c18916b03f8b322c3be0f195e0315e7a874933 SHA512 25d545de69d6ac16b044e09939678af97b6574c71d47d98f95f0ef9ad11ff65e864e503ddff119d73fbb3c61e648e31219982d60da7fc2382ba10e0bfc370aa5
DIST postgresql-14.10.tar.bz2 22298652 BLAKE2B 0c87c02b0b279d29e4a05711312bf89a655359a687c24d1cbb76cd4f6ed7666d31113a18a9976773c36853f00c1ca332af396372524467bb19c2a3bfcddea995 SHA512 f546e62eb158efdeecf091271ee60945604ca7f3683f0b259ee18eb682431158e282bf4f81d8df304c956919788f8077e72aa47c467d32d6aef1ccfe470862a5
-DIST postgresql-14.9.tar.bz2 22207374 BLAKE2B 51c2e6205092873369ca68e2502cfccb1de7d6e8275ebd02dd58d8ed6133aaab9eacc21f8057b7e6555df4207b7af51f43c84b5e6e22eaa9c494e4eceb806fbb SHA512 8a7f74c5fd1ec5339085f357b3044dd0d763e3368bd42b5d68497eba5cbf71e9c76a329580d8aa3145aa98a157f28df548c4a6dc2d880db5c0156baa231f5d24
-DIST postgresql-15.4.tar.bz2 22850355 BLAKE2B e17c62c4e3f048f28073c1706bfa1d3eb065c1416117061fd07b325072c19348f8f2badea1364a054aebccf6d65c2ca21bb46d9cf621d78bd0a75f5dc4b21fe5 SHA512 37dd3e8b644d10c4f55963e07344ff4b0079adbae60052306f230f15e4ef4662b89e84a63dacc87cbf926c80b186d064a391283dd16e29ab47f7acc8a9860d0b
+DIST postgresql-14.11.tar.bz2 22354758 BLAKE2B f2ee6246c0e2c236e693e29ae2a581e818be51162a9a93f38aa1520b886557f9628111ad1e25221baa3b0bcb1d2861e2527082cb15dc6ef1493351b4cc13196a SHA512 67289cd638ed7b13e845263d5a34394347f33735d9e2fafd6aa3562989a3a9455ea547d1b5079138648f33b093e77841654188fc74a49c0d6d458a42cfb57ffe
DIST postgresql-15.5.tar.bz2 23091780 BLAKE2B e3731b973242d4de8b4b78e00842df52e006f08510efc0ff02bf7b8b479e17aa9e1c8116644d9a82f23d4334f527f1a82a1c2eec7f7c199a2fdf500b46740264 SHA512 9ed9d160b3cef99954ccd47a970c107b7e3b0196a7d848f740bf3c52a1c626f6f457814c97f37b9f0467bb07734e19806a15bd9cf3c39445e1d89e75b37064cc
-DIST postgresql-16.0.tar.bz2 24528207 BLAKE2B a38bbe973796b5270ef2121e0f88dcaa46bbb8ed9e2d9f60b1b5a958e50a655ec763a5aa1a25478b0a3762494171674747e8e4b8efcd46068a7a84ff17ad9966 SHA512 c66b72d2d9bc503b9ad19c67384517ae921c494b2916f32157c2528dcbb38aefeb4a8cd5003fd40ba8a19612ea64511d534ff5d99e7a1b266024232f983bcf39
+DIST postgresql-15.6.tar.bz2 23093967 BLAKE2B 8245fd0e0f2b90d504e57021bb0069d0850f5ff409dab2a583581a5b77a39e81a08c6d4c87db15f14f5e1943c1c21451160205ea27e56808a3a4a0f166090c2a SHA512 d9f158d844ec21bc5a7eccad9193dfe026d3df46a011980412ad7d150b3894c01754be0053bed530976047d7eff657204ac321138ba8da6eac8fb7b93b9520ad
DIST postgresql-16.1.tar.bz2 24605482 BLAKE2B f59859af644134cf0fc9289c0e0d93fe0f877794a1cc8881280d0439605a6e312866a0114d453af8e269e26173fa3742073fe5485901b7cb0af925a5c3506aad SHA512 69f4635e5841452599f13b47df41ce2425ab34b4e4582fd2c635bc78d561fa36c5b03eccb4ae6569872dc74775be1b5a62dee20c9a4f12a43339250128352918
+DIST postgresql-16.2.tar.bz2 24711703 BLAKE2B b863d7b7a1721df237c33a45aed788be9397a432a445f2267619496f1c0210196ff0904c44dbf07ea11f814921c643a6b9182b8a4c992f13578c4fe00868d491 SHA512 3194941cc3f1ec86b6cf4f08c6422d268d99890441f8fc9ab87b6a7fd16c990fa230b544308644cbef54e6960c4984e3703752e40930bdc0537b7bfda3ab7ccf
diff --git a/dev-db/postgresql/files/postgresql-11_beta1-no-server.patch b/dev-db/postgresql/files/postgresql-11_beta1-no-server.patch
deleted file mode 100644
index 26e7832c121c..000000000000
--- a/dev-db/postgresql/files/postgresql-11_beta1-no-server.patch
+++ /dev/null
@@ -1,144 +0,0 @@
---- 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
-@@ -53,7 +53,7 @@
-
- ##########################################################################
-
--all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
-+all: generated-headers
-
- ifneq ($(PORTNAME), cygwin)
- ifneq ($(PORTNAME), win32)
-@@ -192,24 +192,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_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample'
-+install:
-
- ifeq ($(with_llvm), yes)
- install-bin: install-postgres-bitcode
---- a/src/bin/Makefile
-+++ b/src/bin/Makefile
-@@ -14,20 +14,8 @@
- include $(top_builddir)/src/Makefile.global
-
- SUBDIRS = \
-- initdb \
-- pg_archivecleanup \
-- pg_basebackup \
- pg_config \
-- pg_controldata \
-- pg_ctl \
- pg_dump \
-- pg_resetwal \
-- pg_rewind \
-- pg_test_fsync \
-- pg_test_timing \
-- pg_upgrade \
-- pg_verify_checksums \
-- 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/postgresql-11.21.ebuild b/dev-db/postgresql/postgresql-11.21.ebuild
deleted file mode 100644
index 13390d4be799..000000000000
--- a/dev-db/postgresql/postgresql-11.21.ebuild
+++ /dev/null
@@ -1,451 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
-
-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 ~x64-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 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-16:=
- <sys-devel/clang-16:=
-)
-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_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-11.22.ebuild b/dev-db/postgresql/postgresql-11.22.ebuild
deleted file mode 100644
index 13390d4be799..000000000000
--- a/dev-db/postgresql/postgresql-11.22.ebuild
+++ /dev/null
@@ -1,451 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
-
-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 ~x64-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 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-16:=
- <sys-devel/clang-16:=
-)
-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_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.17.ebuild b/dev-db/postgresql/postgresql-12.17.ebuild
index 8a1f6fa701e0..51c7e054b6b5 100644
--- a/dev-db/postgresql/postgresql-12.17.ebuild
+++ b/dev-db/postgresql/postgresql-12.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -44,7 +44,8 @@ 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= )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
@@ -73,7 +74,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-12.16.ebuild b/dev-db/postgresql/postgresql-12.18.ebuild
index 382ca7191482..8365c8725242 100644
--- a/dev-db/postgresql/postgresql-12.16.ebuild
+++ b/dev-db/postgresql/postgresql-12.18.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
+LLVM_MAX_SLOT=17
inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
@@ -36,8 +36,8 @@ icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
- <sys-devel/llvm-16:=
- <sys-devel/clang-16:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
pam? ( sys-libs/pam )
perl? ( >=dev-lang/perl-5.8:= )
@@ -73,7 +73,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-13.13.ebuild b/dev-db/postgresql/postgresql-13.13.ebuild
index 454e80ad0e17..5e8c350bca7f 100644
--- a/dev-db/postgresql/postgresql-13.13.ebuild
+++ b/dev-db/postgresql/postgresql-13.13.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -44,7 +44,8 @@ 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= )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
@@ -73,7 +74,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-13.12.ebuild b/dev-db/postgresql/postgresql-13.14.ebuild
index 5da40dbc3de5..60d28d2d7d08 100644
--- a/dev-db/postgresql/postgresql-13.12.ebuild
+++ b/dev-db/postgresql/postgresql-13.14.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
+LLVM_MAX_SLOT=17
inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
@@ -36,8 +36,8 @@ icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
- <sys-devel/llvm-16:=
- <sys-devel/clang-16:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
pam? ( sys-libs/pam )
perl? ( >=dev-lang/perl-5.8:= )
@@ -73,7 +73,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-14.10.ebuild b/dev-db/postgresql/postgresql-14.10.ebuild
index bbeb17b04abe..341c1e37a966 100644
--- a/dev-db/postgresql/postgresql-14.10.ebuild
+++ b/dev-db/postgresql/postgresql-14.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -45,7 +45,8 @@ 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= )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
@@ -74,7 +75,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-14.9.ebuild b/dev-db/postgresql/postgresql-14.11.ebuild
index 11f0bdf2b513..db34b02f91bd 100644
--- a/dev-db/postgresql/postgresql-14.9.ebuild
+++ b/dev-db/postgresql/postgresql-14.11.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
+LLVM_MAX_SLOT=17
inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
@@ -21,7 +21,7 @@ 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
+IUSE="debug doc icu kerberos ldap llvm +lz4 nls pam perl python +readline
selinux +server systemd ssl static-libs tcl uuid xml zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -36,8 +36,8 @@ icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
- <sys-devel/llvm-16:=
- <sys-devel/clang-16:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
lz4? ( app-arch/lz4 )
pam? ( sys-libs/pam )
@@ -74,7 +74,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-15.5.ebuild b/dev-db/postgresql/postgresql-15.5.ebuild
index ee1bdc3d0e0c..aebc9d9ad3be 100644
--- a/dev-db/postgresql/postgresql-15.5.ebuild
+++ b/dev-db/postgresql/postgresql-15.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -45,7 +45,8 @@ 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= )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
@@ -75,7 +76,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-15.4.ebuild b/dev-db/postgresql/postgresql-15.6.ebuild
index 512aa08d2e60..aaea88b1abe6 100644
--- a/dev-db/postgresql/postgresql-15.4.ebuild
+++ b/dev-db/postgresql/postgresql-15.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
+LLVM_MAX_SLOT=17
inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
@@ -21,8 +21,8 @@ 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 uuid xml zlib zstd"
+IUSE="debug doc icu kerberos ldap llvm +lz4 nls pam perl python +readline
+ selinux +server systemd ssl static-libs tcl uuid xml zlib +zstd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -36,8 +36,8 @@ icu? ( dev-libs/icu:= )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
- <sys-devel/llvm-16:=
- <sys-devel/clang-16:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
lz4? ( app-arch/lz4 )
pam? ( sys-libs/pam )
@@ -75,7 +75,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-16.1.ebuild b/dev-db/postgresql/postgresql-16.1.ebuild
index e827da1d4c1a..f86079824aee 100644
--- a/dev-db/postgresql/postgresql-16.1.ebuild
+++ b/dev-db/postgresql/postgresql-16.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,7 +34,7 @@ acct-user/postgres
sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
+kerberos? ( app-crypt/mit-krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
<sys-devel/llvm-18:=
@@ -46,7 +46,8 @@ 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= )
+ssl? ( >=dev-libs/openssl-0.9.6-r1:0=
+ <dev-libs/openssl-3.2 )
tcl? ( >=dev-lang/tcl-8:0= )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
zlib? ( sys-libs/zlib )
@@ -76,7 +77,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-16.0.ebuild b/dev-db/postgresql/postgresql-16.2.ebuild
index 5a39a08cca63..520395881338 100644
--- a/dev-db/postgresql/postgresql-16.0.ebuild
+++ b/dev-db/postgresql/postgresql-16.2.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10,11,12} )
-LLVM_MAX_SLOT=15
+LLVM_MAX_SLOT=17
inherit flag-o-matic linux-info llvm pam python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
SLOT=$(ver_cut 1)
@@ -21,9 +21,9 @@ LICENSE="POSTGRESQL GPL-2"
DESCRIPTION="PostgreSQL RDBMS"
HOMEPAGE="https://www.postgresql.org/"
-IUSE="debug doc +icu kerberos ldap llvm lz4 nls pam perl python
+IUSE="debug doc +icu kerberos ldap llvm +lz4 nls pam perl python
+readline selinux +server systemd ssl static-libs tcl uuid xml
- zlib zstd"
+ zlib +zstd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -34,11 +34,11 @@ acct-user/postgres
sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
+kerberos? ( app-crypt/mit-krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
- <sys-devel/llvm-16:=
- <sys-devel/clang-16:=
+ <sys-devel/llvm-18:=
+ <sys-devel/clang-18:=
)
lz4? ( app-arch/lz4 )
pam? ( sys-libs/pam )
@@ -76,7 +76,7 @@ uuid? (
DEPEND="${CDEPEND}
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9999.ebuild
index 61fdcbecf890..1fa775af92f2 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,7 +30,7 @@ acct-user/postgres
sys-apps/less
virtual/libintl
icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
+kerberos? ( app-crypt/mit-krb5 )
ldap? ( net-nds/openldap:= )
llvm? (
sys-devel/llvm:=
@@ -81,7 +81,7 @@ app-text/openjade
dev-libs/libxml2
dev-libs/libxslt
sys-devel/bison
-sys-devel/flex
+app-alternatives/lex
nls? ( sys-devel/gettext )
xml? ( virtual/pkgconfig )
"
diff --git a/dev-db/qdbm/qdbm-1.8.78-r4.ebuild b/dev-db/qdbm/qdbm-1.8.78-r4.ebuild
index 43796938adc8..f1ea111f2075 100644
--- a/dev-db/qdbm/qdbm-1.8.78-r4.ebuild
+++ b/dev-db/qdbm/qdbm-1.8.78-r4.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-USE_RUBY="ruby27 ruby30 ruby31"
+USE_RUBY="ruby31 ruby32"
RUBY_OPTIONAL="yes"
inherit autotools flag-o-matic java-pkg-opt-2 perl-functions ruby-ng
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index e4590e4d5b2b..a42beeee7489 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,12 +1,6 @@
-DIST redis-6.2.11.tar.gz 2492990 BLAKE2B edf046d86e295878abc5ba46ea6c8048c97f27b90d132ec1318350fa0634bb5e4cd1407757f07ef3c11abcb13b05ccc8a757bc17d7f1c9800644dfc0d2994d77 SHA512 9962446d7b1f14524a3007967768b33281dd33706567b8ac56e4cb7d3caa8533bcbc319ea899a163d56567be85cbc03cdcc440d9b1c9707372e10b53d1c1dcd7
-DIST redis-6.2.13.tar.gz 2496004 BLAKE2B 91b6fcd72c1330aca358443c082967ed6f1ec27ecc2c1ea50e3824fb615a503710e75bac1cdc1c5305b95f2bea3bd43be21646dcbbdab85d401e832a3b5c7eea SHA512 644d02f357300cac3ef632f689dcf1786ad8a2c2ca68202bcd6dc6abfd728cc805e3ad3d99dbbe5503bf2ef5ce0cb8c11d3eab29aed780ae787094562e99c702
DIST redis-6.2.14.tar.gz 2496149 BLAKE2B 689a0c3b558e07f43f8b1480fbf7a083184bbc0ccde0b184dc8a1d89ed22bec9694b7c8605ff729c9e9d582e8cf47c8f9cd9ee0794ea15e07cdb0b886e93c116 SHA512 140d4b23c20d459b65be8c61996e281222f978b51c52cb048039d741801e4027775ad89ed354dc0dce3d47703a08610adafaf6253fea2f973d5b9d20bc1e59ce
-DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953
-DIST redis-7.0.12.tar.gz 2992216 BLAKE2B 3aad6063d1d757568ebf249868b7728be49483c1e59f55cc84bc6407b1e9957abc68160f2ba2c4479679304cbe3878beba018cfbf89f818c015d3b1481ce9225 SHA512 27ed0ab054d262028d236694f323387e3ef0e007de782545878011a7535e188152ed0af898dea4d6c0a7fa385849bbce6a0d85661780cb0e69c7d89dea3825b8
-DIST redis-7.0.13.tar.gz 2993829 BLAKE2B fd6902d1a19dddabc6998bd0478f723cc13420807491a97a4ec4bb63046228b87e949a112b8b89f3a3d1d7c1e00dcbc53fcecd3b8b54af7ddfd39d96cb723607 SHA512 9abb170864b7c4ccdfd1b3f8cf95ff8ce544e68986da952cf33e0d9ba82097d22de6410271299d94cd180d67ffc5baeda03d471a838fceaa9b5c29844171fb01
DIST redis-7.0.14.tar.gz 2994188 BLAKE2B ab4325df8f1af1f7b8c634265a1c7001486c305d4210e72045e6434207e4a447e67d41fa07bd3cd5a57da173e7f9893bf386b18b556156cf559019573a7c4f8b SHA512 31d851dd72cea7d1e48c0df5646c91a2f7b72696067c017936984c49912f6e846ba6469c1ee8e361e362c8683912a25f6eee3993ed1a73cfe70051e84ad79b8b
-DIST redis-7.0.5.tar.gz 2968205 BLAKE2B c319a2f656e4bd26637735ef73e58eecc306e202b57d6da3a38150a02d738a414c6696e261b8ab88033e117aee4f02308aab9ca4a5f382d66ec3a10f3e020580 SHA512 16ff920cb8df4d82e78ef34209285024aa98189be8acbca86b10fb3064dcc70eac60206aadece6af08406860ed01a004ce3aaa86be896ea36c7f486686646753
-DIST redis-7.0.9.tar.gz 2984823 BLAKE2B 9c2e79f40ad14f6412ec4bc79507a32f8780bf4b3a311b87dd309e74b6367536f1c91b8026efc6acb3d750ca7c49687a74660c66d104caa439ef385db3eab230 SHA512 e984a19583e4aae0a5dce85a434d3255f4f13725eba0f11a1fe1a1189b17035152a26b65f1a3a8834f0dd8218f4a65986c918f96386120ea9419bd02366c8293
+DIST redis-7.0.15.tar.gz 2994329 BLAKE2B fa1bc85c89cb6a6fb18710a4d29c20db44a80ce445d217f39a234a2aad1d79031e9d1fc45415af7b0eb1c169bd88f45f1fe60cab35de38c6fadc839e2a27676d SHA512 83d58f98085f91754f6d87810e7da0d6cf11ffbe11a0f5d3581d5b2c63d2a752ba6b4eda921a04031aedc56ecebe349cd468ab5ad837493f55d2cac0ab3d015a
DIST redis-7.2.1.tar.gz 3383319 BLAKE2B 92784af3d1df338a8af7475ab7c598309f33f682ad4bb0b827f170c9f20c1a0879b433c6325c90dd6ba17e06e95bf7d8a9a665d6706065ff4c4c8c141d9c93c1 SHA512 7df4afd51dceea0edbb999027c84820a6aebdd58d71b2e93a4861120fa2b9c0801a0e61c70e695845dbff4e9b96907a4215dcacf72d3593ad014cfa584b5cad0
-DIST redis-7.2.2.tar.gz 3384618 BLAKE2B d169f7cbbba88999d3eb6c9b90c178991e4aac081e877eb8a7f061679e1f80d7055aa884fd5ed01b8907885d5b50f898ce884f2c9ac93b674e870550cf509deb SHA512 1ca6f245d6b224c4fa140e8b8d0911465403ed0a2e369f8a0f6e63495be64b76a4ebd4f214dcc4f5dae90203556d99b7884a0796c35a5c20b38c21cdbd4bd0e7
DIST redis-7.2.3.tar.gz 3384816 BLAKE2B 6aaf1bae377f3885affd140365eb0c2c30079fe40d770af1ac75a50647ce811e6c4dccd4b886db315e7b78e60661fa0bee280d707c1c4490f32086d0793069c3 SHA512 2ce4bbb056372f1180ceb1863106d07b021d32af2379f1f5dfc61e930c2cd0303433af22c7231adc8890ab5581cb41be3b792f19a0b1645108735c86d9fdf68e
+DIST redis-7.2.4.tar.gz 3386861 BLAKE2B 852d55f875378248fa15e189308afbe36bca73c2aa2e5423a765a3d6f6895908ac1455148e032f6d1a1087f57af5869bccf8a932684817109f3fcf09b204e639 SHA512 78590fb6680f229905c240ed8ce7a9a7153e5f8563577dbbb26aebf9bfbdcd7495d687f452bd95e0a86c76d772e1c497b506cf8d29bc97b62c9267f7d1e76f72
diff --git a/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch b/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch
deleted file mode 100644
index 8c3a2358c8eb..000000000000
--- a/dev-db/redis/files/redis-6.2.7-cve-2022-3647.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-This is backported patch from upstream commit for version 6.2.7 which fixes CVE-2022-3647.
-
-Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
-Bug: https://bugs.gentoo.org/877863
-
-diff --git a/src/debug.c b/src/debug.c
-index 71ef51f8b..40fffec52 100644
---- a/src/debug.c
-+++ b/src/debug.c
-@@ -1019,61 +1019,88 @@ void bugReportStart(void) {
- }
-
- #ifdef HAVE_BACKTRACE
--static void *getMcontextEip(ucontext_t *uc) {
-+
-+/* Returns the current eip and set it to the given new value (if its not NULL) */
-+static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
-+#define NOT_SUPPORTED() do {\
-+ UNUSED(uc);\
-+ UNUSED(eip);\
-+ return NULL;\
-+} while(0)
-+#define GET_SET_RETURN(target_var, new_val) do {\
-+ void *old_val = (void*)target_var; \
-+ if (new_val) { \
-+ void **temp = (void**)&target_var; \
-+ *temp = new_val; \
-+ } \
-+ return old_val; \
-+} while(0)
- #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
- /* OSX < 10.6 */
- #if defined(__x86_64__)
-- return (void*) uc->uc_mcontext->__ss.__rip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
- #elif defined(__i386__)
-- return (void*) uc->uc_mcontext->__ss.__eip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
- #else
-- return (void*) uc->uc_mcontext->__ss.__srr0;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__srr0, eip);
- #endif
- #elif defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_6)
- /* OSX >= 10.6 */
- #if defined(_STRUCT_X86_THREAD_STATE64) && !defined(__i386__)
-- return (void*) uc->uc_mcontext->__ss.__rip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
- #elif defined(__i386__)
-- return (void*) uc->uc_mcontext->__ss.__eip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
- #else
- /* OSX ARM64 */
-- return (void*) arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
-+ void *old_val = (void*)arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
-+ if (eip) {
-+ arm_thread_state64_set_pc_fptr(uc->uc_mcontext->__ss, eip);
-+ }
-+ return old_val;
- #endif
- #elif defined(__linux__)
- /* Linux */
- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
-- return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
-+ GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
- #elif defined(__X86_64__) || defined(__x86_64__)
-- return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-+ GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
- #elif defined(__ia64__) /* Linux IA64 */
-- return (void*) uc->uc_mcontext.sc_ip;
-+ GET_SET_RETURN(uc->uc_mcontext.sc_ip, eip);
- #elif defined(__arm__) /* Linux ARM */
-- return (void*) uc->uc_mcontext.arm_pc;
-+ GET_SET_RETURN(uc->uc_mcontext.arm_pc, eip);
- #elif defined(__aarch64__) /* Linux AArch64 */
-- return (void*) uc->uc_mcontext.pc;
-+ GET_SET_RETURN(uc->uc_mcontext.pc, eip);
-+ #else
-+ NOT_SUPPORTED();
- #endif
- #elif defined(__FreeBSD__)
- /* FreeBSD */
- #if defined(__i386__)
-- return (void*) uc->uc_mcontext.mc_eip;
-+ GET_SET_RETURN(uc->uc_mcontext.mc_eip, eip);
- #elif defined(__x86_64__)
-- return (void*) uc->uc_mcontext.mc_rip;
-+ GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
-+ #else
-+ NOT_SUPPORTED();
- #endif
- #elif defined(__OpenBSD__)
- /* OpenBSD */
- #if defined(__i386__)
-- return (void*) uc->sc_eip;
-+ GET_SET_RETURN(uc->sc_eip, eip);
- #elif defined(__x86_64__)
-- return (void*) uc->sc_rip;
-+ GET_SET_RETURN(uc->sc_rip, eip);
-+ #else
-+ NOT_SUPPORTED();
- #endif
- #elif defined(__NetBSD__)
- #if defined(__i386__)
-- return (void*) uc->uc_mcontext.__gregs[_REG_EIP];
-+ GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_EIP], eip);
- #elif defined(__x86_64__)
-- return (void*) uc->uc_mcontext.__gregs[_REG_RIP];
-+ GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_RIP], eip);
-+ #else
-+ NOT_SUPPORTED();
- #endif
- #elif defined(__DragonFly__)
-- return (void*) uc->uc_mcontext.mc_rip;
-+ GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
- #else
- return NULL;
- #endif
-@@ -1800,6 +1827,10 @@ void dumpCodeAroundEIP(void *eip) {
- }
- }
-
-+void invalidFunctionWasCalled() {}
-+
-+typedef void (*invalidFunctionWasCalledType)();
-+
- void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
- UNUSED(secret);
- UNUSED(info);
-@@ -1817,13 +1848,30 @@ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
-
- #ifdef HAVE_BACKTRACE
- ucontext_t *uc = (ucontext_t*) secret;
-- void *eip = getMcontextEip(uc);
-+ void *eip = getAndSetMcontextEip(uc, NULL);
- if (eip != NULL) {
- serverLog(LL_WARNING,
- "Crashed running the instruction at: %p", eip);
- }
-
-- logStackTrace(getMcontextEip(uc), 1);
-+ if (eip == info->si_addr) {
-+ /* When eip matches the bad address, it's an indication that we crashed when calling a non-mapped
-+ * function pointer. In that case the call to backtrace will crash trying to access that address and we
-+ * won't get a crash report logged. Set it to a valid point to avoid that crash. */
-+
-+ /* This trick allow to avoid compiler warning */
-+ void *ptr;
-+ invalidFunctionWasCalledType *ptr_ptr = (invalidFunctionWasCalledType*)&ptr;
-+ *ptr_ptr = invalidFunctionWasCalled;
-+ getAndSetMcontextEip(uc, ptr);
-+ }
-+
-+ logStackTrace(eip, 1);
-+
-+ if (eip == info->si_addr) {
-+ /* Restore old eip */
-+ getAndSetMcontextEip(uc, eip);
-+ }
-
- logRegisters(uc);
- #endif
-@@ -1918,7 +1966,7 @@ void watchdogSignalHandler(int sig, siginfo_t *info, void *secret) {
-
- serverLogFromHandler(LL_WARNING,"\n--- WATCHDOG TIMER EXPIRED ---");
- #ifdef HAVE_BACKTRACE
-- logStackTrace(getMcontextEip(uc), 1);
-+ logStackTrace(getAndSetMcontextEip(uc, NULL), 1);
- #else
- serverLogFromHandler(LL_WARNING,"Sorry: no support for backtrace().");
- #endif
---
-2.37.4
-
diff --git a/dev-db/redis/files/redis-7.0.4-replica-tests-fix.patch b/dev-db/redis/files/redis-7.0.4-replica-tests-fix.patch
deleted file mode 100644
index 55da00137b46..000000000000
--- a/dev-db/redis/files/redis-7.0.4-replica-tests-fix.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From e7144693e2446f21ee68c95676ecf65d1351d13e Mon Sep 17 00:00:00 2001
-From: Binbin <binloveplay1314@qq.com>
-Date: Wed, 27 Jul 2022 19:58:25 +0800
-Subject: [PATCH] Fix bgsaveerr issue in psync wrong offset test (#11043)
-
-The kill above is sometimes successful and sometimes already too late.
-The PING in pysnc wrong offset test got rejected by bgsaveerr because
-lastbgsave_status is C_ERR.
-
-In theory, using diskless can avoid PING being affected, because when
-the replica is dropped, we will kill the child with SIGUSR1, and this
-will not affect lastbgsave_status.
-
-Anyway, this kill is not particularly needed here, dropping the kill
-is the best one, since we do have the waitForBgsave, so just let it
-take care of the bgsave. No need for fast termination.
----
-
-This patch is backported from upstream, see PR #11043.
-
-Upstream-PR: https://github.com/redis/redis/pull/11043
-
-diff --git a/tests/integration/replication.tcl b/tests/integration/replication.tcl
-index d60c91918..457c3150e 100644
---- a/tests/integration/replication.tcl
-+++ b/tests/integration/replication.tcl
-@@ -1289,7 +1289,6 @@ start_server {tags {"repl" "external:skip"}} {
- verify_log_message 0 "*Replica generated a reply to command 'ping', disconnecting it: *" $lines
-
- $rd close
-- catch {exec kill -9 [get_child_pid 0]}
- waitForBgsave r
- }
-
-@@ -1307,7 +1306,6 @@ start_server {tags {"repl" "external:skip"}} {
- verify_log_message 0 "*Replica generated a reply to command 'xinfo|help', disconnecting it: *" $lines
-
- $rd close
-- catch {exec kill -9 [get_child_pid 0]}
- waitForBgsave r
- }
-
-@@ -1328,7 +1326,6 @@ start_server {tags {"repl" "external:skip"}} {
- verify_log_message 0 "*Replica can't interact with the keyspace*" $lines
-
- $rd close
-- catch {exec kill -9 [get_child_pid 0]}
- waitForBgsave r
- }
-
-@@ -1347,7 +1344,6 @@ start_server {tags {"repl" "external:skip"}} {
- verify_log_message 0 "*Replica generated a reply to command 'slowlog|get', disconnecting it: *" $lines
-
- $rd close
-- catch {exec kill -9 [get_child_pid 0]}
- waitForBgsave r
- }
-
---
-2.35.1
-
diff --git a/dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch b/dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch
deleted file mode 100644
index 8f5eaff13fed..000000000000
--- a/dev-db/redis/files/redis-7.0.5-cve-2022-3647.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-This is the patch recommended to apply in order to fix CVE-2022-3647.
-
-Upstream-commit: https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3
-Bug: https://bugs.gentoo.org/877863
-
-diff --git a/src/debug.c b/src/debug.c
-index 8cc811be4..b15ac8780 100644
---- a/src/debug.c
-+++ b/src/debug.c
-@@ -1123,73 +1123,88 @@ void bugReportStart(void) {
- }
-
- #ifdef HAVE_BACKTRACE
--static void *getMcontextEip(ucontext_t *uc) {
-+
-+/* Returns the current eip and set it to the given new value (if its not NULL) */
-+static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
- #define NOT_SUPPORTED() do {\
- UNUSED(uc);\
-+ UNUSED(eip);\
- return NULL;\
- } while(0)
-+#define GET_SET_RETURN(target_var, new_val) do {\
-+ void *old_val = (void*)target_var; \
-+ if (new_val) { \
-+ void **temp = (void**)&target_var; \
-+ *temp = new_val; \
-+ } \
-+ return old_val; \
-+} while(0)
- #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
- /* OSX < 10.6 */
- #if defined(__x86_64__)
-- return (void*) uc->uc_mcontext->__ss.__rip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
- #elif defined(__i386__)
-- return (void*) uc->uc_mcontext->__ss.__eip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
- #else
-- return (void*) uc->uc_mcontext->__ss.__srr0;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__srr0, eip);
- #endif
- #elif defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_6)
- /* OSX >= 10.6 */
- #if defined(_STRUCT_X86_THREAD_STATE64) && !defined(__i386__)
-- return (void*) uc->uc_mcontext->__ss.__rip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__rip, eip);
- #elif defined(__i386__)
-- return (void*) uc->uc_mcontext->__ss.__eip;
-+ GET_SET_RETURN(uc->uc_mcontext->__ss.__eip, eip);
- #else
- /* OSX ARM64 */
-- return (void*) arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
-+ void *old_val = (void*)arm_thread_state64_get_pc(uc->uc_mcontext->__ss);
-+ if (eip) {
-+ arm_thread_state64_set_pc_fptr(uc->uc_mcontext->__ss, eip);
-+ }
-+ return old_val;
- #endif
- #elif defined(__linux__)
- /* Linux */
- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
-- return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
-+ GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
- #elif defined(__X86_64__) || defined(__x86_64__)
-- return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-+ GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
- #elif defined(__ia64__) /* Linux IA64 */
-- return (void*) uc->uc_mcontext.sc_ip;
-+ GET_SET_RETURN(uc->uc_mcontext.sc_ip, eip);
- #elif defined(__arm__) /* Linux ARM */
-- return (void*) uc->uc_mcontext.arm_pc;
-+ GET_SET_RETURN(uc->uc_mcontext.arm_pc, eip);
- #elif defined(__aarch64__) /* Linux AArch64 */
-- return (void*) uc->uc_mcontext.pc;
-+ GET_SET_RETURN(uc->uc_mcontext.pc, eip);
- #else
- NOT_SUPPORTED();
- #endif
- #elif defined(__FreeBSD__)
- /* FreeBSD */
- #if defined(__i386__)
-- return (void*) uc->uc_mcontext.mc_eip;
-+ GET_SET_RETURN(uc->uc_mcontext.mc_eip, eip);
- #elif defined(__x86_64__)
-- return (void*) uc->uc_mcontext.mc_rip;
-+ GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
- #else
- NOT_SUPPORTED();
- #endif
- #elif defined(__OpenBSD__)
- /* OpenBSD */
- #if defined(__i386__)
-- return (void*) uc->sc_eip;
-+ GET_SET_RETURN(uc->sc_eip, eip);
- #elif defined(__x86_64__)
-- return (void*) uc->sc_rip;
-+ GET_SET_RETURN(uc->sc_rip, eip);
- #else
- NOT_SUPPORTED();
- #endif
- #elif defined(__NetBSD__)
- #if defined(__i386__)
-- return (void*) uc->uc_mcontext.__gregs[_REG_EIP];
-+ GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_EIP], eip);
- #elif defined(__x86_64__)
-- return (void*) uc->uc_mcontext.__gregs[_REG_RIP];
-+ GET_SET_RETURN(uc->uc_mcontext.__gregs[_REG_RIP], eip);
- #else
- NOT_SUPPORTED();
- #endif
- #elif defined(__DragonFly__)
-- return (void*) uc->uc_mcontext.mc_rip;
-+ GET_SET_RETURN(uc->uc_mcontext.mc_rip, eip);
- #else
- NOT_SUPPORTED();
- #endif
-@@ -1951,6 +1966,10 @@ void dumpCodeAroundEIP(void *eip) {
- }
- }
-
-+void invalidFunctionWasCalled() {}
-+
-+typedef void (*invalidFunctionWasCalledType)();
-+
- void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
- UNUSED(secret);
- UNUSED(info);
-@@ -1968,13 +1987,30 @@ void sigsegvHandler(int sig, siginfo_t *info, void *secret) {
-
- #ifdef HAVE_BACKTRACE
- ucontext_t *uc = (ucontext_t*) secret;
-- void *eip = getMcontextEip(uc);
-+ void *eip = getAndSetMcontextEip(uc, NULL);
- if (eip != NULL) {
- serverLog(LL_WARNING,
- "Crashed running the instruction at: %p", eip);
- }
-
-- logStackTrace(getMcontextEip(uc), 1);
-+ if (eip == info->si_addr) {
-+ /* When eip matches the bad address, it's an indication that we crashed when calling a non-mapped
-+ * function pointer. In that case the call to backtrace will crash trying to access that address and we
-+ * won't get a crash report logged. Set it to a valid point to avoid that crash. */
-+
-+ /* This trick allow to avoid compiler warning */
-+ void *ptr;
-+ invalidFunctionWasCalledType *ptr_ptr = (invalidFunctionWasCalledType*)&ptr;
-+ *ptr_ptr = invalidFunctionWasCalled;
-+ getAndSetMcontextEip(uc, ptr);
-+ }
-+
-+ logStackTrace(eip, 1);
-+
-+ if (eip == info->si_addr) {
-+ /* Restore old eip */
-+ getAndSetMcontextEip(uc, eip);
-+ }
-
- logRegisters(uc);
- #endif
-@@ -2079,7 +2115,7 @@ void watchdogSignalHandler(int sig, siginfo_t *info, void *secret) {
-
- serverLogFromHandler(LL_WARNING,"\n--- WATCHDOG TIMER EXPIRED ---");
- #ifdef HAVE_BACKTRACE
-- logStackTrace(getMcontextEip(uc), 1);
-+ logStackTrace(getAndSetMcontextEip(uc, NULL), 1);
- #else
- serverLogFromHandler(LL_WARNING,"Sorry: no support for backtrace().");
- #endif
---
-2.37.4
-
diff --git a/dev-db/redis/redis-6.2.11.ebuild b/dev-db/redis/redis-6.2.11.ebuild
deleted file mode 100644
index 6f989b380184..000000000000
--- a/dev-db/redis/redis-6.2.11.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 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"
-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"
-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:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-
-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=
- ssl? ( dev-tcltk/tls )
- )"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
- ${LUA_REQUIRED_USE}"
-
-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
-)
-
-src_prepare() {
- default
-
- # Copy lua modules into build dir
- #cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
- #cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
- # Append cflag for lua_cjson
- # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
- append-cflags "-DENABLE_CJSON_GLOBAL"
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i -e 's:$(CC):@CC@:g' \
- -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
- -e 's: $(DEBUG)::g' \
- -e 's:$(OBJARCH)::g' \
- -e 's:ARCH:TARCH:g' \
- -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
- "${MKF}.in" \
- || die "Sed failed for ${MKF}"
- makefiles+=" ${MKF}"
- done
- # autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
- # Use the correct pkgconfig name for Lua.
- # The upstream configure script handles luajit specially, and is not
- # affected by these changes.
- 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,${ELUA},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf #$(use_with lua_single_target_luajit luajit)
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- local myconf=""
-
- if use jemalloc; then
- myconf+="MALLOC=jemalloc"
- elif use tcmalloc; then
- myconf+="MALLOC=tcmalloc"
- else
- myconf+="MALLOC=libc"
- fi
-
- if use ssl; then
- myconf+=" BUILD_TLS=yes"
- fi
-
- export USE_SYSTEMD=$(usex systemd)
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
- 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
- edo ./utils/gen-test-certs.sh
- runtestargs+=( --tls )
- fi
-
- edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
- insinto /etc/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" 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
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-6.2.13.ebuild b/dev-db/redis/redis-6.2.14-r1.ebuild
index 93779dea14c8..1ecde456a4ac 100644
--- a/dev-db/redis/redis-6.2.13.ebuild
+++ b/dev-db/redis/redis-6.2.14-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/$(ver_cut 1-2)"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-6.2.14.ebuild b/dev-db/redis/redis-6.2.14.ebuild
deleted file mode 100644
index 64d6dfe5ae06..000000000000
--- a/dev-db/redis/redis-6.2.14.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 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"
-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"
-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:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-
-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=
- ssl? ( dev-tcltk/tls )
- )"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
- ${LUA_REQUIRED_USE}"
-
-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
-)
-
-src_prepare() {
- default
-
- # Copy lua modules into build dir
- #cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
- #cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
- # Append cflag for lua_cjson
- # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
- append-cflags "-DENABLE_CJSON_GLOBAL"
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i -e 's:$(CC):@CC@:g' \
- -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
- -e 's: $(DEBUG)::g' \
- -e 's:$(OBJARCH)::g' \
- -e 's:ARCH:TARCH:g' \
- -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
- "${MKF}.in" \
- || die "Sed failed for ${MKF}"
- makefiles+=" ${MKF}"
- done
- # autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
- # Use the correct pkgconfig name for Lua.
- # The upstream configure script handles luajit specially, and is not
- # affected by these changes.
- 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,${ELUA},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf #$(use_with lua_single_target_luajit luajit)
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- local myconf=""
-
- if use jemalloc; then
- myconf+="MALLOC=jemalloc"
- elif use tcmalloc; then
- myconf+="MALLOC=tcmalloc"
- else
- myconf+="MALLOC=libc"
- fi
-
- if use ssl; then
- myconf+=" BUILD_TLS=yes"
- fi
-
- export USE_SYSTEMD=$(usex systemd)
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
- 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
- edo ./utils/gen-test-certs.sh
- runtestargs+=( --tls )
- fi
-
- edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
- insinto /etc/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" 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
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-6.2.7-r2.ebuild b/dev-db/redis/redis-6.2.7-r2.ebuild
deleted file mode 100644
index 8fb00f64a1f8..000000000000
--- a/dev-db/redis/redis-6.2.7-r2.ebuild
+++ /dev/null
@@ -1,198 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 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"
-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"
-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:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-
-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=
- ssl? ( dev-tcltk/tls )
- )"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )
- ${LUA_REQUIRED_USE}"
-
-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
-
- # see bug 877863
- "${FILESDIR}/${PN}-6.2.7-cve-2022-3647.patch"
-)
-
-src_prepare() {
- default
-
- # Copy lua modules into build dir
- #cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
- #cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
- # Append cflag for lua_cjson
- # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
- append-cflags "-DENABLE_CJSON_GLOBAL"
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i -e 's:$(CC):@CC@:g' \
- -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
- -e 's: $(DEBUG)::g' \
- -e 's:$(OBJARCH)::g' \
- -e 's:ARCH:TARCH:g' \
- -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
- "${MKF}.in" \
- || die "Sed failed for ${MKF}"
- makefiles+=" ${MKF}"
- done
- # autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
- # Use the correct pkgconfig name for Lua.
- # The upstream configure script handles luajit specially, and is not
- # affected by these changes.
- 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,${ELUA},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf #$(use_with lua_single_target_luajit luajit)
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- local myconf=""
-
- if use jemalloc; then
- myconf+="MALLOC=jemalloc"
- elif use tcmalloc; then
- myconf+="MALLOC=tcmalloc"
- else
- myconf+="MALLOC=libc"
- fi
-
- if use ssl; then
- myconf+=" BUILD_TLS=yes"
- fi
-
- export USE_SYSTEMD=$(usex systemd)
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
- 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
- edo ./utils/gen-test-certs.sh
- runtestargs+=( --tls )
- fi
-
- edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
- insinto /etc/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" 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
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-7.0.13.ebuild b/dev-db/redis/redis-7.0.14-r1.ebuild
index 1e67595984ec..ea4ae7fc184e 100644
--- a/dev-db/redis/redis-7.0.13.ebuild
+++ b/dev-db/redis/redis-7.0.14-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/$(ver_cut 1-2)"
KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-7.0.14.ebuild b/dev-db/redis/redis-7.0.14.ebuild
deleted file mode 100644
index ba998fc64130..000000000000
--- a/dev-db/redis/redis-7.0.14.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 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"
-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"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )
- ssl? ( dev-libs/openssl:0= )
- systemd? ( sys-apps/systemd:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-
-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=
- ssl? ( dev-tcltk/tls )
- )"
-
-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
-
- # 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-7.0 configure.ac || die
-
- sed -i \
- -e "/^AC_INIT/s|, __PV__, |, $PV, |" \
- -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- local myconf=""
-
- if use jemalloc; then
- myconf+="MALLOC=jemalloc"
- elif use tcmalloc; then
- myconf+="MALLOC=tcmalloc"
- else
- myconf+="MALLOC=libc"
- fi
-
- if use ssl; then
- myconf+=" BUILD_TLS=yes"
- fi
-
- export USE_SYSTEMD=$(usex systemd)
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
- 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
- edo ./utils/gen-test-certs.sh
- runtestargs+=( --tls )
- fi
-
- edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
- insinto /etc/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- 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
- 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
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-7.0.12.ebuild b/dev-db/redis/redis-7.0.15-r1.ebuild
index 1e67595984ec..ea4ae7fc184e 100644
--- a/dev-db/redis/redis-7.0.12.ebuild
+++ b/dev-db/redis/redis-7.0.15-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/$(ver_cut 1-2)"
KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-7.0.5-r1.ebuild b/dev-db/redis/redis-7.0.5-r1.ebuild
deleted file mode 100644
index ce206c93e4b4..000000000000
--- a/dev-db/redis/redis-7.0.5-r1.ebuild
+++ /dev/null
@@ -1,191 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 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"
-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"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )
- ssl? ( dev-libs/openssl:0= )
- systemd? ( sys-apps/systemd:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-
-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=
- ssl? ( dev-tcltk/tls )
- )"
-
-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
- "${FILESDIR}"/${PN}-7.0.4-replica-tests-fix.patch
-
- # see bug 877863
- "${FILESDIR}/${PN}-7.0.5-cve-2022-3647.patch"
-)
-
-src_prepare() {
- default
-
- # 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-7.0 configure.ac || die
-
- sed -i \
- -e "/^AC_INIT/s|, __PV__, |, $PV, |" \
- -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- local myconf=""
-
- if use jemalloc; then
- myconf+="MALLOC=jemalloc"
- elif use tcmalloc; then
- myconf+="MALLOC=tcmalloc"
- else
- myconf+="MALLOC=libc"
- fi
-
- if use ssl; then
- myconf+=" BUILD_TLS=yes"
- fi
-
- export USE_SYSTEMD=$(usex systemd)
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
- 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
- edo ./utils/gen-test-certs.sh
- runtestargs+=( --tls )
- fi
-
- edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
- insinto /etc/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- 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
- 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
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-7.0.9.ebuild b/dev-db/redis/redis-7.0.9.ebuild
deleted file mode 100644
index 6321c9fa9820..000000000000
--- a/dev-db/redis/redis-7.0.9.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 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"
-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"
-IUSE="+jemalloc selinux ssl systemd tcmalloc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )
- ssl? ( dev-libs/openssl:0= )
- systemd? ( sys-apps/systemd:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-
-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=
- ssl? ( dev-tcltk/tls )
- )"
-
-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
-
- # 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-7.0 configure.ac || die
-
- sed -i \
- -e "/^AC_INIT/s|, __PV__, |, $PV, |" \
- -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- local myconf=""
-
- if use jemalloc; then
- myconf+="MALLOC=jemalloc"
- elif use tcmalloc; then
- myconf+="MALLOC=tcmalloc"
- else
- myconf+="MALLOC=libc"
- fi
-
- if use ssl; then
- myconf+=" BUILD_TLS=yes"
- fi
-
- export USE_SYSTEMD=$(usex systemd)
-
- tc-export AR CC RANLIB
- emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
-}
-
-src_test() {
- 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
- edo ./utils/gen-test-certs.sh
- runtestargs+=( --tls )
- fi
-
- edo ./runtest "${runtestargs[@]}"
-}
-
-src_install() {
- insinto /etc/redis
- doins redis.conf sentinel.conf
- use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
- fperms 0750 /etc/redis
- fperms 0644 /etc/redis/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r2" redis
- newinitd "${FILESDIR}/redis.initd-6" redis
-
- systemd_newunit "${FILESDIR}/redis.service-4" redis.service
- newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- 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
- 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
-
- ewarn "The default redis configuration file location changed to:"
- ewarn " /etc/redis/{redis,sentinel}.conf"
- ewarn "Please apply your changes to the new configuration files."
-}
diff --git a/dev-db/redis/redis-7.2.1.ebuild b/dev-db/redis/redis-7.2.1-r1.ebuild
index 33316df07b63..8ccfee0d3429 100644
--- a/dev-db/redis/redis-7.2.1.ebuild
+++ b/dev-db/redis/redis-7.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ HOMEPAGE="
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD Boost-1.0"
-SLOT="0"
+SLOT="0/$(ver_cut 1-2)"
KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-7.2.3.ebuild b/dev-db/redis/redis-7.2.3-r1.ebuild
index 80bb38f5edb8..dcdfd9625697 100644
--- a/dev-db/redis/redis-7.2.3.ebuild
+++ b/dev-db/redis/redis-7.2.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,8 +16,8 @@ HOMEPAGE="
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-7.2.2.ebuild b/dev-db/redis/redis-7.2.4-r1.ebuild
index 81c1123f7888..dcdfd9625697 100644
--- a/dev-db/redis/redis-7.2.2.ebuild
+++ b/dev-db/redis/redis-7.2.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,8 +16,8 @@ HOMEPAGE="
SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/rqlite/Manifest b/dev-db/rqlite/Manifest
index 4979b2bd5d2a..eb9b69f8a294 100644
--- a/dev-db/rqlite/Manifest
+++ b/dev-db/rqlite/Manifest
@@ -1,8 +1,2 @@
-DIST rqlite-7.10.1-deps.tar.xz 151513776 BLAKE2B d98bc0c24821a7ae44ddc330cdbe54bc7394763f86e56919d6ff381613a563d646871fc35caa3b3a8e35c2be6c8b669779139a8e2c6f12a66de50d6af51c1452 SHA512 f56aeb5a5b640295f1c008a75e266908faecd1d635138eb7af32d3d780d5752662cd07b69bb99d833594c3cbcaf37b92e0bf23806567c83a1aff8b12fe099e71
-DIST rqlite-7.10.1.tar.gz 510146 BLAKE2B 571af2b2a9d153d4c61c721e5a5346fede87be10f7069274f6964fe1cfc415d3e52cb6587a594d7257244e25567df89202c3511e0ded19350c8f6e11d3f2b0ed SHA512 6af02eb8512dbc163cd479ff7a286b6708fe06ba31312e426fba676cae914d3da741911f24ce1c79c6c86f4c2627d90a84190b009b8ab9e162b5333a9b60877b
-DIST rqlite-7.11.0-vendor.tar.gz 6681495 BLAKE2B 18fcf4bcee24d7c15ea58d2f7bc18b255fe1cadfe1a2290305df1870178a6e2d24ae01d2aa48c6afd6c45aacd424e5506ea5729d4dcd1f24551d4468bd374237 SHA512 8b00ccfb09a942f3ccff378d9fc6c668d19e8f8ab2eed7c4c5b3ae3a097e6400dade44df4577cef97a2e7910b91709449d67a41e4c0f21348145de0beda1fdf9
-DIST rqlite-7.13.0-vendor.tar.gz 6699258 BLAKE2B a7ed1f000ae7d22ce5def86a0635dab7d30509a709d1488f15b96900f6c7eed2a8b3f2d8f4da81b1414d6e8bffeb58c51774175d6a66856744ca2004888b4188 SHA512 b199da9eae0203ada14a247e194bdc5ecfbe4147003aa38f16c5553488ce3e2c2b534920244319a4df8176042da2b995d37542f1749676906bdfbffa93807bdb
-DIST rqlite-7.13.1-vendor.tar.gz 6715869 BLAKE2B bb200f785ffcb057a220c8323e0e18b89712f863b06aa10d7d8c62c7b679aa52e3efaa2ca9790968088cca2a90c05b52913305b3aac22b87664c8597b7e5d2b8 SHA512 9955cee0554b374b32185cfa4de6bb600904e8f2c787e703cac9c0c0d88f79dbe23bdbc3f7eefb6772587758706073eb420cabbb4752b56c9d3d70e276b2b889
DIST rqlite-7.17.0-vendor.tar.gz 7267193 BLAKE2B c9957c3d00960842b56e18829f87b03a8f44176652a4e6b578fafa7c58816014acee2fe96876c8112279085ed7331fb5c32e783b59e73f9db694c091757ee437 SHA512 9631f36179491abf7e81edea0ff73ea6322afd32836631d3d46dff996072eef92c3d3de929cec94b622d46cd8e0340089026cdfb3c228b04640cc917f15eee86
-DIST rqlite-7.7.2-deps.tar.xz 83998504 BLAKE2B df32a7b9a664f79241033d92dd4d0c71c9f5d24b08847d09320cd672bdc74e03c49af74a7f314f368a5e197becc1dec91b362b0f6148fccd7ba206068eb0c3e6 SHA512 04fb93912b5ac549657d9690e18554006ae55bfe66d08b1e5558bb29e636ceac5ee5f6af386f56ff10880e56d9b6599450ad2719e4422705aa359d85ca18ac0e
-DIST rqlite-7.9.2.tar.gz 478780 BLAKE2B 4b072e9dab1fcfdb64a38e1a59bef2a1d81cf7543d6964ad75d3d3bd50cd52686d8b6f60a5e2a192b3998b3990efbe6f758a4226b03b8520fbd0569ab5aeca07 SHA512 86b3b89396d60d73e58ced463ae4cf5caf2cc8ba39bab87153b0a5a14e97745b07545bade7fa28dfde095255b547327ff83cefdaa78a399e1976e28d54ec430a
+DIST rqlite-8.16.8-vendor.tar.gz 7715303 BLAKE2B 50660bdfb8ce9fa8238ae028916d822e9f5d8e027ee4865f543f97f8a49b92a13e549deb07a5b79e7a52c2c9e994cf6891562a15873b09398c74773f82ffc3d2 SHA512 987c9dbe91766f4847233949cd4251aa3d0a56d23b850bbb552d8f9bb255de3908c4fa440c45e730e861e6f4f60e559a41353659ab9d953b978c45ff986ee9b5
diff --git a/dev-db/rqlite/rqlite-7.10.1.ebuild b/dev-db/rqlite/rqlite-7.10.1.ebuild
deleted file mode 100644
index 2fd0090c6513..000000000000
--- a/dev-db/rqlite/rqlite-7.10.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=22af9fdcb9a1093136f1eae7e18d4067dea29c64
-
-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.13.0.ebuild b/dev-db/rqlite/rqlite-7.13.0.ebuild
deleted file mode 100644
index e8ba1b76a19a..000000000000
--- a/dev-db/rqlite/rqlite-7.13.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=f4a1583d3a63e55ddc7d310c64d8a6cd0a0f2b1d
-
-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/zmedico/rqlite/archive/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz"
-
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S=${WORKDIR}/${P}-vendor
-
-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.13.1.ebuild b/dev-db/rqlite/rqlite-7.13.1.ebuild
deleted file mode 100644
index 44169ca17d37..000000000000
--- a/dev-db/rqlite/rqlite-7.13.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=62e43d8de1784178b876ec33867b80aac0554282
-
-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/zmedico/rqlite/archive/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz"
-
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S=${WORKDIR}/${P}-vendor
-
-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.9.2.ebuild b/dev-db/rqlite/rqlite-7.9.2.ebuild
deleted file mode 100644
index 01355d29e8c0..000000000000
--- a/dev-db/rqlite/rqlite-7.9.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-EGIT_COMMIT=187098927ba9083a19fff36ed01eab0f8b1b045c
-
-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.7.2-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.11.0.ebuild b/dev-db/rqlite/rqlite-8.16.8.ebuild
index 03f36c408fc5..fb6d652092cd 100644
--- a/dev-db/rqlite/rqlite-7.11.0.ebuild
+++ b/dev-db/rqlite/rqlite-8.16.8.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit go-module
-EGIT_COMMIT=f0a198e577deb55497974174e405031b5e864c36
+EGIT_COMMIT=10a5c9bd0e89e05c61e6de1a012470c432ee3591
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/zmedico/rqlite/archive/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz"
-LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+LICENSE="MIT"
+LICENSE+=" Apache-2.0 BSD CC0-1.0 MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
S=${WORKDIR}/${P}-vendor
diff --git a/dev-db/spatialite/spatialite-5.0.1-r2.ebuild b/dev-db/spatialite/spatialite-5.0.1-r2.ebuild
index 9e9e02eba1df..3b51ff672d08 100644
--- a/dev-db/spatialite/spatialite-5.0.1-r2.ebuild
+++ b/dev-db/spatialite/spatialite-5.0.1-r2.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv x86"
IUSE="+geos iconv +proj rttopo test +xls +xml"
# Further poking required
RESTRICT="test"
diff --git a/dev-db/spatialite/spatialite-5.1.0.ebuild b/dev-db/spatialite/spatialite-5.1.0-r1.ebuild
index bf5f79f8f622..a509af0c9b1a 100644
--- a/dev-db/spatialite/spatialite-5.1.0.ebuild
+++ b/dev-db/spatialite/spatialite-5.1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,17 +14,17 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MPL-1.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="+geos iconv +proj rttopo test +xls +xml"
+IUSE="+geos iconv +proj rttopo test +xls"
# Further poking required
RESTRICT="test"
RDEPEND="
>=dev-db/sqlite-3.7.5:3[extensions(+)]
+ dev-libs/libxml2
sys-libs/zlib[minizip]
geos? ( >=sci-libs/geos-3.11.0 )
proj? ( sci-libs/proj:= )
- xls? ( >=dev-libs/freexl-2.0.0 )
- xml? ( dev-libs/libxml2 )
+ xls? ( >=dev-libs/freexl-2.0.0[xml(+)] )
rttopo? ( sci-geosciences/librttopo )
"
DEPEND="${RDEPEND}"
@@ -38,6 +38,7 @@ src_configure() {
--disable-examples \
--disable-static \
--enable-epsg \
+ --enable-libxml2 \
$(use_enable rttopo) \
$(use_enable geos) \
$(use_enable geos geosadvanced) \
@@ -45,8 +46,7 @@ src_configure() {
$(use_enable geos geos3110) \
$(use_enable iconv) \
$(use_enable proj) \
- $(use_enable xls freexl) \
- $(use_enable xml libxml2)
+ $(use_enable xls freexl)
}
src_install() {
diff --git a/dev-db/sqlcl-bin/Manifest b/dev-db/sqlcl-bin/Manifest
index 6deeaed4eaaa..26332a8fd54c 100644
--- a/dev-db/sqlcl-bin/Manifest
+++ b/dev-db/sqlcl-bin/Manifest
@@ -1 +1 @@
-DIST sqlcl-23.1.0.089.0929.zip 39744160 BLAKE2B 0a65d591d20661a0af797ca193f7befd7b789fbe9b64eae67918940938f293698c30aa21b068228c762ecd53acbff20a2ce85bf4099eb46d0546ec9ab92a3850 SHA512 9c75badbf2d397d4f5159c28cf5b4bf0f98902ac1da93490920093f71e65f5286f1907a7d3507fa6f7a9f2172f10801958530e9d47104e1b6bbaeab71fbdc0c1
+DIST sqlcl-23.3.0.270.1251.zip 41859690 BLAKE2B 25ca11e1dc3d66fcd3d70a760090e21491065168298b7bb463c8bf80107e36365cf517bc10d061e45e19918ccf5284837237e5b2fa291f3dc6882a42c8b70c46 SHA512 293cf8c8c5419bafdddfa0cafd258b0506990a7fec55291e5ceb5e290de55d8e73f3b56fdd8cbb6ed9a6393a67cae8eb889ce7e7361f2bfb65bb00be4b283939
diff --git a/dev-db/sqlcl-bin/sqlcl-bin-23.1.0.089.0929.ebuild b/dev-db/sqlcl-bin/sqlcl-bin-23.3.0.270.1251.ebuild
index 0bb8a5e75c23..cfea6a71f095 100644
--- a/dev-db/sqlcl-bin/sqlcl-bin-23.1.0.089.0929.ebuild
+++ b/dev-db/sqlcl-bin/sqlcl-bin-23.3.0.270.1251.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-db/sqldeveloper/Manifest b/dev-db/sqldeveloper/Manifest
index e98f8217ef42..d91cec185a72 100644
--- a/dev-db/sqldeveloper/Manifest
+++ b/dev-db/sqldeveloper/Manifest
@@ -1 +1 @@
-DIST sqldeveloper-23.1.0.097.1607-no-jre.zip 510182719 BLAKE2B 947f5b91bce5a735bf7987bfb894b7aa52191e9db9c24c8c50f843094c337fa477c300c6998a090eb4919fa829bc711960ad2f39f87ddb87ed1bad7bcda2218d SHA512 800e5ebf77af6cb8f6b1a48a80b09bc3d64c4ddbd57d8bc96a1e6e031e91f10ea76bc3447bc24ef60a6775c92955ba2ef30332203d9e0995c88a8625ac5ca0cd
+DIST sqldeveloper-23.1.1.345.2114-no-jre.zip 509665648 BLAKE2B 28ae11d4a3f0f760620247d353db8b8100443f639b39354ed687ed05e124739aacf5bd2a8fa816ed7e14d55d02a7391af44855fd7cc07e942c5d904131fa9bb3 SHA512 e1a69e569fa8052cdc5144b23c9b6cbf9b1aa13280286233c0e531671ae702a8bf33f3ff6a6f28a166c44c88037b758e854f8dbc525e7714cca8031573b6db52
diff --git a/dev-db/sqldeveloper/sqldeveloper-23.1.0.097.1607.ebuild b/dev-db/sqldeveloper/sqldeveloper-23.1.1.345.2114.ebuild
index 21083df685b8..835081018271 100644
--- a/dev-db/sqldeveloper/sqldeveloper-23.1.0.097.1607.ebuild
+++ b/dev-db/sqldeveloper/sqldeveloper-23.1.1.345.2114.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,6 +28,8 @@ RDEPEND="
"
BDEPEND="app-arch/unzip"
+S="${WORKDIR}/${PN}"
+
QA_PREBUILT="
opt/${PN}/netbeans/platform/modules/lib/amd64/linux/libjnidispatch-422.so
"
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 73560b7b7848..155c537a1dcc 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,12 +1,4 @@
-DIST sqlite-doc-3420000.zip 10665938 BLAKE2B 62aef59e6976101ecca60d1ee194e9e558009dd8bdb7cd911f9938f1256e50bc946f8ca554666b6c101f7024baac7857b83adf6e897164afb9b5c4d4917593d1 SHA512 d675ee2897323d468816bc713594c4e94cb5c15270b4f991758e2c82e2891ad724c5790f29b76bc9e5d6b3be04e95aee371c57ceb2d855c1057b4af62a5af162
-DIST sqlite-doc-3430000.zip 10663888 BLAKE2B 2bffca5a33c46183bf9d82042b89ad0968aa6061c7ccd5f6cd7a886ae48faa9a5356883b02048b66661f253401513d90f689f8a9f6debc0897cd25997c19ab4e SHA512 393c759e86a2fd6a7bbdc820c78289b84f984acd83879d7385c8627c73060562d376d66a9464887fdbccdea395025db677aa4c6f37aa32e99048fcde3561ae06
-DIST sqlite-doc-3430100.zip 10668827 BLAKE2B 66ae2abbe4e6f7e7922f55f90f0bdac150948b7d76c633299a4ce34dfaa050d7b0f7404938c3b39c2b117223a5bc57ca981e466d8fc1efef5d0a1892350e64c3 SHA512 62c107d716c3c656b12a08750f81db25ccb68c267795247307be88a44b3fe7ceb0f1563278a2f504b91cd985a83196a50e58de5f3240601c49a25b2b3e147d8c
-DIST sqlite-doc-3430200.zip 10681883 BLAKE2B 4bdf30c44fc7df2c54a26092ffd06779d42e41d260b0ea0303db7b0ba1f1e087a452fa8fde9ce4969910e773a7620606bccad515100e2b2c642e34df4cda9282 SHA512 efef55ee96745afccbb48fa5b611b4de86871ccf36ee1da8d164a9c063aca3049392de856c5f81fc6117b8e5ef8dba63bda9bd1bd4663a0746f81f1f348aa11c
-DIST sqlite-doc-3440000.zip 10689348 BLAKE2B 37f37ad801dbc690a8165936d627276e2ecbef7b5b37c2f1a4cd1d32340cebfefe3b58d944df6ccf28e3dadeb8539153cb39f6c485e097d125a3f923293fa157 SHA512 6873fcc265a1d89e63237d7703e750f5e4191591e17392a1060091408a9bce75e824b0bbc3d8cf2a82d6d58454f73cf3fd7c65c7276268bdfba527a168c580ff
DIST sqlite-doc-3440200.zip 10704552 BLAKE2B 3d50ac157bd2793c9167328994334a417835e5381e432fd8028e064869b8eab2ab1d213815d2232850d695bc71626e9d89518b201888a43673274cba2a1b345d SHA512 a7c92af0d3a61a2450511cfb507785c7ab64c21c6dbcf5a8bdef509d25a6b3ca35ce93a25ca827497c27abca77d11b794fbbc783e4d8e131981bf1d4b29f83e8
-DIST sqlite-src-3420000.zip 13910252 BLAKE2B defe14bf0b5588775b2a2b17b3adbbaf39f1e95eac049cbd4868e2e59fbf50fb92b11c74ecf12fe0138521e7d4d3cc2a4bf45e7c83fd774abd7aa9ed7ee0f925 SHA512 509b7aa292870c927ef137469028e5e07ca74907414c5b295360cb10b377a42de7469d3afe79f8d9947d486ef74d676679c7f2d3b1caaeb8c949f27201180def
-DIST sqlite-src-3430000.zip 13927457 BLAKE2B dfa7311af66b76ca18001f98712f6187030d24e4ca679dbe1d30ef12d77f439056724087ae19640a77b075b35e3faeecc342ab8fcd5625ccd832f3e0fbe2b004 SHA512 56a16980bf10ba0d312ada183cabaa4123faf4ed531749d70349ca55ca11cc8a6733f473b2247f6cc0e500523f1b598ffee31efb81e07879c523957f0e3efa90
-DIST sqlite-src-3430100.zip 13928044 BLAKE2B dcd1927bc092b5b8a2eb244132a8c4d62a17ab2fe67c2c53c3c48159c9fa6055fd35627ac6339b95627da5fa5d374db43e0dfa4d2f733e5fa7ad0844e8208018 SHA512 90f320653069b5ba9caadc8fbc914c7e63e520b884dbf9267badb07f5c573141d7db903dbfbcc0a97f6a116d8c4edec0cfac70c3c6b8ffb2efbb808f559173e3
-DIST sqlite-src-3430200.zip 13929567 BLAKE2B 9366861b500bb6400b0d4eadf6890449b624dd42b039ee3861e18c088e1d96873978882ab747b52ac1dace40399ad7f5e583f7af608fb2120d22c311df947f65 SHA512 ab704038ae8d315144935cb99a727f85a7457ab5f0b8c639f49bb14a973dabe4784f9b23bd1ae7a351a81ce4a443142a05867c29eddb724beeff0b5c8dc0409f
-DIST sqlite-src-3440000.zip 14059695 BLAKE2B da24095877348680e199eca1bfd2099d8fdeb127e222f73aa4e6090c7921b88de81a7859cdb77040f52102e4046c851a3b8e5b5d70bea3b146c962224aa33929 SHA512 3376d42b5f78afa028e4112ec545b5dd63b38188368046b92f0ebc536fd3ba909b0fdf6cd36f4d2de1d08a5eb3aa29a723f368adfa7208a5c737a04e878ca0d4
+DIST sqlite-doc-3450100.zip 10746925 BLAKE2B 6e45a33b41b8fd1e0b5ef3a44febf5ed53a19883441f0eaef6d811190a26cd072a49d254a35d5b90f92255082f91d3f7956a6e574b638b34f156f7297588b57e SHA512 dc036737973a29ea2b6cb4fe7ab4468f449e21eed34a773600570ed2e57ed4d195286c75afec91ab76ac55e25a0cc82e73c3b3119a9c8e7b5918bae8a1a3c8c0
DIST sqlite-src-3440200.zip 14070781 BLAKE2B 9d29964ee15da6a104f4857cb5f2621df5b51d043012789793526f34c56097d7b1b1dcaa7672637f2d16bcab4ff775ba2c8415213b79f80636c0ff2aeff883ba SHA512 5c1fed9c399dad75735a1b4451f8f6be474b07652d74500649e60474691923f56156ef6d5bce51b58367c1676371f1184e32584fe9ac4d5dd0c4776fa6f1d9a3
+DIST sqlite-src-3450100.zip 14152147 BLAKE2B 815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153 SHA512 475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
new file mode 100644
index 000000000000..369732f81b38
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
@@ -0,0 +1,125 @@
+https://bugs.gentoo.org/921490
+https://www.sqlite.org/forum/forumpost/d16aeb397d
+
+https://github.com/kovidgoyal/calibre/commit/0a23fabd5b4bff152047ba0cffbc2b67592645d1
+https://github.com/kovidgoyal/calibre/commit/3349979551db05ec0c8754d7ea5a4e57a97f8a0a
+https://github.com/kovidgoyal/calibre/commit/da82b673f09efbe9cdcc1e0900f0a9f04d8de052
+--- a/ext/fts5/fts5_aux.c
++++ b/ext/fts5/fts5_aux.c
+@@ -209,10 +209,18 @@
+ rc = fts5CInstIterNext(&p->iter);
+ }
+ }
+
+ if( iPos==p->iRangeEnd ){
++ if( p->bOpen ){
++ if( p->iter.iStart>=0 && iPos>=p->iter.iStart ){
++ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
++ p->iOff = iEndOff;
++ }
++ fts5HighlightAppend(&rc, p, p->zClose, -1);
++ p->bOpen = 0;
++ }
+ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
+ p->iOff = iEndOff;
+ }
+
+ return rc;
+
+ADDED ext/fts5/test/fts5tokenizer2.test
+Index: ext/fts5/test/fts5tokenizer2.test
+==================================================================
+--- /dev/null
++++ b/ext/fts5/test/fts5tokenizer2.test
+@@ -0,0 +1,89 @@
++# 2023 Nov 03
++#
++# The author disclaims copyright to this source code. In place of
++# a legal notice, here is a blessing:
++#
++# May you do good and not evil.
++# May you find forgiveness for yourself and forgive others.
++# May you share freely, never taking more than you give.
++#
++#***********************************************************************
++#
++# Tests focusing on the built-in fts5 tokenizers.
++#
++
++source [file join [file dirname [info script]] fts5_common.tcl]
++set testprefix fts5tokenizer2
++
++# If SQLITE_ENABLE_FTS5 is defined, omit this file.
++ifcapable !fts5 {
++ finish_test
++ return
++}
++
++sqlite3_fts5_create_tokenizer db tst get_tst_tokenizer
++proc get_tst_tokenizer {args} {
++ return "tst_tokenizer"
++}
++proc tst_tokenizer {flags txt} {
++ set token ""
++ set lTok [list]
++
++ foreach c [split $txt {}] {
++ if {$token==""} {
++ append token $c
++ } else {
++ set t1 [string is upper $token]
++ set t2 [string is upper $c]
++
++ if {$t1!=$t2} {
++ lappend lTok $token
++ set token ""
++ }
++ append token $c
++ }
++ }
++ if {$token!=""} { lappend lTok $token }
++
++ set iOff 0
++ foreach t $lTok {
++ set n [string length $t]
++ sqlite3_fts5_token $t $iOff [expr $iOff+$n]
++ incr iOff $n
++ }
++}
++
++do_execsql_test 1.0 {
++ CREATE VIRTUAL TABLE t1 USING fts5(t, tokenize=tst);
++}
++
++do_execsql_test 1.1 {
++ INSERT INTO t1 VALUES('AAdontBBmess');
++}
++
++do_execsql_test 1.2 {
++ SELECT snippet(t1, 0, '>', '<', '...', 4) FROM t1('BB');
++} {AAdont>BB<mess}
++
++do_execsql_test 1.3 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('BB');
++} {AAdont>BB<mess}
++
++do_execsql_test 1.4 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('AA');
++} {>AA<dontBBmess}
++
++do_execsql_test 1.5 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('dont');
++} {AA>dont<BBmess}
++
++do_execsql_test 1.6 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('mess');
++} {AAdontBB>mess<}
++
++do_execsql_test 1.7 {
++ SELECT highlight(t1, 0, '>', '<') FROM t1('BB mess');
++} {AAdont>BBmess<}
++
++
++finish_test
+
+
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
new file mode 100644
index 000000000000..b03848a19147
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
@@ -0,0 +1,187 @@
+https://sqlite.org/forum/forumpost/cb59d962fd
+https://sqlite.org/src/vinfo/d8c6b246
+https://sqlite.org/src/info/67da596d82ec0ed3 (backport)
+
+--- a/ext/fts5/fts5_index.c
++++ b/ext/fts5/fts5_index.c
+@@ -355,10 +355,11 @@
+ int nContentlessDelete; /* Number of contentless delete ops */
+ int nPendingRow; /* Number of INSERT in hash table */
+
+ /* Error state. */
+ int rc; /* Current error code */
++ int flushRc;
+
+ /* State used by the fts5DataXXX() functions. */
+ sqlite3_blob *pReader; /* RO incr-blob open on %_data table */
+ sqlite3_stmt *pWriter; /* "INSERT ... %_data VALUES(?,?)" */
+ sqlite3_stmt *pDeleter; /* "DELETE FROM %_data ... id>=? AND id<=?" */
+@@ -4000,10 +4001,11 @@
+ assert( p->pHash || p->nPendingData==0 );
+ if( p->pHash ){
+ sqlite3Fts5HashClear(p->pHash);
+ p->nPendingData = 0;
+ p->nPendingRow = 0;
++ p->flushRc = SQLITE_OK;
+ }
+ p->nContentlessDelete = 0;
+ }
+
+ /*
+@@ -5582,18 +5584,24 @@
+ /*
+ ** Flush any data stored in the in-memory hash tables to the database.
+ */
+ static void fts5IndexFlush(Fts5Index *p){
+ /* Unless it is empty, flush the hash table to disk */
++ if( p->flushRc ){
++ p->rc = p->flushRc;
++ return;
++ }
+ if( p->nPendingData || p->nContentlessDelete ){
+ assert( p->pHash );
+ fts5FlushOneHash(p);
+ if( p->rc==SQLITE_OK ){
+ sqlite3Fts5HashClear(p->pHash);
+ p->nPendingData = 0;
+ p->nPendingRow = 0;
+ p->nContentlessDelete = 0;
++ }else if( p->nPendingData || p->nContentlessDelete ){
++ p->flushRc = p->rc;
+ }
+ }
+ }
+
+ static Fts5Structure *fts5IndexOptimizeStruct(
+
+--- a/ext/fts5/fts5_main.c
++++ b/ext/fts5/fts5_main.c
+@@ -116,11 +116,11 @@
+ Fts5Table p; /* Public class members from fts5Int.h */
+ Fts5Storage *pStorage; /* Document store */
+ Fts5Global *pGlobal; /* Global (connection wide) data */
+ Fts5Cursor *pSortCsr; /* Sort data from this cursor */
+ int iSavepoint; /* Successful xSavepoint()+1 */
+- int bInSavepoint;
++
+ #ifdef SQLITE_DEBUG
+ struct Fts5TransactionState ts;
+ #endif
+ };
+
+@@ -2613,13 +2613,11 @@
+ sqlite3_vtab *pVtab, /* Virtual table handle */
+ const char *zName /* New name of table */
+ ){
+ int rc;
+ Fts5FullTable *pTab = (Fts5FullTable*)pVtab;
+- pTab->bInSavepoint = 1;
+ rc = sqlite3Fts5StorageRename(pTab->pStorage, zName);
+- pTab->bInSavepoint = 0;
+ return rc;
+ }
+
+ int sqlite3Fts5FlushToDisk(Fts5Table *pTab){
+ fts5TripCursors((Fts5FullTable*)pTab);
+@@ -2632,30 +2630,16 @@
+ ** Flush the contents of the pending-terms table to disk.
+ */
+ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){
+ Fts5FullTable *pTab = (Fts5FullTable*)pVtab;
+ int rc = SQLITE_OK;
+- char *zSql = 0;
++
+ fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint);
+-
+- if( pTab->bInSavepoint==0 ){
+- zSql = sqlite3_mprintf("INSERT INTO %Q.%Q(%Q) VALUES('flush')",
+- pTab->p.pConfig->zDb, pTab->p.pConfig->zName, pTab->p.pConfig->zName
+- );
+- if( zSql ){
+- pTab->bInSavepoint = 1;
+- rc = sqlite3_exec(pTab->p.pConfig->db, zSql, 0, 0, 0);
+- pTab->bInSavepoint = 0;
+- sqlite3_free(zSql);
+- }else{
+- rc = SQLITE_NOMEM;
+- }
+- if( rc==SQLITE_OK ){
+- pTab->iSavepoint = iSavepoint+1;
+- }
+- }
+-
++ rc = sqlite3Fts5FlushToDisk((Fts5Table*)pVtab);
++ if( rc==SQLITE_OK ){
++ pTab->iSavepoint = iSavepoint+1;
++ }
+ return rc;
+ }
+
+ /*
+ ** The xRelease() method.
+@@ -2912,11 +2896,11 @@
+ /*
+ ** Run an integrity check on the FTS5 data structures. Return a string
+ ** if anything is found amiss. Return a NULL pointer if everything is
+ ** OK.
+ */
+-static int fts5Integrity(
++static int fts5IntegrityMethod(
+ sqlite3_vtab *pVtab, /* the FTS5 virtual table to check */
+ const char *zSchema, /* Name of schema in which this table lives */
+ const char *zTabname, /* Name of the table itself */
+ int isQuick, /* True if this is a quick-check */
+ char **pzErr /* Write error message here */
+@@ -2970,11 +2954,11 @@
+ /* xRename */ fts5RenameMethod,
+ /* xSavepoint */ fts5SavepointMethod,
+ /* xRelease */ fts5ReleaseMethod,
+ /* xRollbackTo */ fts5RollbackToMethod,
+ /* xShadowName */ fts5ShadowName,
+- /* xIntegrity */ fts5Integrity
++ /* xIntegrity */ fts5IntegrityMethod
+ };
+
+ int rc;
+ Fts5Global *pGlobal = 0;
+
+
+--- a/ext/fts5/test/fts5misc.test
++++ b/ext/fts5/test/fts5misc.test
+@@ -89,11 +89,10 @@
+ CREATE VIRTUAL TABLE vt0 USING fts5(c0);
+ BEGIN TRANSACTION;
+ INSERT INTO vt0(c0) VALUES ('xyz');
+ }
+
+-breakpoint
+ do_execsql_test 2.2.2 {
+ ALTER TABLE t0 RENAME TO t1;
+ }
+ do_execsql_test 2.2.3 {
+ INSERT INTO vt0(vt0) VALUES('integrity-check');
+@@ -498,8 +497,23 @@
+ } {assertionfaultproblem}
+ do_execsql_test 17.5 {
+ SELECT c0 FROM t0 WHERE c0 GLOB '*faul*';
+ } {assertionfaultproblem}
+
++#-------------------------------------------------------------------------
++reset_db
++do_execsql_test 18.0 {
++ BEGIN;
++ CREATE VIRTUAL TABLE t1 USING fts5(text);
++ ALTER TABLE t1 RENAME TO t2;
++}
++
++do_execsql_test 18.1 {
++ DROP TABLE t2;
++}
++
++do_execsql_test 18.2 {
++ COMMIT;
++}
+
+ finish_test
+
+
diff --git a/dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch b/dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch
new file mode 100644
index 000000000000..f67917225d3f
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.45.1-ppc64-ptr.patch
@@ -0,0 +1,24 @@
+https://sqlite.org/forum/forumpost/c3f1b5213a
+--- a/config.guess 2024-01-31
++++ b/config.guess 2024-01-31
+@@ -1425,7 +1425,7 @@
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
++ if (echo '#ifdef __ppc__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+
+--- a/src/tclsqlite.c 2024-01-31
++++ b/src/tclsqlite.c 2024-01-31
+@@ -65,7 +65,7 @@
+ # define SQLITE_PTRSIZE __SIZEOF_POINTER__
+ # elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
+ defined(_M_ARM) || defined(__arm__) || defined(__x86) || \
+- (defined(__APPLE__) && defined(__POWERPC__)) || \
++ (defined(__APPLE__) && defined(__ppc__)) || \
+ (defined(__TOS_AIX__) && !defined(__64BIT__))
+ # define SQLITE_PTRSIZE 4
+ # else
diff --git a/dev-db/sqlite/sqlite-3.43.0.ebuild b/dev-db/sqlite/sqlite-3.43.0.ebuild
deleted file mode 100644
index fb473fb1a985..000000000000
--- a/dev-db/sqlite/sqlite-3.43.0.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-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
- S="${WORKDIR}"/${PN}
- PROPERTIES="live"
-else
- printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
- DOC_PV="${SRC_PV}"
- #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
-
- SRC_URI="
- https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
- "
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="public-domain"
-SLOT="3"
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:= )
-"
-DEPEND="
- ${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
-"
-BDEPEND=">=dev-lang/tcl-8.6:0"
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" dev-vcs/fossil"
-else
- BDEPEND+=" app-arch/unzip"
-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() {
- default
-
- 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
-
- options+=( $(use_enable debug) )
-
- 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
-
- options+=(
- --disable-editline
- $(use_enable readline)
- )
-
- if use readline; then
- options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
- fi
-
- 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
-
- 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="$(usev 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 /.
- # bug #839798
- local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
-
- emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' '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.43.2.ebuild b/dev-db/sqlite/sqlite-3.43.2.ebuild
deleted file mode 100644
index dd119095f2df..000000000000
--- a/dev-db/sqlite/sqlite-3.43.2.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-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
- S="${WORKDIR}"/${PN}
- PROPERTIES="live"
-else
- printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
- DOC_PV="${SRC_PV}"
- #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
-
- SRC_URI="
- https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
- "
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
-
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="public-domain"
-SLOT="3"
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:= )
-"
-DEPEND="
- ${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
-"
-BDEPEND=">=dev-lang/tcl-8.6:0"
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" dev-vcs/fossil"
-else
- BDEPEND+=" app-arch/unzip"
-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() {
- default
-
- 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
-
- options+=( $(use_enable debug) )
-
- 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
-
- options+=(
- --disable-editline
- $(use_enable readline)
- )
-
- if use readline; then
- options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
- fi
-
- 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
-
- 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="$(usev 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 /.
- # bug #839798
- local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
-
- emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' '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.42.0.ebuild b/dev-db/sqlite/sqlite-3.44.2-r1.ebuild
index 796d1f4ad82e..51e851f2fb3f 100644
--- a/dev-db/sqlite/sqlite-3.42.0.ebuild
+++ b/dev-db/sqlite/sqlite-3.44.2-r1.ebuild
@@ -50,6 +50,10 @@ else
BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.44.2-tracker-regression.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -360,9 +364,10 @@ multilib_src_test() {
# e_uri.test tries to open files in /.
# bug #839798
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
- emake HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
+ emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
multilib_src_install() {
diff --git a/dev-db/sqlite/sqlite-3.43.1.ebuild b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
index fb473fb1a985..e4e0d4eb269f 100644
--- a/dev-db/sqlite/sqlite-3.43.1.ebuild
+++ b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ else
"
S="${WORKDIR}/${PN}-src-${SRC_PV}"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="public-domain"
@@ -50,6 +50,11 @@ else
BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.44.2-tracker-regression.patch
+ "${FILESDIR}"/${PN}-3.44.2-fts-regression.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -360,7 +365,8 @@ multilib_src_test() {
# e_uri.test tries to open files in /.
# bug #839798
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
diff --git a/dev-db/sqlite/sqlite-3.44.2.ebuild b/dev-db/sqlite/sqlite-3.44.2.ebuild
deleted file mode 100644
index fb473fb1a985..000000000000
--- a/dev-db/sqlite/sqlite-3.44.2.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-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
- S="${WORKDIR}"/${PN}
- PROPERTIES="live"
-else
- printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
- DOC_PV="${SRC_PV}"
- #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
-
- SRC_URI="
- https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
- "
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="public-domain"
-SLOT="3"
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
- readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
- tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
- tools? ( dev-lang/tcl:= )
-"
-DEPEND="
- ${RDEPEND}
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
-"
-BDEPEND=">=dev-lang/tcl-8.6:0"
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" dev-vcs/fossil"
-else
- BDEPEND+=" app-arch/unzip"
-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() {
- default
-
- 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
-
- options+=( $(use_enable debug) )
-
- 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
-
- options+=(
- --disable-editline
- $(use_enable readline)
- )
-
- if use readline; then
- options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
- fi
-
- 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
-
- 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="$(usev 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 /.
- # bug #839798
- local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
-
- emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' '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.44.0.ebuild b/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
index fb473fb1a985..ad62f71390b1 100644
--- a/dev-db/sqlite/sqlite-3.44.0.ebuild
+++ b/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,8 +19,8 @@ else
#printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
SRC_URI="
- https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
"
S="${WORKDIR}/${PN}-src-${SRC_PV}"
@@ -50,6 +50,10 @@ else
BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -318,8 +322,13 @@ multilib_src_configure() {
# Skip known-broken test for now
# https://sqlite.org/forum/forumpost/d97caf168f
# https://sqlite.org/forum/forumpost/50f136d91d
+ # Quoting Fedora's spec:
+ # "The atof test is failing on the i686 architecture, when binary configured with
+ # --enable-rtree option. Failing part is text->real conversion and
+ # text->real->text conversion in lower significant values after decimal point in a number.
+ # func4 tests fail for i686 on float<->int conversions."
if use test ; then
- rm test/atof1.test || die
+ rm test/atof1.test test/func4.test || die
fi
fi
@@ -360,7 +369,8 @@ multilib_src_test() {
# e_uri.test tries to open files in /.
# bug #839798
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
diff --git a/dev-db/sqlite/sqlite-9999.ebuild b/dev-db/sqlite/sqlite-9999.ebuild
index fb473fb1a985..40b16d903620 100644
--- a/dev-db/sqlite/sqlite-9999.ebuild
+++ b/dev-db/sqlite/sqlite-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,8 +19,8 @@ else
#printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
SRC_URI="
- https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2023/${PN}-doc-${DOC_PV}.zip )
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
"
S="${WORKDIR}/${PN}-src-${SRC_PV}"
@@ -318,8 +318,13 @@ multilib_src_configure() {
# Skip known-broken test for now
# https://sqlite.org/forum/forumpost/d97caf168f
# https://sqlite.org/forum/forumpost/50f136d91d
+ # Quoting Fedora's spec:
+ # "The atof test is failing on the i686 architecture, when binary configured with
+ # --enable-rtree option. Failing part is text->real conversion and
+ # text->real->text conversion in lower significant values after decimal point in a number.
+ # func4 tests fail for i686 on float<->int conversions."
if use test ; then
- rm test/atof1.test || die
+ rm test/atof1.test test/func4.test || die
fi
fi
@@ -360,7 +365,8 @@ multilib_src_test() {
# e_uri.test tries to open files in /.
# bug #839798
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict "/test.db:/ÿ.db"
+ addpredict "/test.db"
+ addpredict "/ÿ.db"
emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
}
diff --git a/dev-db/sqlitebrowser/metadata.xml b/dev-db/sqlitebrowser/metadata.xml
index ed00998feb6b..1347829179ac 100644
--- a/dev-db/sqlitebrowser/metadata.xml
+++ b/dev-db/sqlitebrowser/metadata.xml
@@ -26,6 +26,12 @@
d'un tableur, et, de ce fait, ne pas être contraint à apprendre des
commandes SQL complexes.
</longdescription>
+ <use>
+ <flag name="sqlcipher">Allow to open and to edit databases encrypted using <pkg>dev-db/sqlcipher</pkg></flag>
+ </use>
+ <use lang="fr">
+ <flag name="sqlcipher">Permettre d'ouvrir et d'éditer des bases de données chiffrées en utilisant <pkg>dev-db/sqlcipher</pkg></flag>
+ </use>
<upstream>
<bugs-to>https://github.com/sqlitebrowser/sqlitebrowser/issues/</bugs-to>
<remote-id type="github">sqlitebrowser/sqlitebrowser</remote-id>
diff --git a/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r1.ebuild b/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r1.ebuild
new file mode 100644
index 000000000000..cea98af250c9
--- /dev/null
+++ b/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic xdg
+
+DESCRIPTION="A light GUI editor for SQLite databases"
+HOMEPAGE="https://sqlitebrowser.org/"
+
+if [[ "${PV}" = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+ MPL-2.0"
+SLOT="0"
+IUSE="sqlcipher test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-editors/qhexedit2
+ dev-db/sqlite:3
+ dev-libs/qcustomplot
+ >=dev-qt/qtconcurrent-5.5:5
+ >=dev-qt/qtcore-5.5:5
+ >=dev-qt/qtgui-5.5:5
+ >=dev-qt/qtnetwork-5.5:5[ssl]
+ >=dev-qt/qtprintsupport-5.5:5
+ >=dev-qt/qtwidgets-5.5:5
+ >=dev-qt/qtxml-5.5:5
+ >=x11-libs/qscintilla-2.8.10:=
+ sqlcipher? ( dev-db/sqlcipher )
+"
+
+BDEPEND="
+ >=dev-qt/linguist-tools-5.5:5
+ test? ( >=dev-qt/qttest-5.5:5 )
+"
+
+RDEPEND="
+ ${DEPEND}
+ >=dev-qt/qtsvg-5.5:5
+"
+
+src_prepare() {
+ cmake_src_prepare
+
+ if ! use test; then
+ sed -i CMakeLists.txt \
+ -e "/find_package/ s/ Test//" \
+ -e "/set/ s/ Qt5::Test//" \
+ || die "Cannot remove Qt Test from CMake dependencies"
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_TESTING=$(usex test)
+ -DFORCE_INTERNAL_QCUSTOMPLOT=OFF
+ -DFORCE_INTERNAL_QHEXEDIT=OFF
+ -Dsqlcipher=$(usex sqlcipher)
+ )
+
+ # https://bugs.gentoo.org/855254
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ cmake_src_configure
+}
diff --git a/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild b/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild
index d094723adf0a..cea98af250c9 100644
--- a/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild
+++ b/dev-db/sqlitebrowser/sqlitebrowser-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake xdg
+inherit cmake flag-o-matic xdg
DESCRIPTION="A light GUI editor for SQLite databases"
HOMEPAGE="https://sqlitebrowser.org/"
@@ -18,7 +18,7 @@ fi
LICENSE="GPL-3+ MPL-2.0"
SLOT="0"
-IUSE="test"
+IUSE="sqlcipher test"
RESTRICT="!test? ( test )"
DEPEND="
@@ -33,6 +33,7 @@ DEPEND="
>=dev-qt/qtwidgets-5.5:5
>=dev-qt/qtxml-5.5:5
>=x11-libs/qscintilla-2.8.10:=
+ sqlcipher? ( dev-db/sqlcipher )
"
BDEPEND="
@@ -61,7 +62,12 @@ src_configure() {
-DENABLE_TESTING=$(usex test)
-DFORCE_INTERNAL_QCUSTOMPLOT=OFF
-DFORCE_INTERNAL_QHEXEDIT=OFF
+ -Dsqlcipher=$(usex sqlcipher)
)
+ # https://bugs.gentoo.org/855254
+ append-flags -fno-strict-aliasing
+ filter-lto
+
cmake_src_configure
}
diff --git a/dev-db/sqlmap/Manifest b/dev-db/sqlmap/Manifest
index 12f1edab0aec..bc5f568e1e7b 100644
--- a/dev-db/sqlmap/Manifest
+++ b/dev-db/sqlmap/Manifest
@@ -1,2 +1,2 @@
-DIST sqlmap-1.7.8.gh.tar.gz 7214346 BLAKE2B b28da71baa69f09ce8554c96ffedd06c4e41be785956fc895e2cd41d5cfed19af9c294bed8e6dc82e2e6c64704f6be578df3258af1ddad559f99b4b5e9f29c1e SHA512 9d22cd85682de2f111dd33aa7eed6c98e59f2067464f59074c571200e7bb2cc15477560a3c7c81e198f3fd006bde9a9289679c0cec08ffcf0e157d6d1fae4f51
DIST sqlmap-1.7.9.gh.tar.gz 7214293 BLAKE2B 45ec0a5e0bf2d2f53a9232ca80f592a2a62b195e3dcd6913fdd343afcc097345cd160d7c39571a7abfe25f3772bbfdb1b4e915e6c0b3f599f86ad2eb201f1ab0 SHA512 0a2aa310b9e1d51cb296be87df5d7c87bdf9daa3a61151ff3a2bca9d58bd2c369c7fa8dfad134d23a00cc034a8c8cd9ff2a326e8883ecad43457604762b42242
+DIST sqlmap-1.8.gh.tar.gz 7216213 BLAKE2B 0a9f43880badec75d5915950a98b1aac12a465b00216e0d01ed3ce0cb23882639d656430932b32d067ab7df693e0bbb67c35e076ac016e48a7ef2d940d0208eb SHA512 80e1555ae0f581c5cc76f41eb8a26e346f675069149010d7267abc3cc59f04ae9d35a72e417c6e28ff6d9c389d04e65dde1240079620a70d733e1873c0ed7450
diff --git a/dev-db/sqlmap/sqlmap-1.7.8.ebuild b/dev-db/sqlmap/sqlmap-1.8.ebuild
index ad6dac4b9230..caaad5bf9d92 100644
--- a/dev-db/sqlmap/sqlmap-1.7.8.ebuild
+++ b/dev-db/sqlmap/sqlmap-1.8.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="sqlite"
inherit bash-completion-r1 python-single-r1 wrapper
diff --git a/dev-db/timescaledb/Manifest b/dev-db/timescaledb/Manifest
index dc31574d5781..17a938cd4464 100644
--- a/dev-db/timescaledb/Manifest
+++ b/dev-db/timescaledb/Manifest
@@ -1,2 +1,2 @@
-DIST timescaledb-2.12.2.tar.gz 7521115 BLAKE2B 2bc2d43e3185b95cd0b4bcfc852c0850959ac117e4a30cd3b30157a82e7ad7f8192e80cc9787474e169c5ae5476a146cd2510ab93d25f479dcc7d39fa45ae15c SHA512 cb39f632a8c2e02968045f459edaacc291abbda6e64962bfd05519b9c2c00ccaac5f520f2abf8a0b08f4bb740488df56295585c13bb83b82c0d1842a71ff7224
-DIST timescaledb-2.13.0.tar.gz 8214444 BLAKE2B a03237608f64ca530fef1c4c667b4d392bf3a9d5811df4225866650d1c0e708355e22570aa512fb23040453d0f1d721c7088e5895e18f4fb3aacbc9c89483027 SHA512 640f969daf330b727f373a252b814288939d7935d03fa54cf24a2b49b9914009e253df6885355cc7e93f4d0eef5028719a98007e4d9a42c14228f922708ce1f7
+DIST timescaledb-2.14.0.tar.gz 7316149 BLAKE2B d646e20d56ced87f3b95a7a58ed30bcbeec571b1042b64c2fef4f8521248db2142f54cb45d2afbbeb902e451823615fde1bb0259b421350928c146634db9c4d5 SHA512 75a66a51de313fa1beb4a576181888dbe742ffa0325b5813b5b12749c9fc97705eaa030186e424a360ee20745226768a679632182c079117586c5e4a5c108236
+DIST timescaledb-2.14.2.tar.gz 7319288 BLAKE2B aa6d56939a4647f9276743cabece77c33760e7f9d451b90aaa03c9391fcfad94afcd315b65c0c589c7188073884bf7ab65f9c796e35f634b8704f334ffa4ac34 SHA512 5a7ab4df5d89b83d423be5d6770098ab0303b22e29166afd3ab91ac2199571df20e33ec9f40bfa90ddf44829571fe696f311d81d27b46d569f2d75e75970e4f9
diff --git a/dev-db/timescaledb/timescaledb-2.12.2.ebuild b/dev-db/timescaledb/timescaledb-2.14.0.ebuild
index 5941e85afbb1..ec3d2f7794de 100644
--- a/dev-db/timescaledb/timescaledb-2.12.2.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.14.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 13 14 15 )
+POSTGRES_COMPAT=( 13 14 15 16 )
POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
diff --git a/dev-db/timescaledb/timescaledb-2.13.0.ebuild b/dev-db/timescaledb/timescaledb-2.14.2.ebuild
index 5941e85afbb1..ec3d2f7794de 100644
--- a/dev-db/timescaledb/timescaledb-2.13.0.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.14.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-POSTGRES_COMPAT=( 13 14 15 )
+POSTGRES_COMPAT=( 13 14 15 16 )
POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
diff --git a/dev-db/tinycdb/Manifest b/dev-db/tinycdb/Manifest
index ec77e1b8d078..302ac45b9888 100644
--- a/dev-db/tinycdb/Manifest
+++ b/dev-db/tinycdb/Manifest
@@ -1 +1,2 @@
DIST tinycdb-0.78.tar.gz 36754 BLAKE2B 41f4256840645acd28296c5473087c7cf4c026f068310375b3c305430c030b1c946f53fd3e09967d77b592ba84e7e56518fdb18e54d1e0f5e7dd552a1664a0ec SHA512 8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553
+DIST tinycdb-0.81.tar.gz 31901 BLAKE2B 6b5b1167bd7e58a02b9a3a1ff2d58adb0e522ef65a13384051d9a037358ed7586f7d567e543099adec6322f9c60d38525fed586488510215bf72d12a60c67684 SHA512 56d0422700835d7b0460c32c41e6d5f30b8b833cefea775eb7f2b5592d744942c1109eac1501421b02f196d15e551111bb2accc71f2fd32ef4b8d658c635340e
diff --git a/dev-db/tinycdb/tinycdb-0.78.ebuild b/dev-db/tinycdb/tinycdb-0.78.ebuild
index b6f1bb7cc462..501f95371b5a 100644
--- a/dev-db/tinycdb/tinycdb-0.78.ebuild
+++ b/dev-db/tinycdb/tinycdb-0.78.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -6,8 +6,8 @@ EAPI="7"
inherit toolchain-funcs
DESCRIPTION="A very fast and simple package for creating and reading constant data bases"
-HOMEPAGE="http://www.corpit.ru/mjt/tinycdb.html"
-SRC_URI="http://www.corpit.ru/mjt/${PN}/${P}.tar.gz"
+HOMEPAGE="https://www.corpit.ru/mjt/tinycdb.html"
+SRC_URI="https://www.corpit.ru/mjt/${PN}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
diff --git a/dev-db/tinycdb/tinycdb-0.81.ebuild b/dev-db/tinycdb/tinycdb-0.81.ebuild
new file mode 100644
index 000000000000..fc9fe8b1d16b
--- /dev/null
+++ b/dev-db/tinycdb/tinycdb-0.81.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit toolchain-funcs
+
+DESCRIPTION="A very fast and simple package for creating and reading constant data bases"
+HOMEPAGE="https://www.corpit.ru/mjt/tinycdb.html"
+SRC_URI="https://www.corpit.ru/mjt/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~mips ~ppc ~riscv ~x86"
+IUSE="static-libs"
+RESTRICT="test"
+
+RDEPEND="!dev-db/cdb"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-gentoo.patch
+ "${FILESDIR}"/${PN}-uclibc.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i "/^libdir/s:/lib:/$(get_libdir):" Makefile
+}
+
+src_compile() {
+ local targets="shared"
+ use static-libs && targets+=" staticlib piclib"
+
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ ${targets}
+}
+
+src_install() {
+ local targets="install install-sharedlib"
+ use static-libs && targets+=" install-piclib"
+
+ emake \
+ prefix="${EPREFIX}"/usr \
+ mandir="${EPREFIX}"/usr/share/man \
+ DESTDIR="${D}" \
+ ${targets}
+ einstalldocs
+}
diff --git a/dev-db/tora/tora-3.2-r2.ebuild b/dev-db/tora/tora-3.2-r2.ebuild
index 7bd8e475a41e..3749b42c889d 100644
--- a/dev-db/tora/tora-3.2-r2.ebuild
+++ b/dev-db/tora/tora-3.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,7 +40,7 @@ DEPEND="
BDEPEND="
dev-qt/linguist-tools:5
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=( "${FILESDIR}"/${P}-qt-includes.patch )