commit:     5270e1de52c3b27edf3dd777b07e1f859008a421
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Thu May 25 06:44:23 2017 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Thu May 25 06:44:23 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5270e1de

dev-db/mysql-workbench: add 6.3.9, fixing bug 567226

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 dev-db/mysql-workbench/Manifest                    |   1 +
 .../files/mysql-workbench-6.2.5-wbcopytables.patch |   4 +-
 .../files/mysql-workbench-6.3.9-mariadb-json.patch |  55 +++++++++++
 .../mysql-workbench/mysql-workbench-6.3.9.ebuild   | 103 +++++++++++++++++++++
 4 files changed, 161 insertions(+), 2 deletions(-)

diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index 6854db6f8bc..9b917725e76 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,2 +1,3 @@
 DIST antlr-3.4-complete.jar 2388361 SHA256 
9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7 SHA512 
04be4dfba3a21f3ab9d9e439a64958bd8e844a9f151b798383bd9e0dd6ebc416783ae7cb1d1dbb27fb7288ab9756b13b8338cdb8ceb41a10949c852ad45ab1f2
 WHIRLPOOL 
488b7b9af1d1d06cca163d43e7be190730e2f0421796c21a26ace11196ee37a16b1bdeea78a1e2e64f8ca0e87f67a2aecd066af21505f3dd92dd76de40a94fa0
 DIST mysql-workbench-community-6.3.4-src.tar.gz 14954524 SHA256 
be47f30c48c04f951a1be9b6496e4d94d5b975d6c693933ba2fa6e96718179d3 SHA512 
8d7eacd46fd3cac912dac2fdbc0669759f9411796507cca76b0ad47228381b15b7f88e60a7a5a8763e704b456884828783cb0c7ed218025edb35aa5033d7d02f
 WHIRLPOOL 
9e00ce475e573ee8b875d9f25d73d488cf68ff96b2eb006dba1dc7e424c70a0650cac42dcc3ed34648c5879354cab5311eaf6729e9b307718935d543c4f43bf5
+DIST mysql-workbench-community-6.3.9-src.tar.gz 14634678 SHA256 
607af29481821b25c13c8b28011162c9d6d5e9ef96df5f664408116b88308951 SHA512 
a3df060114adb0c4f95423dc2732a39917be4eb2281cc2d811cc68c2d43cfa28eea52c4ab743018e91c8c58b0ad7d4b34a9936df8c17381accee8159afe19901
 WHIRLPOOL 
654eaa76d6f132e50ca904aae54c07a7d2aabe746e519f5c6c8cd5d40529ebe022616d5ef28be8dd322aba19e589dc8d9dd2bb4c5f2356fa7b5698a84190208e

diff --git 
a/dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch 
b/dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch
index 0fcc837fef0..2d3d8db243f 100644
--- a/dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch
@@ -1,5 +1,5 @@
---- plugins/migration/CMakeLists.txt.~1~       2015-02-25 09:08:47.000000000 
+0100
-+++ plugins/migration/CMakeLists.txt   2015-03-07 07:28:56.745378152 +0100
+--- a/plugins/migration/CMakeLists.txt.~1~     2015-02-25 09:08:47.000000000 
+0100
++++ b/plugins/migration/CMakeLists.txt 2015-03-07 07:28:56.745378152 +0100
 @@ -10,7 +10,8 @@
  if (UNIX)
    configure_file(wbcopytables.in wbcopytables)

