diff options
author | Christian Eggers <ceggers@arri.de> | 2022-02-16 12:08:33 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-02-24 11:12:39 +0000 |
commit | 0ca6f8f34604eaf47b749d10abcb95d17e58cfe9 (patch) | |
tree | 6b917edf26325d977a216b7d6f43d973ff6dc436 /meta/recipes-extended | |
parent | cab36b57c416a1c4da4300d4e9dba2ea72255090 (diff) | |
download | poky-0ca6f8f34604eaf47b749d10abcb95d17e58cfe9.tar.gz |
mc: fix build if ncurses have been configured without wide characters
Some distros like poky-tiny set ENABLE_WIDEC=false, which disables wide
character support for ncurses. The new patch fixes the build of mc for
this case.
Since 9000f8033662, NCURSES_WIDECHAR is set explicitly to 1 for musl.
This doesn't work for ENABLE_WIDEC==false. In this case,
NCURSES_WIDECHAR must be set explicitly to 0, as curses.h does not
record whether the ncurses library has actually been built with or
without wide characters.
Fixes: 9000f8033662 ("mc: upgrade 4.8.25 -> 4.8.26")
(From OE-Core rev: 9a3a1a806f0c6963c671f0a46f6e910c6206e681)
Signed-off-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r-- | meta/recipes-extended/mc/files/0001-Ticket-4200-fix-FTBFS-with-ncurses-build-with-disabl.patch | 87 | ||||
-rw-r--r-- | meta/recipes-extended/mc/mc_4.8.27.bb | 5 |
2 files changed, 91 insertions, 1 deletions
diff --git a/meta/recipes-extended/mc/files/0001-Ticket-4200-fix-FTBFS-with-ncurses-build-with-disabl.patch b/meta/recipes-extended/mc/files/0001-Ticket-4200-fix-FTBFS-with-ncurses-build-with-disabl.patch new file mode 100644 index 0000000000..408473664f --- /dev/null +++ b/meta/recipes-extended/mc/files/0001-Ticket-4200-fix-FTBFS-with-ncurses-build-with-disabl.patch | |||
@@ -0,0 +1,87 @@ | |||
1 | From e7bbf72544ab62db9c92bfe7bd1155227e78c621 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrew Borodin <aborodin@vmail.ru> | ||
3 | Date: Sat, 28 Aug 2021 11:46:53 +0300 | ||
4 | Subject: [PATCH] Ticket #4200: fix FTBFS with ncurses build with | ||
5 | --disable-widec. | ||
6 | |||
7 | Upstream-Status: Accepted [https://github.com/MidnightCommander/mc/commit/e7bbf72544] | ||
8 | Signed-off-by: Andrew Borodin <aborodin@vmail.ru> | ||
9 | --- | ||
10 | lib/tty/tty-ncurses.c | 8 ++++++++ | ||
11 | lib/tty/tty-ncurses.h | 5 +++++ | ||
12 | lib/tty/tty-slang.h | 2 ++ | ||
13 | src/filemanager/boxes.c | 2 ++ | ||
14 | 4 files changed, 17 insertions(+) | ||
15 | |||
16 | diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c | ||
17 | index f619c0a7bf31..13058a624208 100644 | ||
18 | --- a/lib/tty/tty-ncurses.c | ||
19 | +++ b/lib/tty/tty-ncurses.c | ||
20 | @@ -560,6 +560,7 @@ tty_fill_region (int y, int x, int rows, int cols, unsigned char ch) | ||
21 | void | ||
22 | tty_colorize_area (int y, int x, int rows, int cols, int color) | ||
23 | { | ||
24 | +#ifdef ENABLE_SHADOWS | ||
25 | cchar_t *ctext; | ||
26 | wchar_t wch[10]; /* TODO not sure if the length is correct */ | ||
27 | attr_t attrs; | ||
28 | @@ -585,6 +586,13 @@ tty_colorize_area (int y, int x, int rows, int cols, int color) | ||
29 | } | ||
30 | |||
31 | g_free (ctext); | ||
32 | +#else | ||
33 | + (void) y; | ||
34 | + (void) x; | ||
35 | + (void) rows; | ||
36 | + (void) cols; | ||
37 | + (void) color; | ||
38 | +#endif /* ENABLE_SHADOWS */ | ||
39 | } | ||
40 | |||
41 | /* --------------------------------------------------------------------------------------------- */ | ||
42 | diff --git a/lib/tty/tty-ncurses.h b/lib/tty/tty-ncurses.h | ||
43 | index d75df9533ab9..8feb17ccd045 100644 | ||
44 | --- a/lib/tty/tty-ncurses.h | ||
45 | +++ b/lib/tty/tty-ncurses.h | ||
46 | @@ -30,6 +30,11 @@ | ||
47 | #define NCURSES_CONST const | ||
48 | #endif | ||
49 | |||
50 | +/* do not draw shadows if NCurses is built with --disable-widec */ | ||
51 | +#if defined(NCURSES_WIDECHAR) && NCURSES_WIDECHAR | ||
52 | +#define ENABLE_SHADOWS 1 | ||
53 | +#endif | ||
54 | + | ||
55 | /*** typedefs(not structures) and defined constants **********************************************/ | ||
56 | |||
57 | /*** enums ***************************************************************************************/ | ||
58 | diff --git a/lib/tty/tty-slang.h b/lib/tty/tty-slang.h | ||
59 | index 5b12c6512853..eeaade388af4 100644 | ||
60 | --- a/lib/tty/tty-slang.h | ||
61 | +++ b/lib/tty/tty-slang.h | ||
62 | @@ -23,6 +23,8 @@ | ||
63 | #define COLS SLtt_Screen_Cols | ||
64 | #define LINES SLtt_Screen_Rows | ||
65 | |||
66 | +#define ENABLE_SHADOWS 1 | ||
67 | + | ||
68 | /*** enums ***************************************************************************************/ | ||
69 | |||
70 | enum | ||
71 | diff --git a/src/filemanager/boxes.c b/src/filemanager/boxes.c | ||
72 | index 3eb525be4a9b..98df5ff2ed9a 100644 | ||
73 | --- a/src/filemanager/boxes.c | ||
74 | +++ b/src/filemanager/boxes.c | ||
75 | @@ -280,7 +280,9 @@ appearance_box_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm | ||
76 | switch (msg) | ||
77 | { | ||
78 | case MSG_INIT: | ||
79 | +#ifdef ENABLE_SHADOWS | ||
80 | if (!tty_use_colors ()) | ||
81 | +#endif | ||
82 | { | ||
83 | Widget *shadow; | ||
84 | |||
85 | -- | ||
86 | 2.34.1 | ||
87 | |||
diff --git a/meta/recipes-extended/mc/mc_4.8.27.bb b/meta/recipes-extended/mc/mc_4.8.27.bb index 546e615d1d..e877780ea0 100644 --- a/meta/recipes-extended/mc/mc_4.8.27.bb +++ b/meta/recipes-extended/mc/mc_4.8.27.bb | |||
@@ -11,6 +11,7 @@ RRECOMMENDS:${PN} = "ncurses-terminfo" | |||
11 | SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ | 11 | SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ |
12 | file://0001-mc-replace-perl-w-with-use-warnings.patch \ | 12 | file://0001-mc-replace-perl-w-with-use-warnings.patch \ |
13 | file://nomandate.patch \ | 13 | file://nomandate.patch \ |
14 | file://0001-Ticket-4200-fix-FTBFS-with-ncurses-build-with-disabl.patch \ | ||
14 | " | 15 | " |
15 | SRC_URI[sha256sum] = "2f52dd9c75c20d8eac7701bd3a8c6c125aaf8cdd9cf12b78ca50a0102b543407" | 16 | SRC_URI[sha256sum] = "2f52dd9c75c20d8eac7701bd3a8c6c125aaf8cdd9cf12b78ca50a0102b543407" |
16 | 17 | ||
@@ -27,7 +28,9 @@ PACKAGECONFIG ??= "" | |||
27 | PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba," | 28 | PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba," |
28 | PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2," | 29 | PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2," |
29 | 30 | ||
30 | CFLAGS:append:libc-musl = ' -DNCURSES_WIDECHAR=1 ' | 31 | # enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config). |
32 | # When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case. | ||
33 | CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'}" | ||
31 | EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args" | 34 | EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args" |
32 | EXTRANATIVEPATH += "file-native" | 35 | EXTRANATIVEPATH += "file-native" |
33 | 36 | ||