summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/mapnik/Makefile156
-rw-r--r--graphics/mapnik/distinfo4
-rw-r--r--graphics/mapnik/files/patch-SConstruct13
-rw-r--r--graphics/mapnik/files/patch-bindings-python-mapnik_text_placement.cpp15
-rw-r--r--graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.cpp54
-rw-r--r--graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.hpp13
-rw-r--r--graphics/mapnik/files/patch-plugins-input-ogr-ogr_layer_ptr.hpp59
-rw-r--r--graphics/mapnik/files/patch-src-build.py31
-rw-r--r--graphics/mapnik/files/patch-tests-cpp_tests-conversions_test.cpp79
-rw-r--r--graphics/mapnik/pkg-plist238
10 files changed, 246 insertions, 416 deletions
diff --git a/graphics/mapnik/Makefile b/graphics/mapnik/Makefile
index 15b8eecc32d4..5fbc8db7c1d9 100644
--- a/graphics/mapnik/Makefile
+++ b/graphics/mapnik/Makefile
@@ -2,125 +2,86 @@
# $FreeBSD$
PORTNAME= mapnik
-PORTVERSION= 2.2.0
+PORTVERSION= 3.0.9
DISTVERSIONPREFIX= v
-PORTREVISION= 15
CATEGORIES= graphics geography
MASTER_SITES= http://mapnik.s3.amazonaws.com/dist/v${PORTVERSION}/
MAINTAINER= littlesavage@rambler.ru
COMMENT= Free Toolkit For Developing Mapping Applications
-LICENSE= LGPL21
+LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libproj.so:${PORTSDIR}/graphics/proj \
- libicuuc.so:${PORTSDIR}/devel/icu \
+LIB_DEPENDS= libicuuc.so:${PORTSDIR}/devel/icu \
libboost_system.so:${PORTSDIR}/devel/boost-libs \
- libboost_python.so:${PORTSDIR}/devel/boost-python-libs
-BUILD_DEPENDS= ${LOCALBASE}/bin/freetype-config:${PORTSDIR}/print/freetype2 \
- ${PYTHON_PKGNAMEPREFIX}icu>=0.8.1:${PORTSDIR}/devel/py-icu
+ libfreetype.so:${PORTSDIR}/print/freetype2 \
+ libharfbuzz.so:${PORTSDIR}/print/harfbuzz
-USES= pkgconfig python scons tar:bzip2
+BROKEN_powerpc= does not install: runs out of virtual memory
+BROKEN_FreeBSD_9= does not build: lack of c++11 support
+
+USES= compiler:c++11-lib pkgconfig python scons tar:bzip2
USE_GNOME= libxml2
USE_LDCONFIG= yes
-WARNING_CXXFLAGS?= -w
+MAKE_ARGS= INPUT_PLUGINS="`${ECHO} ${INPUT_PLUGINS} | ${TR} ' ' ,`" \
+ CUSTOM_CFLAGS="${CFLAGS}" CUSTOM_CXXFLAGS="${CXXFLAGS}" \
+ CUSTOM_LDFLAGS="${LDFLAGS}"
-INPUT_PLUGINS= geojson python raster shape
+PORTDOCS= *
-NO_OPTIONS_SORT= yes
-OPTIONS_DEFINE= CAIRO CSV GDAL OGR OSM POSTGIS SQLITE3 JPEG PNG TIFF
-OPTIONS_DEFAULT= CAIRO CSV GDAL OGR OSM POSTGIS SQLITE3 JPEG PNG TIFF
+INPUT_PLUGINS= csv raster shape geojson topojson
-CAIRO_DESC= Enable cairo rendering
-CSV_DESC= CSV input plugin
+OPTIONS_DEFINE= CAIRO JPEG PNG TIFF WEBP PROJ
+OPTIONS_DEFAULT=CAIRO GDAL OGR POSTGIS PGRASTER SQLITE3 JPEG PNG TIFF PROJ WEBP
+OPTIONS_GROUP= INPUT
+OPTIONS_GROUP_INPUT= GDAL OGR POSTGIS PGRASTER SQLITE3
+OPTIONS_SUB= yes
+
+INPUT_DESC= Input plugins
GDAL_DESC= GDAL input plugin
OGR_DESC= OGR input plugin
-OSM_DESC= OSM input plugin
POSTGIS_DESC= PostGIS input plugin
+PGRASTER_DESC= PGraster input plugin
SQLITE3_DESC= SQLite input plugin
-OPTIONS_SUB= yes
-
-PORTDOCS= *
-
-DOCSRCDIR1= ${WRKSRC}
-DOC_FILES1= AUTHORS.md CHANGELOG.md README.md
-
-DOCSRCDIR2= ${WRKSRC}/docs
-DOCSDIR2= ${DOCSDIR}/docs
-DOC_FILES2= *
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MCAIRO}
-LIB_DEPENDS+= libcairo.so:${PORTSDIR}/graphics/cairo
-BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}cairo>=1.8.2:${PORTSDIR}/graphics/py-cairo
-.else
-MAKE_ARGS+= CAIRO=False
-.endif
-
-.if ${PORT_OPTIONS:MCSV}
-INPUT_PLUGINS+= csv
-.endif
-
-.if ${PORT_OPTIONS:MGDAL}
-INPUT_PLUGINS+= gdal
-LIB_DEPENDS+= libgdal.so:${PORTSDIR}/graphics/gdal
-.endif
+PROJ_DESC= proj4 support
-.if ${PORT_OPTIONS:MOGR}
-INPUT_PLUGINS+= ogr
-LIB_DEPENDS+= libgdal.so:${PORTSDIR}/graphics/gdal
-.endif
-
-.if ${PORT_OPTIONS:MOSM}
-INPUT_PLUGINS+= osm
-LIB_DEPENDS+= libcurl.so:${PORTSDIR}/ftp/curl
-.endif
-
-.if ${PORT_OPTIONS:MPOSTGIS}
-INPUT_PLUGINS+= postgis
-USES+= pgsql
-.endif
-
-.if ${PORT_OPTIONS:MSQLITE3}
-INPUT_PLUGINS+= sqlite
-LIB_DEPENDS+= libsqlite3.so:${PORTSDIR}/databases/sqlite3
-BUILD_DEPENDS+= sqlite3>=3.7.12:${PORTSDIR}/databases/sqlite3
-.endif
-
-.if ${PORT_OPTIONS:MJPEG}
-USES+= jpeg
-.else
-MAKE_ARGS+= JPEG=False
-.endif
-
-.if ${PORT_OPTIONS:MPNG}
-LIB_DEPENDS+= libpng.so:${PORTSDIR}/graphics/png
-.else
-MAKE_ARGS+= PNG=False
-.endif
+CAIRO_DESC= Enable cairo rendering
-.if ${PORT_OPTIONS:MTIFF}
-LIB_DEPENDS+= libtiff.so:${PORTSDIR}/graphics/tiff
-.else
-MAKE_ARGS+= TIFF=False
-.endif
+GDAL_VARS= INPUT_PLUGINS+=gdal
+GDAL_LIB_DEPENDS= libgdal.so:${PORTSDIR}/graphics/gdal
+OGR_VARS= INPUT_PLUGINS+=ogr
+OGR_LIB_DEPENDS= libgdal.so:${PORTSDIR}/graphics/gdal
+POSTGIS_VARS= INPUT_PLUGINS+=postgis
+POSTGIS_USES= pgsql
+PGRASTER_VARS= INPUT_PLUGINS+=pgraster
+PGRASTER_USES= pgsql
+SQLITE3_VARS= INPUT_PLUGINS+=sqlite
+SQLITE3_LIB_DEPENDS= libsqlite3.so:${PORTSDIR}/databases/sqlite3
+
+PNG_LIB_DEPENDS= libpng.so:${PORTSDIR}/graphics/png
+PNG_MAKE_ARGS_OFF= PNG=False
+JPEG_USES= jpeg
+JPEG_MAKE_ARGS_OFF= JPEG=False
+TIFF_LIB_DEPENDS= libtiff.so:${PORTSDIR}/graphics/tiff
+TIFF_MAKE_ARGS_OFF= TIFF=False
+WEBP_LIB_DEPENDS= libwebp.so:${PORTSDIR}/graphics/webp
+WEBP_MAKE_ARGS_OFF= WEBP=False
+PROJ_LIB_DEPENDS= libproj.so:${PORTSDIR}/graphics/proj
+PROJ_MAKE_ARGS_OFF= PROJ=False
+
+CAIRO_LIB_DEPENDS= libcairo.so:${PORTSDIR}/graphics/cairo
+CAIRO_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>=1.8.2:${PORTSDIR}/graphics/py-cairo
+CAIRO_MAKE_ARGS_OFF= CAIRO=False
.include <bsd.port.pre.mk>
-.if ${ARCH} == "powerpc"
-IGNORE= does not install: runs out of virtual memory
+.if ${COMPILER_TYPE} == gcc
+CXXFLAGS+= -D_GLIBCXX_USE_C99 # gcc c++11 support is broken on FreeBSD
.endif
-MAKE_ARGS+= WARNING_CXXFLAGS=${WARNING_CXXFLAGS}
-MAKE_ARGS+= INPUT_PLUGINS="`${ECHO} ${INPUT_PLUGINS} | ${TR} ' ' ,`"
-MAKE_ARGS+= JOBS=${MAKE_JOBS_NUMBER}
-MAKE_ARGS+= ${MAKE_ENV}
-
-pre-configure:
-.if ${PORT_OPTIONS:MSQLITE3}
+pre-configure-SQLITE3-on:
@if ! ${LOCALBASE}/bin/sqlite3 :memory: 'create virtual table foo using rtree(pkid, xmin, xmax, ymin, ymax)' > /dev/null 2>&1; then \
${ECHO_MSG} "" ; \
${ECHO_MSG} "The SQLite plugin requires libsqlite3 built with RTREE support"; \
@@ -128,7 +89,6 @@ pre-configure:
${ECHO_MSG} "" ; \
${FALSE} ; \
fi
-.endif
post-patch:
@${REINPLACE_CMD} -e 's#/usr/local#${LOCALBASE}#g' \
@@ -136,9 +96,15 @@ post-patch:
${WRKSRC}/SConstruct
post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mapnik-index \
+ ${STAGEDIR}${PREFIX}/bin/mapnik-render \
+ ${STAGEDIR}${PREFIX}/bin/shapeindex
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mapnik/input/*.input
+
+post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${DOC_FILES1:S|^|${DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR}
- @${MKDIR} ${STAGEDIR}${DOCSDIR2}
- ${INSTALL_DATA} ${DOC_FILES2:S|^|${DOCSRCDIR2}/|} ${STAGEDIR}${DOCSDIR2}
+ @cd ${WRKSRC} && ${COPYTREE_SHARE} "AUTHORS.md CHANGELOG.md README.md docs" \
+ ${STAGEDIR}${DOCSDIR}
.include <bsd.port.post.mk>
diff --git a/graphics/mapnik/distinfo b/graphics/mapnik/distinfo
index c8169c38830c..bfc581dc3255 100644
--- a/graphics/mapnik/distinfo
+++ b/graphics/mapnik/distinfo
@@ -1,2 +1,2 @@
-SHA256 (mapnik-v2.2.0.tar.bz2) = 9b30de4e58adc6d5aa8478779d0a47fdabe6bf8b166b67a383b35f5aa5d6c1b0
-SIZE (mapnik-v2.2.0.tar.bz2) = 23007178
+SHA256 (mapnik-v3.0.9.tar.bz2) = 3a3f67532b05f8a527a5bab32effd7dd5aa59165c7e24505268f6d827955d3da
+SIZE (mapnik-v3.0.9.tar.bz2) = 75213927
diff --git a/graphics/mapnik/files/patch-SConstruct b/graphics/mapnik/files/patch-SConstruct
new file mode 100644
index 000000000000..8ad4634ad5ca
--- /dev/null
+++ b/graphics/mapnik/files/patch-SConstruct
@@ -0,0 +1,13 @@
+--- SConstruct.orig 2016-02-15 15:52:54 UTC
++++ SConstruct
+@@ -1789,10 +1789,6 @@ if not preconfigured:
+
+ if env['DEBUG']:
+ env.Append(CXXFLAGS = common_cxx_flags + '-O0')
+- else:
+- # TODO - add back -fvisibility-inlines-hidden
+- # https://github.com/mapnik/mapnik/issues/1863
+- env.Append(CXXFLAGS = common_cxx_flags + '-O%s' % (env['OPTIMIZATION']))
+ if env['DEBUG_UNDEFINED']:
+ env.Append(CXXFLAGS = '-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error -ftrapv -fwrapv')
+
diff --git a/graphics/mapnik/files/patch-bindings-python-mapnik_text_placement.cpp b/graphics/mapnik/files/patch-bindings-python-mapnik_text_placement.cpp
deleted file mode 100644
index 33a846248fa5..000000000000
--- a/graphics/mapnik/files/patch-bindings-python-mapnik_text_placement.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
---- bindings/python/mapnik_text_placement.cpp.orig 2013-09-14 06:44:28.000000000 +0400
-+++ bindings/python/mapnik_text_placement.cpp 2013-09-14 06:46:57.000000000 +0400
-@@ -194,7 +194,11 @@
- ListNodeWrap(object l) : formatting::list_node(), wrapper<formatting::list_node>()
- {
- stl_input_iterator<formatting::node_ptr> begin(l), end;
-- children_.insert(children_.end(), begin, end);
-+ while (begin != end)
-+ {
-+ children_.push_back(*begin);
-+ ++begin;
-+ }
- }
-
- /* TODO: Add constructor taking variable number of arguments.
diff --git a/graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.cpp b/graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.cpp
deleted file mode 100644
index b4a36f55ae95..000000000000
--- a/graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-Obtained from: https://github.com/mapnik/mapnik/commit/f68291c5b47b5189d967dba01542262f2013da53
- https://github.com/mapnik/mapnik/commit/f0821d897f66c31755f7012b68191a2ec7a060fb
-
---- plugins/input/ogr/ogr_datasource.cpp.orig 2013-06-04 01:35:27 UTC
-+++ plugins/input/ogr/ogr_datasource.cpp
-@@ -72,7 +72,11 @@ ogr_datasource::~ogr_datasource()
- {
- // free layer before destroying the datasource
- layer_.free_layer();
-+#if GDAL_VERSION_MAJOR >= 2
-+ GDALClose(( GDALDatasetH) dataset_);
-+#else
- OGRDataSource::DestroyDataSource (dataset_);
-+#endif
- }
-
- void ogr_datasource::init(mapnik::parameters const& params)
-@@ -82,6 +86,7 @@ void ogr_datasource::init(mapnik::parame
- #endif
-
- // initialize ogr formats
-+ // NOTE: in GDAL >= 2.0 this is the same as GDALAllRegister()
- OGRRegisterAll();
-
- boost::optional<std::string> file = params.get<std::string>("file");
-@@ -112,17 +117,26 @@ void ogr_datasource::init(mapnik::parame
-
- if (! driver.empty())
- {
-+#if GDAL_VERSION_MAJOR >= 2
-+ unsigned int nOpenFlags = GDAL_OF_READONLY | GDAL_OF_VECTOR;
-+ const char* papszAllowedDrivers[] = { driver.c_str(), NULL };
-+ dataset_ = static_cast<gdal_dataset_type>(GDALOpenEx(dataset_name_.c_str(),nOpenFlags,papszAllowedDrivers,NULL,NULL));
-+#else
- OGRSFDriver * ogr_driver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(driver.c_str());
- if (ogr_driver && ogr_driver != NULL)
- {
- dataset_ = ogr_driver->Open((dataset_name_).c_str(), FALSE);
- }
--
-+#endif
- }
- else
- {
- // open ogr driver
-- dataset_ = OGRSFDriverRegistrar::Open((dataset_name_).c_str(), FALSE);
-+#if GDAL_VERSION_MAJOR >= 2
-+ dataset_ = static_cast<gdal_dataset_type>(OGROpen(dataset_name_.c_str(), FALSE, NULL));
-+#else
-+ dataset_ = OGRSFDriverRegistrar::Open(dataset_name_.c_str(), FALSE);
-+#endif
- }
-
- if (! dataset_)
diff --git a/graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.hpp b/graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.hpp
deleted file mode 100644
index 2e5499117a43..000000000000
--- a/graphics/mapnik/files/patch-plugins-input-ogr-ogr_datasource.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-Obtained from: https://github.com/mapnik/mapnik/commit/f68291c5b47b5189d967dba01542262f2013da53
-
---- plugins/input/ogr/ogr_datasource.hpp.orig
-+++ plugins/input/ogr/ogr_datasource.hpp
-@@ -63,7 +63,7 @@ class ogr_datasource : public mapnik::datasource
- mapnik::datasource::datasource_t type_;
- std::string dataset_name_;
- std::string index_name_;
-- OGRDataSource* dataset_;
-+ gdal_dataset_type dataset_;
- ogr_layer_ptr layer_;
- std::string layer_name_;
- mapnik::layer_descriptor desc_;
diff --git a/graphics/mapnik/files/patch-plugins-input-ogr-ogr_layer_ptr.hpp b/graphics/mapnik/files/patch-plugins-input-ogr-ogr_layer_ptr.hpp
deleted file mode 100644
index 48027289f658..000000000000
--- a/graphics/mapnik/files/patch-plugins-input-ogr-ogr_layer_ptr.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-Obtained from: https://github.com/mapnik/mapnik/commit/f68291c5b47b5189d967dba01542262f2013da53
- https://github.com/mapnik/mapnik/commit/f0821d897f66c31755f7012b68191a2ec7a060fb
-
---- plugins/input/ogr/ogr_layer_ptr.hpp.orig
-+++ plugins/input/ogr/ogr_layer_ptr.hpp
-@@ -29,9 +29,16 @@
- // stl
- #include <stdexcept>
-
--// ogr
-+// gdal
-+#include <gdal_version.h>
- #include <ogrsf_frmts.h>
-
-+#if GDAL_VERSION_MAJOR >= 2
-+typedef GDALDataset* gdal_dataset_type;
-+#else
-+typedef OGRDataSource* gdal_dataset_type;
-+#endif
-+
- class ogr_layer_ptr
- {
- public:
-@@ -62,7 +69,7 @@ class ogr_layer_ptr
- is_valid_ = false;
- }
-
-- void layer_by_name(OGRDataSource* const datasource,
-+ void layer_by_name(gdal_dataset_type const datasource,
- std::string const& layer_name)
- {
- free_layer();
-@@ -84,7 +91,7 @@ class ogr_layer_ptr
- #endif
- }
-
-- void layer_by_index(OGRDataSource* const datasource,
-+ void layer_by_index(gdal_dataset_type const datasource,
- int layer_index)
- {
- free_layer();
-@@ -110,7 +117,7 @@ class ogr_layer_ptr
- #endif
- }
-
-- void layer_by_sql(OGRDataSource* const datasource,
-+ void layer_by_sql(gdal_dataset_type const datasource,
- std::string const& layer_sql)
- {
- free_layer();
-@@ -179,7 +186,7 @@ class ogr_layer_ptr
- }
- #endif
-
-- OGRDataSource* datasource_;
-+ gdal_dataset_type datasource_;
- OGRLayer* layer_;
- std::string layer_name_;
- bool owns_layer_;
diff --git a/graphics/mapnik/files/patch-src-build.py b/graphics/mapnik/files/patch-src-build.py
deleted file mode 100644
index e7a238b0e638..000000000000
--- a/graphics/mapnik/files/patch-src-build.py
+++ /dev/null
@@ -1,31 +0,0 @@
---- src/build.py.orig 2012-08-24 01:57:06.000000000 +0400
-+++ src/build.py 2012-09-16 19:38:43.000000000 +0400
-@@ -357,7 +357,11 @@
-
- major, minor, micro = ABI_VERSION
-
-- soFile = "%s.%d.%d.%d" % (os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])), int(major), int(minor), int(micro))
-+ if env['PLATFORM'] == 'FreeBSD':
-+ soFile = "%s.%d.%d" % (os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])), int(major), int(minor))
-+ else:
-+ soFile = "%s.%d.%d.%d" % (os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])), int(major), int(minor), int(micro))
-+
- target = os.path.join(env['MAPNIK_LIB_BASE_DEST'], soFile)
-
- if 'uninstall' not in COMMAND_LINE_TARGETS:
-@@ -372,8 +376,13 @@
-
-
- # Install symlinks
-- target1 = os.path.join(env['MAPNIK_LIB_BASE_DEST'], "%s.%d.%d" % \
-- (os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])),int(major), int(minor)))
-+ if env['PLATFORM'] == 'FreeBSD':
-+ target1 = os.path.join(env['MAPNIK_LIB_BASE_DEST'], "%s.%d" % \
-+ (os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])),int(major)))
-+ else:
-+ target1 = os.path.join(env['MAPNIK_LIB_BASE_DEST'], "%s.%d.%d" % \
-+ (os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])),int(major), int(minor)))
-+
- target2 = os.path.join(env['MAPNIK_LIB_BASE_DEST'], os.path.basename(env.subst(env['MAPNIK_LIB_NAME'])))
- if 'uninstall' not in COMMAND_LINE_TARGETS:
- link1 = env.Command(target1, target, symlink)
diff --git a/graphics/mapnik/files/patch-tests-cpp_tests-conversions_test.cpp b/graphics/mapnik/files/patch-tests-cpp_tests-conversions_test.cpp
deleted file mode 100644
index 5bab40c4d79b..000000000000
--- a/graphics/mapnik/files/patch-tests-cpp_tests-conversions_test.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
---- tests/cpp_tests/conversions_test.cpp.orig 2013-06-30 22:35:29.000000000 +0400
-+++ tests/cpp_tests/conversions_test.cpp 2013-06-30 22:38:32.000000000 +0400
-@@ -166,31 +166,31 @@
- BOOST_TEST_EQ( out, "1e+09" );
- out.clear();
-
-- to_string(out, double(10000000000));
-+ to_string(out, double(10000000000ULL));
- BOOST_TEST_EQ( out, "1e+10" );
- out.clear();
-
-- to_string(out, double(100000000000));
-+ to_string(out, double(100000000000ULL));
- BOOST_TEST_EQ( out, "1e+11" );
- out.clear();
-
-- to_string(out, double(1000000000000));
-+ to_string(out, double(1000000000000ULL));
- BOOST_TEST_EQ( out, "1e+12" );
- out.clear();
-
-- to_string(out, double(10000000000000));
-+ to_string(out, double(10000000000000ULL));
- BOOST_TEST_EQ( out, "1e+13" );
- out.clear();
-
-- to_string(out, double(100000000000000));
-+ to_string(out, double(100000000000000ULL));
- BOOST_TEST_EQ( out, "1e+14" );
- out.clear();
-
-- to_string(out, double(1000000000000005));
-+ to_string(out, double(1000000000000005ULL));
- BOOST_TEST_EQ( out, "1e+15" );
- out.clear();
-
-- to_string(out, double(-1000000000000000));
-+ to_string(out, double(-1000000000000000LL));
- BOOST_TEST_EQ( out, "-1e+15" );
- out.clear();
-
-@@ -210,7 +210,7 @@
- BOOST_TEST_EQ( out, "67.35" );
- out.clear();
-
-- to_string(out, double(1234000000000000));
-+ to_string(out, double(1234000000000000ULL));
- BOOST_TEST_EQ( out, "1.234e+15" );
- out.clear();
-
-@@ -235,16 +235,16 @@
- BOOST_TEST_EQ( out, "-2" );
- out.clear();
-
-- to_string(out, int(2147483647));
-+ to_string(out, int(2147483647ULL));
- BOOST_TEST_EQ( out, "2147483647" );
- out.clear();
-
-- to_string(out, int(-2147483648));
-+ to_string(out, int(-2147483648LL));
- BOOST_TEST_EQ( out, "-2147483648" );
- out.clear();
-
- // unsigned
-- to_string(out, unsigned(4294967295));
-+ to_string(out, unsigned(4294967295ULL));
- BOOST_TEST_EQ( out, "4294967295" );
- out.clear();
-
-@@ -258,7 +258,7 @@
- BOOST_TEST_EQ( out, "-2" );
- out.clear();
-
-- to_string(out,mapnik::value_integer(9223372036854775807));
-+ to_string(out,mapnik::value_integer(9223372036854775807ULL));
- BOOST_TEST_EQ( out, "9223372036854775807" );
- out.clear();
- #else
diff --git a/graphics/mapnik/pkg-plist b/graphics/mapnik/pkg-plist
index 2f34f0b2a6a9..97d5c7f90745 100644
--- a/graphics/mapnik/pkg-plist
+++ b/graphics/mapnik/pkg-plist
@@ -1,7 +1,7 @@
bin/mapnik-config
-bin/mapnik-speed-check
+bin/mapnik-index
+bin/mapnik-render
bin/shapeindex
-bin/upgrade_map_xml.py
include/mapnik/agg/agg_alpha_mask_u8.h
include/mapnik/agg/agg_arc.h
include/mapnik/agg/agg_array.h
@@ -21,7 +21,6 @@ include/mapnik/agg/agg_conv_adaptor_vpgen.h
include/mapnik/agg/agg_conv_bspline.h
include/mapnik/agg/agg_conv_clip_polygon.h
include/mapnik/agg/agg_conv_clip_polyline.h
-include/mapnik/agg/agg_conv_clipper.h
include/mapnik/agg/agg_conv_close_polygon.h
include/mapnik/agg/agg_conv_concat.h
include/mapnik/agg/agg_conv_contour.h
@@ -30,6 +29,7 @@ include/mapnik/agg/agg_conv_dash.h
include/mapnik/agg/agg_conv_gpc.h
include/mapnik/agg/agg_conv_marker.h
include/mapnik/agg/agg_conv_marker_adaptor.h
+include/mapnik/agg/agg_conv_offset.h
include/mapnik/agg/agg_conv_segmentator.h
include/mapnik/agg/agg_conv_shorten_path.h
include/mapnik/agg/agg_conv_smooth_poly1.h
@@ -57,6 +57,7 @@ include/mapnik/agg/agg_path_storage.h
include/mapnik/agg/agg_path_storage_integer.h
include/mapnik/agg/agg_pattern_filters_rgba.h
include/mapnik/agg/agg_pixfmt_amask_adaptor.h
+include/mapnik/agg/agg_pixfmt_base.h
include/mapnik/agg/agg_pixfmt_gray.h
include/mapnik/agg/agg_pixfmt_rgb.h
include/mapnik/agg/agg_pixfmt_rgb_packed.h
@@ -126,36 +127,36 @@ include/mapnik/agg/agg_vertex_sequence.h
include/mapnik/agg/agg_vpgen_clip_polygon.h
include/mapnik/agg/agg_vpgen_clip_polyline.h
include/mapnik/agg/agg_vpgen_segmentator.h
-include/mapnik/agg/clipper.hpp
include/mapnik/agg_helpers.hpp
include/mapnik/agg_pattern_source.hpp
include/mapnik/agg_rasterizer.hpp
+include/mapnik/agg_render_marker.hpp
include/mapnik/agg_renderer.hpp
include/mapnik/attribute.hpp
include/mapnik/attribute_collector.hpp
include/mapnik/attribute_descriptor.hpp
include/mapnik/boolean.hpp
include/mapnik/box2d.hpp
-include/mapnik/building_symbolizer.hpp
-include/mapnik/cairo_context.hpp
-include/mapnik/cairo_renderer.hpp
-include/mapnik/char_info.hpp
+include/mapnik/cairo/cairo_context.hpp
+include/mapnik/cairo/cairo_image_util.hpp
+include/mapnik/cairo/cairo_render_vector.hpp
+include/mapnik/cairo/cairo_renderer.hpp
+include/mapnik/cairo_io.hpp
include/mapnik/color.hpp
include/mapnik/color_factory.hpp
include/mapnik/config.hpp
include/mapnik/config_error.hpp
include/mapnik/coord.hpp
-include/mapnik/coord_array.hpp
include/mapnik/css_color_grammar.hpp
include/mapnik/css_color_grammar_impl.hpp
-include/mapnik/ctrans.hpp
+include/mapnik/csv/csv_grammar.hpp
include/mapnik/datasource.hpp
include/mapnik/datasource_cache.hpp
+include/mapnik/datasource_geometry_type.hpp
include/mapnik/debug.hpp
-include/mapnik/debug_symbolizer.hpp
-include/mapnik/distance.hpp
include/mapnik/ellipsoid.hpp
include/mapnik/enumeration.hpp
+include/mapnik/evaluate_global_attributes.hpp
include/mapnik/expression.hpp
include/mapnik/expression_evaluator.hpp
include/mapnik/expression_grammar.hpp
@@ -164,79 +165,128 @@ include/mapnik/expression_node.hpp
include/mapnik/expression_node_types.hpp
include/mapnik/expression_string.hpp
include/mapnik/factory.hpp
-include/mapnik/fastmath.hpp
include/mapnik/feature.hpp
include/mapnik/feature_factory.hpp
include/mapnik/feature_kv_iterator.hpp
include/mapnik/feature_layer_desc.hpp
include/mapnik/feature_style_processor.hpp
+include/mapnik/feature_style_processor_context.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/feature_type_style.hpp
+include/mapnik/featureset.hpp
include/mapnik/filter_factory.hpp
include/mapnik/filter_featureset.hpp
include/mapnik/font_engine_freetype.hpp
include/mapnik/font_set.hpp
-include/mapnik/font_util.hpp
-include/mapnik/formatting/base.hpp
-include/mapnik/formatting/expression_format.hpp
-include/mapnik/formatting/format.hpp
-include/mapnik/formatting/list.hpp
-include/mapnik/formatting/registry.hpp
-include/mapnik/formatting/text.hpp
-include/mapnik/gamma_method.hpp
+include/mapnik/function_call.hpp
include/mapnik/geom_util.hpp
include/mapnik/geometry.hpp
+include/mapnik/geometry_adapters.hpp
+include/mapnik/geometry_centroid.hpp
+include/mapnik/geometry_correct.hpp
+include/mapnik/geometry_envelope.hpp
+include/mapnik/geometry_envelope_impl.hpp
+include/mapnik/geometry_fusion_adapted.hpp
+include/mapnik/geometry_is_empty.hpp
+include/mapnik/geometry_is_simple.hpp
+include/mapnik/geometry_is_valid.hpp
+include/mapnik/geometry_remove_empty.hpp
+include/mapnik/geometry_reprojection.hpp
+include/mapnik/geometry_reprojection_impl.hpp
+include/mapnik/geometry_strategy.hpp
+include/mapnik/geometry_to_path.hpp
+include/mapnik/geometry_transform.hpp
+include/mapnik/geometry_type.hpp
+include/mapnik/geometry_types.hpp
+include/mapnik/geometry_unique.hpp
include/mapnik/global.hpp
include/mapnik/gradient.hpp
-include/mapnik/graphics.hpp
include/mapnik/grid/grid.hpp
-include/mapnik/grid/grid_marker_helpers.hpp
include/mapnik/grid/grid_pixel.hpp
include/mapnik/grid/grid_pixfmt.hpp
include/mapnik/grid/grid_rasterizer.hpp
+include/mapnik/grid/grid_render_marker.hpp
include/mapnik/grid/grid_renderer.hpp
include/mapnik/grid/grid_renderer_base.hpp
include/mapnik/grid/grid_rendering_buffer.hpp
-include/mapnik/grid/grid_util.hpp
include/mapnik/grid/grid_view.hpp
-include/mapnik/hash_variant.hpp
+include/mapnik/group/group_layout.hpp
+include/mapnik/group/group_layout_manager.hpp
+include/mapnik/group/group_rule.hpp
+include/mapnik/group/group_symbolizer_helper.hpp
+include/mapnik/group/group_symbolizer_properties.hpp
include/mapnik/hextree.hpp
include/mapnik/hit_test_filter.hpp
+include/mapnik/image.hpp
+include/mapnik/image_any.hpp
include/mapnik/image_compositing.hpp
-include/mapnik/image_data.hpp
+include/mapnik/image_copy.hpp
include/mapnik/image_filter.hpp
include/mapnik/image_filter_grammar.hpp
+include/mapnik/image_filter_grammar_impl.hpp
include/mapnik/image_filter_types.hpp
+include/mapnik/image_impl.hpp
+include/mapnik/image_null.hpp
+include/mapnik/image_options.hpp
include/mapnik/image_reader.hpp
include/mapnik/image_scaling.hpp
+include/mapnik/image_scaling_traits.hpp
include/mapnik/image_util.hpp
+include/mapnik/image_util_jpeg.hpp
+include/mapnik/image_util_png.hpp
+include/mapnik/image_util_tiff.hpp
+include/mapnik/image_util_webp.hpp
include/mapnik/image_view.hpp
+include/mapnik/image_view_any.hpp
+include/mapnik/image_view_impl.hpp
+include/mapnik/image_view_null.hpp
include/mapnik/jpeg_io.hpp
+include/mapnik/json/error_handler.hpp
+include/mapnik/json/extract_bounding_box_grammar.hpp
+include/mapnik/json/extract_bounding_box_grammar_impl.hpp
include/mapnik/json/feature_collection_grammar.hpp
-include/mapnik/json/feature_collection_parser.hpp
+include/mapnik/json/feature_collection_grammar_impl.hpp
+include/mapnik/json/feature_generator.hpp
include/mapnik/json/feature_generator_grammar.hpp
+include/mapnik/json/feature_generator_grammar_impl.hpp
include/mapnik/json/feature_grammar.hpp
-include/mapnik/json/geojson_generator.hpp
+include/mapnik/json/feature_grammar_impl.hpp
+include/mapnik/json/feature_parser.hpp
+include/mapnik/json/generic_json.hpp
include/mapnik/json/geometry_generator_grammar.hpp
+include/mapnik/json/geometry_generator_grammar_impl.hpp
include/mapnik/json/geometry_grammar.hpp
+include/mapnik/json/geometry_grammar_impl.hpp
include/mapnik/json/geometry_parser.hpp
+include/mapnik/json/geometry_util.hpp
+include/mapnik/json/positions_grammar.hpp
+include/mapnik/json/positions_grammar_impl.hpp
+include/mapnik/json/properties_generator_grammar.hpp
+include/mapnik/json/properties_generator_grammar_impl.hpp
+include/mapnik/json/symbolizer_grammar.hpp
+include/mapnik/json/topojson_grammar.hpp
+include/mapnik/json/topojson_grammar_impl.hpp
+include/mapnik/json/topojson_utils.hpp
+include/mapnik/json/topology.hpp
+include/mapnik/json/value_converters.hpp
include/mapnik/label_collision_detector.hpp
include/mapnik/layer.hpp
-include/mapnik/line_pattern_symbolizer.hpp
-include/mapnik/line_symbolizer.hpp
include/mapnik/load_map.hpp
+include/mapnik/make_unique.hpp
include/mapnik/map.hpp
include/mapnik/mapped_memory_cache.hpp
include/mapnik/marker.hpp
include/mapnik/marker_cache.hpp
include/mapnik/marker_helpers.hpp
include/mapnik/markers_placement.hpp
-include/mapnik/markers_symbolizer.hpp
-include/mapnik/memory.hpp
+include/mapnik/markers_placements/interior.hpp
+include/mapnik/markers_placements/line.hpp
+include/mapnik/markers_placements/point.hpp
+include/mapnik/markers_placements/vertext_first.hpp
+include/mapnik/markers_placements/vertext_last.hpp
include/mapnik/memory_datasource.hpp
include/mapnik/memory_featureset.hpp
include/mapnik/miniz_png.hpp
-include/mapnik/noncopyable.hpp
include/mapnik/octree.hpp
include/mapnik/offset_converter.hpp
include/mapnik/palette.hpp
@@ -244,18 +294,16 @@ include/mapnik/params.hpp
include/mapnik/params_impl.hpp
include/mapnik/parse_path.hpp
include/mapnik/parse_transform.hpp
+include/mapnik/path.hpp
include/mapnik/path_expression.hpp
include/mapnik/path_expression_grammar.hpp
+include/mapnik/path_expression_grammar_impl.hpp
include/mapnik/pixel_position.hpp
-include/mapnik/placement_finder.hpp
+include/mapnik/pixel_types.hpp
include/mapnik/plugin.hpp
include/mapnik/png_io.hpp
-include/mapnik/point_symbolizer.hpp
-include/mapnik/polygon_clipper.hpp
-include/mapnik/polygon_pattern_symbolizer.hpp
-include/mapnik/polygon_symbolizer.hpp
include/mapnik/pool.hpp
-include/mapnik/processed_text.hpp
+include/mapnik/proj_strategy.hpp
include/mapnik/proj_transform.hpp
include/mapnik/projection.hpp
include/mapnik/ptree_helpers.hpp
@@ -263,17 +311,16 @@ include/mapnik/quad_tree.hpp
include/mapnik/query.hpp
include/mapnik/raster.hpp
include/mapnik/raster_colorizer.hpp
-include/mapnik/raster_symbolizer.hpp
+include/mapnik/renderer_common.hpp
include/mapnik/request.hpp
include/mapnik/rule.hpp
include/mapnik/rule_cache.hpp
+include/mapnik/safe_cast.hpp
include/mapnik/save_map.hpp
include/mapnik/scale_denominator.hpp
include/mapnik/segment.hpp
-include/mapnik/shield_symbolizer.hpp
include/mapnik/simplify.hpp
include/mapnik/simplify_converter.hpp
-include/mapnik/span_image_filter.hpp
include/mapnik/sparsehash/dense_hash_map
include/mapnik/sparsehash/internal/densehashtable.h
include/mapnik/sparsehash/internal/hashtable-common.h
@@ -282,9 +329,12 @@ include/mapnik/sparsehash/internal/sparseconfig.h
include/mapnik/sparsehash/template_util.h
include/mapnik/sparsehash/type_traits.h
include/mapnik/sql_utils.hpp
-include/mapnik/stroke.hpp
+include/mapnik/sse.hpp
+include/mapnik/svg/geometry_svg_generator.hpp
+include/mapnik/svg/geometry_svg_generator_impl.hpp
include/mapnik/svg/svg_converter.hpp
include/mapnik/svg/svg_parser.hpp
+include/mapnik/svg/svg_parser_exception.hpp
include/mapnik/svg/svg_path_adapter.hpp
include/mapnik/svg/svg_path_attributes.hpp
include/mapnik/svg/svg_path_commands.hpp
@@ -295,56 +345,112 @@ include/mapnik/svg/svg_renderer_agg.hpp
include/mapnik/svg/svg_storage.hpp
include/mapnik/svg/svg_transform_grammar.hpp
include/mapnik/symbolizer.hpp
+include/mapnik/symbolizer_base.hpp
+include/mapnik/symbolizer_default_values.hpp
+include/mapnik/symbolizer_dispatch.hpp
+include/mapnik/symbolizer_enumerations.hpp
include/mapnik/symbolizer_hash.hpp
-include/mapnik/symbolizer_helpers.hpp
-include/mapnik/text_path.hpp
-include/mapnik/text_placements/base.hpp
-include/mapnik/text_placements/dummy.hpp
-include/mapnik/text_placements/list.hpp
-include/mapnik/text_placements/registry.hpp
-include/mapnik/text_placements/simple.hpp
-include/mapnik/text_properties.hpp
-include/mapnik/text_symbolizer.hpp
+include/mapnik/symbolizer_keys.hpp
+include/mapnik/symbolizer_utils.hpp
+include/mapnik/text/evaluated_format_properties_ptr.hpp
+include/mapnik/text/face.hpp
+include/mapnik/text/font_feature_settings.hpp
+include/mapnik/text/font_library.hpp
+include/mapnik/text/formatting/base.hpp
+include/mapnik/text/formatting/format.hpp
+include/mapnik/text/formatting/layout.hpp
+include/mapnik/text/formatting/list.hpp
+include/mapnik/text/formatting/registry.hpp
+include/mapnik/text/formatting/text.hpp
+include/mapnik/text/glyph_info.hpp
+include/mapnik/text/glyph_positions.hpp
+include/mapnik/text/harfbuzz_shaper.hpp
+include/mapnik/text/icu_shaper.hpp
+include/mapnik/text/itemizer.hpp
+include/mapnik/text/placement_finder.hpp
+include/mapnik/text/placement_finder_impl.hpp
+include/mapnik/text/placements/base.hpp
+include/mapnik/text/placements/dummy.hpp
+include/mapnik/text/placements/list.hpp
+include/mapnik/text/placements/registry.hpp
+include/mapnik/text/placements/simple.hpp
+include/mapnik/text/properties_util.hpp
+include/mapnik/text/renderer.hpp
+include/mapnik/text/rotation.hpp
+include/mapnik/text/scrptrun.hpp
+include/mapnik/text/symbolizer_helpers.hpp
+include/mapnik/text/text_layout.hpp
+include/mapnik/text/text_line.hpp
+include/mapnik/text/text_properties.hpp
include/mapnik/tiff_io.hpp
include/mapnik/timer.hpp
+include/mapnik/tolerance_iterator.hpp
include/mapnik/transform_expression.hpp
include/mapnik/transform_expression_grammar.hpp
+include/mapnik/transform_expression_grammar_impl.hpp
+include/mapnik/transform_path_adapter.hpp
include/mapnik/transform_processor.hpp
include/mapnik/unicode.hpp
+include/mapnik/util/const_rendering_buffer.hpp
include/mapnik/util/container_adapter.hpp
include/mapnik/util/conversions.hpp
include/mapnik/util/dasharray_parser.hpp
-include/mapnik/util/deepcopy.hpp
+include/mapnik/util/feature_to_geojson.hpp
+include/mapnik/util/featureset_buffer.hpp
+include/mapnik/util/file_io.hpp
include/mapnik/util/fs.hpp
-include/mapnik/util/geometry_svg_generator.hpp
include/mapnik/util/geometry_to_ds_type.hpp
+include/mapnik/util/geometry_to_geojson.hpp
include/mapnik/util/geometry_to_svg.hpp
include/mapnik/util/geometry_to_wkb.hpp
include/mapnik/util/geometry_to_wkt.hpp
-include/mapnik/util/geometry_wkt_generator.hpp
include/mapnik/util/hsl.hpp
+include/mapnik/util/is_clockwise.hpp
+include/mapnik/util/math.hpp
+include/mapnik/util/noncopyable.hpp
include/mapnik/util/path_iterator.hpp
+include/mapnik/util/recursive_wrapper.hpp
+include/mapnik/util/rounding_cast.hpp
+include/mapnik/util/singleton.hpp
+include/mapnik/util/spatial_index.hpp
+include/mapnik/util/spirit_transform_attribute.hpp
+include/mapnik/util/timer.hpp
include/mapnik/util/trim.hpp
-include/mapnik/utils.hpp
+include/mapnik/util/utf_conv_win.hpp
+include/mapnik/util/variant.hpp
+include/mapnik/util/variant_io.hpp
include/mapnik/value.hpp
include/mapnik/value_error.hpp
+include/mapnik/value_hash.hpp
include/mapnik/value_types.hpp
include/mapnik/version.hpp
include/mapnik/vertex.hpp
+include/mapnik/vertex_adapters.hpp
+include/mapnik/vertex_cache.hpp
include/mapnik/vertex_converters.hpp
+include/mapnik/vertex_processor.hpp
include/mapnik/vertex_vector.hpp
+include/mapnik/view_strategy.hpp
+include/mapnik/view_transform.hpp
+include/mapnik/warning_ignore.hpp
include/mapnik/warp.hpp
+include/mapnik/webp_io.hpp
include/mapnik/well_known_srs.hpp
include/mapnik/wkb.hpp
include/mapnik/wkt/wkt_factory.hpp
+include/mapnik/wkt/wkt_generator_grammar.hpp
+include/mapnik/wkt/wkt_generator_grammar_impl.hpp
include/mapnik/wkt/wkt_grammar.hpp
+include/mapnik/wkt/wkt_grammar_impl.hpp
include/mapnik/xml_attribute_cast.hpp
include/mapnik/xml_loader.hpp
include/mapnik/xml_node.hpp
include/mapnik/xml_tree.hpp
+lib/libmapnik-json.a
+lib/libmapnik-wkt.a
lib/libmapnik.so
-lib/libmapnik.so.2
-lib/libmapnik.so.2.2
+lib/libmapnik.so.3.0
+lib/libmapnik.so.3.0.9
lib/mapnik/fonts/DejaVuSans-Bold.ttf
lib/mapnik/fonts/DejaVuSans-BoldOblique.ttf
lib/mapnik/fonts/DejaVuSans-ExtraLight.ttf
@@ -366,19 +472,15 @@ lib/mapnik/fonts/DejaVuSerifCondensed-Bold.ttf
lib/mapnik/fonts/DejaVuSerifCondensed-BoldItalic.ttf
lib/mapnik/fonts/DejaVuSerifCondensed-Italic.ttf
lib/mapnik/fonts/DejaVuSerifCondensed.ttf
-lib/mapnik/fonts/unifont-5.1.20080907.ttf
-%%CSV%%lib/mapnik/input/csv.input
+lib/mapnik/fonts/unifont-8.0.01.ttf
+@comment =====[ Uncomment these after boost 1.60 hits the tree ]=====
+@comment lib/mapnik/input/csv.input
%%GDAL%%lib/mapnik/input/gdal.input
-lib/mapnik/input/geojson.input
+@comment lib/mapnik/input/geojson.input
%%OGR%%lib/mapnik/input/ogr.input
-%%OSM%%lib/mapnik/input/osm.input
+%%PGRASTER%%lib/mapnik/input/pgraster.input
%%POSTGIS%%lib/mapnik/input/postgis.input
-lib/mapnik/input/python.input
lib/mapnik/input/raster.input
lib/mapnik/input/shape.input
%%SQLITE3%%lib/mapnik/input/sqlite.input
-%%PYTHON_SITELIBDIR%%/mapnik/__init__.py
-%%PYTHON_SITELIBDIR%%/mapnik/printing.py
-%%PYTHON_SITELIBDIR%%/mapnik/paths.py
-%%PYTHON_SITELIBDIR%%/mapnik/_mapnik.so
-%%PYTHON_SITELIBDIR%%/mapnik2/__init__.py
+@comment lib/mapnik/input/topojson.input