summaryrefslogtreecommitdiffstats
path: root/mysql-workbench-5.2.26-cppconn.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-workbench-5.2.26-cppconn.patch')
-rw-r--r--mysql-workbench-5.2.26-cppconn.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/mysql-workbench-5.2.26-cppconn.patch b/mysql-workbench-5.2.26-cppconn.patch
new file mode 100644
index 0000000..b941d03
--- /dev/null
+++ b/mysql-workbench-5.2.26-cppconn.patch
@@ -0,0 +1,85 @@
+diff -up mysql-workbench-gpl-5.2.26/configure.in.cppconn mysql-workbench-gpl-5.2.26/configure.in
+--- mysql-workbench-gpl-5.2.26/configure.in.cppconn 2010-08-05 15:33:27.000000000 +0200
++++ mysql-workbench-gpl-5.2.26/configure.in 2010-08-07 08:11:56.906643649 +0200
+@@ -462,8 +462,6 @@ res/mysql.profiles/Makefile
+ res/sqlidedata/Makefile
+ ext/Makefile
+ ext/scintilla/gtk/Makefile
+-ext/cppconn/Makefile
+-ext/cppconn/driver/Makefile
+ backend/Makefile
+ backend/wbpublic/Makefile
+ backend/wbprivate/Makefile
+diff -up mysql-workbench-gpl-5.2.26/ext/Makefile.am.cppconn mysql-workbench-gpl-5.2.26/ext/Makefile.am
+--- mysql-workbench-gpl-5.2.26/ext/Makefile.am.cppconn 2010-08-05 15:33:23.000000000 +0200
++++ mysql-workbench-gpl-5.2.26/ext/Makefile.am 2010-08-07 08:11:56.907643461 +0200
+@@ -4,4 +4,4 @@ else
+ ctemplate_dirs=ctemplate
+ endif
+
+-SUBDIRS=scintilla/gtk cppconn $(ctemplate_dirs)
++SUBDIRS=scintilla/gtk $(ctemplate_dirs)
+diff -up mysql-workbench-gpl-5.2.26/ext/Makefile.in.cppconn mysql-workbench-gpl-5.2.26/ext/Makefile.in
+--- mysql-workbench-gpl-5.2.26/ext/Makefile.in.cppconn 2010-08-05 15:33:32.000000000 +0200
++++ mysql-workbench-gpl-5.2.26/ext/Makefile.in 2010-08-07 08:11:56.907643461 +0200
+@@ -53,7 +53,7 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-re
+ distclean-recursive maintainer-clean-recursive
+ ETAGS = etags
+ CTAGS = ctags
+-DIST_SUBDIRS = scintilla/gtk cppconn ctemplate
++DIST_SUBDIRS = scintilla/gtk ctemplate
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+ AMTAR = @AMTAR@
+@@ -214,7 +214,7 @@ target_alias = @target_alias@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ @BUILD_CTEMPLATE_FALSE@ctemplate_dirs = ctemplate
+-SUBDIRS = scintilla/gtk cppconn $(ctemplate_dirs)
++SUBDIRS = scintilla/gtk $(ctemplate_dirs)
+ all: all-recursive
+
+ .SUFFIXES:
+diff -up mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp.cppconn mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp
+--- mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp.cppconn 2010-08-05 15:33:19.000000000 +0200
++++ mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp 2010-08-07 08:11:56.907643461 +0200
+@@ -145,6 +145,8 @@ TunnelConnection *DriverManager::getTunn
+ ConnectionWrapper DriverManager::getConnection(const db_mgmt_ConnectionRef &connectionProperties, ConnectionInitSlot connection_init_slot)
+ {
+ TunnelConnection* tunnel = NULL;
++ gchar *p = NULL;
++ GModule *gmodule = NULL;
+ // 0. determine correct driver filename
+
+ db_mgmt_DriverRef drv = connectionProperties->driver();
+@@ -154,21 +156,21 @@ ConnectionWrapper DriverManager::getConn
+ library = drv->driverLibraryName();
+ else
+ throw SQLException("Invalid connection settings: undefined connection driver");
+-#ifdef _WIN32
+- library.append(".dll");
+-#elif defined(__APPLE__)
+- library.append(".dylib");
+-#else
+- library.append(".so");
+-#endif
++
++ // Patch : use library in standard path
++ p = g_module_build_path (NULL, library.c_str());
+
+ // 1. find driver
+
+- GModule *gmodule= g_module_open((_driver_path + "/" + library).c_str(), G_MODULE_BIND_LOCAL);
++ if (p) {
++ gmodule = g_module_open(std::string(p).append(".5").c_str(), G_MODULE_BIND_LOCAL);
++ g_free(p);
++ }
++
+ if (NULL == gmodule)
+ {
+ fprintf(stderr, "Error: %s", g_module_error());
+- throw SQLException(std::string("Database driver: Failed to open library '").append(_driver_path + "/" + library).append("'. Check settings.").c_str());
++ throw SQLException(std::string("Database driver: Failed to open library '").append(library).append("'. Check settings.").c_str());
+ }
+
+ Driver *(* get_driver_instance)()= NULL;