From e4d9d6796d5018e338f0b27a3bc97716195bf0b8 Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Sun, 5 Jan 2025 06:31:58 +0000
Subject: gentoo auto-resync : 05:01:2025 - 06:31:57

---
 dev-db/Manifest.gz                                 | Bin 16594 -> 16596 bytes
 dev-db/qt5-sqlcipher/Manifest                      |   5 +-
 .../files/qt5-sqlcipher-1.0.11-qt-5.15.16.patch    |  92 +++++++++++++++++++++
 dev-db/qt5-sqlcipher/metadata.xml                  |   3 +
 .../qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild   |  49 -----------
 .../qt5-sqlcipher/qt5-sqlcipher-1.0.11-r2.ebuild   |  48 +++++++++++
 6 files changed, 146 insertions(+), 51 deletions(-)
 create mode 100644 dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.11-qt-5.15.16.patch
 delete mode 100644 dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild
 create mode 100644 dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r2.ebuild

(limited to 'dev-db')

diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 7b2067405eea..dbe7443e0a17 100644
Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ
diff --git a/dev-db/qt5-sqlcipher/Manifest b/dev-db/qt5-sqlcipher/Manifest
index 959f1b624813..aff99b11b3ae 100644
--- a/dev-db/qt5-sqlcipher/Manifest
+++ b/dev-db/qt5-sqlcipher/Manifest
@@ -1,4 +1,5 @@
 AUX qt5-sqlcipher-1.0.10-install-path.patch 619 BLAKE2B e3e05511cf01e7340507fd5a3b460d7a76ff5c81c3e8aa6b7889acdc64c07db17f1373dc9dfd18793c86ad9a6a4cb960a3b03a557bb054800a223a2273221633 SHA512 b1929067cf0836b80d749b86a18348488d5492352bea91e3d87bae46e4c7052d2768eb1fa88c02efe8eb891013a560c869e889c21e3181e8e454b796d01111ae
+AUX qt5-sqlcipher-1.0.11-qt-5.15.16.patch 4010 BLAKE2B cfb13605e9aa87589f69b4aea1761bd06dbcf7788033659aca22037fb5db29a77556bfe547e7daed42955de8d1dfae1564ed26c6393e0ae35bcf365d2416d9e8 SHA512 41eb2454330473aae18c9ed28b57dd7f1a8c29ec6e35620f700e53c7ad246fa4ddcf84023cd9edf68802d6c23016e784e0f0afaad3dd0daed9e8abfcca2be3a9
 DIST qt5-sqlcipher-1.0.11.tar.gz 267993 BLAKE2B e938f7de368af90cb3304eeb79afcc86354bcecd55e57b7fb73c979e5e40dbf1b0936db37c16b8e9cc3ca4646aac5cd773917eff14735f2eaf91ac67d9432d66 SHA512 6ed4bd6fa7155438266cae2ecaeaea648e9b55df23f7fb811daa7d90fda0ab36e489c28b3739a4cc1103fc5f550e16f9a58f9df4e001e72ac10937bc2115bad9
