diff mbox

[1/1] Fix ncurses gcc-5.0 compile issue (for real)

Message ID 1437679186-15114-1-git-send-email-bas@bmail.ru
State Changes Requested
Headers show

Commit Message

kyak July 23, 2015, 7:19 p.m. UTC
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=blobdiff;f=ncurses/base/MKlib_gen.sh;h=b91398c740a266f10edbbce19f19c52b9709556f;hp=d8cc3c9751faa157d0c8cb8e16fbe4217703966b;hb=97bb4678dc03e753290b39bbff30ba2825df9517;hpb=762520a7930d7f698d542628d3c04bc201f7dac2
Signed-off-by: kyak <bas@bmail.ru>
---
 package/ncurses/0002-gcc-5.x-MKlib_gen.patch | 60 +++++++++++++---------------
 1 file changed, 28 insertions(+), 32 deletions(-)

Comments

Gustavo Zacarias July 23, 2015, 7:27 p.m. UTC | #1
On 23/07/15 16:19, kyak wrote:

> 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=blobdiff;f=ncurses/base/MKlib_gen.sh;h=b91398c740a266f10edbbce19f19c52b9709556f;hp=d8cc3c9751faa157d0c8cb8e16fbe4217703966b;hb=97bb4678dc03e753290b39bbff30ba2825df9517;hpb=762520a7930d7f698d542628d3c04bc201f7dac2
> Signed-off-by: kyak <bas@bmail.ru>

Thanks, i've just hit this issue minutes ago, nice timing.

Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

(x86_64 gcc 5.2.0 and blackfin 4.3.5)
Regards.
Thomas Petazzoni July 23, 2015, 8:33 p.m. UTC | #2
Dear kyak,

On Thu, 23 Jul 2015 22:19:46 +0300, kyak wrote:
> 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=blobdiff;f=ncurses/base/MKlib_gen.sh;h=b91398c740a266f10edbbce19f19c52b9709556f;hp=d8cc3c9751faa157d0c8cb8e16fbe4217703966b;hb=97bb4678dc03e753290b39bbff30ba2825df9517;hpb=762520a7930d7f698d542628d3c04bc201f7dac2
> Signed-off-by: kyak <bas@bmail.ru>

We need a real name for Signed-off-by / Author. Can you fix this?

Also:

 * There should be one empty line before the Signed-off-by line.

 * The title should be "<package>: <description>", so: "ncurses: fix
   gcc 5 compile issue for real" (saying 5.0 is incorrect since there
   has never really been a gcc 5.0, the first stable release was 5.1).

 * Can you include the upstream patch reference in the patch
   description itself, and Signed-off-by the patch itself as well? See
   http://buildroot.org/downloads/manual/manual.html#_format_and_licensing_of_the_package_patches
   for more details.

Thanks!

Thomas
Jaap Crezee July 24, 2015, 10:04 a.m. UTC | #3
On 07/23/15 21:19, kyak wrote:
> 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=blobdiff;f=ncurses/base/MKlib_gen.sh;h=b91398c740a266f10edbbce19f19c52b9709556f;hp=d8cc3c9751faa157d0c8cb8e16fbe4217703966b;hb=97bb4678dc03e753290b39bbff30ba2825df9517;hpb=762520a7930d7f698d542628d3c04bc201f7dac2
> Signed-off-by: kyak <bas@bmail.ru>
> ---
>  package/ncurses/0002-gcc-5.x-MKlib_gen.patch | 60 +++++++++++++---------------
>  1 file changed, 28 insertions(+), 32 deletions(-)

Acked-by: Jaap Crezee <jaap@jcz.nl>

However: the patch does NOT work here, it does not apply;

[jaap@jaap /data/work/zupr/ZUPR-Embedded-Buildroot ]$ cat p.patch | patch -Np1
patching file package/ncurses/0002-gcc-5.x-MKlib_gen.patch
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file
package/ncurses/0002-gcc-5.x-MKlib_gen.patch.rej
[jaap@jaap /data/work/zupr/ZUPR-Embedded-Buildroot ]$

regards,


Jaap Crezee
diff mbox

Patch

diff --git a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
index 0771208..fca7624 100644
--- a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
+++ b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
@@ -1,33 +1,29 @@ 
-Fix GCC 5.x preprocessor 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.
-
-This patch is taken from the following link (more information is also
-available here):
-https://groups.google.com/forum/#!topic/sage-trac/U31shviuqzk
-
-Signed-off-by: Doug Kehn <rdkehn@yahoo.com>
-
-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"
+--- host-ncurses-5.9/ncurses/base/MKlib_gen.sh.orig	2015-07-23 21:52:32.239481505 +0300
++++ host-ncurses-5.9/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 <<EOF
++s/  / /g
++s/^ //
++s/ $//
++s/P_NCURSES_BOOL/NCURSES_BOOL/g
++EOF
++
++# A patch discussed here:
++#       https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
++# introduces spurious #line markers.  Work around that by ignoring the system's
++# attempt to define "bool" and using our own symbol here.
++sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $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 \