[arch-commits] Commit in mysql-workbench/trunk (8 files)

Christian Hesse eworm at archlinux.org
Mon Jul 30 11:21:56 UTC 2018


    Date: Monday, July 30, 2018 @ 11:21:56
  Author: eworm
Revision: 364966

upgpkg: mysql-workbench 8.0.12-1

new upstream release

Added:
  mysql-workbench/trunk/0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch
Modified:
  mysql-workbench/trunk/0001-mysql-workbench-no-check-for-updates.patch
  mysql-workbench/trunk/0002-disable-unsupported-operating-system-warning.patch
  mysql-workbench/trunk/PKGBUILD
Deleted:
  mysql-workbench/trunk/0003-add-option-to-hide-nonstandard-server-warning.patch
  mysql-workbench/trunk/0005-gdal-use-CPLFree.patch
  mysql-workbench/trunk/0006-mysql-include-my_dir.patch
  mysql-workbench/trunk/0007-mysql-connector-cpp-linking.patch

----------------------------------------------------------------+
 0001-mysql-workbench-no-check-for-updates.patch                |   45 +-
 0002-disable-unsupported-operating-system-warning.patch        |   17 -
 0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch |  146 +++++++++
 0003-add-option-to-hide-nonstandard-server-warning.patch       |   36 --
 0005-gdal-use-CPLFree.patch                                    |   62 ----
 0006-mysql-include-my_dir.patch                                |   12 
 0007-mysql-connector-cpp-linking.patch                         |   13 
 PKGBUILD                                                       |  153 +++++-----
 8 files changed, 267 insertions(+), 217 deletions(-)

Modified: 0001-mysql-workbench-no-check-for-updates.patch
===================================================================
--- 0001-mysql-workbench-no-check-for-updates.patch	2018-07-30 10:36:23 UTC (rev 364965)
+++ 0001-mysql-workbench-no-check-for-updates.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -1,21 +1,30 @@
+From d15e588be02e44b1317bf90ff7be1714267281c8 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Mon, 23 Jul 2018 11:03:19 +0200
+Subject: [PATCH 1/4] mysql-workbench-no-check-for-updates
+
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ res/wbdata/main_menu.xml | 2 ++
+ 1 file changed, 2 insertions(+)
+
 diff --git a/res/wbdata/main_menu.xml b/res/wbdata/main_menu.xml
-index a32256c..08d9a21 100644
+index bfa63ef..957f809 100644
 --- a/res/wbdata/main_menu.xml
 +++ b/res/wbdata/main_menu.xml
-@@ -2900,6 +2900,7 @@ value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.view.fkhili
-           <value type="string" key="itemType">action</value>
-         </value>
- 
-+	<!-- We build a package that should be updated via pacman, so disable this check.
-         <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.separator.help.checkver">
-           <value type="string" key="itemType">separator</value>
-         </value>
-@@ -2910,7 +2911,7 @@ value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.view.fkhili
-           <value type="string" key="name">checkUpdate</value>
-           <value type="string" key="command">plugin:wb.tools.checkForUpdates</value>
-           <value type="string" key="itemType">action</value>
--        </value>
-+	</value> //-->
- 
-         <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.separator.help.report_a_bug">
-           <value type="string" key="itemType">separator</value>
+@@ -2277,6 +2277,7 @@
+                     <value type="string" key="command">builtin:show_log_file</value>
+                     <value type="string" key="itemType">action</value>
+                 </value>
++                <!-- We build a package that should be updated via pacman, so disable this check.
+                 <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.separator.help.checkver">
+                     <value type="string" key="itemType">separator</value>
+                 </value>
+@@ -2287,6 +2288,7 @@
+                     <value type="string" key="command">plugin:wb.tools.checkForUpdates</value>
+                     <value type="string" key="itemType">action</value>
+                 </value>
++                </value> //-->
+                 <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.separator.help.report_a_bug">
+                     <value type="string" key="itemType">separator</value>
+                     <value type="string" key="platform">windows,linux</value>

Modified: 0002-disable-unsupported-operating-system-warning.patch
===================================================================
--- 0002-disable-unsupported-operating-system-warning.patch	2018-07-30 10:36:23 UTC (rev 364965)
+++ 0002-disable-unsupported-operating-system-warning.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -1,7 +1,7 @@
-From 784599e99ee97574798512f6daf987cab8fd4cdf Mon Sep 17 00:00:00 2001
+From 98a9974f550dfb5c8f66213774e4ef95848127e1 Mon Sep 17 00:00:00 2001
 From: Christian Hesse <mail at eworm.de>
