Commit graph

1979 commits

Author SHA1 Message Date
Jeffery To
6b8340d3ca python-flit-core: Update to 3.9.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:09:41 +03:00
Jeffery To
5059cfccae borgbackup: Move from lang/python into utils
lang/python is meant for Python libraries and other packages closely
related to the Python language. It makes more sense for borgbackup to be
in utils instead.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:08:51 +03:00
Jeffery To
2445fe9fb2 python3: Update to 3.11.3, refresh/redo patches
* Removed patches:

  * 001-enable-zlib.patch: zlib module should be enabled automatically

  * 007-distutils-do-not-adjust-path.patch: Not necessary since we
    process shebang lines for all scripts (in python3-package.mk)

  * 030-bpo-43112-detect-musl-as-a-separate-SOABI-GH-24502.patch:
    Already merged

* Move configure vars from config.site back into Makefile

  Centralizing all build information into one file makes it easier to
  maintain

* No longer set ac_cv_header_uuid_h=yes as configure should detect
  libuuid

* Order configure args by enable-/disable-/with-/without-, then
  alphabetically

* Set ac_cv_working_openssl_hashlib=yes for host configure to bypass the
  OpenSSL API tests with LibreSSL

* Use the default Host/Compile recipe instead of picking out specific
  targets to make

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
02eb5c100c python3: Fix hashlib module not compiled for host Python
026-openssl-feature-flags.patch and
028-host-python-support-ssl-with-libressl.patch were removed in
4ecd9d67e9 to fix the ssl module after
libressl was upgraded to 3.7.0[1].

However, the cause of the ssl module build failure was only
028-host-python-support-ssl-with-libressl.patch.

Removing 026-openssl-feature-flags.patch caused a build failure for the
hashlib module.

This restores 026-openssl-feature-flags.patch with an updated version of
the patch from OpenBSD[2].

[1]: https://github.com/openwrt/packages/issues/20107
[2]: 26a04435bf/lang/python/3.10/patches/patch-Modules__hashopenssl_c

Fixes: 4ecd9d67e9 ("python3: fix ssl support by removing libressl patches")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
44fb4927f1 python3: Fix uuid module not compiled for host Python
This adds $(STAGING_DIR_HOST)/include/e2fsprogs to HOST_CFLAGS and
HOST_CPPFLAGS so that configure can find uuid/uuid.h.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
f006d0ea23 python3: Fix multiarch/local paths added when building host Python
By default, the Python build process will add /usr/local/{lib,include},
and multiarch paths (e.g. /usr/{lib,include}/x86_64-linux-gnu) if
building on Debian/Ubuntu, to its library and includes paths.

006-remove-multi-arch-and-local-paths.patch was added in
84202f17e1 to stop the Python build
process from adding these paths.

006-remove-multi-arch-and-local-paths.patch was removed in
48277ec915.

006-do-not-add-multiarch-paths-when-cross-compiling.patch was added in
0c8b0b0bf7 to stop the Python build
process from adding these paths for target Python.

These paths are still added by the Python build process when building
host Python.

This replaces the cross-compiling-only patch with the original patch,
renamed slightly and adapted for Python 3.10.

Fixes: 48277ec915 ("python3: bump to version 3.8")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
67e47f1196 python3: Fix race condition when doing parallel builds
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
https://github.com/python/cpython/pull/104693

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

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
e1a9578635 python3: Fix readelf program name not replaced in _sysconfigdata.py
The Makefile lines to add READELF to TARGET_CONFIGURE_OPTS was removed
in 4e05541782.

Without setting READELF, configure finds the symlink to
$(TARGET_CROSS)readelf (e.g. arm-openwrt-linux-readelf) instead of
$(TARGET_CROSS)readelf (e.g. arm-openwrt-linux-muslgnueabi-readelf).

This leads to the symlink name being saved to _sysconfigdata.py, and so
the readelf name is not replaced correctly (in
Py3Package/python3-base/install).

This restores the removed Makefile lines.

Fixes: 4e05541782 ("python3: bump to version 3.10.0")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
8a4da01790 python3: Fix __pycache__ files included in python3-light
003-do-not-run-distutils-tests.patch was removed in
4e05541782. This patch stopped "make
install" from, among other things, running compileall.

When this patch was removed, "make install" ran compileall as normal and
created bytecode files in __pycache__ directories. These files were then
packaged in python3-light.

This adds a patch to stop compileall from being run during "make
install".

Fixes: 4e05541782 ("python3: bump to version 3.10.0")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Jeffery To
3032e7063f python3: Remove --without-pymalloc
--without-pymalloc was added in 7bf1ae65a8
because leaving it enabled added an "m" flag/suffix to file names.

This flag/suffix was removed in Python 3.8[1], so disabling pymalloc is
no longer necessary.

