[oe] [meta-oe][PATCH] espeak: Fix FTBFS due to narrowing warnings on 32bit x86

Khem Raj raj.khem at gmail.com
Fri Jun 9 00:31:05 UTC 2017


Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 meta-oe/recipes-support/espeak/espeak.inc          |  1 +
 .../espeak/files/gcc-narrowing-warning-fix.patch   | 56 ++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch

diff --git a/meta-oe/recipes-support/espeak/espeak.inc b/meta-oe/recipes-support/espeak/espeak.inc
index 97873f22e..60b3f73c8 100644
--- a/meta-oe/recipes-support/espeak/espeak.inc
+++ b/meta-oe/recipes-support/espeak/espeak.inc
@@ -4,6 +4,7 @@ LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
 
 SRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \
+           file://gcc-narrowing-warning-fix.patch \
 "
 SRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3"
 SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659"
diff --git a/meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch b/meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch
new file mode 100644
index 000000000..2a9b4607d
--- /dev/null
+++ b/meta-oe/recipes-support/espeak/files/gcc-narrowing-warning-fix.patch
@@ -0,0 +1,56 @@
+From f09c83640b9173552fd9277c3a48619b903fa436 Mon Sep 17 00:00:00 2001
+From: "Reece H. Dunn" <msclrhd at gmail.com>
+Date: Wed, 20 Jan 2016 20:48:29 +0000
+Subject: [PATCH] Fix GCC -Wnarrowing warnings.
+
+---
+ src/tr_languages.cpp | 7 ++++---
+ src/translate.h    | 2 +-
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+Index: espeak-1.48.04-source/src/tr_languages.cpp
+===================================================================
+--- espeak-1.48.04-source.orig/src/tr_languages.cpp
++++ espeak-1.48.04-source/src/tr_languages.cpp
+@@ -198,8 +198,8 @@ static const unsigned short chars_ignore
+ 	0x200d,  1, // zero width joiner
+ 	0, 0 };
+ 
+-const char string_ordinal[] = {0xc2,0xba,0};  // masculine ordinal character, UTF-8
+-
++const unsigned char string_ordinal[] = {0xc2,0xba,0};  // masculine ordinal character, UTF-8
++const unsigned char utf8_null[] = { 0 }; // null string, UTF-8
+ 
+ static Translator* NewTranslator(void)
+ {//===================================
+@@ -296,7 +296,7 @@ static const char transpose_map_latin[]
+ 	tr->langopts.replace_chars = NULL;
+ 	tr->langopts.ascii_language[0] = 0;    // Non-Latin alphabet languages, use this language to speak Latin words, default is English
+ 	tr->langopts.alt_alphabet_lang = L('e','n');
+-	tr->langopts.roman_suffix = "";
++	tr->langopts.roman_suffix = utf8_null;
+ 
+ 	SetLengthMods(tr,201);
+ //	tr->langopts.length_mods = length_mods_en;
+@@ -758,7 +758,7 @@ Translator *SelectTranslator(const char
+ 				tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
+ 				tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ROMAN | NUM_ROMAN_ORDINAL;
+ 				tr->langopts.numbers2 = NUM2_ORDINAL_NO_AND;
+-				tr->langopts.roman_suffix = string_ordinal;
++				tr->langopts.roman_suffix = utf8_null;
+ 			}
+ 			else
+ 			if(name2 == L_pap)
+Index: espeak-1.48.04-source/src/translate.h
+===================================================================
+--- espeak-1.48.04-source.orig/src/translate.h
++++ espeak-1.48.04-source/src/translate.h
+@@ -545,7 +545,7 @@ typedef struct {
+ 	int decimal_sep;
+ 	int max_digits;    // max number of digits which can be spoken as an integer number (rather than individual digits)
+ 	const char *ordinal_indicator;   // UTF-8 string
+-	const char *roman_suffix;    // add this (ordinal) suffix to Roman numbers (LANG=an)
++	const unsigned char *roman_suffix;    // add this (ordinal) suffix to Roman numbers (LANG=an)
+ 
+ 	// bit 0, accent name before the letter name, bit 1 "capital" after letter name
+ 	int accents;
-- 
2.13.1




More information about the Openembedded-devel mailing list