[packages/mysql-workbench] - up to 6.3.5; still doesn't build

arekm arekm at pld-linux.org
Thu Oct 22 22:28:30 CEST 2015


commit 8039a28a476249f8fc826ed2ba543763f34d033f
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Oct 22 22:28:24 2015 +0200

    - up to 6.3.5; still doesn't build

 mysql-workbench-bug-78668.patch | 25 +++++++++++++++
 mysql-workbench-json.patch      | 70 +++++++++++++++++++++++++++++++++++++++++
 mysql-workbench.spec            |  8 +++--
 3 files changed, 101 insertions(+), 2 deletions(-)
---
diff --git a/mysql-workbench.spec b/mysql-workbench.spec
index c474391..0d2813c 100644
--- a/mysql-workbench.spec
+++ b/mysql-workbench.spec
@@ -13,13 +13,13 @@
 Summary:	Extensible modeling tool for MySQL
 Summary(pl.UTF-8):	Narzędzie do modelowania baz danych dla MySQL-a
 Name:		mysql-workbench
-Version:	6.3.4
+Version:	6.3.5
 Release:	0.1
 License:	GPL v2
 Group:		Applications/Databases
 # Source0Download: http://dev.mysql.com/downloads/workbench/
 Source0:	http://cdn.mysql.com/Downloads/MySQLGUITools/%{name}-community-%{version}-src.tar.gz
-# Source0-md5:	9bcbde151b46cfa374a906cd57dec33a
+# Source0-md5:	efe4caf5ccd45e2d6d69778f294aa2c0
 Source1:	http://www.antlr3.org/download/antlr-3.4-complete.jar
 # Source1-md5:	1b91dea1c7d480b3223f7c8a9aa0e172
 Source2:	PLD_Linux_(MySQL_Package).xml
@@ -28,6 +28,8 @@ Patch1:		log_slow_queries.patch
 Patch2:		bashism.patch
 Patch3:		wrapper-exec.patch
 Patch4:		antlr-res.patch
+Patch5:		mysql-workbench-bug-78668.patch
+Patch6:		mysql-workbench-json.patch
 URL:		http://wb.mysql.com/
 BuildRequires:	OpenGL-devel
 BuildRequires:	autoconf
@@ -103,6 +105,8 @@ skomplikowanych migracji do MySQL-a.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
 cp -p '%{SOURCE2}' res/mysql.profiles
 
 %if %{with system_antlr}
