From e54ca5a95fa483d835a543583328d7f3c75d3341 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Mar 02 2016 16:17:17 +0000 Subject: Update to 3.5.1 upstream release --- diff --git a/.gitignore b/.gitignore index 4602a50..38f5bfb 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ /nodejs-mapnik-3.4.14.tar.gz /nodejs-mapnik-3.4.15.tar.gz /nodejs-mapnik-3.4.16.tar.gz +/nodejs-mapnik-3.5.0.tar.gz +/nodejs-mapnik-3.5.1.tar.gz diff --git a/nodejs-mapnik-boost.patch b/nodejs-mapnik-boost.patch new file mode 100644 index 0000000..57f1638 --- /dev/null +++ b/nodejs-mapnik-boost.patch @@ -0,0 +1,28 @@ +commit f87bb4a201dfaff557df32f4f95868c0ed24f06c +Author: Tom Hughes +Date: Wed Mar 2 14:11:26 2016 +0000 + + Update tests for changes in boost 1.60 + +diff --git a/test/vector-tile.test.js b/test/vector-tile.test.js +index 905e885..6c116c1 100644 +--- a/test/vector-tile.test.js ++++ b/test/vector-tile.test.js +@@ -2126,7 +2126,7 @@ describe('mapnik.VectorTile ', function() { + map.render(vtile, opts, function(err, vtile) { + if (err) throw err; + if (hasBoostSimple) { +- assert.equal(vtile.reportGeometrySimplicity().length, 0); ++ assert.equal(vtile.reportGeometrySimplicity().length, 1); + assert.equal(vtile.reportGeometryValidity().length, 15); // Dataset not expected to be OGC valid + } + var expected = './test/data/vector_tile/tile_threading_auto.mvt'; +@@ -2163,7 +2163,7 @@ describe('mapnik.VectorTile ', function() { + map.render(vtile, opts, function(err, vtile) { + if (err) throw err; + if (hasBoostSimple) { +- assert.equal(vtile.reportGeometrySimplicity().length, 0); ++ assert.equal(vtile.reportGeometrySimplicity().length, 1); + assert.equal(vtile.reportGeometryValidity().length, 15); // Dataset not expected to be OGC valid + } + var expected = './test/data/vector_tile/tile_threading_async.mvt'; diff --git a/nodejs-mapnik-pregyp.patch b/nodejs-mapnik-pregyp.patch index 96239a6..c4d8be2 100644 --- a/nodejs-mapnik-pregyp.patch +++ b/nodejs-mapnik-pregyp.patch @@ -1,4 +1,4 @@ -commit a1ec6c20537dd32c8f4b07c3b71b1dba08ba4eae +commit af6f323f3a297f46f31fa53cdda7beddffb213b6 Author: Tom Hughes Date: Mon Aug 18 14:30:51 2014 +0100 @@ -37,7 +37,7 @@ index a612777..e3a0c05 100755 spawn = require('child_process').spawn, fs = require('fs'); diff --git a/lib/mapnik.js b/lib/mapnik.js -index a811b3e..d193710 100644 +index 96328fe..120f046 100644 --- a/lib/mapnik.js +++ b/lib/mapnik.js @@ -1,9 +1,8 @@ @@ -52,16 +52,14 @@ index a811b3e..d193710 100644 var settings = require(settings_path); diff --git a/package.json b/package.json -index 032f2d1..e449401 100644 +index 33fec24..3c1e2ae 100644 --- a/package.json +++ b/package.json -@@ -41,8 +41,7 @@ - ], +@@ -42,7 +42,6 @@ "dependencies": { - "mapnik-vector-tile": "~0.14.3", -- "nan": "~2.2.0", -- "node-pre-gyp": "~0.6.19" -+ "nan": "~2.2.0" + "mapnik-vector-tile": "1.0.1", + "nan": "~2.2.0", +- "node-pre-gyp": "~0.6.22", + "protozero": "~1.3.0" }, "bundledDependencies": [ - "mapnik-vector-tile", diff --git a/nodejs-mapnik-relax-tests.patch b/nodejs-mapnik-relax-tests.patch index 6883195..1ace38b 100644 --- a/nodejs-mapnik-relax-tests.patch +++ b/nodejs-mapnik-relax-tests.patch @@ -1,20 +1,20 @@ -commit e71bca769bf93260dbb966140050824d3ab115b5 +commit 877f693482e21ca0f92d059091ef51100bc20b2b Author: Tom Hughes Date: Sun Dec 6 11:05:31 2015 +0000 Relax some test thresholds diff --git a/test/vector-tile.composite.test.js b/test/vector-tile.composite.test.js -index b13e229..01534b6 100644 +index c8eb7c8..77dec0c 100644 --- a/test/vector-tile.composite.test.js +++ b/test/vector-tile.composite.test.js -@@ -299,31 +299,33 @@ describe('mapnik.VectorTile.composite', function() { +@@ -301,31 +301,33 @@ describe('mapnik.VectorTile.composite', function() { vtile1.composite([vtile2],{reencode:true,max_extent:world_clipping_extent}); - assert.equal(vtile.getData().length,54626); + assert.equal(vtile.getData().length,54780); assert.deepEqual(vtile.names(),["water","admin"]); -- assert.equal(vtile1.getData().length,54461); -+ assert.ok(vtile1.getData().length >= 54461 && -+ vtile1.getData().length <= 54520); +- assert.equal(vtile1.getData().length,54462); ++ assert.ok(vtile1.getData().length >= 54462 && ++ vtile1.getData().length <= 54521); assert.deepEqual(vtile1.names(),["water","admin"]); var expected_file = data_base +'/expected/world-reencode.png'; var expected_file2 = data_base +'/expected/world-reencode-max-extent.png'; @@ -28,7 +28,7 @@ index b13e229..01534b6 100644 + assert.ok(compare_to_image(im2,expected_file2) <= 500); vtile3.composite([vtile2],{reencode:true}, function(err) { if (err) throw err; - assert.equal(vtile3.getData().length,54626); + assert.equal(vtile3.getData().length,54780); assert.deepEqual(vtile3.names(),["water","admin"]); vtile3.render(map,new mapnik.Image(256,256),function(err,im) { if (err) throw err; @@ -36,9 +36,9 @@ index b13e229..01534b6 100644 + assert.ok(compare_to_image(im,expected_file) <= 500); vtile4.composite([vtile2],{reencode:true,max_extent:world_clipping_extent}, function(err) { if (err) throw err; -- assert.equal(vtile4.getData().length,54461); -+ assert.ok(vtile4.getData().length >= 54461 && -+ vtile4.getData().length <= 54520); +- assert.equal(vtile4.getData().length,54462); ++ assert.ok(vtile4.getData().length >= 54462 && ++ vtile4.getData().length <= 54521); assert.deepEqual(vtile4.names(),["water","admin"]); - assert.equal(0,compare_to_image(im2,expected_file2)); + assert.ok(compare_to_image(im2,expected_file2) <= 500); @@ -50,10 +50,10 @@ index b13e229..01534b6 100644 }); }); diff --git a/test/vector-tile.query.test.js b/test/vector-tile.query.test.js -index 70f5131..35b403f 100644 +index ecbb782..87afd5b 100644 --- a/test/vector-tile.query.test.js +++ b/test/vector-tile.query.test.js -@@ -48,8 +48,8 @@ describe('mapnik.VectorTile query polygon', function() { +@@ -64,8 +64,8 @@ describe('mapnik.VectorTile query polygon', function() { assert.equal(features[0].id(),89); assert.equal(features[0].geometry().type(),mapnik.Geometry.Polygon); assert.equal(features[0].distance,0); @@ -62,9 +62,9 @@ index 70f5131..35b403f 100644 + assert.ok(Math.abs(features[0].x_hit) < 1e-8); + assert.ok(Math.abs(features[0].y_hit) < 1e-8); assert.equal(features[0].layer,'world'); - } - }); -@@ -526,8 +526,8 @@ describe('mapnik.VectorTile query xy single features', function() { + assert.equal(JSON.parse(features[1].toJSON()).properties.NAME,'Japan'); + assert.equal(features[1].id(),89); +@@ -546,8 +546,8 @@ describe('mapnik.VectorTile query xy single features', function() { }] }),"layer-name"); var res = vtile.query(0,0,{tolerance:1}); @@ -75,7 +75,7 @@ index 70f5131..35b403f 100644 assert.equal(res[0].attributes().name, 'A'); done(); }); -@@ -546,8 +546,8 @@ describe('mapnik.VectorTile query xy single features', function() { +@@ -566,8 +566,8 @@ describe('mapnik.VectorTile query xy single features', function() { }] }),"layer-name"); var res = vtile.query(0,0,{tolerance:1}); @@ -86,7 +86,7 @@ index 70f5131..35b403f 100644 assert.equal(res[0].attributes().name, 'A'); done(); }); -@@ -566,8 +566,8 @@ describe('mapnik.VectorTile query xy single features', function() { +@@ -586,8 +586,8 @@ describe('mapnik.VectorTile query xy single features', function() { }] }),"layer-name"); var res = vtile.query(0,0,{tolerance:1}); @@ -97,7 +97,7 @@ index 70f5131..35b403f 100644 assert.equal(res[0].attributes().name, 'A'); done(); }); -@@ -586,8 +586,8 @@ describe('mapnik.VectorTile query xy single features', function() { +@@ -606,8 +606,8 @@ describe('mapnik.VectorTile query xy single features', function() { }] }),"layer-name"); var res = vtile.query(0,0,{tolerance:1}); @@ -108,88 +108,3 @@ index 70f5131..35b403f 100644 assert.equal(res[0].attributes().name, 'A'); done(); }); -diff --git a/test/vector-tile.test.js b/test/vector-tile.test.js -index d828f03..dd3291c 100644 ---- a/test/vector-tile.test.js -+++ b/test/vector-tile.test.js -@@ -1855,7 +1855,7 @@ describe('mapnik.VectorTile ', function() { - assert.equal(vtile.isSolid(), false); - if (hasBoostSimple) { - assert.equal(vtile.reportGeometrySimplicity().length, 0); -- assert.equal(vtile.reportGeometryValidity().length, 14); // Dataset not expected to be OGC valid -+ assert.ok(vtile.reportGeometryValidity().length >= 14); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0.vector.pbf'; - var actual = './test/data/vector_tile/tile0.vector.actual.pbf'; -@@ -1885,7 +1885,7 @@ describe('mapnik.VectorTile ', function() { - assert.equal(vtile.isSolid(), false); - if (hasBoostSimple) { - assert.equal(vtile.reportGeometrySimplicity().length, 0); -- assert.equal(vtile.reportGeometryValidity().length, 14); // Dataset not expected to be OGC valid -+ assert.ok(vtile.reportGeometryValidity().length >= 14); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-area_threshold.vector.pbf'; - var actual = './test/data/vector_tile/tile0-area_threshold.vector.actual.pbf'; -@@ -1917,7 +1917,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 10); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 9); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-strictly_simple.vector.pbf'; - var actual = './test/data/vector_tile/tile0-strictly_simple.vector.actual.pbf'; -@@ -1949,7 +1949,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 10); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 9); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-simplify_distance.vector.pbf'; - var actual = './test/data/vector_tile/tile0-simplify_distance.vector.actual.pbf'; -@@ -1981,7 +1981,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 9); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 8); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-simple_and_distance.vector.pbf'; - var actual = './test/data/vector_tile/tile0-simple_and_distance.vector.actual.pbf'; -@@ -2013,7 +2013,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 18); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 18); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-mpu-false.vector.pbf'; - var actual = './test/data/vector_tile/tile0-mpu-false.vector.actual.pbf'; -@@ -2045,7 +2045,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 16); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 16); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-evenOdd.vector.pbf'; - var actual = './test/data/vector_tile/tile0-evenOdd.vector.actual.pbf'; -@@ -2077,7 +2077,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 14); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 14); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-nonZero.vector.pbf'; - var actual = './test/data/vector_tile/tile0-nonZero.vector.actual.pbf'; -@@ -2109,7 +2109,7 @@ describe('mapnik.VectorTile ', function() { - var simplicityReport = vtile.reportGeometrySimplicity(); - var validityReport = vtile.reportGeometryValidity(); - assert.equal(simplicityReport.length, 0); -- assert.equal(validityReport.length, 14); // Dataset not expected to be OGC valid -+ assert.ok(validityReport.length >= 14); // Dataset not expected to be OGC valid - } - var expected = './test/data/vector_tile/tile0-process-all-mp-rings.vector.pbf'; - var actual = './test/data/vector_tile/tile0-process-all-mp-rings.vector.actual.pbf'; diff --git a/nodejs-mapnik-rgbtohsl.patch b/nodejs-mapnik-rgbtohsl.patch deleted file mode 100644 index 47d6bad..0000000 --- a/nodejs-mapnik-rgbtohsl.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 23f0a7361ebcdbab92cf270b848b3f4c96441c77 -Author: Tom Hughes -Date: Tue Feb 2 17:22:47 2016 +0000 - - Avoid equality comparisons of floating point numbers - - Equality comparisons of floating point numbers are always - dangerous and this case the code was actually failing on x86 - with gcc 6 because one side of the comparison was still in a - register and hence had 80 bit precision while the other side - had been stored to memory and reduced to 64 bit precision: - - https://bugzilla.redhat.com/show_bug.cgi?id=1303315 - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69570 - -diff --git a/src/tint.hpp b/src/tint.hpp -index 21009d2..3644b46 100644 ---- a/src/tint.hpp -+++ b/src/tint.hpp -@@ -16,9 +16,9 @@ static inline void rgb_to_hsl(unsigned red, unsigned green, unsigned blue, - h = 0.0, s = 0.0, l = gamma / 2.0; - if (delta > 0.0) { - s = l > 0.5 ? delta / (2.0 - gamma) : delta / gamma; -- if (max == r && max != g) h = (g - b) / delta + (g < b ? 6.0 : 0.0); -- if (max == g && max != b) h = (b - r) / delta + 2.0; -- if (max == b && max != r) h = (r - g) / delta + 4.0; -+ if (r >= b && r > g) h = (g - b) / delta + (g < b ? 6.0 : 0.0); -+ if (g >= r && g > b) h = (b - r) / delta + 2.0; -+ if (b >= g && b > r) h = (r - g) / delta + 4.0; - h /= 6.0; - } - } diff --git a/nodejs-mapnik.spec b/nodejs-mapnik.spec index 2d176ef..84451cb 100644 --- a/nodejs-mapnik.spec +++ b/nodejs-mapnik.spec @@ -1,6 +1,6 @@ Name: nodejs-mapnik -Version: 3.4.16 -Release: 5%{?dist} +Version: 3.5.1 +Release: 1%{?dist} Summary: Bindings to Mapnik tile rendering library for Node.js License: BSD @@ -10,8 +10,8 @@ Source0: https://github.com/mapnik/node-mapnik/archive/%{version}/%{name} Patch0: nodejs-mapnik-pregyp.patch # Relax some tests (https://github.com/mapnik/node-mapnik/issues/569) Patch1: nodejs-mapnik-relax-tests.patch -# https://github.com/mapnik/node-mapnik/pull/589 -Patch2: nodejs-mapnik-rgbtohsl.patch +# Update for boost 1.60 geometry simplicity changes +Patch2: nodejs-mapnik-boost.patch ExclusiveArch: %{nodejs_arches} @@ -22,8 +22,8 @@ Provides: bundled(polyclipping) = 6.4.0 BuildRequires: nodejs-devel BuildRequires: node-gyp -BuildRequires: mapnik-devel >= 3.0.0 -BuildRequires: mapnik-static >= 3.0.0 +BuildRequires: mapnik-devel >= 3.0.10 +BuildRequires: mapnik-static >= 3.0.10 BuildRequires: protozero-devel >= 1.0.0 BuildRequires: boost-devel BuildRequires: libicu-devel @@ -34,7 +34,7 @@ BuildRequires: polyclipping-devel BuildRequires: protobuf-lite-devel BuildRequires: libtool-ltdl-devel BuildRequires: libxml2-devel -BuildRequires: npm(mapnik-vector-tile) = 0.14.3 +BuildRequires: npm(mapnik-vector-tile) >= 1.0.2 BuildRequires: mapnik-utils BuildRequires: npm(mocha) @@ -49,6 +49,7 @@ BuildRequires: npm(nan) >= 2.2.0 %prep %autosetup -p 1 -n node-mapnik-%{version} +%nodejs_fixdep --remove protozero %nodejs_fixdep --dev --move nan %nodejs_fixdep --dev --move mapnik-vector-tile rm -rf deps/protozero node_modules @@ -73,7 +74,7 @@ ln -s %{nodejs_sitelib}/mapnik/bin/mapnik-inspect.js %{buildroot}/%{_bindir}/ma %check %nodejs_symlink_deps --check -%{nodejs_sitelib}/mocha/bin/mocha -R spec -t 5000 +%{nodejs_sitelib}/mocha/bin/mocha -R spec -t 10000 %files @@ -84,6 +85,9 @@ ln -s %{nodejs_sitelib}/mapnik/bin/mapnik-inspect.js %{buildroot}/%{_bindir}/ma %changelog +* Wed Mar 2 2016 Tom Hughes - 3.5.1-1 +- Update to 3.5.1 upstream release + * Sat Feb 13 2016 Tom Hughes - 3.4.16-5 - Remove architecture specific test disablements diff --git a/sources b/sources index 761d4fd..07c70ef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5cfaab057ca453b6cd778ba850c634c2 nodejs-mapnik-3.4.16.tar.gz +161bc4442110af31ebeba502bac6ff00 nodejs-mapnik-3.5.1.tar.gz