Commit Graph
2924 Commits
Author SHA1 Message Date
Josef Schlehofer 9274fde0ba python3: match packages by pattern in version check override
The override lists every python3 package by name, so it has to change
whenever the package set does, and it cannot be used as is on branches
that build a different set, like libpython3-3.13 and python3-email on
openwrt-25.12.

Check the interpreter, python3-dev and libpython3-X.Y against the
version, and accept the standard library modules and -src packages by
pattern, since they ship no executables. python3-dev now gets a real
check through python3-config and patchlevel.h, because python3-config
prints no version.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2026-09-28 14:03:35 +03:00
Austin Lane 0616b9d7f7 python-platformio: update to v6.2.0
tested with meshtasticd (dependent) compile

Signed-off-by: Austin Lane <vidplace7@gmail.com>
2026-09-17 20:45:34 +03:00
Daniel Golle 80d3aabb68 python3: use ATOMIC64_DEPENDS
libatomic is only needed where the compiler does not inline 64-bit
atomics, but the package depends on it on every target.
ATOMIC64_DEPENDS restricts the dependency to those targets.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-09-16 16:35:19 +01:00
Wei-Ting Yang 16aaa680dd django-restframework: update to 3.18.1
Release notes:
https://github.com/encode/django-rest-framework/releases/tag/3.18.1

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-09-12 11:41:24 +03:00
Wei-Ting Yang 994b3ff8d2 django: update to 6.1.1
Release notes:
https://docs.djangoproject.com/en/6.1/releases/6.1.1/

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-09-12 11:41:24 +03:00
Wei-Ting Yang 9372875456 python-sqlparse: update to 0.6.0
Fix CVE-2026-54284, CVE-2026-59893, CVE-2026-59894, CVE-2026-71491, and
CVE-2026-84305.

Full release notes:
https://github.com/andialbrecht/sqlparse/blob/0.6.0/CHANGELOG

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-09-12 11:41:24 +03:00
Austin Lane eeb44829f3 python-charset-normalizer: update to 3.5.1
Adds support for setuptools 84.

chardet-normalizer has been broken since setuptools 84 was merged in
6211fee354

Signed-off-by: Austin Lane <vidplace7@gmail.com>
2026-08-31 09:20:56 +03:00
Alexandru Ardelean cfe65a4c24 pillow: bump to 12.3.0
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:34 +03:00
Alexandru Ardelean 4e95a5895e python3: update to 3.14.7
Refresh PKG_HASH from the python.org release tarball, and bump
PYTHON3_PIP_VERSION to 26.2.1 to match the pip wheel bundled in 3.14.7's
ensurepip (it already matches the python-pip package version).

