mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
community/gdal to 2.2.3-2
This commit is contained in:
parent
0900ca2b9d
commit
d5421aa9ad
2 changed files with 140 additions and 3 deletions
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
pkgname=gdal
|
pkgname=gdal
|
||||||
pkgver=2.2.3
|
pkgver=2.2.3
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="A translator library for raster geospatial data formats"
|
pkgdesc="A translator library for raster geospatial data formats"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="http://www.gdal.org/"
|
url="http://www.gdal.org/"
|
||||||
|
@ -22,9 +22,11 @@ optdepends=('postgresql: postgresql database support'
|
||||||
options=('!emptydirs')
|
options=('!emptydirs')
|
||||||
changelog=$pkgname.changelog
|
changelog=$pkgname.changelog
|
||||||
source=(http://download.osgeo.org/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz
|
source=(http://download.osgeo.org/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz
|
||||||
gdal-perl-vendor.patch)
|
gdal-perl-vendor.patch
|
||||||
|
gdal-2.2.3_json-c_013.patch)
|
||||||
sha256sums=('a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b'
|
sha256sums=('a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b'
|
||||||
'20989e5fa499206b42c92280ce084fdf7b2f661a4233fc349611cc57102fe114')
|
'20989e5fa499206b42c92280ce084fdf7b2f661a4233fc349611cc57102fe114'
|
||||||
|
'722f6b3394542635815b07702f88a312a0d32fcf7672abf780360b888fbab4af')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd "${srcdir}"/$pkgname-$pkgver
|
cd "${srcdir}"/$pkgname-$pkgver
|
||||||
|
@ -40,6 +42,9 @@ prepare() {
|
||||||
|
|
||||||
# Fix Perl bindings installation path
|
# Fix Perl bindings installation path
|
||||||
patch -Np1 -i ../gdal-perl-vendor.patch
|
patch -Np1 -i ../gdal-perl-vendor.patch
|
||||||
|
|
||||||
|
# build fix
|
||||||
|
patch -Np1 -i ../gdal-2.2.3_json-c_013.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
132
community/gdal/gdal-2.2.3_json-c_013.patch
Normal file
132
community/gdal/gdal-2.2.3_json-c_013.patch
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
commit 7cab3c2049907fb0be76784c796143fb22dcafea
|
||||||
|
Author: Bjรถrn Esser <besser82@fedoraproject.org>
|
||||||
|
Date: Mon Dec 11 17:01:20 2017 +0100
|
||||||
|
|
||||||
|
geojson: Adaptions for json-c v0.13
|
||||||
|
|
||||||
|
Index: gdal-2.2.3-fedora/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp
|
||||||
|
===================================================================
|
||||||
|
--- gdal-2.2.3-fedora.orig/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp
|
||||||
|
+++ gdal-2.2.3-fedora/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,26 @@ static int OGR_json_double_with_precisio
|
||||||
|
{
|
||||||
|
// 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] = {};
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
OGRFormatDouble( szBuffer, sizeof(szBuffer), jso->o.c_double, '.',
|
||||||
|
(nPrecision < 0) ? 15 : nPrecision );
|
||||||
|
+#else
|
||||||
|
+ OGRFormatDouble( szBuffer, sizeof(szBuffer), json_object_get_double(jso), '.',
|
||||||
|
+ (nPrecision < 0) ? 15 : nPrecision );
|
||||||
|
+#endif
|
||||||
|
if( szBuffer[0] == 't' /*oobig */ )
|
||||||
|
{
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
CPLsnprintf(szBuffer, sizeof(szBuffer), "%.18g", jso->o.c_double);
|
||||||
|
+#else
|
||||||
|
+ CPLsnprintf(szBuffer, sizeof(szBuffer), "%.18g", json_object_get_double(jso));
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
return printbuf_memappend(pb, szBuffer, static_cast<int>(strlen(szBuffer)));
|
||||||
|
}
|
||||||
|
@@ -1417,11 +1436,23 @@ OGR_json_double_with_significant_figures
|
||||||
|
{
|
||||||
|
char szBuffer[75] = {};
|
||||||
|
int nSize = 0;
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
if( CPLIsNan(jso->o.c_double))
|
||||||
|
+#else
|
||||||
|
+ if( CPLIsNan(json_object_get_double(jso)))
|
||||||
|
+#endif
|
||||||
|
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "NaN");
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
else if( CPLIsInf(jso->o.c_double) )
|
||||||
|
+#else
|
||||||
|
+ else if( CPLIsInf(json_object_get_double(jso)) )
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
if( jso->o.c_double > 0 )
|
||||||
|
+#else
|
||||||
|
+ if( json_object_get_double(jso) > 0 )
|
||||||
|
+#endif
|
||||||
|
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "Infinity");
|
||||||
|
else
|
||||||
|
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "-Infinity");
|
||||||
|
@@ -1429,13 +1460,22 @@ OGR_json_double_with_significant_figures
|
||||||
|
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);
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer),
|
||||||
|
szFormatting, jso->o.c_double);
|
||||||
|
+#else
|
||||||
|
+ nSize = CPLsnprintf(szBuffer, sizeof(szBuffer),
|
||||||
|
+ szFormatting, json_object_get_double(jso));
|
||||||
|
+#endif
|
||||||
|
const char* pszDot = NULL;
|
||||||
|
if( nSize+2 < static_cast<int>(sizeof(szBuffer)) &&
|
||||||
|
(pszDot = strchr(szBuffer, '.')) == NULL )
|
||||||
|
@@ -1456,8 +1496,13 @@ OGR_json_double_with_significant_figures
|
||||||
|
{
|
||||||
|
CPLsnprintf(szFormatting, sizeof(szFormatting),
|
||||||
|
"%%.%dg", nInitialSignificantFigures- i);
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer),
|
||||||
|
szFormatting, jso->o.c_double);
|
||||||
|
+#else
|
||||||
|
+ nSize = CPLsnprintf(szBuffer, sizeof(szBuffer),
|
||||||
|
+ szFormatting, json_object_get_double(jso));
|
||||||
|
+#endif
|
||||||
|
pszDot = strchr(szBuffer, '.');
|
||||||
|
if( pszDot != NULL &&
|
||||||
|
strstr(pszDot, "999999") == NULL &&
|
||||||
|
@@ -1471,8 +1516,13 @@ OGR_json_double_with_significant_figures
|
||||||
|
{
|
||||||
|
CPLsnprintf(szFormatting, sizeof(szFormatting),
|
||||||
|
"%%.%dg", nInitialSignificantFigures);
|
||||||
|
+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013)
|
||||||
|
nSize = CPLsnprintf(szBuffer, sizeof(szBuffer),
|
||||||
|
szFormatting, jso->o.c_double);
|
||||||
|
+#else
|
||||||
|
+ nSize = CPLsnprintf(szBuffer, sizeof(szBuffer),
|
||||||
|
+ szFormatting, json_object_get_double(jso));
|
||||||
|
+#endif
|
||||||
|
if( nSize+2 < static_cast<int>(sizeof(szBuffer)) &&
|
||||||
|
strchr(szBuffer, '.') == NULL )
|
||||||
|
{
|
||||||
|
|
Loading…
Reference in a new issue