diff mbox

[OpenWrt-Devel] ncurses: Fix building with gcc 5.1

Message ID 1432485161-13388-1-git-send-email-martin.blumenstingl@googlemail.com
State Accepted
Delegated to: Hauke Mehrtens
Headers show

Commit Message

Martin Blumenstingl May 24, 2015, 4:32 p.m. UTC
This patch is taken from the gentoo guys who extracted this from a large
upstream commit (with many unrelated changes).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 package/libs/ncurses/Makefile                      |  2 +-
 .../ncurses/patches/102-ncurses-5.9-gcc-5.patch    | 46 ++++++++++++++++++++++
 2 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100644 package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch

Comments

Dirk Neukirchen May 25, 2015, 1:05 p.m. UTC | #1
On 24.05.2015 18:32, Martin Blumenstingl wrote:
> This patch is taken from the gentoo guys who extracted this from a large
> upstream commit (with many unrelated changes).
> 

What about switching to the invisible islands version ?

- It is directly used by Fedora, Debian (>Jessie) [1],[2]
- changelog (leaks,bugs or behaviour fixes + ABI changes) with terminal variants:
see announces at [3] (example seem to be C++ bindings fixes not in original 5.9)
- last release 2011, next official 5.x/6.x seems unclear [4]
- collecting patches from various sources places more burden on OpenWrt project
(Example: that rxvt-unicode patch is outdated in OpenWrt and Fedora)


References:
[1] http://pkgs.fedoraproject.org/cgit/ncurses.git
[2] http://anonscm.debian.org/cgit/collab-maint/ncurses.git/
[3] http://lists.gnu.org/archive/html/bug-ncurses
[4] http://lists.gnu.org/archive/html/bug-ncurses/2015-04/msg00035.html
Martin Blumenstingl May 25, 2015, 2:29 p.m. UTC | #2
On Mon, May 25, 2015 at 3:05 PM, Dirk Neukirchen <dirkneukirchen@web.de> wrote:
> What about switching to the invisible islands version ?

That is probably a question for the OpenWrt maintainers, not me :)
However, the first RC of Chaos Calmer has already been released. So
maybe an update to the "invisible islands" version should be done once
CC is branched.
Martin Blumenstingl May 31, 2015, 9:14 p.m. UTC | #3
Hi Felix, hello Jo,

> On Mon, May 25, 2015 at 3:05 PM, Dirk Neukirchen <dirkneukirchen@web.de> wrote:
> What about switching to the invisible islands version ?
Do you have any opinions on this?
Unfortunately ncurses doesn't have a maintainer set - you two were the
last devs who
touched it, so I'm CC'ing you.

On Mon, May 25, 2015 at 4:29 PM, Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:
> That is probably a question for the OpenWrt maintainers, not me :)
> However, the first RC of Chaos Calmer has already been released. So
> maybe an update to the "invisible islands" version should be done once
> CC is branched.
That's just my two cents. Arch Linux ships gcc 5.1 now by default, and I think
gentoo and "Debian testing" provide it as well.


Regards,
Martin
Hauke Mehrtens June 2, 2015, 9:58 p.m. UTC | #4
On 05/24/2015 06:32 PM, Martin Blumenstingl wrote:
> This patch is taken from the gentoo guys who extracted this from a large
> upstream commit (with many unrelated changes).
> 
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
>  package/libs/ncurses/Makefile                      |  2 +-
>  .../ncurses/patches/102-ncurses-5.9-gcc-5.patch    | 46 ++++++++++++++++++++++
>  2 files changed, 47 insertions(+), 1 deletion(-)
>  create mode 100644 package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch
> 

Thank you for the patch, it was applied in r45878.

Hauke
diff mbox

Patch

diff --git a/package/libs/ncurses/Makefile b/package/libs/ncurses/Makefile
index 13c7962..1f7ea9b 100644
--- a/package/libs/ncurses/Makefile
+++ b/package/libs/ncurses/Makefile
@@ -9,7 +9,7 @@  include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ncurses
 PKG_VERSION:=5.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch b/package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch
new file mode 100644
index 0000000..2448229
--- /dev/null
+++ b/package/libs/ncurses/patches/102-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 \