Skip to content

Commit

Permalink
dev-db/mysql-workbench: add 6.3.9, fixing bug 567226
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.5, Repoman-2.3.1
  • Loading branch information
graaff committed May 25, 2017
1 parent 2f8dd92 commit 5270e1d
Show file tree
Hide file tree
Showing 4 changed files with 161 additions and 2 deletions.
1 change: 1 addition & 0 deletions dev-db/mysql-workbench/Manifest
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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
103 changes: 103 additions & 0 deletions dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 5270e1d

Please sign in to comment.