diff --git a/mysql-workbench-bug-78668.patch b/mysql-workbench-bug-78668.patch
new file mode 100644
index 0000000..336d7bc
--- /dev/null
+++ b/mysql-workbench-bug-78668.patch
@@ -0,0 +1,25 @@
+diff --git a/library/forms/swig/mforms.i b/library/forms/swig/mforms.i
+index 3f5104f..cdcca30 100644
+--- a/library/forms/swig/mforms.i
++++ b/library/forms/swig/mforms.i
+@@ -533,7 +533,7 @@ inline boost::function<void (mforms::TextEntryAction)> pycall_void_entryaction_f
+ 
+ #define SWIG_ADD_SIGNAL_BOOL_INT_CALLBACK(method, signal)\
+         void add_##method(PyObject *callback) { signal->connect(pycall_bool_int_fun(callback)); }\
+-        bool call_##method(int i) { return (*signal)(i); }
++        bool call_##method(int i) { return *( (*signal)(i) ); }
+ 
+ #define SWIG_ADD_SIGNAL_VOID_ENTRYACTION_CALLBACK(method, signal)\
+ 	void add_##method(PyObject *callback) { signal->connect(pycall_void_entryaction_fun(callback)); }
+diff --git a/library/forms/view.cpp b/library/forms/view.cpp
+index ec49389..67ff486 100644
+--- a/library/forms/view.cpp
++++ b/library/forms/view.cpp
+@@ -512,7 +512,7 @@ DropPosition View::get_drop_position()
+ bool View::mouse_leave()
+ {
+   if (_signal_mouse_leave.num_slots() > 0)
+-    return _signal_mouse_leave();
++    return *_signal_mouse_leave();
+   return false;
+ }
diff --git a/mysql-workbench-json.patch b/mysql-workbench-json.patch
new file mode 100644
index 0000000..864c20c
--- /dev/null
+++ b/mysql-workbench-json.patch
@@ -0,0 +1,70 @@
+--- mysql-workbench-community-6.3.5-src/plugins/migration/copytable/copytable.cpp~	2015-10-17 16:35:48.000000000 +0200
++++ mysql-workbench-community-6.3.5-src/plugins/migration/copytable/copytable.cpp	2015-10-22 18:42:11.725161258 +0200
+@@ -79,7 +79,9 @@ static const char *mysql_field_type_to_n
+     case MYSQL_TYPE_VAR_STRING: return "MYSQL_TYPE_VAR_STRING";
+     case MYSQL_TYPE_STRING: return "MYSQL_TYPE_STRING";
+     case MYSQL_TYPE_GEOMETRY: return "MYSQL_TYPE_GEOMETRY";
++#ifdef MYSQL_TYPE_JSON
+     case MYSQL_TYPE_JSON: return "MYSQL_TYPE_JSON";
++#endif
+     default:
+       return "UNKNOWN";
+   }
+@@ -241,6 +243,7 @@ RowBuffer::RowBuffer(boost::shared_ptr<s
+       case MYSQL_TYPE_STRING:
+       case MYSQL_TYPE_VAR_STRING:
+       case MYSQL_TYPE_BIT:
++#ifdef MYSQL_TYPE_JSON
+       case MYSQL_TYPE_JSON:
+         if (!col->is_long_data)
+           bind.buffer_length = (unsigned)col->source_length+1;
+@@ -249,6 +252,7 @@ RowBuffer::RowBuffer(boost::shared_ptr<s
+         if (!bind.length)
+           throw std::runtime_error("Could not allocate memory for row buffer");
+         break;
++#endif
+       case MYSQL_TYPE_BLOB:
+       case MYSQL_TYPE_GEOMETRY:
+         // source_length is not reliable (and returns bogus value for access)
+@@ -1551,8 +1555,11 @@ bool MySQLCopyDataSource::fetch_row(RowB
+             rowbuffer[index].buffer_type == MYSQL_TYPE_LONG_BLOB ||
+             rowbuffer[index].buffer_type == MYSQL_TYPE_BLOB ||
+             rowbuffer[index].buffer_type == MYSQL_TYPE_STRING ||
+-            rowbuffer[index].buffer_type == MYSQL_TYPE_GEOMETRY ||
+-            rowbuffer[index].buffer_type == MYSQL_TYPE_JSON)
++            rowbuffer[index].buffer_type == MYSQL_TYPE_GEOMETRY
++#ifdef MYSQL_TYPE_JSON
++            || rowbuffer[index].buffer_type == MYSQL_TYPE_JSON
++#endif
++            )
+           {
+             if (rowbuffer[index].buffer_length)
+               free(rowbuffer[index].buffer);
+@@ -2357,11 +2364,13 @@ bool MySQLCopyDataTarget::append_bulk_co
+     case MYSQL_TYPE_STRING:
+     case MYSQL_TYPE_ENUM:
+     case MYSQL_TYPE_SET:
++#ifdef MYSQL_TYPE_JSON
+     case MYSQL_TYPE_JSON:
+       _bulk_insert_record.append("'", 1);
+       ret_val = _bulk_insert_record.append_escaped((char*)(*_row_buffer)[col_index].buffer, *(*_row_buffer)[col_index].length);
+       _bulk_insert_record.append("'", 1);
+       break;
++#endif
+     case MYSQL_TYPE_TIME:
+     case MYSQL_TYPE_DATE:
+     case MYSQL_TYPE_NEWDATE:
+--- mysql-workbench-community-6.3.5-src/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp~	2015-10-17 16:35:49.000000000 +0200
++++ mysql-workbench-community-6.3.5-src/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp	2015-10-22 18:58:55.605073479 +0200
+@@ -300,9 +300,11 @@ public:
+         case sql::DataType::SET:
+           type= "string";
+           break;
++#ifdef MYSQL_TYPE_JSON
+         case sql::DataType::JSON:
+           type = "json";
+           break;
++#endif
+         case sql::DataType::SQLNULL:
+           type = "null";
+           break;          
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mysql-workbench.git/commitdiff/8039a28a476249f8fc826ed2ba543763f34d033f



More information about the pld-cvs-commit mailing list