[mapnik] 13/34: Remove unapplied patches

Jérémy Lal kapouer at moszumanska.debian.org
Fri Oct 24 22:45:33 UTC 2014


This is an automated email from the git hooks/post-receive script.

kapouer pushed a commit to branch master
in repository mapnik.

commit 642a920a9dcf1cc8d87cdb6e276129388fdc6162
Author: Jérémy Lal <kapouer at melix.org>
Date:   Fri Oct 24 11:19:03 2014 +0200

    Remove unapplied patches
---
 debian/patches/1001_ldl.patch                     |   14 -
 debian/patches/1002_no-predefined-terminals.patch | 1383 ---------------------
 debian/patches/2001_ftemplate-depth.patch         |   16 -
 3 files changed, 1413 deletions(-)

diff --git a/debian/patches/1001_ldl.patch b/debian/patches/1001_ldl.patch
deleted file mode 100644
index 3ae31f7..0000000
--- a/debian/patches/1001_ldl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Description: link mapnik against dl
-Author: Jérémy Lal <kapouer at melix.org>
-Forwarded: https://github.com/mapnik/mapnik/pull/1998
-Last-Update: 2013-08-30
---- a/src/build.py
-+++ b/src/build.py
-@@ -106,6 +106,7 @@
-             mapnik_lib_link_flag += ' -Wl,-h,%s' %  mapnik_libname
-     else: # Linux and others
-         mapnik_lib_link_flag += ' -Wl,-rpath-link,. -Wl,-soname,%s' % mapnik_libname
-+	lib_env['LIBS'].append('dl')
- 
- source = Split(
-     """
diff --git a/debian/patches/1002_no-predefined-terminals.patch b/debian/patches/1002_no-predefined-terminals.patch
deleted file mode 100644
index 7ef7480..0000000
--- a/debian/patches/1002_no-predefined-terminals.patch
+++ /dev/null
@@ -1,1383 +0,0 @@
-Description: use BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- Backport of upstream patch to reduce memory usage during compilation
-Origin: https://github.com/mapnik/mapnik/pull/2134
-Reviewed-by: Jérémy Lal <kapouer at melix.org>
-Last-Update: 2014-04-03
-
---- a/SConstruct
-+++ b/SConstruct
-@@ -1619,6 +1619,11 @@
-         debug_defines = ['-DDEBUG', '-DMAPNIK_DEBUG']
-         ndebug_defines = ['-DNDEBUG']
- 
-+        # faster compile
-+        # http://www.boost.org/doc/libs/1_47_0/libs/spirit/doc/html/spirit/what_s_new/spirit_2_5.html#spirit.what_s_new.spirit_2_5.breaking_changes
-+        env.Append(CPPDEFINES = '-DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1')
-+        env.Append(CPPDEFINES = '-DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1')
-+
-         # Enable logging in debug mode (always) and release mode (when specified)
-         if env['DEFAULT_LOG_SEVERITY']:
-             if env['DEFAULT_LOG_SEVERITY'] not in severities:
---- a/src/box2d.cpp
-+++ b/src/box2d.cpp
-@@ -400,10 +400,12 @@
-         // needing to link to libmapnik
-         std::string::const_iterator str_beg = item.begin();
-         std::string::const_iterator str_end = item.end();
-+        boost::spirit::qi::double_type double_;
-+        boost::spirit::ascii::space_type space;
-         bool r = boost::spirit::qi::phrase_parse(str_beg,
-                                                  str_end,
--                                                 boost::spirit::qi::double_,
--                                                 boost::spirit::ascii::space,
-+                                                 double_,
-+                                                 space,
-                                                  d[i]);
-         if (!(r && (str_beg == str_end)))
-         {
---- a/src/color_factory.cpp
-+++ b/src/color_factory.cpp
-@@ -30,10 +30,6 @@
- #include <boost/format.hpp>
- #include <boost/version.hpp>
- 
--// stl
--#include <sstream>
--
--
- namespace mapnik {
- 
- color parse_color(std::string const& str)
-@@ -46,19 +42,18 @@
-                   css_color_grammar<std::string::const_iterator> const& g)
- {
-     color c;
--
-     std::string::const_iterator first = str.begin();
-     std::string::const_iterator last =  str.end();
--    
-+    boost::spirit::ascii::space_type space;
-     // boost 1.41 -> 1.44 compatibility, to be removed in mapnik 2.1 (dane)
- #if BOOST_VERSION >= 104500
-     bool result = boost::spirit::qi::phrase_parse(first, last, g,
--                                                  boost::spirit::ascii::space,
-+                                                  space,
-                                                   c);
- #else
-     mapnik::css css_;
-     bool result = boost::spirit::qi::phrase_parse(first, last, g,
--                                                  boost::spirit::ascii::space, 
-+                                                  space, 
-                                                   css_);
-     c.set_red(css_.r);
-     c.set_green(css_.g);
-@@ -68,9 +63,13 @@
- #endif
- 
-     if (result && (first == last))
-+    {
-         return c;
-+    }
-     else
-+    {
-         throw config_error( "Failed to parse color: \"" + str + "\"" );
-+    }
- }
- 
- }
---- a/src/conversions.cpp
-+++ b/src/conversions.cpp
-@@ -58,12 +58,12 @@
- 
- using namespace boost::spirit;
- 
--BOOST_SPIRIT_AUTO(qi, INTEGER, qi::int_)
-+BOOST_SPIRIT_AUTO(qi, INTEGER, qi::int_type())
- #ifdef BIGINT
--BOOST_SPIRIT_AUTO(qi, LONGLONG, qi::long_long)
-+BOOST_SPIRIT_AUTO(qi, LONGLONG, qi::long_long_type())
- #endif
--BOOST_SPIRIT_AUTO(qi, FLOAT, qi::float_)
--BOOST_SPIRIT_AUTO(qi, DOUBLE, qi::double_)
-+BOOST_SPIRIT_AUTO(qi, FLOAT, qi::float_type())
-+BOOST_SPIRIT_AUTO(qi, DOUBLE, qi::double_type())
- 
- struct bool_symbols : qi::symbols<char,bool>
- {
-@@ -82,75 +82,85 @@
- 
- bool string2bool(const char * iter, const char * end, bool & result)
- {
--    using boost::spirit::qi::no_case;
--    bool r = qi::phrase_parse(iter,end, no_case[bool_symbols()] ,ascii::space,result);
-+    boost::spirit::qi::no_case_type no_case;
-+    ascii::space_type space;
-+    bool r = qi::phrase_parse(iter,end,no_case[bool_symbols()],space,result);
-     return r && (iter == end);
- }
- 
- bool string2bool(std::string const& value, bool & result)
- {
--    using boost::spirit::qi::no_case;
-+    boost::spirit::qi::no_case_type no_case;
-+    ascii::space_type space;
-     std::string::const_iterator str_beg = value.begin();
-     std::string::const_iterator str_end = value.end();
--    bool r = qi::phrase_parse(str_beg,str_end,no_case[bool_symbols()],ascii::space,result);
-+    bool r = qi::phrase_parse(str_beg,str_end,no_case[bool_symbols()],space,result);
-     return r && (str_beg == str_end);
- }
- 
- bool string2int(const char * iter, const char * end, int & result)
- {
--    bool r = qi::phrase_parse(iter,end,INTEGER,ascii::space,result);
-+    ascii::space_type space;
-+    bool r = qi::phrase_parse(iter,end,INTEGER,space,result);
-     return r && (iter == end);
- }
- 
- bool string2int(std::string const& value, int & result)
- {
-+    ascii::space_type space;
-     std::string::const_iterator str_beg = value.begin();
-     std::string::const_iterator str_end = value.end();
--    bool r = qi::phrase_parse(str_beg,str_end,INTEGER,ascii::space,result);
-+    bool r = qi::phrase_parse(str_beg,str_end,INTEGER,space,result);
-     return r && (str_beg == str_end);
- }
- 
- #ifdef BIGINT
- bool string2int(const char * iter, const char * end, mapnik::value_integer & result)
- {
--    bool r = qi::phrase_parse(iter,end,LONGLONG,ascii::space,result);
-+    ascii::space_type space;
-+    bool r = qi::phrase_parse(iter,end,LONGLONG,space,result);
-     return r && (iter == end);
- }
- 
- bool string2int(std::string const& value, mapnik::value_integer & result)
- {
-+    ascii::space_type space;
-     std::string::const_iterator str_beg = value.begin();
-     std::string::const_iterator str_end = value.end();
--    bool r = qi::phrase_parse(str_beg,str_end,LONGLONG,ascii::space,result);
-+    bool r = qi::phrase_parse(str_beg,str_end,LONGLONG,space,result);
-     return r && (str_beg == str_end);
- }
- #endif
- 
- bool string2double(std::string const& value, double & result)
- {
-+    ascii::space_type space;
-     std::string::const_iterator str_beg = value.begin();
-     std::string::const_iterator str_end = value.end();
--    bool r = qi::phrase_parse(str_beg,str_end,DOUBLE,ascii::space,result);
-+    bool r = qi::phrase_parse(str_beg,str_end,DOUBLE,space,result);
-     return r && (str_beg == str_end);
- }
- 
- bool string2double(const char * iter, const char * end, double & result)
- {
--    bool r = qi::phrase_parse(iter,end,DOUBLE,ascii::space,result);
-+    ascii::space_type space;
-+    bool r = qi::phrase_parse(iter,end,DOUBLE,space,result);
-     return r && (iter == end);
- }
- 
- bool string2float(std::string const& value, float & result)
- {
-+    ascii::space_type space;
-     std::string::const_iterator str_beg = value.begin();
-     std::string::const_iterator str_end = value.end();
--    bool r = qi::phrase_parse(str_beg,str_end,FLOAT,ascii::space,result);
-+    bool r = qi::phrase_parse(str_beg,str_end,FLOAT,space,result);
-     return r && (str_beg == str_end);
- }
- 
- bool string2float(const char * iter, const char * end, float & result)
- {
--    bool r = qi::phrase_parse(iter,end,FLOAT,ascii::space,result);
-+    ascii::space_type space;
-+    bool r = qi::phrase_parse(iter,end,FLOAT,space,result);
-     return r && (iter == end);
- }
- 
---- a/src/expression.cpp
-+++ b/src/expression.cpp
-@@ -45,9 +45,10 @@
-                                 mapnik::expression_grammar<std::string::const_iterator> const& g)
- {
-     expr_node node;
-+    boost::spirit::standard_wide::space_type space;
-     std::string::const_iterator itr = str.begin();
-     std::string::const_iterator end = str.end();
--    bool r = boost::spirit::qi::phrase_parse(itr, end, g, boost::spirit::standard_wide::space, node);
-+    bool r = boost::spirit::qi::phrase_parse(itr, end, g, space, node);
-     if (r && itr == end)
-     {
-         return boost::make_shared<expr_node>(node);
---- a/src/feature_style_processor.cpp
-+++ b/src/feature_style_processor.cpp
-@@ -21,6 +21,7 @@
-  *****************************************************************************/
- 
- // mapnik
-+
- #include <mapnik/feature_style_processor_impl.hpp>
- #include <mapnik/agg_renderer.hpp>
- #include <mapnik/graphics.hpp>
---- a/src/image_filter_grammar.cpp
-+++ b/src/image_filter_grammar.cpp
-@@ -38,28 +38,26 @@
- image_filter_grammar<Iterator,ContType>::image_filter_grammar()
-     : image_filter_grammar::base_type(start)
- {
--    using qi::lit;
--    using qi::_val;
--    using qi::_1;
--    using qi::_a;
--    using qi::_b;
--    using qi::_c;
--    using qi::_d;
--    using qi::_e;
--    using qi::_f;
--    using qi::_g;
--    using qi::_h;
--    using qi::_r1;
--    using qi::eps;
--    using qi::char_;
--    using qi::lexeme;
--    using qi::double_;
--    using boost::spirit::ascii::string;
-+    qi::lit_type lit;
-+    qi::_val_type _val;
-+    qi::_1_type _1;
-+    qi::_a_type _a;
-+    qi::_b_type _b;
-+    qi::_c_type _c;
-+    qi::_d_type _d;
-+    qi::_e_type _e;
-+    qi::_f_type _f;
-+    qi::_g_type _g;
-+    qi::_h_type _h;
-+    qi::_r1_type _r1;
-+    qi::eps_type eps;
-+    qi::char_type char_;
-+    qi::double_type double_;
-     using phoenix::push_back;
-     using phoenix::construct;
-     using phoenix::at_c;
- #if BOOST_VERSION >= 104700
--    using qi::no_skip;
-+    qi::no_skip_type no_skip;
-     start = -(filter % no_skip[*char_(", ")])
-         ;
- #else
---- a/src/image_filter_types.cpp
-+++ b/src/image_filter_types.cpp
-@@ -58,7 +58,7 @@
- 
- bool generate_image_filters(std::back_insert_iterator<std::string>& sink, std::vector<filter_type> const& filters)
- {
--    using boost::spirit::karma::stream;
-+    boost::spirit::karma::stream_type stream;
-     using boost::spirit::karma::generate;
-     bool r = generate(sink, stream % ' ', filters);
-     return r;
-@@ -70,9 +70,10 @@
-     std::string::const_iterator end = filters.end();
-     mapnik::image_filter_grammar<std::string::const_iterator,
-                                  std::vector<mapnik::filter::filter_type> > filter_grammar;
-+    boost::spirit::qi::ascii::space_type space;
-     bool r = boost::spirit::qi::phrase_parse(itr,end,
-                                              filter_grammar,
--                                             boost::spirit::qi::ascii::space,
-+                                             space,
-                                              image_filters);
-     return r && itr==end;
- }
---- a/src/json/feature_collection_parser.cpp
-+++ b/src/json/feature_collection_parser.cpp
-@@ -55,7 +55,8 @@
-     {
- #if BOOST_VERSION >= 104700
-         using namespace boost::spirit;
--        return qi::phrase_parse(first, last, *grammar_, standard_wide::space, features);
-+        standard_wide::space_type space;
-+        return qi::phrase_parse(first, last, *grammar_, space, features);
- #else
-         std::ostringstream s;
-         s << BOOST_VERSION/100000 << "." << BOOST_VERSION/100 % 1000  << "." << BOOST_VERSION % 100;
---- a/src/json/feature_grammar.cpp
-+++ b/src/json/feature_grammar.cpp
-@@ -37,30 +37,26 @@
-     : feature_grammar::base_type(feature,"feature"),
-       put_property_(put_property(tr))
- {
--    using qi::lit;
--    using qi::long_long;
--    using qi::double_;
-+    qi::lit_type lit;
-+    qi::long_long_type long_long;
-+    qi::double_type double_;
- #if BOOST_VERSION > 104200
--    using qi::no_skip;
-+    qi::no_skip_type no_skip;
- #else
--    using qi::lexeme;
-+    qi::lexeme_type lexeme;
- #endif
--    using standard_wide::char_;
--    using qi::_val;
--    using qi::_1;
--    using qi::_2;
--    using qi::_3;
--    using qi::_4;
--    using qi::_a;
--    using qi::_b;
--    using qi::_r1;
--    using qi::_r2;
-+    standard_wide::char_type char_;
-+    qi::_val_type _val;
-+    qi::_1_type _1;
-+    qi::_2_type _2;
-+    qi::_3_type _3;
-+    qi::_4_type _4;
-+    qi::_a_type _a;
-+    qi::_r1_type _r1;
-+    qi::eps_type eps;
-+
-     using qi::fail;
-     using qi::on_error;
--    using qi::_pass;
--    using qi::eps;
--    using qi::raw;
--
-     using phoenix::new_;
-     using phoenix::push_back;
-     using phoenix::construct;
---- a/src/json/geometry_grammar.cpp
-+++ b/src/json/geometry_grammar.cpp
-@@ -41,20 +41,18 @@
-     : geometry_grammar::base_type(geometry,"geometry")
- {
- 
--    using qi::lit;
--    using qi::int_;
--    using qi::double_;
--    using qi::_val;
--    using qi::_1;
--    using qi::_2;
--    using qi::_3;
--    using qi::_4;
--    using qi::_a;
--    using qi::_b;
--    using qi::_r1;
--    using qi::_r2;
--    using qi::eps;
--    using qi::_pass;
-+    qi::lit_type lit;
-+    qi::int_type int_;
-+    qi::double_type double_;
-+    qi::_1_type _1;
-+    qi::_2_type _2;
-+    qi::_3_type _3;
-+    qi::_4_type _4;
-+    qi::_a_type _a;
-+    qi::_r1_type _r1;
-+    qi::_r2_type _r2;
-+    qi::eps_type eps;
-+    qi::_pass_type _pass;
-     using qi::fail;
-     using qi::on_error;
-     using boost::phoenix::new_;
---- a/src/json/geometry_parser.cpp
-+++ b/src/json/geometry_parser.cpp
-@@ -50,7 +50,8 @@
- {
- #if BOOST_VERSION >= 104700
-     using namespace boost::spirit;
--    return qi::phrase_parse(first, last, (*grammar_)(boost::phoenix::ref(path)), standard_wide::space);
-+    standard_wide::space_type space;
-+    return qi::phrase_parse(first, last, (*grammar_)(boost::phoenix::ref(path)), space);
- #else
-     std::ostringstream s;
-     s << BOOST_VERSION/100000 << "." << BOOST_VERSION/100 % 1000  << "." << BOOST_VERSION % 100;
---- a/src/load_map.cpp
-+++ b/src/load_map.cpp
-@@ -451,9 +451,10 @@
-             std::string filter_str = *direct_filters;
-             std::string::const_iterator itr = filter_str.begin();
-             std::string::const_iterator end = filter_str.end();
-+            boost::spirit::qi::ascii::space_type space;
-             bool result = boost::spirit::qi::phrase_parse(itr,end,
-                                                           sty.get_tree().image_filters_grammar,
--                                                          boost::spirit::qi::ascii::space,
-+                                                          space,
-                                                           style.direct_image_filters());
-             if (!result || itr!=end)
-             {
---- a/src/parse_path.cpp
-+++ b/src/parse_path.cpp
-@@ -48,11 +48,11 @@
- path_expression_ptr parse_path(std::string const& str,
-                                path_expression_grammar<std::string::const_iterator> const& g)
- {
--    path_expression path;  
--    
-+    path_expression path;
-+    boost::spirit::standard_wide::space_type space;
-     std::string::const_iterator itr = str.begin();
-     std::string::const_iterator end = str.end();
--    bool r = qi::phrase_parse(itr, end, g, boost::spirit::standard_wide::space, path);
-+    bool r = qi::phrase_parse(itr, end, g, space, path);
-     if (r  && itr == end)
-     {
-         return boost::make_shared<path_expression>(path); //path;
---- a/src/path_expression_grammar.cpp
-+++ b/src/path_expression_grammar.cpp
-@@ -36,13 +36,13 @@
- path_expression_grammar<Iterator>::path_expression_grammar()
-     : path_expression_grammar::base_type(expr)
- {
--    using boost::phoenix::construct;
--    using standard_wide::char_;
--    using qi::_1;
--    using qi::_val;
--    using qi::lit;
--    using qi::lexeme;
-+    standard_wide::char_type char_;
-+    qi::_1_type _1;
-+    qi::_val_type _val;
-+    qi::lit_type lit;
-+    qi::lexeme_type lexeme;
-     using phoenix::push_back;
-+    using boost::phoenix::construct;
-     
-     expr =
-         * (
---- a/src/svg/output/svg_generator.cpp
-+++ b/src/svg/output/svg_generator.cpp
-@@ -41,6 +41,7 @@
-     template <typename OutputIterator>
-     void svg_generator<OutputIterator>::generate_header()
-     {
-+        karma::lit_type lit;
-         karma::generate(output_iterator_, lit("<?xml version=\"1.0\" standalone=\"no\"?>\n"));
-         karma::generate(output_iterator_, lit("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"));
-     }
-@@ -49,12 +50,14 @@
-     void svg_generator<OutputIterator>::generate_opening_root(root_output_attributes const& root_attributes)
-     {
-         root_attributes_grammar attributes_grammar;
-+        karma::lit_type lit;
-         karma::generate(output_iterator_, lit("<svg ") << attributes_grammar << lit(">\n"), root_attributes);
-     }
- 
-     template <typename OutputIterator>
-     void svg_generator<OutputIterator>::generate_closing_root()
-     {
-+        karma::lit_type lit;
-         karma::generate(output_iterator_, lit("</svg>"));
-     }
- 
-@@ -62,6 +65,7 @@
-     void svg_generator<OutputIterator>::generate_rect(rect_output_attributes const& rect_attributes)
-     {
-         rect_attributes_grammar attributes_grammar;
-+        karma::lit_type lit;
-         karma::generate(output_iterator_, lit("<rect ") << attributes_grammar << lit("/>\n"), rect_attributes);
-     }
- 
---- a/src/svg/svg_parser.cpp
-+++ b/src/svg/svg_parser.cpp
-@@ -81,10 +81,12 @@
-     key_value_sequence_ordered()
-         : key_value_sequence_ordered::base_type(query)
-     {
--        query =  pair >> *( qi::lit(';') >> pair);
-+        qi::lit_type lit;
-+        qi::char_type char_;
-+        query =  pair >> *( lit(';') >> pair);
-         pair  =  key >> -(':' >> value);
--        key   =  qi::char_("a-zA-Z_") >> *qi::char_("a-zA-Z_0-9-");
--        value = +(qi::char_ - qi::lit(';'));
-+        key   =  char_("a-zA-Z_") >> *char_("a-zA-Z_0-9-");
-+        value = +(char_ - lit(';'));
-     }
- 
-     qi::rule<Iterator, pairs_type(), SkipType> query;
-@@ -109,6 +111,7 @@
- double parse_double(const char* str)
- {
-     using namespace boost::spirit::qi;
-+    qi::double_type double_;
-     double val = 0.0;
-     parse(str, str + std::strlen(str),double_,val);
-     return val;
-@@ -122,7 +125,9 @@
- {
-     using namespace boost::spirit::qi;
-     using boost::phoenix::ref;
--    using qi::_1;
-+    qi::_1_type _1;
-+    qi::double_type double_;
-+    qi::char_type char_;
- 
-     double val = 0.0;
-     char unit='\0';
---- a/src/transform_expression_grammar.cpp
-+++ b/src/transform_expression_grammar.cpp
-@@ -39,14 +39,17 @@
-         : transform_expression_grammar::base_type(start)
- {
-     using boost::phoenix::construct;
--    using qi::_a; using qi::_1; using qi::_4;
--    using qi::_b; using qi::_2; using qi::_5;
--    using qi::_c; using qi::_3; using qi::_6;
--    using qi::_val;
--    using qi::char_;
--    using qi::double_;
--    using qi::lit;
--    using qi::no_case;
-+    qi::_1_type _1;
-+    qi::_4_type _4;
-+    qi::_2_type _2;
-+    qi::_5_type _5;
-+    qi::_3_type _3;
-+    qi::_6_type _6;
-+    qi::_val_type _val;
-+    qi::char_type char_;
-+    qi::double_type double_;
-+    qi::lit_type lit;
-+    qi::no_case_type no_case;
- 
-     // [http://www.w3.org/TR/SVG/coords.html#TransformAttribute]
- 
-@@ -56,10 +59,10 @@
-     // separated by whitespace and/or a comma.
- 
- #if BOOST_VERSION > 104200
--    using qi::no_skip;
-+    qi::no_skip_type no_skip;
-     start = transform_ % no_skip[char_(", ")] ;
- #else
--    using qi::lexeme;
-+    qi::lexeme_type lexeme;
-     start = transform_ % lexeme[char_(", ")] ;
- #endif
- 
---- a/src/wkt/wkt_factory.cpp
-+++ b/src/wkt/wkt_factory.cpp
-@@ -44,9 +44,10 @@
- bool wkt_parser::parse(std::string const& wkt, boost::ptr_vector<geometry_type> & paths)
- {
-     using namespace boost::spirit;
-+    ascii::space_type space;
-     iterator_type first = wkt.begin();
-     iterator_type last =  wkt.end();
--    return qi::phrase_parse(first, last, *grammar_, ascii::space, paths);
-+    return qi::phrase_parse(first, last, *grammar_, space, paths);
- }
- #endif
- 
---- a/src/wkt/wkt_generator.cpp
-+++ b/src/wkt/wkt_generator.cpp
-@@ -58,35 +58,35 @@
- wkt_generator<OutputIterator, Geometry>::wkt_generator(bool single)
-     : wkt_generator::base_type(wkt)
- {
--    using boost::spirit::karma::uint_;
--    using boost::spirit::karma::_val;
--    using boost::spirit::karma::_1;
--    using boost::spirit::karma::lit;
--    using boost::spirit::karma::_a;
--    using boost::spirit::karma::_b;
--    using boost::spirit::karma::_c;
--    using boost::spirit::karma::_r1;
--    using boost::spirit::karma::eps;
--    using boost::spirit::karma::string;
-+    boost::spirit::karma::uint_type uint_;
-+    boost::spirit::karma::_val_type _val;
-+    boost::spirit::karma::_1_type _1;
-+    boost::spirit::karma::lit_type lit;
-+    boost::spirit::karma::_a_type _a;
-+    boost::spirit::karma::_b_type _b;
-+    boost::spirit::karma::_c_type _c;
-+    boost::spirit::karma::_r1_type _r1;
-+    boost::spirit::karma::eps_type eps;
-+    boost::spirit::karma::string_type kstring;
- 
-     wkt = point | linestring | polygon
-         ;
- 
-     point = &uint_(mapnik::Point)[_1 = _type(_val)]
--        << string[ phoenix::if_ (single) [_1 = "Point("]
-+        << kstring[ phoenix::if_ (single) [_1 = "Point("]
-                    .else_[_1 = "("]]
-         << point_coord [_1 = _first(_val)] << lit(')')
-         ;
- 
-     linestring = &uint_(mapnik::LineString)[_1 = _type(_val)]
--        << string[ phoenix::if_ (single) [_1 = "LineString("]
-+        << kstring[ phoenix::if_ (single) [_1 = "LineString("]
-                    .else_[_1 = "("]]
-         << coords
-         << lit(')')
-         ;
- 
-     polygon = &uint_(mapnik::Polygon)[_1 = _type(_val)]
--        << string[ phoenix::if_ (single) [_1 = "Polygon("]
-+        << kstring[ phoenix::if_ (single) [_1 = "Polygon("]
-                    .else_[_1 = "("]]
-         << coords2
-         << lit("))")
-@@ -97,7 +97,7 @@
- 
-     polygon_coord %= ( &uint_(mapnik::SEG_MOVETO)
-                        << eps[_r1 += 1][_a  = _x(_val)][ _b = _y(_val)]
--                       << string[ if_ (_r1 > 1) [_1 = "),("]
-+                       << kstring[ if_ (_r1 > 1) [_1 = "),("]
-                                   .else_[_1 = "("]]
-                        |
-                        &uint_(mapnik::SEG_LINETO)
-@@ -119,11 +119,11 @@
- wkt_multi_generator<OutputIterator, GeometryContainer>::wkt_multi_generator()
-     : wkt_multi_generator::base_type(wkt)
- {
--    using boost::spirit::karma::lit;
--    using boost::spirit::karma::eps;
--    using boost::spirit::karma::_val;
--    using boost::spirit::karma::_1;
--    using boost::spirit::karma::_a;
-+    boost::spirit::karma::lit_type lit;
-+    boost::spirit::karma::eps_type eps;
-+    boost::spirit::karma::_val_type _val;
-+    boost::spirit::karma::_1_type _1;
-+    boost::spirit::karma::_a_type _a;
- 
-     geometry_types.add
-         (mapnik::Point,"Point")
---- a/include/mapnik/css_color_grammar.hpp
-+++ b/include/mapnik/css_color_grammar.hpp
-@@ -453,13 +453,13 @@
-         : css_color_grammar::base_type(css_color)
- 
-     {
--        using qi::lit;
--        using qi::_val;
--        using qi::double_;
--        using qi::_1;
--        using qi::_a;
--        using qi::_b;
--        using qi::_c;
-+        qi::lit_type lit;
-+        qi::_val_type _val;
-+        qi::double_type double_;
-+        qi::_1_type _1;
-+        qi::_a_type _a;
-+        qi::_b_type _b;
-+        qi::_c_type _c;
-         using ascii::no_case;
-         using phoenix::at_c;
- 
---- a/include/mapnik/css_color_grammar_impl.hpp
-+++ b/include/mapnik/css_color_grammar_impl.hpp
-@@ -38,14 +38,14 @@
-     : css_color_grammar::base_type(css_color)
- 
- {
--    using qi::lit;
--    using qi::_val;
--    using qi::double_;
--    using qi::_1;
--    using qi::_a;
--    using qi::_b;
--    using qi::_c;
--    using ascii::no_case;
-+    qi::lit_type lit;
-+    qi::_val_type _val;
-+    qi::double_type double_;
-+    qi::_1_type _1;
-+    qi::_a_type _a;
-+    qi::_b_type _b;
-+    qi::_c_type _c;
-+    ascii::no_case_type no_case;
-     using phoenix::at_c;
- 
-     css_color %= rgba_color
---- a/include/mapnik/expression_grammar_impl.hpp
-+++ b/include/mapnik/expression_grammar_impl.hpp
-@@ -72,21 +72,20 @@
-       regex_replace_(regex_replace_impl(tr))
- {
-     using boost::phoenix::construct;
--    using qi::_1;
--    using qi::_a;
--    using qi::_b;
--    using qi::_r1;
-+    qi::_1_type _1;
-+    qi::_a_type _a;
-+    qi::_b_type _b;
-+    qi::_r1_type _r1;
- #if BOOST_VERSION > 104200
--    using qi::no_skip;
-+    qi::no_skip_type no_skip;
- #endif
--    using qi::lexeme;
--    using qi::_val;
--    using qi::lit;
--    using qi::double_;
--    using qi::hex;
--    using qi::omit;
--    using standard_wide::char_;
--    using standard_wide::no_case;
-+    qi::_val_type _val;
-+    qi::lit_type lit;
-+    qi::double_type double_;
-+    qi::hex_type hex;
-+    qi::omit_type omit;
-+    standard_wide::char_type char_;
-+    standard_wide::no_case_type no_case;
- 
-     expr = logical_expr.alias();
- 
---- a/include/mapnik/json/feature_collection_grammar.hpp
-+++ b/include/mapnik/json/feature_collection_grammar.hpp
-@@ -42,14 +42,14 @@
- struct generate_id
- {
-     typedef int result_type;
--    
-+
-     generate_id(int start)
-         : id_(start) {}
--    
-+
-     int operator() () const
-     {
-         return id_++;
--    }    
-+    }
-     mutable int id_;
- };
- 
-@@ -63,12 +63,14 @@
-           feature_g(tr),
-           generate_id_(1)
-     {
--        using qi::lit;
--        using qi::eps;
--        using qi::_a;
--        using qi::_b;
--        using qi::_val;
--        using qi::_r1;
-+        qi::lit_type lit;
-+        qi::eps_type eps;
-+        qi::_4_type _4;
-+        qi::_3_type _2;
-+        qi::_2_type _3;
-+        qi::_a_type _a;
-+        qi::_val_type _val;
-+        qi::_r1_type _r1;
-         using phoenix::push_back;
-         using phoenix::construct;
-         using phoenix::new_;
-@@ -76,7 +78,7 @@
- 
-         feature_collection = lit('{') >> (type | features) % lit(",") >> lit('}')
-             ;
--        
-+
-         type = lit("\"type\"") > lit(":") > lit("\"FeatureCollection\"")
-             ;
- 
-@@ -86,29 +88,29 @@
-             > -(feature(_val) % lit(','))
-             > lit(']')
-             ;
--        
-+
-         feature = eps[_a = phoenix::construct<mapnik::feature_ptr>(new_<mapnik::feature_impl>(ctx_,generate_id_()))]
-             >> feature_g(*_a)[push_back(_r1,_a)]
-             ;
--        
-+
-         type.name("type");
-         features.name("features");
-         feature.name("feature");
-         feature_g.name("feature-grammar");
--        
-+
-         qi::on_error<qi::fail>
-             (
-                 feature_collection
-                 , std::clog
-                 << phoenix::val("Error parsing GeoJSON ")
--                << qi::_4                       
-+                << _4
-                 << phoenix::val(" here: \"")
--                << construct<std::string>(qi::_3, qi::_2) 
-+                << construct<std::string>(_3, _2)
-                 << phoenix::val("\"")
-                 << std::endl
-                 );
-     }
--    
-+
-     context_ptr ctx_;
-     qi::rule<Iterator, std::vector<feature_ptr>(), space_type> feature_collection; // START
-     qi::rule<Iterator, space_type> type;
---- a/include/mapnik/json/feature_generator_grammar.hpp
-+++ b/include/mapnik/json/feature_generator_grammar.hpp
-@@ -146,8 +146,11 @@
-     escaped_string()
-         : escaped_string::base_type(esc_str)
-     {
--        using boost::spirit::karma::maxwidth;
--        using boost::spirit::karma::right_align;
-+        karma::lit_type lit;
-+        karma::_r1_type _r1;
-+        karma::hex_type hex;
-+        karma::right_align_type right_align;
-+        karma::print_type kprint;
- 
-         esc_char.add
-             ('"', "\\\"")
-@@ -159,11 +162,11 @@
-             ('\t', "\\t")
-             ;
- 
--        esc_str =   karma::lit(karma::_r1)
-+        esc_str =   lit(_r1)
-             << *(esc_char
--                 | karma::print
--                 | "\\u" << right_align(4,karma::lit('0'))[karma::hex])
--            <<  karma::lit(karma::_r1)
-+                 | kprint
-+                 | "\\u" << right_align(4,lit('0'))[hex])
-+            <<  lit(_r1)
-             ;
-     }
- 
-@@ -184,17 +187,15 @@
-         , quote_("\"")
- 
-     {
--        using boost::spirit::karma::lit;
--        using boost::spirit::karma::uint_;
--        using boost::spirit::karma::bool_;
--        //using boost::spirit::karma::int_;
--        //using boost::spirit::karma::long_long;
--        using boost::spirit::karma::double_;
--        using boost::spirit::karma::_val;
--        using boost::spirit::karma::_1;
--        using boost::spirit::karma::_r1;
--        using boost::spirit::karma::string;
--        using boost::spirit::karma::eps;
-+        boost::spirit::karma::lit_type lit;
-+        boost::spirit::karma::uint_type uint_;
-+        boost::spirit::karma::bool_type bool_;
-+        boost::spirit::karma::double_type double_;
-+        boost::spirit::karma::_val_type _val;
-+        boost::spirit::karma::_1_type _1;
-+        boost::spirit::karma::_r1_type _r1;
-+        boost::spirit::karma::string_type kstring;
-+        boost::spirit::karma::eps_type eps;
- 
-         feature = lit("{\"type\":\"Feature\",\"id\":")
-             << uint_[_1 = id_(_val)]
-@@ -209,7 +210,7 @@
-             ;
- 
-         pair = lit('"')
--            << string[_1 = phoenix::at_c<0>(_val)] << lit('"')
-+            << kstring[_1 = phoenix::at_c<0>(_val)] << lit('"')
-             << lit(':')
-             << value(phoenix::at_c<1>(_val))
-             ;
-@@ -217,7 +218,7 @@
-         value = (value_null_| bool_ | int__ | double_ | ustring)[_1 = value_base_(_r1)]
-             ;
- 
--        value_null_ = string[_1 = "null"]
-+        value_null_ = kstring[_1 = "null"]
-             ;
- 
-         ustring = escaped_string_(quote_.c_str())[_1 = utf8_(_val)]
---- a/include/mapnik/json/geometry_generator_grammar.hpp
-+++ b/include/mapnik/json/geometry_generator_grammar.hpp
-@@ -152,13 +152,14 @@
-     geometry_generator_grammar()
-         : geometry_generator_grammar::base_type(coordinates)
-     {
--        using boost::spirit::karma::uint_;
--        using boost::spirit::karma::_val;
--        using boost::spirit::karma::_1;
--        using boost::spirit::karma::lit;
--        using boost::spirit::karma::_a;
--        using boost::spirit::karma::_r1;
--        using boost::spirit::karma::eps;
-+        boost::spirit::karma::uint_type uint_;
-+        boost::spirit::karma::_val_type _val;
-+        boost::spirit::karma::_1_type _1;
-+        boost::spirit::karma::lit_type lit;
-+        boost::spirit::karma::_a_type _a;
-+        boost::spirit::karma::_r1_type _r1;
-+        boost::spirit::karma::eps_type eps;
-+        boost::spirit::karma::string_type kstring;
- 
-         coordinates =  point | linestring | polygon
-             ;
-@@ -186,7 +187,7 @@
-             ;
- 
-         polygon_coord %= ( &uint_(mapnik::SEG_MOVETO) << eps[_r1 += 1]
--                           << karma::string[ if_ (_r1 > 1) [_1 = "],["]
-+                           << kstring[ if_ (_r1 > 1) [_1 = "],["]
-                                       .else_[_1 = '[' ]] | &uint_ << lit(','))
-             << lit('[') << coord_type
-             << lit(',')
-@@ -229,12 +230,13 @@
-     multi_geometry_generator_grammar()
-         : multi_geometry_generator_grammar::base_type(start)
-     {
--        using boost::spirit::karma::lit;
--        using boost::spirit::karma::eps;
--        using boost::spirit::karma::_val;
--        using boost::spirit::karma::_1;
--        using boost::spirit::karma::_a;
--        using boost::spirit::karma::_r1;
-+        boost::spirit::karma::_val_type _val;
-+        boost::spirit::karma::_1_type _1;
-+        boost::spirit::karma::lit_type lit;
-+        boost::spirit::karma::_a_type _a;
-+        boost::spirit::karma::_r1_type _r1;
-+        boost::spirit::karma::eps_type eps;
-+        boost::spirit::karma::string_type kstring;
- 
-         geometry_types.add
-             (mapnik::Point,"\"Point\"")
-@@ -258,9 +260,9 @@
-         geometry = (lit("{\"type\":")
-                     << geometry_types[_1 = phoenix::at_c<0>(_a)][_a = _multi_type(_val)]
-                     << lit(",\"coordinates\":")
--                    << karma::string[ if_ (phoenix::at_c<0>(_a) > 3) [_1 = '[']]
-+                    << kstring[ if_ (phoenix::at_c<0>(_a) > 3) [_1 = '[']]
-                     << coordinates
--                    << karma::string[ if_ (phoenix::at_c<0>(_a) > 3) [_1 = ']']]
-+                    << kstring[ if_ (phoenix::at_c<0>(_a) > 3) [_1 = ']']]
-                     << lit('}')) | lit("null")
-             ;
- 
---- a/include/mapnik/svg/output/svg_generator.hpp
-+++ b/include/mapnik/svg/output/svg_generator.hpp
-@@ -23,6 +23,14 @@
- #ifndef MAPNIK_SVG_GENERATOR_HPP
- #define MAPNIK_SVG_GENERATOR_HPP
- 
-+// FIXME: workaround incompatibility of karma with -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1
-+/*
-+boost/spirit/repository/home/karma/directive/confix.hpp:49:23: error: no member named
-+      'confix' in namespace 'boost::spirit::repository'
-+    using repository::confix;
-+*/
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-+
- // mapnik
- #include <mapnik/ctrans.hpp>
- #include <mapnik/color.hpp>
-@@ -60,6 +68,7 @@
-         template <typename PathType>
-         void generate_path(PathType const& path, path_output_attributes const& path_attributes)
-         {
-+            karma::lit_type lit;
-             util::svg_generator<OutputIterator,PathType> svg_path_grammer;
-             karma::generate(output_iterator_, lit("<path ") << svg_path_grammer, path);
-             path_attributes_grammar attributes_grammar;
---- a/include/mapnik/svg/output/svg_output_grammars.hpp
-+++ b/include/mapnik/svg/output/svg_output_grammars.hpp
-@@ -100,18 +100,19 @@
-     explicit svg_path_attributes_grammar()
-         : svg_path_attributes_grammar::base_type(svg_path_attributes)
-     {
--        using karma::double_;
--        using karma::string;
--        using repository::confix;
-+        karma::lit_type lit;
-+        karma::double_type double_;
-+        karma::string_type kstring;
-+        repository::confix_type confix;
- 
-         svg_path_attributes =
--            lit("fill=") << confix('"', '"')[string]
-+            lit("fill=") << confix('"', '"')[kstring]
-                          << lit(" fill-opacity=") << confix('"', '"')[double_]
--                         << lit(" stroke=") << confix('"', '"')[string]
-+                         << lit(" stroke=") << confix('"', '"')[kstring]
-                          << lit(" stroke-opacity=") << confix('"', '"')[double_]
-                          << lit(" stroke-width=") << confix('"', '"')[double_ << lit("px")]
--                         << lit(" stroke-linecap=") << confix('"', '"')[string]
--                         << lit(" stroke-linejoin=") << confix('"', '"')[string]
-+                         << lit(" stroke-linecap=") << confix('"', '"')[kstring]
-+                         << lit(" stroke-linejoin=") << confix('"', '"')[kstring]
-                          << lit(" stroke-dashoffset=") << confix('"', '"')[double_ << lit("px")];
-     }
- 
-@@ -124,8 +125,9 @@
-     explicit svg_path_dash_array_grammar()
-         : svg_path_dash_array_grammar::base_type(svg_path_dash_array)
-     {
--        using karma::double_;
--        using repository::confix;
-+        karma::double_type double_;
-+        karma::lit_type lit;
-+        repository::confix_type confix;
- 
-         svg_path_dash_array =
-             lit("stroke-dasharray=")
-@@ -142,16 +144,17 @@
-     explicit svg_rect_attributes_grammar()
-         : svg_rect_attributes_grammar::base_type(svg_rect_attributes)
-     {
--        using karma::int_;
--        using karma::string;
--        using repository::confix;
-+        karma::lit_type lit;
-+        karma::int_type int_;
-+        karma::string_type kstring;
-+        repository::confix_type confix;
- 
-         svg_rect_attributes =
-             lit("x=") << confix('"', '"')[int_]
-                       << lit(" y=") << confix('"', '"')[int_]
-                       << lit(" width=") << confix('"', '"')[int_ << lit("px")]
-                       << lit(" height=") << confix('"', '"')[int_ << lit("px")]
--                      << lit(" fill=") << confix('"', '"')[string];
-+                      << lit(" fill=") << confix('"', '"')[kstring];
-     }
- 
-     karma::rule<OutputIterator, mapnik::svg::rect_output_attributes()> svg_rect_attributes;
-@@ -163,16 +166,17 @@
-     explicit svg_root_attributes_grammar()
-         : svg_root_attributes_grammar::base_type(svg_root_attributes)
-     {
--        using karma::int_;
--        using karma::string;
--        using karma::double_;
--        using repository::confix;
-+        karma::lit_type lit;
-+        karma::int_type int_;
-+        karma::string_type kstring;
-+        karma::double_type double_;
-+        repository::confix_type confix;
- 
-         svg_root_attributes =
-             lit("width=") << confix('"', '"')[int_ << lit("px")]
-                           << lit(" height=") << confix('"', '"')[int_ << lit("px")]
-                           << " version=" << confix('"', '"')[double_]
--                          << " xmlns=" << confix('"', '"')[string];
-+                          << " xmlns=" << confix('"', '"')[kstring];
-     }
- 
-     karma::rule<OutputIterator, mapnik::svg::root_output_attributes()> svg_root_attributes;
---- a/include/mapnik/svg/output/svg_renderer.hpp
-+++ b/include/mapnik/svg/output/svg_renderer.hpp
-@@ -24,6 +24,7 @@
- #define MAPNIK_SVG_RENDERER_HPP
- 
- // mapnik
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- #include <mapnik/config.hpp>
- #include <mapnik/feature_style_processor.hpp>
- #include <mapnik/font_engine_freetype.hpp>
---- a/include/mapnik/svg/svg_path_grammar.hpp
-+++ b/include/mapnik/svg/svg_path_grammar.hpp
-@@ -53,16 +53,16 @@
-               arc_to_(arc_to<PathType>(path)),
-               close_(close<PathType>(path))
-         {
--            using qi::_1;
--            using qi::_2;
--            using qi::_3;
--            using qi::_4;
--            using qi::_5;
--            using qi::_a;
--            using qi::lit;
--            using qi::double_;
--            using qi::int_;
--            using qi::no_case;
-+            qi::_1_type _1;
-+            qi::_2_type _2;
-+            qi::_3_type _3;
-+            qi::_4_type _4;
-+            qi::_5_type _5;
-+            qi::_a_type _a;
-+            qi::lit_type lit;
-+            qi::double_type double_;
-+            qi::int_type int_;
-+            qi::no_case_type no_case;
- 
-             start = +cmd;
-             cmd = M  >> *drawto_cmd;
---- a/include/mapnik/svg/svg_points_grammar.hpp
-+++ b/include/mapnik/svg/svg_points_grammar.hpp
-@@ -45,9 +45,9 @@
-               line_to_(line_to<PathType>(path)),
-               close_(close<PathType>(path))
-         {
--            using qi::_1;
--            using qi::_2;
--            using qi::double_;
-+            qi::_1_type _1;
-+            qi::lit_type lit;
-+            qi::double_type double_;
- 
-             start = coord[move_to_(_1,false)] // move_to
-                 >> *(-lit(',') >> coord [ line_to_(_1,false) ] ); // *line_to
---- a/include/mapnik/svg/svg_transform_grammar.hpp
-+++ b/include/mapnik/svg/svg_transform_grammar.hpp
-@@ -187,18 +187,18 @@
-               scale_action(process_scale<TransformType>(tr)),
-               skew_action(process_skew<TransformType>(tr))
-         {
--            using qi::_1;
--            using qi::_2;
--            using qi::_3;
--            using qi::_4;
--            using qi::_5;
--            using qi::_6;
--            using qi::_a;
--            using qi::_b;
--            using qi::_c;
--            using qi::_val;
--            using qi::double_;
--            using qi::no_case;
-+            qi::_1_type _1;
-+            qi::_2_type _2;
-+            qi::_3_type _3;
-+            qi::_4_type _4;
-+            qi::_5_type _5;
-+            qi::_6_type _6;
-+            qi::_a_type _a;
-+            qi::_b_type _b;
-+            qi::_c_type _c;
-+            qi::lit_type lit;
-+            qi::double_type double_;
-+            qi::no_case_type no_case;
- 
-             start =  +transform_ ;
- 
---- a/include/mapnik/util/dasharray_parser.hpp
-+++ b/include/mapnik/util/dasharray_parser.hpp
-@@ -33,22 +33,22 @@
- template <typename Iterator>
- bool parse_dasharray(Iterator first, Iterator last, std::vector<double>& dasharray)
- {
--    using qi::double_;
--    using qi::phrase_parse;
--    using qi::_1;
--    using qi::lit;
--    using qi::char_;
-+    qi::double_type double_;
-+    qi::_1_type _1;
-+    qi::lit_type lit;
-+    qi::char_type char_;
-+    qi::ascii::space_type space;
- #if BOOST_VERSION > 104200
--    using qi::no_skip;
-+    qi::no_skip_type no_skip;
- #else
--    using qi::lexeme;
-+    qi::lexeme_type lexeme;
- #endif
-     using phoenix::push_back;
--    // SVG 
-+    // SVG
-     // dasharray ::= (length | percentage) (comma-wsp dasharray)?
-     // no support for 'percentage' as viewport is unknown at load_map
--    // 
--    bool r = phrase_parse(first, last,
-+    //
-+    bool r = qi::phrase_parse(first, last,
-                           (double_[push_back(phoenix::ref(dasharray), _1)] %
- #if BOOST_VERSION > 104200
-                           no_skip[char_(", ")]
-@@ -56,11 +56,11 @@
-                           lexeme[char_(", ")]
- #endif
-                           | lit("none")),
--                          qi::ascii::space);
--    
--    if (first != last) 
-+                          space);
-+
-+    if (first != last)
-         return false;
--    
-+
-     return r;
- }
- 
---- a/include/mapnik/util/geometry_svg_generator.hpp
-+++ b/include/mapnik/util/geometry_svg_generator.hpp
-@@ -141,11 +141,12 @@
-         svg_generator()
-             : svg_generator::base_type(svg)
-         {
--            using boost::spirit::karma::uint_;
--            using boost::spirit::karma::_val;
--            using boost::spirit::karma::_1;
--            using boost::spirit::karma::lit;
--            using boost::spirit::karma::_a;
-+            boost::spirit::karma::uint_type uint_;
-+            boost::spirit::karma::_val_type _val;
-+            boost::spirit::karma::_1_type _1;
-+            boost::spirit::karma::lit_type lit;
-+            boost::spirit::karma::_a_type _a;
-+            boost::spirit::karma::string_type kstring;
- 
-             svg = point | linestring | polygon
-                 ;
-@@ -169,7 +170,7 @@
-                 ;
- 
-             svg_path %= ((&uint_(mapnik::SEG_MOVETO) << lit("d=\"") << lit('M')
--                          | &uint_(mapnik::SEG_LINETO) [_a +=1] << karma::string [if_(_a == 1) [_1 = "L" ] ])
-+                          | &uint_(mapnik::SEG_LINETO) [_a +=1] << kstring [if_(_a == 1) [_1 = "L" ] ])
-                          << lit(' ') << coordinate << lit(' ') << coordinate) % lit(' ')
-                 ;
- 
---- a/include/mapnik/wkt/wkt_grammar.hpp
-+++ b/include/mapnik/wkt/wkt_grammar.hpp
-@@ -96,9 +96,17 @@
-         wkt_grammar()
-             : wkt_grammar::base_type(geometry_tagged_text)
-         {
--            using qi::no_case;
--            using qi::_1;
--            using qi::_2;
-+            qi::_r1_type _r1;
-+            qi::_r2_type _r2;
-+            qi::_pass_type _pass;
-+            qi::eps_type eps;
-+            qi::_val_type _val;
-+            qi::lit_type lit;
-+            qi::no_case_type no_case;
-+            qi::double_type double_;
-+            qi::_1_type _1;
-+            qi::_2_type _2;
-+            qi::_a_type _a;
-             using boost::phoenix::push_back;
- 
-             geometry_tagged_text = point_tagged_text
-@@ -220,9 +228,8 @@
-     wkt_collection_grammar()
-         :  wkt_collection_grammar::base_type(start)
-     {
--        using qi::_1;
--        using qi::_val;
--        using qi::no_case;
-+        qi::lit_type lit;
-+        qi::no_case_type no_case;
-         using boost::phoenix::push_back;
-         start = wkt | no_case[lit("GEOMETRYCOLLECTION")]
-             >> (lit("(") >> wkt % lit(",") >> lit(")"));
---- a/plugins/input/shape/dbfile.cpp
-+++ b/plugins/input/shape/dbfile.cpp
-@@ -179,16 +179,24 @@
-                 double val = 0.0;
-                 const char *itr = record_+fields_[col].offset_;
-                 const char *end = itr + fields_[col].length_;
--                if (qi::phrase_parse(itr,end,double_,ascii::space,val))
-+                ascii::space_type space;
-+                qi::double_type double_;
-+                if (qi::phrase_parse(itr,end,double_,space,val))
-+                {
-                     f.put(name,val);
-+                }
-             }
-             else
-             {
-                 mapnik::value_integer val = 0;
-                 const char *itr = record_+fields_[col].offset_;
-                 const char *end = itr + fields_[col].length_;
--                if (qi::phrase_parse(itr,end,int_,ascii::space,val))
-+                ascii::space_type space;
-+                qi::int_type int_;
-+                if (qi::phrase_parse(itr,end,int_,space,val))
-+                {
-                     f.put(name,val);
-+                }
-             }
-             break;
-         }
---- a/tests/cpp_tests/svg_renderer_tests/background_color_test.cpp
-+++ b/tests/cpp_tests/svg_renderer_tests/background_color_test.cpp
-@@ -1,3 +1,5 @@
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-+
- #define BOOST_TEST_MODULE background_color_test
- 
- /*
---- a/tests/cpp_tests/svg_renderer_tests/combined_test.cpp
-+++ b/tests/cpp_tests/svg_renderer_tests/combined_test.cpp
-@@ -1,3 +1,4 @@
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- #define BOOST_TEST_MODULE combined_tests
- 
- // boost.test
---- a/tests/cpp_tests/svg_renderer_tests/compilation_test.cpp
-+++ b/tests/cpp_tests/svg_renderer_tests/compilation_test.cpp
-@@ -1,3 +1,4 @@
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- #define BOOST_TEST_MODULE compile_test
- 
- // boost.test
---- a/tests/cpp_tests/svg_renderer_tests/file_output_test.cpp
-+++ b/tests/cpp_tests/svg_renderer_tests/file_output_test.cpp
-@@ -1,3 +1,4 @@
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- #define BOOST_TEST_MODULE file_output_test
- 
- /*
---- a/tests/cpp_tests/svg_renderer_tests/path_element_test.cpp
-+++ b/tests/cpp_tests/svg_renderer_tests/path_element_test.cpp
-@@ -1,3 +1,4 @@
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- #define BOOST_TEST_MODULE path_element_tests
- 
- // boost.test
---- a/tests/cpp_tests/svg_renderer_tests/root_element_test.cpp
-+++ b/tests/cpp_tests/svg_renderer_tests/root_element_test.cpp
-@@ -1,3 +1,4 @@
-+#undef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- #define BOOST_TEST_MODULE root_element_test
- 
- /*
---- a/src/text_placements/simple.cpp
-+++ b/src/text_placements/simple.cpp
-@@ -39,9 +39,7 @@
- namespace qi = boost::spirit::qi;
- namespace phoenix = boost::phoenix;
- using phoenix::push_back;
--using boost::spirit::ascii::space;
- using phoenix::ref;
--using qi::_1;
- 
- bool text_placement_info_simple::next()
- {
-@@ -141,9 +139,12 @@
- 
-     } direction_name;
- 
-+    boost::spirit::ascii::space_type space;
-+    qi::_1_type _1;
-+    qi::float_type float_;
-     std::string::iterator first = positions.begin(),  last = positions.end();
-     qi::phrase_parse(first, last,
--                     (direction_name[push_back(phoenix::ref(direction_), _1)] % ',') >> *(',' >> qi::float_[push_back(phoenix::ref(text_sizes_), _1)]),
-+                     (direction_name[push_back(phoenix::ref(direction_), _1)] % ',') >> *(',' >> float_[push_back(phoenix::ref(text_sizes_), _1)]),
-                      space
-         );
-     if (first != last)
diff --git a/debian/patches/2001_ftemplate-depth.patch b/debian/patches/2001_ftemplate-depth.patch
deleted file mode 100644
index 71e3918..0000000
--- a/debian/patches/2001_ftemplate-depth.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: remove gcc ftemplate-depth-300 flag
- it can use a lot of memory, and default value works on debian
-Forwarded: not-needed, https://github.com/mapnik/mapnik/commit/b01b21f24
-Author: Jérémy Lal <kapouer at melix.org>
-Last-Update: 2013-10-12
---- a/SConstruct
-+++ b/SConstruct
-@@ -1733,7 +1733,7 @@
- 
-         # Common flags for g++/clang++ CXX compiler.
-         # TODO: clean up code more to make -Wsign-conversion -Wconversion -Wshadow viable
--        common_cxx_flags = '-Wall -Wsign-compare %s %s -ftemplate-depth-300 ' % (env['WARNING_CXXFLAGS'], pthread)
-+        common_cxx_flags = '-Wall -Wsign-compare %s %s ' % (env['WARNING_CXXFLAGS'], pthread)
- 
-         # https://github.com/mapnik/mapnik/issues/1835
-         if sys.platform == 'darwin' and env['CXX'] == 'g++':

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapnik.git



More information about the Pkg-grass-devel mailing list