community/mysql-workbench to 6.3.10-2

This commit is contained in:
Kevin Mihelich 2018-01-15 22:08:35 +00:00
parent 5333f9864d
commit 0fa3bab1f7
2 changed files with 123 additions and 8 deletions

View file

@ -0,0 +1,111 @@
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 )
{

View file

@ -14,10 +14,10 @@ buildarch=28
pkgname=mysql-workbench pkgname=mysql-workbench
pkgver=6.3.10 pkgver=6.3.10
pkgrel=1 pkgrel=2
_mysql_version=5.7.20 _mysql_version=5.7.21
_connector_version=1.1.9 _connector_version=1.1.9
_gdal_version=2.2.2 _gdal_version=2.2.3
_boost_version=1.59.0 _boost_version=1.59.0
pkgdesc='A cross-platform, visual database design tool developed by MySQL' pkgdesc='A cross-platform, visual database design tool developed by MySQL'
arch=('x86_64') arch=('x86_64')
@ -43,14 +43,15 @@ source=("https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community
'0004-fix-build-for-i686.patch' '0004-fix-build-for-i686.patch'
'0005-gdal-use-CPLFree.patch' '0005-gdal-use-CPLFree.patch'
'0006-mysql-include-my_dir.patch' '0006-mysql-include-my_dir.patch'
'0007-gdal-json-c-0-13.patch'
'arch_linux_profile.xml') 'arch_linux_profile.xml')
sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3' sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3'
'SKIP' 'SKIP'
'5397549bb7c238f396c123db2df4cad2191b11adf8986de7fe63bff8e2786487' 'fa205079c27a39c24f3485e7498dd0906a6e0b379b4f99ebc0ec38a9ec5b09b7'
'SKIP' 'SKIP'
'3e31847a69a4e5c113b7c483731317ec4533858e3195d3a85026a0e2f509d2e4' '3e31847a69a4e5c113b7c483731317ec4533858e3195d3a85026a0e2f509d2e4'
'SKIP' 'SKIP'
'eb25d6ee85f4f5ac1d5581958f8c6eed9b1d50746f82866fe92e507541def35b' 'a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b'
'727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca' '727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca'
'9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7' '9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7'
'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf' 'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf'
@ -59,6 +60,7 @@ sha256sums=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3'
'763925b336d9a398c15fdd757b6567a2f374a822090d32ffdefca018231128a4' '763925b336d9a398c15fdd757b6567a2f374a822090d32ffdefca018231128a4'
'0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531' '0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531'
'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436' 'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436'
'7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f'
'2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af') '2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af')
prepare() { prepare() {
@ -67,6 +69,11 @@ prepare() {
# fix build without server # fix build without server
patch -Np1 < "${srcdir}"/0006-mysql-include-my_dir.patch 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/" cd "${srcdir}/mysql-workbench-community-${pkgver}-src/"
# Disable 'Help' -> 'Check for Updates' # Disable 'Help' -> 'Check for Updates'
@ -142,9 +149,6 @@ build() {
make make
make DESTDIR="${srcdir}/install-bundle/" install make DESTDIR="${srcdir}/install-bundle/" install
# fix: Can't get 'MysqlSqlFacade' module.
unset CPPFLAGS CFLAGS CXXFLAGS LDFLAGS
# Build MySQL Workbench itself with bundled libs # Build MySQL Workbench itself with bundled libs
cd "${srcdir}/mysql-workbench-community-${pkgver}-src/" cd "${srcdir}/mysql-workbench-community-${pkgver}-src/"
cmake . \ cmake . \