commit:     4905afbb4053aea415ce0c10f1f25f8b35f5fb2d
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 29 12:05:25 2015 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Tue Dec 29 12:07:39 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4905afbb

dev-db/mysql-workbench: Fix building with latest glibmm/libsigc++ (#566668)

Package-Manager: portage-2.2.26

 .../files/mysql-workbench-6.3.4-cxx11.patch        |  39 ++++++++
 .../mysql-workbench-6.3.4-r1.ebuild                | 108 +++++++++++++++++++++
 2 files changed, 147 insertions(+)

diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.3.4-cxx11.patch 
b/dev-db/mysql-workbench/files/mysql-workbench-6.3.4-cxx11.patch
new file mode 100644
index 0000000..e8ed54a
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-6.3.4-cxx11.patch
@@ -0,0 +1,39 @@
+Last-Update: 2015-10-24
+Forwarded: not-needed
+Bug-Upstream: https://bugs.mysql.com/bug.php?id=78668
+From: Marcin Szalowicz
+Author: Dmitry Smirnov <[email protected]>
+Description: fix FTBFS
+ ~~~~
+ library/forms/view.cpp:515:32: error: cannot convert 
'boost::signals2::signal<bool()>::result_type {aka boost::optional<bool>}' to 
'bool' in return
+      return _signal_mouse_leave();
+                                 ^
+ library/forms/CMakeFiles/mforms.dir/build.make:1865: recipe for target 
'library/forms/CMakeFiles/mforms.dir/view.cpp.o' failed
+ ~~~~
+
+--- a/library/forms/swig/mforms.i
++++ b/library/forms/swig/mforms.i
+@@ -532,9 +532,9 @@
+       void add_##method(PyObject *callback) { 
signal->connect(pycall_void_toolbaritem_fun(callback)); }
+ 
+ #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)); }
+ 
+--- a/library/forms/view.cpp
++++ b/library/forms/view.cpp
+@@ -511,9 +511,9 @@
+ 
+ bool View::mouse_leave()
+ {
+   if (_signal_mouse_leave.num_slots() > 0)
+-    return _signal_mouse_leave();
++    return *_signal_mouse_leave();
+   return false;
+ }
+ 
+ 
//--------------------------------------------------------------------------------------------------

diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild 
b/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild
new file mode 100644
index 0000000..0f9e0cc
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild
@@ -0,0 +1,108 @@
+# 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[nls]
+               >=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" \
+               "${FILESDIR}/${PN}-6.3.4-cxx11.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() {
+       append-cxxflags -std=c++11
+       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
+}

Reply via email to