procps-ng: fix/patch wrong ncursesw headers assumption

The configure script/code assumes ncursesw headers live in
/usr/include/ncursesw.
That's a distribution-ism where they want to have both versions for
ABI/API compatibility, but not the case for embedded where that's not a
concern.
Hence kill the hard-coding and use pkg-config to find this out instead
of the half-made effort about it.
Fixes:
http://autobuild.buildroot.net/results/97d/97dc7f238457609c861c24f81b556973f5dec9c1/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Gustavo Zacarias 2015-04-07 19:50:06 -03:00 committed by Thomas Petazzoni
parent 3a2816b877
commit fb9b9c081a
2 changed files with 58 additions and 1 deletions

View file

@ -0,0 +1,56 @@
Don't assume ncursesw headers are in ../usr/include/ncursesw/..
On a pure build/system without legacy ncurses that may not be true.
Since we're using pkg-config let it provide the correct include path.
Status: contacted one of the maintainers on sf.net
(ticket submission closed to the public, no other way of contacting them).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura procps-ng-3.3.10.orig/configure.ac procps-ng-3.3.10/configure.ac
--- procps-ng-3.3.10.orig/configure.ac 2015-04-07 19:21:55.729819952 -0300
+++ procps-ng-3.3.10/configure.ac 2015-04-07 19:32:09.511706653 -0300
@@ -138,7 +138,8 @@
])
AM_CONDITIONAL(WITH_NCURSES, true)
if test "$enable_watch8bit" = yes; then
- PKG_CHECK_MODULES([NCURSESW], [ncursesw], [WATCH_NCURSES_LIBS="$NCURSESW_LIBS"], [
+ PKG_CHECK_MODULES([NCURSESW], [ncursesw], [WATCH_NCURSES_LIBS="$NCURSESW_LIBS"]
+ [WATCH_NCURSES_CFLAGS="$NCURSESW_CFLAGS"], [
AC_CHECK_LIB([ncursesw], [addwstr], [WATCH_NCURSES_LIBS=-lncursesw],
[AC_MSG_ERROR([Cannot find ncurses wide library ncursesw with --enable-watch8bit])])
])
@@ -148,6 +149,7 @@
fi
AC_SUBST([NCURSES_LIBS])
AC_SUBST([WATCH_NCURSES_LIBS])
+AC_SUBST([WATCH_NCURSES_CFLAGS])
AC_ARG_WITH([systemd],
[AS_HELP_STRING([--with-systemd], [enable systemd support])],
diff -Nura procps-ng-3.3.10.orig/Makefile.am procps-ng-3.3.10/Makefile.am
--- procps-ng-3.3.10.orig/Makefile.am 2015-04-07 19:21:55.655817434 -0300
+++ procps-ng-3.3.10/Makefile.am 2015-04-07 19:32:54.516238136 -0300
@@ -83,6 +83,7 @@
slabtop_LDADD = @NCURSES_LIBS@
watch_SOURCES = watch.c $(top_srcdir)/lib/strutils.c $(top_srcdir)/lib/fileutils.c
watch_LDADD = @WATCH_NCURSES_LIBS@
+watch_CFLAGS = @WATCH_NCURSES_CFLAGS@
endif
if BUILD_SKILL
diff -Nura procps-ng-3.3.10.orig/watch.c procps-ng-3.3.10/watch.c
--- procps-ng-3.3.10.orig/watch.c 2015-04-07 19:21:55.707819203 -0300
+++ procps-ng-3.3.10/watch.c 2015-04-07 19:22:27.323895083 -0300
@@ -51,10 +51,8 @@
#ifdef WITH_WATCH8BIT
# include <wchar.h>
# include <wctype.h>
-# include <ncursesw/ncurses.h>
-#else
-# include <ncurses.h>
#endif /* WITH_WATCH8BIT */
+#include <ncurses.h>
#ifdef FORCE_8BIT
# undef isprint

View file

@ -10,8 +10,9 @@ PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production
PROCPS_NG_LICENSE = GPLv2+, libproc and libps LGPLv2+
PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB
PROCPS_NG_INSTALL_STAGING = YES
PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf
# For 0002-use-pkgconfig-for-ncursesw-cflags.patch
PROCPS_NG_AUTORECONF = YES
# If both procps-ng and busybox are selected, make certain procps-ng
# wins the fight over who gets to have their utils actually installed.