summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mysql-workbench')
-rw-r--r--dev-db/mysql-workbench/Manifest3
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.1.7-mysql_options4.patch29
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.1.7-wbcopytables.patch10
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.2.3-CMakeLists.patch43
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.2.3-ctemplate.patch35
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.2.3-glib.patch42
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.2.3-paramiko.patch51
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch12
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-6.3.3-mysql_options4.patch40
-rw-r--r--dev-db/mysql-workbench/metadata.xml10
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.3.ebuild103
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.4.ebuild106
12 files changed, 484 insertions, 0 deletions
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
new file mode 100644
index 000000000000..28b7d1c7b140
--- /dev/null
+++ b/dev-db/mysql-workbench/Manifest
@@ -0,0 +1,3 @@
+DIST antlr-3.4-complete.jar 2388361 SHA256 9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7 SHA512 04be4dfba3a21f3ab9d9e439a64958bd8e844a9f151b798383bd9e0dd6ebc416783ae7cb1d1dbb27fb7288ab9756b13b8338cdb8ceb41a10949c852ad45ab1f2 WHIRLPOOL 488b7b9af1d1d06cca163d43e7be190730e2f0421796c21a26ace11196ee37a16b1bdeea78a1e2e64f8ca0e87f67a2aecd066af21505f3dd92dd76de40a94fa0
+DIST mysql-workbench-community-6.3.3-src.tar.gz 14892631 SHA256 4511d63145b2a979310d84c9f0ca61b7460af2c87b81787b2f2404fd5095f419 SHA512 9736ed4f896b2819d5cde76a000a56b6ce36606262a83b5a0ba8dfc8760476eb43bcda08f258d856297924f3ddca2d89aadf0139fb156beb345f2a6fe5b0bc45 WHIRLPOOL 9e1054b8c18e854918133da62f67cc109f212812cd2509edfc775d4ebbc91b402a7b88b530e540eb67dadba6f6fd3d901b3f7a30b7a03a5a33537c677bbd0024
+DIST mysql-workbench-community-6.3.4-src.tar.gz 14954524 SHA256 be47f30c48c04f951a1be9b6496e4d94d5b975d6c693933ba2fa6e96718179d3 SHA512 8d7eacd46fd3cac912dac2fdbc0669759f9411796507cca76b0ad47228381b15b7f88e60a7a5a8763e704b456884828783cb0c7ed218025edb35aa5033d7d02f WHIRLPOOL 9e00ce475e573ee8b875d9f25d73d488cf68ff96b2eb006dba1dc7e424c70a0650cac42dcc3ed34648c5879354cab5311eaf6729e9b307718935d543c4f43bf5
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.1.7-mysql_options4.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.1.7-mysql_options4.patch
new file mode 100644
index 000000000000..e0dbc2bef5e0
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.1.7-mysql_options4.patch
@@ -0,0 +1,29 @@
+Patch taken from opensuse:
+https://www.mail-archive.com/opensuse-commit@opensuse.org/msg60296.html
+
+Modified to be conditional on MARIADB_BASE_VERSION
+
+++++++ mysql-workbench-mysql_options4.patch ++++++
+diff --git a/plugins/migration/copytable/copytable.cpp
+b/plugins/migration/copytable/copytable.cpp
+index b273287..77c227b 100644
+--- a/plugins/migration/copytable/copytable.cpp
++++ b/plugins/migration/copytable/copytable.cpp
+@@ -1633,12 +1633,17 @@ MySQLCopyDataTarget::MySQLCopyDataTarget(const
+ std::string &hostname, int port,
+ _truncate = false;
+
+ mysql_init(&_mysql);
++ /* This is optional has compiled in for MySQL >= 5.6.6
++ * Looks like MariaDB does not support this as supposed,
++ * so disable completly. */
++#ifndef MARIADB_BASE_VERSION
+ #if defined(MYSQL_VERSION_MAJOR) && defined(MYSQL_VERSION_MINOR) && defined(MYSQL_VERSION_PATCH)
+ #if MYSQL_CHECK_VERSION(5,6,6)
+ mysql_options4(&_mysql, MYSQL_OPT_CONNECT_ATTR_ADD, "program_name", app_name.c_str());
+ #endif
+ #endif
++#endif
+
+ // _bulk_insert_record is used to prepare a single record string, the connection
+ // is needed to escape binary data properly
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.1.7-wbcopytables.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.1.7-wbcopytables.patch
new file mode 100644
index 000000000000..7f4013a2ecf3
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.1.7-wbcopytables.patch
@@ -0,0 +1,10 @@
+--- plugins/migration/CMakeLists.txt.~1~ 2014-07-12 08:45:56.808929549 +0200
++++ plugins/migration/CMakeLists.txt 2014-07-12 08:49:26.659049880 +0200
+@@ -7,6 +7,7 @@
+
+ add_definitions(${ODBC_DEFINITIONS})
+
++SET(CMAKE_INSTALL_RPATH "${WB_INSTALL_LIB_DIR}")
+ add_executable(wbcopytables
+ copytable/copytable.cpp
+ copytable/python_copy_data_source.cpp
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-CMakeLists.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-CMakeLists.patch
new file mode 100644
index 000000000000..6e9a4d5e1410
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-CMakeLists.patch
@@ -0,0 +1,43 @@
+--- mysql-workbench-community-6.0.7-src/CMakeLists.txt 2013-08-30 18:05:12.000000000 +0200
++++ mysql-workbench-community-6.0.7-src/CMakeLists.txt 2013-09-08 11:41:18.723838826 +0200
+@@ -18,6 +18,9 @@
+ find_package(PkgConfig REQUIRED)
+
+ find_package(GTK2 2.20 REQUIRED gtk gtkmm)
++if (NOT GTK2_FOUND)
++ message( FATAL_ERROR "Not all GTK2 components were found!" )
++endif()
+ pkg_check_modules(GTHREAD REQUIRED gthread-2.0)
+ pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
+ set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GMODULE_INCLUDE_DIRS})
+@@ -32,7 +35,8 @@
+ endif ()
+
+ # All known publicly available versions of Antlr3C are buggy
+-
++# see: https://bugzilla.redhat.com/show_bug.cgi?id=966973
++# patch seems to be only applied partially to antlr-3.4, bug is present in antlr-3.5, too
+ if (SKIP_BUNDLED_ANTLR)
+ find_package(Antlr3C)
+ endif ()
+@@ -89,7 +93,8 @@
+ pkg_check_modules(CAIRO REQUIRED cairo>=1.5.12)
+ pkg_check_modules(UUID REQUIRED uuid)
+ pkg_check_modules(LIBZIP REQUIRED libzip)
+-if (UNIX)
++
++if (UNIX AND USE_GNOME_KEYRING)
+ pkg_check_modules(GNOME_KEYRING gnome-keyring-1)
+ if (GNOME_KEYRING_FOUND)
+ set(KEYRING_DEFINITION "HAVE_GNOME_KEYRING")
+@@ -99,7 +104,10 @@
+ set(KEYRING_DEFINITION "HAVE_OLD_GNOME_KEYRING")
+ endif()
+ endif()
++ if (NOT GNOME_KEYRING_FOUND)
++ message( FATAL_ERROR "Gnome keyring libraries could not be found" )
++ endif()
+ endif()
+
+ include (CheckFunctionExists)
+
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-ctemplate.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-ctemplate.patch
new file mode 100644
index 000000000000..fbcd5bc05999
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-ctemplate.patch
@@ -0,0 +1,35 @@
+Fix compilation with ctemplate 2.3 by avoiding long-deprecated method.
+
+Patch by Marcel Pennewiß in https://bugs.gentoo.org/show_bug.cgi?id=533086
+
+Unresolved upstream bug http://bugs.mysql.com/bug.php?id=72585
+
+--- mysql-workbench-community-6.0.9-src/backend/wbpublic/sqlide/recordset_text_storage.cpp
++++ mysql-workbench-community-6.0.9-src/backend/wbpublic/sqlide/recordset_text_storage.cpp
+@@ -204,7 +204,7 @@
+ if (!pre_tpl)
+ g_warning("Failed to open template file: `%s`", pre_tpl_path.c_str());
+ else
+- pre_tpl->ReloadIfChanged();
++ pre_tpl->ReloadAllIfChanged();
+ }
+ if (g_file_test((name+".post.tpl").c_str(), G_FILE_TEST_EXISTS))
+ {
+@@ -213,7 +213,7 @@
+ if (!post_tpl)
+ g_warning("Failed to open template file: `%s`", post_tpl_path.c_str());
+ else
+- post_tpl->ReloadIfChanged();
++ post_tpl->ReloadAllIfChanged();
+ }
+ }
+
+@@ -222,7 +222,7 @@
+ throw std::runtime_error(strfmt("Failed to open output file: `%s`", _file_path.c_str()));
+ }
+
+- tpl->ReloadIfChanged();
++ tpl->ReloadAllIfChanged();
+
+ std::auto_ptr<TemplateDictionary> dict(new TemplateDictionary("/"));
+ BOOST_FOREACH (const Parameters::value_type &param, _parameters)
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-glib.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-glib.patch
new file mode 100644
index 000000000000..96da8534944b
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-glib.patch
@@ -0,0 +1,42 @@
+Patch to make the query results window work with glib 2.42.
+https://bugs.gentoo.org/show_bug.cgi?id=536024
+http://bugs.mysql.com/bug.php?id=74147
+
+
+=== modified file frontend/linux/linux_utilities/listmodel_wrapper.cpp
+--- frontend/linux/linux_utilities/listmodel_wrapper.cpp 2014-03-17 16:42:25 +0000
++++ frontend/linux/linux_utilities/listmodel_wrapper.cpp 2014-10-16 10:33:12 +0000
+@@ -528,7 +528,6 @@
+ ListModelWrapper::ListModelWrapper(bec::ListModel* tm, Gtk::TreeView *treeview, const std::string& name)
+ : Glib::ObjectBase(typeid(ListModelWrapper))
+ , Glib::Object()
+- , Gtk::TreeModel()
+ , _treeview(treeview)
+ , _iconview(0)
+ , _context_menu(0)
+
+=== modified file frontend/linux/linux_utilities/listmodel_wrapper.h
+--- frontend/linux/linux_utilities/listmodel_wrapper.h 2013-12-05 13:10:03 +0000
++++ frontend/linux/linux_utilities/listmodel_wrapper.h 2014-10-16 10:33:12 +0000
+@@ -232,9 +232,16 @@
+
+ //==============================================================================
+
+-class ListModelWrapper : public Glib::Object, public Gtk::TreeModel,
+- public Gtk::TreeDragDest, public Gtk::TreeDragSource,
+- public base::trackable
++#if GLIB_CHECK_VERSION(2, 42, 0)
++class ListModelWrapper : public Gtk::TreeModel, public Glib::Object,
++ public Gtk::TreeDragDest, public Gtk::TreeDragSource,
++ public base::trackable
++#else
++class ListModelWrapper : public Glib::Object, public Gtk::TreeModel,
++ public Gtk::TreeDragDest, public Gtk::TreeDragSource,
++ public base::trackable
++
++#endif
+ {
+ friend class ColumnsModel;
+ protected:
+
+
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-paramiko.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-paramiko.patch
new file mode 100644
index 000000000000..ad131b781ace
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.2.3-paramiko.patch
@@ -0,0 +1,51 @@
+Last-Update: 2014-10-07
+Forwarded: not-needed
+From: Alfredo Kojima
+Bug-Upstream: http://bugs.mysql.com/bug.php?id=74223
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763971
+Description: fix connectivity through SSH tunnel.
+
+=== modified file 'plugins/wb.admin/backend/wb_admin_ssh.py'
+--- a/plugins/wb.admin/backend/wb_admin_ssh.py
++++ b/plugins/wb.admin/backend/wb_admin_ssh.py
+@@ -84,10 +84,14 @@
+ m = Message()
+ m.add_byte(chr(MSG_CHANNEL_OPEN))
+ m.add_string(kind)
+ m.add_int(chanid)
+- m.add_int(self.window_size)
+- m.add_int(self.max_packet_size)
++ if server_version_str2tuple(paramiko.__version__) < (1, 15, 0):
++ m.add_int(self.window_size)
++ m.add_int(self.max_packet_size)
++ else:
++ m.add_int(self.default_window_size)
++ m.add_int(self.default_max_packet_size)
+ if (kind == 'forwarded-tcpip') or (kind == 'direct-tcpip'):
+ m.add_string(dest_addr[0])
+ m.add_int(dest_addr[1])
+ m.add_string(src_addr[0])
+@@ -99,9 +103,12 @@
+ self._channels.put(chanid, chan)
+ self.channel_events[chanid] = event = threading.Event()
+ self.channels_seen[chanid] = True
+ chan._set_transport(self)
+- chan._set_window(self.window_size, self.max_packet_size)
++ if server_version_str2tuple(paramiko.__version__) < (1, 15, 0):
++ chan._set_window(self.window_size, self.max_packet_size)
++ else:
++ chan._set_window(self.default_window_size, self.default_max_packet_size)
+ finally:
+ self.lock.release()
+ self._send_user_message(m)
+ ts = time.time() + OPEN_CHANNEL_TIMEOUT if (timeout is None) else timeout
+@@ -669,8 +676,9 @@
+
+ read_timeout = 10
+
+ if self.client is not None:
++ chan = None
+ transport = self.client.get_transport()
+ try:
+ spawn_process = False
+ if 'nohup' in cmd:
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
new file mode 100644
index 000000000000..0fcc837fef01
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.2.5-wbcopytables.patch
@@ -0,0 +1,12 @@
+--- 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
+@@ -10,7 +10,8 @@
+ if (UNIX)
+ configure_file(wbcopytables.in wbcopytables)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/wbcopytables DESTINATION ${WB_INSTALL_BIN_DIR})
+-
++
++ SET(CMAKE_INSTALL_RPATH "${WB_INSTALL_LIB_DIR}")
+ add_executable(wbcopytables-bin
+ copytable/copytable.cpp
+ copytable/python_copy_data_source.cpp
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.3.3-mysql_options4.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.3.3-mysql_options4.patch
new file mode 100644
index 000000000000..7fb9c8d57fc5
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.3.3-mysql_options4.patch
@@ -0,0 +1,40 @@
+--- plugins/migration/copytable/copytable.cpp.~1~ 2015-04-15 15:54:19.000000000 +0200
++++ plugins/migration/copytable/copytable.cpp 2015-04-26 08:53:08.871167725 +0200
+@@ -1920,12 +1920,17 @@
+ _incoming_data_charset = "latin1";
+
+ mysql_init(&_mysql);
++/* This is optional has compiled in for MySQL >= 5.6.6
++ * Looks like MariaDB does not support this as supposed,
++ * so disable completly. */
++#ifndef MARIADB_BASE_VERSION
+ #if defined(MYSQL_VERSION_MAJOR) && defined(MYSQL_VERSION_MINOR) && defined(MYSQL_VERSION_PATCH)
+ #if MYSQL_CHECK_VERSION(5,6,6)
+ if (is_mysql_version_at_least(5,6,6))
+ mysql_options4(&_mysql, MYSQL_OPT_CONNECT_ATTR_ADD, "program_name", app_name.c_str());
+ #endif
+ #endif
++#endif
+
+ // _bulk_insert_record is used to prepare a single record string, the connection
+ // is needed to escape binary data properly
+--- plugins/migration/copytable/copytable.cpp.~1~ 2015-04-26 08:57:30.444285953 +0200
++++ plugins/migration/copytable/copytable.cpp 2015-04-26 10:16:39.234711324 +0200
+@@ -2875,6 +2875,9 @@
+
+ // This function is used to create a legal SQL string that you can use in an SQL statement
+ // This is needed because the escaping depends on the character set in use by the server
++ #ifdef MARIADB_BASE_VERSION
++ length += mysql_real_escape_string(_mysql, buffer + length, data, (unsigned long)dlength);
++ #else
+ #if defined(MYSQL_VERSION_MAJOR) && defined(MYSQL_VERSION_MINOR) && defined(MYSQL_VERSION_PATCH)
+ #if MYSQL_CHECK_VERSION(5,7,6)
+ if (is_mysql_version_at_least(5,7,6))
+@@ -2885,6 +2888,7 @@
+ length += mysql_real_escape_string(_mysql, buffer + length, data, (unsigned long)dlength);
+ #endif
+ #endif
++ #endif
+
+ return true;
+ }
diff --git a/dev-db/mysql-workbench/metadata.xml b/dev-db/mysql-workbench/metadata.xml
new file mode 100644
index 000000000000..bf21d6777471
--- /dev/null
+++ b/dev-db/mysql-workbench/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>graaff@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">antlr/website-antlr3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.3.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.3.ebuild
new file mode 100644
index 000000000000..28d9faad5412
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+CMAKE_MIN_VERSION="2.8.11.1"
+
+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 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc gnome-keyring"
+
+# 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-2.14:2.4
+ dev-libs/atk
+ x11-libs/pango
+ >=x11-libs/gtk+-2.20:2
+ gnome-base/libglade:2.0
+ >=x11-libs/cairo-1.5.12[glib,svg]
+ dev-libs/libsigc++:2
+ dev-libs/boost
+ >=dev-cpp/ctemplate-0.95
+ >=dev-libs/libxml2-2.6.2:2
+ dev-libs/libzip
+ >=virtual/mysql-5.1
+ dev-libs/libpcre
+ >=sci-libs/gdal-1.11.1-r1[-mdb]
+ virtual/opengl
+ >=dev-lang/lua-5.1[deprecated]
+ || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
+ dev-libs/tinyxml[stl]
+ dev-db/mysql-connector-c++
+ dev-db/vsqlite++
+ || ( dev-db/libiodbc dev-db/unixODBC )
+ gnome-keyring? ( gnome-base/libgnome-keyring )
+ dev-python/pexpect
+ >=dev-python/paramiko-1.7.4
+ "
+
+# lua perhaps no longer needed? Was used via libgrt only
+
+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}"
+
+src_unpack() {
+ unpack ${PN}-community-${PV}-src.tar.gz
+}
+
+src_prepare() {
+ ## Patch CMakeLists.txt
+ epatch "${FILESDIR}/${PN}-6.2.3-CMakeLists.patch" \
+ "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" \
+ "${FILESDIR}/${PN}-6.3.3-mysql_options4.patch"
+
+ ## 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() {
+ local mycmakeargs=(
+ $(cmake-utils_use_use gnome-keyring GNOME_KEYRING)
+ -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ )
+ 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
+}
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.4.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.4.ebuild
new file mode 100644
index 000000000000..4ff41e5f6334
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.4.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+CMAKE_MIN_VERSION="2.8.11.1"
+
+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 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc gnome-keyring"
+
+# 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-2.14:2.4
+ dev-libs/atk
+ x11-libs/pango
+ >=x11-libs/gtk+-2.20:2
+ gnome-base/libglade:2.0
+ >=x11-libs/cairo-1.5.12[glib,svg]
+ dev-libs/libsigc++:2
+ >=dev-libs/boost-1.55.0
+ >=dev-cpp/ctemplate-0.95
+ >=dev-libs/libxml2-2.6.2:2
+ dev-libs/libzip
+ >=virtual/mysql-5.1
+ dev-libs/libpcre
+ >=sci-libs/gdal-1.11.1-r1[-mdb]
+ virtual/opengl
+ >=dev-lang/lua-5.1[deprecated]
+ || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
+ dev-libs/tinyxml[stl]
+ dev-db/mysql-connector-c++
+ dev-db/vsqlite++
+ || ( dev-db/libiodbc dev-db/unixODBC )
+ gnome-keyring? ( gnome-base/libgnome-keyring )
+ dev-python/pexpect
+ >=dev-python/paramiko-1.7.4
+ "
+
+# lua perhaps no longer needed? Was used via libgrt only
+
+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}"
+
+src_unpack() {
+ unpack ${PN}-community-${PV}-src.tar.gz
+}
+
+src_prepare() {
+ ## Patch CMakeLists.txt
+ epatch "${FILESDIR}/${PN}-6.2.3-CMakeLists.patch" \
+ "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" \
+ "${FILESDIR}/${PN}-6.3.3-mysql_options4.patch"
+
+ 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() {
+ local mycmakeargs=(
+ $(cmake-utils_use_use gnome-keyring GNOME_KEYRING)
+ -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ )
+ 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
+}