Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/extra/mysql-workbench
diff options
context:
space:
mode:
Diffstat (limited to 'extra/mysql-workbench')
-rw-r--r--extra/mysql-workbench/PKGBUILD16
-rw-r--r--extra/mysql-workbench/mysql-workbench-community-6.3.10-32bit.patch123
2 files changed, 139 insertions, 0 deletions
diff --git a/extra/mysql-workbench/PKGBUILD b/extra/mysql-workbench/PKGBUILD
new file mode 100644
index 00000000..8d8cf3b3
--- /dev/null
+++ b/extra/mysql-workbench/PKGBUILD
@@ -0,0 +1,16 @@
+# see https://github.com/mysql/mysql-workbench/pull/14/files
+
+source+=('mysql-workbench-community-6.3.10-32bit.patch')
+sha256sums+=('285dd5899c625a5d9091f8f178a6a58c86508dacd033435ba2dab4938cb238f9')
+
+eval "$(
+ declare -f prepare | \
+ sed '
+ /0005-gdal-use-CPLFree.patch/ {
+ a \
+ \
+ # 32-bit compilation bug in jsonview \
+ patch -Np1 < "${srcdir}"/mysql-workbench-community-6.3.10-32bit.patch
+ }
+ '
+)"
diff --git a/extra/mysql-workbench/mysql-workbench-community-6.3.10-32bit.patch b/extra/mysql-workbench/mysql-workbench-community-6.3.10-32bit.patch
new file mode 100644
index 00000000..5aadcff8
--- /dev/null
+++ b/extra/mysql-workbench/mysql-workbench-community-6.3.10-32bit.patch
@@ -0,0 +1,123 @@
+diff -rauN mysql-workbench-community-6.3.10-src/library/base/jsonparser.cpp mysql-workbench-community-6.3.10-src-32bit-patch/library/base/jsonparser.cpp
+--- mysql-workbench-community-6.3.10-src/library/base/jsonparser.cpp 2017-11-09 17:11:42.000000000 +0100
++++ mysql-workbench-community-6.3.10-src-32bit-patch/library/base/jsonparser.cpp 2017-11-20 19:27:01.973630756 +0100
+@@ -912,6 +912,8 @@
+ return _uinteger64;
+ }
+
++#ifdef DEFINE_UINT64_T_FUNCTIONS
++
+ //--------------------------------------------------------------------------------------------------
+
+ int64_t JsonValue::operator=(int64_t other) {
+@@ -929,6 +931,7 @@
+ _uinteger64 = other;
+ return other;
+ }
++#endif // DEFINE_UINT64_T_FUNCTIONS
+
+ #endif
+
+@@ -1668,12 +1671,14 @@
+ 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 -rauN mysql-workbench-community-6.3.10-src/library/forms/jsonview.cpp mysql-workbench-community-6.3.10-src-32bit-patch/library/forms/jsonview.cpp
+--- mysql-workbench-community-6.3.10-src/library/forms/jsonview.cpp 2017-11-09 17:11:42.000000000 +0100
++++ mysql-workbench-community-6.3.10-src-32bit-patch/library/forms/jsonview.cpp 2017-11-20 19:26:16.963100986 +0100
+@@ -651,8 +651,10 @@
+ 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 @@
+ storedValue = number;
+ setData = true;
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ if (!base::is_number(value))
+ break;
+@@ -680,6 +683,7 @@
+ storedValue = number3;
+ setData = true;
+ break;
++#endif
+ case VBoolean:
+ if (!base::isBool(value))
+ break;
+@@ -1073,6 +1077,7 @@
+ 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 @@
+ 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 @@
+ 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:
+@@ -1335,6 +1343,7 @@
+ node->set_float(column, number);
+ _dataChanged(false);
+ break;
++#ifdef DEFINE_UINT64_T_FUNCTIONS
+ case VInt64:
+ if (!base::is_number(value))
+ break;
+@@ -1353,6 +1362,7 @@
+ node->set_float(column, (double)number3);
+ _dataChanged(false);
+ break;
++#endif
+ case VBoolean:
+ if (!base::isBool(value))
+ break;
+@@ -1612,12 +1622,14 @@
+ 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;
+ }