community/mysql-workbench: fix

This commit is contained in:
Kevin Mihelich 2017-11-18 04:23:01 +00:00
parent 5b7c71bf91
commit 5569c643d0
2 changed files with 145 additions and 0 deletions

View file

@ -0,0 +1,139 @@
From 73b6b2f8526080644c0686cf68f621f02d5ef7c7 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Wed, 8 Feb 2017 13:26:51 +0100
Subject: [PATCH] fix build for 32bit systems
---
library/base/jsonparser.cpp | 6 ++++--
library/forms/jsonview.cpp | 12 ++++++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/library/base/jsonparser.cpp b/library/base/jsonparser.cpp
index 6ed4b3f4..fb4e0550 100644
--- a/library/base/jsonparser.cpp
+++ b/library/base/jsonparser.cpp
@@ -343,7 +343,7 @@ namespace JsonParser {
*/
JsonValue &JsonArray::at(SizeType pos) {
if (pos > _data.size())
- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
+ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos));
return _data.at(pos);
}
@@ -358,7 +358,7 @@ namespace JsonParser {
*/
const JsonValue &JsonArray::at(SizeType pos) const {
if (pos > _data.size())
- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
+ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos));
return _data.at(pos);
}
@@ -1668,12 +1668,14 @@ namespace JsonParser {
case VDouble:
_output += std::to_string((double)value);
break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
case VInt64:
_output += std::to_string((int64_t)value);
break;
case VUint64:
_output += std::to_string((uint64_t)value);
break;
+#endif
case VObject:
write((JsonObject)value);
break;
diff --git a/library/forms/jsonview.cpp b/library/forms/jsonview.cpp
index dedca7b9..ca894dfe 100644
--- a/library/forms/jsonview.cpp
+++ b/library/forms/jsonview.cpp
@@ -651,8 +651,10 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const
if (data != nullptr) {
std::stringstream buffer;
double number = 0;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
int64_t number2 = 0;
uint64_t number3 = 0;
+#endif
bool retBool = false;
auto &storedValue = data->getData();
switch (storedValue.getType()) {
@@ -664,6 +666,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const
storedValue = number;
setData = true;
break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
case VInt64:
if (!base::is_number(value))
break;
@@ -680,6 +683,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const
storedValue = number3;
setData = true;
break;
+#endif
case VBoolean:
if (!base::isBool(value))
break;
@@ -1073,6 +1077,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu
node->set_string(1, std::to_string((double)value));
node->set_string(2, "Double");
break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
case VInt64:
node->set_string(1, std::to_string((int64_t)value));
node->set_string(2, "Long Integer");
@@ -1081,6 +1086,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu
node->set_string(1, std::to_string((uint64_t)value));
node->set_string(2, "Unsigned Long Integer");
break;
+#endif
default:
break;
}
@@ -1322,8 +1328,10 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std:
if (data != NULL) {
std::stringstream buffer;
double number = 0;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
int64_t number2 = 0;
uint64_t number3 = 0;
+#endif
bool retBool = false;
switch (storedValue.getType()) {
case VDouble:
@@ -1334,6 +1342,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std:
storedValue = number;
node->set_float(column, number);
_dataChanged(false);
+#ifdef DEFINE_UINT64_T_FUNCTIONS
break;
case VInt64:
if (!base::is_number(value))
@@ -1353,6 +1362,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std:
node->set_float(column, (double)number3);
_dataChanged(false);
break;
+#endif
case VBoolean:
if (!base::isBool(value))
break;
@@ -1612,12 +1622,14 @@ void JsonGridView::generateNumberInTree(JsonParser::JsonValue &value, int column
case VDouble:
node->set_float(columnId, (double)value);
break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
case VInt64:
node->set_long(columnId, (int64_t)value);
break;
case VUint64:
node->set_long(columnId, (uint64_t)value);
break;
+#endif
default:
break;
}
--
2.14.1

View file

@ -7,6 +7,7 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - use our cxxflags plus -fsigned-char
# - keep build fix for i686 (fixes 32-bit ARM)
highmem=1
buildarch=28
@ -39,6 +40,7 @@ source=("https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community
'0001-mysql-workbench-no-check-for-updates.patch'
'0002-disable-unsupported-operating-system-warning.patch'
'0003-add-option-to-hide-nonstandard-server-warning.patch'
'0004-fix-build-for-i686.patch'
'0005-gdal-use-CPLFree.patch'
'0006-mysql-include-my_dir.patch'
'arch_linux_profile.xml')
@ -54,6 +56,7 @@ sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3'
'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf'
'0d65832bc5a73d4cfecef4b552bb78a30ce6020a5fabe5558dcf2ade8341b593'
'3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea'
'763925b336d9a398c15fdd757b6567a2f374a822090d32ffdefca018231128a4'
'0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531'
'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436'
'2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af')
@ -76,6 +79,9 @@ prepare() {
# add option to hide nonstandard server warning
patch -Np1 < "${srcdir}"/0003-add-option-to-hide-nonstandard-server-warning.patch
# fix build for i686
patch -Np1 < "${srcdir}"/0004-fix-build-for-i686.patch
# gdal: use CPLFree()
patch -Np1 < "${srcdir}"/0005-gdal-use-CPLFree.patch