summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2017-08-17 03:15:07 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-18 10:40:27 +0100
commita86a2b5858a41e439c16f4d743eb320ab75360be (patch)
treec66ce45773263dd27e1337c0859c96a490b2199d
parentfa231eaf9b2865d42e5b5eb7944da65a97693cc9 (diff)
downloadpoky-a86a2b5858a41e439c16f4d743eb320ab75360be.tar.gz
mc: unify curses initialization
Since ncurses upgraded to 6.0+20170715, it compile failed ... | ../../../mc-4.8.19/lib/tty/tty-ncurses.c:199:13: error: dereferencing pointer to incomplete type 'TERMINAL {aka struct term}' | cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */ | ^~ ... Backport a patch from upstream fixed the issue. (From OE-Core rev: fc89bfa89aa785871f7999f2835dbcea06e2823b) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch66
-rw-r--r--meta/recipes-extended/mc/mc_4.8.19.bb1
2 files changed, 67 insertions, 0 deletions
diff --git a/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
new file mode 100644
index 0000000000..c54d4d0eae
--- /dev/null
+++ b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
@@ -0,0 +1,66 @@
1From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001
2From: Thomas Dickey <dickey@his.com>
3Date: Fri, 14 Apr 2017 14:06:13 +0300
4Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization
5
6...for various curses implementations.
7
8Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
9
10Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git]
11
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13
14---
15 lib/tty/tty-ncurses.c | 26 +++++++++-----------------
16 1 file changed, 9 insertions(+), 17 deletions(-)
17
18diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
19index a7a11f3..8e69b39 100644
20--- a/lib/tty/tty-ncurses.c
21+++ b/lib/tty/tty-ncurses.c
22@@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch)
23 void
24 tty_init (gboolean mouse_enable, gboolean is_xterm)
25 {
26+ struct termios mode;
27+
28 initscr ();
29
30 #ifdef HAVE_ESCDELAY
31@@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm)
32 ESCDELAY = 200;
33 #endif /* HAVE_ESCDELAY */
34
35-#ifdef NCURSES_VERSION
36+ tcgetattr (STDIN_FILENO, &mode);
37 /* use Ctrl-g to generate SIGINT */
38- cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */
39+ mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
40 /* disable SIGQUIT to allow use Ctrl-\ key */
41- cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE;
42- tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb);
43-#else
44- /* other curses implementation (bsd curses, ...) */
45- {
46- struct termios mode;
47-
48- tcgetattr (STDIN_FILENO, &mode);
49- /* use Ctrl-g to generate SIGINT */
50- mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
51- /* disable SIGQUIT to allow use Ctrl-\ key */
52- mode.c_cc[VQUIT] = NULL_VALUE;
53- tcsetattr (STDIN_FILENO, TCSANOW, &mode);
54- }
55-#endif /* NCURSES_VERSION */
56+ mode.c_cc[VQUIT] = NULL_VALUE;
57+ tcsetattr (STDIN_FILENO, TCSANOW, &mode);
58+
59+ /* curses remembers the "in-program" modes after this call */
60+ def_prog_mode ();
61
62 tty_start_interrupt_key ();
63
64--
652.7.4
66
diff --git a/meta/recipes-extended/mc/mc_4.8.19.bb b/meta/recipes-extended/mc/mc_4.8.19.bb
index 20ef9dd9d0..b3a156caee 100644
--- a/meta/recipes-extended/mc/mc_4.8.19.bb
+++ b/meta/recipes-extended/mc/mc_4.8.19.bb
@@ -8,6 +8,7 @@ RDEPENDS_${PN} = "ncurses-terminfo"
8 8
9SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ 9SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
10 file://0001-mc-replace-perl-w-with-use-warnings.patch \ 10 file://0001-mc-replace-perl-w-with-use-warnings.patch \
11 file://0002-Ticket-3697-tty_init-unify-curses-initialization.patch \
11 " 12 "
12SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70" 13SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70"
13SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f" 14SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f"