Patchwork mc: Fix musl build failure

login
register
mail settings
Submitter Paul Barker
Date Aug. 20, 2014, 3:15 p.m.
Message ID <1408547712-29911-1-git-send-email-paul@paulbarker.me.uk>
Download mbox | patch
Permalink /patch/78685/
State Accepted
Commit c8910783b58548543f4459998abeee76972fc02e
Headers show

Comments

Paul Barker - Aug. 20, 2014, 3:15 p.m.
The CTRL macro just needs to be defined.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
---
 meta/recipes-extended/mc/mc/mc-CTRL.patch | 31 +++++++++++++++++++++++++++++++
 meta/recipes-extended/mc/mc_4.7.5.2.bb    |  4 +++-
 meta/recipes-extended/mc/mc_4.8.12.bb     |  4 +++-
 3 files changed, 37 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-extended/mc/mc/mc-CTRL.patch

Patch

diff --git a/meta/recipes-extended/mc/mc/mc-CTRL.patch b/meta/recipes-extended/mc/mc/mc-CTRL.patch
new file mode 100644
index 0000000..d532bde
--- /dev/null
+++ b/meta/recipes-extended/mc/mc/mc-CTRL.patch
@@ -0,0 +1,31 @@ 
+Fix build with musl by ensuring CTRL is defined.
+
+musl does not define CTRL in <termios.h>, we could include <sys/ttydefaults.h>
+explicitly but it's easier just to ensure CTRL is defined.
+
+This patch is taken from Sabotage Linux, the license statement for patches and
+build scripts in Sabotage Linux says:
+
+    To the extent possible under law, Christian Neukirchen has waived
+    all copyright and related or neighboring rights to this work.
+
+    http://creativecommons.org/publicdomain/zero/1.0/
+
+Therefore this should be good to include in OpenEmbedded.
+
+Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
+
+Upstream-status: Pending
+
+diff -u mc-4.8.1.7.org/lib/tty/tty-ncurses.c mc-4.8.1.7/lib/tty/tty-ncurses.c
+--- mc-4.8.1.7.org/lib/tty/tty-ncurses.c
++++ mc-4.8.1.7/lib/tty/tty-ncurses.c
+@@ -65,7 +65,7 @@
+ 
+ /*** file scope macro definitions ****************************************************************/
+ 
+-#if defined(_AIX) && !defined(CTRL)
++#if !defined(CTRL)
+ #define CTRL(x) ((x) & 0x1f)
+ #endif
+ 
diff --git a/meta/recipes-extended/mc/mc_4.7.5.2.bb b/meta/recipes-extended/mc/mc_4.7.5.2.bb
index 0e4434c..b47eb02 100644
--- a/meta/recipes-extended/mc/mc_4.7.5.2.bb
+++ b/meta/recipes-extended/mc/mc_4.7.5.2.bb
@@ -8,7 +8,9 @@  RDEPENDS_${PN} = "ncurses-terminfo"
 
 PR = "r3"
 
-SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2"
+SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
+           file://mc-CTRL.patch \
+           "
 
 SRC_URI[md5sum] = "bdae966244496cd4f6d282d80c9cf3c6"
 SRC_URI[sha256sum] = "a68338862bb30017eb65ed569a58e80ab66ae8cef11c886440c9e9f4d1efc6ab"
diff --git a/meta/recipes-extended/mc/mc_4.8.12.bb b/meta/recipes-extended/mc/mc_4.8.12.bb
index b897193..bc462e3 100644
--- a/meta/recipes-extended/mc/mc_4.8.12.bb
+++ b/meta/recipes-extended/mc/mc_4.8.12.bb
@@ -6,7 +6,9 @@  SECTION = "console/utils"
 DEPENDS = "ncurses glib-2.0"
 RDEPENDS_${PN} = "ncurses-terminfo"
 
-SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2"
+SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
+           file://mc-CTRL.patch \
+           "
 
 SRC_URI[md5sum] = "a64c426364bfaee56b628f6c0738aade"
 SRC_URI[sha256sum] = "1054fcc27a488771cbe5b85d7c10135fa1cd1b7682a19930d44b51a023e39396"