dev-db/mysql-workbench: add 6.3.9, fixing bug 567226
authorHans de Graaff <graaff@gentoo.org>
Thu, 25 May 2017 06:44:23 +0000 (08:44 +0200)
committerHans de Graaff <graaff@gentoo.org>
Thu, 25 May 2017 06:44:23 +0000 (08:44 +0200)
Package-Manager: Portage-2.3.5, Repoman-2.3.1

dev-db/mysql-workbench/Manifest
dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch
dev-db/mysql-workbench/files/mysql-workbench-6.3.9-mariadb-json.patch [new file with mode: 0644]
dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild [new file with mode: 0644]

index 6854db6f8bc3e7f48636fa27d1c83a25d1f3e38e..9b917725e766b1cf10ad203f0f1a0a0b582ee698 100644 (file)
@@ -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
index 0fcc837fef01913de4e877106c2528cbf11fb124..2d3d8db243f8b458350bf4dcf6e8f546ad2337eb 100644 (file)
@@ -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 (file)
index 0000000..74c84e3
--- /dev/null
@@ -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 (file)
index 0000000..d2904bb
--- /dev/null
@@ -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
+}