Commit graph

1999 commits

Author SHA1 Message Date
Jeffery To
a7d33e9e3a python-gmpy2: Update to 2.1.5
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-29 18:15:59 +03:00
Jeffery To
f47802949c python-cython: Update to 0.29.35
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-29 18:15:05 +03:00
Jeffery To
9f8a5fb25b python-hatch-fancy-pypi-readme: Update to 23.1.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-29 18:14:46 +03:00
Jeffery To
3def783d3c bcrypt: Update to 3.2.2, rename source package
This is the last released version before bcrypt's Rust rewrite; this
package can be further updated after the OpenWrt Rust toolchain has
stablized.

This also renames the source package from bcrypt to python-bcrypt to
match other Python packages, and updates the list of dependencies.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-29 18:14:14 +03:00
Tianling Shen
f02f3ee8c7 pyodbc: Update to 4.0.39
* Fixed build with Python 3.11
* Removed unnecessary build depends

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-28 09:31:24 +03:00
Jeffery To
b76fa19b26 python-packages: Replace --global-option with --build-option
setuptools 64.0.0 deprecated the use of --global-option to pass build
parameters[1]. This replaces the use of --global-option with
--build-option.

[1]: https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v6400

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-28 09:30:31 +03:00
Alexandru Ardelean
9f19a64e02
Merge pull request #21194 from 1715173329/pgr
python-greenlet: Update to 2.0.2
2023-05-27 21:17:35 +03:00
Alexandru Ardelean
0f858d5076
Merge pull request #21190 from jefferyto/python-split-packages
python3: Split venv into separate package, pip and setuptools into separate source packages
2023-05-27 21:15:06 +03:00
Tianling Shen
e399e1ce2c python-greenlet: Update to 2.0.2
Fix build with Python 3.11.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-27 21:51:37 +08:00
Tianling Shen
e7e66545b1
Merge pull request #21188 from jefferyto/python-tomli-remove-package
python-tomli: Remove package
2023-05-27 14:55:12 +08:00
Jeffery To
b4975f8bbb
python3: Split setuptools into separate source package
Packaging setuptools from a separate source package allows it to stay
updated with upstream.

Host setuptools will remain installed as part of python3. Host
setuptools is used in a much more controlled way and so is less critical
for it to track upstream.

setuptools was in a separate source package that was removed in
a53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0; this work is not based on that
earlier package.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-26 22:06:24 +08:00
Jeffery To
eee273507b
python3: Split pip into separate source package
Packaging pip from a separate source package allows it to stay updated
with upstream.

Host pip will remain installed as part of python3. Host pip is used in a
much more controlled way and so is less critical for it to track
upstream.

This also removes the python-pip-conf package and installs the pip.conf
file as part of python3-pip.

The patch 003-disable-pip-version-check.patch is originally from Debian:
bb079efb8c/debian/patches/disable-pip-version-check.patch

pip was in a separate source package that was removed in
a53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0; this work is not based on that
earlier package.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-26 22:06:08 +08:00
Jeffery To
d53475ac21
python3: Split venv module from python3-light into separate package
This adds a new subpackage for the venv module. This also moves the
ensurepip module from python3-pip into python3-venv, as ensurepip is not
necessary for pip but often used for venv.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-26 22:01:41 +08:00
Jeffery To
0509d460c8
python-tomli: Remove package
Python added tomli to its standard library in 3.11. Now that Python in
the packages feed has been updated to 3.11, the separate tomli package
is no longer necessary.

This removes python-tomli and updates all dependant packages, removing
python-tomli from their lists of dependencies.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-26 17:51:53 +08:00
Alexandru Ardelean
8f176e30f3 numpy: bump version to 1.24.3
Need to also fix build for GCC 13 + musl.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2023-05-26 11:16:17 +03:00
Alexandru Ardelean
de130fadb5
Merge pull request #21167 from jefferyto/python-packages-do-not-set-pyvenv-launcher
python-packages: Remove __PYVENV_LAUNCHER__ environment variable
2023-05-26 10:11:59 +03:00
Tianling Shen
f17a701722
Merge pull request #21168 from jefferyto/python-poetry-core-1.6.0
python-poetry-core: Update to 1.6.0
2023-05-26 01:28:42 +08:00
Jeffery To
626c7efda9
python-poetry-core: Update to 1.6.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-25 15:30:08 +08:00
Jeffery To
9e95dff9ac
python-packages: Remove __PYVENV_LAUNCHER__ environment variable
Setting __PYVENV_LAUNCHER__ for Python package builds was added in
a91a992abb, but neither the commit message
nor the pull request[1] explain its purpose in detail.

My guess is this was done to set the shebang for installed Python
scripts. We now have a Makefile recipe to set the shebang, so it would
be unnecessary to set this variable for this purpose.

It appears that Python 3.11 has changed the handling of this (internal)
environment variable, and setting it appears to be causing build errors
for all Python packages.

This removes setting __PYVENV_LAUNCHER__ for Python package builds.

[1]: https://github.com/openwrt/packages/pull/525

Fixes: https://github.com/openwrt/packages/issues/21162
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-25 15:01:28 +08:00
Jeffery To
60bf01cb60
python3: Fix unnecessary linking with libbsd
configure will try to link with libbsd for the flock function, even when
flock is available without it.

Fixes: https://github.com/openwrt/packages/issues/21161
Fixes: 2445fe9fb2 ("python3: Update to 3.11.3, refresh/redo patches")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-25 13:42:00 +08:00
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