-EBUILD qt5-sqlcipher-1.0.11-r1.ebuild 1231 BLAKE2B ab0b41d625a689c3e6e250e02389de1d9c025c9243cebe005dd0500c9dcab3df71b225f1843acb9d206107bbca4cb3c1bbe55060b577ca5ea25c0b868314a77a SHA512 84715b64425eda186cf1a8a80ea1a9afebfc2bfea8293b2bd58de4cf4479a946cbc1dfd5a6fd3fc528c497cd2a5cb87e82b19f3ad4d064b83b34081c5c9a6c91
-MISC metadata.xml 213 BLAKE2B 6036cc110b019327f9dd87b41589f79741c81103107f730c22d93ae87dcf3a53d141e19e6f1021d9b4cfda1d9e3bd541104aab5859b5fb28a5e0c2833f8cdd88 SHA512 7f3e93fdb41d7bbc35f196c2f2cafe0fef3c7b4d4b1746274ce8d131a602b3534d85bd8c1f2db022ed338321a5e65230bcbe8d0471d9826025728d75ae411158
+EBUILD qt5-sqlcipher-1.0.11-r2.ebuild 1259 BLAKE2B 6ddc0404d7ab9957b6113202cc158616895b84c1bb24f251a3d8f32fd7d0c968dc3ad8e98070f07f7a7e2e5dd674167c777d2dba7dc381ef0379f907095b1d55 SHA512 30978279e1d2bdd10afd1317aac6a5065fdf8242205c284fb11db8ffea58550395420c2e89893aed6dd105ce1858cd2f80c3f1774b0e970daff03a78f75ed42c
+MISC metadata.xml 302 BLAKE2B fae4aae529c966921bb605028f347174f34505e3511486315f2a9db4bb9e8d1c81dc9b276804062ae5404dcbc5702ed37465f2ebe2e7e4cfc572b698c5ed4ada SHA512 13a1ab59ca6405dc9ba522bc3875c0f8be6d40cf91a90e4f4ba639a933f493ab1443771318def347a2c6dcc62777f9b6d959c8516a0586791e51f8765996e0fe
diff --git a/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.11-qt-5.15.16.patch b/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.11-qt-5.15.16.patch
new file mode 100644
index 000000000000..24277405fdbb
--- /dev/null
+++ b/dev-db/qt5-sqlcipher/files/qt5-sqlcipher-1.0.11-qt-5.15.16.patch
@@ -0,0 +1,92 @@
+--- qt5-sqlcipher-1.0.11/qt-file-cache/5.15.16/qsql_sqlite.cpp
++++ qt5-sqlcipher-1.0.11/qt-file-cache/5.15.16/qsql_sqlite.cpp
+@@ -74,13 +74,18 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-static QString _q_escapeIdentifier(const QString &identifier)
++static QString _q_escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type)
+ {
+     QString res = identifier;
++    // If it contains [ and ] then we assume it to be escaped properly already as this indicates
++    // the syntax is exactly how it should be
++    if (identifier.contains(QLatin1Char('[')) && identifier.contains(QLatin1Char(']')))
++        return res;
+     if (!identifier.isEmpty() && !identifier.startsWith(QLatin1Char('"')) && !identifier.endsWith(QLatin1Char('"'))) {
+         res.replace(QLatin1Char('"'), QLatin1String("\"\""));
+         res.prepend(QLatin1Char('"')).append(QLatin1Char('"'));
+-        res.replace(QLatin1Char('.'), QLatin1String("\".\""));
++        if (type == QSqlDriver::TableName)
++            res.replace(QLatin1Char('.'), QLatin1String("\".\""));
+     }
+     return res;
+ }
+@@ -478,7 +483,12 @@
+         for (int i = 0, currentIndex = 0; i < values.size(); ++i) {
+             if (handledIndexes.contains(i))
+                 continue;
+-            const auto placeHolder = QString::fromUtf8(sqlite3_bind_parameter_name(d->stmt, currentIndex + 1));
++            const char *parameterName = sqlite3_bind_parameter_name(d->stmt, currentIndex + 1);
++            if (!parameterName) {
++                paramCountIsValid = false;
++                continue;
++            }
++            const auto placeHolder = QString::fromUtf8(parameterName);
+             const auto &indexes = d->indexes.value(placeHolder);
+             handledIndexes << indexes;
+             prunedValues << values.at(indexes.first());
+@@ -491,7 +501,7 @@
+     if (paramCountIsValid) {
+         for (int i = 0; i < paramCount; ++i) {
+             res = SQLITE_OK;
+-            const QVariant value = values.at(i);
++            const QVariant &value = values.at(i);
+ 
+             if (value.isNull()) {
+                 res = sqlite3_bind_null(d->stmt, i + 1);
+@@ -900,13 +910,24 @@
+ {
+     QString schema;
+     QString table(tableName);
+-    int indexOfSeparator = tableName.indexOf(QLatin1Char('.'));
++    const int indexOfSeparator = tableName.indexOf(QLatin1Char('.'));
+     if (indexOfSeparator > -1) {
+-        schema = tableName.left(indexOfSeparator).append(QLatin1Char('.'));
+-        table = tableName.mid(indexOfSeparator + 1);
++        const int indexOfCloseBracket = tableName.indexOf(QLatin1Char(']'));
++        if (indexOfCloseBracket != tableName.size() - 1) {
++            // Handles a case like databaseName.tableName
++            schema = tableName.left(indexOfSeparator + 1);
++            table = tableName.mid(indexOfSeparator + 1);
++        } else {
++            const int indexOfOpenBracket = tableName.lastIndexOf(QLatin1Char('['), indexOfCloseBracket);
++            if (indexOfOpenBracket > 0) {
++                // Handles a case like databaseName.[tableName]
++                schema = tableName.left(indexOfOpenBracket);
++                table = tableName.mid(indexOfOpenBracket);
++            }
++        }
+     }
+-    q.exec(QLatin1String("PRAGMA ") + schema + QLatin1String("table_info (") + _q_escapeIdentifier(table) + QLatin1Char(')'));
+-
++    q.exec(QLatin1String("PRAGMA ") + schema + QLatin1String("table_info (") +
++           _q_escapeIdentifier(table, QSqlDriver::TableName) + QLatin1Char(')'));
+     QSqlIndex ind;
+     while (q.next()) {
+         bool isPk = q.value(5).toInt();
+@@ -968,8 +989,7 @@
+ 
+ QString QSQLiteDriver::escapeIdentifier(const QString &identifier, IdentifierType type) const
+ {
+-    Q_UNUSED(type);
+-    return _q_escapeIdentifier(identifier);
++    return _q_escapeIdentifier(identifier, type);
+ }
+ 
+ static void handle_sqlite_callback(void *qobj,int aoperation, char const *adbname, char const *atablename,
+@@ -1046,3 +1066,5 @@
+ }
+ 
+ QT_END_NAMESPACE
++
++#include "moc_qsql_sqlite_p.cpp"
diff --git a/dev-db/qt5-sqlcipher/metadata.xml b/dev-db/qt5-sqlcipher/metadata.xml
index 10e4ea021b98..86d30c454fbf 100644
--- a/dev-db/qt5-sqlcipher/metadata.xml
+++ b/dev-db/qt5-sqlcipher/metadata.xml
@@ -4,4 +4,7 @@
 <maintainer type="person">
   <email>ulm@gentoo.org</email>
 </maintainer>
+<upstream>
+  <remote-id type="github">blizzard4591/qt5-sqlcipher</remote-id>
+</upstream>
 </pkgmetadata>
diff --git a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild
deleted file mode 100644
index 57ef6aa14443..000000000000
--- a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Qt SQL driver plugin for SQLCipher"
-HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher"
-SRC_URI="https://github.com/blizzard4591/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1" # version 2.1 only
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-db/sqlcipher-3.4.1
-	>=dev-qt/qtcore-5.12.3:5=
-	>=dev-qt/qtsql-5.12.3:5=[sqlite] <dev-qt/qtsql-5.16:5=[sqlite]"
-DEPEND="${RDEPEND}"
-
-DOCS=(README.md)
-
-src_prepare() {
-	eapply "${FILESDIR}"/${PN}-1.0.10-install-path.patch
-	sed -i -e "s/@LIBDIR@/$(get_libdir)/" CMakeLists.txt || die
-
-	local v=$(best_version dev-qt/qtsql:5)
-	v=$(ver_cut 1-3 ${v#*/qtsql-})
-	[[ -n ${v} ]] || die "could not determine qtsql version"
-	if ! [[ -d qt-file-cache/${v} ]]; then
-		local vc
-		case $(ver_cut 1-2 ${v}) in
-			5.12) vc=5.12.5 ;;
-			5.13) vc=5.13.2 ;;
-			5.14) vc=5.14.2 ;;
-			5.15) vc=5.15.0 ;;
-			*) die "qtsql-${v} not supported" ;;
-		esac
-		elog "qtsql-${v} not in cache, using ${vc} instead"
-		cp -R qt-file-cache/${vc} qt-file-cache/${v} || die
-	fi
-
-	cmake_src_prepare
-}
-
-src_test() {
-	cd "${BUILD_DIR}" || die
-	./qsqlcipher-test || die
-}
diff --git a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r2.ebuild b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r2.ebuild
new file mode 100644
index 000000000000..60da9b9a752b
--- /dev/null
+++ b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.11-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Qt SQL driver plugin for SQLCipher"
+HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher"
+SRC_URI="https://github.com/blizzard4591/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1" # version 2.1 only
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-db/sqlcipher-3.4.1
+	>=dev-qt/qtcore-5.15.16:5=
+	>=dev-qt/qtsql-5.15.16:5=[sqlite] <dev-qt/qtsql-5.16:5=[sqlite]"
+DEPEND="${RDEPEND}"
+
+DOCS=(README.md)
+
+src_prepare() {
+	eapply "${FILESDIR}"/${PN}-1.0.10-install-path.patch
+	cp -a "${S}"/qt-file-cache/5.15.{0,16} || die
+	eapply "${FILESDIR}"/${P}-qt-5.15.16.patch
+	sed -i -e "s/@LIBDIR@/$(get_libdir)/" CMakeLists.txt || die
+
+	local v=$(best_version dev-qt/qtsql:5)
+	v=$(ver_cut 1-3 ${v#*/qtsql-})
+	[[ -n ${v} ]] || die "could not determine qtsql version"
+	if ! [[ -d qt-file-cache/${v} ]]; then
+		local vc
+		case $(ver_cut 1-2 ${v}) in
+			5.15) vc=5.15.16 ;;
+			*) die "qtsql-${v} not supported" ;;
+		esac
+		elog "qtsql-${v} not in cache, using ${vc} instead"
+		cp -R qt-file-cache/${vc} qt-file-cache/${v} || die
+	fi
+
+	cmake_src_prepare
+}
+
+src_test() {
+	cd "${BUILD_DIR}" || die
+	./qsqlcipher-test || die
+}
-- 
cgit v1.2.3