Blob Blame History Raw
From 8057b2448edfa653911fa4d42870a2d1aa7694d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@collabora.com>
Date: Mon, 24 Mar 2014 16:21:44 +0100
Subject: [PATCH] fix libetonyek build

KEY2StyleParser.cpp:65:10: error: no matching function for call to 'readNumber'
KEY2StyleParser.cpp:34:13: note: candidate template ignored: couldn't infer template argument 'C'

I took the patch from Fridrich's openSUSE rpms.

Change-Id: Iba3c682539c5c978dddb0040f24f23c7299af0d9
---
 external/libetonyek/UnpackedTarball_libetonyek.mk  |  1 +
 .../libetonyek/libetonyek-0.0.3-lexical_cast.patch | 56 ++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 external/libetonyek/libetonyek-0.0.3-lexical_cast.patch

diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk
index d452574..0db9596 100644
--- a/external/libetonyek/UnpackedTarball_libetonyek.mk
+++ b/external/libetonyek/UnpackedTarball_libetonyek.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libetonyek,$(ETONYEK_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\
 	external/libetonyek/0001-Comma-at-the-end-of-emum-list.patch.1 \
+	external/libetonyek/libetonyek-0.0.3-lexical_cast.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/libetonyek-0.0.3-lexical_cast.patch b/external/libetonyek/libetonyek-0.0.3-lexical_cast.patch
new file mode 100644
index 0000000..fbd8bf6
--- /dev/null
+++ b/external/libetonyek/libetonyek-0.0.3-lexical_cast.patch
@@ -0,0 +1,56 @@
+--- a/libetonyek-0.0.3/src/lib/KEY2ParserUtils.cpp	2013-12-01 21:44:51.000000000 +0100
++++ b/libetonyek-0.0.3/src/lib/KEY2ParserUtils.cpp	2013-12-15 06:53:07.474721349 +0100
+@@ -125,7 +125,7 @@
+   return KEYSize(size.second, size.first);
+ }
+ 
+-bool KEY2ParserUtils::bool_cast(const char *const value)
++bool KEY2ParserUtils::bool_cast(const char *value)
+ {
+   KEY2Tokenizer tok;
+   switch (tok(value))
+@@ -142,6 +142,16 @@
+   return false;
+ }
+ 
++double KEY2ParserUtils::double_cast(const char *value)
++{
++  return lexical_cast<double, const char *>(value);
++}
++
++int KEY2ParserUtils::int_cast(const char *value)
++{
++  return lexical_cast<int, const char *>(value);
++}
++
+ double KEY2ParserUtils::deg2rad(double value)
+ {
+   // normalize range
+--- a/libetonyek-0.0.3/src/lib/KEY2ParserUtils.h	2013-10-30 22:04:38.000000000 +0100
++++ b/libetonyek-0.0.3/src/lib/KEY2ParserUtils.h	2013-12-15 06:50:40.296884951 +0100
+@@ -81,6 +81,8 @@
+     * @returns the boolean value of the string
+     */
+   static bool bool_cast(const char *value);
++  static double double_cast(const char *value);
++  static int int_cast(const char *value);
+ 
+   static double deg2rad(double value);
+ 
+--- a/libetonyek-0.0.3/src/lib/KEY2StyleParser.cpp	2013-12-06 10:36:13.000000000 +0100
++++ b/libetonyek-0.0.3/src/lib/KEY2StyleParser.cpp	2013-12-15 06:53:45.353451061 +0100
+@@ -62,12 +62,12 @@
+ 
+ optional<double> readDouble(const KEYXMLReader &reader)
+ {
+-  return readNumber<double>(reader, KEY2Token::f, &lexical_cast<double, const char *>);
++  return readNumber<double>(reader, KEY2Token::f, &KEY2ParserUtils::double_cast);
+ }
+ 
+ optional<int> readInt(const KEYXMLReader &reader)
+ {
+-  return readNumber<int>(reader, KEY2Token::i, &lexical_cast<int, const char *>);
++  return readNumber<int>(reader, KEY2Token::i, &KEY2ParserUtils::double_cast);
+ }
+ 
+ optional<KEYColor> readColor(const KEYXMLReader &reader)
-- 
1.9.0