[1]: https://docs.python.org/3.8/whatsnew/3.8.html#build-and-c-api-changes

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-24 06:04:33 +03:00
Tianling Shen
577679a572 python3-libselinux: fix compilation with musl 1.2.4
musl 1.2.4 deprecated legacy "LFS64" ("large file support") interfaces so
just having _GNU_SOURCE defined is not enough anymore.

Manually pass -D_LARGEFILE64_SOURCE to allow to keep using LFS64 definitions.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-20 13:07:15 +08:00
Tianling Shen
aadc8d0001
Merge pull request #20981 from jefferyto/python3-packages-fix-build
python3-packages: Set PYTHON3_PKG_BUILD:=0
2023-05-20 08:01:25 +08:00
Jeffery To
16779c2d6e python-packaging: Update to 23.1
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-18 11:13:18 +03:00
Jeffery To
7607e43be4 python-attrs: Update to 23.1.0
The package now uses pyproject.toml-based builds with additional build
dependencies.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-18 11:13:02 +03:00
Jeffery To
d2ad1f47d3 python-automat: Update to 22.10.0, refresh patches
This also removes the patch to avoid setuptools-scm and adds a build
dependency on python-setuptools-scm/host.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-18 10:30:52 +03:00
Jeffery To
fdc320dc0c
python-hatchling: Update to 1.17.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-17 15:11:08 +08:00
Alexandru Ardelean
5c131f8a90 python-requests: bump to version 2.30.0
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2023-05-15 10:21:24 +03:00
Alexandru Ardelean
98d0b78401 django: bump to version 4.2.1
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2023-05-15 10:21:24 +03:00
Tianling Shen
53959d50fd
Merge pull request #20985 from jefferyto/python-incremental-fix-host-build
python-incremental: Add missing host build dependencies
2023-05-15 01:12:22 +08:00
Jeffery To
2c54b7637e
python-incremental: Add missing host build dependencies
Fixes: 8d81b67327 ("python-incremental: Update to 22.10.0, redo patch, add host build")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-11 15:42:33 +08:00
Jeffery To
bcba053fb0
python3-packages: Set PYTHON3_PKG_BUILD:=0
This sets PYTHON3_PKG_BUILD:=0 so that python3-package.mk does not set
any default build recipes.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-11 02:54:08 +08:00
Jeffery To
3cee44d888
numpy: Avoid build user config files
This stops numpy from reading .numpy-site.cfg in the build user's home
directory. The code actually tries to find both .numpy-site.cfg and
site.cfg in the user's home directory; this patch prevents both.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-11 02:46:57 +08:00
Jeffery To
5cafab68ff
numpy: Fix compilation when OpenBLAS support is not enabled
Currently, if OpenBLAS support is not enabled, a site.cfg file is not
written and numpy will use build host paths for libraries. If the build
host has any conflicting libraries, specifically libpython3.10.a, then
compilation will fail.

This ensures site.cfg is always written with buildroot paths.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-11 02:46:57 +08:00
Jeffery To
8d331953f3
numpy: Fix pyproject.toml-based build
The versions of setuptools and wheel pinned in pyproject.toml are older
than the versions available in the packages repo. This unpins the
versions so that the build can proceed.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-11 02:46:57 +08:00
Tianling Shen
0aff57d001
Merge pull request #20958 from jefferyto/python-trove-classifiers-2023.5.2
python-trove-classifiers: Update to 2023.5.2
2023-05-10 22:01:00 +08:00
Jeffery To
8a36b03870
Merge pull request #20801 from jefferyto/python-pyproject
python: Add proper support for pyproject.toml-based builds, update Python packages for new build process
2023-05-10 12:11:07 +08:00
Jeffery To
99a0cfdd03
python-trove-classifiers: Update to 2023.5.2
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-08 13:14:09 +08:00
Jeffery To
54c1303dc4
python-hatchling: Update to 1.14.1
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-04 14:10:43 +08:00
Jeffery To
fe0dc6f48a python-hatchling: Update to 1.14.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-01 13:34:40 +03:00
Jeffery To
7dc6b103c5 python-trove-classifiers: Add new host-only package
From the README:

Canonical source for classifiers on PyPI.

Classifiers categorize projects per PEP 301. Use this package to
validate classifiers in packages for PyPI upload or download.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-01 13:34:40 +03:00
Jeffery To
f4a18fbd3d python-calver: Add new host-only package
From the README:

The calver package is a setuptools extension for automatically defining
your Python package version as a calendar version.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-01 13:34:40 +03:00
Stepan Henek
eb7275402e python-eventlet: bump to version 0.33.3
old eventlet is not working well with python3.10

