Gentoo Archives: gentoo-commits

From: Pacho Ramos <pacho@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-workbench/files/, dev-db/mysql-workbench/
Date: Tue, 29 Dec 2015 12:08:40
Message-Id: 1451390859.4905afbb4053aea415ce0c10f1f25f8b35f5fb2d.pacho@gentoo
1 commit: 4905afbb4053aea415ce0c10f1f25f8b35f5fb2d
2 Author: Pacho Ramos <pacho <AT> gentoo <DOT> org>
3 AuthorDate: Tue Dec 29 12:05:25 2015 +0000
4 Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 29 12:07:39 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4905afbb
7
8 dev-db/mysql-workbench: Fix building with latest glibmm/libsigc++ (#566668)
9
10 Package-Manager: portage-2.2.26
11
12 .../files/mysql-workbench-6.3.4-cxx11.patch | 39 ++++++++
13 .../mysql-workbench-6.3.4-r1.ebuild | 108 +++++++++++++++++++++
14 2 files changed, 147 insertions(+)
15
16 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
17 new file mode 100644
18 index 0000000..e8ed54a
19 --- /dev/null
20 +++ b/dev-db/mysql-workbench/files/mysql-workbench-6.3.4-cxx11.patch
21 @@ -0,0 +1,39 @@
22 +Last-Update: 2015-10-24
23 +Forwarded: not-needed
24 +Bug-Upstream: https://bugs.mysql.com/bug.php?id=78668
25 +From: Marcin Szalowicz
26 +Author: Dmitry Smirnov <onlyjob@××××××××××.org>
27 +Description: fix FTBFS
28 + ~~~~
29 + library/forms/view.cpp:515:32: error: cannot convert 'boost::signals2::signal<bool()>::result_type {aka boost::optional<bool>}' to 'bool' in return
30 + return _signal_mouse_leave();
31 + ^
32 + library/forms/CMakeFiles/mforms.dir/build.make:1865: recipe for target 'library/forms/CMakeFiles/mforms.dir/view.cpp.o' failed
33 + ~~~~
34 +
35 +--- a/library/forms/swig/mforms.i
36 ++++ b/library/forms/swig/mforms.i
37 +@@ -532,9 +532,9 @@
38 + void add_##method(PyObject *callback) { signal->connect(pycall_void_toolbaritem_fun(callback)); }
39 +
40 + #define SWIG_ADD_SIGNAL_BOOL_INT_CALLBACK(method, signal)\
41 + void add_##method(PyObject *callback) { signal->connect(pycall_bool_int_fun(callback)); }\
42 +- bool call_##method(int i) { return (*signal)(i); }
43 ++ bool call_##method(int i) { return *( (*signal)(i) ); }
44 +
45 + #define SWIG_ADD_SIGNAL_VOID_ENTRYACTION_CALLBACK(method, signal)\
46 + void add_##method(PyObject *callback) { signal->connect(pycall_void_entryaction_fun(callback)); }
47 +
48 +--- a/library/forms/view.cpp
49 ++++ b/library/forms/view.cpp
50 +@@ -511,9 +511,9 @@
51 +
52 + bool View::mouse_leave()
53 + {
54 + if (_signal_mouse_leave.num_slots() > 0)
55 +- return _signal_mouse_leave();
56 ++ return *_signal_mouse_leave();
57 + return false;
58 + }
59 +
60 + //--------------------------------------------------------------------------------------------------
61
62 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
63 new file mode 100644
64 index 0000000..0f9e0cc
65 --- /dev/null
66 +++ b/dev-db/mysql-workbench/mysql-workbench-6.3.4-r1.ebuild
67 @@ -0,0 +1,108 @@
68 +# Copyright 1999-2015 Gentoo Foundation
69 +# Distributed under the terms of the GNU General Public License v2
70 +# $Id$
71 +
72 +EAPI=5
73 +GCONF_DEBUG="no"
74 +
75 +PYTHON_COMPAT=( python2_7 )
76 +PYTHON_REQ_USE="sqlite"
77 +
78 +CMAKE_MIN_VERSION="2.8.11.1"
79 +
80 +inherit gnome2 eutils flag-o-matic python-single-r1 cmake-utils
81 +
82 +MY_P="${PN}-community-${PV}-src"
83 +
84 +DESCRIPTION="MySQL Workbench"
85 +HOMEPAGE="http://dev.mysql.com/workbench/"
86 +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"
87 +
88 +LICENSE="GPL-2"
89 +SLOT="0"
90 +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
91 +IUSE="debug doc gnome-keyring"
92 +
93 +# glibc: deprecated mutex functions, removed in 2.36.0
94 +CDEPEND="${PYTHON_DEPS}
95 + dev-libs/glib:2
96 + dev-cpp/atkmm
97 + dev-cpp/pangomm
98 + >=dev-cpp/glibmm-2.14:2
99 + >=dev-cpp/gtkmm-2.14:2.4
100 + dev-libs/atk
101 + x11-libs/pango
102 + >=x11-libs/gtk+-2.20:2
103 + gnome-base/libglade:2.0
104 + >=x11-libs/cairo-1.5.12[glib,svg]
105 + dev-libs/libsigc++:2
106 + >=dev-libs/boost-1.55.0[nls]
107 + >=dev-cpp/ctemplate-0.95
108 + >=dev-libs/libxml2-2.6.2:2
109 + dev-libs/libzip
110 + >=virtual/mysql-5.1
111 + dev-libs/libpcre
112 + >=sci-libs/gdal-1.11.1-r1[-mdb]
113 + virtual/opengl
114 + >=dev-lang/lua-5.1[deprecated]
115 + || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
116 + dev-libs/tinyxml[stl]
117 + dev-db/mysql-connector-c++
118 + dev-db/vsqlite++
119 + || ( dev-db/libiodbc dev-db/unixODBC )
120 + gnome-keyring? ( gnome-base/libgnome-keyring )
121 + dev-python/pexpect
122 + >=dev-python/paramiko-1.7.4
123 + "
124 +
125 +# lua perhaps no longer needed? Was used via libgrt only
126 +
127 +RDEPEND="${CDEPEND}
128 + app-admin/sudo
129 + >=sys-apps/net-tools-1.60_p20120127084908"
130 +
131 +DEPEND="${CDEPEND}
132 + dev-lang/swig
133 + virtual/jre
134 + virtual/pkgconfig"
135 +
136 +S="${WORKDIR}"/"${MY_P}"
137 +
138 +src_unpack() {
139 + unpack ${PN}-community-${PV}-src.tar.gz
140 +}
141 +
142 +src_prepare() {
143 + ## Patch CMakeLists.txt
144 + epatch "${FILESDIR}/${PN}-6.2.3-CMakeLists.patch" \
145 + "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" \
146 + "${FILESDIR}/${PN}-6.3.3-mysql_options4.patch" \
147 + "${FILESDIR}/${PN}-6.3.4-cxx11.patch"
148 +
149 + sed -i -e '/target_link_libraries/ s/sqlparser.grt/sqlparser.grt sqlparser/' \
150 + modules/db.mysql.sqlparser/CMakeLists.txt
151 +
152 + ## remove hardcoded CXXFLAGS
153 + sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
154 +
155 + ## package is very fragile...
156 + strip-flags
157 +
158 + cmake-utils_src_prepare
159 +}
160 +
161 +src_configure() {
162 + append-cxxflags -std=c++11
163 + local mycmakeargs=(
164 + $(cmake-utils_use_use gnome-keyring GNOME_KEYRING)
165 + -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
166 + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
167 + -DPYTHON_LIBRARY="$(python_get_library_path)"
168 + )
169 + ANTLR_JAR_PATH="${DISTDIR}/antlr-3.4-complete.jar" cmake-utils_src_configure
170 +}
171 +
172 +src_compile() {
173 + # Work around parallel build issues, bug 507838
174 + cmake-utils_src_compile -j1
175 +}