diff --git a/cross/cryptography/Makefile b/cross/cryptography/Makefile index f87252594f6..cc06ac20a71 100644 --- a/cross/cryptography/Makefile +++ b/cross/cryptography/Makefile @@ -1,5 +1,6 @@ PKG_NAME = cryptography -PKG_VERS = 41.0.3 +# Last version that can be built using setup.py +PKG_VERS = 41.0.7 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/c/$(PKG_NAME) diff --git a/cross/cryptography/digests b/cross/cryptography/digests index c4cb5ddc92d..f728fc06f87 100644 --- a/cross/cryptography/digests +++ b/cross/cryptography/digests @@ -1,3 +1,3 @@ -cryptography-41.0.3.tar.gz SHA1 80ad50220559469dc0cd43a7490d526028aecc54 -cryptography-41.0.3.tar.gz SHA256 6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34 -cryptography-41.0.3.tar.gz MD5 fbf930acd8de95780604c40c4e817a74 +cryptography-41.0.7.tar.gz SHA1 abac3d72128e27a7478509f7b227b798b60e8d9b +cryptography-41.0.7.tar.gz SHA256 13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc +cryptography-41.0.7.tar.gz MD5 c06f01c4bc95327c2e4378589ed5a193 diff --git a/cross/pip/Makefile b/cross/pip/Makefile index f5600891540..1c1967fcc6c 100644 --- a/cross/pip/Makefile +++ b/cross/pip/Makefile @@ -1,6 +1,6 @@ PKG_NAME = pip # use the same version in native/python310|311/Makefile (python310|311_native_post_install) -PKG_VERS = 23.2.1 +PKG_VERS = 24.0 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/p/$(PKG_NAME) diff --git a/cross/pip/digests b/cross/pip/digests index 81690c88b4a..3bab37ea930 100644 --- a/cross/pip/digests +++ b/cross/pip/digests @@ -1,3 +1,3 @@ -pip-23.2.1.tar.gz SHA1 4bdfd8e976b5122cf55f4f4740f7305f1ffa4310 -pip-23.2.1.tar.gz SHA256 fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2 -pip-23.2.1.tar.gz MD5 e9b1226701a56ee3fcc81aba60d25d75 +pip-24.0.tar.gz SHA1 093080a1a4bbd27505432d942bcc0dd34f30f340 +pip-24.0.tar.gz SHA256 ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2 +pip-24.0.tar.gz MD5 1331aabb4d1a2677f493effeebda3605 diff --git a/cross/python311/Makefile b/cross/python311/Makefile index 98e04488b9e..97fa7d184ec 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -1,5 +1,5 @@ PKG_NAME = python311 -PKG_VERS = 3.11.5 +PKG_VERS = 3.11.8 PKG_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS))) PKG_EXT = tar.xz PKG_DIST_NAME = Python-$(PKG_VERS).$(PKG_EXT) @@ -142,19 +142,20 @@ CROSSENV_WHEELS += cryptography==41.0.3 # It also breaks numpy at crossenv creation time using github-action # https://numpy.org/devdocs/reference/distutils_status_migration.html # Python 3.12 considerations: scikit-build-core, meson-python -#CROSSENV_WHEELS += Cython==3.0.2 -CROSSENV_WHEELS += Cython==0.29.36 +#CROSSENV_WHEELS += Cython==3.0.9 +CROSSENV_WHEELS += Cython==0.29.37 CROSSENV_WHEELS += flit==3.9.0 -CROSSENV_WHEELS += poetry==1.6.1 +CROSSENV_WHEELS += poetry==1.8.2 CROSSENV_WHEELS += scikit-build==0.17.6 -CROSSENV_WHEELS += setuptools-rust==1.7.0 -CROSSENV_WHEELS += setuptools-scm==7.1.0 +CROSSENV_WHEELS += setuptools-rust==1.9.0 +CROSSENV_WHEELS += setuptools-scm==8.0.4 # For future use when building numpy >= 1.26 -#CROSSENV_WHEELS += meson-python==0.13.2 -#CROSSENV_WHEELS += scikit-build-core==0.5.0 +#CROSSENV_WHEELS += meson-python==0.15.0 +#CROSSENV_WHEELS += scikit-build-core==0.8.2 # [numpy] <= 1.21.6 (armv5) - gcc-4.6.4 - unsupported # [numpy] <= 1.22.4 (armv7l) - gcc-4.8.3 - unsupported +# [numpy] <= 1.23.5 (any) requires setuptools <= 63.4.3 - unsupported ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) # [numpy] <= 1.24.4 last working version with gcc-4.9 ifeq ($(call version_le, $(TC_GCC), 5.0),1) @@ -162,11 +163,12 @@ CROSSENV_WHEELS += numpy==1.24.4 # [numpy] >= 1.25.0 requires c++17 else ifeq ($(call version_gt, $(TC_GCC), 5.0),1) CROSSENV_WHEELS += numpy==1.25.2 +#CROSSENV_WHEELS += numpy==1.26.4 endif endif # [maturin] -CROSSENV_WHEELS += maturin==1.2.3 +CROSSENV_WHEELS += maturin==1.5.0 # Create the crossenv in preparation for # cross-compiling all the necessary wheels @@ -176,10 +178,10 @@ python311_post_install: $(WORK_DIR)/python-cc.mk cp -R $(HOSTPYTHON_LIB_NATIVE) $(PYTHON_LIB_CROSS)/../ @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) --cc $(TC_PATH)$(TC_PREFIX)gcc --cxx $(TC_PATH)$(TC_PREFIX)c++ --ar $(TC_PATH)$(TC_PREFIX)ar --sysroot $(TC_SYSROOT) --env LIBRARY_PATH= --manylinux manylinux2014 $(WORK_DIR)/crossenv/ . $(WORK_DIR)/crossenv/bin/activate && $(RUN) wget --no-verbose https://bootstrap.pypa.io/get-pip.py - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==23.2.1" --no-setuptools --no-wheel --disable-pip-version-check - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==23.2.1" --no-setuptools --no-wheel --disable-pip-version-check - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip --disable-pip-version-check install "setuptools==63.4.3" "wheel==0.41.2" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip --disable-pip-version-check install "setuptools==63.4.3" "wheel==0.41.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==24.0" --no-setuptools --no-wheel --disable-pip-version-check + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==24.0" --no-setuptools --no-wheel --disable-pip-version-check + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip --disable-pip-version-check install "setuptools==69.2.0" "wheel==0.43.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip --disable-pip-version-check install "setuptools==69.2.0" "wheel==0.43.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip --disable-pip-version-check install $(CROSSENV_WHEELS) . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip --disable-pip-version-check install $(CROSSENV_WHEELS) ifneq ($(PYTHON_LIB_NATIVE),$(PYTHON_LIB_CROSS)) diff --git a/cross/python311/digests b/cross/python311/digests index 646c54d3e9f..93931115170 100644 --- a/cross/python311/digests +++ b/cross/python311/digests @@ -1,3 +1,3 @@ -Python-3.11.5.tar.xz SHA1 b13ec58fa6ebf5b0f7178555c5506e135cb7d785 -Python-3.11.5.tar.xz SHA256 85cd12e9cf1d6d5a45f17f7afe1cebe7ee628d3282281c492e86adf636defa3f -Python-3.11.5.tar.xz MD5 393856f1b7713aa8bba4b642ab9985d3 +Python-3.11.8.tar.xz SHA1 a368aeed7a3325e47b55168452c356a8eb27ab50 +Python-3.11.8.tar.xz SHA256 9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3 +Python-3.11.8.tar.xz MD5 b353b8433e560e1af2b130f56dfbd973 diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 60101cf763c..8428e9b5266 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -54,6 +54,9 @@ PYTHON_DEPENDS := $(foreach cross,$(foreach pkg_name,$(shell $(MAKE) dependency- # call-up pre-depend to prepare the shared python build environment PRE_DEPEND_TARGET = python_pre_depend +ifneq ($(strip $(ADDITIONAL_CROSSENV_WHEELS)),) +POST_DEPEND_TARGET = python_post_depend +endif else ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) @@ -86,3 +89,9 @@ python_pre_depend: rm -fr work-*/$${pkgname}* work-*/.$${pkgname}-* ; \ fi ; \ done + +.PHONY: python_post_depend +python_post_depend: + @. $(WORK_DIR)/crossenv/bin/activate ; \ + $(RUN) build-pip --disable-pip-version-check install $(ADDITIONAL_CROSSENV_WHEELS) ; \ + $(RUN) pip --disable-pip-version-check install $(ADDITIONAL_CROSSENV_WHEELS) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index a3d8d9acc2c..3c2211d6c1a 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -142,6 +142,7 @@ build_wheel_target: $(PRE_WHEEL_TARGET) ifneq ($(strip $(WHEELS)),) $(foreach e,$(shell cat $(WORK_DIR)/python-cc.mk),$(eval $(e))) @if [ -s $(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE) -o -s $(WHEELHOUSE)/$(WHEELS_LIMITED_API) ]; then \ + . $(WORK_DIR)/crossenv/bin/activate ; \ $(MSG) "Cross-compiling wheels" ; \ crossenvPIP=$(PIP) ; \ if [ -s "$(CROSSENV)" ] ; then \ @@ -159,7 +160,7 @@ ifneq ($(strip $(WHEELS)),) file=$$(basename $${requirement%%:*}) ; \ [ "$${file}" = "$(WHEELS_LIMITED_API)" ] && abi3="--build-option=--py-limited-api=$(PYTHON_LIMITED_API)" || abi3="" ; \ [ "$$(grep -s egg <<< $${wheel})" ] && name=$$(echo $${wheel#*egg=} | cut -f1 -d=) || name=$${wheel%%[<>=]=*} ; \ - global_options=$$(echo $(WHEELS_BUILD_ARGS) | sed -e 's/ \[/\n\[/g' | grep -i $${name} | cut -f2 -d] | xargs) ; \ + pip_args=$$(echo $(WHEELS_BUILD_ARGS) | sed -e 's/ \[/\n\[/g' | grep -i $${name} | cut -f2 -d] | xargs) ; \ localCFLAGS=($$(echo $(WHEELS_CFLAGS) | sed -e 's/ \[/\n\[/g' | grep -i $${name} | cut -f2 -d] | xargs)) ; \ localLDFLAGS=($$(echo $(WHEELS_LDFLAGS) | sed -e 's/ \[/\n\[/g' | grep -i $${name} | cut -f2 -d] | xargs)) ; \ localCPPFLAGS=($$(echo $(WHEELS_CPPFLAGS) | sed -e 's/ \[/\n\[/g' | grep -i $${name} | cut -f2 -d] | xargs)) ; \ @@ -170,7 +171,7 @@ ifneq ($(strip $(WHEELS)),) $$([ "$$(echo $${localCXXFLAGS[@]})" ] && echo "CXXFLAGS=\"$${localCXXFLAGS[@]}\" ") \ $$([ "$$(echo $${localLDFLAGS[@]})" ] && echo "LDFLAGS=\"$${localLDFLAGS[@]}\" ") \ $$([ "$$(echo $${abi3})" ] && echo "$${abi3} ")" \ - $${global_options}" ; \ + $${pip_args}" ; \ PIP_CROSSENV=$${crossenvPIP} \ REQUIREMENT=$${wheel} \ ADDITIONAL_CFLAGS="-I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $${localCFLAGS[@]}" \ @@ -178,7 +179,7 @@ ifneq ($(strip $(WHEELS)),) ADDITIONAL_CXXFLAGS="-I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $${localCXXFLAGS[@]}" \ ADDITIONAL_LDFLAGS="$${localLDFLAGS[@]}" \ ABI3="$${abi3}" \ - PIP_GLOBAL_OPTION="$${global_options}" \ + PIP_ARGS="$${pip_args}" \ $(MAKE) \ cross-compile-wheel-$${name} || exit 1 ; \ done < <(grep -svH -e "^\#" -e "^\$$" $(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE) $(WHEELHOUSE)/$(WHEELS_LIMITED_API)) ; \ @@ -199,15 +200,20 @@ endif cross-compile-wheel-%: SHELL:=/bin/bash cross-compile-wheel-%: - @if [ "$(PIP_GLOBAL_OPTION)" ]; then \ - pip_global_option=$$(echo $(PIP_GLOBAL_OPTION) | sed 's/=\([^ ]*\)/="\1"/g; s/[^ ]*/--global-option=&/g') ; \ - pip_global_option=$${pip_global_option}" --no-use-pep517" ; \ + @if [ "$(PIP_ARGS)" ]; then \ + if echo "$(PIP_ARGS)" | grep -Eq '^(build_ext)'; then \ + pip_global_option=$$(echo $(PIP_ARGS) | sed 's/=\([^ ]*\)/="\1"/g; s/[^ ]*/--global-option=&/g') ; \ + pip_global_option=$${pip_global_option}" --no-use-pep517" ; \ + else \ + pip_args="$(PIP_ARGS)" ; \ + fi ; \ fi ; \ $(MSG) \ _PYTHON_HOST_PLATFORM="$(TC_TARGET)" \ $(PIP_CROSSENV) \ $(PIP_WHEEL_ARGS_CROSSENV) \ $${pip_global_option} \ + $${pip_args} \ --no-build-isolation \ $(ABI3) \ $(REQUIREMENT) ; \ @@ -216,6 +222,7 @@ cross-compile-wheel-%: $(PIP_CROSSENV) \ $(PIP_WHEEL_ARGS_CROSSENV) \ $${pip_global_option} \ + $${pip_args} \ --no-build-isolation \ $(ABI3) \ $(REQUIREMENT) diff --git a/native/python311/Makefile b/native/python311/Makefile index 9125b82b8fb..013026534ca 100644 --- a/native/python311/Makefile +++ b/native/python311/Makefile @@ -1,5 +1,5 @@ PKG_NAME = python311 -PKG_VERS = 3.11.5 +PKG_VERS = 3.11.8 PKG_EXT = tar.xz PKG_DIST_NAME = Python-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://www.python.org/ftp/python/$(PKG_VERS) @@ -37,7 +37,7 @@ python311_native_post_install: $(WORK_DIR)/python-native.mk @$(RUN) wget https://bootstrap.pypa.io/get-pip.py @$(RUN) $(PYTHON) get-pip.py "pip==23.2.1" --no-setuptools --no-wheel --disable-pip-version-check @$(MSG) Installing setuptools, wheel, cffi and cross env - @$(PIP) --disable-pip-version-check install "setuptools==68.1.2" "setuptools-rust==1.7.0" "maturin==1.2.3" "wheel==0.41.2" "cffi==1.15.1" "crossenv==1.4.0" + @$(PIP) --disable-pip-version-check install "setuptools==69.2.0" "setuptools-rust==1.9.0" "maturin==1.5.0" "wheel==0.43.0" "cffi==1.16.0" "crossenv==1.4.0" $(WORK_DIR)/python-native.mk: @echo PIP=$(PIP_NATIVE) >> $@ diff --git a/native/python311/digests b/native/python311/digests index 646c54d3e9f..93931115170 100644 --- a/native/python311/digests +++ b/native/python311/digests @@ -1,3 +1,3 @@ -Python-3.11.5.tar.xz SHA1 b13ec58fa6ebf5b0f7178555c5506e135cb7d785 -Python-3.11.5.tar.xz SHA256 85cd12e9cf1d6d5a45f17f7afe1cebe7ee628d3282281c492e86adf636defa3f -Python-3.11.5.tar.xz MD5 393856f1b7713aa8bba4b642ab9985d3 +Python-3.11.8.tar.xz SHA1 a368aeed7a3325e47b55168452c356a8eb27ab50 +Python-3.11.8.tar.xz SHA256 9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3 +Python-3.11.8.tar.xz MD5 b353b8433e560e1af2b130f56dfbd973 diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index b69d396c98b..69575ca248c 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -10,7 +10,7 @@ SPK_DEPENDS = "$(PYTHON_PACKAGE)>=3.11.4-7" OPTIONAL_DEPENDS = cross/libstdc++ -# [numpy] > 1.22.4 +# [numpy] <= 1.22.4 UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) MAINTAINER = hgy59 @@ -37,6 +37,11 @@ POST_STRIP_TARGET = homeassistant_extra_install # Include cross compiled wheels only, the package installer downloads pure python wheels at installation time. WHEELS = src/requirements-abi3.txt src/requirements-crossenv.txt src/requirements-pure.txt +# stdc++ bindings for webrtc_noise_gain +ADDITIONAL_CROSSENV_WHEELS += pybind11==2.11.1 +# for building frozenlist, yarl, ... +ADDITIONAL_CROSSENV_WHEELS += expandvars==0.12.0 + # [DTLSSocket] runtime dependency of [tradfri] DEPENDS += cross/dtlssocket @@ -107,16 +112,16 @@ DEPENDS += cross/libxslt include ../../mk/spksrc.python.mk -# prefer native python tools (pip, maturin, ...) -ENV += PATH=$(realpath $(WORK_DIR)/../../../native/$(PYTHON_PACKAGE)/work-native/install/usr/local/bin):$(PATH) - # [greenlet] ifeq ($(call version_lt, ${TC_GCC}, 5.0),1) WHEELS_CPPFLAGS += [greenlet] -std=c++11 endif -# [numpy] +# [numpy] <= 1.23.5 (any) requires setuptools <= 63.4.3 +# no longer supported as python311 now uses setuptools >= 69.x +# # Fix wheel building with older compilers +# [numpy] <= 1.24.4 last working version with gcc-4.9 ifeq ($(call version_lt, $(TC_GCC), 5.0),1) WHEELS_CPPFLAGS += [numpy] -std=c++0x # workaround for compiler bug: diff --git a/spk/homeassistant/src/requirements-crossenv.txt b/spk/homeassistant/src/requirements-crossenv.txt index 2bbe851ff95..7231a7ca078 100644 --- a/spk/homeassistant/src/requirements-crossenv.txt +++ b/spk/homeassistant/src/requirements-crossenv.txt @@ -28,7 +28,7 @@ miniaudio==1.59 msgpack==1.0.5 multidict==6.0.4 netifaces==0.11.0 -numpy==1.23.2 +numpy==1.24.4 orjson==3.9.1 # pandas==2.0.3 # depends on installed numpy wheel ?... Pillow==9.5.0 diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 30a7c204f9a..f11a0779f76 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python311 -SPK_VERS = 3.11.5 +SPK_VERS = 3.11.8 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 8 +SPK_REV = 9 SPK_ICON = src/python3.png # Platform "powerpc-none-linux-gnuspe" with compiler "gcc" is not supported by the @@ -18,7 +18,7 @@ DESCRIPTION_FRE = Language de programmation Python. DESCRIPTION_SPN = Lenguaje de programaciĆ³n Python. STARTABLE = no DISPLAY_NAME = Python 3.11 -CHANGELOG = "1. Update to Python 3.11.5" +CHANGELOG = "1. Update to Python 3.11.8" HOMEPAGE = https://www.python.org LICENSE = PSF @@ -28,7 +28,7 @@ WHEELS_PURE_PYTHON_PACKAGING_ENABLE = 1 WHEELS = src/requirements-pure.txt # Force testing all wheel builds -WHEELS_TEST_ALL = 0 +WHEELS_TEST_ALL = 1 SERVICE_SETUP = src/service-setup.sh @@ -68,15 +68,6 @@ DEPENDS += cross/mysql-connector-c cross/mariadb-connector-c ENV += MYSQLCLIENT_CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/include/mysql -I$(STAGING_INSTALL_PREFIX)/include/mariadb -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR)" ENV += MYSQLCLIENT_LDFLAGS="$(LDFLAGS)" -# [Pillow] -DEPENDS += cross/freetype cross/libjpeg cross/zlib -WHEELS_BUILD_ARGS += [Pillow] -WHEELS_BUILD_ARGS += build_ext -WHEELS_BUILD_ARGS += --disable-platform-guessing -WHEELS_BUILD_ARGS += --enable-freetype -WHEELS_BUILD_ARGS += --enable-jpeg -WHEELS_BUILD_ARGS += --enable-zlib - # [pycares] DEPENDS += cross/c-ares ENV += PYCARES_USE_SYSTEM_LIB=1 @@ -115,6 +106,23 @@ endif ## WHEELS_TEST_ALL: Force testing all wheel building ifeq ($(strip $(WHEELS_TEST_ALL)),1) +# [Pillow] +DEPENDS += cross/freetype cross/lcms2 cross/libimagequant cross/libjpeg +DEPENDS += cross/libtiff cross/libwebp cross/zlib +WHEELS_BUILD_ARGS += [Pillow] +WHEELS_BUILD_ARGS += -C platform-guessing=disable +WHEELS_BUILD_ARGS += -C freetype=enable +WHEELS_BUILD_ARGS += -C imagequant=enable +WHEELS_BUILD_ARGS += -C jpeg=enable +WHEELS_BUILD_ARGS += -C lcms=enable +WHEELS_BUILD_ARGS += -C tiff=enable +WHEELS_BUILD_ARGS += -C webp=enable +WHEELS_BUILD_ARGS += -C zlib=enable +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +WHEELS_BUILD_ARGS += -C raqm=enable +DEPENDS += cross/libraqm +endif + # [rpds-py] # maturin canot be built as pre-requisite crossenv ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) @@ -141,14 +149,12 @@ else WHEELS += src/requirements-crossenv-greenlet-v1.txt endif -# [numpy] <= 1.21.6 (armv5) -# This version is now unsupported using py311 -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) -# [numpy] <= 1.22.4 (armv7l) -ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) -WHEELS += src/requirements-crossenv-numpy-armv7l.txt +# [numpy] <= 1.21.6 (armv5) - gcc-4.6.4 - unsupported +# [numpy] <= 1.22.4 (armv7l) - gcc-4.8.3 - unsupported +# [numpy] <= 1.23.5 (any) requires setuptools <= 63.4.3 - unsupported +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) # [numpy] <= 1.24.4 last working version with gcc-4.9 -else ifeq ($(call version_le, $(TC_GCC), 5.0),1) +ifeq ($(call version_le, $(TC_GCC), 5.0),1) WHEELS += src/requirements-crossenv-numpy-gcc4.txt # [numpy] >= 1.25.0 requires c++17 else ifeq ($(call version_gt, $(TC_GCC), 5.0),1) diff --git a/spk/python311/src/requirements-abi3.txt b/spk/python311/src/requirements-abi3.txt index be833c19a14..4e50951c5f1 100644 --- a/spk/python311/src/requirements-abi3.txt +++ b/spk/python311/src/requirements-abi3.txt @@ -8,5 +8,5 @@ # Require: # - CFLAGS=-sdt=c99 < gcc-4.9 # - CFLAGS=-sdt=c11 >= gcc-4.9 -pycryptodome==3.18.0 -pycryptodomex==3.18.0 +pycryptodome==3.20.0 +pycryptodomex==3.20.0 diff --git a/spk/python311/src/requirements-crossenv-greenlet-v2.txt b/spk/python311/src/requirements-crossenv-greenlet-v2.txt index 47a0d61c465..c2b4802c7ad 100644 --- a/spk/python311/src/requirements-crossenv-greenlet-v2.txt +++ b/spk/python311/src/requirements-crossenv-greenlet-v2.txt @@ -6,4 +6,4 @@ # [greenlet] # - Mandatory require full c++11 support -greenlet==2.0.2 +greenlet==3.0.3 diff --git a/spk/python311/src/requirements-crossenv-numpy-armv7l.txt b/spk/python311/src/requirements-crossenv-numpy-armv7l.txt deleted file mode 100644 index d794fd86565..00000000000 --- a/spk/python311/src/requirements-crossenv-numpy-armv7l.txt +++ /dev/null @@ -1,10 +0,0 @@ -## -## All configurations below are optional and -## are provided to demonstrate how to build -## various wheels. Uncoment to enable. -## - -# [numpy] -# - armv7L (hi3535-6.1) Last known working version -# - Require Cython in cross/python311 crossenv -numpy==1.22.4 diff --git a/spk/python311/src/requirements-crossenv-numpy.txt b/spk/python311/src/requirements-crossenv-numpy.txt index 39ecab3b7e6..b813b7792fe 100644 --- a/spk/python311/src/requirements-crossenv-numpy.txt +++ b/spk/python311/src/requirements-crossenv-numpy.txt @@ -5,6 +5,7 @@ ## # [numpy] -# - Require Cython in cross/python310 crossenv -# - Numpy 1.25.x require c++17 +# - Require Cython in cross/python311 crossenv +# - Numpy >= 1.25.x require c++17 numpy==1.25.2 +#numpy==1.26.4 diff --git a/spk/python311/src/requirements-crossenv-rpds-py.txt b/spk/python311/src/requirements-crossenv-rpds-py.txt index a1f828d76e9..2ca6d22787c 100644 --- a/spk/python311/src/requirements-crossenv-rpds-py.txt +++ b/spk/python311/src/requirements-crossenv-rpds-py.txt @@ -10,4 +10,4 @@ # PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ # Requires path to maturin from crossenv # ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) -rpds-py==0.10.0 +rpds-py==0.18.0 diff --git a/spk/python311/src/requirements-crossenv.txt b/spk/python311/src/requirements-crossenv.txt index 71d675dccfc..9df916e686f 100644 --- a/spk/python311/src/requirements-crossenv.txt +++ b/spk/python311/src/requirements-crossenv.txt @@ -8,65 +8,65 @@ # Require environment variables # PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ # PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ -bcrypt==4.1.1 +bcrypt==4.1.2 # [cryptography] # Mandatory of using OPENSSL_*_DIR starting with version >= 40 # https://docs.rs/openssl/latest/openssl/#automatic # ENV += OPENSSL_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ # ENV += OPENSSL_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ -cryptography==41.0.3 +cryptography==42.0.5 # Requirement for cryptography -cffi==1.15.1 +cffi==1.16.0 # commonly used cross-compiled wheels # All tested and can be enabled but may conflict # with local python apps requirements immutables==0.20 -MarkupSafe==2.1.3 +MarkupSafe==2.1.5 msgpack-python==0.5.6 netifaces==0.11.0 -psutil==5.9.5 -regex==2023.8.8 -SQLAlchemy==2.0.20 -zope.interface==6.0 +psutil==5.9.8 +regex==2023.12.25 +SQLAlchemy==2.0.28 +zope.interface==6.2 # [gevent] # Depends: libev, c-ares # Require environment variables # GEVENTSETUP_EMBED_CARES=FALSE # GEVENTSETUP_EMBED_LIBEV=FALSE -gevent==23.7.0 +gevent==24.2.1 # [lxml] # Depends: libxml2, libxslt -lxml==4.9.3 +lxml==5.1.0 # [mysqlclient] # Depends: mysql-connector-c, mariadb-connector-c # Require environment variables # MYSQLCLIENT_CFLAGS # MYSQLCLIENT_LDFLAGS -mysqlclient==2.2.0 +mysqlclient==2.2.4 # [Pillow] # Require --global-options arguments # WHEELS_BUILD_ARGS = [Pillow] build_ext --disable-platform-guessing -Pillow==9.5.0 +Pillow==10.2.0 # [pycares] # Depends: c-ares # Require environment variables # PYCARES_USE_SYSTEM_LIB=1 -pycares==4.3.0 +pycares==4.4.0 # [pycurl] # Depends: curl # Require environment variables # PYCURL_CURL_CONFIG -pycurl==7.45.2 +pycurl==7.45.3 # [pydantic_core] # Requires path to maturin from crossenv @@ -75,7 +75,7 @@ pycurl==7.45.2 # Require environment variables # PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ # PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ -pydantic_core==2.7.0 +pydantic_core==2.16.3 # [PyNaCl] # Depends: cross/libsodium @@ -94,7 +94,7 @@ git+https://github.com/totaam/rencode.git@f6254ab26161f90b9c5e97915b9193fee805fc # [ujson] # - Require setuptools-scm in cross/python3* crossenv -ujson==5.8.0 +ujson==5.9.0 # [webrtcvad] # webrtcvad==2.0.10 # requires unreleased version at specific commit for qoriq arch diff --git a/spk/python311/src/requirements-pure.txt b/spk/python311/src/requirements-pure.txt index acae8820607..2a2e5c871b9 100644 --- a/spk/python311/src/requirements-pure.txt +++ b/spk/python311/src/requirements-pure.txt @@ -1,26 +1,26 @@ # basic default wheels -#pip==23.2.1 ==> Always install latest version (service-setup.sh:install_python_virtualenv) +#pip==24.0 ==> Always install latest version (service-setup.sh:install_python_virtualenv) # Always match what's in cross/python310/Makefile -setuptools==68.1.2 -wheel==0.41.2 +setuptools==69.2.0 +wheel==0.43.0 # Always use latest version available -# certifi==2023.7.22 +# certifi==2024.2.2 certifi # Mandatory for python application # to create their local virtualenv # in order to install wheels within # their running environment -virtualenv==20.24.4 +virtualenv==20.25.1 # Other mandatory wheels that # gets install by default as # basic dependencies of above -distlib==0.3.7 -filelock==3.12.3 -platformdirs==3.10.0 +distlib==0.3.8 +filelock==3.13.1 +platformdirs==4.2.0 six==1.16.0 ##