python3: pin host curses to the SDK's narrow ncurses
authorAlexandru Ardelean <redacted>
Thu, 28 May 2026 10:28:54 +0000 (13:28 +0300)
committerAlexandru Ardelean <redacted>
Sat, 30 May 2026 06:28:30 +0000 (09:28 +0300)
commitd883c02a41060adccde76719a882b1a2c9bd2d0e
treebf381b71cd11106509772a11ae1b4f5a0c4469fe
parent214b265f4a36d6c55bea58fabe5a6bc0f06f42d6
python3: pin host curses to the SDK's narrow ncurses

Removing the ncursesw path from include avoids seeing the wide-char
version of ncurses, so the host build picks up the narrow static lib
that the OpenWrt SDK stages. To keep that pin from leaking back in
through other curses headers the build host may have under
/usr/include, also force every header check in Python's configure.ac
AC_CHECK_HEADERS(curses.h ncurses.h ncursesw/ncurses.h
ncursesw/curses.h ncursesw/panel.h panel.h) line to "no" via cached
ac_cv_header_* variables.

The narrow ncursesw_* trio was enough on the original reporter's
host; Jan Kardell's review of the first cut hit a build where
`/usr/include/curses.h` and `/usr/include/ncurses.h` from the
distro's libncurses-dev were still being picked up. Adding the
non-wide entries (and panel.h for symmetry, in case a host also
ships /usr/include/panel.h alone) makes the override insensitive to
whichever curses dev packages the host distro happens to provide.

Reported-by: Jan Kardell <redacted>
Signed-off-by: Alexandru Ardelean <redacted>
lang/python/python3/Makefile
git clone https://git.99rst.org/PROJECT