From e3158c0fc7e55bec3e217859c1d97791b7142205767d6e042489ac687369de1e Mon Sep 17 00:00:00 2001 From: Bruno Friedmann Date: Fri, 12 Jan 2018 11:35:25 +0000 Subject: [PATCH] Accepting request 563811 from home:dimstar:Factory This should be hopefully all; takes care of the poppler fallout and json-c fallout. Wait for the build to complete, to be sure OBS-URL: https://build.opensuse.org/request/show/563811 OBS-URL: https://build.opensuse.org/package/show/Application:Geo/gdal?expand=0&rev=54 --- gdal-json-c-0.13.patch | 84 ++++++++++++++++++++++++++++++++++++++++++ gdal.changes | 9 +++++ gdal.spec | 7 +++- 3 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 gdal-json-c-0.13.patch diff --git a/gdal-json-c-0.13.patch b/gdal-json-c-0.13.patch new file mode 100644 index 0000000..45c86c5 --- /dev/null +++ b/gdal-json-c-0.13.patch @@ -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-C ++ ++#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) + #include ++#endif ++ + #include + #include +@@ -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(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))); +@@ -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(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(sizeof(szBuffer)) && + strchr(szBuffer, '.') == NULL ) diff --git a/gdal.changes b/gdal.changes index 06ff7ae..8768dc4 100644 --- a/gdal.changes +++ b/gdal.changes @@ -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 diff --git a/gdal.spec b/gdal.spec index 87980b2..dfa55b9 100644 --- a/gdal.spec +++ b/gdal.spec @@ -1,7 +1,7 @@ # # 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 # 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 # But libproj.so is valid if libproj-devel is installed ? 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: chrpath BuildRequires: curl-devel @@ -64,7 +66,6 @@ BuildRequires: netcdf-devel BuildRequires: opencl-headers BuildRequires: openjpeg2-devel BuildRequires: perl-macros -BuildRequires: poppler-devel BuildRequires: postgresql-devel BuildRequires: python-numpy-devel BuildRequires: python-setuptools @@ -75,6 +76,7 @@ BuildRequires: swig BuildRequires: unixODBC-devel BuildRequires: xz-devel BuildRequires: zlib-devel >= 1.1.4 +BuildRequires: pkgconfig(poppler) %if %{with ecw_support} BuildRequires: libecwj2-devel %endif @@ -158,6 +160,7 @@ The GDAL python modules provide support to handle multiple GIS file formats. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 # Fix mandir sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure