[nodejs-mapnik] Update to 1.4.17 upstream release

Tom Hughes tomh at fedoraproject.org
Wed Oct 22 10:20:50 UTC 2014


commit 90fffbf39612d58e17684eca4982135f82dd041f
Author: Tom Hughes <tom at compton.nu>
Date:   Thu Sep 4 13:47:30 2014 +0100

    Update to 1.4.17 upstream release

 .gitignore                    |    2 +
 nodejs-mapnik-aspect.patch    |   44 ----
 nodejs-mapnik-precision.patch |   33 +--
 nodejs-mapnik-pregyp.patch    |   12 +-
 nodejs-mapnik-svg.patch       |   31 ---
 nodejs-mapnik-vector.patch    |  504 +++++++++++++++++++++++++++++++++++++++++
 nodejs-mapnik-webp.patch      |   36 ---
 nodejs-mapnik.spec            |   20 +-
 sources                       |    2 +-
 9 files changed, 534 insertions(+), 150 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index f0b53f2..1711f63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,5 @@
 /node-mapnik-ae61e6df4a6150089935ff8a3ae098eef3d0c839.tar.gz
 /node-mapnik-640482f40ccb8883fbfaebe2377a52a62507ef2c.tar.gz
 /node-mapnik-153a1f17ba8dd51763aca62365079c402635e868.tar.gz
+/node-mapnik-a897fd27abf4f57be6c3b162cb838f694614bf00.tar.gz
+/node-mapnik-bee84c5a1da8c296f97b1d0afdfa0c7bf79148dc.tar.gz
diff --git a/nodejs-mapnik-precision.patch b/nodejs-mapnik-precision.patch
index d1dc8b8..1043a4c 100644
--- a/nodejs-mapnik-precision.patch
+++ b/nodejs-mapnik-precision.patch
@@ -1,4 +1,4 @@
-commit 758bb67a9390e431890a504c944cf23e984ad8f9
+commit 8e1ebe1826a487d338cdad616ada7fb072c1a7fa
 Author: Tom Hughes <tom at compton.nu>
 Date:   Tue Jul 30 18:39:30 2013 +0100
 
@@ -18,37 +18,28 @@ index 2f1639f..b4318ee 100644
              })
          })
 diff --git a/test/vector-tile.test.js b/test/vector-tile.test.js
-index ca29973..8f3a384 100644
+index e51cf61..fd742d3 100644
 --- a/test/vector-tile.test.js
 +++ b/test/vector-tile.test.js
-@@ -401,7 +401,7 @@ describe('mapnik.VectorTile ', function() {
-             if (!existsSync(expected)) {
+@@ -474,7 +474,7 @@ describe('mapnik.VectorTile ', function() {
+             if (!existsSync(expected) || process.env.UPDATE) {
                  vtile_image.save(expected, 'png32');
              }
 -            assert.equal(0,vtile_image.compare(new mapnik.Image.open(expected)));
 +            assert.ok(vtile_image.compare(new mapnik.Image.open(expected)) < 50);
-             // render with cairo
-             var surface = new mapnik.CairoSurface('svg',vtile.width(),vtile.height());
-             vtile.render(map, surface, {renderer:'cairo'}, function(err,surface) {
-@@ -412,7 +412,7 @@ describe('mapnik.VectorTile ', function() {
-                     fs.writeFileSync(expected_svg,surface.getData());
-                 }
-                 fs.writeFileSync(actual_svg,surface.getData());
--                assert.ok(Math.abs(fs.readFileSync(actual_svg).length - fs.readFileSync(expected_svg).length) < 10);
-+                assert.ok(Math.abs(fs.readFileSync(actual_svg).length - fs.readFileSync(expected_svg).length) < 20);
-                 var surface2 = new mapnik.CairoSurface('svg',vtile.width(),vtile.height());
-                 vtile.render(map, surface2, {renderer:'svg'}, function(err,surface2) {
-                     if (err) throw err;
-@@ -447,7 +447,7 @@ describe('mapnik.VectorTile ', function() {
-             if (!existsSync(expected)) {
+             done();
+         });
+     });
+@@ -550,7 +550,7 @@ describe('mapnik.VectorTile ', function() {
+             if (!existsSync(expected) || process.env.UPDATE) {
                  vtile_image.save(expected, 'png32');
              }
 -            assert.equal(0,vtile_image.compare(new mapnik.Image.open(expected)));
-+            assert.ok(vtile_image.compare(new mapnik.Image.open(expected))) < 2;
++            assert.ok(vtile_image.compare(new mapnik.Image.open(expected)) < 2);
              done();
          });
      });
-@@ -472,7 +472,7 @@ describe('mapnik.VectorTile ', function() {
+@@ -575,7 +575,7 @@ describe('mapnik.VectorTile ', function() {
              }
              fs.writeFileSync(actual_file,JSON.stringify(utf,null,1));
              var expected = JSON.parse(fs.readFileSync(expected_file));
@@ -57,7 +48,7 @@ index ca29973..8f3a384 100644
              done();
          });
      });
-@@ -573,7 +573,7 @@ describe('mapnik.VectorTile ', function() {
+@@ -598,7 +598,7 @@ describe('mapnik.VectorTile ', function() {
                  vtile_image.save(expected, 'png32');
              }
              // TODO - visual difference in master vs 2.3.x due to https://github.com/mapnik/mapnik/commit/ecc5acbdb953e172fcc652b55ed19b8b581e2146
diff --git a/nodejs-mapnik-pregyp.patch b/nodejs-mapnik-pregyp.patch
index 48a73f9..718d9d1 100644
--- a/nodejs-mapnik-pregyp.patch
+++ b/nodejs-mapnik-pregyp.patch
@@ -1,11 +1,11 @@
-commit 437deb5fe3dfc59f9c653b1c85d8d07ab6f7d8e5
+commit 58a2c4f4f530c2d0edf89571646bfc3527f87b63
 Author: Tom Hughes <tom at compton.nu>
 Date:   Mon Aug 18 14:30:51 2014 +0100
 
     Patch out use of node-pre-gyp
 
 diff --git a/lib/mapnik.js b/lib/mapnik.js
-index ed4fabd..9e8e74e 100644
+index f3d8dd7..cea8339 100644
 --- a/lib/mapnik.js
 +++ b/lib/mapnik.js
 @@ -1,6 +1,5 @@
@@ -17,16 +17,16 @@ index ed4fabd..9e8e74e 100644
  var settings = require(settings_path);
  
 diff --git a/package.json b/package.json
-index a044293..5dee39b 100644
+index f346462..9de5776 100644
 --- a/package.json
 +++ b/package.json
 @@ -38,8 +38,7 @@
    ],
    "dependencies"  : {
        "nan": "~1.2.0",
--      "mapnik-vector-tile": "~0.5.2",
--      "node-pre-gyp": "0.5.23"
-+      "mapnik-vector-tile": "~0.5.2"
+-      "mapnik-vector-tile": "0.5.6",
+-      "node-pre-gyp": "~0.5.27"
++      "mapnik-vector-tile": "0.5.6"
    },
    "bundledDependencies": [
        "mapnik-vector-tile",
diff --git a/nodejs-mapnik-vector.patch b/nodejs-mapnik-vector.patch
new file mode 100644
index 0000000..17f6cf3
--- /dev/null
+++ b/nodejs-mapnik-vector.patch
@@ -0,0 +1,504 @@
+commit 3fce297776410640b2fa304ce8a3c2a468b25e1b
+Author: Dane Springmeyer <dane at mapbox.com>
+Date:   Fri Oct 17 19:04:52 2014 -0700
+
+    Update to mapnik-vector-tile 0.6.0
+
+diff --git a/package.json b/package.json
+index 9de5776..10cdac3 100644
+--- a/package.json
++++ b/package.json
+@@ -38,7 +38,7 @@
+   ],
+   "dependencies"  : {
+       "nan": "~1.2.0",
+-      "mapnik-vector-tile": "0.5.6"
++      "mapnik-vector-tile": "0.6.0"
+   },
+   "bundledDependencies": [
+       "mapnik-vector-tile",
+diff --git a/src/mapnik_map.cpp b/src/mapnik_map.cpp
+index 5d2d66c..2b87413 100644
+--- a/src/mapnik_map.cpp
++++ b/src/mapnik_map.cpp
+@@ -1626,8 +1626,8 @@ void Map::EIO_RenderVectorTile(uv_work_t* req)
+     vector_tile_baton_t *closure = static_cast<vector_tile_baton_t *>(req->data);
+     try
+     {
+-        typedef mapnik::vector::backend_pbf backend_type;
+-        typedef mapnik::vector::processor<backend_type> renderer_type;
++        typedef mapnik::vector_tile_impl::backend_pbf backend_type;
++        typedef mapnik::vector_tile_impl::processor<backend_type> renderer_type;
+         backend_type backend(closure->d->get_tile_nonconst(),
+                              closure->path_multiplier);
+         mapnik::Map const& map = *closure->m->get();
+diff --git a/src/mapnik_vector_tile.cpp b/src/mapnik_vector_tile.cpp
+index 5325b8f..ff68cb7 100644
+--- a/src/mapnik_vector_tile.cpp
++++ b/src/mapnik_vector_tile.cpp
+@@ -491,7 +491,7 @@ NAN_METHOD(VectorTile::composite)
+             else if (vt->byte_size_ > 0)
+             {
+                 std::string new_message;
+-                mapnik::vector::tile const& tiledata = vt->get_tile();
++                vector_tile::Tile const& tiledata = vt->get_tile();
+                 if (!tiledata.SerializeToString(&new_message))
+                 {
+                     NanThrowTypeError("could not serialize new data for vt");
+@@ -507,14 +507,14 @@ NAN_METHOD(VectorTile::composite)
+         else
+         {
+             // set up to render to new vtile
+-            typedef mapnik::vector::backend_pbf backend_type;
+-            typedef mapnik::vector::processor<backend_type> renderer_type;
+-            mapnik::vector::tile new_tiledata;
++            typedef mapnik::vector_tile_impl::backend_pbf backend_type;
++            typedef mapnik::vector_tile_impl::processor<backend_type> renderer_type;
++            vector_tile::Tile new_tiledata;
+             backend_type backend(new_tiledata,
+                                     path_multiplier);
+ 
+             // get mercator extent of target tile
+-            mapnik::vector::spherical_mercator merc(target_vt->width());
++            mapnik::vector_tile_impl::spherical_mercator merc(target_vt->width());
+             double minx,miny,maxx,maxy;
+             merc.xyz(target_vt->x_,target_vt->y_,target_vt->z_,minx,miny,maxx,maxy);
+             mapnik::box2d<double> map_extent(minx,miny,maxx,maxy);
+@@ -527,16 +527,16 @@ NAN_METHOD(VectorTile::composite)
+             // ensure data is in tile object
+             if (vt->status_ == LAZY_DONE) // tile is already parsed, we're good
+             {
+-                mapnik::vector::tile const& tiledata = vt->get_tile();
++                vector_tile::Tile const& tiledata = vt->get_tile();
+                 unsigned num_layers = tiledata.layers_size();
+                 if (num_layers > 0)
+                 {
+                     for (int i=0; i < tiledata.layers_size(); ++i)
+                     {
+-                        mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++                        vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+                         mapnik::layer lyr(layer.name(),merc_srs);
+-                        MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                                        mapnik::vector::tile_datasource>(
++                        MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                                        mapnik::vector_tile_impl::tile_datasource>(
+                                                             layer,
+                                                             vt->x_,
+                                                             vt->y_,
+@@ -562,7 +562,7 @@ NAN_METHOD(VectorTile::composite)
+                 std::size_t bytes = vt->buffer_.size();
+                 if (bytes > 1) // throw instead?
+                 {
+-                    mapnik::vector::tile tiledata;
++                    vector_tile::Tile tiledata;
+                     if (tiledata.ParseFromArray(vt->buffer_.data(), bytes))
+                     {
+                         unsigned num_layers = tiledata.layers_size();
+@@ -570,10 +570,10 @@ NAN_METHOD(VectorTile::composite)
+                         {
+                             for (int i=0; i < tiledata.layers_size(); ++i)
+                             {
+-                                mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++                                vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+                                 mapnik::layer lyr(layer.name(),merc_srs);
+-                                MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                                                mapnik::vector::tile_datasource>(
++                                MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                                                mapnik::vector_tile_impl::tile_datasource>(
+                                                                     layer,
+                                                                     vt->x_,
+                                                                     vt->y_,
+@@ -621,7 +621,7 @@ NAN_METHOD(VectorTile::toString)
+ {
+     NanScope();
+     VectorTile* d = node::ObjectWrap::Unwrap<VectorTile>(args.Holder());
+-    mapnik::vector::tile const& tiledata = d->get_tile();
++    vector_tile::Tile const& tiledata = d->get_tile();
+     NanReturnValue(NanNew(tiledata.DebugString().c_str()));
+ }
+ #endif
+@@ -642,11 +642,11 @@ NAN_METHOD(VectorTile::names)
+         }
+         NanReturnValue(arr);
+     } else {
+-        mapnik::vector::tile const& tiledata = d->get_tile();
++        vector_tile::Tile const& tiledata = d->get_tile();
+         Local<Array> arr = NanNew<Array>(tiledata.layers_size());
+         for (int i=0; i < tiledata.layers_size(); ++i)
+         {
+-            mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++            vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+             arr->Set(i, NanNew(layer.name().c_str()));
+         }
+         NanReturnValue(arr);
+@@ -691,13 +691,13 @@ NAN_METHOD(VectorTile::empty)
+     {
+         NanReturnValue(NanNew<Boolean>(d->lazy_empty()));
+     } else {
+-        mapnik::vector::tile const& tiledata = d->get_tile();
++        vector_tile::Tile const& tiledata = d->get_tile();
+         if (tiledata.layers_size() == 0) {
+             NanReturnValue(NanNew<Boolean>(true));
+         } else {
+             for (int i=0; i < tiledata.layers_size(); ++i)
+             {
+-                mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++                vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+                 if (layer.features_size()) {
+                     NanReturnValue(NanNew<Boolean>(false));
+                     break;
+@@ -863,25 +863,25 @@ std::vector<query_result> VectorTile::_query(VectorTile* d, double lon, double l
+     {
+         throw std::runtime_error("could not reproject lon/lat to mercator");
+     }
+-    mapnik::vector::tile const& tiledata = d->get_tile();
++    vector_tile::Tile const& tiledata = d->get_tile();
+     mapnik::coord2d pt(x,y);
+     if (!layer_name.empty())
+     {
+-        int tile_layer_idx = -1;
++        int layer_idx = -1;
+         for (int j=0; j < tiledata.layers_size(); ++j)
+         {
+-            mapnik::vector::tile_layer const& layer = tiledata.layers(j);
++            vector_tile::Tile_Layer const& layer = tiledata.layers(j);
+             if (layer_name == layer.name())
+             {
+-                tile_layer_idx = j;
++                layer_idx = j;
+                 break;
+             }
+         }
+-        if (tile_layer_idx > -1)
++        if (layer_idx > -1)
+         {
+-            mapnik::vector::tile_layer const& layer = tiledata.layers(tile_layer_idx);
+-            MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                        mapnik::vector::tile_datasource>(
++            vector_tile::Tile_Layer const& layer = tiledata.layers(layer_idx);
++            MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                        mapnik::vector_tile_impl::tile_datasource>(
+                                             layer,
+                                             d->x_,
+                                             d->y_,
+@@ -926,9 +926,9 @@ std::vector<query_result> VectorTile::_query(VectorTile* d, double lon, double l
+     {
+         for (int i=0; i < tiledata.layers_size(); ++i)
+         {
+-            mapnik::vector::tile_layer const& layer = tiledata.layers(i);
+-            MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                        mapnik::vector::tile_datasource>(
++            vector_tile::Tile_Layer const& layer = tiledata.layers(i);
++            MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                        mapnik::vector_tile_impl::tile_datasource>(
+                                             layer,
+                                             d->x_,
+                                             d->y_,
+@@ -1131,18 +1131,18 @@ NAN_METHOD(VectorTile::queryMany)
+ }
+ 
+ queryMany_result VectorTile::_queryMany(VectorTile* d, std::vector<query_lonlat> const& query, double tolerance, std::string const& layer_name, std::vector<std::string> const& fields) {
+-    mapnik::vector::tile const& tiledata = d->get_tile();
+-    int tile_layer_idx = -1;
++    vector_tile::Tile const& tiledata = d->get_tile();
++    int layer_idx = -1;
+     for (int j=0; j < tiledata.layers_size(); ++j)
+     {
+-        mapnik::vector::tile_layer const& layer = tiledata.layers(j);
++        vector_tile::Tile_Layer const& layer = tiledata.layers(j);
+         if (layer_name == layer.name())
+         {
+-            tile_layer_idx = j;
++            layer_idx = j;
+             break;
+         }
+     }
+-    if (tile_layer_idx == -1)
++    if (layer_idx == -1)
+     {
+         throw std::runtime_error("Could not find layer in vector tile");
+     }
+@@ -1171,9 +1171,9 @@ queryMany_result VectorTile::_queryMany(VectorTile* d, std::vector<query_lonlat>
+     }
+     bbox.pad(tolerance);
+ 
+-    mapnik::vector::tile_layer const& layer = tiledata.layers(tile_layer_idx);
+-    MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                mapnik::vector::tile_datasource>(
++    vector_tile::Tile_Layer const& layer = tiledata.layers(layer_idx);
++    MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                mapnik::vector_tile_impl::tile_datasource>(
+                                     layer,
+                                     d->x_,
+                                     d->y_,
+@@ -1342,11 +1342,11 @@ NAN_METHOD(VectorTile::toJSON)
+ {
+     NanScope();
+     VectorTile* d = node::ObjectWrap::Unwrap<VectorTile>(args.Holder());
+-    mapnik::vector::tile const& tiledata = d->get_tile();
++    vector_tile::Tile const& tiledata = d->get_tile();
+     Local<Array> arr = NanNew<Array>(tiledata.layers_size());
+     for (int i=0; i < tiledata.layers_size(); ++i)
+     {
+-        mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++        vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+         Local<Object> layer_obj = NanNew<Object>();
+         layer_obj->Set(NanNew("name"), NanNew(layer.name().c_str()));
+         layer_obj->Set(NanNew("extent"), NanNew<Integer>(layer.extent()));
+@@ -1356,7 +1356,7 @@ NAN_METHOD(VectorTile::toJSON)
+         for (int j=0; j < layer.features_size(); ++j)
+         {
+             Local<Object> feature_obj = NanNew<Object>();
+-            mapnik::vector::tile_feature const& f = layer.features(j);
++            vector_tile::Tile_Feature const& f = layer.features(j);
+             if (f.has_id())
+             {
+                 feature_obj->Set(NanNew("id"),NanNew<Number>(f.id()));
+@@ -1382,7 +1382,7 @@ NAN_METHOD(VectorTile::toJSON)
+                     && key_value < static_cast<std::size_t>(layer.values_size()))
+                 {
+                     std::string const& name = layer.keys(key_name);
+-                    mapnik::vector::tile_value const& value = layer.values(key_value);
++                    vector_tile::Tile_Value const& value = layer.values(key_value);
+                     if (value.has_string_value())
+                     {
+                         att_obj->Set(NanNew(name.c_str()), NanNew(value.string_value().c_str()));
+@@ -1427,7 +1427,7 @@ NAN_METHOD(VectorTile::toJSON)
+     NanReturnValue(arr);
+ }
+ 
+-static void layer_to_geojson(mapnik::vector::tile_layer const& layer,
++static void layer_to_geojson(vector_tile::Tile_Layer const& layer,
+                              Local<Array> f_arr,
+                              unsigned x,
+                              unsigned y,
+@@ -1448,7 +1448,7 @@ static void layer_to_geojson(mapnik::vector::tile_layer const& layer,
+         Local<Object> feature_obj = NanNew<Object>();
+         feature_obj->Set(NanNew("type"),NanNew("Feature"));
+         Local<Object> geometry = NanNew<Object>();
+-        mapnik::vector::tile_feature const& f = layer.features(j);
++        vector_tile::Tile_Feature const& f = layer.features(j);
+         unsigned int g_type = f.type();
+         Local<String> js_type = NanNew("Unknown");
+         switch (g_type)
+@@ -1554,7 +1554,7 @@ static void layer_to_geojson(mapnik::vector::tile_layer const& layer,
+                 && key_value < static_cast<std::size_t>(layer.values_size()))
+             {
+                 std::string const& name = layer.keys(key_name);
+-                mapnik::vector::tile_value const& value = layer.values(key_value);
++                vector_tile::Tile_Value const& value = layer.values(key_value);
+                 if (value.has_string_value())
+                 {
+                     att_obj->Set(NanNew(name.c_str()), NanNew(value.string_value().c_str()));
+@@ -1608,7 +1608,7 @@ NAN_METHOD(VectorTile::toGeoJSON)
+     }
+ 
+     VectorTile* d = node::ObjectWrap::Unwrap<VectorTile>(args.Holder());
+-    mapnik::vector::tile const& tiledata = d->get_tile();
++    vector_tile::Tile const& tiledata = d->get_tile();
+     std::size_t layer_num = tiledata.layers_size();
+     int layer_idx = -1;
+     bool all_array = false;
+@@ -1630,7 +1630,7 @@ NAN_METHOD(VectorTile::toGeoJSON)
+             unsigned int idx(0);
+             for (unsigned i=0; i < layer_num; ++i)
+             {
+-                mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++                vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+                 if (layer.name() == layer_name)
+                 {
+                     found = true;
+@@ -1695,7 +1695,7 @@ NAN_METHOD(VectorTile::toGeoJSON)
+                 layer_obj->Set(NanNew("type"), NanNew("FeatureCollection"));
+                 Local<Array> f_arr = NanNew<Array>();
+                 layer_obj->Set(NanNew("features"), f_arr);
+-                mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++                vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+                 layer_obj->Set(NanNew("name"), NanNew(layer.name().c_str()));
+                 layer_to_geojson(layer,f_arr,d->x_,d->y_,d->z_,d->width_,0);
+                 layer_arr->Set(i,layer_obj);
+@@ -1712,14 +1712,14 @@ NAN_METHOD(VectorTile::toGeoJSON)
+             {
+                 for (unsigned i=0;i<layer_num;++i)
+                 {
+-                    mapnik::vector::tile_layer const& layer = tiledata.layers(i);
++                    vector_tile::Tile_Layer const& layer = tiledata.layers(i);
+                     layer_to_geojson(layer,f_arr,d->x_,d->y_,d->z_,d->width_,f_arr->Length());
+                 }
+                 NanReturnValue(layer_obj);
+             }
+             else
+             {
+-                mapnik::vector::tile_layer const& layer = tiledata.layers(layer_idx);
++                vector_tile::Tile_Layer const& layer = tiledata.layers(layer_idx);
+                 layer_obj->Set(NanNew("name"), NanNew(layer.name().c_str()));
+                 layer_to_geojson(layer,f_arr,d->x_,d->y_,d->z_,d->width_,0);
+                 NanReturnValue(layer_obj);
+@@ -1870,11 +1870,11 @@ NAN_METHOD(VectorTile::addGeoJSON)
+ 
+     try
+     {
+-        typedef mapnik::vector::backend_pbf backend_type;
+-        typedef mapnik::vector::processor<backend_type> renderer_type;
++        typedef mapnik::vector_tile_impl::backend_pbf backend_type;
++        typedef mapnik::vector_tile_impl::processor<backend_type> renderer_type;
+         backend_type backend(d->get_tile_nonconst(),path_multiplier);
+         mapnik::Map map(d->width_,d->height_,"+init=epsg:3857");
+-        mapnik::vector::spherical_mercator merc(d->width_);
++        mapnik::vector_tile_impl::spherical_mercator merc(d->width_);
+         double minx,miny,maxx,maxy;
+         merc.xyz(d->x_,d->y_,d->z_,minx,miny,maxx,maxy);
+         map.zoom_to_box(mapnik::box2d<double>(minx,miny,maxx,maxy));
+@@ -1932,14 +1932,14 @@ NAN_METHOD(VectorTile::addImage)
+         NanReturnUndefined();
+     }
+     // how to ensure buffer width/height?
+-    mapnik::vector::tile & tiledata = d->get_tile_nonconst();
+-    mapnik::vector::tile_layer * new_layer = tiledata.add_layers();
++    vector_tile::Tile & tiledata = d->get_tile_nonconst();
++    vector_tile::Tile_Layer * new_layer = tiledata.add_layers();
+     new_layer->set_name(layer_name);
+     new_layer->set_version(1);
+     new_layer->set_extent(256 * 16);
+     // no need
+     // current_feature_->set_id(feature.id());
+-    mapnik::vector::tile_feature * new_feature = new_layer->add_features();
++    vector_tile::Tile_Feature * new_feature = new_layer->add_features();
+     new_feature->set_raster(std::string(node::Buffer::Data(obj),buffer_size));
+     // report that we have data
+     d->painted(true);
+@@ -2108,7 +2108,7 @@ NAN_METHOD(VectorTile::getData)
+                 // after each modification of tiledata otherwise the
+                 // SerializeWithCachedSizesToArray will throw:
+                 // Error: CHECK failed: !coded_out.HadError()
+-                mapnik::vector::tile const& tiledata = d->get_tile();
++                vector_tile::Tile const& tiledata = d->get_tile();
+                 Local<Object> retbuf = NanNewBufferHandle(d->byte_size_);
+                 // TODO - consider wrapping in fastbuffer: https://gist.github.com/drewish/2732711
+                 // http://www.samcday.com.au/blog/2011/03/03/creating-a-proper-buffer-in-a-node-c-addon/
+@@ -2443,7 +2443,7 @@ template <typename Renderer> void process_layers(Renderer & ren,
+                                             mapnik::projection const& map_proj,
+                                             std::vector<mapnik::layer> const& layers,
+                                             double scale_denom,
+-                                            mapnik::vector::tile const& tiledata,
++                                            vector_tile::Tile const& tiledata,
+                                             vector_tile_render_baton_t *closure,
+                                             mapnik::box2d<double> const& map_extent)
+ {
+@@ -2457,12 +2457,12 @@ template <typename Renderer> void process_layers(Renderer & ren,
+         {
+             for (int j=0; j < tiledata.layers_size(); ++j)
+             {
+-                mapnik::vector::tile_layer const& layer = tiledata.layers(j);
++                vector_tile::Tile_Layer const& layer = tiledata.layers(j);
+                 if (lyr.name() == layer.name())
+                 {
+                     mapnik::layer lyr_copy(lyr);
+-                    MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                                    mapnik::vector::tile_datasource>(
++                    MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                                    mapnik::vector_tile_impl::tile_datasource>(
+                                                         layer,
+                                                         closure->d->x_,
+                                                         closure->d->y_,
+@@ -2493,7 +2493,7 @@ void VectorTile::EIO_RenderTile(uv_work_t* req)
+ 
+     try {
+         mapnik::Map const& map_in = *closure->m->get();
+-        mapnik::vector::spherical_mercator merc(closure->d->width_);
++        mapnik::vector_tile_impl::spherical_mercator merc(closure->d->width_);
+         double minx,miny,maxx,maxy;
+         if (closure->zxy_override) {
+             merc.xyz(closure->x,closure->y,closure->z,minx,miny,maxx,maxy);
+@@ -2511,7 +2511,7 @@ void VectorTile::EIO_RenderTile(uv_work_t* req)
+         }
+         scale_denom *= closure->scale_factor;
+         std::vector<mapnik::layer> const& layers = map_in.layers();
+-        mapnik::vector::tile const& tiledata = closure->d->get_tile();
++        vector_tile::Tile const& tiledata = closure->d->get_tile();
+         // render grid for layer
+         if (closure->g)
+         {
+@@ -2527,19 +2527,19 @@ void VectorTile::EIO_RenderTile(uv_work_t* req)
+             mapnik::layer const& lyr = layers[closure->layer_idx];
+             if (lyr.visible(scale_denom))
+             {
+-                int tile_layer_idx = -1;
++                int layer_idx = -1;
+                 for (int j=0; j < tiledata.layers_size(); ++j)
+                 {
+-                    mapnik::vector::tile_layer const& layer = tiledata.layers(j);
++                    vector_tile::Tile_Layer const& layer = tiledata.layers(j);
+                     if (lyr.name() == layer.name())
+                     {
+-                        tile_layer_idx = j;
++                        layer_idx = j;
+                         break;
+                     }
+                 }
+-                if (tile_layer_idx > -1)
++                if (layer_idx > -1)
+                 {
+-                    mapnik::vector::tile_layer const& layer = tiledata.layers(tile_layer_idx);
++                    vector_tile::Tile_Layer const& layer = tiledata.layers(layer_idx);
+                     if (layer.features_size() <= 0)
+                     {
+                         return;
+@@ -2561,8 +2561,8 @@ void VectorTile::EIO_RenderTile(uv_work_t* req)
+                     }
+ 
+                     mapnik::layer lyr_copy(lyr);
+-                    MAPNIK_SHARED_PTR<mapnik::vector::tile_datasource> ds = MAPNIK_MAKE_SHARED<
+-                                                    mapnik::vector::tile_datasource>(
++                    MAPNIK_SHARED_PTR<mapnik::vector_tile_impl::tile_datasource> ds = MAPNIK_MAKE_SHARED<
++                                                    mapnik::vector_tile_impl::tile_datasource>(
+                                                         layer,
+                                                         closure->d->x_,
+                                                         closure->d->y_,
+@@ -2789,7 +2789,7 @@ Local<Value> VectorTile::_isSolidSync(_NAN_METHOD_ARGS)
+     try
+     {
+         std::string key;
+-        bool is_solid = mapnik::vector::is_solid_extent(d->get_tile(), key);
++        bool is_solid = mapnik::vector_tile_impl::is_solid_extent(d->get_tile(), key);
+         if (is_solid)
+         {
+             return NanEscapeScope(NanNew(key.c_str()));
+@@ -2847,7 +2847,7 @@ void VectorTile::EIO_IsSolid(uv_work_t* req)
+ {
+     is_solid_vector_tile_baton_t *closure = static_cast<is_solid_vector_tile_baton_t *>(req->data);
+     try {
+-        closure->result = mapnik::vector::is_solid_extent(closure->d->get_tile(),closure->key);
++        closure->result = mapnik::vector_tile_impl::is_solid_extent(closure->d->get_tile(),closure->key);
+     }
+     catch (std::exception const& ex)
+     {
+diff --git a/src/mapnik_vector_tile.hpp b/src/mapnik_vector_tile.hpp
+index 481d8b7..ed6f7f8 100644
+--- a/src/mapnik_vector_tile.hpp
++++ b/src/mapnik_vector_tile.hpp
+@@ -103,13 +103,13 @@ public:
+         painted(false);
+         byte_size_ = 0;
+     }
+-    mapnik::vector::tile & get_tile_nonconst() {
++    vector_tile::Tile & get_tile_nonconst() {
+         return tiledata_;
+     }
+     std::vector<std::string> lazy_names();
+     bool lazy_empty();
+     void parse_proto();
+-    mapnik::vector::tile const& get_tile() {
++    vector_tile::Tile const& get_tile() {
+         return tiledata_;
+     }
+     void cache_bytesize() {
+@@ -136,7 +136,7 @@ public:
+     parsing_status status_;
+ private:
+     ~VectorTile();
+-    mapnik::vector::tile tiledata_;
++    vector_tile::Tile tiledata_;
+     unsigned width_;
+     unsigned height_;
+     bool painted_;
diff --git a/nodejs-mapnik.spec b/nodejs-mapnik.spec
index b5e2f4a..b006b85 100644
--- a/nodejs-mapnik.spec
+++ b/nodejs-mapnik.spec
@@ -1,7 +1,7 @@
-%global commit 153a1f17ba8dd51763aca62365079c402635e868
+%global commit bee84c5a1da8c296f97b1d0afdfa0c7bf79148dc
 
 Name:           nodejs-mapnik
-Version:        1.4.13
+Version:        1.4.17
 Release:        1%{?dist}
 Summary:        Bindings to Mapnik tile rendering library for Node.js
 
@@ -16,12 +16,9 @@ Patch1:         nodejs-mapnik-precision.patch
 Patch2:         nodejs-mapnik-hsv.patch
 # Disable use of binary builds via pre-gyp
 Patch3:         nodejs-mapnik-pregyp.patch
-# Remove webp tests as our mapnik doesn't support webp
-Patch4:         nodejs-mapnik-webp.patch
-# Remove native SVG renderer tests as our mapnik doesn't support it
-Patch5:         nodejs-mapnik-svg.patch
-#
-Patch6:         nodejs-mapnik-aspect.patch
+# Update for mapnik-vector-tile 0.6.0
+Patch4:         nodejs-mapnik-vector.patch
+
 ExclusiveArch:  %{nodejs_arches}
 
 BuildRequires:  nodejs-devel
@@ -36,7 +33,7 @@ BuildRequires:  polyclipping-devel
 BuildRequires:  protobuf-lite-devel
 BuildRequires:  libtool-ltdl-devel
 BuildRequires:  libxml2-devel
-BuildRequires:  npm(mapnik-vector-tile) >= 0.5.0
+BuildRequires:  npm(mapnik-vector-tile) >= 0.6.0
 
 BuildRequires:  npm(npm)
 BuildRequires:  npm(mocha)
@@ -56,8 +53,6 @@ BuildRequires:  npm(nan) >= 1.2.0
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
-%patch6 -p1
 rm -rf node_modules
 echo '{}' > common.gypi
 %nodejs_symlink_deps --check
@@ -91,6 +86,9 @@ ln -s  %{nodejs_sitelib}/mapnik/bin/mapnik-render.js %{buildroot}/%{_bindir}/map
 
 
 %changelog
+* Tue Sep 30 2014 Tom Hughes <tom at compton.nu> - 1.4.17-1
+- Update to 1.4.17 upstream release
+
 * Tue Aug 26 2014 Tom Hughes <tom at compton.nu> - 1.4.13-1
 - Update to 1.4.13 upstream release
 
diff --git a/sources b/sources
index 5fdae05..a6ec01e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-e20e3f6115043a94f2ca95c8d989ec59  node-mapnik-153a1f17ba8dd51763aca62365079c402635e868.tar.gz
+7ee440e28f491b7ab3db7cc037aa63af  node-mapnik-bee84c5a1da8c296f97b1d0afdfa0c7bf79148dc.tar.gz


More information about the scm-commits mailing list