Skip to content

Commit

Permalink
ncurses: gcc5 build fix.
Browse files Browse the repository at this point in the history
  • Loading branch information
pulkomandy committed Aug 20, 2016
1 parent 10e3018 commit c509f79
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 3 deletions.
7 changes: 4 additions & 3 deletions sys-libs/ncurses/ncurses-5.9.recipe
Expand Up @@ -17,10 +17,11 @@ tools."
HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html"
COPYRIGHT="1998-2011 Free Software Foundation, Inc."
LICENSE="MIT"
REVISION="10"
REVISION="11"
SOURCE_URI="http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz"
CHECKSUM_SHA256="9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b"
PATCHES="ncurses-5.9.patchset"
PATCHES="ncurses-5.9.patchset
ncurses-5.9-gcc-5.patch"

ARCHITECTURES="x86_gcc2 x86 x86_64 arm"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
Expand Down Expand Up @@ -197,4 +198,4 @@ INSTALL()
rm -rf $binDir
rm -rf $documentationDir
fi
}
}
46 changes: 46 additions & 0 deletions sys-libs/ncurses/patches/ncurses-5.9-gcc-5.patch
@@ -0,0 +1,46 @@
https://bugs.gentoo.org/545114

extracted from the upstream change (which had many unrelated commits in one)

From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
From: "Thomas E. Dickey" <dickey@invisible-island.net>
Date: Sun, 7 Dec 2014 03:10:09 +0000
Subject: [PATCH] ncurses 5.9 - patch 20141206

+ 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).

diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
index d8cc3c9..b91398c 100755
--- a/ncurses/base/MKlib_gen.sh
+++ b/ncurses/base/MKlib_gen.sh
@@ -474,11 +474,22 @@ sed -n -f $ED1 \
-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 \

0 comments on commit c509f79

Please sign in to comment.