<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/lang/python/python3, branch master</title>
<subtitle>Mirror of packages feed</subtitle>
<id>https://git-03.infra.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/'/>
<updated>2026-08-22T00:40:54Z</updated>
<entry>
<title>python3: stop forcing the ncursesw/{ncurses,panel}.h checks to "no"</title>
<updated>2026-08-22T00:40:54Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-20T20:30:13Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=6c1baacc1d4ef443b2ca762384d68982832abc4a'/>
<id>urn:sha1:6c1baacc1d4ef443b2ca762384d68982832abc4a</id>
<content type='text'>
d883c02a4106 ("python3: pin host curses to the SDK's narrow ncurses",
2026-05-28) forced every curses header check Python's configure.ac
runs to "no", specifically to keep host ncurses's (then narrow-only)
build from being shadowed by whatever curses headers the build host's
own distro happened to ship under /usr/include.

That assumption broke when openwrt/openwrt@18725c45a33a ("ncurses:
bump to 6.6.20260801") switched host ncurses to track ncurses' git
snapshots rather than the old 6.4 tarball: ncurses 6.6+ defaults to
building wide-character support for ABI 6 (cf_dft_widec, gated on
cf_cv_abi_default which is just the major version - this is a policy
change accumulated in ncurses' own git history since 6.4 was tagged,
not something OpenWrt or ncurses deliberately changed for wide-char
specifically). Host ncurses now produces ncursesw.pc/panelw.pc, which
Python 3.14's configure.ac finds independently via its own
PKG_CHECK_MODULES(CURSES, ncursesw)-style pkg-config probe ("checking
for ncursesw... yes") - a check that was never gated by these ac_cv_*
overrides in the first place. That flips on the wide-character code
paths in Modules/_cursesmodule.c, while the ac_cv_header_ncursesw_*=no
overrides still force the *header* checks to fail, so the actual
#include falls through to the stale narrow ncurses/ncurses.h. The
result is a mismatch between what pkg-config says is available and
what header actually got included, producing:

  ./Modules/_cursesmodule.c: error: implicit declaration of function
  'unget_wch'; did you mean 'ungetch'?

(and similarly for wget_wch, wins_nwstr, mvwins_nwstr - every
wide-character-only curses function).

Fix this at the python3/ncurses integration boundary rather than by
touching ncurses' own host build behaviour globally (see
openwrt/openwrt#24811, which tried --disable-widec on host ncurses
and had to be reverted: it also drops extended colors from host tic,
shrinking MAX_ENTRY_SIZE 32768-&gt;4096 so tic can no longer process the
xterm/xterm-256color terminfo entries needed to assemble the target
terminfo package). Since host ncurses's own -I.../include/ncursesw
already gets added via pkg-config's Cflags substitution regardless of
these overrides, stop forcing ac_cv_header_ncursesw_{ncurses,panel}_h
to "no" - configure now genuinely finds ncursesw/ncurses.h in
staging_dir/hostpkg, consistent with what its own pkg-config check
already reports, and both detection paths agree.

ac_cv_header_ncursesw_curses_h stays forced, along with the bare
(non-w) curses.h/ncurses.h/panel.h checks: host ncurses is configured
with --without-curses-h, so staging_dir/hostpkg/include/ncursesw/ has
no curses.h of its own to genuinely detect - a real "yes" here could
only ever come from the build host's own /usr/include/ncursesw/
curses.h (e.g. Fedora's ncurses-devel), the exact distro-shadowing
this override block exists to prevent.

Verified end to end: clean host python3 rebuild against unmodified
current ncurses compiles Modules/_cursesmodule.c and
Modules/_curses_panel.c without error, and the resulting
staging_dir/hostpkg python3.14 successfully `import curses` with
unget_wch present.

Fixes: d883c02a4106 ("python3: pin host curses to the SDK's narrow ncurses")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>python3: fix host PGO build failure on deep build paths</title>
<updated>2026-06-15T08:39:24Z</updated>
<author>
<name>Alexandru Ardelean</name>
</author>
<published>2026-06-14T06:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=e5034806063ce83b471caabc669080bef6c28f61'/>
<id>urn:sha1:e5034806063ce83b471caabc669080bef6c28f61</id>
<content type='text'>
Python 3.14 made "forkserver" the default multiprocessing start method on
Linux, which binds an AF_UNIX socket under $TMPDIR during the PGO profile-run.
OpenWrt points TMPDIR at the deeply nested build tree, so the socket path can
exceed the 108-byte AF_UNIX limit and abort the host build with "AF_UNIX path
too long" in test_re (cpython#149527). Pin TMPDIR=/tmp for the host build.

Signed-off-by: Alexandru Ardelean &lt;alex@shruggie.ro&gt;
</content>
</entry>
<entry>
<title>python3: pin host curses to the SDK's narrow ncurses</title>
<updated>2026-05-30T06:28:30Z</updated>
<author>
<name>Alexandru Ardelean</name>
</author>
<published>2026-05-28T10:28:54Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=d883c02a41060adccde76719a882b1a2c9bd2d0e'/>
<id>urn:sha1:d883c02a41060adccde76719a882b1a2c9bd2d0e</id>
<content type='text'>
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 &lt;jan.kardell@telliq.com&gt;
Signed-off-by: Alexandru Ardelean &lt;alex@shruggie.ro&gt;
</content>
</entry>
<entry>
<title>python3: bump to 3.14.5</title>
<updated>2026-05-29T15:40:28Z</updated>
<author>
<name>Alexandru Ardelean</name>
</author>
<published>2026-05-27T16:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=3fddbe2e07aa2355c48a86279d3fb43b322d6d1c'/>
<id>urn:sha1:3fddbe2e07aa2355c48a86279d3fb43b322d6d1c</id>
<content type='text'>
This is the latest 3.14.x point release with assorted bug fixes
from upstream. PYTHON3_PIP_VERSION is bumped from 26.0.1 to 26.1.1
to match the pip wheel bundled in the 3.14.5 source tarball; the
host build's ensurepip lookup of pip-$(PYTHON3_PIP_VERSION).whl
otherwise fails. The set of OpenWrt-side patches still applies
against the new source; only quilt context-line offsets needed
refreshing for the patches that touch Makefile.pre.in.

Signed-off-by: Alexandru Ardelean &lt;alex@shruggie.ro&gt;
</content>
</entry>
<entry>
<title>treewide: fix typos in version check overrides</title>
<updated>2026-05-25T05:02:47Z</updated>
<author>
<name>George Sapkin</name>
</author>
<published>2026-05-23T23:22:57Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=6a20260a1f42e57b64a1f435be4c26a569a72f71'/>
<id>urn:sha1:6a20260a1f42e57b64a1f435be4c26a569a72f71</id>
<content type='text'>
Fix shellcheck shell configuration in version check overrides.

Signed-off-by: George Sapkin &lt;george@sapk.in&gt;
</content>
</entry>
<entry>
<title>python3: add more packages to version check overrides</title>
<updated>2026-05-17T11:35:31Z</updated>
<author>
<name>George Sapkin</name>
</author>
<published>2026-05-16T15:29:09Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=9d69e4fa243afac1642bb92bf9db3ec703f0c431'/>
<id>urn:sha1:9d69e4fa243afac1642bb92bf9db3ec703f0c431</id>
<content type='text'>
Add source packages and library to version check overrides.

Fixes: b5d3a38e ("python3: move version checks to override")
Signed-off-by: George Sapkin &lt;george@sapk.in&gt;
</content>
</entry>
<entry>
<title>python3: move version checks to override</title>
<updated>2026-05-16T14:49:10Z</updated>
<author>
<name>George Sapkin</name>
</author>
<published>2026-05-10T12:15:08Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=b5d3a38e45f90e9d9f893d597fec6bd7b56524b6'/>
<id>urn:sha1:b5d3a38e45f90e9d9f893d597fec6bd7b56524b6</id>
<content type='text'>
Move existing version checks into override and add explicit package checks.

Signed-off-by: George Sapkin &lt;george@sapk.in&gt;
</content>
</entry>
<entry>
<title>python3: bump to version 3.14.4</title>
<updated>2026-04-16T18:48:56Z</updated>
<author>
<name>Alexandru Ardelean</name>
</author>
<published>2026-04-15T15:24:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=72aa700b230a518935a5a76658bb85d2a6defea7'/>
<id>urn:sha1:72aa700b230a518935a5a76658bb85d2a6defea7</id>
<content type='text'>
Also add no-mips16 to PKG_BUILD_FLAGS.
Should fix mipsel_24kc_24kf builds.

Signed-off-by: Alexandru Ardelean &lt;alex@shruggie.ro&gt;
</content>
</entry>
<entry>
<title>python3: merge python3-email into python3-urllib</title>
<updated>2026-04-04T15:27:26Z</updated>
<author>
<name>Alexandru Ardelean</name>
</author>
<published>2026-04-02T16:16:31Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=e0a12562b7bfd36348135cecd83073e89ebe2921'/>
<id>urn:sha1:e0a12562b7bfd36348135cecd83073e89ebe2921</id>
<content type='text'>
As we're seeing in various test.sh scrip runs, importing 'email' fails
with not finding 'urllib' and vice-versa.

Then via a7e96ec91 ("python3-email: add python3-urllib as dependency")
I created a circular dependency.
So, might as well merge the two packages into one (named python3-urllib)
and updates all dependencies to pull python3-urllib.

Signed-off-by: Alexandru Ardelean &lt;alex@shruggie.ro&gt;
</content>
</entry>
<entry>
<title>python3-email: add python3-urllib as dependency</title>
<updated>2026-04-01T07:29:21Z</updated>
<author>
<name>Alexandru Ardelean</name>
</author>
<published>2026-03-30T17:29:41Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=a7e96ec919a1a4efcf1d05ccccda09d95f98e864'/>
<id>urn:sha1:a7e96ec919a1a4efcf1d05ccccda09d95f98e864</id>
<content type='text'>
In recent versions of Python, trying to include 'email' also pulls
in urllib from CPython.
So just add it as dependency.

Signed-off-by: Alexandru Ardelean &lt;alex@shruggie.ro&gt;
</content>
</entry>
</feed>
