app-editors/fte: fix cpp14 compilation errors; bug #595048
authorKacper Kołodziej <kacper@kolodziej.in>
Sun, 25 Sep 2016 16:20:10 +0000 (18:20 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 1 Oct 2016 20:11:13 +0000 (22:11 +0200)
Change config generating Perl script to cast int literals to char in default
config file to avoid narrowing conversions.
Closes: https://github.com/gentoo/gentoo/pull/2411

Signed-off-by: David Seifert <soap@gentoo.org>
app-editors/fte/files/fte-cpp14.patch [new file with mode: 0644]
app-editors/fte/fte-20051115-r3.ebuild

diff --git a/app-editors/fte/files/fte-cpp14.patch b/app-editors/fte/files/fte-cpp14.patch
new file mode 100644 (file)
index 0000000..bea83b6
--- /dev/null
@@ -0,0 +1,17 @@
+Fix C++14 compilation errors. Add casting int literals to char in config
+generator to avoid narrowing conversions.
+Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=595048
+
+--- a/src/mkdefcfg.pl
++++ b/src/mkdefcfg.pl
+@@ -24,8 +24,8 @@
+     @c = split(//, $buf);
+     for ($i = 0; $i < $len; $i++) {
+-        $out .= sprintf("0x%02X", ord($c[$i]));
+-        if ($n++ % 10) {
++        $out .= sprintf("(char)0x%02X", ord($c[$i]));
++        if ($n++ % 5) {
+             $out .= ", ";
+         } else {
+             $out .= ",\n";
index 4f8ff930364f5d519182acd80622a0a8a06366d0..9818594ef2cc039b6ec7b9746aed1e594d656a66 100644 (file)
@@ -47,7 +47,8 @@ src_prepare() {
                "${FILESDIR}"/fte-gcc34 \
                "${FILESDIR}"/${PN}-new_keyword.patch \
                "${FILESDIR}"/${PN}-slang.patch \
-               "${FILESDIR}"/${PN}-interix.patch
+               "${FILESDIR}"/${PN}-interix.patch \
+               "${FILESDIR}"/${PN}-cpp14.patch # bug #595048
 
        [[ -e /usr/include/linux/keyboard.h ]] && \
                sed /usr/include/linux/keyboard.h -e '/wait.h/d' > src/hacked_keyboard.h