diff mbox series

[1/1] package/ncurses: put headers in the common include directory.

Message ID 20240915131934.1636336-1-hugo.cornelis@essensium.com
State Rejected
Headers show
Series [1/1] package/ncurses: put headers in the common include directory. | expand

Commit Message

Hugo Cornelis Sept. 15, 2024, 1:19 p.m. UTC
When wide char is enabled in ncurses, packages such as procps-ng,
expect ncurses.h in a 'cursesw' subdirectory.  We have to disable
ncurses overwriting header files in the regular directory.

This fixes several builds running on the autobuilders (see below for a
few examples) but not all of them.  For examples this does not solve
the similar but not the same build problem:
http://autobuild.buildroot.org/results/e7665f43b97c6f90a7a8ce83eb16cfc364c3fc1a/

Fixes:
  - http://autobuild.buildroot.org/results/72d8bf3e618ae7797f3311fbbdbd90d77dfed4ad/
  - http://autobuild.buildroot.org/results/809dac9945e24c7e0bb6cb37c38cb258b41b3276/
  - http://autobuild.buildroot.org/results/12b348238bd3ef8116ac48a35d0a9d18dad38f04/
  - http://autobuild.buildroot.org/results/f86546cc0934f44e0d1851a932d64d2d29790f17/
  - http://autobuild.buildroot.org/results/93ca9899542d4ef31f3609219e09ce1db8ba7cad/
  - http://autobuild.buildroot.org/results/901e5a5e394d6e0b67bff15946ece9d66398b73d/
  - http://autobuild.buildroot.org/results/10c23c9f5d79dcb8a68551a15009e9d1b3be1fff/
  - http://autobuild.buildroot.org/results/38e8aeb5469314f31c78506f62a714f57ff030d9/
  - http://autobuild.buildroot.org/results/9e09b7ba0c6213471c73ffc6cb3c777b4aa33b23/
  - http://autobuild.buildroot.org/results/82d747d0d6b7150cba0b921cc9431c0f5bdf86f7/
Signed-off-by: Hugo Cornelis <hugo.cornelis@essensium.com>
---
 package/ncurses/ncurses.mk | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Thomas Petazzoni Sept. 15, 2024, 2:02 p.m. UTC | #1
On Sun, 15 Sep 2024 15:19:34 +0200
Hugo Cornelis via buildroot <buildroot@buildroot.org> wrote:

> When wide char is enabled in ncurses, packages such as procps-ng,
> expect ncurses.h in a 'cursesw' subdirectory.  We have to disable
> ncurses overwriting header files in the regular directory.
> 
> This fixes several builds running on the autobuilders (see below for a
> few examples) but not all of them.  For examples this does not solve
> the similar but not the same build problem:
> http://autobuild.buildroot.org/results/e7665f43b97c6f90a7a8ce83eb16cfc364c3fc1a/
> 
> Fixes:
>   - http://autobuild.buildroot.org/results/72d8bf3e618ae7797f3311fbbdbd90d77dfed4ad/
>   - http://autobuild.buildroot.org/results/809dac9945e24c7e0bb6cb37c38cb258b41b3276/
>   - http://autobuild.buildroot.org/results/12b348238bd3ef8116ac48a35d0a9d18dad38f04/
>   - http://autobuild.buildroot.org/results/f86546cc0934f44e0d1851a932d64d2d29790f17/
>   - http://autobuild.buildroot.org/results/93ca9899542d4ef31f3609219e09ce1db8ba7cad/
>   - http://autobuild.buildroot.org/results/901e5a5e394d6e0b67bff15946ece9d66398b73d/
>   - http://autobuild.buildroot.org/results/10c23c9f5d79dcb8a68551a15009e9d1b3be1fff/
>   - http://autobuild.buildroot.org/results/38e8aeb5469314f31c78506f62a714f57ff030d9/
>   - http://autobuild.buildroot.org/results/9e09b7ba0c6213471c73ffc6cb3c777b4aa33b23/
>   - http://autobuild.buildroot.org/results/82d747d0d6b7150cba0b921cc9431c0f5bdf86f7/
> Signed-off-by: Hugo Cornelis <hugo.cornelis@essensium.com>

Thanks for the research!

However, what is the impact of this change on other packages than
procps-ng, that currently build fine? Indeed if I understand your
change correctly, it means that the ncurses header files will be in a
different place... potentially breaking other packages, no?

Thomas
diff mbox series

Patch

diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index 00e1c0d424..71e2b9bc75 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -29,13 +29,21 @@  NCURSES_CONF_OPTS = \
 	--disable-rpath-hack \
 	--enable-echo \
 	--enable-const \
-	--enable-overwrite \
 	--enable-pc-files \
 	--disable-stripping \
 	--with-pkg-config-libdir="/usr/lib/pkgconfig" \
 	$(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \
 	--without-manpages
 
+# When wide char is enabled in curses, packages such as procps-ng,
+# expect ncurses.h in a 'cursesw' subdirectory.  So we disable ncurses
+# overwriting header files in the regular directory.
+ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
+NCURSES_CONF_OPTS += --disable-overwrite
+else
+NCURSES_CONF_OPTS += --enable-overwrite
+endif
+
 ifeq ($(BR2_STATIC_LIBS),y)
 NCURSES_CONF_OPTS += --without-shared --with-normal
 else ifeq ($(BR2_SHARED_LIBS),y)