[arch-commits] Commit in mysql-workbench/trunk (0007-gdal-json-c-0-13.patch PKGBUILD)

Christian Hesse eworm at archlinux.org
Mon Jan 15 13:54:58 UTC 2018


    Date: Monday, January 15, 2018 @ 13:54:57
  Author: eworm
Revision: 282652

upgpkg: mysql-workbench 6.3.10-2

* update bundled mysql to version 5.7.21
* fix gdal build with json-c 0.13
* enable full RELRO build with our default flags

Added:
  mysql-workbench/trunk/0007-gdal-json-c-0-13.patch
Modified:
  mysql-workbench/trunk/PKGBUILD

-----------------------------+
 0007-gdal-json-c-0-13.patch |  111 ++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD                    |   16 +++---
 2 files changed, 121 insertions(+), 6 deletions(-)

Added: 0007-gdal-json-c-0-13.patch
===================================================================
--- 0007-gdal-json-c-0-13.patch	                        (rev 0)
+++ 0007-gdal-json-c-0-13.patch	2018-01-15 13:54:57 UTC (rev 282652)
@@ -0,0 +1,111 @@
+From 05a1fd773c8f418ee9765465fc4863c1d6472a4c Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault at 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 )
+                 {

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-01-15 13:45:29 UTC (rev 282651)
+++ PKGBUILD	2018-01-15 13:54:57 UTC (rev 282652)
@@ -7,8 +7,8 @@
 
 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.3
 _boost_version=1.59.0
@@ -35,10 +35,11 @@
 	'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=('b5593e439c6f8d50262a8950456a9ba3709b02d1dece0360d5f6e47e1b0d7dc3'
             'SKIP'
-            '5397549bb7c238f396c123db2df4cad2191b11adf8986de7fe63bff8e2786487'
+            'fa205079c27a39c24f3485e7498dd0906a6e0b379b4f99ebc0ec38a9ec5b09b7'
             'SKIP'
             '3e31847a69a4e5c113b7c483731317ec4533858e3195d3a85026a0e2f509d2e4'
             'SKIP'
@@ -50,6 +51,7 @@
             '3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea'
             '0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531'
             'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436'
+            '7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f'
             '2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af')
 
 prepare() {
@@ -58,6 +60,11 @@
 	# 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'
@@ -130,9 +137,6 @@
 	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 . \



More information about the arch-commits mailing list