mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/qt5-base to 5.15.2+kde+r215-2
This commit is contained in:
parent
010c013ce6
commit
573cd57de8
2 changed files with 83 additions and 3 deletions
|
@ -9,7 +9,7 @@
|
|||
pkgbase=qt5-base
|
||||
pkgname=(qt5-base qt5-xcb-private-headers)
|
||||
pkgver=5.15.2+kde+r215
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
_commit=2583b4f9397d60c4dd8403ca18c9df5bdf1c5583
|
||||
arch=('x86_64')
|
||||
url='https://www.qt.io'
|
||||
|
@ -35,10 +35,12 @@ groups=('qt' 'qt5')
|
|||
_pkgfqn=qtbase
|
||||
source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit
|
||||
qt5-base-cflags.patch
|
||||
qt5-base-nostrip.patch)
|
||||
qt5-base-nostrip.patch
|
||||
qtbug-95639.patch)
|
||||
sha256sums=('SKIP'
|
||||
'cf707cd970650f8b60f8897692b36708ded9ba116723ec8fcd885576783fe85c'
|
||||
'4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094')
|
||||
'4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094'
|
||||
'562e4ff501d52326658af751a596b948113271774cfa6692f1db0c7cf6609fa4')
|
||||
|
||||
pkgver() {
|
||||
cd $_pkgfqn
|
||||
|
@ -52,6 +54,7 @@ prepare() {
|
|||
|
||||
patch -p1 < ../qt5-base-cflags.patch # Use system CFLAGS in qmake
|
||||
patch -p1 < ../qt5-base-nostrip.patch # Don't strip binaries with qmake
|
||||
patch -p1 < ../qtbug-95639.patch # Fix issues with MariaDB 10.6
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
77
extra/qt5-base/qtbug-95639.patch
Normal file
77
extra/qt5-base/qtbug-95639.patch
Normal file
|
@ -0,0 +1,77 @@
|
|||
diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
||||
index a641935dc5..b1cf4548d1 100644
|
||||
--- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
||||
+++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
||||
@@ -209,7 +209,7 @@ public:
|
||||
struct QMyField
|
||||
{
|
||||
char *outField = nullptr;
|
||||
- MYSQL_FIELD *myField = nullptr;
|
||||
+ const MYSQL_FIELD *myField = nullptr;
|
||||
QMetaType::Type type = QMetaType::UnknownType;
|
||||
my_bool nullIndicator = false;
|
||||
ulong bufLength = 0ul;
|
||||
@@ -346,14 +346,10 @@ static bool qIsInteger(int t)
|
||||
|
||||
void QMYSQLResultPrivate::bindBlobs()
|
||||
{
|
||||
- int i;
|
||||
- MYSQL_FIELD *fieldInfo;
|
||||
- MYSQL_BIND *bind;
|
||||
-
|
||||
- for(i = 0; i < fields.count(); ++i) {
|
||||
- fieldInfo = fields.at(i).myField;
|
||||
+ for(int i = 0; i < fields.count(); ++i) {
|
||||
+ const MYSQL_FIELD *fieldInfo = fields.at(i).myField;
|
||||
if (qIsBlob(inBinds[i].buffer_type) && meta && fieldInfo) {
|
||||
- bind = &inBinds[i];
|
||||
+ MYSQL_BIND *bind = &inBinds[i];
|
||||
bind->buffer_length = fieldInfo->max_length;
|
||||
delete[] static_cast<char*>(bind->buffer);
|
||||
bind->buffer = new char[fieldInfo->max_length];
|
||||
@@ -378,35 +374,32 @@ bool QMYSQLResultPrivate::bindInValues()
|
||||
inBinds = new MYSQL_BIND[fields.size()];
|
||||
memset(inBinds, 0, fields.size() * sizeof(MYSQL_BIND));
|
||||
|
||||
- MYSQL_FIELD *fieldInfo;
|
||||
+ const MYSQL_FIELD *fieldInfo;
|
||||
|
||||
while((fieldInfo = mysql_fetch_field(meta))) {
|
||||
+ MYSQL_BIND *bind = &inBinds[i];
|
||||
+
|
||||
QMyField &f = fields[i];
|
||||
f.myField = fieldInfo;
|
||||
-
|
||||
+ bind->buffer_length = f.bufLength = fieldInfo->length + 1;
|
||||
+ bind->buffer_type = fieldInfo->type;
|
||||
f.type = qDecodeMYSQLType(fieldInfo->type, fieldInfo->flags);
|
||||
if (qIsBlob(fieldInfo->type)) {
|
||||
// the size of a blob-field is available as soon as we call
|
||||
// mysql_stmt_store_result()
|
||||
// after mysql_stmt_exec() in QMYSQLResult::exec()
|
||||
- fieldInfo->length = 0;
|
||||
+ bind->buffer_length = f.bufLength = 0;
|
||||
hasBlobs = true;
|
||||
} else if (qIsInteger(f.type)) {
|
||||
- fieldInfo->length = 8;
|
||||
+ bind->buffer_length = f.bufLength = 8;
|
||||
} else {
|
||||
- fieldInfo->type = MYSQL_TYPE_STRING;
|
||||
+ bind->buffer_type = MYSQL_TYPE_STRING;
|
||||
}
|
||||
- bind = &inBinds[i];
|
||||
- field = new char[fieldInfo->length + 1];
|
||||
- memset(field, 0, fieldInfo->length + 1);
|
||||
-
|
||||
- bind->buffer_type = fieldInfo->type;
|
||||
- bind->buffer = field;
|
||||
- bind->buffer_length = f.bufLength = fieldInfo->length + 1;
|
||||
bind->is_null = &f.nullIndicator;
|
||||
bind->length = &f.bufLength;
|
||||
bind->is_unsigned = fieldInfo->flags & UNSIGNED_FLAG ? 1 : 0;
|
||||
- f.outField=field;
|
||||
+ char *field = new char[bind->buffer_length + 1]{};
|
||||
+ bind->buffer = f.outField = field;
|
||||
|
||||
++i;
|
||||
}
|
Loading…
Reference in a new issue