Refresh the patches against the new source; only the hunk offsets shift.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-24 20:05:34 +03:00
Daniel Golle 6c1baacc1d python3: stop forcing the ncursesw/{ncurses,panel}.h checks to "no"
d883c02a41 ("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@18725c45a3 ("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->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: d883c02a41 ("python3: pin host curses to the SDK's narrow ncurses")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-08-22 01:40:54 +01:00
Alexandru Ardelean b785b5c631 python-userpath: remove package
userpath adds to and removes from the user's PATH. Its only consumer in
the feed was pipx, which has just been removed, so python-userpath now
has no users. Remove it as well.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-21 14:50:02 +03:00
Alexandru Ardelean 89ac973b99 pipx: remove package
pipx installs and runs Python applications in isolated virtual
environments. That workflow sees little use on OpenWrt's embedded
targets, and keeping the package current has become a recurring
maintenance burden as upstream keeps adding build- and run-time
dependencies to support it. Nothing in the feed depends on pipx, so
remove it.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-21 14:50:02 +03:00
Alexandru Ardelean 9bb7c9d0fb python-typing-extensions: bump to 4.16.0
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 14:39:47 +03:00
Alexandru Ardelean 0dab5bb13b python-pyasn1: bump to 0.6.4
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 14:39:47 +03:00
Alexandru Ardelean 11a4efe013 python-greenlet: bump to 3.5.4
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:28 +03:00
Alexandru Ardelean 2940fb0483 python-cython: bump to 3.2.9
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:28 +03:00
Alexandru Ardelean 088040f3ec python-cffi: bump to 2.1.1
Refresh sha256 from PyPI sdist. Drop the macOS cross-compile patch;
2.1.1 already carries the sysconfig.get_platform() fix upstream.

Add test-version.sh: 2.1.1 ships the cffi-gen-src console tool, a
subcommand CLI with no version flag, so the generic per-executable
version probe fails the package ("No executables in the package
provided version"). test-version.sh skips that probe, and test.sh now
asserts cffi.__version__ against the packaged version.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:28 +03:00
Alexandru Ardelean bdef92ab04 python-pika: add test script
Add a CI test.sh exercising basic package functionality.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:20 +03:00
Alexandru Ardelean 2b39468493 python-click: bump to 8.4.2
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:20 +03:00
Alexandru Ardelean c310f23e7f python-pika: bump to 1.4.4
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:20 +03:00
Alexandru Ardelean 59f9c1e9f7 python-awscli: bump to 1.46.0
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:45:20 +03:00
Alexandru Ardelean 1967bdda14 python-pytest-forked: add test script
Add a CI test.sh exercising basic package functionality.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:12:39 +03:00
Alexandru Ardelean 5b731fd697 python-pip: bump to 26.2.1
Refresh sha256 from the PyPI sdist and refresh 003 for the shifted line.

Retarget 002-pip-runner-pyc-fix.patch instead of dropping it: in 26.2.1
get_runnable_pip() moved from build_env.py (now a package) to
_internal/utils/misc.py. The function is otherwise unchanged and still
returns __pip-runner__.py, so the .pyc fallback is still required. We ship
pip byte-compiled only (the .py sources live in the -src package), so
without it build isolation cannot locate the runner and every PEP 517
install fails on target. This is a packaging workaround, not an upstream
bug, so upstream has no reason to carry it.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:12:39 +03:00
Alexandru Ardelean eba23de61a python-pytest-forked: bump to 1.7.5
Refresh sha256 from PyPI sdist. Upstream renamed the sdist to use an
underscore (pytest_forked-1.7.5.tar.gz), so set PYPI_SOURCE_NAME.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:12:39 +03:00
Alexandru Ardelean 7d286b87f6 python-pytest: bump to 9.1.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 13:12:39 +03:00
Alexandru Ardelean d29e862afe python-uvicorn: add test script
Add a CI test.sh exercising basic package functionality.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 12:58:32 +03:00
Alexandru Ardelean 64b87f0145 python-starlette: add test script
Add a CI test.sh exercising basic package functionality.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 12:58:32 +03:00
Alexandru Ardelean 8059e92d15 python-socketio: bump to 5.16.4
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 12:58:32 +03:00
Alexandru Ardelean ba943d2243 python-uvicorn: bump to 0.52.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 12:58:32 +03:00
Alexandru Ardelean 472f9a67ab python-starlette: bump to 1.6.0
Refresh sha256 from PyPI sdist. 1.6.0 switched its build backend from
setuptools to hatchling, so build-depend on python-hatchling/host.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 12:58:32 +03:00
Alexandru Ardelean 9ab5244d8a pillow: drop the pybind11 build dependency
Pillow uses pybind11 only for pybind11.setup_helpers.ParallelCompile,
which parallelises the C extension build; it ships no runtime bindings.
Patch setup.py to remove that import and call and drop pybind11 from
build-system.requires, then remove python-pybind11/host from
PKG_BUILD_DEPENDS. The C extensions are compiled serially instead, with
no functional change to the package.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 11:16:03 +03:00
Alexandru Ardelean fbd7c9fabb python-marshmallow: add test script
Add a CI test.sh exercising basic package functionality.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 11:04:22 +03:00
Alexandru Ardelean edc5f6e971 python-platformdirs: bump to 4.11.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 11:04:22 +03:00
Alexandru Ardelean d87ee1e571 python-marshmallow: bump to 4.3.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 11:04:22 +03:00
Alexandru Ardelean 84beacb606 python-mako: bump to 1.4.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 11:04:22 +03:00
Alexandru Ardelean 8906f3f08a python-flit-core: revert to 3.12.0
flit-core 4.0.2 breaks the whole python feed. flit-core is a host-only
build backend, but nearly everything built with it caps flit_core<4 (the
host tools wheel/installer/pyproject-hooks/typing-extensions and dozens of
leaf packages like marshmallow, click, pip), so their host builds fail with
"Missing dependencies: flit_core<4" against 4.0.2. Nothing needs
flit_core>=4; 3.12.0 satisfies every cap and has no runtime impact. Revert
until the ecosystem's upper bounds catch up.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 09:43:46 +03:00
Alexandru Ardelean 96896a109e python-s3transfer: bump to 0.19.2
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 08:49:37 +03:00
Alexandru Ardelean bd1f5330d5 python-botocore: bump to 1.43.67
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 08:49:37 +03:00
Alexandru Ardelean 206b50193d python-boto3: bump to 1.43.67
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-11 08:49:37 +03:00
Alexandru Ardelean f46fc0fed0 python-msgpack: add test script
Add a CI test.sh exercising basic package functionality.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 22:26:21 +03:00
Alexandru Ardelean 4f7144e2e1 python-eventlet: bump to 0.41.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 22:26:21 +03:00
Alexandru Ardelean 2650954102 python-msgpack: bump to 1.2.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 22:26:21 +03:00
Alexandru Ardelean a08c70b637 python-gmpy2: bump to 2.3.1
Refresh sha256 from PyPI sdist.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 22:26:21 +03:00
Wei-Ting Yang 8853704806 python3-drf-nested-routers: update to 0.95.3
Release notes:
https://github.com/alanjds/drf-nested-routers/releases/tag/v0.95.2
https://github.com/alanjds/drf-nested-routers/releases/tag/v0.95.3

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-08-10 20:27:57 +03:00
Wei-Ting Yang 8d58a98809 django-restframework: update to 3.18.0
Release notes:
https://github.com/encode/django-rest-framework/releases/tag/3.18.0

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-08-10 20:27:57 +03:00
Wei-Ting Yang 47f7e0f676 django: update to 6.1
Release notes:
https://docs.djangoproject.com/en/6.1/releases/6.1/

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-08-10 20:27:57 +03:00
Wei-Ting Yang 04e4f3f808 python-asgiref: update to 3.12.1
Release notes:
https://github.com/django/asgiref/blob/main/CHANGELOG.txt

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-08-10 20:27:57 +03:00
Alexandru Ardelean 3caf694947 python-installer: allow flit_core 4.x as the build backend
installer caps flit_core<4 in its build-system, so its /host build fails
with "Missing dependencies: flit_core<4" against flit-core 4.0.2. flit_core
4 builds it unchanged; relax the upper bound.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 20:17:38 +03:00
Alexandru Ardelean d32f366b14 python-pyproject-hooks: allow flit_core 4.x as the build backend
pyproject-hooks caps flit_core<4 in its build-system, so its /host build
fails with "Missing dependencies: flit_core<4" against flit-core 4.0.2.
flit_core 4 builds it unchanged; relax the upper bound.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 20:17:38 +03:00
Alexandru Ardelean 99a2de54f5 python-typing-extensions: allow flit_core 4.x as the build backend
Like python-wheel, typing-extensions caps its build backend at
"flit_core >=3.11,<4", so python-typing-extensions/host fails with
"Missing dependencies: flit_core<4,>=3.11" now that the feed ships
flit-core 4.0.2. flit_core 4 builds it unchanged; relax the upper bound.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-10 16:45:20 +03:00