diff --git 
a/dev-db/mysql-workbench/files/mysql-workbench-6.3.9-mariadb-json.patch 
b/dev-db/mysql-workbench/files/mysql-workbench-6.3.9-mariadb-json.patch
new file mode 100644
index 00000000000..74c84e374dc
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.3.9-mariadb-json.patch
@@ -0,0 +1,55 @@
+--- a/plugins/migration/copytable/copytable.cpp.~1~    2017-02-03 
19:40:18.000000000 +0100
++++ b/plugins/migration/copytable/copytable.cpp        2017-05-21 
17:23:14.135875375 +0200
+@@ -109,8 +109,10 @@
+       return "MYSQL_TYPE_STRING";
+     case MYSQL_TYPE_GEOMETRY:
+       return "MYSQL_TYPE_GEOMETRY";
++#ifndef MARIADB_BASE_VERSION    
+     case MYSQL_TYPE_JSON:
+       return "MYSQL_TYPE_JSON";
++#endif     
+     default:
+       return "UNKNOWN";
+   }
+@@ -295,7 +297,9 @@
+       case MYSQL_TYPE_STRING:
+       case MYSQL_TYPE_VAR_STRING:
+       case MYSQL_TYPE_BIT:
++#ifndef MARIADB_BASE_VERSION        
+       case MYSQL_TYPE_JSON:
++#endif        
+         if (!col->is_long_data)
+           bind.buffer_length = (unsigned)col->source_length + 1;
+ 
+@@ -1392,7 +1396,11 @@
+               rowbuffer[index].buffer_type == MYSQL_TYPE_MEDIUM_BLOB ||
+               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
++#ifndef MARIADB_BASE_VERSION              
++              || rowbuffer[index].buffer_type == MYSQL_TYPE_JSON
++#endif              
++              ) {
+             if (rowbuffer[index].buffer_length)
+               free(rowbuffer[index].buffer);
+ 
+@@ -2162,7 +2170,9 @@
+       case MYSQL_TYPE_STRING:
+       case MYSQL_TYPE_ENUM:
+       case MYSQL_TYPE_SET:
++#ifndef MARIADB_BASE_VERSION        
+       case MYSQL_TYPE_JSON:
++#endif        
+         _bulk_insert_record.append("'", 1);
+         ret_val = _bulk_insert_record.append_escaped((char 
*)(*_row_buffer)[col_index].buffer,
+                                                      
*(*_row_buffer)[col_index].length);
+@@ -2621,7 +2621,7 @@
+   // This is needed because the escaping depends on the character set in use 
by the server
+   unsigned long ret_length = 0;
+ 
+-#if MYSQL_CHECK_VERSION(5, 7, 6)
++#if MYSQL_CHECK_VERSION(5, 7, 6) && ! defined MARIADB_BASE_VERSION
+   if (_target->is_mysql_version_at_least(5, 7, 6))
+     ret_length += mysql_real_escape_string_quote(_mysql, buffer + length, 
data, (unsigned long)dlength, '"');
+   else

diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild 
b/dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild
new file mode 100644
index 00000000000..d2904bbaa87
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GCONF_DEBUG="no"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit gnome2 eutils flag-o-matic python-single-r1 cmake-utils
+
+MY_P="${PN}-community-${PV}-src"
+
+DESCRIPTION="MySQL Workbench"
+HOMEPAGE="http://dev.mysql.com/workbench/";
+SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz 
https://github.com/antlr/website-antlr3/blob/gh-pages/download/antlr-3.4-complete.jar?raw=true
 -> antlr-3.4-complete.jar"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc gnome-keyring"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# glibc: deprecated mutex functions, removed in 2.36.0
+CDEPEND="${PYTHON_DEPS}
+               dev-libs/glib:2
+               dev-cpp/atkmm
+               dev-cpp/pangomm
+               >=dev-cpp/glibmm-2.14:2
+               dev-cpp/gtkmm:3.0
+               dev-libs/atk
+               x11-libs/pango
+               x11-libs/gtk+:3
+               gnome-base/libglade:2.0
+               >=x11-libs/cairo-1.5.12[glib,svg]
+               dev-libs/libsigc++:2
+               >=dev-libs/boost-1.55.0[nls]
+               >=dev-cpp/ctemplate-0.95
+               >=dev-libs/libxml2-2.6.2:2
+               dev-libs/libzip
+               >=virtual/mysql-5.6
+               dev-libs/libpcre[cxx]
+               >=sci-libs/gdal-1.11.1-r1[-mdb]
+               virtual/opengl
+               || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
+               dev-libs/tinyxml[stl]
+               >=dev-db/mysql-connector-c++-1.1.8
+               dev-db/vsqlite++
+               || ( dev-db/libiodbc dev-db/unixODBC )
+               gnome-keyring? ( gnome-base/libgnome-keyring )
+                       dev-python/pexpect
+                       >=dev-python/paramiko-1.7.4
+       "
+
+RDEPEND="${CDEPEND}
+               app-admin/sudo
+               >=sys-apps/net-tools-1.60_p20120127084908"
+
+DEPEND="${CDEPEND}
+               dev-lang/swig
+               virtual/jre
+               virtual/pkgconfig"
+
+S="${WORKDIR}"/"${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
+       "${FILESDIR}/${PN}-6.3.9-mariadb-json.patch"
+)
+
+src_unpack() {
+       unpack ${PN}-community-${PV}-src.tar.gz
+}
+
+src_prepare() {
+       sed -i -e '/target_link_libraries/ s/sqlparser.grt/sqlparser.grt 
sqlparser/' \
+               modules/db.mysql.sqlparser/CMakeLists.txt
+
+       ## remove hardcoded CXXFLAGS
+       sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
+
+       ## package is very fragile...
+       strip-flags
+
+       cmake-utils_src_prepare
+}
+
+src_configure() {
+       append-cxxflags -std=c++11
+       local mycmakeargs=(
+               -DUSE_GNOME_KEYRING="$(usex gnome-keyring)"
+               -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+               -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+               -DPYTHON_LIBRARY="$(python_get_library_path)"
+               -DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
+       )
+       ANTLR_JAR_PATH="${DISTDIR}/antlr-3.4-complete.jar" 
cmake-utils_src_configure
+}
+
+src_compile() {
+       # Work around parallel build issues, bug 507838
+       cmake-utils_src_compile -j1
+}

Reply via email to