-Date: Wed, 8 Feb 2017 09:12:24 +0100
-Subject: [PATCH 1/1] disable unsupported operating system warning
+Date: Mon, 23 Jul 2018 11:04:55 +0200
+Subject: [PATCH 2/4] disable-unsupported-operating-system-warning
 
 Signed-off-by: Christian Hesse <mail at eworm.de>
 ---
@@ -9,21 +9,18 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/backend/wbprivate/workbench/wb_context.cpp b/backend/wbprivate/workbench/wb_context.cpp
-index 82c0fa6..f06ff99 100644
+index e80501a..a4047b1 100644
 --- a/backend/wbprivate/workbench/wb_context.cpp
 +++ b/backend/wbprivate/workbench/wb_context.cpp
-@@ -1009,9 +1009,11 @@ void WBContext::init_finish_(WBOptions *options) {
+@@ -1011,9 +1011,11 @@ void WBContext::init_finish_(WBOptions *options) {
  
    _frontendCallbacks->show_status_text(_("Ready."));
  
 +#if 0
-   if (options->open_at_startup_type !=
-       "run-script") // <--- so that our runtime tests don't lock up when a modal warning dialog is displayed
+   // Avoid our runtime tests to lock up when a modal warning dialog is displayed.
+   if (options->open_at_startup_type != "run-script")
      warnIfRunningOnUnsupportedOS();
 +#endif
  
    try {
      // execute action requested from command line
--- 
-2.11.1
-

Added: 0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch
===================================================================
--- 0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch	                        (rev 0)
+++ 0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -0,0 +1,146 @@
+From 6fb2b4a97b8e9c066bdab62d24e38b9f3e5dbc79 Mon Sep 17 00:00:00 2001
+From: Marcin Szalowicz <marcin.szalowicz at oracle.com>
+Date: Mon, 11 Jun 2018 11:25:43 +0200
+Subject: [PATCH] Fix segfault in getIssueBanner, add missing wrappers
+
+make some private properties protected
+---
+ include/libssh/libsshpp.hpp | 73 ++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 62 insertions(+), 11 deletions(-)
+
+diff --git a/include/libssh/libsshpp.hpp b/include/libssh/libsshpp.hpp
+index b8652f7..d1fa77b 100644
+--- a/include/libssh/libsshpp.hpp
++++ b/include/libssh/libsshpp.hpp
+@@ -194,6 +194,43 @@ public:
+     ssh_throw(ret);
+     return ret;
+   }
++
++  /** @brief Authenticate through the "keyboard-interactive" method.
++   * @param[in] The username to authenticate. You can specify NULL if ssh_option_set_username() has been used. You cannot try two different logins in a row.
++   * @param[in] Undocumented. Set it to NULL.
++   * @throws SshException on error
++   * @returns SSH_AUTH_SUCCESS, SSH_AUTH_PARTIAL, SSH_AUTH_DENIED, SSH_AUTH_ERROR, SSH_AUTH_INFO, SSH_AUTH_AGAIN
++   * @see ssh_userauth_kbdint
++   */
++  int userauthKbdint(const char* username, const char* submethods){
++    int ret=ssh_userauth_kbdint(c_session,NULL,NULL);
++    ssh_throw(ret);
++    return ret;
++  }
++
++  /** @brief Get the number of prompts (questions) the server has given.
++   * @returns The number of prompts.
++   * @see ssh_userauth_kbdint_getnprompts
++   */
++  int userauthKbdintGetNPrompts(){
++    return ssh_userauth_kbdint_getnprompts(c_session);
++  }
++
++  /** @brief Set the answer for a question from a message block..
++   * @param[in] index The number of the ith prompt.
++   * @param[in] The answer to give to the server. The answer MUST be encoded UTF-8. It is up to the server how to interpret the value and validate it. However, if you read the answer in some other encoding, you MUST convert it to UTF-8.
++   * @throws SshException on error
++   * @returns 0 on success, < 0 on error
++   * @see ssh_userauth_kbdint_setanswer
++   */
++  int userauthKbdintSetAnswer(unsigned int i, const char* answer){
++    int ret=ssh_userauth_kbdint_setanswer(c_session, i, answer);
++    ssh_throw(ret);
++    return ret;
++  }
++
++
++
+   /** @brief Authenticates using the password method.
+    * @param[in] password password to use for authentication
+    * @throws SshException on error
+@@ -228,8 +265,7 @@ public:
+     ssh_throw(ret);
+     return ret;
+   }
+-  int userauthPrivatekeyFile(const char *filename,
+-      const char *passphrase);
++
+   /** @brief Returns the available authentication methods from the server
+    * @throws SshException on error
+    * @returns Bitfield of available methods.
+@@ -281,8 +317,12 @@ public:
+    */
+   std::string getIssueBanner(){
+     char *banner=ssh_get_issue_banner(c_session);
+-    std::string ret= std::string(banner);
+-    ::free(banner);
++    std::string ret;
++    if (banner)
++    {
++      ret= std::string(banner);
++      ::free(banner);
++    }
+     return ret;
+   }
+   /** @brief returns the OpenSSH version (server) if possible
+@@ -378,11 +418,14 @@ public:
+     return_throwable;
+   }
+ 
+-private:
+-  ssh_session c_session;
+   ssh_session getCSession(){
+     return c_session;
+   }
++
++protected:
++  ssh_session c_session;
++
++private:
+   /* No copy constructor, no = operator */
+   Session(const Session &);
+   Session& operator=(const Session &);
+@@ -481,12 +524,12 @@ public:
+     ssh_throw(err);
+     return err;
+   }
+-  int read(void *dest, size_t count, bool is_stderr){
++  int read(void *dest, size_t count){
+     int err;
+     /* handle int overflow */
+     if(count > 0x7fffffff)
+       count = 0x7fffffff;
+-    err=ssh_channel_read_timeout(channel,dest,count,is_stderr,-1);
++    err=ssh_channel_read_timeout(channel,dest,count,false,-1);
+     ssh_throw(err);
+     return err;
+   }
+@@ -584,16 +627,24 @@ public:
+     ssh_throw(ret);
+     return ret;
+   }
+-private:
++
+   ssh_session getCSession(){
+     return session->getCSession();
+   }
++
++  ssh_channel getCChannel() {
++    return channel;
++  }
++
++protected:
++  Session *session;
++  ssh_channel channel;
++
++private:
+   Channel (Session &session, ssh_channel c_channel){
+     this->channel=c_channel;
+     this->session=&session;
+   }
+-  Session *session;
+-  ssh_channel channel;
+   /* No copy and no = operator */
+   Channel(const Channel &);
+   Channel &operator=(const Channel &);
+-- 
+2.7.4
+

Deleted: 0003-add-option-to-hide-nonstandard-server-warning.patch
===================================================================
--- 0003-add-option-to-hide-nonstandard-server-warning.patch	2018-07-30 10:36:23 UTC (rev 364965)
+++ 0003-add-option-to-hide-nonstandard-server-warning.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -1,36 +0,0 @@
-From cca769c75b9421f8ef5090848cea6162ccd85ba7 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail at eworm.de>
-Date: Wed, 8 Feb 2017 09:42:29 +0100
-Subject: [PATCH 1/1] add option to hide nonstandard server warning
-
-Signed-off-by: Christian Hesse <mail at eworm.de>
----
- backend/wbprivate/workbench/wb_context.cpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/backend/wbprivate/workbench/wb_context.cpp b/backend/wbprivate/workbench/wb_context.cpp
-index f06ff99..f89006b 100644
---- a/backend/wbprivate/workbench/wb_context.cpp
-+++ b/backend/wbprivate/workbench/wb_context.cpp
-@@ -3038,7 +3038,7 @@ std::shared_ptr<SqlEditorForm> WBContext::add_new_query_window(const db_mgmt_Con
-         logError("Unsupported server version: %s %s\n", form->connection_details()["dbmsProductName"].c_str(),
-                  form->connection_details()["dbmsProductVersion"].c_str());
- 
--        if (mforms::Utilities::show_warning(
-+        if (mforms::Utilities::show_message_and_remember(
-               base::strfmt("Connection Warning (%s)", targetConnection->name().c_str()),
-               base::strfmt(
-                 "Incompatible/nonstandard server version or connection protocol detected (%s).\n\n"
-@@ -3046,7 +3046,8 @@ std::shared_ptr<SqlEditorForm> WBContext::add_new_query_window(const db_mgmt_Con
-                 "properly since the database is not fully compatible with the supported versions of MySQL.\n\n"
-                 "MySQL Workbench is developed and tested for MySQL Server versions 5.1, 5.5, 5.6 and 5.7",
-                 bec::sanitize_server_version_number(form->connection_details()["dbmsProductVersion"]).c_str()),
--              "Continue Anyway", "Cancel") != mforms::ResultOk) {
-+              "Continue Anyway", "Cancel", "", "wb.supported_server_check.suppress_warning",
-+              "Don't show this message again") != mforms::ResultOk) {
-           _frontendCallbacks->show_status_text(_("Unsupported server"));
-           return SqlEditorForm::Ref();
-         }
--- 
-2.11.1
-

Deleted: 0005-gdal-use-CPLFree.patch
===================================================================
--- 0005-gdal-use-CPLFree.patch	2018-07-30 10:36:23 UTC (rev 364965)
+++ 0005-gdal-use-CPLFree.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -1,62 +0,0 @@
-From 97d26e5edfccead3fe3a10b732de51caa427eb60 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail at eworm.de>
-Date: Tue, 16 May 2017 09:31:39 +0200
-Subject: [PATCH 1/1] gdal: use CPLFree()
-
-OGRFree() is deprecated as of gdal 2.2.0, so use CPLFree() instead.
-
-Signed-off-by: Christian Hesse <mail at eworm.de>
----
- backend/wbpublic/grt/spatial_handler.cpp                 | 4 ++--
- backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp | 6 +++---
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/backend/wbpublic/grt/spatial_handler.cpp b/backend/wbpublic/grt/spatial_handler.cpp
-index 9b357603..ee36fa03 100644
---- a/backend/wbpublic/grt/spatial_handler.cpp
-+++ b/backend/wbpublic/grt/spatial_handler.cpp
-@@ -443,7 +443,7 @@ spatial::Importer::Importer() : _geometry(NULL), _interrupt(false), _srid(0) {
- 
- spatial::Importer::~Importer() {
-   if (_geometry != NULL)
--    OGRFree(_geometry);
-+    CPLFree(_geometry);
- }
- 
- OGRGeometry *spatial::Importer::steal_data() {
-@@ -495,7 +495,7 @@ std::string spatial::Importer::as_wkt() {
-       logError("Error exporting data to WKT (%i)\n", err);
-     } else {
-       std::string tmp(data);
--      OGRFree(data);
-+      CPLFree(data);
-       return tmp;
-     }
-   }
-diff --git a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp
-index d2eb8495..7a7948bf 100644
---- a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp
-+++ b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp
-@@ -47,7 +47,7 @@ static grt::StringRef getGeoRepresentation(grt::StringRef data, bool outputAsJso
-     OGRGeometryFactory::createFromWkb((unsigned char *)const_cast<char *>(&(*((*data).begin() + 4))), NULL, &geometry);
-   if (ret_val != OGRERR_NONE) {
-     if (geometry)
--      OGRFree(geometry);
-+      CPLFree(geometry);
-     throw std::exception();
-   }
- 
-@@ -61,8 +61,8 @@ static grt::StringRef getGeoRepresentation(grt::StringRef data, bool outputAsJso
- 
-     if (err == OGRERR_NONE && data != NULL) {
-       grt::StringRef tmp(data);
--      OGRFree(data);
--      OGRFree(geometry);
-+      CPLFree(data);
-+      CPLFree(geometry);
-       return tmp;
-     } else
-       throw std::runtime_error("Conversion of OGR geometry data failed");
--- 
-2.13.0
-

Deleted: 0006-mysql-include-my_dir.patch
===================================================================
--- 0006-mysql-include-my_dir.patch	2018-07-30 10:36:23 UTC (rev 364965)
+++ 0006-mysql-include-my_dir.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -1,12 +0,0 @@
-diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c
-index ab0d76e91d0..b96d78e8c17 100644
---- a/mysys/my_symlink.c
-+++ b/mysys/my_symlink.c
-@@ -23,6 +23,7 @@
- #include <sys/param.h>
- #include <sys/stat.h>
- #endif
-+#include <my_dir.h>
- 
- /*
-   Reads the content of a symbolic link

Deleted: 0007-mysql-connector-cpp-linking.patch
===================================================================
--- 0007-mysql-connector-cpp-linking.patch	2018-07-30 10:36:23 UTC (rev 364965)
+++ 0007-mysql-connector-cpp-linking.patch	2018-07-30 11:21:56 UTC (rev 364966)
@@ -1,13 +0,0 @@
-diff --git a/FindMySQL.cmake b/FindMySQL.cmake
-index c9d10c6..0df9683 100644
---- a/FindMySQL.cmake
-+++ b/FindMySQL.cmake
-@@ -700,8 +700,6 @@ endif()
- 
- # For dynamic linking use the built-in sys and strings
- if(NOT MYSQLCLIENT_STATIC_LINKING)
--   list(APPEND SYS_LIBRARIES "mysql_sys")
--   list(APPEND SYS_LIBRARIES "mysql_strings")
-    list(APPEND SYS_LIBRARIES ${MYSQL_LIBRARIES})
-    SET(MYSQL_LIBRARIES ${SYS_LIBRARIES})
- 

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-07-30 10:36:23 UTC (rev 364965)
+++ PKGBUILD	2018-07-30 11:21:56 UTC (rev 364966)
@@ -6,12 +6,13 @@
 # Contributor: Ionut Biru <ibiru at archlinux.org>
 
 pkgname=mysql-workbench
-pkgver=6.3.10
-pkgrel=7
-_mysql_version=5.7.22
-_connector_version=1.1.11
+pkgver=8.0.12
+pkgrel=1
+_mysql_version=8.0.12
+_connector_version=8.0.12
 _gdal_version=2.3.1
-_boost_version=1.59.0
+_boost_version=1.67.0
+_libssh_version=0.7.5
 pkgdesc='A cross-platform, visual database design tool developed by MySQL'
 arch=('x86_64')
 url='https://www.mysql.com/products/workbench/'
@@ -18,53 +19,50 @@
 license=('GPL2')
 depends=('cairo' 'ctemplate' 'desktop-file-utils' 'freetype2' 'gtkmm3'
 	'hicolor-icon-theme' 'libgl' 'libgnome-keyring' 'libiodbc' 'libxml2'
-	'libzip' 'mysql-python' 'pcre' 'python2' 'python2-cairo' 'python2-paramiko'
-	'python2-pexpect' 'tinyxml' 'unixodbc' 'vsqlite++' 'proj' 'json-c')
+	'libzip' 'mysql-python' 'pcre' 'python2' 'python2-cairo'
+	'python2-pexpect' 'tinyxml' 'unixodbc' 'vsqlite++' 'proj' 'json-c'
+	'antlr4-runtime')
 optdepends=('gnome-keyring: store SSH/MySQL passwords in GNOME password manager'
 	'python2-pyodbc: database migration')
-makedepends=('cmake' 'boost' 'mesa' 'swig' 'java-runtime' 'imagemagick')
-validpgpkeys=('A4A9406876FCBD3C456770C88C718D3B5072E1F5')
+makedepends=('cmake' 'boost' 'mesa' 'swig' 'java-runtime' 'imagemagick' 'antlr4')
+validpgpkeys=('A4A9406876FCBD3C456770C88C718D3B5072E1F5'  # MySQL Release Engineering <mysql-build at oss.oracle.com>
+              '8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D') # Andreas Schneider <asn at cryptomilk.org> (for libssh)
 source=("https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-${pkgver}-src.tar.gz"{,.asc}
 	"https://cdn.mysql.com/Downloads/MySQL-${_mysql_version%.*}/mysql-${_mysql_version}.tar.gz"{,.asc}
-	"https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${_connector_version}.tar.gz"{,.asc}
+	"https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${_connector_version}-src.tar.gz"{,.asc}
 	"http://download.osgeo.org/gdal/${_gdal_version}/gdal-${_gdal_version}.tar.xz"
 	"https://downloads.sourceforge.net/project/boost/boost/${_boost_version}/boost_${_boost_version//./_}.tar.bz2"
-	'http://www.antlr3.org/download/antlr-3.4-complete.jar'
+	"https://www.libssh.org/files/${_libssh_version%.*}/libssh-${_libssh_version}.tar."{xz,asc}
+	'libssh-fix-read-config.patch::https://git.libssh.org/projects/libssh.git/patch/?id=5333be59'
 	'0001-mysql-workbench-no-check-for-updates.patch'
 	'0002-disable-unsupported-operating-system-warning.patch'
-	'0003-add-option-to-hide-nonstandard-server-warning.patch'
-	'0005-gdal-use-CPLFree.patch'
-	'0006-mysql-include-my_dir.patch'
-	'0007-mysql-connector-cpp-linking.patch'
+	'0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch'
 	'arch_linux_profile.xml')
-sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3'
+sha256sums=('0241586c95026a7d4d1b552ba2e33d8e66f6826e8f7e1a692b78c405f80cd334'
             'SKIP'
-            '4eb8405b0a9acb0381eae94c1741b2850dfc6467742b24b676e62b566409cff2'
+            '69f16e20834dbc60cb28d6df7351deda323330b9de685d22415f135bcedd1b20'
             'SKIP'
-            '1962489c205bb86aa984e46a0a8a7702ea2ea25ee6e177973e6587cd92de6a65'
+            '47d9f152988fe205350a6d31d032692a6777f838a886c3b3dc7af3b0652fdd50'
             'SKIP'
             '9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a'
-            '727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca'
-            '9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7'
-            'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf'
-            '0d65832bc5a73d4cfecef4b552bb78a30ce6020a5fabe5558dcf2ade8341b593'
-            '3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea'
-            '0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531'
-            'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436'
-            'ea857f44f8e7abacec9a693ad0c4129aa9f93b238c26f4b53aa097a4bb42074a'
+            '2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba'
+            '54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095'
+            'SKIP'
+            'c39bed86f34a377015fb6d6552700a3838c5cae1a4a83b3e859539785aeabdba'
+            'cdf687f23bc6e8d52dbee9fa02b23d755e80f88476f0fc2e7c4c71cdfed3792f'
+            '2d0f6dcf38f22e49ef7ab9de0230484f1ffac41b7ac40feaf5ef4538ae2f7a18'
+            'f15d8c8b3cc74d2d0b792316834648620fc2299ce103c6419f4c562f759ad755'
             '2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af')
 
 prepare() {
-	cd "${srcdir}/mysql-${_mysql_version}"
+	cd "${srcdir}/libssh-${_libssh_version}"
 
-	# fix build without server
-	patch -Np1 < "${srcdir}"/0006-mysql-include-my_dir.patch
+	# from libssh package
+	patch -Np1 < "${srcdir}"/libssh-fix-read-config.patch
+	# required for mysql-workbench
+	# TODO: drop bundled libssh when this is merged upstream and hits our package
+	patch -Np1 < "${srcdir}"/0003-Fix-segfault-in-getIssueBanner-add-missing-wrappers.patch
 
-	cd "${srcdir}/mysql-connector-c++-${_connector_version}/"
-
-	# fix linking
-	patch -Np1 < "${srcdir}"/0007-mysql-connector-cpp-linking.patch
-
 	cd "${srcdir}/mysql-workbench-community-${pkgver}-src/"
 
 	# Disable 'Help' -> 'Check for Updates'
@@ -74,12 +72,6 @@
 	# disable unsupported operating system warning
 	patch -Np1 < "${srcdir}"/0002-disable-unsupported-operating-system-warning.patch
 
-	# add option to hide nonstandard server warning
-	patch -Np1 < "${srcdir}"/0003-add-option-to-hide-nonstandard-server-warning.patch
-
-	# gdal: use CPLFree()
-	patch -Np1 < "${srcdir}"/0005-gdal-use-CPLFree.patch
-
 	# GCC 7.x introduced some new warnings, remove '-Werror' for the build to complete
 	sed -i '/^set/s|-Werror -Wall|-Wall|' CMakeLists.txt
 
@@ -86,13 +78,9 @@
 	# GCC 7.x complains about unsupported flag
 	sed -i 's|-Wno-deprecated-register||' ext/scintilla/gtk/CMakeLists.txt
 
-	# we need python 2.x
-	sed -i '/^FIND_PROGRAM(PYTHON_EXEC /c FIND_PROGRAM(PYTHON_EXEC "python2")' \
-		CMakeLists.txt
+	# disable stringop-truncation for GCC 8.x 
+	sed -i '/^set/s|-Wall|-Wall -Wno-stringop-truncation|' CMakeLists.txt
 
-	# put antlr into place
-	install -D ${srcdir}/antlr-3.4-complete.jar ${srcdir}/linux-res/bin/antlr-3.4-complete.jar
-
 	# make sure to link against bundled libraries
 	sed -i "/target_link_libraries/s|\\$|-L${srcdir}/install-bundle/usr/lib/ \\$|" backend/wbpublic/CMakeLists.txt
 }
@@ -99,31 +87,41 @@
 
 build() {
 	# Build mysql
-	cd "${srcdir}/mysql-${_mysql_version}"
-	cmake . \
+	mkdir "${srcdir}/mysql-${_mysql_version}-build"
+	cd "${srcdir}/mysql-${_mysql_version}-build"
+	msg "Configure mysql"
+	cmake "${srcdir}/mysql-${_mysql_version}" \
 		-DWITHOUT_SERVER=ON \
 		-DBUILD_CONFIG=mysql_release \
 		-DCMAKE_INSTALL_PREFIX=/usr \
-		-DCMAKE_INSTALL_LIBDIR=lib \
 		-DSYSCONFDIR=/etc/mysql \
 		-DMYSQL_DATADIR=/var/lib/mysql \
 		-DWITH_BOOST="${srcdir}/boost_${_boost_version//./_}"
+	msg "Build mysql"
+	make
+	msg "Install mysql"
 	make DESTDIR="${srcdir}/install-bundle/" install
 
 	# Build mysql-connector-c++
-	cd "${srcdir}/mysql-connector-c++-${_connector_version}/"
-	cmake . \
+	mkdir "${srcdir}/mysql-connector-c++-${_connector_version}-src-build"
+	cd "${srcdir}/mysql-connector-c++-${_connector_version}-src-build"
+	msg "Configure mysql-connector-c++"
+	cmake "${srcdir}/mysql-connector-c++-${_connector_version}-src" \
 		-Wno-dev \
 		-DCMAKE_INSTALL_PREFIX=/usr \
 		-DCMAKE_BUILD_TYPE=Release \
-		-DCMAKE_INSTALL_LIBDIR=lib \
-		-DMYSQLCPPCONN_BUILD_EXAMPLES=OFF \
+		-DINSTALL_LIB_DIR=lib \
 		-DMYSQL_DIR="${srcdir}/install-bundle/" \
-		-DMYSQL_CONFIG_EXECUTABLE="${srcdir}/install-bundle/usr/bin/mysql_config"
+		-DMYSQL_CONFIG_EXECUTABLE="${srcdir}/install-bundle/usr/bin/mysql_config" \
+		-DWITH_JDBC=ON
+	msg "Build mysql-connector-c++"
+	make
+	msg "Install mysql-connector-c++"
 	make DESTDIR="${srcdir}/install-bundle/" install
 
 	# Build gdal
-	cd "${srcdir}/gdal-${_gdal_version}/"
+	cd "${srcdir}/gdal-${_gdal_version}"
+	msg "Configure gdal"
 	./configure \
 		--prefix=/usr \
 		--includedir=/usr/include/gdal \
@@ -131,36 +129,59 @@
 		--with-mysql="${srcdir}/install-bundle/usr/bin/mysql_config" \
 		--with-curl \
 		--without-jasper
-	make lib-target
-	make DESTDIR="${srcdir}/install-bundle/" install-lib install-static-lib
+	msg "Build gdal"
+	make LD_LIBRARY_PATH="${srcdir}/install-bundle/usr/lib/"
+	msg "Install gdal"
+	make LD_LIBRARY_PATH="${srcdir}/install-bundle/usr/lib/" DESTDIR="${srcdir}/install-bundle/" install
 
+	# Build libssh
+	mkdir "${srcdir}/libssh-${_libssh_version}-build"
+	cd "${srcdir}/libssh-${_libssh_version}-build"
+	msg "Configure libssh"
+	cmake "${srcdir}/libssh-${_libssh_version}" \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DWITH_GSSAPI=OFF \
+		-DWITH_GCRYPT=ON \
+		-DWITH_TESTING=OFF
+	msg "Build libssh"
+	make
+	msg "Install libssh"
+	make DESTDIR="${srcdir}/install-bundle/" install
+
 	# Build MySQL Workbench itself with bundled libs
-	cd "${srcdir}/mysql-workbench-community-${pkgver}-src/"
-	cmake . \
+	mkdir "${srcdir}/mysql-workbench-community-${pkgver}-src-build"
+	cd "${srcdir}/mysql-workbench-community-${pkgver}-src-build"
+	msg "Configure mysql-workbench"
+	cmake "${srcdir}/mysql-workbench-community-${pkgver}-src" \
+		-Wno-dev \
 		-DCMAKE_INSTALL_PREFIX:PATH=/usr \
 		-DCMAKE_CXX_FLAGS="-std=c++11" \
 		-DCMAKE_BUILD_TYPE=Release \
 		-DMySQL_CONFIG_PATH="${srcdir}/install-bundle/usr/bin/mysql_config" \
 		-DMySQLCppConn_LIBRARY="${srcdir}/install-bundle/usr/lib/libmysqlcppconn.so" \
-		-DMySQLCppConn_INCLUDE_DIR="${srcdir}/install-bundle/usr/include" \
+		-DMySQLCppConn_INCLUDE_DIR="${srcdir}/install-bundle/usr/include/jdbc" \
 		-DGDAL_INCLUDE_DIR="${srcdir}/install-bundle/usr/include" \
 		-DGDAL_LIBRARY="${srcdir}/install-bundle/usr/lib/libgdal.so" \
+		-DLibSSH_INCLUDE_DIR="${srcdir}/install-bundle/usr/include" \
+		-DLibSSH_LIBRARY="${srcdir}/install-bundle/usr/lib/libssh.so" \
+		-DWITH_ANTLR_JAR='/usr/share/java/antlr-complete.jar' \
 		-DUSE_BUNDLED_MYSQLDUMP=1
+	msg "Build mysql-workbench"
 	make
 }
 
 package() {
 	# install bundled libraries files and files
-	for LIBRARY in $(find "${srcdir}/install-bundle/usr/lib/" -type f -regex '.*/lib\(gdal\|mysql\(client\|cppconn\)\)\.so\..*'); do
+	for LIBRARY in $(find "${srcdir}/install-bundle/usr/lib/" -type f -regex '.*/lib\(gdal\|mysql\(client\|cppconn\)\|ssh\(\|_threads\)\)\.so\..*'); do
 		install -D -m0755 "${LIBRARY}" "${pkgdir}"/usr/lib/mysql-workbench/"$(basename "${LIBRARY}")"
 	done
-	for SYMLINK in $(find "${srcdir}/install-bundle/usr/lib/" -type l -regex '.*/lib\(gdal\|mysql\(client\|cppconn\)\)\.so\..*'); do
+	for SYMLINK in $(find "${srcdir}/install-bundle/usr/lib/" -type l -regex '.*/lib\(gdal\|mysql\(client\|cppconn\)\|ssh\(\|_threads\)\)\.so\..*'); do
 		ln -s "$(readlink "${SYMLINK}")" "${pkgdir}"/usr/lib/mysql-workbench/"$(basename "${SYMLINK}")"
 	done
 	install -m0755 "${srcdir}/install-bundle/usr/bin/mysql"{,dump} "${pkgdir}"/usr/lib/mysql-workbench/
 
 	# install MySQL Workbench itself
-	cd "${srcdir}/mysql-workbench-community-${pkgver}-src/"
+	cd "${srcdir}/mysql-workbench-community-${pkgver}-src-build"
 
 	make DESTDIR="${pkgdir}" install
 
@@ -167,9 +188,9 @@
 	# icons
 	for SIZE in 16 24 32 48 64 96 128; do
 		convert -scale ${SIZE} \
-			images/icons/linux/128x128/apps/mysql-workbench.png \
-			${srcdir}/mysql-workbench.png
-		install -D -m0644 ${srcdir}/mysql-workbench.png "${pkgdir}/usr/share/icons/hicolor/${SIZE}x${SIZE}/apps/mysql-workbench.png"
+			"${srcdir}/mysql-workbench-community-${pkgver}-src/images/icons/MySQLWorkbench-128.png" \
+			"${srcdir}/mysql-workbench.png"
+		install -D -m0644 "${srcdir}/mysql-workbench.png" "${pkgdir}/usr/share/icons/hicolor/${SIZE}x${SIZE}/apps/mysql-workbench.png"
 	done
 
 	install -D -m 0644 "${srcdir}"/arch_linux_profile.xml \



More information about the arch-commits mailing list