diff options
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | 0001-mysql-workbench-no-check-for-updates.patch | 45 | ||||
-rw-r--r-- | 0002-disable-unsupported-operating-system-warning.patch | 17 | ||||
-rw-r--r-- | 0003-add-option-to-hide-nonstandard-server-warning.patch | 36 | ||||
-rw-r--r-- | 0005-gdal-use-CPLFree.patch | 62 | ||||
-rw-r--r-- | 0006-mysql-include-my_dir.patch | 12 | ||||
-rw-r--r-- | 0007-gdal-json-c-0-13.patch | 111 | ||||
-rw-r--r-- | PKGBUILD | 140 |
8 files changed, 113 insertions, 345 deletions
@@ -1,6 +1,6 @@ pkgbase = mysql-workbench-git pkgdesc = A cross-platform, visual database design tool developed by MySQL - git checkout - pkgver = 6.3.9.r0.g1972008 + pkgver = 8.0.12.r0.g7d05cc5df pkgrel = 1 url = https://www.mysql.com/products/workbench/ arch = x86_64 @@ -12,6 +12,7 @@ pkgbase = mysql-workbench-git makedepends = swig makedepends = java-runtime makedepends = imagemagick + makedepends = antlr4 depends = cairo depends = ctemplate depends = desktop-file-utils @@ -19,7 +20,7 @@ pkgbase = mysql-workbench-git depends = gtkmm3 depends = hicolor-icon-theme depends = libgl - depends = libgnome-keyring + depends = libsecret depends = libiodbc depends = libxml2 depends = libzip @@ -27,43 +28,35 @@ pkgbase = mysql-workbench-git depends = pcre depends = python2 depends = python2-cairo - depends = python2-paramiko + depends = libssh depends = python2-pexpect depends = tinyxml depends = unixodbc depends = vsqlite++ depends = proj depends = json-c - optdepends = gnome-keyring: store SSH/MySQL passwords in GNOME password manager + depends = antlr4-runtime optdepends = python2-pyodbc: database migration provides = mysql-workbench conflicts = mysql-workbench source = git://github.com/mysql/mysql-workbench.git source = git://github.com/mysql/mysql-server.git - source = git://github.com/mysql/mysql-connector-cpp.git - source = http://download.osgeo.org/gdal/2.2.3/gdal-2.2.3.tar.xz - source = https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 - source = http://www.antlr3.org/download/antlr-3.4-complete.jar + source = https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-8.0.12-src.tar.gz + source = https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-8.0.12-src.tar.gz.asc + source = http://download.osgeo.org/gdal/2.3.1/gdal-2.3.1.tar.xz + source = https://downloads.sourceforge.net/project/boost/boost/1.67.0/boost_1_67_0.tar.bz2 source = 0001-mysql-workbench-no-check-for-updates.patch source = 0002-disable-unsupported-operating-system-warning.patch - source = 0003-add-option-to-hide-nonstandard-server-warning.patch - source = 0005-gdal-use-CPLFree.patch - source = 0006-mysql-include-my_dir.patch - source = 0007-gdal-json-c-0-13.patch source = arch_linux_profile.xml validpgpkeys = A4A9406876FCBD3C456770C88C718D3B5072E1F5 sha256sums = SKIP sha256sums = SKIP + sha256sums = 47d9f152988fe205350a6d31d032692a6777f838a886c3b3dc7af3b0652fdd50 sha256sums = SKIP - sha256sums = a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b - sha256sums = 727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca - sha256sums = 9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7 - sha256sums = b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf - sha256sums = 0d65832bc5a73d4cfecef4b552bb78a30ce6020a5fabe5558dcf2ade8341b593 - sha256sums = 3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea - sha256sums = 0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531 - sha256sums = d97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436 - sha256sums = 7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f + sha256sums = 9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a + sha256sums = 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba + sha256sums = cdf687f23bc6e8d52dbee9fa02b23d755e80f88476f0fc2e7c4c71cdfed3792f + sha256sums = 2d0f6dcf38f22e49ef7ab9de0230484f1ffac41b7ac40feaf5ef4538ae2f7a18 sha256sums = 2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af pkgname = mysql-workbench-git diff --git a/0001-mysql-workbench-no-check-for-updates.patch b/0001-mysql-workbench-no-check-for-updates.patch index 129b63b18ff4..825d4de58947 100644 --- a/0001-mysql-workbench-no-check-for-updates.patch +++ b/0001-mysql-workbench-no-check-for-updates.patch @@ -1,21 +1,30 @@ +From d15e588be02e44b1317bf90ff7be1714267281c8 Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@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@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> diff --git a/0002-disable-unsupported-operating-system-warning.patch b/0002-disable-unsupported-operating-system-warning.patch index 56aef14132bf..785d65482beb 100644 --- a/0002-disable-unsupported-operating-system-warning.patch +++ b/0002-disable-unsupported-operating-system-warning.patch @@ -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@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@eworm.de> --- @@ -9,21 +9,18 @@ Signed-off-by: Christian Hesse <mail@eworm.de> 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 - diff --git a/0003-add-option-to-hide-nonstandard-server-warning.patch b/0003-add-option-to-hide-nonstandard-server-warning.patch deleted file mode 100644 index 31471fa9c6c9..000000000000 --- a/0003-add-option-to-hide-nonstandard-server-warning.patch +++ /dev/null @@ -1,36 +0,0 @@ -From cca769c75b9421f8ef5090848cea6162ccd85ba7 Mon Sep 17 00:00:00 2001 -From: Christian Hesse <mail@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@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 - diff --git a/0005-gdal-use-CPLFree.patch b/0005-gdal-use-CPLFree.patch deleted file mode 100644 index 4893149c1e16..000000000000 --- a/0005-gdal-use-CPLFree.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 97d26e5edfccead3fe3a10b732de51caa427eb60 Mon Sep 17 00:00:00 2001 -From: Christian Hesse <mail@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@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 - diff --git a/0006-mysql-include-my_dir.patch b/0006-mysql-include-my_dir.patch deleted file mode 100644 index 3e220f86b468..000000000000 --- a/0006-mysql-include-my_dir.patch +++ /dev/null @@ -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 diff --git a/0007-gdal-json-c-0-13.patch b/0007-gdal-json-c-0-13.patch deleted file mode 100644 index 6101b8c0fe5e..000000000000 --- a/0007-gdal-json-c-0-13.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 05a1fd773c8f418ee9765465fc4863c1d6472a4c Mon Sep 17 00:00:00 2001 -From: Even Rouault <even.rouault@mines-paris.org> -Date: Fri, 5 Jan 2018 18:08:49 +0000 -Subject: [PATCH] =?UTF-8?q?Add=20support=20for=20json-c=20v0.13=20(patch?= - =?UTF-8?q?=20by=20Bj=C3=B6rn=20Esser,=20fixes=20=E2=80=8Bhttps://github.c?= - =?UTF-8?q?om/OSGeo/gdal/pull/277,=20backport=20of=20r41043,=20fixes=20#71?= - =?UTF-8?q?95)?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: https://svn.osgeo.org/gdal/branches/2.2@41200 f0d54148-0727-0410-94bb-9a71ac55c965 ---- - gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp | 30 +++++++++++++++++------ - 1 file changed, 22 insertions(+), 8 deletions(-) - -diff --git a/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp b/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -index fdf4b77b459..f8937885c76 100644 ---- a/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -+++ b/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp -@@ -27,12 +27,18 @@ - * DEALINGS IN THE SOFTWARE. - ****************************************************************************/ - -+#define JSON_C_VER_013 (13 << 8) -+ - #include "ogrgeojsonwriter.h" - #include "ogrgeojsonutils.h" - #include "ogr_geojson.h" - #include "ogrgeojsonreader.h" - #include <json.h> // JSON-C -+ -+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include <json_object_private.h> -+#endif -+ - #include <printbuf.h> - #include <ogr_api.h> - #include <ogr_p.h> -@@ -1381,13 +1387,17 @@ static int OGR_json_double_with_precision_to_string( struct json_object *jso, - { - // TODO(schwehr): Explain this casting. - const int nPrecision = -+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - static_cast<int>(reinterpret_cast<GUIntptr_t>(jso->_userdata)); -+#else -+ static_cast<int>(reinterpret_cast<GUIntptr_t>(json_object_get_userdata(jso))); -+#endif - char szBuffer[75] = {}; -- OGRFormatDouble( szBuffer, sizeof(szBuffer), jso->o.c_double, '.', -+ OGRFormatDouble( szBuffer, sizeof(szBuffer), json_object_get_double(jso), '.', - (nPrecision < 0) ? 15 : nPrecision ); - if( szBuffer[0] == 't' /*oobig */ ) - { -- CPLsnprintf(szBuffer, sizeof(szBuffer), "%.18g", jso->o.c_double); -+ CPLsnprintf(szBuffer, sizeof(szBuffer), "%.18g", json_object_get_double(jso)); - } - return printbuf_memappend(pb, szBuffer, static_cast<int>(strlen(szBuffer))); - } -@@ -1417,11 +1427,11 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, - { - char szBuffer[75] = {}; - int nSize = 0; -- if( CPLIsNan(jso->o.c_double)) -+ if( CPLIsNan(json_object_get_double(jso))) - nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "NaN"); -- else if( CPLIsInf(jso->o.c_double) ) -+ else if( CPLIsInf(json_object_get_double(jso)) ) - { -- if( jso->o.c_double > 0 ) -+ if( json_object_get_double(jso) > 0 ) - nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "Infinity"); - else - nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "-Infinity"); -@@ -1429,13 +1439,17 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, - else - { - char szFormatting[32] = {}; -+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - const int nSignificantFigures = (int) (GUIntptr_t) jso->_userdata; -+#else -+ const int nSignificantFigures = (int) (GUIntptr_t) json_object_get_userdata(jso); -+#endif - const int nInitialSignificantFigures = - nSignificantFigures >= 0 ? nSignificantFigures : 17; - CPLsnprintf(szFormatting, sizeof(szFormatting), - "%%.%dg", nInitialSignificantFigures); - nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), -- szFormatting, jso->o.c_double); -+ szFormatting, json_object_get_double(jso)); - const char* pszDot = NULL; - if( nSize+2 < static_cast<int>(sizeof(szBuffer)) && - (pszDot = strchr(szBuffer, '.')) == NULL ) -@@ -1457,7 +1471,7 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, - CPLsnprintf(szFormatting, sizeof(szFormatting), - "%%.%dg", nInitialSignificantFigures- i); - nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), -- szFormatting, jso->o.c_double); -+ szFormatting, json_object_get_double(jso)); - pszDot = strchr(szBuffer, '.'); - if( pszDot != NULL && - strstr(pszDot, "999999") == NULL && -@@ -1472,7 +1486,7 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, - CPLsnprintf(szFormatting, sizeof(szFormatting), - "%%.%dg", nInitialSignificantFigures); - nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), -- szFormatting, jso->o.c_double); -+ szFormatting, json_object_get_double(jso)); - if( nSize+2 < static_cast<int>(sizeof(szBuffer)) && - strchr(szBuffer, '.') == NULL ) - { @@ -5,50 +5,42 @@ # Contributor: Ionut Biru <ibiru@archlinux.org> pkgname=mysql-workbench-git -pkgver=6.3.9.r0.g1972008 +pkgver=8.0.12.r0.g7d05cc5df pkgrel=1 -# mysql & mysql-connector-c++ from git -_gdal_version=2.2.3 -_boost_version=1.59.0 +# mysql from git +_connector_version=8.0.12 +_gdal_version=2.3.1 +_boost_version=1.67.0 pkgdesc='A cross-platform, visual database design tool developed by MySQL - git checkout' arch=('x86_64') url='https://www.mysql.com/products/workbench/' 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') -optdepends=('gnome-keyring: store SSH/MySQL passwords in GNOME password manager' - 'python2-pyodbc: database migration') + 'hicolor-icon-theme' 'libgl' 'libsecret' 'libiodbc' 'libxml2' + 'libzip' 'mysql-python' 'pcre' 'python2' 'python2-cairo' 'libssh' + 'python2-pexpect' 'tinyxml' 'unixodbc' 'vsqlite++' 'proj' 'json-c' + 'antlr4-runtime') +optdepends=('python2-pyodbc: database migration') provides=('mysql-workbench') conflicts=('mysql-workbench') -makedepends=('git' 'cmake' 'boost' 'mesa' 'swig' 'java-runtime' 'imagemagick') -validpgpkeys=('A4A9406876FCBD3C456770C88C718D3B5072E1F5') +makedepends=('git' 'cmake' 'boost' 'mesa' 'swig' 'java-runtime' 'imagemagick' 'antlr4') +validpgpkeys=('A4A9406876FCBD3C456770C88C718D3B5072E1F5') # MySQL Release Engineering <mysql-build@oss.oracle.com> source=('git://github.com/mysql/mysql-workbench.git' 'git://github.com/mysql/mysql-server.git' - 'git://github.com/mysql/mysql-connector-cpp.git' + "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' '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-gdal-json-c-0-13.patch' 'arch_linux_profile.xml') sha256sums=('SKIP' 'SKIP' + '47d9f152988fe205350a6d31d032692a6777f838a886c3b3dc7af3b0652fdd50' 'SKIP' - 'a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b' - '727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca' - '9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7' - 'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf' - '0d65832bc5a73d4cfecef4b552bb78a30ce6020a5fabe5558dcf2ade8341b593' - '3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea' - '0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531' - 'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436' - '7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f' + '9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a' + '2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba' + 'cdf687f23bc6e8d52dbee9fa02b23d755e80f88476f0fc2e7c4c71cdfed3792f' + '2d0f6dcf38f22e49ef7ab9de0230484f1ffac41b7ac40feaf5ef4538ae2f7a18' '2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af') pkgver() { @@ -58,25 +50,15 @@ pkgver() { printf '%s.r%s.g%s' \ "$(sed -e "s/^${pkgname%%-git}//" -e 's/^[-_/a-zA-Z]\+//' -e 's/[-_+]/./g' <<< ${GITTAG})" \ "$(git rev-list --count ${GITTAG}..)" \ - "$(git log -1 --format='%h')" + "$(git rev-parse --short HEAD)" else printf '0.r%s.g%s' \ "$(git rev-list --count master)" \ - "$(git log -1 --format='%h')" + "$(git rev-parse --short HEAD)" fi } prepare() { - cd "${srcdir}/mysql-server/" - - # fix build without server - patch -Np1 < "${srcdir}"/0006-mysql-include-my_dir.patch - - cd "${srcdir}/gdal-${_gdal_version}" - - # Add support for json-c v0.13 - patch -Np2 < "${srcdir}"/0007-gdal-json-c-0-13.patch - cd "${srcdir}/mysql-workbench/" # Disable 'Help' -> 'Check for Updates' @@ -86,24 +68,14 @@ prepare() { # 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 # 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 - - # put antlr into place - install -D ${srcdir}/antlr-3.4-complete.jar ${srcdir}/linux-res/bin/antlr-3.4-complete.jar + # disable stringop-truncation for GCC 8.x + sed -i '/^set/s|-Wall|-Wall -Wno-stringop-truncation|' CMakeLists.txt # make sure to link against bundled libraries sed -i "/target_link_libraries/s|\\$|-L${srcdir}/install-bundle/usr/lib/ \\$|" backend/wbpublic/CMakeLists.txt @@ -111,34 +83,41 @@ prepare() { build() { # Build mysql - cd "${srcdir}/mysql-server/" - cmake . \ + mkdir "${srcdir}/mysql-build" + cd "${srcdir}/mysql-build" + msg "Configure mysql" + cmake "${srcdir}/mysql-server" \ -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-cpp/" - 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" \ - -DBOOST_ROOT:STRING="${srcdir}/boost_${_boost_version//./_}" - + -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 \ @@ -146,45 +125,56 @@ build() { --with-mysql="${srcdir}/install-bundle/usr/bin/mysql_config" \ --with-curl \ --without-jasper - make - make DESTDIR="${srcdir}/install-bundle/" install + 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 MySQL Workbench itself with bundled libs - cd "${srcdir}/mysql-workbench/" - cmake . \ + mkdir "${srcdir}/mysql-workbench-build" + cd "${srcdir}/mysql-workbench-build" + msg "Configure mysql-workbench" + cmake "${srcdir}/mysql-workbench" \ + -Wno-dev \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ - -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DCMAKE_CXX_FLAGS="-std=c++14" \ -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" \ + -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 + # install bundled libraries for LIBRARY in $(find "${srcdir}/install-bundle/usr/lib/" -type f -regex '.*/lib\(gdal\|mysql\(client\|cppconn\)\)\.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 - ln -s "$(readlink "${SYMLINK}")" "${pkgdir}"/usr/lib/mysql-workbench/"$(basename "${SYMLINK}")" + BASENAME="$(basename "${LIBRARY}")" + SONAME="$(readelf -d "${LIBRARY}" | grep -Po '(?<=(Library soname: \[)).*(?=\])')" + install -D -m0755 "${LIBRARY}" "${pkgdir}"/usr/lib/mysql-workbench/"${BASENAME}" + ln -s "${BASENAME}" "${pkgdir}"/usr/lib/mysql-workbench/"${SONAME}" done + + # install bundled mysql and mysqldump install -m0755 "${srcdir}/install-bundle/usr/bin/mysql"{,dump} "${pkgdir}"/usr/lib/mysql-workbench/ # install MySQL Workbench itself - cd "${srcdir}/mysql-workbench/" + cd "${srcdir}/mysql-workbench-build/" + # where should these file be generated!? + touch "${srcdir}"/mysql-workbench/build/mysql-workbench-commercial.{mime,sharedmimeinfo} make DESTDIR="${pkgdir}" install # 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/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 \ |