Accepting request 563816 from Application:Geo

OBS-URL: https://build.opensuse.org/request/show/563816
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdal?expand=0&rev=23
This commit is contained in:
Dominique Leuenberger 2018-01-13 20:48:42 +00:00 committed by Git OBS Bridge
commit 5365480239
3 changed files with 98 additions and 2 deletions

84
gdal-json-c-0.13.patch Normal file
View File

@ -0,0 +1,84 @@
Index: gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp
===================================================================
--- a/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp (revision 41042)
+++ b/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp (revision 41043)
@@ -28,4 +28,6 @@
****************************************************************************/
+#define JSON_C_VER_013 (13 << 8)
+
#include "ogrgeojsonwriter.h"
#include "ogrgeojsonutils.h"
@@ -33,5 +35,9 @@
#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>
@@ -1382,11 +1388,15 @@
// 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)));
@@ -1418,9 +1428,9 @@
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) )
- {
- if( jso->o.c_double > 0 )
+ else if( CPLIsInf(json_object_get_double(jso)) )
+ {
+ if( json_object_get_double(jso) > 0 )
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "Infinity");
else
@@ -1430,5 +1440,9 @@
{
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;
@@ -1436,5 +1450,5 @@
"%%.%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)) &&
@@ -1458,5 +1472,5 @@
"%%.%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 &&
@@ -1473,5 +1487,5 @@
"%%.%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

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Fri Jan 12 10:24:13 UTC 2018 - dimstar@opensuse.org
- Replace poppler-devel BuildRequires with pkgconfig(poppler): the
name 'poppler-devel' was last used in openSUSE 11.4. By using the
pkgconfig() symbol, we don't have to care for actual package
names.
- Add gdal-json-c-0.13.patch: Fix build with json-c 0.13.
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Nov 23 20:34:20 UTC 2017 - bruno@ioda-net.ch Thu Nov 23 20:34:20 UTC 2017 - bruno@ioda-net.ch

View File

@ -1,7 +1,7 @@
# #
# spec file for package gdal # spec file for package gdal
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -36,6 +36,8 @@ Patch1: GDALmake.opt.in.patch
# Fix hard coded name of libproj library # Fix hard coded name of libproj library
# But libproj.so is valid if libproj-devel is installed ? # But libproj.so is valid if libproj-devel is installed ?
Patch2: gdal-libproj.patch Patch2: gdal-libproj.patch
# PATCH-FIX-UPSTREAM gdal-json-c-0.13.patch dimstar@opensuse.org -- Fix build with json-c 0.13; copied from gentoo
Patch3: gdal-json-c-0.13.patch
BuildRequires: blas-devel BuildRequires: blas-devel
BuildRequires: chrpath BuildRequires: chrpath
BuildRequires: curl-devel BuildRequires: curl-devel
@ -64,7 +66,6 @@ BuildRequires: netcdf-devel
BuildRequires: opencl-headers BuildRequires: opencl-headers
BuildRequires: openjpeg2-devel BuildRequires: openjpeg2-devel
BuildRequires: perl-macros BuildRequires: perl-macros
BuildRequires: poppler-devel
BuildRequires: postgresql-devel BuildRequires: postgresql-devel
BuildRequires: python-numpy-devel BuildRequires: python-numpy-devel
BuildRequires: python-setuptools BuildRequires: python-setuptools
@ -75,6 +76,7 @@ BuildRequires: swig
BuildRequires: unixODBC-devel BuildRequires: unixODBC-devel
BuildRequires: xz-devel BuildRequires: xz-devel
BuildRequires: zlib-devel >= 1.1.4 BuildRequires: zlib-devel >= 1.1.4
BuildRequires: pkgconfig(poppler)
%if %{with ecw_support} %if %{with ecw_support}
BuildRequires: libecwj2-devel BuildRequires: libecwj2-devel
%endif %endif
@ -158,6 +160,7 @@ The GDAL python modules provide support to handle multiple GIS file formats.
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1
# Fix mandir # Fix mandir
sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure