summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/citus/Manifest2
-rw-r--r--dev-db/citus/citus-11.3.1.ebuild2
-rw-r--r--dev-db/citus/citus-12.0.1.ebuild2
-rw-r--r--dev-db/citus/citus-12.1.3.ebuild2
-rw-r--r--dev-db/citus/citus-12.1.4.ebuild (renamed from dev-db/citus/citus-12.1.2.ebuild)2
-rw-r--r--dev-db/firebird/files/firebird.logrotate2
-rw-r--r--dev-db/firebird/firebird-3.0.10.33601.0-r2.ebuild (renamed from dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild)0
-rw-r--r--dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild (renamed from dev-db/firebird/firebird-3.0.4.33054.0-r2.ebuild)0
-rw-r--r--dev-db/freetds/Manifest1
-rw-r--r--dev-db/freetds/freetds-1.4.17.ebuild54
-rw-r--r--dev-db/futuresql/futuresql-0.1.1.ebuild2
-rw-r--r--dev-db/hsqldb/Manifest1
-rw-r--r--dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.conf.patch30
-rw-r--r--dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.init.patch20
-rw-r--r--dev-db/hsqldb/hsqldb-1.8.1.3-r5.ebuild (renamed from dev-db/hsqldb/hsqldb-1.8.1.3-r4.ebuild)9
-rw-r--r--dev-db/hsqldb/hsqldb-2.7.3.ebuild181
-rw-r--r--dev-db/influx-cli/influx-cli-2.7.3.ebuild4
-rw-r--r--dev-db/influxdb/Manifest6
-rw-r--r--dev-db/influxdb/influxdb-2.7.5.ebuild5
-rw-r--r--dev-db/influxdb/influxdb-2.7.6.ebuild (renamed from dev-db/influxdb/influxdb-2.7.3-r2.ebuild)6
-rw-r--r--dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-buffer-overflow-sqlite.patch14
-rw-r--r--dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-c99.patch11
-rw-r--r--dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-fortify-source-sqlite.patch13
-rw-r--r--dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r3.ebuild90
-rw-r--r--dev-db/litecli/Manifest1
-rw-r--r--dev-db/litecli/litecli-1.10.1.ebuild2
-rw-r--r--dev-db/litecli/litecli-1.11.0.ebuild34
-rw-r--r--dev-db/litedb/litedb-5.0.17-r3.ebuild (renamed from dev-db/litedb/litedb-5.0.17-r2.ebuild)6
-rw-r--r--dev-db/lmdb/Manifest1
-rw-r--r--dev-db/lmdb/lmdb-0.9.33.ebuild66
-rw-r--r--dev-db/m17n-db/Manifest2
-rw-r--r--dev-db/m17n-db/m17n-db-1.8.0.ebuild24
-rw-r--r--dev-db/m17n-db/m17n-db-1.8.5.ebuild44
-rw-r--r--dev-db/mariadb/Manifest6
-rw-r--r--dev-db/mariadb/mariadb-10.11.8.ebuild (renamed from dev-db/mariadb/mariadb-10.11.5-r1.ebuild)9
-rw-r--r--dev-db/mariadb/mariadb-10.6.16.ebuild1332
-rw-r--r--dev-db/mariadb/mariadb-10.6.18.ebuild (renamed from dev-db/mariadb/mariadb-10.6.15-r1.ebuild)9
-rw-r--r--dev-db/mariadb/mariadb-11.4.2.ebuild (renamed from dev-db/mariadb/mariadb-10.11.6.ebuild)9
-rw-r--r--dev-db/mongodb/Manifest2
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.29-boost-1.85.patch146
-rw-r--r--dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch25
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch139
-rw-r--r--dev-db/mongodb/mongodb-4.4.20.ebuild186
-rw-r--r--dev-db/mongodb/mongodb-4.4.29.ebuild1
-rw-r--r--dev-db/mongodb/mongodb-5.0.16-r1.ebuild197
-rw-r--r--dev-db/mongodb/mongodb-5.0.26.ebuild3
-rw-r--r--dev-db/mydumper/files/mydumper-0.15-fix-call-to-open.patch42
-rw-r--r--dev-db/mydumper/mydumper-0.15.2.8-r1.ebuild57
-rw-r--r--dev-db/mysql-workbench/Manifest1
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.38.ebuild114
-rw-r--r--dev-db/mysql/Manifest1
-rw-r--r--dev-db/mysql/mysql-5.7.41.ebuild2
-rw-r--r--dev-db/mysql/mysql-8.0.36.ebuild2
-rw-r--r--dev-db/mysql/mysql-8.0.37.ebuild1281
-rw-r--r--dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild2
-rw-r--r--dev-db/pg_background/Manifest1
-rw-r--r--dev-db/pg_background/metadata.xml11
-rw-r--r--dev-db/pg_background/pg_background-1.2.ebuild30
-rw-r--r--dev-db/pg_top/Manifest1
-rw-r--r--dev-db/pg_top/pg_top-4.1.1.ebuild28
-rw-r--r--dev-db/pglogical/Manifest1
-rw-r--r--dev-db/pglogical/pglogical-2.4.1.ebuild32
-rw-r--r--dev-db/pglogical/pglogical-2.4.4.ebuild2
-rw-r--r--dev-db/pgpool2/Manifest2
-rw-r--r--dev-db/pgpool2/pgpool2-4.3.10.ebuild97
-rw-r--r--dev-db/pgpool2/pgpool2-4.4.7.ebuild97
-rw-r--r--dev-db/pgrouting/Manifest1
-rw-r--r--dev-db/pgrouting/pgrouting-3.6.2.ebuild52
-rw-r--r--dev-db/pgtap/Manifest2
-rw-r--r--dev-db/pgtap/pgtap-1.3.3.ebuild (renamed from dev-db/pgtap/pgtap-1.2.0-r2.ebuild)4
-rw-r--r--dev-db/postgis/Manifest12
-rw-r--r--dev-db/postgis/postgis-3.1.10.ebuild143
-rw-r--r--dev-db/postgis/postgis-3.1.11.ebuild (renamed from dev-db/postgis/postgis-3.1.9.ebuild)4
-rw-r--r--dev-db/postgis/postgis-3.2.4-r1.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.2.5.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.3.3.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.3.4.ebuild142
-rw-r--r--dev-db/postgis/postgis-3.3.6.ebuild (renamed from dev-db/postgis/postgis-3.3.5.ebuild)4
-rw-r--r--dev-db/postgis/postgis-3.4.2.ebuild (renamed from dev-db/postgis/postgis-3.4.0-r2.ebuild)4
-rw-r--r--dev-db/postgis/postgis-3.5.0_alpha2.ebuild (renamed from dev-db/postgis/postgis-3.4.0-r1.ebuild)17
-rw-r--r--dev-db/postgis/postgis-9999.ebuild142
-rw-r--r--dev-db/postgresql/Manifest2
-rw-r--r--dev-db/postgresql/postgresql-17_beta2.ebuild (renamed from dev-db/postgresql/postgresql-17_beta1.ebuild)0
-rw-r--r--dev-db/postgresql/postgresql-9999.ebuild2
-rw-r--r--dev-db/redis/Manifest1
-rw-r--r--dev-db/redis/redis-7.2.4-r1.ebuild200
-rw-r--r--dev-db/redis/redis-7.2.5.ebuild2
-rw-r--r--dev-db/rqlite/Manifest3
-rw-r--r--dev-db/rqlite/rqlite-8.25.0.ebuild (renamed from dev-db/rqlite/rqlite-8.16.8.ebuild)7
-rw-r--r--dev-db/sqlcipher/metadata.xml5
-rw-r--r--dev-db/sqlcl-bin/Manifest2
-rw-r--r--dev-db/sqlcl-bin/sqlcl-bin-24.1.0.087.0929.ebuild (renamed from dev-db/sqlcl-bin/sqlcl-bin-23.4.0.023.2321.ebuild)8
-rw-r--r--dev-db/sqlite/Manifest8
-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-lto.patch20
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r1.ebuild433
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r2.ebuild434
-rw-r--r--dev-db/sqlite/sqlite-3.45.1-r1.ebuild439
-rw-r--r--dev-db/sqlite/sqlite-3.45.3.ebuild2
-rw-r--r--dev-db/sqlite/sqlite-3.46.0.ebuild (renamed from dev-db/sqlite/sqlite-3.45.2.ebuild)3
-rw-r--r--dev-db/sqlitebrowser/files/sqlitebrowser-3.12.2-str-conflict-fix.patch13
-rw-r--r--dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild4
-rw-r--r--dev-db/sqlmap/Manifest4
-rw-r--r--dev-db/sqlmap/sqlmap-1.8.5.ebuild (renamed from dev-db/sqlmap/sqlmap-1.8.ebuild)0
-rw-r--r--dev-db/sqlmap/sqlmap-1.8.6.ebuild (renamed from dev-db/sqlmap/sqlmap-1.7.9.ebuild)4
-rw-r--r--dev-db/timescaledb/Manifest4
-rw-r--r--dev-db/timescaledb/timescaledb-2.14.2.ebuild2
-rw-r--r--dev-db/timescaledb/timescaledb-2.15.2.ebuild (renamed from dev-db/timescaledb/timescaledb-2.14.0.ebuild)2
-rw-r--r--dev-db/timescaledb/timescaledb-2.15.3.ebuild (renamed from dev-db/timescaledb/timescaledb-2.15.0.ebuild)2
110 files changed, 2803 insertions, 4575 deletions
diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest
index ba05405e6711..293f142610bd 100644
--- a/dev-db/citus/Manifest
+++ b/dev-db/citus/Manifest
@@ -1,4 +1,4 @@
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
DIST citus-12.1.3.tar.gz 6905546 BLAKE2B 6ece3bb20dfdad3d9413a17dc4b9177ae3cb8829e692b37bd226c60cbb1fa1e827e9de6f833d31c65835ab040593e0cc5fe4b6b0c8b0314306313cd88533e622 SHA512 2bcd5fa83e4fa56b90a3a3873229d3c5a294a0483d031d04ebd9602132883dc54485ca0907b867cd545f9b131a5f8cdeecb2e7e500b46d87f01aa5d5a34ff16f
+DIST citus-12.1.4.tar.gz 6906485 BLAKE2B cb5ed7c53449c7497693cfff69f360e43ab10acc7ac8b7a7be9bcb4e7440dbdd0bd2a85bbbac25e62b43be3040301e11180e1c797b9f6c7a56fbdad2b0cd4bf3 SHA512 c4f7cd8f6f2f72b66de17ae529590518d5c62654d6e1393a4c7b2f1d8b2f9c70e7d4e1f07aef3434272f84edc92d299a0c9df00934b1f065a0997c6fc5274913
diff --git a/dev-db/citus/citus-11.3.1.ebuild b/dev-db/citus/citus-11.3.1.ebuild
index 196628d1bd19..7218cc89d2a8 100644
--- a/dev-db/citus/citus-11.3.1.ebuild
+++ b/dev-db/citus/citus-11.3.1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 13 14 15 )
diff --git a/dev-db/citus/citus-12.0.1.ebuild b/dev-db/citus/citus-12.0.1.ebuild
index c3c9617e490d..d4a43681798e 100644
--- a/dev-db/citus/citus-12.0.1.ebuild
+++ b/dev-db/citus/citus-12.0.1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 14 15 )
diff --git a/dev-db/citus/citus-12.1.3.ebuild b/dev-db/citus/citus-12.1.3.ebuild
index 6f1052ed0c2d..7b9ed91dac47 100644
--- a/dev-db/citus/citus-12.1.3.ebuild
+++ b/dev-db/citus/citus-12.1.3.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 14 15 16 )
diff --git a/dev-db/citus/citus-12.1.2.ebuild b/dev-db/citus/citus-12.1.4.ebuild
index 6f1052ed0c2d..7b9ed91dac47 100644
--- a/dev-db/citus/citus-12.1.2.ebuild
+++ b/dev-db/citus/citus-12.1.4.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 14 15 16 )
diff --git a/dev-db/firebird/files/firebird.logrotate b/dev-db/firebird/files/firebird.logrotate
index a4542b47ea93..ac4a74b26041 100644
--- a/dev-db/firebird/files/firebird.logrotate
+++ b/dev-db/firebird/files/firebird.logrotate
@@ -6,5 +6,5 @@
size +1024k
delaycompress
notifempty
- create 644 firebird
+ create 644 firebird firebird
}
diff --git a/dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild b/dev-db/firebird/firebird-3.0.10.33601.0-r2.ebuild
index 5fd90979b8e5..5fd90979b8e5 100644
--- a/dev-db/firebird/firebird-3.0.10.33601.0-r1.ebuild
+++ b/dev-db/firebird/firebird-3.0.10.33601.0-r2.ebuild
diff --git a/dev-db/firebird/firebird-3.0.4.33054.0-r2.ebuild b/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild
index 6f2ba7ca3b89..6f2ba7ca3b89 100644
--- a/dev-db/firebird/firebird-3.0.4.33054.0-r2.ebuild
+++ b/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild
diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest
index 8b914f97fca1..fe46ee8b16a4 100644
--- a/dev-db/freetds/Manifest
+++ b/dev-db/freetds/Manifest
@@ -1 +1,2 @@
+DIST freetds-1.4.17.tar.bz2 2401147 BLAKE2B 7155f902043411e57a9244c16bae49aa095d1f6af0b40bd1dc1e6949b3d78b3c8e58a7b6b2284ebac9e7b26920485a8ae12b691cc838410835786be51f027c89 SHA512 df5804a4bea20f995ecd3ef3ae4b898b9d9b32af6827aa2bada95008c8b909b682779c6776efb0d778615e21ac7af20b4aa0d1518a7a0d50bb793f4688a0e1a9
DIST freetds-dev.1.2.18.tar.gz 3406990 BLAKE2B f0134ee0a322cb9e7a7fefbf9e85c60b826318b546febde78e53d5ec22dc2c8e269b7e830da6d84267d16a2dc2cf367a54354765017a40e07af2c3c6be54676e SHA512 315f40ba0d97281f852ec99fac457ec4b2a30879a2384bfa2d7c680aad6c056b6ae23fc192c18db4fba75caff552ef86de7bbfc5d7b608ea5a12531bf9eadc4c
diff --git a/dev-db/freetds/freetds-1.4.17.ebuild b/dev-db/freetds/freetds-1.4.17.ebuild
new file mode 100644
index 000000000000..b9d879a08826
--- /dev/null
+++ b/dev-db/freetds/freetds-1.4.17.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Tabular Datastream Library"
+HOMEPAGE="https://www.freetds.org/"
+SRC_URI="https://www.freetds.org/files/stable/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+
+IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs"
+# iODBC and unixODBC are mutually-exclusive choices for
+# the ODBC driver manager. Future versions of FreeTDS
+# will throw an error if you specify both.
+REQUIRED_USE="?? ( iodbc odbc )"
+
+RESTRICT="test"
+
+COMMON_DEPEND="app-alternatives/awk
+ gnutls? ( net-libs/gnutls:= )
+ iconv? ( virtual/libiconv )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ odbc? ( dev-db/unixODBC )
+ ssl? ( dev-libs/openssl:0= )"
+DEPEND="${COMMON_DEPEND}"
+
+# bind-tools is needed because the osql script calls "host".
+RDEPEND="${COMMON_DEPEND}
+ net-dns/bind-tools"
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --disable-static \
+ $(use_enable debug) \
+ $(use_enable iconv libiconv) \
+ $(use_enable kerberos krb5) \
+ $(use_enable mssql msdblib) \
+ $(use_with iodbc) \
+ $(use_with odbc unixodbc "${EPREFIX}/usr") \
+ $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \
+ $(use_with gnutls) \
+ $(use_with ssl openssl "${EPREFIX}/usr")
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-db/futuresql/futuresql-0.1.1.ebuild b/dev-db/futuresql/futuresql-0.1.1.ebuild
index acad2895fac0..2f989131dd85 100644
--- a/dev-db/futuresql/futuresql-0.1.1.ebuild
+++ b/dev-db/futuresql/futuresql-0.1.1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://api.kde.org/futuresql/html/index.html https://invent.kde.org/l
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
fi
LICENSE="MIT"
diff --git a/dev-db/hsqldb/Manifest b/dev-db/hsqldb/Manifest
index c8808162e0b8..4f76610cc00a 100644
--- a/dev-db/hsqldb/Manifest
+++ b/dev-db/hsqldb/Manifest
@@ -1 +1,2 @@
+DIST hsqldb-2.7.3.zip 11778622 BLAKE2B 9e7f6a0e0bdf8602c87ab770dcb43c17db9ae6dc5d50fda079a44a42b0ccb64a20f74d020b2dbedbbc6b6c6ee57acf062d2c74d53a7d34fe932dbd79b0cc86d0 SHA512 06825d5f1428630dae476d78de9e2c48834a34a8678adf0e6af594594c5e1a7efdf99e366add4f6bbc24136e6aaa8fcbf54bd7ff2f2c459c20f9f02f7415b70a
DIST hsqldb_1_8_1_3.zip 3170550 BLAKE2B 0664bfa259af5091e3e76ca804e9c9890457ecc982ab07ee37640dc713053fb63d6dd295e9db4adb5e5436fac6275745526d3e830dd84e5daa3a32162627dc76 SHA512 0483ca3299b63b4931b07d49588c729231efca76a317b9620abbd5039127f3f79449eaa1e9d29c52782c58bdb0cc4879b1e3f30f669d2c02c880818f531a8442
diff --git a/dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.conf.patch b/dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.conf.patch
new file mode 100644
index 000000000000..2f34a0b3b55d
--- /dev/null
+++ b/dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.conf.patch
@@ -0,0 +1,30 @@
+Patch created with sed expression borrowed from 1.8.1.3-r4.ebuild
+
+ # sample-hsqldb.cfg seems to have moved/renamed to sample/hsqldb.conf
+ sed -e "s/^HSQLDB_JAR_PATH=.*$/HSQLDB_JAR_PATH=${EPREFIX//\//\\/}${HSQLDB_JAR//\//\\/}/g" \
+ -e "s/^SERVER_HOME=.*$/SERVER_HOME=${EPREFIX//\//\\/}\/var\/lib\/hsqldb/g" \
+ -e "s/^HSQLDB_OWNER=.*$/HSQLDB_OWNER=hsqldb/g" \
+ -e 's/^#AUTH_FILE=.*$/AUTH_FILE=${SERVER_HOME}\/sqltool.rc/g' \
+ -i sample/hsqldb.conf || die
+
+--- a/sample/hsqldb.conf
++++ b/sample/hsqldb.conf
+@@ -34,7 +34,7 @@ SQLTOOL_JAR_PATH=/opt/hsqldb-2.0.0/hsqldb/lib/sqltool.jar
+ # /opt/hsqldb-2.0.0/hsqldb/lib/hsqldb*.jar.
+
+ # Where the file "server.properties" or "webserver.properties" resides.
+-SERVER_HOME=/opt/hsqldb-2.0.0/hsqldb/data
++SERVER_HOME=/var/lib/hsqldb
+
+ # What UNIX user the server will run as.
+ # (The shutdown client is always run as root or the invoker of the init script).
+@@ -91,7 +91,7 @@ URLIDS='localhostdb1'
+ # root who runs the init script.
+ # (See the SqlTool chapter of the HyperSQL Utilities Guide if you don't
+ # understand this).
+-#AUTH_FILE=/home/blaine/sqltool.rc
++AUTH_FILE=${SERVER_HOME}/sqltool.rc
+
+ # Typical users will leave this unset and it will default to
+ # org.hsqldb.server.Server. If you need to run the HSQLDB WebServer class
+
diff --git a/dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.init.patch b/dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.init.patch
new file mode 100644
index 000000000000..bb4984691936
--- /dev/null
+++ b/dev-db/hsqldb/files/hsqldb-2.7.3-hsqldb.init.patch
@@ -0,0 +1,20 @@
+--- a/sample/hsqldb.init
++++ b/sample/hsqldb.init
+@@ -57,7 +57,7 @@ SERVICE=hsqldb
+ # chkconfig: 345 87 13
+ # description: HyperSQL Database, A High Performance Java Database Server
+ # pidfile: /run/hsqldb.pid
+-# config: /etc/sysconfig/hsqldb
++# config: /etc/conf.d/hsqldb
+
+ # This block only used by insserv systems (incl. SuSE Linux).
+ ### BEGIN INIT INFO
+@@ -198,7 +198,7 @@ case "`uname`" in
+ esac
+
+ for candidate in /etc/hsqldb/${SERVICE}.conf \
+- /etc/sysconfig/${SERVICE} /etc/${SERVICE}.conf \
++ /etc/conf.d/${SERVICE} /etc/${SERVICE}.conf \
+ /etc/${SERVICE}.cfg /Library/Hsqldb/conf/${SERVICE}.cfg \
+ /Library/Hsqldb/${SERVICE}.cfg /usr/local/etc/${SERVICE}.cfg; do
+ [ -f $candidate ] && {
diff --git a/dev-db/hsqldb/hsqldb-1.8.1.3-r4.ebuild b/dev-db/hsqldb/hsqldb-1.8.1.3-r5.ebuild
index b41ee414d576..be250b19dc31 100644
--- a/dev-db/hsqldb/hsqldb-1.8.1.3-r4.ebuild
+++ b/dev-db/hsqldb/hsqldb-1.8.1.3-r5.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
JAVA_PKG_IUSE="doc source test"
@@ -11,8 +11,9 @@ MY_PV=$(ver_rs 1- '_')
MY_P="${PN}_${MY_PV}"
DESCRIPTION="The leading SQL relational database engine written in Java"
-HOMEPAGE="http://hsqldb.org"
+HOMEPAGE="https://hsqldb.org"
SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.zip"
+S="${WORKDIR}/${PN}"
LICENSE="BSD GPL-2"
SLOT="0"
@@ -34,8 +35,6 @@ PATCHES=(
"${FILESDIR}/${P}-java7.patch"
)
-S="${WORKDIR}/${PN}"
-
HSQLDB_JAR=/usr/share/hsqldb/lib/hsqldb.jar
HSQLDB_HOME=/var/lib/hsqldb
@@ -90,7 +89,7 @@ src_test() {
}
src_install() {
- java-pkg_dojar lib/hsql*.jar
+ java-pkg_dojar lib/hsql{db{,util},tool,jdbc}.jar
if use doc; then
dodoc doc/*.txt
diff --git a/dev-db/hsqldb/hsqldb-2.7.3.ebuild b/dev-db/hsqldb/hsqldb-2.7.3.ebuild
new file mode 100644
index 000000000000..e0bb6b6b5a4a
--- /dev/null
+++ b/dev-db/hsqldb/hsqldb-2.7.3.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.hsqldb:hsqldb:${PV}"
+
+inherit java-pkg-2
+
+MY_PV="$(ver_cut 1-2)"
+MY_PV="${MY_PV//./_}"
+
+DESCRIPTION="HSQLDB - Lightweight 100% Java SQL Database Engine"
+HOMEPAGE="https://hsqldb.org"
+SRC_URI="https://downloads.sourceforge.net/project/hsqldb/hsqldb/hsqldb_${MY_PV}/${P}.zip"
+S="${WORKDIR}/${P}/${PN}"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ app-arch/unzip
+ >=dev-java/ant-1.10.14-r3:0
+"
+
+COMMON_DEPEND="
+ acct-group/hsqldb
+ acct-user/hsqldb
+"
+
+DEPEND="${COMMON_DEPEND}
+ dev-java/javax-servlet-api:3.1
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/ant-1.10.14-r3:0[junit]
+ dev-java/junit:0
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ >=virtual/jre-11:*"
+
+DOCS=( readme.txt doc/{changelist_2_0,odbc,readme-docauthors}.txt )
+
+PATCHES=(
+ "${FILESDIR}/hsqldb-2.7.3-hsqldb.conf.patch"
+ "${FILESDIR}/hsqldb-2.7.3-hsqldb.init.patch"
+)
+
+HSQLDB_JAR=/usr/share/hsqldb/lib/hsqldb.jar
+HSQLDB_HOME=/var/lib/hsqldb
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ java-pkg_clean
+
+ # bin/hsqldb seems to have moved/renamed to sample/hsqldb.init
+ mv sample/hsqldb{.init,} || die
+
+ mkdir conf
+ # sample-hsqldb.cfg seems to have moved/renamed to sample/hsqldb.conf
+ mv sample/hsqldb.conf conf/hsqldb || die
+
+ cp "${FILESDIR}/server.properties" conf/ || die
+ cp "${FILESDIR}/sqltool.rc" conf/ || die
+}
+
+src_compile() {
+ local targets=( hsqldb hsqldbutil sqltool )
+ if use doc; then
+ mkdir doc-src/apidocs || die
+ cp doc{,-src}/apidocs/javadoc.css || die
+ rm -r doc/apidocs || die
+ targets+=( javadoc )
+ fi
+ use test && targets+=( preprocessor )
+ eant \
+ -f build/build.xml \
+ -Dservletapi.lib="$(java-pkg_getjars --build-only javax-servlet-api-3.1)" \
+ -Djavac.bootcp.override \
+ -Dant.java.iscjava11 \
+ -Dant.build.javac.source="11" \
+ -Dant.build.javac.target="11" \
+ "${targets[@]}"
+}
+
+src_test() {
+ mkdir -p test-src/org/hsqldb/{resources,jdbc/resources/{xml,sql},util/preprocessor} || die
+ eant -v \
+ -f build/test.xml \
+ -Dservletapi.lib="$(java-pkg_getjars --build-only javax-servlet-api-3.1)" \
+ -Djunit.jar="$(java-pkg_getjars --build-only junit)" \
+ -Djavac.bootcp.override \
+ -Dant.java.iscjava11 \
+ -Dant.build.javac.source="11" \
+ -Dant.build.javac.target="11" \
+ make.test.suite run.test.suite
+}
+
+src_install() {
+ java-pkg_dojar lib/{hsqldb{,util},sqltool}.jar
+
+ einstalldocs
+ use doc && java-pkg_dojavadoc doc/apidocs
+
+ use source && java-pkg_dosrc src/*
+
+ echo "CONFIG_PROTECT=\"${HSQLDB_HOME}\"" > "${T}"/35hsqldb || die
+ doenvd "${T}"/35hsqldb
+
+ # Put init, configuration and authorization files in /etc
+ doinitd "${FILESDIR}/hsqldb"
+ doconfd conf/hsqldb
+ insinto /etc/hsqldb
+ # Change the ownership of server.properties and sqltool.rc
+ # files to hsqldb:hsqldb. (resolves Bug #111963)
+ use prefix || insopts -m0600 -o hsqldb -g hsqldb
+ doins conf/server.properties
+ use prefix || insopts -m0600 -o hsqldb -g hsqldb
+ doins conf/sqltool.rc
+
+ # Install init script
+ dodir "${HSQLDB_HOME}/bin"
+ keepdir "${HSQLDB_HOME}"
+ exeinto "${HSQLDB_HOME}/bin"
+ doexe sample/hsqldb
+
+ # Make sure that files have correct permissions
+ use prefix || chown -R hsqldb:hsqldb "${ED}${HSQLDB_HOME}" || die
+ chmod o-rwx "${ED}${HSQLDB_HOME}" || die
+
+ # Create symlinks to authorization files in the server home dir
+ # (required by the hqldb init script)
+ insinto "${HSQLDB_HOME}"
+ dosym ../../../etc/hsqldb/server.properties "${HSQLDB_HOME}/server.properties"
+ dosym ../../../etc/hsqldb/sqltool.rc "${HSQLDB_HOME}/sqltool.rc"
+}
+
+pkg_postinst() {
+ ewarn "If you intend to run Hsqldb in Server mode and you want to create"
+ ewarn "additional databases, remember to put correct information in both"
+ ewarn "'server.properties' and 'sqltool.rc' files."
+ ewarn "(read the 'Init script Setup Procedure' section of the 'Chapter 3."
+ ewarn "UNIX Quick Start' in the Hsqldb docs for more information)"
+ echo
+ elog "Example:"
+ echo
+ elog "${EPREFIX}/etc/hsqldb/server.properties"
+ elog "============================="
+ elog "server.database.1=file:xdb/xdb"
+ elog "server.dbname.1=xdb"
+ elog "server.urlid.1=xdb"
+ elog
+ elog "${EPREFIX}/etc/hsqldb/sqltool.rc"
+ elog "======================"
+ elog "urlid xdb"
+ elog "url jdbc:hsqldb:hsql://localhost/xdb"
+ elog "username sa"
+ elog "password "
+ echo
+ elog "Also note that each hsqldb server can serve only up to 10"
+ elog "different databases simultaneously (with consecutive {0-9}"
+ elog "suffixes in the 'server.properties' file)."
+ echo
+ ewarn "For data manipulation use:"
+ ewarn
+ ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.DatabaseManager"
+ ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.DatabaseManagerSwing"
+ ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.SqlTool \\"
+ ewarn " --rcFile ${EPREFIX}/var/lib/hsqldb/sqltool.rc <dbname>"
+ echo
+ elog "The Hsqldb can be run in multiple modes - read 'Chapter 1. Running'"
+ elog "and Using Hsqldb' in the Hsqldb docs at:"
+ elog " http://hsqldb.org/web/hsqlDocsFrame.html"
+ elog "If you intend to run it in the Server mode, it is suggested to add the"
+ elog "init script to your start-up scripts, this should be done like this:"
+ elog " \`rc-update add hsqldb default\`"
+ echo
+}
diff --git a/dev-db/influx-cli/influx-cli-2.7.3.ebuild b/dev-db/influx-cli/influx-cli-2.7.3.ebuild
index 32cb6d38589f..b373f03d6bd4 100644
--- a/dev-db/influx-cli/influx-cli-2.7.3.ebuild
+++ b/dev-db/influx-cli/influx-cli-2.7.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=8
@@ -13,7 +13,7 @@ SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RESTRICT=" test"
diff --git a/dev-db/influxdb/Manifest b/dev-db/influxdb/Manifest
index 11b7a47c667e..8113acdd1127 100644
--- a/dev-db/influxdb/Manifest
+++ b/dev-db/influxdb/Manifest
@@ -63,12 +63,12 @@ DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabe
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.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 influxdb-2.7.5-assets.tar.gz 19829786 BLAKE2B 1ca0fe1a6265329b226eb4de0d1310e71b766bcd8d05f636e3ee0c75c2b9f50c90b8c7f38225c0380b3074f84eb07805a7d42cf06cfbdac3b8b1ffad3befb8e5 SHA512 85f49e3e5a262fcecb801b3ba91157557fa30933a9cc210f2ad7395d3165225fba2f50190e452f76b2567adb765aba297dbcb425d388851f742edd55375da135
DIST influxdb-2.7.5-deps.tar.xz 459263596 BLAKE2B 13c6a2e3539960ec01b2d9132c54e47e4f178e66fa5eba07b63969c657fb4a69fa700a59d90201b768d52b57b449fbf330ae91463e22b818a5f7bf3918937d91 SHA512 cfc4bef0e33e29c54c529a20711753ac5da3c8a89af3a81bcb9612e745254fca9850751f69eec05f7c22959f8a7b240fc52d96b1dba7ed36c907d6c9206618b9
DIST influxdb-2.7.5.tar.gz 14259860 BLAKE2B edcb6228bcc1267bdeb93bb0e34e65d4e97873f10a6e45a919e21e3aa82b2f8ddc02d77c05ea37ec5b5e04222b34e5e74af99dbe85af63fa78dff841316024fc SHA512 895dfc031a18551822dd6ba17a4bdf5e6cef2bd67aa373188b8263a6ab389bd7b6c001ebe47bb945307cf71de2b03a9fa48d2bcc60cda8cbf1b569a09572395e
+DIST influxdb-2.7.6-assets.tar.gz 19829786 BLAKE2B 1ca0fe1a6265329b226eb4de0d1310e71b766bcd8d05f636e3ee0c75c2b9f50c90b8c7f38225c0380b3074f84eb07805a7d42cf06cfbdac3b8b1ffad3befb8e5 SHA512 85f49e3e5a262fcecb801b3ba91157557fa30933a9cc210f2ad7395d3165225fba2f50190e452f76b2567adb765aba297dbcb425d388851f742edd55375da135
+DIST influxdb-2.7.6-deps.tar.xz 458572596 BLAKE2B 07985d3bfcf7179f76f4b3cd1bc6bf015c40e5e63ac1e407f2920a04d3728250d4f90e09915048faa224530b0ca002b3ae4d75184480898a4ab7d61bb060633b SHA512 a256e82bbe8c06fddb1cfe3a5857cfda7c9e78178d17951bb1d034c71033f55c7f5d70be1b56c7bdcb9b87e3631b8ce92375e974e1bfe5bb9a47f5103b919b9d
+DIST influxdb-2.7.6.tar.gz 14258162 BLAKE2B b530203f7995f97fdc26eb1fbca808374e870691e549534e581492e9d14a27dd5cd4b5bc952cf6e9d3c0394fb05f76559964f7f2e9e9ca070c4c6afc7442b15f SHA512 841b720aa6351136cbae8ace0f48504cfc993f8f938542784d89c33523cbb6a3f0d5fd27644215e2f93018be57aad538a18a316b5172ace889a2bf9041190750
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
DIST io-lifetimes-1.0.10.crate 37294 BLAKE2B 9b8836c4bf30e6d102fd9973ac66f067c3ff8bc2806e55f26368ebdc9854f2e9cc6eecc8014f9a0b22a968a6eea8be243fcb7a641d2d0dfc747ee08a6a1450bb SHA512 4b2cde9522780a408c5d4e6406286bc5dd3a0de1a99675129e9856e5d889498a127fd5dd7c937a7542135abc2213b60bfb6258b7871b8709dcdd79d60455bea9
DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
diff --git a/dev-db/influxdb/influxdb-2.7.5.ebuild b/dev-db/influxdb/influxdb-2.7.5.ebuild
index 32422fb6df90..f3db16a9392b 100644
--- a/dev-db/influxdb/influxdb-2.7.5.ebuild
+++ b/dev-db/influxdb/influxdb-2.7.5.ebuild
@@ -207,7 +207,10 @@ KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+ virtual/pkgconfig
+ <virtual/rust-1.78.0
+"
DEPEND="
acct-group/influxdb
diff --git a/dev-db/influxdb/influxdb-2.7.3-r2.ebuild b/dev-db/influxdb/influxdb-2.7.6.ebuild
index 3bd8b07c924a..6fc1b5b27282 100644
--- a/dev-db/influxdb/influxdb-2.7.3-r2.ebuild
+++ b/dev-db/influxdb/influxdb-2.7.6.ebuild
@@ -194,16 +194,18 @@ 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"
+FLUX_PV="0.194.5"
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"
+# Generate go-mod of base dir. Then cd go-mod/github.com/influxdata/pkg-config@v0.2.11 and generate go-mod of it
+# The tarball has next backported commit: github.com/influxdata/flux/commit/68c831c40b396f0274f6a9f97d77707c39970b02
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"
+KEYWORDS="~amd64 ~arm64"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-buffer-overflow-sqlite.patch b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-buffer-overflow-sqlite.patch
new file mode 100644
index 000000000000..3bec6d958bc6
--- /dev/null
+++ b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-buffer-overflow-sqlite.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/933427
+https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/7657c4c688c021d5f42a38e998c876d1739d5d8f
+--- a/drivers/sqlite3/dbd_sqlite3.c
++++ b/drivers/sqlite3/dbd_sqlite3.c
+@@ -585,7 +585,8 @@
+ unsigned char *temp;
+ size_t len;
+
+- if ((temp = malloc(from_length*2)) == NULL) {
++ /* allocate an extra byte for NULL and two for the quotes */
++ if ((temp = malloc(2*from_length+1+2)) == NULL) {
+ return 0;
+ }
+
diff --git a/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-c99.patch b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-c99.patch
new file mode 100644
index 000000000000..c75e9f405aec
--- /dev/null
+++ b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-c99.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/920460
+--- a/drivers/firebird/dbd_firebird.c
++++ b/drivers/firebird/dbd_firebird.c
+@@ -43,6 +43,7 @@
+ #include <string.h>
+ #include <time.h>
+ #include <ibase.h>
++#include <ctype.h>
+
+ #include "dbd_firebird.h"
+ #include "firebird_charsets.h"
diff --git a/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-fortify-source-sqlite.patch b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-fortify-source-sqlite.patch
new file mode 100644
index 000000000000..9624a8c039b6
--- /dev/null
+++ b/dev-db/libdbi-drivers/files/libdbi-drivers-0.9.0-fortify-source-sqlite.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/933427
+https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/24f48b86c8988ee3aaebc5f303d71e9d789f77b6/
+--- a/drivers/sqlite3/dbd_sqlite3.c
++++ b/drivers/sqlite3/dbd_sqlite3.c
+@@ -1451,7 +1451,7 @@ static int getTables(char** tables, int
+ break;
+ }
+
+- word_lower[item-start+1];
++ char word_lower[item-start+1];
+ strncpy(word_lower,start,item-start);
+ word_lower[item-start] = '\0';
+ int i = 0;
diff --git a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r3.ebuild b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r3.ebuild
new file mode 100644
index 000000000000..d82a8c964d2e
--- /dev/null
+++ b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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
+ "${FILESDIR}"/${PN}-0.9.0-fortify-source-sqlite.patch
+ "${FILESDIR}"/${PN}-0.9.0-buffer-overflow-sqlite.patch
+ "${FILESDIR}"/${PN}-0.9.0-c99.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/litecli/Manifest b/dev-db/litecli/Manifest
index a0467c888fe4..26832ab84246 100644
--- a/dev-db/litecli/Manifest
+++ b/dev-db/litecli/Manifest
@@ -1,2 +1,3 @@
DIST litecli-1.10.0.tar.gz 887727 BLAKE2B 141a13760ce24530a72d2a1fb1c896378f1f35a9354b8a6b553792607337b2ea861481f995f1ff016ac4fca1c7bde1aada4c193acd388fdf03095900b137c303 SHA512 aa497fe050f4e1135f2c63f4c0cbab736400158c546a0391f3eca956b38132349ad2eb46505beb52651f74bc5ff1a2ba9b0254e7a6a86d79e461fdd0508fb412
DIST litecli-1.10.1.tar.gz 887832 BLAKE2B 304feead856a148726f729abd46d91fb2d0bbf7d99e05d437814c0e254f7e957f132317194e01e4dd62ddcdd2dda15c1fcba71c3086f286dd6aeb4aefe419f64 SHA512 f53c04a101f8abe52e81450309b6eab766742b0d26900608024ac8112efdc959787ea3c5997e9647529f65a17544ee31cc70f14b503a9ad3566d545568d822dd
+DIST litecli-1.11.0.tar.gz 887986 BLAKE2B 4f445a0d29152998ab0e27ec814f1f46af44db949c817a50e7be8af659525f13113c4a831a8bf4f31a21c7922d93e12c792e8aa44b1e8480619418aeaa72aa89 SHA512 31a97d412d5749b6e8d32b88d8b41fde79d8ca9657da9885f39dc92cb0ad00ac6ab98f931ab57806be05ba9249580f1ea5ff25849d86c2f044dc40f437b6a52e
diff --git a/dev-db/litecli/litecli-1.10.1.ebuild b/dev-db/litecli/litecli-1.10.1.ebuild
index ae7764cb1ede..4efad25ead82 100644
--- a/dev-db/litecli/litecli-1.10.1.ebuild
+++ b/dev-db/litecli/litecli-1.10.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/dbcli/litecli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
>=dev-python/click-4.1[${PYTHON_USEDEP}]
diff --git a/dev-db/litecli/litecli-1.11.0.ebuild b/dev-db/litecli/litecli-1.11.0.ebuild
new file mode 100644
index 000000000000..ae7764cb1ede
--- /dev/null
+++ b/dev-db/litecli/litecli-1.11.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 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/litedb/litedb-5.0.17-r2.ebuild b/dev-db/litedb/litedb-5.0.17-r3.ebuild
index f50faa02587b..40c3fa2ed72d 100644
--- a/dev-db/litedb/litedb-5.0.17-r2.ebuild
+++ b/dev-db/litedb/litedb-5.0.17-r3.ebuild
@@ -3,9 +3,9 @@
EAPI=8
-MY_PN=LiteDB
+MY_PN="LiteDB"
-DOTNET_PKG_COMPAT=7.0
+DOTNET_PKG_COMPAT=8.0
NUGETS="
benchmarkdotnet.annotations@0.12.0
benchmarkdotnet@0.12.0
@@ -267,7 +267,7 @@ pkg_setup() {
src_install() {
dotnet-pkg-base_install
- dotnet-pkg-base_dolauncher "/usr/share/${P}/LiteDB.Shell" "${PN}-shell"
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/${MY_PN}.Shell" "${PN}-shell"
einstalldocs
}
diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest
index 3de8f185e0a8..f1d02b78dde9 100644
--- a/dev-db/lmdb/Manifest
+++ b/dev-db/lmdb/Manifest
@@ -1,2 +1,3 @@
DIST openldap-LMDB_0.9.31.tar.gz 145086 BLAKE2B 8df437c27cb9d40b71a8e9f516c503676dade2342c9d618dcfff6081bf0034f67d1216a6a25a364e7dacd588acb2e254b98486efade12307fa3ad7977be5ed54 SHA512 318aa89b7e39f98f636dba01620f866ddc255d81a2d4def8a9d9fdd80878608db1ac7b60bde58e954aba802d94df42786a9cd00d0c7e11646f09fd5d64821ac4
DIST openldap-LMDB_0.9.32.tar.gz 149188 BLAKE2B 8c15585a10644b791e54d3344c91ad1d86da0af06b02361685ec365309c8188dfd253d7a10f8708cd7f22363f99cc71aaaa170cc3349183f06d0765216cc19ef SHA512 3b8d45085f7a679e27f4b1d8b0a62531d4897d27c2a17f424462da07bd88f6c8fe8d64f866203c9e301b353dff1036fc48d9801917e97cfe7d3fd28f2d918d7a
+DIST openldap-LMDB_0.9.33.tar.gz 149281 BLAKE2B 0750f392fdcb2fd6459943d3d8e8268a6210b25559c882c7705349ad6f68b9dfd71636d01c06b2101fe6aea8deeb21534c3aa06aeeac1a0e925fd4d0d9ef41ca SHA512 57404b35adb5136fcdf60552c2dd2626b9753868f2707d3279725e08145cee3be0d311189b2c6ef6879f25cf09962e6b423c70c8a2e09ef1b368948e873d92b5
diff --git a/dev-db/lmdb/lmdb-0.9.33.ebuild b/dev-db/lmdb/lmdb-0.9.33.ebuild
new file mode 100644
index 000000000000..192658950b08
--- /dev/null
+++ b/dev-db/lmdb/lmdb-0.9.33.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 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"
+S="${WORKDIR}/openldap-${MY_P}/libraries/liblmdb"
+
+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"
+
+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/m17n-db/Manifest b/dev-db/m17n-db/Manifest
index 257feef16d80..75b0c1f48840 100644
--- a/dev-db/m17n-db/Manifest
+++ b/dev-db/m17n-db/Manifest
@@ -1 +1,3 @@
+DIST glibc-2.39.tar.xz 18520988 BLAKE2B 9d98459a2d58401e07c081e0d841935b23998da75a7eb5a7ebd23a1f9ebab99dee623fe166397c1b6c926960c570f62dbca5cb3b5ce84a918adff6b7a15e16bb SHA512 818f58172a52815b4338ea9f2a69ecaa3335492b9f8f64cbf8afb24c0d737982341968ecd79631cae3d3074ab0ae4bc6056fc4ba3ffe790849dc374835cd57e2
DIST m17n-db-1.8.0.tar.gz 1977364 BLAKE2B 303afaf8eb105b8cc034be96efc7790f774870c5cbb688dc33da02847b545b42b20fc041c3842d9fbf9d17417472815e8185df37b58f4d2d72fac762a2669272 SHA512 b21abfdcb5eb42e71fbd5edd1a99eca4a05df14f5a57eac7cdd3dc657337bd143a419f4b3f3dd0b74b82c827ede4d3666dd213af9041593cef50118ee43898d5
+DIST m17n-db-1.8.5.tar.gz 2492374 BLAKE2B 306a86cb74735893f6aafb4869f785108af038c065fb2a51ee26402077d22ff23638176810b411bb23c13c4933d7536e23e48dafe07ab77700c7545d9c9ecf45 SHA512 6c3f42072b7e0a36870fd8143fb1ac7c3efc21c41869d984dfa0cbb87eb1f9958e429f1144a975b401791f0423386a03ab02531f162496531e303d9b0e049987
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 7342e3737171..d3af0f12121c 100644
--- a/dev-db/m17n-db/m17n-db-1.8.0.ebuild
+++ b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
@@ -3,11 +3,15 @@
EAPI="8"
+GLIBC_PV="2.39"
+GLIBC_P="glibc-${GLIBC_PV}"
+
DESCRIPTION="Database for the m17n library"
-HOMEPAGE="https://savannah.nongnu.org/projects/m17n https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git"
-SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
+HOMEPAGE="https://www.nongnu.org/m17n/"
+SRC_URI="mirror://nongnu/m17n/${P}.tar.gz
+ elibc_musl? ( mirror://gnu/glibc/${GLIBC_P}.tar.xz )"
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE=""
@@ -15,6 +19,20 @@ IUSE=""
RDEPEND="virtual/libintl"
BDEPEND="sys-devel/gettext"
+CHARMAPS="${GLIBC_P}/localedata/charmaps"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ if use elibc_musl; then
+ tar xf "${DISTDIR}"/${GLIBC_P}.tar.xz ${CHARMAPS} || die
+ fi
+}
+
+src_configure() {
+ econf $(usex elibc_musl "--with-charmaps=${WORKDIR}/${CHARMAPS}" "")
+}
+
src_install() {
default
diff --git a/dev-db/m17n-db/m17n-db-1.8.5.ebuild b/dev-db/m17n-db/m17n-db-1.8.5.ebuild
new file mode 100644
index 000000000000..15bcacc57b5e
--- /dev/null
+++ b/dev-db/m17n-db/m17n-db-1.8.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+GLIBC_PV="2.39"
+GLIBC_P="glibc-${GLIBC_PV}"
+
+DESCRIPTION="Database for the m17n library"
+HOMEPAGE="https://www.nongnu.org/m17n/"
+SRC_URI="mirror://nongnu/m17n/${P}.tar.gz
+ elibc_musl? ( mirror://gnu/glibc/${GLIBC_P}.tar.xz )"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE=""
+
+RDEPEND="virtual/libintl"
+BDEPEND="sys-devel/gettext"
+
+CHARMAPS="${GLIBC_P}/localedata/charmaps"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ if use elibc_musl; then
+ tar xf "${DISTDIR}"/${GLIBC_P}.tar.xz ${CHARMAPS} || die
+ fi
+}
+
+src_configure() {
+ econf $(usex elibc_musl "--with-charmaps=${WORKDIR}/${CHARMAPS}" "")
+}
+
+src_install() {
+ default
+
+ docinto FORMATS
+ dodoc FORMATS/*
+
+ docinto UNIDATA
+ dodoc UNIDATA/*
+}
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index d0ec58a3a7ae..8d2674bafea2 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -1,11 +1,13 @@
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.11.7.tar.gz 100584592 BLAKE2B 621204ded34097a643d0766292dca8b30d4d28f509db9159939c6b0735959e9fcf563a6c1760daff0a659fa5b3d7da7e0282add4b96b45c3004cdcf23e5312f6 SHA512 a6ebc9ba88b52e5d339b176b6fa48c03fcbe5bb590740a02c1bbd083a3d62e619937e645de2504a9f9adeed2f67127fab0307dece524b7c5217ad5df0f3ccc71
+DIST mariadb-10.11.8.tar.gz 100913048 BLAKE2B 15371d8116963e78ffcd7f3d16d560302f671ecf04cf007ab16aa2832a1b99a2fa9a33d8a1739ff13f05a2608df0246faf33ae187ebc2417437a3d4870c94407 SHA512 61bdbe4a51adb438335c22bfcf75f59864fa0412c7ed6e938ef73fd602c2ef27131dbeef83cd314f2bea54135c6e8f8646608ff96a7ce6ce2c74f34ef6a8675f
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
DIST mariadb-10.6.17.tar.gz 99067793 BLAKE2B 9df7592eb11a92fc4cbf4f1913e11f7ae652effde44358ee930726473a40fc26e46e02dc79e8b16068df37c82afe6b3141305624174d2e44c53107065c57b1ee SHA512 e07cf3e90d93d6139969875b11d6df3210b2c9f69257688b392843a7caed0dc3b75ba8904384fd0a55c24ece624e04b68c005a3731ee68f3957787a27b52ad56
+DIST mariadb-10.6.18.tar.gz 99344652 BLAKE2B 28dee90813dea005bcc94386b67b46734354b508d3ad13384203620d2c5d254b9f0e8d1addc4499fc2e2a7ed0411dba26818944234faf1faf41194aa59262710 SHA512 c4e89639775a8c6063851fa191cb1096b11299d3d22f19657848bc60ba67b2774978f38ca7625d1741ca80b7932fa65727427ae197899d286f921d5c6fc38af5
+DIST mariadb-11.4.2-patches-01.tar.xz 4876 BLAKE2B a306a5ddb04f73fa419e15b1bbfeda43df3a50ad76626732f8db70a75ad7676ad1fdbb5e9e8b3cd49c4e82c47da36aae1e02ddcb28c9abf233fadca39431f9ef SHA512 d9cf96b5479a64be478a785b7e82c1ce6eaee3333c64e768d8649fafb9c0a5a64c36b44a589fbb14e020730d84dc5796705a942907c8f11c5d9c2b04f47f34fe
+DIST mariadb-11.4.2.tar.gz 107373265 BLAKE2B b249e325ec1d67ad642dab9bfd886d24a596ded65f574f7f9b5c77b7d879c21cbbca1d563cf3b8167f72306a273f616d54129bdc17c94f69003896e7cea4d40b SHA512 02db06115e1f1f7c8a872b5cae4e299011813bc9f097e9d77756dfd68d4cb7fc91d6b94380d70910cb6994c0f71d60400a58c226fbce08dd9efc337ab028f6a6
diff --git a/dev-db/mariadb/mariadb-10.11.5-r1.ebuild b/dev-db/mariadb/mariadb-10.11.8.ebuild
index c746545f8e79..406c7f242ccf 100644
--- a/dev-db/mariadb/mariadb-10.11.5-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.11.8.ebuild
@@ -11,7 +11,7 @@ inherit systemd flag-o-matic prefix toolchain-funcs \
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"
+ https://github.com/hydrapolic/gentoo-dist/raw/main/mariadb/mariadb-10.11.6-patches-01.tar.xz"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
@@ -29,7 +29,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
static? ( yassl !pam )
test? ( extraengine )"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~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
@@ -108,6 +108,10 @@ RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb:10.9
!dev-db/mariadb:10.10
!dev-db/mariadb:11.0
+ !dev-db/mariadb:11.1
+ !dev-db/mariadb:11.2
+ !dev-db/mariadb:11.3
+ !dev-db/mariadb:11.4
selinux? ( sec-policy/selinux-mysql )
server? (
columnstore? ( dev-db/mariadb-connector-c )
@@ -206,7 +210,6 @@ src_unpack() {
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
diff --git a/dev-db/mariadb/mariadb-10.6.16.ebuild b/dev-db/mariadb/mariadb-10.6.16.ebuild
deleted file mode 100644
index 675c53c34db1..000000000000
--- a/dev-db/mariadb/mariadb-10.6.16.ebuild
+++ /dev/null
@@ -1,1332 +0,0 @@
-# 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 #855233 (MDEV-11914, MDEV-25633) at least
- filter-lto
- # 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-r1.ebuild b/dev-db/mariadb/mariadb-10.6.18.ebuild
index 8ffeec4aa737..739054f5b222 100644
--- a/dev-db/mariadb/mariadb-10.6.15-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.6.18.ebuild
@@ -11,7 +11,7 @@ inherit systemd flag-o-matic prefix toolchain-funcs \
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"
+ https://github.com/hydrapolic/gentoo-dist/raw/main/mariadb/mariadb-10.6.16-patches-01.tar.xz"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
@@ -29,7 +29,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
static? ( yassl !pam )
test? ( extraengine )"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~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
@@ -111,6 +111,10 @@ RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb:10.10
!dev-db/mariadb:10.11
!dev-db/mariadb:11.0
+ !dev-db/mariadb:11.1
+ !dev-db/mariadb:11.2
+ !dev-db/mariadb:11.3
+ !dev-db/mariadb:11.4
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
selinux? ( sec-policy/selinux-mysql )
@@ -217,7 +221,6 @@ src_unpack() {
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
diff --git a/dev-db/mariadb/mariadb-10.11.6.ebuild b/dev-db/mariadb/mariadb-11.4.2.ebuild
index 17e3f6655187..c0f3096224ad 100644
--- a/dev-db/mariadb/mariadb-10.11.6.ebuild
+++ b/dev-db/mariadb/mariadb-11.4.2.ebuild
@@ -11,7 +11,7 @@ inherit systemd flag-o-matic prefix toolchain-funcs \
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"
+ https://github.com/hydrapolic/gentoo-dist/raw/main/mariadb/mariadb-11.4.2-patches-01.tar.xz"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
@@ -29,7 +29,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
static? ( yassl !pam )
test? ( extraengine )"
-KEYWORDS="~amd64 ~riscv ~x86"
+#KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~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
@@ -107,7 +107,11 @@ RDEPEND="${COMMON_DEPEND}
!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
+ !dev-db/mariadb:11.1
+ !dev-db/mariadb:11.2
+ !dev-db/mariadb:11.3
selinux? ( sec-policy/selinux-mysql )
server? (
columnstore? ( dev-db/mariadb-connector-c )
@@ -206,7 +210,6 @@ src_unpack() {
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
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index d432e2c66186..0d19b4137668 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -1,4 +1,2 @@
DIST mongodb-4.4.29.gh.tar.gz 51651007 BLAKE2B 9e9bd08ce87659fcf788964ec1bff80baef5bb9c2f5bd4968588511d289b9baf9fc68812f72ee89f90fb557dcc8d2ecbb3f607ca8e31c2212ec9633c0b99da37 SHA512 3c32a918c8b5587b04ee9263788c250a9bbd64f34ed2c19939e78607456215697966e596c2cfd160604b629188e4bdf3fff071db268bb3c25de3077a7c2ef335
DIST mongodb-5.0.26.gh.tar.gz 57252091 BLAKE2B a4663a4dbac90118b56646816b178680a6bd99be6abb582fdfdb662c8ddf14eb9db18ed97260a37b2d04bf11715e6cfaa34bb12c4f4b08426e3afa90908f0b3c SHA512 efd56649006bb61070a2f255e8d843e4ddab33562ec9454afe55848dcc3ce8ee90431f70c9362b14e52c4a49a162ea3075a869a6fd71f63efdd5f4358703fea4
-DIST mongodb-src-r4.4.20.tar.gz 50883098 BLAKE2B 3ef2fddc4d926e372033449a14b0a71c606b6f8a9bb6767ff32c8da5a9287bf2972fae9dd83eab3ad934b1341c3edeed7708afd46f9a096819e9eca48aca40f5 SHA512 70b264b6a6f3ec16c8b0750d47026928f6250cb7a1a64d980c400ffbcc3af1b9c6301fe098d209fb8461cba4534b7c2edffdcdeb0548e627da107cc23d9a6b9c
-DIST mongodb-src-r5.0.16.tar.gz 56217257 BLAKE2B d78704c0cff4f8c1da20fdc5e083634c6dbe539136de58410ae6b86c9c5cd8044926425545ae07a7011a5febec5abb6f67773b8e539a4ac16daa1ad0ffc6a070 SHA512 d5fccd6cd3ee3f70457bd96a8eff66ca9872df37e196f1baf26993b6c080297d77504020e5554eaf3a2e92bb2730a467226b4bef47ab7fdc4de247d91c0143eb
diff --git a/dev-db/mongodb/files/mongodb-4.4.29-boost-1.85.patch b/dev-db/mongodb/files/mongodb-4.4.29-boost-1.85.patch
new file mode 100644
index 000000000000..92831264b4e3
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.4.29-boost-1.85.patch
@@ -0,0 +1,146 @@
+https://bugs.gentoo.org/932251#c7
+--- a/src/mongo/db/initialize_server_global_state.cpp 2024-02-13 00:46:45.000000000 -0800
++++ b/src/mongo/db/initialize_server_global_state.cpp 2024-06-05 01:07:27.035053336 -0700
+@@ -34,7 +34,7 @@
+ #include "mongo/db/initialize_server_global_state.h"
+ #include "mongo/db/initialize_server_global_state_gen.h"
+
+-#include <boost/filesystem/operations.hpp>
++#include <boost/filesystem.hpp>
+ #include <fmt/format.h>
+ #include <iostream>
+ #include <memory>
+@@ -346,7 +346,7 @@
+ << "\" should name a file, not a directory.");
+ }
+
+- if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) {
++ if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) {
+ std::string renameTarget = absoluteLogpath + "." + terseCurrentTime(false);
+ boost::system::error_code ec;
+ boost::filesystem::rename(absoluteLogpath, renameTarget, ec);
+
+
+--- a/src/mongo/db/startup_warnings_mongod.cpp 2024-02-13 00:46:45.000000000 -0800
++++ b/src/mongo/db/startup_warnings_mongod.cpp 2024-06-05 01:09:36.740158960 -0700
+@@ -34,6 +34,7 @@
+ #include "mongo/db/startup_warnings_mongod.h"
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <fstream>
+ #ifndef _WIN32
+ #include <sys/resource.h>
+
+
+--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp 2024-06-05 00:46:38.374648451 -0700
++++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp 2024-06-05 00:47:33.178731500 -0700
+@@ -55,7 +55,7 @@
+ // if called without a fully qualified path it asserts; that makes mongoperf fail.
+ // so make a warning. need a better solution longer term.
+ // massert(40389, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
+- if (!file.has_branch_path()) {
++ if (!file.has_parent_path()) {
+ LOGV2(22274,
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+@@ -64,7 +64,7 @@
+ }
+
+
+- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
++ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
+
+ LOGV2_DEBUG(22275, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
+
+
+--- a/src/mongo/db/storage/storage_engine_metadata.cpp 2024-02-13 00:46:45.000000000 -0800
++++ b/src/mongo/db/storage/storage_engine_metadata.cpp 2024-06-05 01:26:46.904273382 -0700
+@@ -220,7 +220,7 @@
+ // if called without a fully qualified path it asserts; that makes mongoperf fail.
+ // so make a warning. need a better solution longer term.
+ // massert(13652, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
+- if (!file.has_branch_path()) {
++ if (!file.has_parent_path()) {
+ LOGV2(22283,
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+@@ -229,7 +229,7 @@
+ }
+
+
+- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
++ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
+
+ LOGV2_DEBUG(22284, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
+
+
+--- a/src/mongo/shell/shell_utils_launcher.cpp 2024-02-13 00:46:45.000000000 -0800
++++ b/src/mongo/shell/shell_utils_launcher.cpp 2024-06-05 01:29:45.140048809 -0700
+@@ -39,6 +39,7 @@
+ #include <boost/iostreams/stream.hpp>
+ #include <boost/iostreams/stream_buffer.hpp>
+ #include <boost/iostreams/tee.hpp>
++#include <boost/filesystem.hpp>
+ #include <cctype>
+ #include <fcntl.h>
+ #include <fmt/format.h>
+@@ -907,26 +908,26 @@
+ boost::filesystem::directory_iterator i(from);
+ while (i != end) {
+ boost::filesystem::path p = *i;
+- if (p.leaf() == "metrics.interim" || p.leaf() == "metrics.interim.temp") {
++ if (p.filename() == "metrics.interim" || p.filename() == "metrics.interim.temp") {
+ // Ignore any errors for metrics.interim* files as these may disappear during copy
+ boost::system::error_code ec;
+- boost::filesystem::copy_file(p, to / p.leaf(), ec);
++ boost::filesystem::copy_file(p, to / p.filename(), ec);
+ if (ec) {
+ LOGV2_INFO(22814,
+ "Skipping copying of file from '{from}' to "
+ "'{to}' due to: {error}",
+ "Skipping copying of file due to error"
+ "from"_attr = p.generic_string(),
+- "to"_attr = (to / p.leaf()).generic_string(),
++ "to"_attr = (to / p.filename()).generic_string(),
+ "error"_attr = ec.message());
+ }
+- } else if (p.leaf() != "mongod.lock" && p.leaf() != "WiredTiger.lock") {
++ } else if (p.filename() != "mongod.lock" && p.filename() != "WiredTiger.lock") {
+ if (boost::filesystem::is_directory(p)) {
+- boost::filesystem::path newDir = to / p.leaf();
++ boost::filesystem::path newDir = to / p.filename();
+ boost::filesystem::create_directory(newDir);
+ copyDir(p, newDir);
+ } else {
+- boost::filesystem::copy_file(p, to / p.leaf());
++ boost::filesystem::copy_file(p, to / p.filename());
+ }
+ }
+ ++i;
+
+
+--- a/src/mongo/scripting/engine.cpp 2024-02-13 00:46:45.000000000 -0800
++++ b/src/mongo/scripting/engine.cpp 2024-06-05 00:59:57.488909335 -0700
+@@ -34,6 +34,7 @@
+ #include "mongo/scripting/engine.h"
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <cctype>
+
+ #include "mongo/client/dbclient_base.h"
+
+
+--- a/src/mongo/shell/shell_utils_launcher.h 2024-02-13 00:46:45.000000000 -0800
++++ b/src/mongo/shell/shell_utils_launcher.h 2024-06-05 01:04:44.286162623 -0700
+@@ -29,7 +29,7 @@
+
+ #pragma once
+
+-#include <boost/filesystem/convenience.hpp>
++#include <boost/filesystem/path.hpp>
+ #include <map>
+ #include <sstream>
+ #include <string>
+
diff --git a/dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch b/dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch
deleted file mode 100644
index 00b82aca94fc..000000000000
--- a/dev-db/mongodb/files/mongodb-4.4.8-gcc-13.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://cgit.openembedded.org/meta-openembedded-contrib/commit/?id=856c21b061e000640829e158b9bb9e978a974386
-
-From 5d8218b8a1b5bc71e2a0cf543a000e194daba599 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 29 Jan 2023 17:15:30 -0800
-Subject: [PATCH] free_mon: Include missing <cstdint>
-
-gcc 13 moved some includes around and as a result <cstdint> is no
-longer transitively included [1]. Explicitly include it
-for uintXX_t.
-
-[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/mongo/db/free_mon/free_mon_options.h
-+++ b/src/mongo/db/free_mon/free_mon_options.h
-@@ -29,6 +29,7 @@
-
- #pragma once
-
-+#include <cstdint>
- #include <string>
- #include <vector>
-
-
diff --git a/dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch b/dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch
new file mode 100644
index 000000000000..71da50fe21eb
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch
@@ -0,0 +1,139 @@
+https://bugs.gentoo.org/932251
+https://github.com/mongodb/mongo/commit/f8e4be7f6da71f978b2aa9991febb4c7ad89c903#diff-010644a9158d28e5745762753c7ce454444c9fb9ab4c684e9f2fdcff50c6f539
+https://bugs.gentoo.org/932251#c3
+
+--- a/src/mongo/db/initialize_server_global_state.cpp
++++ b/src/mongo/db/initialize_server_global_state.cpp
+@@ -34,7 +34,7 @@
+ #include "mongo/db/initialize_server_global_state.h"
+ #include "mongo/db/initialize_server_global_state_gen.h"
+
+-#include <boost/filesystem/operations.hpp>
++#include <boost/filesystem.hpp>
+ #include <fmt/format.h>
+ #include <iostream>
+ #include <memory>
+@@ -328,7 +328,7 @@
+ << "\" should name a file, not a directory.");
+ }
+
+- if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) {
++ if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) {
+ std::string renameTarget = absoluteLogpath + "." + terseCurrentTimeForFilename();
+ boost::system::error_code ec;
+ boost::filesystem::rename(absoluteLogpath, renameTarget, ec);
+--- a/src/mongo/db/startup_warnings_mongod.cpp
++++ b/src/mongo/db/startup_warnings_mongod.cpp
+@@ -34,6 +34,7 @@
+ #include "mongo/db/startup_warnings_mongod.h"
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <fstream>
+ #ifndef _WIN32
+ #include <sys/resource.h>
+--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
++++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
+@@ -55,7 +55,7 @@
+ // if called without a fully qualified path it asserts; that makes mongoperf fail.
+ // so make a warning. need a better solution longer term.
+ // massert(40389, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
+- if (!file.has_branch_path()) {
++ if (!file.has_parent_path()) {
+ LOGV2(22274,
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+@@ -64,7 +64,7 @@
+ }
+
+
+- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
++ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
+
+ LOGV2_DEBUG(22275, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
+
+--- a/src/mongo/db/storage/storage_engine_metadata.cpp
++++ b/src/mongo/db/storage/storage_engine_metadata.cpp
+@@ -220,7 +220,7 @@
+ // if called without a fully qualified path it asserts; that makes mongoperf fail.
+ // so make a warning. need a better solution longer term.
+ // massert(13652, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
+- if (!file.has_branch_path()) {
++ if (!file.has_parent_path()) {
+ LOGV2(22283,
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+@@ -229,7 +229,7 @@
+ }
+
+
+- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts
++ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts
+
+ LOGV2_DEBUG(22284, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string());
+
+--- a/src/mongo/scripting/engine.cpp
++++ b/src/mongo/scripting/engine.cpp
+@@ -35,6 +35,7 @@
+
+ #include <algorithm>
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+
+ #include "mongo/base/string_data.h"
+ #include "mongo/client/dbclient_base.h"
+--- a/src/mongo/shell/shell_utils_launcher.cpp
++++ b/src/mongo/shell/shell_utils_launcher.cpp
+@@ -39,6 +39,7 @@
+ #include <boost/iostreams/stream.hpp>
+ #include <boost/iostreams/stream_buffer.hpp>
+ #include <boost/iostreams/tee.hpp>
++#include <boost/filesystem.hpp>
+ #include <fcntl.h>
+ #include <fmt/format.h>
+ #include <iostream>
+@@ -947,26 +948,26 @@
+ boost::filesystem::directory_iterator i(from);
+ while (i != end) {
+ boost::filesystem::path p = *i;
+- if (p.leaf() == "metrics.interim" || p.leaf() == "metrics.interim.temp") {
++ if (p.filename() == "metrics.interim" || p.filename() == "metrics.interim.temp") {
+ // Ignore any errors for metrics.interim* files as these may disappear during copy
+ boost::system::error_code ec;
+- boost::filesystem::copy_file(p, to / p.leaf(), ec);
++ boost::filesystem::copy_file(p, to / p.filename(), ec);
+ if (ec) {
+ LOGV2_INFO(22814,
+ "Skipping copying of file from '{from}' to "
+ "'{to}' due to: {error}",
+ "Skipping copying of file due to error"
+ "from"_attr = p.generic_string(),
+- "to"_attr = (to / p.leaf()).generic_string(),
++ "to"_attr = (to / p.filename()).generic_string(),
+ "error"_attr = ec.message());
+ }
+- } else if (p.leaf() != "mongod.lock" && p.leaf() != "WiredTiger.lock") {
++ } else if (p.filename() != "mongod.lock" && p.filename() != "WiredTiger.lock") {
+ if (boost::filesystem::is_directory(p)) {
+- boost::filesystem::path newDir = to / p.leaf();
++ boost::filesystem::path newDir = to / p.filename();
+ boost::filesystem::create_directory(newDir);
+ copyDir(p, newDir);
+ } else {
+- boost::filesystem::copy_file(p, to / p.leaf());
++ boost::filesystem::copy_file(p, to / p.filename());
+ }
+ }
+ ++i;
+--- a/src/mongo/shell/shell_utils_launcher.h
++++ b/src/mongo/shell/shell_utils_launcher.h
+@@ -29,7 +29,7 @@
+
+ #pragma once
+
+-#include <boost/filesystem/convenience.hpp>
++#include <boost/filesystem/path.hpp>
+ #include <map>
+ #include <sstream>
+ #include <string>
+
diff --git a/dev-db/mongodb/mongodb-4.4.20.ebuild b/dev-db/mongodb/mongodb-4.4.20.ebuild
deleted file mode 100644
index 12cef7fbaaa0..000000000000
--- a/dev-db/mongodb/mongodb-4.4.20.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-SCONS_MIN_VERSION="3.3.1"
-CHECKREQS_DISK_BUILD="2400M"
-CHECKREQS_DISK_USR="512M"
-CHECKREQS_MEMORY="1024M"
-
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 -riscv"
-IUSE="debug kerberos ssl test +tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="acct-group/mongodb
- acct-user/mongodb
- >=app-arch/snappy-1.1.3:=
- >=dev-cpp/yaml-cpp-0.6.2:=
- dev-libs/boost:=[nls]
- >=dev-libs/libpcre-8.42[cxx]
- app-arch/zstd:=
- dev-libs/snowball-stemmer:=
- net-libs/libpcap
- >=sys-libs/zlib-1.2.11:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- ssl? (
- >=dev-libs/openssl-1.0.1g:0=
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-debug/valgrind )"
-BDEPEND="
- $(python_gen_any_dep '
- test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${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}]
- ')
-"
-PDEPEND="tools? ( >=app-admin/mongo-tools-100 )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.1-fix-scons.patch"
- "${FILESDIR}/${PN}-4.4.8-no-compass.patch"
- "${FILESDIR}/${PN}-4.4.1-boost.patch"
- "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
- "${FILESDIR}/${PN}-4.4.10-boost-1.79.patch"
- "${FILESDIR}/${PN}-4.4.10-no-force-lld.patch"
- "${FILESDIR}/${PN}-4.4.10-boost-1.81.patch"
- "${FILESDIR}/${PN}-4.4.8-gcc-13.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-python_check_deps() {
- if use test; then
- python_has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
- python_has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
- fi
-
- 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}]"
-}
-
-pkg_pretend() {
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 4.2; then
- ewarn "To upgrade from a version earlier than the 4.2-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 4.2-series. Then upgrade to 4.4 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 4.2 before upgrading."
- fi
- fi
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- AR="$(tc-getAR)"
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- --use-system-zstd
- )
-
- use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use ssl && scons_opts+=( --ssl )
-
- # Needed to avoid forcing FORTIFY_SOURCE
- # Gentoo's toolchain applies these anyway
- scons_opts+=( --runtime-hardening=off )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" escons "${scons_opts[@]}" --nostrip install-core
-}
-
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- ewarn "Tests may hang with FEATURES=usersandbox"
- "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}"
-}
-
-src_install() {
- dobin build/install/bin/{mongo,mongod,mongos}
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/mongodb/mongodb-4.4.29.ebuild b/dev-db/mongodb/mongodb-4.4.29.ebuild
index 830acd956f53..7c004e0b2b0a 100644
--- a/dev-db/mongodb/mongodb-4.4.29.ebuild
+++ b/dev-db/mongodb/mongodb-4.4.29.ebuild
@@ -64,6 +64,7 @@ PATCHES=(
"${FILESDIR}/${PN}-4.4.10-no-force-lld.patch"
"${FILESDIR}/${PN}-4.4.10-boost-1.81.patch"
"${FILESDIR}/${P}-no-enterprise.patch"
+ "${FILESDIR}/${PN}-4.4.29-boost-1.85.patch"
)
python_check_deps() {
diff --git a/dev-db/mongodb/mongodb-5.0.16-r1.ebuild b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
deleted file mode 100644
index 239cdc96c99c..000000000000
--- a/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-SCONS_MIN_VERSION="3.3.1"
-CHECKREQS_DISK_BUILD="2400M"
-CHECKREQS_DISK_USR="512M"
-CHECKREQS_MEMORY="1024M"
-
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
-
-MY_P=${PN}-src-r${PV/_rc/-rc}
-
-DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="https://www.mongodb.com"
-SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0 SSPL-1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 -riscv"
-CPU_FLAGS="cpu_flags_x86_avx"
-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
-RESTRICT="test"
-
-RDEPEND="acct-group/mongodb
- acct-user/mongodb
- >=app-arch/snappy-1.1.3:=
- >=dev-cpp/yaml-cpp-0.6.2:=
- dev-libs/boost:=[nls]
- >=dev-libs/libpcre-8.42[cxx]
- app-arch/zstd:=
- dev-libs/snowball-stemmer:=
- net-libs/libpcap
- >=sys-libs/zlib-1.2.11:=
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )
- ssl? (
- >=dev-libs/openssl-1.0.1g:0=
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- debug? ( dev-debug/valgrind )"
-BDEPEND="
- $(python_gen_any_dep '
- >=dev-build/scons-3.1.1[${PYTHON_USEDEP}]
- dev-python/cheetah3[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- ')
-"
-PDEPEND="
- mongosh? ( app-admin/mongosh-bin )
- tools? ( >=app-admin/mongo-tools-100 )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.1-boost.patch"
- "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
- "${FILESDIR}/${PN}-5.0.2-fix-scons.patch"
- "${FILESDIR}/${PN}-5.0.2-no-compass.patch"
- "${FILESDIR}/${PN}-5.0.2-skip-no-exceptions.patch"
- "${FILESDIR}/${PN}-5.0.2-skip-reqs-check.patch"
- "${FILESDIR}/${PN}-5.0.2-boost-1.79.patch"
- "${FILESDIR}/${PN}-5.0.5-no-force-lld.patch"
- "${FILESDIR}/${PN}-4.4.10-boost-1.81.patch"
- "${FILESDIR}/${PN}-5.0.5-boost-1.81-extra.patch"
- "${FILESDIR}/${PN}-4.4.8-gcc-13.patch"
- "${FILESDIR}/${PN}-5.0.16-arm64-assert.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-python_check_deps() {
- 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}]"
-}
-
-pkg_pretend() {
- # Bug 809692 + 890294
- if use amd64 && ! use cpu_flags_x86_avx; then
- ewarn "MongoDB 5.0 requires use of the AVX instruction set."
- ewarn "This ebuild will use --experimental-optimization=-sandybridge which"
- ewarn "will result in an experimental build of MongoDB as per upstream."
- ewarn "https://docs.mongodb.com/v5.0/administration/production-notes/"
- fi
-
- if [[ -n ${REPLACING_VERSIONS} ]]; then
- if ver_test "$REPLACING_VERSIONS" -lt 4.4; then
- ewarn "To upgrade from a version earlier than the 4.4-series, you must"
- ewarn "successively upgrade major releases until you have upgraded"
- ewarn "to 4.4-series. Then upgrade to 5.0 series."
- else
- ewarn "Be sure to set featureCompatibilityVersion to 4.4 before upgrading."
- fi
- fi
-}
-
-src_prepare() {
- default
-
- # remove bundled libs
- rm -r src/third_party/{boost,pcre-*,snappy-*,yaml-cpp,zlib-*} || die
-
- # remove compass
- rm -r src/mongo/installer/compass || die
-}
-
-src_configure() {
- # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
- # --use-system-icu fails tests
- # --use-system-tcmalloc is strongly NOT recommended:
- scons_opts=(
- AR="$(tc-getAR)"
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
-
- --disable-warnings-as-errors
- --force-jobs
- --jobs="$(makeopts_jobs)"
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- --use-system-zstd
- )
-
- use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
- use debug && scons_opts+=( --dbg=on )
- use kerberos && scons_opts+=( --use-sasl-client )
- use amd64 && ! use cpu_flags_x86_avx && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
-
- scons_opts+=( --ssl=$(usex ssl on off) )
-
- # Needed to avoid forcing FORTIFY_SOURCE
- # Gentoo's toolchain applies these anyway
- scons_opts+=( --runtime-hardening=off )
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-
- default
-}
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" ./buildscripts/scons.py "${scons_opts[@]}" install-core || die
-}
-
-src_install() {
- dobin build/install/bin/{mongo,mongod,mongos}
-
- doman debian/mongo*.1
- dodoc README docs/building.md
-
- newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
- newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
- newinitd "${FILESDIR}/mongos.initd-r3" mongos
- newconfd "${FILESDIR}/mongos.confd-r3" mongos
-
- insinto /etc
- newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
- newins "${FILESDIR}/mongos.conf-r2" mongos.conf
-
- systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- # see bug #526114
- pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
-
- local x
- for x in /var/{lib,log}/${PN}; do
- diropts -m0750 -o mongodb -g mongodb
- keepdir "${x}"
- done
-}
-
-pkg_postinst() {
- ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
- ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
-}
diff --git a/dev-db/mongodb/mongodb-5.0.26.ebuild b/dev-db/mongodb/mongodb-5.0.26.ebuild
index a31c0680250e..e8682cfd4a0e 100644
--- a/dev-db/mongodb/mongodb-5.0.26.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.26.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 -riscv"
+KEYWORDS="amd64 ~arm64 -riscv"
CPU_FLAGS="cpu_flags_x86_avx"
IUSE="debug kerberos mongosh ssl +tools ${CPU_FLAGS}"
@@ -74,6 +74,7 @@ PATCHES=(
"${FILESDIR}/${PN}-5.0.5-boost-1.81-extra.patch"
"${FILESDIR}/${PN}-5.0.16-arm64-assert.patch"
"${FILESDIR}/${PN}-4.4.29-no-enterprise.patch"
+ "${FILESDIR}/${PN}-5.0.26-boost-1.85.patch"
)
python_check_deps() {
diff --git a/dev-db/mydumper/files/mydumper-0.15-fix-call-to-open.patch b/dev-db/mydumper/files/mydumper-0.15-fix-call-to-open.patch
new file mode 100644
index 000000000000..46c7f6aea8c5
--- /dev/null
+++ b/dev-db/mydumper/files/mydumper-0.15-fix-call-to-open.patch
@@ -0,0 +1,42 @@
+From https://github.com/mydumper/mydumper/pull/1557
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Sun, 7 Jul 2024 20:40:30 +0000
+Subject: [PATCH] Fix building on musl libc
+
+On musl libc we are getting buid errors:
+mydumper/src/mydumper_stream.c:100:9: error: implicit declaration of function 'open'; did you mean 'popen'? [-Wimplicit-
+function-declaration]
+ 100 | f=open(sf->filename,O_RDONLY);
+ | ^~~~
+ | popen
+mydumper/src/mydumper_stream.c:100:27: error: 'O_RDONLY' undeclared (first use in this function)
+ 100 | f=open(sf->filename,O_RDONLY);
+ | ^~~~~~~~
+This probably due to musl being more strict. Fix was to include the
+fcntl.h header file as the Linux Manual Page suggests open should come
+from fcntl.h
+
+First reported on Gentoo Linux with musl profile
+
+Bug: https://bugs.gentoo.org/935389
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+--- a/src/mydumper_common.c
++++ b/src/mydumper_common.c
+@@ -20,6 +20,7 @@
+ */
+ #include "string.h"
+ #include <stdlib.h>
++#include <fcntl.h>
+ #include <mysql.h>
+ #include <glib.h>
+ #include <glib/gstdio.h>
+--- a/src/mydumper_stream.c
++++ b/src/mydumper_stream.c
+@@ -26,6 +26,7 @@
+ #include "mydumper_stream.h"
+ #include <sys/file.h>
+ #include <errno.h>
++#include <fcntl.h>
+
+ extern GAsyncQueue *stream_queue;
+
diff --git a/dev-db/mydumper/mydumper-0.15.2.8-r1.ebuild b/dev-db/mydumper/mydumper-0.15.2.8-r1.ebuild
new file mode 100644
index 000000000000..388b59989451
--- /dev/null
+++ b/dev-db/mydumper/mydumper-0.15.2.8-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+MY_PV="$(ver_rs 3 -)"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL"
+HOMEPAGE="https://github.com/mydumper/mydumper"
+SRC_URI="https://github.com/mydumper/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="app-arch/zstd
+ dev-db/mysql-connector-c:=
+ dev-libs/glib:2
+ dev-libs/libpcre
+ dev-libs/openssl:=
+ sys-libs/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( dev-python/sphinx )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.13.1-atomic.patch" #654314
+
+ "${FILESDIR}"/${PN}-0.15-Do-not-overwrite-the-user-CFLAGS.patch
+
+ "${FILESDIR}"/${PN}-0.15-fix-call-to-open.patch
+)
+
+src_prepare() {
+ # fix doc install path
+ sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855239
+ #
+ # Fixed upstream in git master:
+ # https://github.com/mydumper/mydumper/pull/1413
+ filter-lto
+
+ local mycmakeargs=(-DBUILD_DOCS=$(usex doc))
+
+ cmake_src_configure
+}
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index 89f6c6141073..6a27f1c9b1a1 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,2 +1,3 @@
DIST antlr-4.11.1-complete.jar 3547867 BLAKE2B 24e9799a402302fd13ebd91028a8e3b8141af50b446bc06bb4df3f7619cad956e9b681c0908b870a1f9d6701049e89099906cdc6038dc007984b19f7a8cc756b SHA512 a445bb71e4470ffa7bbb382a873fe5c5737b96b2c68b57593c1151ed9944ec701ce0c299ea5c3b593bd33916d384d598e2538a9b0b11b41c77a399beca4aab88
DIST mysql-workbench-community-8.0.36-src.tar.gz 27419906 BLAKE2B 47ab5c64b5beee712c9227cdb5c46a6863d830ef75983e0e56702e0b08370b9118b301d0c34ba95180bef2fe0b01ae24791337c9e1922cd412a37f057906027a SHA512 953f072414abb8c236ffccb8a4439dcd4c5eb76ff07f5ca276c35e8cf6102ef73292412fc70113a167f34bd998603ef22b59038ae06cf84d2f0440769c1d9689
+DIST mysql-workbench-community-8.0.38-src.tar.gz 59069184 BLAKE2B ace0afbab46c106200da5234595065766798d97f57008261c166f97bed842f185e1bba90e0c60b9acf4843b54261b5aa49c8a3a6b096e72597443fcb1a011217 SHA512 9fa18d3a66111461dd47dec05ea8dfa214dac85017d51358e694d56cb05439d96a91f675e105cfbecc70c456127964a81ddb2a5a2951457196b20b10dcb6f502
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.38.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.38.ebuild
new file mode 100644
index 000000000000..584f3a01ce3c
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.38.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GCONF_DEBUG="no"
+
+PYTHON_COMPAT=( python3_{10,11,12} )
+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"
+S="${WORKDIR}"/"${MY_P}"
+
+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
+ >=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[legacy(-)]
+ 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"
+
+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/Manifest b/dev-db/mysql/Manifest
index 3efcb891c8b1..83b7c67873ba 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -9,3 +9,4 @@ DIST mysql-boost-8.0.31.tar.gz 334504577 BLAKE2B 0506472c732351a1055be9bbd81212e
DIST mysql-boost-8.0.32.tar.gz 436207624 BLAKE2B 8a75fd6fe12d4f870622b3386118737b8f17d116df625ef6187647c870d456823543e0a1e9aa05fff53313c3872df1df23add2508ec735bb7972718fc1e90539 SHA512 937e0d0350cb583bb4de15b080f08ed92b253a6d7c09f13a028855dae154fc84f0c95fb082b818b2fa6fa792cd2d9db8d7dc7a20a2a0d3d2b6839fbd2c821b44
DIST mysql-boost-8.0.34.tar.gz 439550780 BLAKE2B f50701b7e97e6cec21d6ce0f80f07a8df68a14c637a67841c06f578be8ed01d216dcb3b859a29f1befd4223b99e60675d6fa70f4b227bf6af81804e2c43161d4 SHA512 e5e79ac6870c214cf62c8e2830106d60e09d2e6df30654b84bb5d26864b4eabe777468a223e6ee4c1e22b7f6ec086c73e85e3f4c1fa66912b0e59b606ab46cd6
DIST mysql-boost-8.0.36.tar.gz 438154682 BLAKE2B 066c9dd7f2804ad29808c3bfcf5eae53466f7c40cf1386a9c1f26a0b45dcc3eda8d9618de36e8008e5e4d58b726d6c8ca85aec8d1eda8981f5a49e495b32f046 SHA512 a6c1c009a322b7e7aa2aa607573060414c847c77d48f44a24058ffb89673621f2ebbcc1a4448fa841a87ff721159cc8eaf44a57721c7dc233c130691c16a9d4a
+DIST mysql-boost-8.0.37.tar.gz 445594692 BLAKE2B 105521985ec8c622a28b5e0f7f13e519b2d91af6ce7c2b483cf1c096aa79f156cc59eabb6281b485d6f558eb6e20a95d5edc349bbd72d1c4a2591eef59270f4c SHA512 4c6033d4f96990d3f324f0d5733273425ddf7cc11660e110e0dc848da6cfa47b7565c1eb0b5d1e08878a0ea2c7d1eb85b400ccca28e5b4383f7e9216ba3e1660
diff --git a/dev-db/mysql/mysql-5.7.41.ebuild b/dev-db/mysql/mysql-5.7.41.ebuild
index 3efb6229af13..ded1631d3809 100644
--- a/dev-db/mysql/mysql-5.7.41.ebuild
+++ b/dev-db/mysql/mysql-5.7.41.ebuild
@@ -9,7 +9,7 @@ inherit check-reqs cmake flag-o-matic linux-info \
multiprocessing prefix toolchain-funcs multilib-minimal
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-5.7.36-patches-01.tar.xz"
+PATCH_SET="mirror://gentoo/51/${PN}-5.7.36-patches-01.tar.xz"
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/${PN}-boost-${PV}.tar.gz
https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz
diff --git a/dev-db/mysql/mysql-8.0.36.ebuild b/dev-db/mysql/mysql-8.0.36.ebuild
index 91b033ef3d2f..724501d96d0c 100644
--- a/dev-db/mysql/mysql-8.0.36.ebuild
+++ b/dev-db/mysql/mysql-8.0.36.ebuild
@@ -24,7 +24,7 @@ S="${WORKDIR}/mysql"
LICENSE="GPL-2"
SLOT="8.0"
# -ppc for bug #761715
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/mysql/mysql-8.0.37.ebuild b/dev-db/mysql/mysql-8.0.37.ebuild
new file mode 100644
index 000000000000..27ef30ae8d8c
--- /dev/null
+++ b/dev-db/mysql/mysql-8.0.37.ebuild
@@ -0,0 +1,1281 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs cmake edo flag-o-matic linux-info multiprocessing prefix toolchain-funcs
+
+MY_PV="${PV//_pre*}"
+MY_P="${PN}-${MY_PV}"
+
+# Patch version
+PATCH_SET=( https://github.com/parona-source/mysql-server/releases/download/mysql-8.0.36-patches-01/mysql-8.0.36-patches-01.tar.xz )
+
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+HOMEPAGE="https://www.mysql.com/"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz"
+SRC_URI+=" https://downloads.mysql.com/archives/MySQL-$(ver_cut 1-2)/${PN}-boost-${MY_PV}.tar.gz"
+SRC_URI+=" ${PATCH_SET[@]}"
+# 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"
+
+LICENSE="GPL-2"
+SLOT="8.0"
+# -ppc for bug #761715
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )
+ cjk? ( server )
+ jemalloc? ( server )
+ numa? ( server )
+ profiling? ( server )
+ router? ( server )
+ tcmalloc? ( server )"
+
+# Be warned, *DEPEND are version-dependent
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ >=app-arch/lz4-1.9.4:=
+ >=app-arch/zstd-1.2.0:=
+ >=dev-libs/openssl-1.0.0:=
+ sys-libs/ncurses:=
+ >=sys-libs/zlib-1.2.13:=
+ server? (
+ dev-libs/icu:=
+ dev-libs/libevent:=[ssl,threads(+)]
+ net-libs/libtirpc:=
+ cjk? ( app-text/mecab )
+ jemalloc? ( dev-libs/jemalloc:= )
+ kernel_linux? (
+ dev-libs/libaio
+ sys-process/procps
+ )
+ numa? ( sys-process/numactl )
+ tcmalloc? ( dev-util/google-perftools:= )
+ )
+"
+
+# https://bugs.gentoo.org/623962
+# tests set TZ for tests leading to failures on musl if sys-libs/timezone-data isnt installed
+DEPEND="
+ ${COMMON_DEPEND}
+ app-alternatives/yacc
+ server? ( net-libs/rpcsvc-proto )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/Expect
+ dev-perl/JSON
+ sys-libs/timezone-data
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ !dev-db/mariadb
+ !dev-db/mariadb-galera
+ !dev-db/percona-server
+ !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:5.7
+ selinux? ( sec-policy/selinux-mysql )
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+PATCHES=(
+ "${WORKDIR}"/mysql-patches
+ # Needed due to bundled boost-1.77, this fix is included in boost-1.81
+ "${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch
+)
+
+mysql_init_vars() {
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use server ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="10G"
+
+ if use elibc_musl; then
+ # <parona@protonmail.com> i've seen it take 17GB on musl with FEATURES="test" USE="perl server"
+ CHECKREQS_DISK_BUILD="18G"
+ fi
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="10G"
+
+ if use elibc_musl; then
+ # <parona@protonmail.com> i've seen it take 17GB on musl with FEATURES="test" USE="perl server"
+ CHECKREQS_DISK_BUILD="18G"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+ if [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] ; then
+ die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+ fi
+
+ if use latin1 ; then
+ # Upstream only supports tests with default charset
+ die "Testing with USE=latin1 is not supported."
+ fi
+ fi
+
+ if use kernel_linux && use numa ; then
+ linux-info_get_any_version
+
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ # Avoid rpm call which would trigger sandbox, #692368
+ sed -i \
+ -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
+ CMakeLists.txt || die
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ # Remove man pages for client-lib tools we don't install
+ rm \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1 \
+ || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
+
+ if has sandbox ${FEATURES} ; then
+ # bug #823656
+ append-cppflags -DGTEST_NO_DEATH_TEST=1
+ fi
+
+ local mycmakeargs=(
+ -Wno-dev # less noise
+
+ # Building everything as shared breaks upstream assumptions.
+ # For example bundled abseil is excpected to be static and is therefore not installed.
+ # Breaking the assumption leading the mysql to being built against bundled abseil,
+ # but then dynamically linked against system abseil once installed.
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX}/etc/mysql"
+
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
+
+ -DROUTER_INSTALL_LOGROTATEDIR="${EPREFIX}/etc/logrotate.d"
+ -DROUTER_INSTALL_DOCDIR="share/doc/${PF}"
+
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+
+ # Enables -Werror
+ -DMYSQL_MAINTAINER_MODE=OFF
+
+ # Causes issues on musl bug #922808
+ -DWITH_BUILD_ID=OFF
+
+ # Using bundled editline to get CTRL+C working
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_SSL=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+
+ -DWITH_CURL=system
+ -DWITH_BOOST="${S}/boost"
+ -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"
+ else
+ # debug hack wrt #497532
+ mycmakeargs+=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )"
+ )
+ fi
+
+ if tc-is-lto ; then
+ mycmakeargs+=( -DWITH_LTO=ON )
+ else
+ mycmakeargs+=( -DWITH_LTO=OFF )
+ fi
+
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+
+ mycmakeargs+=(
+ -DWITH_ICU=system
+ -DWITH_LZ4=system
+ # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex
+ -DWITH_RAPIDJSON=bundled
+ -DWITH_ZSTD=system
+ )
+
+ if [[ -n "${MYSQL_DEFAULT_CHARSET}" && -n "${MYSQL_DEFAULT_COLLATION}" ]] ; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+ ewarn "Tests will probably fail!"
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+ elif use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci
+ )
+ fi
+
+ if use server ; then
+ mycmakeargs+=(
+ -DWITH_EXTRA_CHARSETS=all
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_MECAB=$(usex cjk system OFF)
+ -DWITH_LIBEVENT=system
+ # Cannot handle protobuf >23 bug #912797
+ # 05/06/2024: protobuf has been updated,
+ # but it cannot handle abseil when building against system
+ # Currently bundles protobuf-25.1
+ -DWITH_PROTOBUF=bundled
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if use jemalloc ; then
+ mycmakeargs+=( -DWITH_JEMALLOC=ON )
+ elif use tcmalloc ; then
+ mycmakeargs+=( -DWITH_TCMALLOC=ON )
+ fi
+
+ if use profiling ; then
+ # Setting to OFF doesn't work: Once set, profiling options will be added
+ # to `mysqld --help` output via sql/sys_vars.cc causing
+ # "main.mysqld--help-notwin" test to fail
+ mycmakeargs+=( -DENABLED_PROFILING=ON )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_EXAMPLE_STORAGE_ENGINE=0
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_FEDERATED_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+# Official test instructions:
+# ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' \
+# ebuild mysql-X.X.XX.ebuild digest clean test install
+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
+
+ einfo "Official test instructions:"
+ einfo "ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' ebuild ..."
+
+ if ! use server ; then
+ ewarn "Skipping server tests due to minimal build!"
+ return 0
+ fi
+
+ # Ensure that parallel runs don't die
+ local -x MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ local -x MTR_PARALLEL=${MTR_PARALLEL:-$(makeopts_jobs)}
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+
+ # Disable unit tests, run them separately with eclass defaults
+ local -x MTR_UNIT_TESTS=0
+
+ # Increase test timeouts
+ # bug #923649
+ # https://github.com/gentoo/gentoo/pull/35002#issuecomment-1926101030
+ local -x MTR_SUITE_TIMEOUT=$(( 60 * 40 )) # minutes
+ local -x MTR_TESTCASE_TIMEOUT=60 # minutes
+
+ # Include config for tests, this is for scenarios where mysql wasn't installed previously or if the
+ # configuration was from an older version.
+ sed \
+ -e "s/@GENTOO_PORTAGE_EPREFIX@/${EPREFIX}/" \
+ -e "s/@DATADIR@/${MY_DATADIR}/" \
+ "${FILESDIR}"/my.cnf-8.0.distro-client \
+ "${FILESDIR}"/my.cnf-8.0.distro-server \
+ > "${T}"/my.cnf || die
+ local -X PATH_CONFIG_FILE="${T}/my.cnf"
+
+ # Create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" &>/dev/null || die
+
+ touch "${T}/disabled.def" || die
+
+ local -a disabled_tests=(
+ "auth_sec.atomic_rename_user;103512;Depends on user running test"
+ "auth_sec.keyring_file_data_qa;0;Won't work with user privileges"
+ "auth_sec.openssl_without_fips;94718;Known test failure"
+
+ "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)"
+ "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)"
+
+ "innodb.alter_kill;0;Known test failure -- no upstream bug yet"
+
+ "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.mysql_load_data_local_dir;0;Known test failure -- no upstream bug yet"
+ "main.select_icp_mrr;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.subquery_sj_all_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet"
+ "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware"
+
+ "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test"
+ "rpl_gtid.rpl_multi_source_mtr_includes;97844;Unstable test"
+ "main.partition_datatype;0;Unstable test"
+
+ "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware"
+
+ "x.connection;0;Known failure - no upstream bug yet"
+ "main.slow_log;0;Known failure - no upstream bug yet"
+
+ "sys_vars.build_id_basic;0;Requires -DWITH_BUILD_ID=ON"
+ )
+
+ if ! hash zip 1>/dev/null 2>&1 ; then
+ # No need to force dep app-arch/zip for one test
+ disabled_tests+=(
+ "innodb.discarded_partition_create;0;Requires app-arch/zip"
+ "innodb.partition_upgrade_create;0;Requires app-arch/zip"
+ )
+ fi
+
+ if has_version ">=dev-libs/openssl-3.2" ; then
+ # https://bugs.mysql.com/bug.php?id=113258
+ # Fails still with 8.0.37
+ disabled_tests+=(
+ "rpl.rpl_tlsv13;0;CCM8 ciphers have a lower security level with OpenSSL 3.2"
+ "auth_sec.wl15800_ciphers_tlsv13;0;CCM8 ciphers have a lower security level with OpenSSL 3.2"
+ )
+ fi
+
+ if use debug; then
+ disabled_tests+=(
+ "innodb.dblwr_unencrypt;0;Known test failure -- no upstream bug yet"
+ )
+ 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
+
+ local -a CMAKE_SKIP_TESTS=(
+ # timing test, can be unreliable
+ "routertest_harness_net_ts_timer"
+
+ # Could not get local host address: Name or service not known(errno: -2)
+ "routertest_component_bootstrap"
+ "routertest_component_bootstrap_account"
+ "routertest_component_bootstrap_clusterset"
+ "routertest_component_config_overwrites"
+ "routertest_component_rest_api_enable"
+ "routertest_component_routing"
+ "routertest_component_sd_notify"
+ "routertest_component_state_file"
+ "routertest_integration_routing_direct"
+ "routertest_integration_routing_reuse"
+ "routertest_integration_routing_sharing"
+ "routertest_integration_routing_sharing_constrained_pools"
+ "routertest_integration_routing_sharing_restart"
+
+ # TODO: ???
+ "pfs_host-oom"
+ "pfs_user-oom"
+ "pfs"
+ )
+
+ if use debug; then
+ CMAKE_SKIP_TESTS+=(
+ # binary_log::transaction::compression::Payload_event_buffer_istream::~Payload_event_buffer_istream(): Assertion `!m_outstanding_error' failed.
+ "payload_event_buffer_istream"
+ )
+ fi
+
+ # Try to increase file limits to increase test coverage
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage, please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage, please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # run mysql-test tests
+ # Enable force restart to ensure success when tests don't cleanup sufficiently.
+ # Anything touching gtid_executed is negatively affected if you have unlucky ordering
+ nonfatal edo perl mysql-test-run.pl \
+ --force --force-restart \
+ --vardir="${T}/var-tests" --tmpdir="${T}/tmp-tests" \
+ --skip-test=tokudb --skip-test-list="${T}/disabled.def" \
+ --retry-failure=0 --max-test-fail=0
+ 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"
+
+ cmake_src_test
+
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
+ cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ mycnf_src="my.cnf-8.0.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8mb4|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+
+ if use router ; then
+ rm -rf \
+ "${ED}/usr/LICENSE.router" \
+ "${ED}/usr/README.router" \
+ "${ED}/usr/run" \
+ "${ED}/usr/var" \
+ || die
+ fi
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ # NOTE: $MY_LOGDIR contains $EPREFIX by default
+ [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}"
+
+ # Note about configuration change
+ einfo
+ elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/mysql.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog " \"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ einfo
+ else
+ einfo
+ elog "Upgrade process for ${PN}-8.x has changed. Please read"
+ elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html"
+ einfo
+ fi
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
+
+ if [[ ${#results[@]} -gt 0 ]] ; then
+ # When option is set multiple times only return last value
+ echo "${results[-1]}"
+ fi
+ }
+
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
+ local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+ if [[ ! -x "${mysqld_binary}" ]] ; then
+ die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+ if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+ die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+ fi
+
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ local -x HOME="${EROOT}/root"
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ die "Sorry, unable to find MY_DATADIR!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
+ ewarn "Please rename or delete its content if you wish to initialize a new data directory."
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
+ fi
+
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
+ # These are dir+prefix
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+
+ # Create missing directories.
+ # Always check if mysql user can write to directory even if we just
+ # created directory because a parent directory might be not
+ # accessible for that user.
+ PID_DIR="${EROOT}/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
+ || die "Failed to create PID directory '${PID_DIR}'!"
+ fi
+
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
+ else
+ rm "${_pid_dir_testfile}" || die
+ unset _pid_dir_testfile
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
+ else
+ rm "${_my_datadir_testfile}" || die
+ unset _my_datadir_testfile
+ fi
+
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
+ fi
+
+ if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+ MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
+ fi
+
+ # Now we need to test MYSQL_TMPDIR...
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+ else
+ rm "${_my_tmpdir_testfile}" || die
+ unset _my_tmpdir_testfile
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
+ else
+ rm "${_my_logbin_testfile}" || die
+ unset _my_logbin_testfile
+ fi
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
+ else
+ rm "${_my_relaylog_testfile}" || die
+ unset _my_relaylog_testfile
+ fi
+ fi
+
+ local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+ if [[ -z "${mysql_install_log}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
+ fi
+
+ local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+ if [[ -z "${mysqld_logfile}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
+ fi
+
+ echo ""
+ einfo "Detected settings:"
+ einfo "=================="
+ einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+ einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+ einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+ einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+ fi
+
+ einfo "PID DIR:\t\t\t\t${PID_DIR}"
+ einfo "Install db log:\t\t\t${mysql_install_log}"
+ einfo "Install server log:\t\t\t${mysqld_logfile}"
+
+ local -a config_files
+
+ local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..."
+ fi
+
+ config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..."
+ fi
+
+ if [[ ${#config_files[@]} -gt 0 ]] ; then
+ if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then
+ local user_answer
+
+ echo
+ einfo "Please select default authentication plugin (enter number or plugin name):"
+ einfo "1) caching_sha2_password [MySQL 8.0 default]"
+ einfo "2) mysql_native_password [MySQL 5.7 default]"
+ einfo
+ einfo "For details see:"
+ einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password"
+ read -p " >" user_answer
+ echo
+
+ case "${user_answer}" in
+ 1|caching_sha2_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password
+ ;;
+ 2|mysql_native_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password
+ ;;
+ '')
+ die "No authentication plugin selected!"
+ ;;
+ *)
+ die "Authentication plugin '${user_answer}' is unknown/unsupported!"
+ ;;
+ esac
+
+ echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}"
+
+ unset user_answer
+ fi
+
+ local cfg_option cfg_option_tabs cfg_section
+ for config_file in "${config_files[@]}" ; do
+ cfg_option="default-authentication-plugin"
+ cfg_section="mysqld"
+ cfg_option_tabs="\t\t"
+ if [[ "${config_file}" == *client.cnf ]] ; then
+ cfg_option="default-auth"
+ cfg_section="client"
+ cfg_option_tabs="\t\t\t\t"
+ fi
+
+ if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then
+ einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \
+ "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!"
+ else
+ einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \
+ "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!"
+ fi
+ done
+ unset cfg_option cfg_option_tabs cfg_section
+ fi
+ unset config_files config_file
+
+ echo
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client ; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local pwd1="a"
+ local pwd2="b"
+
+ echo
+ einfo "No password for mysql 'root' user was specified via environment"
+ einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
+ einfo "file like '${HOME}/.my.cnf'."
+ einfo "To continue please provide a password for the mysql 'root' user"
+ einfo "now on console:"
+ ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same!"
+ fi
+
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+
+ echo
+ fi
+
+ local -a mysqld_options
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" )
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR}/mysqld-help"
+ "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+
+ local opt optexp optfull
+ for opt in host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ 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="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+ [[ -z "${tz_sql}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
+ echo "USE mysql;" >"${tz_sql}"
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
+ if [[ $? -ne 0 ]] ; then
+ die "mysql_tzinfo_to_sql failed!"
+ fi
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--initialize-insecure"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
+ die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
+ fi
+
+ rm "${tz_sql}" || die
+
+ local x=${RANDOM}
+ local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+ local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
+ unset x
+
+ cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ --max_allowed_packet=8M
+ --net_buffer_length=16K
+ "--socket='${socket}'"
+ "--pid-file='${pidfile}'"
+ "--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
+
+ echo -n "Waiting for mysqld to accept connections "
+ local maxtry=15
+ while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ if [[ -S "${socket}" ]] ; then
+ # Even with a socket we don't know if mysqld will abort
+ # start due to an error so just wait a little bit more...
+ maxtry=5
+ while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ fi
+
+ echo
+
+ if [[ ! -S "${socket}" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
+ die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
+ fi
+
+ local mysql_logfile="${TMPDIR}/set_root_pw.log"
+ touch "${mysql_logfile}" || die
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'"
+ cmd=(
+ "${mysql_binary}"
+ --no-defaults
+ "--socket='${socket}'"
+ -hlocalhost
+ "-e \"${sql}\""
+ )
+ eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
+ local rc=$?
+ eend ${rc}
+
+ if [[ ${rc} -ne 0 ]] ; then
+ # Poor man's solution which tries to avoid having password
+ # in log. NOTE: sed can fail if user didn't follow advice
+ # and included character which will require escaping...
+ sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
+
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
+ die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
+ fi
+
+ # Stop the server
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ echo -n "Stopping the server "
+ pkill -F "${pidfile}" &>/dev/null
+
+ maxtry=10
+ while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ echo
+
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ # We somehow failed to stop server.
+ # However, not a fatal error. Just warn the user.
+ ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
+ fi
+ fi
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild b/dev-db/percona-server/percona-server-8.0.26.16-r2.ebuild
index ebf0aeb32043..b0e0d9ef4d84 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
@@ -17,7 +17,7 @@ MY_MAJOR_PV=$(ver_cut 1-2)
MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/${MY_MAJOR_PV}/"
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/percona-server/${PN}-8.0.26.16-patches-01.tar.xz"
+PATCH_SET="mirror://gentoo/fb/${PN}-8.0.26.16-patches-01.tar.xz"
SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz
https://dl.bintray.com/boostorg/release/${MY_BOOST_VERSION}/source/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION}).tar.bz2
diff --git a/dev-db/pg_background/Manifest b/dev-db/pg_background/Manifest
new file mode 100644
index 000000000000..489edc250c39
--- /dev/null
+++ b/dev-db/pg_background/Manifest
@@ -0,0 +1 @@
+DIST pg_background-1.2.tar.gz 30870 BLAKE2B 809a66ddbe989fe0503f3c5fefd088e8c11338e3cbe44fd5ce0c5c3967a46339a60546d38d3177cc7382c6efd4cf76ca8207f0ab1c668f5582529e5e3229c4b7 SHA512 f4449eae750451286aa5bc8ffd941d2aeb75ff9801f0ed1d902674dfd362eab1ed72783c86ae1b8058dd8e995b441fd669409989cb69fcb237414422cd1b63af
diff --git a/dev-db/pg_background/metadata.xml b/dev-db/pg_background/metadata.xml
new file mode 100644
index 000000000000..2caf1921afa7
--- /dev/null
+++ b/dev-db/pg_background/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>fordfrog@gentoo.org</email>
+ <name>Miroslav Šulc</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">vibhorkum/pg_background</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/pg_background/pg_background-1.2.ebuild b/dev-db/pg_background/pg_background-1.2.ebuild
new file mode 100644
index 000000000000..318571305d31
--- /dev/null
+++ b/dev-db/pg_background/pg_background-1.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+POSTGRES_COMPAT=( 13 14 15 16 )
+
+inherit postgres-multi
+
+DESCRIPTION="Postgres Background Worker"
+HOMEPAGE="https://github.com/vibhorkum/pg_background"
+SRC_URI="https://github.com/vibhorkum/pg_background/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+
+SLOT=0
+KEYWORDS="~amd64"
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ postgres-multi_foreach emake || die "emake failed"
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+}
diff --git a/dev-db/pg_top/Manifest b/dev-db/pg_top/Manifest
index 665565040f09..0b6b37204975 100644
--- a/dev-db/pg_top/Manifest
+++ b/dev-db/pg_top/Manifest
@@ -1 +1,2 @@
DIST pg_top-4.0.0.tar.xz 117920 BLAKE2B 5c13fd868804492ccce3b660875602df958f065126f9dc17f45ebcac7961384cd1d3d3313da49832a1219ea7e86ae78cbbdb975467b13b32d5f836f5cd33a443 SHA512 b7a016137495ceecdcf0ac0e95c73b7eca20b57264f7b63b0a38c3f31db742c704ed0094e07f6df051bce9bc26214f5a8f66ced1e923bb66e0c86fff1e2ffc19
+DIST pg_top-4.1.1.tar.xz 103128 BLAKE2B 6899b3e4963880aff9e4b3d94441903ea6a2141fb2cac56821c9ca3a5333cca4ed6a80c83f6feef34c9fe634c7c7b2d9ab1fbaba844b0485d7a5edb2e5bc9598 SHA512 bc58b0aaf02326d90cd7e6ed894021edf20dd6f7b67125d856bec474afe16cb6f096506c73becbde4a104c61fe62e5281df02f16c7bdbdd74478faa1e91ed9ae
diff --git a/dev-db/pg_top/pg_top-4.1.1.ebuild b/dev-db/pg_top/pg_top-4.1.1.ebuild
new file mode 100644
index 000000000000..d27371e092fe
--- /dev/null
+++ b/dev-db/pg_top/pg_top-4.1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="'top' for PostgreSQL"
+HOMEPAGE="https://pg_top.gitlab.io/"
+SRC_URI="https://pg_top.gitlab.io/source/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-db/postgresql:=
+ dev-libs/libbsd
+ sys-libs/ncurses:=
+ virtual/libelf:="
+DEPEND="${RDEPEND}"
+
+DOCS=( HISTORY.rst README.rst TODO Y2K )
+
+src_prepare() {
+ sed 's/set(CMAKE_C_FLAGS "-Wall")//' -i CMakeLists.txt || die
+ cmake_src_prepare
+}
diff --git a/dev-db/pglogical/Manifest b/dev-db/pglogical/Manifest
index 5741701297c1..a4d86d4a6f96 100644
--- a/dev-db/pglogical/Manifest
+++ b/dev-db/pglogical/Manifest
@@ -1,2 +1 @@
-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
deleted file mode 100644
index 75619daafadd..000000000000
--- a/dev-db/pglogical/pglogical-2.4.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-POSTGRES_COMPAT=( 9.6 {10..14} )
-
-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://www.2ndquadrant.com/en/resources/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/pglogical/pglogical-2.4.4.ebuild b/dev-db/pglogical/pglogical-2.4.4.ebuild
index 27bba65b9239..9354bae60f33 100644
--- a/dev-db/pglogical/pglogical-2.4.4.ebuild
+++ b/dev-db/pglogical/pglogical-2.4.4.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
POSTGRES_COMPAT=( {12..16} )
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
index e03f686b6883..5a02a36343e3 100644
--- a/dev-db/pgpool2/Manifest
+++ b/dev-db/pgpool2/Manifest
@@ -1,3 +1,5 @@
+DIST pgpool-II-4.3.10.tar.gz 4938631 BLAKE2B f32d3f8080a8dced76bd448122110223b50928dbdb61db97ac33d9fca38276700d61fdd0002c1af3c2735f4f04964ff3fd17a2d791210337475e658e7fbe0b43 SHA512 28cc5b303d7437881b4042ce7ac6b516508f20e7db0ecb9c940900b9bfdb2d9311c9f0e80da7e6aeb2075c36fd19f26ef8e35de788483be653f51f64fa60a37d
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
+DIST pgpool-II-4.4.7.tar.gz 5024007 BLAKE2B 701d6b266156c565e562b926aa8c20ebfdc3e318997e9935f58b3f724fa74e2b9e4482c0b6a0f4304c12f863a0c42232d33687754c27eaa1ca46dc77bbe6af19 SHA512 89fa5288a60ae5169c0fdb681d17ebfb3fdffe60dfb275273cd9ea8023fb5bf20c1bdfa6465ef6cd9778616098cebe1bbe7019061f3c55af76bb9ac7eb29bacb
diff --git a/dev-db/pgpool2/pgpool2-4.3.10.ebuild b/dev-db/pgpool2/pgpool2-4.3.10.ebuild
new file mode 100644
index 000000000000..27eb9e8121cd
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.3.10.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+POSTGRES_COMPAT=( 9.6 {10..15} )
+
+inherit autotools flag-o-matic 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() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855248
+ # https://github.com/pgpool/pgpool2/issues/42
+ #
+ filter-lto
+
+ 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.7.ebuild b/dev-db/pgpool2/pgpool2-4.4.7.ebuild
new file mode 100644
index 000000000000..8170c488c799
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.4.7.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+POSTGRES_COMPAT=( {10..16} )
+
+inherit autotools flag-o-matic 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() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855248
+ # https://github.com/pgpool/pgpool2/issues/42
+ #
+ filter-lto
+
+ 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 d87d06d9d225..71de5ad10bf9 100644
--- a/dev-db/pgrouting/Manifest
+++ b/dev-db/pgrouting/Manifest
@@ -1,3 +1,4 @@
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
+DIST pgrouting-3.6.2.tar.gz 3873384 BLAKE2B 118d57018d344055e3a7d7daef07f0f8916918b907d7d7dd5d63e22c8df0315089ab6b52f6a70b5dea4390e9f432cec602c798f46557bac2aa69f69e4d5b8555 SHA512 9fe5649d022bc1330d9f70e42a69de45eaed9fce070f58594996516f295a7bc15c099b2c3ee1c25ee4b4f0d839de4c0cc74174972e7f7f0dc5fa4be395d58dd3
diff --git a/dev-db/pgrouting/pgrouting-3.6.2.ebuild b/dev-db/pgrouting/pgrouting-3.6.2.ebuild
new file mode 100644
index 000000000000..1638d6e53236
--- /dev/null
+++ b/dev-db/pgrouting/pgrouting-3.6.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+
+POSTGRES_COMPAT=( {12..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 a015f57d011e..c5f392c6b9c0 100644
--- a/dev-db/pgtap/Manifest
+++ b/dev-db/pgtap/Manifest
@@ -1,2 +1,2 @@
-DIST pgtap-1.2.0.zip 319374 BLAKE2B 1cea77860a1928ed7cbf4ddb0bb8ff418023bf88e377196ae2b505c065321e3003179227077567e676a8c551230d259ecd1cdb590001fc71bcc821b87fb3d0f6 SHA512 5569bea5e7879787a91fa9b2baae5cbff1db5b9a5a096db2a9a064012d65e02c52bd1520422b5e6f87fb5b6e64845371188ea53c43a277aee68ffc05d5152ed7
DIST pgtap-1.3.1.zip 654637 BLAKE2B 412dfcb51813552541f935328e28fbf8f0a014536a5eee8bf55ea680cd22a6424529641040627f91afebb407872d8d3d4aa25e576d965ddb11514229c2b72591 SHA512 98129bbbdf2221502e52375c3e55dff324e69cb930865d1589949ad2d96ddeac1a215e10d0612f7cc050d9a725817b01b23a9cc3e9cb42ef23a929e593ecb698
+DIST pgtap-1.3.3.zip 329966 BLAKE2B 03ba9f7af9dbb6a8077e5b6dd430171eef4afeb904c65f82b8b962af68852e32ad1dca57e710c8f722c5e2c10eeebe6c890dd3cc61e7c31257974dfaf19cb207 SHA512 6872208501498cb440e46fff9e9f953560551b60fbde11221a7c2d3ccc075780ad59585e0ab0639b630dd902d185b6844754cbc406eef4e4bf90e616adadf2b4
diff --git a/dev-db/pgtap/pgtap-1.2.0-r2.ebuild b/dev-db/pgtap/pgtap-1.3.3.ebuild
index a4658a7fd8c6..1d71d1666e21 100644
--- a/dev-db/pgtap/pgtap-1.2.0-r2.ebuild
+++ b/dev-db/pgtap/pgtap-1.3.3.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-POSTGRES_COMPAT=( 9.6 {10..14} )
+POSTGRES_COMPAT=( {12..16} )
inherit postgres-multi
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index fce28441144b..2406e2d7976a 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -1,12 +1,8 @@
-DIST postgis-3.1.10.tar.gz 17302899 BLAKE2B 735a7ea27b07fe6bc7fb712a33015e230b498e362e83b91777de37c15df4564eb07fe88f3402a135c6a3ef9e300e5fa4569ed0ffa325fb94cd4b82291138857e SHA512 872de412792e5b237e2e60d1b3ffb739186839754286e608485dffa89ab9e58c4237c289b0a8420c9bc448b19f0983a2c32be7f72ccb5b7a7c4096adf9f93d87
+DIST postgis-3.1.11.tar.gz 17283655 BLAKE2B 237bb80ab4e38f0c6f70e6c445b3fbf0d1d547fafb1b7fd7259ace9df7775c6f01f0b9f6c6e74a9a811c5c7e3e6484c9b99b48a5e4753da807e6e05fce4c024e SHA512 0a91e1b1ce336cdc4763bafaf01f98b1bcb80f6e786feb5156fd8841ea8273df28735bf6f185108b27a30dd4a841f414f4400feaf5ebd3684d5a3272ef805715
DIST postgis-3.1.8.tar.gz 17285335 BLAKE2B 212a74866de5b8788b91cfa6d8b3a064df2933c76c8930e3c7bba310b36b4e7249de2d7481e852679da59bb9bdb3315752b62ad70176601b7110401f368200bc SHA512 c28befe1f77e7f36d63b39d027024d3f8abe8496c64c4b3c05eb7c32c3a885e824cabdda5bf0f9f320b9fe15bb97f21d5dfb65a193c64b1e27be95badefe3b37
-DIST postgis-3.1.9.tar.gz 17289185 BLAKE2B a331df130aa8becb4a25e84751f9fcdd494816d8287ade8983bc429eff42c1b98037d07358c4b7e3b9e3daee63aa59ea36f0ae49c5d00bdae9b993526544014a SHA512 b0fd0e7311c7a7672f23d4dc1732c884c7d0766f0f1c0a7e53750bd5fc4d39872dca08f5a5dfc58745fe4c80bb42b2420b63a4cbe76cac02f8e36d8cc9771623
-DIST postgis-3.2.4.tar.gz 16885605 BLAKE2B 341bf09bf5adffc6c48b0fdc6930bac25e43184357895bb90adf000f4fdf52e5c198a530722d46d8b3207e7faffe840de53a9494f3119bb56c3a8e11a4d693f0 SHA512 46bb88ebcf7697e42194e55ef1c323a94222e2870a98aa058d62e1d253c8ad15b14da268eece43b0cdb71d8cdbd2ff393ca451c45998245aaf1726bdffcc563f
-DIST postgis-3.2.5.tar.gz 16888933 BLAKE2B 7d3deb984d7f7ee202abe5deff326debe20ff449f1712abafa2b8bbfd0e56bfbea69a6c16cd10694afd4831c1a0b8e1b9fca89c2748faf092b5402e830714a97 SHA512 7d9f3242aacfc0c071454550ed8683daa211cf29e4b60cf4c7e68fb59ef6e037ff6b53c1a8f5577d224b16cb04e430c47839d9b67097dc4c642312d2f5e485f7
DIST postgis-3.2.6.tar.gz 16886873 BLAKE2B 9bf8375c08d434c0eace1807154c041d0638446385ed67a68c734fa4f5d4e0938bbc1d0761e22db497bc9379e380e6ff8b1e42476b78530f0351f7d242720120 SHA512 30e8a5b9af8a1bb12ed90daa89c71471193142dd7876b7618f237c1dab97a3f5941181cd159a6f33e34b62e6526da4e778f76b658de6fc6861d26e0dd96d10a0
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.3.6.tar.gz 17803608 BLAKE2B 01b3a789df0af8716beefe027a46b59dfcbcee4a8a92f9e067ca1955992fa24a3e890efeb9f83200071f7d267f541444884dd7f76b225d43dbf8961376eff1da SHA512 643527d80bbc0fc29f4639b24634090b2b9a042a3f0d8224afcd7fe4a149e65dba1015c29d08ff0a53da5eb95cb6b37cf544ada36005284eccdd58de3c791419
DIST postgis-3.4.1.tar.gz 14942851 BLAKE2B 98ef490b08438c5ee35409a1c5c63d985d3024325d607a7a150b197aabb8baaaa70ec8c4bd5134136f92a106e6b1c885e3adb99aa325282122bc37d84db0d83f SHA512 66f460077066372276783d8e7acefb0d61ae5fbf7e2d3bbb7008d9289a65adfe78eb8431eee4bbdd3f8e5a9e37653e396d659f46bb285edab00ed57277fae2c7
+DIST postgis-3.4.2.tar.gz 14957647 BLAKE2B 30951950ae24ae0e0432658ef09ec95ffcf0ef377f79e45fb302f20b40d773c9d551d4ac2a07eab4f743ebeff2aae4730c8b7c2516c36a17f44a1410fbdc3069 SHA512 9dc3b78d9b4bd3d48e7eed96fc8da460177d33df2ec5bfef631b7ef39e056a243499732c9cc19274796b522bef83486eac2cea583a92a2cb18d6d329040c5ef0
+DIST postgis-3.5.0alpha2.tar.gz 15014794 BLAKE2B 7268b5e0820687bb3b3a92cc6f419d14e8a7a48d8d9ea456c020e6ddb080d7b9aff044b894c52db8c013146dcbfc2cf042d24c1508118567ce33c03bc2213b73 SHA512 aa51d7ce2b4d0d64a30f527698e551e40dfc8752e83ff2028924a7da13394aa97de9a7e67612afbb890fcde651b2140a0379d61c7e29681014a191701dc8693d
diff --git a/dev-db/postgis/postgis-3.1.10.ebuild b/dev-db/postgis/postgis-3.1.10.ebuild
deleted file mode 100644
index d1478aa5d62d..000000000000
--- a/dev-db/postgis/postgis-3.1.10.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 9.6 {10..14} )
-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}-2.2.0-arflags.patch"
- "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
- "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
-)
-
-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/postgis/postgis-3.1.9.ebuild b/dev-db/postgis/postgis-3.1.11.ebuild
index d1478aa5d62d..2d2522b17ba2 100644
--- a/dev-db/postgis/postgis-3.1.9.ebuild
+++ b/dev-db/postgis/postgis-3.1.11.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 9.6 {10..14} )
POSTGRES_USEDEP="server"
diff --git a/dev-db/postgis/postgis-3.2.4-r1.ebuild b/dev-db/postgis/postgis-3.2.4-r1.ebuild
deleted file mode 100644
index 82013b188b93..000000000000
--- a/dev-db/postgis/postgis-3.2.4-r1.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 9.6 {10..14} )
-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}-2.2.0-arflags.patch"
- "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
-)
-
-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/postgis/postgis-3.2.5.ebuild b/dev-db/postgis/postgis-3.2.5.ebuild
deleted file mode 100644
index 82013b188b93..000000000000
--- a/dev-db/postgis/postgis-3.2.5.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 9.6 {10..14} )
-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}-2.2.0-arflags.patch"
- "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
-)
-
-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/postgis/postgis-3.3.3.ebuild b/dev-db/postgis/postgis-3.3.3.ebuild
deleted file mode 100644
index be3b56049e23..000000000000
--- a/dev-db/postgis/postgis-3.3.3.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( {11..15} )
-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/postgis/postgis-3.3.4.ebuild b/dev-db/postgis/postgis-3.3.4.ebuild
deleted file mode 100644
index be3b56049e23..000000000000
--- a/dev-db/postgis/postgis-3.3.4.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( {11..15} )
-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/postgis/postgis-3.3.5.ebuild b/dev-db/postgis/postgis-3.3.6.ebuild
index 6f4f58e24ace..55ecc49ccb7c 100644
--- a/dev-db/postgis/postgis-3.3.5.ebuild
+++ b/dev-db/postgis/postgis-3.3.6.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( {11..16} )
POSTGRES_USEDEP="server"
@@ -54,8 +54,6 @@ DEPEND="${RDEPEND}
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() {
diff --git a/dev-db/postgis/postgis-3.4.0-r2.ebuild b/dev-db/postgis/postgis-3.4.2.ebuild
index 515b220b2b43..c4edb0ce080a 100644
--- a/dev-db/postgis/postgis-3.4.0-r2.ebuild
+++ b/dev-db/postgis/postgis-3.4.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( {12..16} )
POSTGRES_USEDEP="server"
diff --git a/dev-db/postgis/postgis-3.4.0-r1.ebuild b/dev-db/postgis/postgis-3.5.0_alpha2.ebuild
index 380ebb720957..c6635830012f 100644
--- a/dev-db/postgis/postgis-3.4.0-r1.ebuild
+++ b/dev-db/postgis/postgis-3.5.0_alpha2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( {12..16} )
POSTGRES_USEDEP="server"
@@ -15,7 +15,7 @@ if [[ ${PV} = *9999* ]] ; then
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"
+ KEYWORDS=""
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
@@ -54,8 +54,6 @@ DEPEND="${RDEPEND}
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() {
@@ -97,7 +95,7 @@ src_compile() {
if use doc ; then
postgres-multi_foreach emake comments
- postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake cheatsheets
postgres-multi_forbest emake -C doc html
fi
}
@@ -114,12 +112,7 @@ src_install() {
if use doc ; then
postgres-multi_foreach emake DESTDIR="${D}" comments-install
-
- docinto html
- postgres-multi_forbest dodoc doc/html/{postgis-en.html,style.css}
-
- docinto html/images
- postgres-multi_forbest dodoc -r doc/html/images/*
+ postgres-multi_forbest emake DESTDIR="${D}" -C doc cheatsheet-install html-install html-assets-install
fi
use static-libs || find "${ED}" -name '*.a' -delete
diff --git a/dev-db/postgis/postgis-9999.ebuild b/dev-db/postgis/postgis-9999.ebuild
deleted file mode 100644
index 82013b188b93..000000000000
--- a/dev-db/postgis/postgis-9999.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-POSTGRES_COMPAT=( 9.6 {10..14} )
-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}-2.2.0-arflags.patch"
- "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
- "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
-)
-
-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 9ea61657bb98..b9b775eaf196 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -3,4 +3,4 @@ DIST postgresql-13.15.tar.bz2 21597871 BLAKE2B 63631ea73e42fb846a9a78473d5929a2c
DIST postgresql-14.12.tar.bz2 22390865 BLAKE2B 09848b504c2c970d4b3a5ee3b7eec951f8966c3fcfdd77cea9a001b305ffa8ad55ea08eee2219abb6eb2e6478dddfcd29889308ee8f72eadb39d777e55f5f848 SHA512 cb6729d0fba8aa705c92beecdc5cd1131e64337db6de038da6f5b75c7d9e65381f93f6ebfac601d5622399b9485e8ec558be53e6a7dcc59350a9b053f8836bf9
DIST postgresql-15.7.tar.bz2 23112318 BLAKE2B 6a31ca8b833caf9400ce176211005c2b522e3f431717ad6b73c0df842121d3898dcfddce4626f961539a80b09960fb7659703e6f82d5eadff7217789893b9279 SHA512 8a03e2d7a267f0d11c27d90a2fb605725accb41cfebba2b56c735d4af45bb5f977d4ba051a02ac8d31f93253372df3d3b5efdd159e258d6fcc506b73e3ad6e27
DIST postgresql-16.3.tar.bz2 24737644 BLAKE2B 3390c781631645e9f51f31885d20cfeabf64992af9d56addaf847233e0c652aac8751dcf3a7c041962972de084722aee6070437c0517f729b200baf9e4bda2a3 SHA512 dc1c8d4fbc8e53e9be91dcf1b644b3969bd634f11bf5a1c4fe16619fd386f3349a5509788d43e6a57d099ad75233026d4dd4e0bb180ffc747fd3c1a575c51a5f
-DIST postgresql-17beta1.tar.bz2 21284954 BLAKE2B 611d736e1839350b341f53b5c725f93dc7ebc8d8ae88f92fe5c7b519b23d53afbad0a5af8a6bbdb9dc19cf0097caf0d74cded7fd14f1bd8befe989e93470cea8 SHA512 2844c878d4c2e9b1048eb94cc4db4138ce03d9436a96d597c74aba6b2d75ff4343b127785056357486622d7c89cf3c12e17c7be97efc02a499e0ebb48455462a
+DIST postgresql-17beta2.tar.bz2 21308699 BLAKE2B 4502b9608dbf9bc8d955a7e5f427eec7ea92786999288ad26ee2d8ef4f91443458af0b4dfdc9056589d685ffbdd6bd0b718db7e64672cba61b6bbfd90a026620 SHA512 c942f0fe4241698d359ffbab7dd564c252569792e7472acdb0ad1f7a2029e59d2a64dea6d3880243629769d5f253ff0550666508e476169d718a86803ee44ad0
diff --git a/dev-db/postgresql/postgresql-17_beta1.ebuild b/dev-db/postgresql/postgresql-17_beta2.ebuild
index 0051e4905613..0051e4905613 100644
--- a/dev-db/postgresql/postgresql-17_beta1.ebuild
+++ b/dev-db/postgresql/postgresql-17_beta2.ebuild
diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9999.ebuild
index e5eaa285027b..3f53c730579f 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9999.ebuild
@@ -199,7 +199,7 @@ src_compile() {
# Generates both manpages and HTML documentation.
meson_src_compile docs
else
- meson_src_compile man:alias
+ meson_src_compile man
fi
}
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 3e22e9cdf303..e20e987cfcbf 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,4 +1,3 @@
DIST redis-6.2.14.tar.gz 2496149 BLAKE2B 689a0c3b558e07f43f8b1480fbf7a083184bbc0ccde0b184dc8a1d89ed22bec9694b7c8605ff729c9e9d582e8cf47c8f9cd9ee0794ea15e07cdb0b886e93c116 SHA512 140d4b23c20d459b65be8c61996e281222f978b51c52cb048039d741801e4027775ad89ed354dc0dce3d47703a08610adafaf6253fea2f973d5b9d20bc1e59ce
DIST redis-7.0.15.tar.gz 2994329 BLAKE2B fa1bc85c89cb6a6fb18710a4d29c20db44a80ce445d217f39a234a2aad1d79031e9d1fc45415af7b0eb1c169bd88f45f1fe60cab35de38c6fadc839e2a27676d SHA512 83d58f98085f91754f6d87810e7da0d6cf11ffbe11a0f5d3581d5b2c63d2a752ba6b4eda921a04031aedc56ecebe349cd468ab5ad837493f55d2cac0ab3d015a
-DIST redis-7.2.4.tar.gz 3386861 BLAKE2B 852d55f875378248fa15e189308afbe36bca73c2aa2e5423a765a3d6f6895908ac1455148e032f6d1a1087f57af5869bccf8a932684817109f3fcf09b204e639 SHA512 78590fb6680f229905c240ed8ce7a9a7153e5f8563577dbbb26aebf9bfbdcd7495d687f452bd95e0a86c76d772e1c497b506cf8d29bc97b62c9267f7d1e76f72
DIST redis-7.2.5.tar.gz 3386454 BLAKE2B 5a0e5b0162f684ecd6db4a782a18a3c7bf272ec1ce38e2d2a4b5bc3966d968170f5b968e7f9946fd50d2b942c52298430eeccb386bbb443201eda6ac180c7f2b SHA512 e064a0f380e3a00ab8eb2f10ed7317fd6aa27d64cf00792fab80465036f92d17b166050e71b8a779fdf024528ac736cb54722316811f99951c4e386f4ab2245d
diff --git a/dev-db/redis/redis-7.2.4-r1.ebuild b/dev-db/redis/redis-7.2.4-r1.ebuild
deleted file mode 100644
index 8ccfee0d3429..000000000000
--- a/dev-db/redis/redis-7.2.4-r1.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2024 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 multiprocessing systemd tmpfiles toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value, and data structures database"
-HOMEPAGE="
- https://redis.io
- https://github.com/redis/redis
-"
-SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD Boost-1.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 )"
-
-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}-7.2.0-system-jemalloc.patch
- "${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
- "${FILESDIR}"/${PN}-sentinel-7.2.0-config.patch
- "${FILESDIR}"/${PN}-7.0.4-no-which.patch
-)
-
-src_prepare() {
- default
-
- # Respect user CFLAGS in bundled lua
- sed -i '/LUA_CFLAGS/s: -O2::g' deps/Makefile || die
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- local mysedconf=(
- -e 's:$(CC):@CC@:g'
- -e 's:$(CFLAGS):@AM_CFLAGS@:g'
- -e 's: $(DEBUG)::g'
-
- -e 's:-Werror ::g'
- -e 's:-Werror=deprecated-declarations ::g'
- )
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i "${mysedconf[@]}" "${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() {
- tc-export AR CC RANLIB
-
- local myconf=(
- AR="${AR}"
- CC="${CC}"
- RANLIB="${RANLIB}"
-
- V=1 # verbose
-
- # OPTIMIZATION defaults to -O3. Let's respect user CFLAGS by setting it
- # to empty value.
- OPTIMIZATION=''
- # Disable debug flags in bundled hiredis
- DEBUG_FLAGS=''
-
- BUILD_TLS=$(usex ssl)
- USE_SYSTEMD=$(usex systemd)
- )
-
- if use jemalloc; then
- myconf+=( MALLOC=jemalloc )
- elif use tcmalloc; then
- myconf+=( MALLOC=tcmalloc )
- else
- myconf+=( MALLOC=libc )
- fi
-
- emake "${myconf[@]}"
-}
-
-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.5.ebuild b/dev-db/redis/redis-7.2.5.ebuild
index b82b9e409b2f..5d5a1385e115 100644
--- a/dev-db/redis/redis-7.2.5.ebuild
+++ b/dev-db/redis/redis-7.2.5.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD Boost-1.0"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+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 4f54ccf8ec50..32f775612de1 100644
--- a/dev-db/rqlite/Manifest
+++ b/dev-db/rqlite/Manifest
@@ -1,3 +1,4 @@
-DIST rqlite-8.16.8-vendor.tar.gz 7715303 BLAKE2B 50660bdfb8ce9fa8238ae028916d822e9f5d8e027ee4865f543f97f8a49b92a13e549deb07a5b79e7a52c2c9e994cf6891562a15873b09398c74773f82ffc3d2 SHA512 987c9dbe91766f4847233949cd4251aa3d0a56d23b850bbb552d8f9bb255de3908c4fa440c45e730e861e6f4f60e559a41353659ab9d953b978c45ff986ee9b5
DIST rqlite-8.23.0-deps.tar.xz 3934116 BLAKE2B 3f56e99ab7cc6e9ae6584bfc3bb10ff28a866961a90bb77ee7acc9442d16d37eaa705b5cc85abbf7de3daea77df24ec9b4b65fbff43a11033bc8e0a11bcb089e SHA512 cace762d4f7e3a6d973dcba7ccf40ddc45d05a0cb5669d67a4c9fd4917e826828664779ab2bb293757fb46f2d5fc956d7ecae46b59f4914afe8fadc42d9d95b1
DIST rqlite-8.23.0.tar.gz 613529 BLAKE2B 0c6c790f1a211a10f14a2f03a231567c186504c05618509733f94a7cacb6b4b23abdbeb119067a4a884ddcbc5862d301ede0a83b3059e9ff55b20876c27f85dc SHA512 6247cf72ac295a5892fe992ec90c7733de311142996d4eead2c69752d71ad55326a5f6c4f26f4c5fee229bd0b75a3379460bf69abe0c473517a8fb3ef322889f
+DIST rqlite-8.25.0-deps.tar.xz 3958656 BLAKE2B f48b155e2f8535a4189ff8403fd33e555ad57edfd16546b80f9040852bab26c5580a0f39ebde232396df1cd21b3f08e0c4a9e83fd54837aca75a89d05d159241 SHA512 49b0b010eff36a5a5fdeb243f9b248beb0f96c3d914e62bf1c6f0638b8502b6a08daa84f23620f17411269a4efd703ef60ffa567da1cb72b04538b0fbe994e6b
+DIST rqlite-8.25.0.tar.gz 619814 BLAKE2B 489e572073ea7c19092c0345881381b39ff40c2728b3b4c443ac5c9b7df3172f45e189ef2fc0ee365a9a4274d0f58476efc23ad95bb5e462e84cc449af78ba79 SHA512 79331a6a24d9d42aded35d4e9250af84f522f6bf42ed817ad93c51e019b7cf2e7149ec78de6499aac39608a31da1fbd208fd0db5bee1b6cf92dd793b60559ac3
diff --git a/dev-db/rqlite/rqlite-8.16.8.ebuild b/dev-db/rqlite/rqlite-8.25.0.ebuild
index fb6d652092cd..fb2ae853ec49 100644
--- a/dev-db/rqlite/rqlite-8.16.8.ebuild
+++ b/dev-db/rqlite/rqlite-8.25.0.ebuild
@@ -3,19 +3,18 @@
EAPI=8
inherit go-module
-EGIT_COMMIT=10a5c9bd0e89e05c61e6de1a012470c432ee3591
+EGIT_COMMIT=312d6b01f44630fc4f425d353bdc8dde1f34d860
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"
+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"
LICENSE+=" Apache-2.0 BSD CC0-1.0 MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-S=${WORKDIR}/${P}-vendor
-
src_compile() {
GOBIN="${S}/bin" \
go install \
diff --git a/dev-db/sqlcipher/metadata.xml b/dev-db/sqlcipher/metadata.xml
index 62fd82723761..33cedbfbe782 100644
--- a/dev-db/sqlcipher/metadata.xml
+++ b/dev-db/sqlcipher/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">sqlcipher/sqlcipher</remote-id>
</upstream>
diff --git a/dev-db/sqlcl-bin/Manifest b/dev-db/sqlcl-bin/Manifest
index 8ea1a36cff4b..68f055a40733 100644
--- a/dev-db/sqlcl-bin/Manifest
+++ b/dev-db/sqlcl-bin/Manifest
@@ -1 +1 @@
-DIST sqlcl-23.4.0.023.2321.zip 70205047 BLAKE2B 8b6a3680aeab30c5611f5c7718c488ba636e265e8d618d4698b26fc66d80b3bf167bee8801c1e909f71a9dc0875802bbda90146847c51f011310188c704e5e80 SHA512 2d5310f29c13f801392f3278dcb6241fc5fdc8da219077c5a63fb7ba461b904e3ecb2e813111a6159d1f6ca81aac1b3bfdc17434fc320423a10cc7303a345d77
+DIST sqlcl-24.1.0.087.0929.zip 67804071 BLAKE2B 628c33be33f327e3b77e5c406f53519aee4637dfee5a760f667e6d661016def6040f81bc8ae758a175d499e6efa9903fdeb6b14fb5454f7ec64d5e933910aa37 SHA512 354a07fa291c7a281608c67c5dbf969d3ed2598f8a8b044c6ebecc8f9c1784866109d97926f69608197b354c964abb8ede2892bfaf61065b6bd92f4be27177f6
diff --git a/dev-db/sqlcl-bin/sqlcl-bin-23.4.0.023.2321.ebuild b/dev-db/sqlcl-bin/sqlcl-bin-24.1.0.087.0929.ebuild
index cfea6a71f095..6e9e1bdbeb5d 100644
--- a/dev-db/sqlcl-bin/sqlcl-bin-23.4.0.023.2321.ebuild
+++ b/dev-db/sqlcl-bin/sqlcl-bin-24.1.0.087.0929.ebuild
@@ -9,21 +9,21 @@ MY_P="${MY_PN}-${PV}"
inherit java-pkg-2
DESCRIPTION="Oracle SQLcl is the new SQL*Plus"
-HOMEPAGE="https://www.oracle.com/database/technologies/appdev/sqlcl.html"
+HOMEPAGE="https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/"
SRC_URI="https://download.oracle.com/otn_software/java/sqldeveloper/${MY_P}.zip"
-RESTRICT="mirror"
+
+S="${WORKDIR}"
LICENSE="OTN"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror"
BDEPEND="app-arch/unzip"
RDEPEND="dev-db/oracle-instantclient
dev-java/java-config:2
>=virtual/jre-11"
-S="${WORKDIR}"
-
src_install() {
java-pkg_dojar sqlcl/lib/*.jar sqlcl/lib/ext/*.jar
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 35aa98d4002b..12e948d841ac 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,8 +1,4 @@
-DIST sqlite-doc-3440200.zip 10704552 BLAKE2B 3d50ac157bd2793c9167328994334a417835e5381e432fd8028e064869b8eab2ab1d213815d2232850d695bc71626e9d89518b201888a43673274cba2a1b345d SHA512 a7c92af0d3a61a2450511cfb507785c7ab64c21c6dbcf5a8bdef509d25a6b3ca35ce93a25ca827497c27abca77d11b794fbbc783e4d8e131981bf1d4b29f83e8
-DIST sqlite-doc-3450100.zip 10746925 BLAKE2B 6e45a33b41b8fd1e0b5ef3a44febf5ed53a19883441f0eaef6d811190a26cd072a49d254a35d5b90f92255082f91d3f7956a6e574b638b34f156f7297588b57e SHA512 dc036737973a29ea2b6cb4fe7ab4468f449e21eed34a773600570ed2e57ed4d195286c75afec91ab76ac55e25a0cc82e73c3b3119a9c8e7b5918bae8a1a3c8c0
-DIST sqlite-doc-3450200.zip 10755940 BLAKE2B 5d70100ae972024a44a0dbe3214e0465b819710dc23e7b68e6995d2a8f66286ef4378b7bbb96bfaab2551954aa09f0aa85ebde60b5a672d5a3e2d6c739393a81 SHA512 5e80255b0030dd6dfc0f93a1d6863a35dc319c6567300ac5f4e16d15c322f0b3fc2681cae7d27de0d23bf6731069d0060b9edddf3d7e0b105c538beab53979dc
DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31
-DIST sqlite-src-3440200.zip 14070781 BLAKE2B 9d29964ee15da6a104f4857cb5f2621df5b51d043012789793526f34c56097d7b1b1dcaa7672637f2d16bcab4ff775ba2c8415213b79f80636c0ff2aeff883ba SHA512 5c1fed9c399dad75735a1b4451f8f6be474b07652d74500649e60474691923f56156ef6d5bce51b58367c1676371f1184e32584fe9ac4d5dd0c4776fa6f1d9a3
-DIST sqlite-src-3450100.zip 14152147 BLAKE2B 815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153 SHA512 475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005
-DIST sqlite-src-3450200.zip 14156848 BLAKE2B a830dce41fd6c9ef936115460ed4aa9be277688389c50545fcb5e8ee65317d3adaf51873ec789556cf293418f7059868c7ffac229dc30756ba5137431839ec69 SHA512 b6e875ab4ed24cd564330e50a87f35aae43c382f88ca86c2eedf5308c7fab683c1880c0053408e864b0cec1feb7ae81aca8a91979a3ee3975f26037a7983011a
+DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd
DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9
+DIST sqlite-src-3460000.zip 14275927 BLAKE2B 8f8c7da56226cfbc669bc5cce7c897849dd0c6088189be2fc972fdc58bbc2933df979f040066a1cb9aea942117867eb31c9c97e7074e17215bfe747f9024a6c2 SHA512 441c51943e77655652409965b831df5af8662b4c585134be7fcd9bb5755a495170f37bd6510a80c18c42de72dda23536b583e84e58f042d342dd9e4139ae3327
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
deleted file mode 100644
index 369732f81b38..000000000000
--- a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-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
deleted file mode 100644
index b03848a19147..000000000000
--- a/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-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-lto.patch b/dev-db/sqlite/files/sqlite-3.45.1-lto.patch
deleted file mode 100644
index 3f15d1a29265..000000000000
--- a/dev-db/sqlite/files/sqlite-3.45.1-lto.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# Bug: https://bugs.gentoo.org/924300
-# Taken from https://sqlite.org/src/info/803481f25020f3c
---- a/test/fuzzcheck.c
-+++ b/test/fuzzcheck.c
-@@ -159,12 +159,12 @@
- } g;
-
- /*
- ** Include the external vt02.c and randomjson.c modules.
- */
--extern int sqlite3_vt02_init(sqlite3*,char***,void*);
--extern int sqlite3_randomjson_init(sqlite3*,char***,void*);
-+extern int sqlite3_vt02_init(sqlite3*,char**,const sqlite3_api_routines*);
-+extern int sqlite3_randomjson_init(sqlite3*,char**,const sqlite3_api_routines*);
-
-
- /*
- ** Print an error message and quit.
- */
-
diff --git a/dev-db/sqlite/sqlite-3.44.2-r1.ebuild b/dev-db/sqlite/sqlite-3.44.2-r1.ebuild
deleted file mode 100644
index 51e851f2fb3f..000000000000
--- a/dev-db/sqlite/sqlite-3.44.2-r1.ebuild
+++ /dev/null
@@ -1,433 +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
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.44.2-tracker-regression.patch
-)
-
-_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"
- addpredict "/ÿ.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.2-r2.ebuild b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
deleted file mode 100644
index 8f3314304ad2..000000000000
--- a/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
+++ /dev/null
@@ -1,434 +0,0 @@
-# Copyright 1999-2024 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
-
-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}"
- 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"
- addpredict "/ÿ.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.45.1-r1.ebuild b/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
deleted file mode 100644
index 0e04537b49cf..000000000000
--- a/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
+++ /dev/null
@@ -1,439 +0,0 @@
-# Copyright 1999-2024 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/2024/${PN}-src-${SRC_PV}.zip
- doc? ( https://sqlite.org/2024/${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
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
- "${FILESDIR}"/${P}-lto.patch
-)
-
-_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
- # 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 test/func4.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"
- addpredict "/ÿ.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.45.3.ebuild b/dev-db/sqlite/sqlite-3.45.3.ebuild
index 5843ae513366..3349ca4de37c 100644
--- a/dev-db/sqlite/sqlite-3.45.3.ebuild
+++ b/dev-db/sqlite/sqlite-3.45.3.ebuild
@@ -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"
diff --git a/dev-db/sqlite/sqlite-3.45.2.ebuild b/dev-db/sqlite/sqlite-3.46.0.ebuild
index 46c442c73331..b18d3e50644b 100644
--- a/dev-db/sqlite/sqlite-3.45.2.ebuild
+++ b/dev-db/sqlite/sqlite-3.46.0.ebuild
@@ -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"
@@ -52,7 +52,6 @@ fi
PATCHES=(
"${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
- "${FILESDIR}"/${PN}-3.45.2-tests-x86.patch
)
_fossil_fetch() {
diff --git a/dev-db/sqlitebrowser/files/sqlitebrowser-3.12.2-str-conflict-fix.patch b/dev-db/sqlitebrowser/files/sqlitebrowser-3.12.2-str-conflict-fix.patch
new file mode 100644
index 000000000000..07284ca8ba0c
--- /dev/null
+++ b/dev-db/sqlitebrowser/files/sqlitebrowser-3.12.2-str-conflict-fix.patch
@@ -0,0 +1,13 @@
+--- a/src/version.h
++++ b/src/version.h
+@@ -4,8 +4,8 @@
+ #define MINOR_VERSION 12
+ #define PATCH_VERSION 2
+
+-#define str(s) #s
+-#define xstr(s) str(s)
++#define stringize(s) #s
++#define xstr(s) stringize(s)
+ #define APP_VERSION xstr(MAJOR_VERSION) "." xstr(MINOR_VERSION) "." xstr(PATCH_VERSION)
+
+ // If it is defined by the compiler, then it is a nightly build, and in the YYYYMMDD format.
diff --git a/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild b/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild
index 47ce7cb6cacc..0b6665b1dd80 100644
--- a/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild
+++ b/dev-db/sqlitebrowser/sqlitebrowser-3.12.2-r2.ebuild
@@ -46,6 +46,10 @@ RDEPEND="
>=dev-qt/qtsvg-5.5:5
"
+PATCHES=(
+ "${FILESDIR}/${P}-str-conflict-fix.patch"
+)
+
src_prepare() {
cmake_src_prepare
diff --git a/dev-db/sqlmap/Manifest b/dev-db/sqlmap/Manifest
index 29bf47c4cb30..99a8a73ad737 100644
--- a/dev-db/sqlmap/Manifest
+++ b/dev-db/sqlmap/Manifest
@@ -1,3 +1,3 @@
-DIST sqlmap-1.7.9.gh.tar.gz 7214293 BLAKE2B 45ec0a5e0bf2d2f53a9232ca80f592a2a62b195e3dcd6913fdd343afcc097345cd160d7c39571a7abfe25f3772bbfdb1b4e915e6c0b3f599f86ad2eb201f1ab0 SHA512 0a2aa310b9e1d51cb296be87df5d7c87bdf9daa3a61151ff3a2bca9d58bd2c369c7fa8dfad134d23a00cc034a8c8cd9ff2a326e8883ecad43457604762b42242
DIST sqlmap-1.8.2.gh.tar.gz 7216681 BLAKE2B 9e74c1c2a916f5aefebb8a249e3d7201fdc234f84585f37f82b052117c30c47e06d91b789f9c1de3053e52ee9297941bbd8a3ecc2ebdc2298bebcd5aaba6b30a SHA512 ec49243b9d34bc100ca197022e9397dd84e05459ca9cffe15303fef113a477080ed7bfacc51ed638a2fe0a475ab4b1ca1e930d4a124617dd44219080cf6d999b
-DIST sqlmap-1.8.gh.tar.gz 7216213 BLAKE2B 0a9f43880badec75d5915950a98b1aac12a465b00216e0d01ed3ce0cb23882639d656430932b32d067ab7df693e0bbb67c35e076ac016e48a7ef2d940d0208eb SHA512 80e1555ae0f581c5cc76f41eb8a26e346f675069149010d7267abc3cc59f04ae9d35a72e417c6e28ff6d9c389d04e65dde1240079620a70d733e1873c0ed7450
+DIST sqlmap-1.8.5.gh.tar.gz 7245377 BLAKE2B 449a6eb42bfef68fa3a0d3ed56f67dbb1b1dbcaccd5170d7bd3b3cd4e06d992b0255564574de2920ce15db39e547ba9388aee3c9be05da8b507a8ca751493743 SHA512 ac11fdf7a3d3d3771bb56fb64def231a48efa2dc8e6122de4ad89c2c0ea4177059b44b0d83503d7c114f59fbb4b43e876f195e72c6afd3de32b09bed0a97f1ec
+DIST sqlmap-1.8.6.gh.tar.gz 7245375 BLAKE2B 7223e87ddb682c05e9d76cbb4407790c62146e005335ad45aec65a7445f56cd0e5ebc25a853bc199c44f2e7c98823040afca0b60da7ad5a30b7ffe0791704265 SHA512 d709b2885b19d4b69dab1f76bacdb2d07fe1f29cf24f221a7004387a296d399f934c6f3281ead45ed0e4901fd2924eda9c4202898e6a1aa69c6c5212ab0e6f30
diff --git a/dev-db/sqlmap/sqlmap-1.8.ebuild b/dev-db/sqlmap/sqlmap-1.8.5.ebuild
index caaad5bf9d92..caaad5bf9d92 100644
--- a/dev-db/sqlmap/sqlmap-1.8.ebuild
+++ b/dev-db/sqlmap/sqlmap-1.8.5.ebuild
diff --git a/dev-db/sqlmap/sqlmap-1.7.9.ebuild b/dev-db/sqlmap/sqlmap-1.8.6.ebuild
index cee7e3a24228..e3d99c9eb231 100644
--- a/dev-db/sqlmap/sqlmap-1.7.9.ebuild
+++ b/dev-db/sqlmap/sqlmap-1.8.6.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 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap"
else
SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="amd64 x86"
+ KEYWORDS="~amd64 ~x86"
fi
# sqlmap (GPL-2+)
diff --git a/dev-db/timescaledb/Manifest b/dev-db/timescaledb/Manifest
index 3990ebaa2357..b01d17c0fd1d 100644
--- a/dev-db/timescaledb/Manifest
+++ b/dev-db/timescaledb/Manifest
@@ -1,3 +1,3 @@
-DIST timescaledb-2.14.0.tar.gz 7316149 BLAKE2B d646e20d56ced87f3b95a7a58ed30bcbeec571b1042b64c2fef4f8521248db2142f54cb45d2afbbeb902e451823615fde1bb0259b421350928c146634db9c4d5 SHA512 75a66a51de313fa1beb4a576181888dbe742ffa0325b5813b5b12749c9fc97705eaa030186e424a360ee20745226768a679632182c079117586c5e4a5c108236
DIST timescaledb-2.14.2.tar.gz 7319288 BLAKE2B aa6d56939a4647f9276743cabece77c33760e7f9d451b90aaa03c9391fcfad94afcd315b65c0c589c7188073884bf7ab65f9c796e35f634b8704f334ffa4ac34 SHA512 5a7ab4df5d89b83d423be5d6770098ab0303b22e29166afd3ab91ac2199571df20e33ec9f40bfa90ddf44829571fe696f311d81d27b46d569f2d75e75970e4f9
-DIST timescaledb-2.15.0.tar.gz 7428047 BLAKE2B 6806def8ec01213b81d545817048af569a7b43ab88397e51d25dea680780e7764d9ec0bd638cb9deca6a7492d9a2b0e792adcc46a794cacde83d62c23c09dd83 SHA512 fe2ccc0baa4ec39773a9258142fd287f4ff3c296a39bc19daa75d30a5e3755efc4aa902c00e4e1030f4d5203b95c31c0493a5eb78aed6a26d8226930d1e2aef8
+DIST timescaledb-2.15.2.tar.gz 7440309 BLAKE2B eedec0a989ed216704d14b840ed2113e335dd5594a74f4c20e3aa369dade97f0566d777484758bb7e270720155b2b20a029e6922fb3a141a1346f7d68df2777c SHA512 956f828a282638945037a5c7a8eaf39a1698de5e40ab89b8a60af5a4e5585fdf17eeeafc34e90f03df4a13bbe95466245babb09845a2020f65c77183fccce78e
+DIST timescaledb-2.15.3.tar.gz 7441097 BLAKE2B 35d6edb31be79045ab8b8b409e4fcd28acac261f96be946dfa079bc544890391a6fe1f4695b0c88c8d56aca674563b4f347bb1f5519923b38aeb992e4a527f1c SHA512 c259bea088a03286a392812b23eda05ba7e5c714f9b52cd25b39ea9a280c5147e43d13a71027c43a5029df03e021a0022feb1ae311baae577ec3c56f1d7dfcae
diff --git a/dev-db/timescaledb/timescaledb-2.14.2.ebuild b/dev-db/timescaledb/timescaledb-2.14.2.ebuild
index ec3d2f7794de..e19ac7ef1ca5 100644
--- a/dev-db/timescaledb/timescaledb-2.14.2.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.14.2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 13 14 15 16 )
POSTGRES_USEDEP="ssl"
diff --git a/dev-db/timescaledb/timescaledb-2.14.0.ebuild b/dev-db/timescaledb/timescaledb-2.15.2.ebuild
index ec3d2f7794de..e19ac7ef1ca5 100644
--- a/dev-db/timescaledb/timescaledb-2.14.0.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.15.2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 13 14 15 16 )
POSTGRES_USEDEP="ssl"
diff --git a/dev-db/timescaledb/timescaledb-2.15.0.ebuild b/dev-db/timescaledb/timescaledb-2.15.3.ebuild
index ec3d2f7794de..e19ac7ef1ca5 100644
--- a/dev-db/timescaledb/timescaledb-2.15.0.ebuild
+++ b/dev-db/timescaledb/timescaledb-2.15.3.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
POSTGRES_COMPAT=( 13 14 15 16 )
POSTGRES_USEDEP="ssl"