diff --git a/community/mysql-workbench/0007-gdal-json-c-0-13.patch b/community/mysql-workbench/0007-gdal-json-c-0-13.patch new file mode 100644 index 000000000..6101b8c0f --- /dev/null +++ b/community/mysql-workbench/0007-gdal-json-c-0-13.patch @@ -0,0 +1,111 @@ +From 05a1fd773c8f418ee9765465fc4863c1d6472a4c Mon Sep 17 00:00:00 2001 +From: Even Rouault +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-C ++ ++#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) + #include ++#endif ++ + #include + #include + #include +@@ -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(reinterpret_cast(jso->_userdata)); ++#else ++ static_cast(reinterpret_cast(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(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(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(sizeof(szBuffer)) && + strchr(szBuffer, '.') == NULL ) + { diff --git a/community/mysql-workbench/PKGBUILD b/community/mysql-workbench/PKGBUILD index 33a4bb476..3e50fafb0 100644 --- a/community/mysql-workbench/PKGBUILD +++ b/community/mysql-workbench/PKGBUILD @@ -14,10 +14,10 @@ buildarch=28 pkgname=mysql-workbench pkgver=6.3.10 -pkgrel=1 -_mysql_version=5.7.20 +pkgrel=2 +_mysql_version=5.7.21 _connector_version=1.1.9 -_gdal_version=2.2.2 +_gdal_version=2.2.3 _boost_version=1.59.0 pkgdesc='A cross-platform, visual database design tool developed by MySQL' arch=('x86_64') @@ -43,14 +43,15 @@ source=("https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community '0004-fix-build-for-i686.patch' '0005-gdal-use-CPLFree.patch' '0006-mysql-include-my_dir.patch' + '0007-gdal-json-c-0-13.patch' 'arch_linux_profile.xml') sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3' 'SKIP' - '5397549bb7c238f396c123db2df4cad2191b11adf8986de7fe63bff8e2786487' + 'fa205079c27a39c24f3485e7498dd0906a6e0b379b4f99ebc0ec38a9ec5b09b7' 'SKIP' '3e31847a69a4e5c113b7c483731317ec4533858e3195d3a85026a0e2f509d2e4' 'SKIP' - 'eb25d6ee85f4f5ac1d5581958f8c6eed9b1d50746f82866fe92e507541def35b' + 'a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b' '727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca' '9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7' 'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf' @@ -59,6 +60,7 @@ sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3' '763925b336d9a398c15fdd757b6567a2f374a822090d32ffdefca018231128a4' '0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531' 'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436' + '7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f' '2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af') prepare() { @@ -67,6 +69,11 @@ prepare() { # 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-community-${pkgver}-src/" # Disable 'Help' -> 'Check for Updates' @@ -142,9 +149,6 @@ build() { make make DESTDIR="${srcdir}/install-bundle/" install - # fix: Can't get 'MysqlSqlFacade' module. - unset CPPFLAGS CFLAGS CXXFLAGS LDFLAGS - # Build MySQL Workbench itself with bundled libs cd "${srcdir}/mysql-workbench-community-${pkgver}-src/" cmake . \