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. Signed-off-by: Hongxu Jia <hongxu....@windriver.com> --- ...3697-tty_init-unify-curses-initialization.patch | 66 ++++++++++++++++++++++ meta/recipes-extended/mc/mc_4.8.19.bb | 1 + 2 files changed, 67 insertions(+) create mode 100644 meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch 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 0000000..c54d4d0 --- /dev/null +++ b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch @@ -0,0 +1,66 @@ +From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001 +From: Thomas Dickey <dic...@his.com> +Date: Fri, 14 Apr 2017 14:06:13 +0300 +Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization + +...for various curses implementations. + +Signed-off-by: Andrew Borodin <aboro...@vmail.ru> + +Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git] + +Signed-off-by: Hongxu Jia <hongxu....@windriver.com> + +--- + lib/tty/tty-ncurses.c | 26 +++++++++----------------- + 1 file changed, 9 insertions(+), 17 deletions(-) + +diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c +index a7a11f3..8e69b39 100644 +--- a/lib/tty/tty-ncurses.c ++++ b/lib/tty/tty-ncurses.c +@@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch) + void + tty_init (gboolean mouse_enable, gboolean is_xterm) + { ++ struct termios mode; ++ + initscr (); + + #ifdef HAVE_ESCDELAY +@@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm) + ESCDELAY = 200; + #endif /* HAVE_ESCDELAY */ + +-#ifdef NCURSES_VERSION ++ tcgetattr (STDIN_FILENO, &mode); + /* use Ctrl-g to generate SIGINT */ +- cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */ ++ mode.c_cc[VINTR] = CTRL ('g'); /* ^g */ + /* disable SIGQUIT to allow use Ctrl-\ key */ +- cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE; +- tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb); +-#else +- /* other curses implementation (bsd curses, ...) */ +- { +- struct termios mode; +- +- tcgetattr (STDIN_FILENO, &mode); +- /* use Ctrl-g to generate SIGINT */ +- mode.c_cc[VINTR] = CTRL ('g'); /* ^g */ +- /* disable SIGQUIT to allow use Ctrl-\ key */ +- mode.c_cc[VQUIT] = NULL_VALUE; +- tcsetattr (STDIN_FILENO, TCSANOW, &mode); +- } +-#endif /* NCURSES_VERSION */ ++ mode.c_cc[VQUIT] = NULL_VALUE; ++ tcsetattr (STDIN_FILENO, TCSANOW, &mode); ++ ++ /* curses remembers the "in-program" modes after this call */ ++ def_prog_mode (); + + tty_start_interrupt_key (); + +-- +2.7.4 + diff --git a/meta/recipes-extended/mc/mc_4.8.19.bb b/meta/recipes-extended/mc/mc_4.8.19.bb index 20ef9dd..b3a156c 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" SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ file://0001-mc-replace-perl-w-with-use-warnings.patch \ + file://0002-Ticket-3697-tty_init-unify-curses-initialization.patch \ " SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70" SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f" -- 2.8.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core