Commit Graph

2784 Commits

Author SHA1 Message Date
Alexandru Ardelean c3847cab89 python-aiosignal: remove the package
aiosignal is a small aio-libs helper that provides a Signal class for
fan-out of coroutine callbacks. Its only practical use is as a runtime
dependency of aiohttp, which is not packaged in this repository, and no
other package here declares aiosignal as a runtime or build dependency.

Drop the package; users who pull in aiohttp via pip on the target will
get aiosignal as a transitive dependency anyway.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-06-01 08:13:57 +03:00
Alexandru Ardelean a61f98dfcd python-anyio: add test.sh and python3-urllib dep
Exercise anyio end-to-end with the structured-concurrency example
from the upstream "Creating and managing tasks" docs: spawn 5 child
tasks via create_task_group(), each appending to a shared list, then
verify all completed.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-06-01 08:10:59 +03:00
Alexandru Ardelean f8921064dc python-maxminddb: extend test.sh past the import smoke check
Previous test.sh only confirmed the import smoke check. Add a $2
version check, assert MODE_* constants are distinct ints, and exercise
the loader's error paths (missing file, non-MMDB temp file).

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-06-01 08:10:59 +03:00
Alexandru Ardelean ab664d4562 python-maxminddb: add setuptools-scm host build dep
maxminddb 3.x switched to PEP 517 with build-system.requires including
setuptools-scm, so the wheel build now fails with "ERROR Missing
dependencies: setuptools-scm". Wire it into PKG_BUILD_DEPENDS and bump.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-06-01 08:10:59 +03:00
Alexandru Ardelean 8eb1580bc8 python-zipp: remove the package
zipp is a small backport / forward-port of zipfile.Path, originally
useful when zipfile.Path was new in stdlib (Python 3.8). With the
python3 package now tracking 3.14, zipfile.Path covers what
zipp.Path exposes, and no other package in this repository declares
zipp as a runtime or build dependency.

Drop the package to remove the dead weight; users who still need it
can install it via pip on the target.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-31 20:21:01 +03:00
George Sapkin bb1df369d5 python-uvicorn: fix dependencies
Add the missing python-hatchling/host dependency.

Fixes: 072fde3b ("python-uvicorn: add new package")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-30 21:46:27 +03:00
George Sapkin 7986c2acaa python-anyio: fix dependencies
Add the missing python-setuptools-scm/host dependency.

Fixes: 71be202c ("python-anyio: add new package")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-30 21:46:27 +03:00
Alexandru Ardelean d883c02a41 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 <jan.kardell@telliq.com>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-30 09:28:30 +03:00
Alexandru Ardelean 3fddbe2e07 python3: bump to 3.14.5
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 <alex@shruggie.ro>
2026-05-29 18:40:28 +03:00
Alexandru Ardelean 903d8a3d07 python-cryptography: update to 48.0.0 + backport cross-include fix
Bump from 46.0.7 to the current 48.0.0 release. Notable upstream
changes since 46.0.7:

- 48.0.0 drops Python 3.8 support (requires 3.9+); raises
  Py_LIMITED_API floor to 0x030900f0.
- Adds ML-KEM / ML-DSA post-quantum primitives via OpenSSL 3.5.0+
  (in addition to existing AWS-LC / BoringSSL paths).
- BACKWARDS INCOMPATIBLE: stricter X.509 CRL signature-algorithm
  matching (mismatched inner/outer algs now raise ValueError at parse
  time).
- Drops 32-bit Windows wheels and ships macOS only on arm64.

Replace the old downstream cross-compile fix with a backport of the
upstream-merged version from pyca/cryptography PR #14904
(commit 5d072cb2a685, scheduled for the release after 48.0.0).

Release notes:
https://cryptography.io/en/latest/changelog/#v48-0-0

Fixes: https://github.com/openwrt/packages/issues/29521

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-29 06:41:17 +03:00
Alexandru Ardelean d1e90df7ce python-marshmallow: fix missing host-build dependencies
When python3 -m build is invoked during host-compile, it fails with:

  /builder/staging_dir/hostpkg/bin/python3.14: No module named build