```
root@turris:~# python3
Python 3.10.9 (main, Feb  9 2023, 10:37:45) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import eventlet
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/__init__.py", line 17, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/convenience.py", line 7, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/green/socket.py", line 4, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/green/_socket_nodns.py", line 11, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/greenio/__init__.py", line 3, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/greenio/base.py", line 32, in <module>
  File "/usr/lib/python3.10/site-packages/eventlet/timeout.py", line 166, in wrap_is_timeout
TypeError: cannot set 'is_timeout' attribute of immutable type 'TimeoutError'
```

see 0.33.3 release notes for details - https://eventlet.net/doc/changelog.html#id1

Signed-off-by: Stepan Henek <stepan.henek@nic.cz>
2023-04-29 13:43:16 +03:00
Jeffery To
a35431f2bf python: Update find stdlib script
This updates the python3-find-stdlib-depends.sh script for these
changes:

* The gdbm (dbm.gnu) package was merged into the dbm package in
  78f6c2c5ad.

* The uuid module was split into a separate package in
  4e05541782.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-25 07:49:53 +03:00
Jeffery To
743204ff2d python-idna: Update to 3.4
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-25 07:48:47 +03:00
Jeffery To
36587eced2 python-zope-interface: Update to 6.0, refresh patch
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-25 07:48:14 +03:00
Jeffery To
977d8e5a6f python-pyasn1: Update to 0.5.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-25 07:47:33 +03:00
Jeffery To
b1b008f42f
python-packages: Clean up build variables
* Rename PYTHON3_PKG_SETUP_VARS to PYTHON3_PKG_BUILD_VARS, and
  PYTHON3_PKG_SETUP_DIR to PYTHON3_PKG_BUILD_PATH

  The new variable names emphasize that these values apply to the new
  build process.

* Remove PYTHON3_PKG_SETUP_ARGS set to the empty string

  These were set to override the default arguments in the old build
  process and not applicable to the new build process.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:22:03 +08:00
Jeffery To
63d13aa15f
python-libraries: Update build options
This updates the build options for these packages to work with the
pyproject.toml-based build process, and removes
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:35 +08:00
Jeffery To
30bd279461
python-typing-extensions: Update to 4.5.0, add myself as maintainer
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:35 +08:00
Jeffery To
84d9831dcb
python-packaging: Remove BROKEN
With proper support of pyproject.toml-based builds in place, this
package will now build.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:34 +08:00
Jeffery To
107e037763
python-jsonschema: Remove previous build workaround
With proper support for pyproject.toml-based builds in place, this is no
longer necessary.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:34 +08:00
Jeffery To
7734502693
python-exceptiongroup: Remove previous build workaround
With proper support for pyproject.toml-based builds in place, this is no
longer necessary.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:34 +08:00
Jeffery To
628202d269
python-astral: Remove BROKEN
With proper support for pyproject.toml-based builds in place, this
package will now build.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:33 +08:00
Jeffery To
5156c0c82b
python: Add proper support for pyproject.toml-based builds
This removes the changes made in
61f202c017 and adds actual support for
pyproject.toml-based (PEP 517) builds of Python packages.

Packages can force the use of the old build process by setting
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1; this should only be a temporary
workaround until the package can be updated/fixed to use the new build
process.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:20:33 +08:00
Jeffery To
e6ae9e29d5
python-libraries: Force old build process
These packages will need adjustments to work with pyproject.toml-based
builds, so set PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1 to force the old
build process (when pyproject.toml-based builds are in place) for now.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:19:49 +08:00
Jeffery To
4a7173d27d
python-ubus: Force old build process
This package will not build with the pyproject.toml-based build process
because it has a build dependency on pytest-runner[1].

pytest-runner has been deprecated[2], so instead of adding a package for
pytest-runner to fulfill the build dependency, force this package to use
the old build process.

[1]: https://gitlab.nic.cz/turris/python-ubus/-/blob/v0.1.1/setup.py#L35
[2]: https://github.com/pytest-dev/pytest-runner#deprecation-notice

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:19:45 +08:00
Jeffery To
56b10770fc
python-twisted: Update to 22.10.0
Includes fix for CVE-2022-39348 (NameVirtualHost Host header injection).

This adds a build dependency that will be required for
pyproject.toml-based builds.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:18:17 +08:00
Jeffery To
17d5bf224c
python-pytest-forked: Update to 1.6.0
The overly-strict build requirements in 1.3.0[1] would cause a build
failure with pyproject.toml-based builds.

[1]: https://github.com/pytest-dev/pytest-forked/blob/v1.3.0/pyproject.toml#L2

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:18:17 +08:00
Jeffery To
c7820e4fb1
python-pytest: Update to 7.3.0
This also removes BROKEN from the package.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:18:17 +08:00
Jeffery To
550c29368e
python-pycrate: Update to 0.6.0
This also changes the download to PyPI and updates several package
makefile fields.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-24 16:18:16 +08:00