From 7b432660c2aaafe4061075f8be86a04b462bfd97 Mon Sep 17 00:00:00 2001 From: Mikhail Peselnik Date: Fri, 24 Jul 2015 16:00:43 +0300 Subject: [PATCH] ncurses: fix gcc 5 compile issue for real The previous patch didn't work in all cases. The new patch is taken from upstream: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517 Fetch from: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff;f=ncurses/base/MKlib_gen.sh;h=b91398c740a266f10edbbce19f19c52b9709556f;hp=d8cc3c9751faa157d0c8cb8e16fbe4217703966b;hb=97bb4678dc03e753290b39bbff30ba2825df9517;hpb=762520a7930d7f698d542628d3c04bc201f7dac2 [Thomas: - removed Signed-off-by in the Buildroot commit from the ncurses author: the ncurses author never submitted this patch to Buildroot. - fixed the Author of the Buildroot commit, it was still "kyak" - added a description + Signed-off-by in the patch itself.] Signed-off-by: Mikhail Peselnik Acked-by: Jaap Crezee Tested-by: Jaap Crezee Reviewed-by: "Yann E. MORIN" Signed-off-by: Thomas Petazzoni --- package/ncurses/0002-gcc-5.x-MKlib_gen.patch | 66 +++++++++++--------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch index 077120888e..25c2bd02d1 100644 --- a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch +++ b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch @@ -1,33 +1,43 @@ -Fix GCC 5.x preprocessor failure +Fix gcc 5.x build failure -Building ncurses 5.9 with GCC 5.x fails with a syntax error, caused by -earlier preprocessing. This failure is more likely when building for -host (e.g. host-ncurses) that recently updated to GCC 5.x. +Extracted from upstream commit +http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517. -This patch is taken from the following link (more information is also -available here): -https://groups.google.com/forum/#!topic/sage-trac/U31shviuqzk ++ modify MKlib_gen.sh to work around change in development version of + gcc introduced here: + https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html + https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html + (reports by Marcus Shawcroft, Maohui Lei). -Signed-off-by: Doug Kehn +Original author: Thomas E. Dickey +Signed-off-by: Mikhail Peselnik -Index: b/ncurses/base/MKlib_gen.sh -=================================================================== ---- a/ncurses/base/MKlib_gen.sh -+++ b/ncurses/base/MKlib_gen.sh -@@ -62,7 +62,15 @@ if test "${LC_MESSAGES+set}" = set; then - if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi - --preprocessor="$1 -DNCURSES_INTERNALS -I../include" -+# Work around "unexpected" output of GCC 5.1.0's cpp w.r.t. #line directives -+# by simply suppressing them: -+case `$1 -dumpversion 2>/dev/null` in -+ 5.[01].*) # assume a "broken" one -+ preprocessor="$1 -P -DNCURSES_INTERNALS -I../include" -+ ;; -+ *) -+ preprocessor="$1 -DNCURSES_INTERNALS -I../include" -+esac - AWK="$2" - USE="$3" +--- a/ncurses/base/MKlib_gen.sh.orig 2015-07-23 21:52:32.239481505 +0300 ++++ b/ncurses/base/MKlib_gen.sh 2015-07-23 21:53:20.772966587 +0300 +@@ -437,11 +437,22 @@ + -e 's/gen_$//' \ + -e 's/ / /g' >>$TMP ++cat >$ED1 < $ED2 ++cat $ED2 >$TMP ++ + $preprocessor $TMP 2>/dev/null \ +-| sed \ +- -e 's/ / /g' \ +- -e 's/^ //' \ +- -e 's/_Bool/NCURSES_BOOL/g' \ ++| sed -f $ED1 \ + | $AWK -f $AW2 \ + | sed -f $ED3 \ + | sed \ -- 2.30.2