The package's HOST_BUILD_DEPENDS only pulled in python3 and
python-packaging, missing the actual host tooling for the new
pyproject build flow:

  - python-build      : provides the 'build' module itself
  - python-installer  : installs the resulting wheel
  - python-wheel      : wheel format support
  - python-flit-core  : marshmallow's declared build-backend
                        (build-backend = "flit_core.buildapi" in
                        pyproject.toml)

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-27 15:18:29 +03:00
Alexandru Ardelean e74e7138fb python-argcomplete: add test-version.sh for CI
The three CLI helpers shipped by python3-argcomplete
(activate-global-python-argcomplete, register-python-argcomplete,
python-argcomplete-check-easy-install-script) don't accept a --version
flag and emit no PKG_VERSION string in their usage output. With all
three executables missing the version, the generic CI test stage
fails with "No executables in the package provided version 3.6.3".

Add a test-version.sh that emits a line containing PKG_VERSION so the
framework's "Version check override" passes. The existing test.sh
already exercises the Python module import.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-25 18:47:13 +03:00
Alexandru Ardelean 24f5b1039c python-pymysql: update to 1.1.3
Security fix:
- Fix Cursor.callproc() to escape procedure name, preventing SQL injection
  when calling a procedure with a string received from an untrusted source
- NOTICE: Backward compatibility change - procedure names like
  "dbname.funcname" are now backtick-quoted: ``CALL \`dbname.funcname\` ``

Other changes:
- CI: use ubuntu-slim, add dependabot for GitHub Actions
- Bump GitHub Actions (checkout v4→v6, setup-python v5→v6, codecov v5→v6)
- Add publish.yml workflow (copied from psf/requests)
- Upgrade dependencies: cryptography>=46.0.7, PyNaCl>=1.6.2
- Drop Python 3.8, require Python 3.9+

Changelog:
https://github.com/PyMySQL/PyMySQL/releases/tag/v1.1.3

NOTE: added test.sh for basic validation.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-25 18:47:13 +03:00
Alexandru Ardelean 29cbf98edb python-pipx: update to 1.12.0
New features (pipx 1.12.0):
- Add --fetch-python / PIPX_FETCH_PYTHON env var (always|missing|never)
  to control standalone Python interpreter downloads
- Add opt-in "uv" backend: pipx can now use "uv venv" and "uv pip" for
  managing virtual environments
  * When "uv" is on PATH, defaults to using uv for NEW venvs
  * Existing venvs keep their recorded backend (pip or uv)
  * Set PIPX_DEFAULT_BACKEND=pip to force pip even with uv available
  * pipx install pip always uses the pip backend (uv venvs have no pip)

Deprecations:
- --fetch-missing-python and PIPX_FETCH_MISSING_PYTHON deprecated;
  use --fetch-python=missing or PIPX_FETCH_PYTHON=missing instead

Changelog:
https://github.com/pypa/pipx/releases/tag/1.12.0

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-25 18:47:13 +03:00
Alexandru Ardelean 9e8593874a python-requests: update to 2.34.2
Fixes:
- Moved "headers" input type back to Mapping to avoid invariance issues
  with MutableMapping and inferred dict types.
  Users calling Request.headers.update() may need to narrow typing in code
  (Closes #7441).

Security:
- CVE-2026-25645: Fixed extract_zipped_paths to extract contents to
  a non-deterministic temp directory, to prevent malicious file replacement.
  Does not affect default usage of Requests, only apps calling this utility
  directly.

Changelog:
https://github.com/psf/requests/releases/tag/v2.34.2

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-25 18:47:13 +03:00
Alexandru Ardelean 594e2ee638 python-click: update to 8.3.3
Fixes (click 8.3.3):
- Fix help strings for "help_option_names" that do not contain "-"
- Help string generation now properly handles option names with dashes

Changelog:
https://github.com/pallets/click/releases

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-25 18:47:13 +03:00
George Sapkin 6a20260a1f treewide: fix typos in version check overrides
Fix shellcheck shell configuration in version check overrides.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-25 08:02:47 +03:00
Wei-Ting Yang c41f0fc54b python-urllib3: update to 2.7.0
Fix CVE-2026-44431 and CVE-2026-44432.

Full release notes:
https://github.com/urllib3/urllib3/releases/tag/2.7.0

- Drop 0001-relax-setuptools-scm-version-constraint.patch since
  upstream changed the setuptools-scm constraint to >=8,<11.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-05-19 08:49:41 +03:00
George Sapkin 1130219346 python-tabulate: add version check override
Skip version checks as none of the executables seem to report their
versions.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-17 14:35:31 +03:00
George Sapkin 31247cdbe5 python-pyserial: add version check override
Skip version checks as none of the executables seem to report their
versions.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-17 14:35:31 +03:00
George Sapkin e2ffecaab6 python-pyserial: fix host build
Fixes: ac212e0c ("python-pyserial: add hostbuild")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-17 14:35:31 +03:00
George Sapkin 9d69e4fa24 python3: add more packages to version check overrides
Add source packages and library to version check overrides.

Fixes: b5d3a38e ("python3: move version checks to override")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-17 14:35:31 +03:00
Wei-Ting Yang b63a1ebcd2 python-certifi: update to 2026.4.22
Use the latest CA bundle from Mozilla.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-05-17 08:59:58 +02:00
George Sapkin b5d3a38e45 python3: move version checks to override
Move existing version checks into override and add explicit package checks.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-16 17:49:10 +03:00
Wei-Ting Yang d677c11d96 django: bump to version 6.0.5
Fix CVE-2026-5766, CVE-2026-35192, and CVE-2026-6907.

Full release notes:
https://docs.djangoproject.com/en/6.0/releases/6.0.5/

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-05-16 10:58:51 +03:00
Wei-Ting Yang 586e79390b python-pytz: bump to 2026.2
Update timezone data to 2026.2 release.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-05-16 10:58:37 +03:00
Alexandru Ardelean dc83108af4 python-installer: bump to 1.0.1
1.0.1 fixes a false-positive path-traversal check in destinations.py:
the 1.0.0 code used Path.resolve() to validate that each installed file
stays within the --destdir, but Path.resolve() follows symlinks.
OpenWrt's staging dir and toolchain directories contain many symlinks,
so resolved paths could escape the destdir comparison and trigger:

  ValueError: Attempting to write <file> outside of the target directory

1.0.1 replaces Path.resolve() with os.path.abspath(), which normalises
the path without following symlinks, eliminating the false positive.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-16 10:22:16 +03:00
George Sapkin 6886c135f3 python-platformio: fix host build
Fix bottle dependency.

Fixes: e15bac97 ("python-platformio: add target package")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-13 23:02:33 +03:00
George Sapkin 578b7e3dea python-wsproto: fix host build
Add missing includes.

Fixes: b12e18eb ("python-wsproto: add host package")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-13 23:02:33 +03:00
George Sapkin 288d8e8942 python-h11: fix host build
Add missing includes.

Fixes: 0a75ad1e ("python-h11: add host package")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-13 23:02:33 +03:00
George Sapkin 9a04293388 python3-bottle: fix host build
Add missing includes.

Fixes: 9ff014b4 ("python3-bottle: add host package")
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-13 23:02:33 +03:00
George Sapkin 02221e455b python-protobuf: add new package
Add Protobuf Python package.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-13 20:57:12 +03:00
George Sapkin e15bac9722 python-platformio: add target package
Remove host-only build and add source package.

Adding missing ajsonrpc dependency to PlatformIO.

Link: https://github.com/search?q=repo%3Aplatformio%2Fplatformio-core%20ajsonrpc&type=code
Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin b12e18eb00 python-wsproto: add host package
Add host package necessary for python-platformio/host.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin 072fde3b5e python-uvicorn: add new package
Uvicorn is an ASGI web server implementation for Python.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin 54d7e96030 python-starlette: add new package
Starlette is a lightweight ASGI framework/toolkit, which is ideal for
building async web services in Python.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin aeef8245ad python-semantic-version: add target package
Remove host-only build.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin 92e9b7e5eb python-marshmallow: add new package
A lightweight library for converting complex datatypes to and from native
Python datatypes.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin 0a75ad1e22 python-h11: add host package
Add host package necessary for python-uvicorn/host.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin 9ff014b4fa python3-bottle: add host package
Add host package necessary for python-platformio/host.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin 71be202c45 python-anyio: add new package
High-level concurrency and networking framework on top of asyncio or Trio.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
George Sapkin d43869fbbc python-ajsonrpc: add new package
Lightweight JSON-RPC 2.0 protocol implementation and asynchronous server
powered by asyncio. This library is a successor of json-rpc and written
by the same team.

Signed-off-by: George Sapkin <george@sapk.in>
2026-05-12 11:08:25 +03:00
Alexandru Ardelean d414c51b58 micropython-lib: update to 1.28.0, add test.sh
micropython-lib is a companion repository to micropython, versioned in
lockstep. Both are now at 1.28.0 (released 2026-04-06).

The 001-build-unix-ffi.patch remains needed as the upstream has not yet
incorporated the --unix-ffi argument into the tools/build.py script.

test.sh:
- micropython-lib: verify stdlib-replacement modules (collections,
  functools, base64) can be imported via the /usr/lib/micropython path
- micropython-lib-unix: verify the micropython-unix wrapper script exists
  and that sqlite3/select are importable via the unix-ffi path

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-11 14:58:59 +03:00
Alexandru Ardelean cf71b42c4b micropython: update to 1.28.0
Changes since 1.27.0:
- New machine.CAN class with bindings for the stm32 port; support across
  all ports to follow
- machine.PWM support added to stm32 and alif ports, completing coverage
  of all Tier 1/2 MCU-based ports
- Template strings (t-strings, PEP 750) added at the "full feature" level
- weakref module added with weakref.ref and weakref.finalize classes
- f-strings now support nested f-strings within expressions
- Optimisations to native emitter; new RISC-V Zcmp arch flag for RV32
- extmod.mk: add extmod/machine_can.c (shifts the mbedtls hunk by 1 line;
  update 040-extmod-use-external-mbedtls.patch accordingly)

micropython-lib is updated in lockstep in a separate commit.

Ref: https://github.com/micropython/micropython/releases/tag/v1.28.0
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-11 14:58:59 +03:00
Josef Schlehofer 5120ed91b8 flup: remove the package
Flup was heavily used in downstream distribution (Turris OS)
for their Web UI - reForis. Since there are no other
dependent packages in this repository, Flup is no longer needed.

The package appears to be abandoned and is no longer maintained
The latest version dates back to 2009.

It was previously required for Seafile.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2026-05-10 11:33:52 +03:00
Yanase Yuki b0d8a3d384 treewide: cleanup URLs
This commit converts plain HTTP URLs to HTTPS, and updates
old or outdated URLs.

Signed-off-by: Yanase Yuki <dev@zpc.st>
2026-05-08 22:28:27 +02:00
Alexandru Ardelean badbdbef9f python-semanage: update to 3.10
Changes in 3.10:
- improve semanage man pages: add examples for -r RANGE flag usage
- semanage: reset active value when deleting boolean customizations
- various libsemanage/libsepol bug fixes and security hardening

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-01 21:01:30 +03:00
Alexandru Ardelean 381e4f41ba python-selinux: update to 3.10
Changes in 3.10:
- fix parsing of the enforcing kernel cmdline parameter
- build python module without isolation (Makefile fix)
- treewide: add .clang-format configuration file
- various libsepol bug fixes (NULL deref, use-after-free, MLS range
  validation, functionfs_seclabel policycap, bpf_token_perms polcap)

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-01 21:01:30 +03:00
Erik Larsson fee669b6d4 python3-ubus: update to 0.1.3
Bump to version 0.1.3 and drop patch, which is in upstream.

Signed-off-by: Erik Larsson <who+github@cnackers.org>
2026-04-28 23:12:28 +02:00
Alexandru Ardelean 3a11691a19 python-zope-event: fix build with setuptools >= 81
The pyproject.toml for zope.event 6.1 specifies a strict build
dependency of setuptools>=78.1.1,<81. We currently package
setuptools>=81, causing pip to report a missing dependency and
fail the build.

Add patch 001-relax-setuptools-version.patch to drop the <81 upper
bound, allowing the package to build with any recent setuptools.

Add test.sh to verify the installed version and exercise the core
event API (subscribers list, notify(), event dispatch).

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-04-27 08:25:02 +03:00