From 4c992381097eaa77942deb2c5984344869cad1fa Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 01:33:20 +0000 Subject: [PATCH 01/82] wheel.mk: Redesign proposal based on @hgy59 feedbacks --- mk/spksrc.wheel.mk | 26 ++++++-- spk/python310/Makefile | 2 +- spk/python310/src/requirements-cross.txt | 15 ----- spk/python310/src/requirements.txt | 81 ++++++++++++++---------- 4 files changed, 66 insertions(+), 58 deletions(-) delete mode 100644 spk/python310/src/requirements-cross.txt diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index ce1317777cb..ae74936226e 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -15,12 +15,24 @@ WHEEL_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)wheel_done ifeq ($(strip $(WHEELS_PURE_PYTHON)),) -WHEELS_PURE_PYTHON = requirements.txt +WHEELS_PURE_PYTHON = requirements.txt endif ifeq ($(strip $(WHEELS_CROSS_COMPILE)),) -WHEELS_CROSS_COMPILE = requirements-cross.txt +WHEELS_CROSS_COMPILE = requirements-cross.txt endif +ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),) +WHEEL_DEFAULT_PREFIX = pure +endif + +ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),pure) +WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_PURE_PYTHON) +else +WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_CROSS_COMPILE) +endif + +## + ifeq ($(strip $(PRE_WHEEL_TARGET)),) PRE_WHEEL_TARGET = pre_wheel_target else @@ -56,12 +68,12 @@ pre_wheel_target: wheel_msg_target do \ if [ -f $$wheel ] ; then \ $(MSG) "Using existing $$wheel file" ; \ - $(MSG) cp -f $$wheel $(WHEELHOUSE)/$$(basename $$wheel) ; \ - cp -f $$wheel $(WHEELHOUSE)/$$(basename $$wheel) ; \ - sed -i -e '$$a\\' $(WHEELHOUSE)/$$(basename $$wheel) ; \ + sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ else \ - $(MSG) "Adding to $(WHEELS_PURE_PYTHON) file" ; \ - echo $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + $(MSG) "Adding $$wheel to top of $(WHEEL_DEFAULT_REQUIREMENT) file" ; \ + sed -i "1s/^/$${wheel}\n/" $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ fi ; \ done \ fi diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 7da98ae5373..3880a18b0a9 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -21,7 +21,7 @@ ENV += SODIUM_INSTALL=system # https://github.com/python-pillow/Pillow/issues/5799 DEPENDS += cross/pillow -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt setuptools==58.3.0 pip==21.3.1 wheel==0.37.0 MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python310/src/requirements-cross.txt b/spk/python310/src/requirements-cross.txt deleted file mode 100644 index 6adc36024e9..00000000000 --- a/spk/python310/src/requirements-cross.txt +++ /dev/null @@ -1,15 +0,0 @@ -## Cross-compiled via spksrc.wheel.mk -bcrypt==3.2.0 -cffi==1.15.0 -cryptography==3.3.2 -greenlet==1.1.2 -immutables==0.16 -lxml==4.6.3 -markupsafe==2.0.1 -msgpack-python==0.5.6 -psutil==5.8.0 -pycurl==7.44.1 -PyNaCl==1.4.0 -PyYAML==6.0 -sqlalchemy==1.4.26 -zope.interface==5.4.0 diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index 21d548b89d2..cd6779617ff 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -1,8 +1,3 @@ -# Basic wheels -setuptools==58.3.0 -pip==21.3.1 -wheel==0.37.0 - # cryptography dependencies idna==3.3 @@ -18,33 +13,49 @@ distlib==0.3.3 filelock==3.3.2 Flask==2.0.2 future==0.18.2 -html5lib==1.1 -idna==3.3 -importlib-metadata==4.8.1 -importlib-resources==5.3.0 -itsdangerous==2.0.1 -Jinja2==3.0.2 -olefile==0.46 -oauthlib==3.1.1 -packaging==21.0 -paramiko==2.8.0 -platformdirs==2.4.0 -pyasn1==0.4.8 -pycparser==2.20 -PyJWT==2.3.0 -pyOpenSSL==21.0.0 -pyparsing==3.0.1 -python-dateutil==2.8.2 -pytz==2021.3 -requests==2.26.0 -requests-oauthlib==1.3.0 -requests-toolbelt==0.9.1 -ruamel.yaml==0.17.16 -six==1.16.0 -tzlocal==4.0.1 -Unidecode==1.3.2 -urllib3==1.26.7 -virtualenv==20.9.0 -webencodings==0.5.1 -Werkzeug==2.0.2 -zipp==3.6.0 +pure:html5lib==1.1 +pure:idna==3.3 +pure:importlib-metadata==4.8.1 +pure:importlib-resources==5.3.0 +pure:itsdangerous==2.0.1 +pure:Jinja2==3.0.2 +pure:olefile==0.46 +pure:oauthlib==3.1.1 +pure:packaging==21.0 +pure:paramiko==2.8.0 +pure:platformdirs==2.4.0 +pure:pyasn1==0.4.8 +pure:pycparser==2.20 +pure:PyJWT==2.3.0 +pure:pyOpenSSL==21.0.0 +pure:pyparsing==3.0.1 +pure:python-dateutil==2.8.2 +pure:pytz==2021.3 +pure:requests==2.26.0 +pure:requests-oauthlib==1.3.0 +pure:requests-toolbelt==0.9.1 +pure:ruamel.yaml==0.17.16 +pure:six==1.16.0 +pure:tzlocal==4.0.1 +pure:Unidecode==1.3.2 +pure:urllib3==1.26.7 +pure:virtualenv==20.9.0 +pure:webencodings==0.5.1 +pure:Werkzeug==2.0.2 +pure:zipp==3.6.0 + +## Cross-compiled via spksrc.wheel.mk +cross:bcrypt==3.2.0 +cross:cffi==1.15.0 +cross:cryptography==3.3.2 +cross:greenlet==1.1.2 +cross:immutables==0.16 +cross:lxml==4.6.3 +cross:markupsafe==2.0.1 +cross:msgpack-python==0.5.6 +cross:psutil==5.8.0 +cross:pycurl==7.44.1 +cross:PyNaCl==1.4.0 +cross:PyYAML==6.0 +cross:sqlalchemy==1.4.26 +cross:zope.interface==5.4.0 From 2a08f15fbc886bd1113a991232ddd0a133b54dc2 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:17:01 +0000 Subject: [PATCH 02/82] native/python310: Downgrade crossenv 1.0 to fix missing pip --- native/python310/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/native/python310/Makefile b/native/python310/Makefile index 0a773b534df..e2a4d91a96c 100644 --- a/native/python310/Makefile +++ b/native/python310/Makefile @@ -28,10 +28,10 @@ PIP_NATIVE = $(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/install/usr/loc .PHONY: python310_native_post_install python310_native_post_install: $(WORK_DIR)/python-native.mk - @$(MSG) Installing pip, setuptools, cffi and cross env + @$(MSG) Installing pip, setuptools and crossenv @$(RUN) wget https://bootstrap.pypa.io/get-pip.py @$(RUN) $(PYTHON) get-pip.py "pip==21.3.1" - @$(PIP) install "setuptools==58.3.0" "cffi==1.15" "crossenv==1.1.4" + @$(PIP) install "setuptools==58.3.0" "cffi==1.15" "crossenv==1.0" $(WORK_DIR)/python-native.mk: @echo PIP=$(PIP_NATIVE) >> $@ From 5a0b61d62c6c612f04e5050b6c0cafa96cf6c2f7 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:17:56 +0000 Subject: [PATCH 03/82] wheel.mk: Allow passing prefix to wheel=x.y in WHEELS variable --- mk/spksrc.wheel.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index ae74936226e..29b2c5533b4 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -72,8 +72,10 @@ pre_wheel_target: wheel_msg_target sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ else \ - $(MSG) "Adding $$wheel to top of $(WHEEL_DEFAULT_REQUIREMENT) file" ; \ - sed -i "1s/^/$${wheel}\n/" $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ + $(MSG) "Adding $$wheel to requirement file" ; \ + echo $$wheel | sed -rn /^pure:/s/^pure://gp >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + echo $$wheel | sed -rn /^cross:/s/^cross://gp >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + echo $$wheel | sed -e '/^pure:\|^cross:\|^#\|^$$/d' >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ fi ; \ done \ fi From c6770b9cc147214cc57fff68397a9812f61616fe Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:19:19 +0000 Subject: [PATCH 04/82] python310: Add wheel=x.y to WHEELS variable to showcase --- spk/python310/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 3880a18b0a9..1b20ead725c 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python310 SPK_VERS = 3.10.0 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 1 +SPK_REV = 2 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) @@ -21,7 +21,7 @@ ENV += SODIUM_INSTALL=system # https://github.com/python-pillow/Pillow/issues/5799 DEPENDS += cross/pillow -WHEELS = src/requirements.txt setuptools==58.3.0 pip==21.3.1 wheel==0.37.0 +WHEELS = src/requirements.txt setuptools==58.3.0 pip==21.3.1 wheel==0.37.0 pure:appdirs==1.4.4 cross:bcrypt==3.2.0 MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. From a6026857c1b6bb99dcbde807c5e355c04f7418f2 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:21:08 +0000 Subject: [PATCH 05/82] wheel.mk: Adjust identation --- mk/spksrc.wheel.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 29b2c5533b4..46f4b4315bc 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -68,8 +68,8 @@ pre_wheel_target: wheel_msg_target do \ if [ -f $$wheel ] ; then \ $(MSG) "Using existing $$wheel file" ; \ - sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ - sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ else \ $(MSG) "Adding $$wheel to requirement file" ; \ From df7695c68a3a449e914eea7c2819f4d18f9363b9 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:46:08 +0000 Subject: [PATCH 06/82] native/python310: Revert back to crossenv==1.1.4 --- spk/python310/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 1b20ead725c..ab61484b469 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -5,6 +5,11 @@ SPK_REV = 2 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) +# Mandatory binaries for wheel +# setup during package install +DEPENDS += cross/setuptools cross/pip cross/wheel + +# Required for misc wheels DEPENDS += cross/libxml2 DEPENDS += cross/libxslt DEPENDS += cross/libyaml From 6bf415f4daf545ef4d7abbe61dd0a888a50e8101 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:46:35 +0000 Subject: [PATCH 07/82] cross/wheels*: Update pip and setuptools to latest versions --- cross/pip/Makefile | 2 +- cross/pip/digests | 6 +++--- cross/setuptools/Makefile | 2 +- cross/setuptools/digests | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cross/pip/Makefile b/cross/pip/Makefile index a256f8b5c71..da29a576948 100644 --- a/cross/pip/Makefile +++ b/cross/pip/Makefile @@ -1,6 +1,6 @@ PKG_NAME = pip # use the same version in native/python3/Makefile (python3_native_post_install) -PKG_VERS = 21.3 +PKG_VERS = 21.3.1 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 a04b0e2785f..e56f342323d 100644 --- a/cross/pip/digests +++ b/cross/pip/digests @@ -1,3 +1,3 @@ -pip-21.3.tar.gz SHA1 e6c8b84c60a290818079ce7ebc71ccbf9cd7d294 -pip-21.3.tar.gz SHA256 741a61baab1dbce2d8ca415effa48a2b6a964564f81a9f4f1fce4c433346c034 -pip-21.3.tar.gz MD5 fc20feba27bd36f046c2fbd59bc8f9ea +pip-21.3.1.tar.gz SHA1 a243525070cf70f22a185447ebd3e1435dabb218 +pip-21.3.1.tar.gz SHA256 fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a +pip-21.3.1.tar.gz MD5 0d3f27f4b7fecb33fd573e4f46cc6788 diff --git a/cross/setuptools/Makefile b/cross/setuptools/Makefile index 344c522749a..63d17095f83 100644 --- a/cross/setuptools/Makefile +++ b/cross/setuptools/Makefile @@ -1,5 +1,5 @@ PKG_NAME = setuptools -PKG_VERS = 58.2.0 +PKG_VERS = 58.3.0 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/s/$(PKG_NAME) diff --git a/cross/setuptools/digests b/cross/setuptools/digests index e9aa5829c9c..55d31a57079 100644 --- a/cross/setuptools/digests +++ b/cross/setuptools/digests @@ -1,3 +1,3 @@ -setuptools-58.2.0.tar.gz SHA1 5d97de0e774b2269c85685a4aa8fd5956bcfd2bb -setuptools-58.2.0.tar.gz SHA256 2c55bdb85d5bb460bd2e3b12052b677879cffcf46c0c688f2e5bf51d36001145 -setuptools-58.2.0.tar.gz MD5 ff20ab7e0d51c5ad0a9438c50e598c06 +setuptools-58.3.0.tar.gz SHA1 d5354718cb8c9330d3abc27445467ce8a5ed9d70 +setuptools-58.3.0.tar.gz SHA256 b0c2461641b58fe30e11d4c3dfba316c513bdf9ec85f9fed0c871c678447205e +setuptools-58.3.0.tar.gz MD5 7a2c32ef46b0f91acc8c2756af56a711 From 8f1c44c98f0fe52daeb1325379ad7f3b46467d2c Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 11:47:19 +0000 Subject: [PATCH 08/82] native/python310: Revert back to crossenv==1.1.4 --- native/python310/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native/python310/Makefile b/native/python310/Makefile index e2a4d91a96c..48d64a4c10a 100644 --- a/native/python310/Makefile +++ b/native/python310/Makefile @@ -31,7 +31,7 @@ python310_native_post_install: $(WORK_DIR)/python-native.mk @$(MSG) Installing pip, setuptools and crossenv @$(RUN) wget https://bootstrap.pypa.io/get-pip.py @$(RUN) $(PYTHON) get-pip.py "pip==21.3.1" - @$(PIP) install "setuptools==58.3.0" "cffi==1.15" "crossenv==1.0" + @$(PIP) install "setuptools==58.3.0" "cffi==1.15" "crossenv==1.1.4" $(WORK_DIR)/python-native.mk: @echo PIP=$(PIP_NATIVE) >> $@ From 3247d1815d103feafef12ae5261c5f8e114e35cc Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 20:41:22 +0000 Subject: [PATCH 09/82] wheel.mk: Allow using requirements-pure|cross.txt files --- mk/spksrc.wheel.mk | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 46f4b4315bc..40e907e8b2d 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -15,7 +15,7 @@ WHEEL_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)wheel_done ifeq ($(strip $(WHEELS_PURE_PYTHON)),) -WHEELS_PURE_PYTHON = requirements.txt +WHEELS_PURE_PYTHON = requirements-pure.txt endif ifeq ($(strip $(WHEELS_CROSS_COMPILE)),) WHEELS_CROSS_COMPILE = requirements-cross.txt @@ -67,10 +67,18 @@ pre_wheel_target: wheel_msg_target for wheel in $(WHEELS) ; \ do \ if [ -f $$wheel ] ; then \ - $(MSG) "Using existing $$wheel file" ; \ - sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ - sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ - sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ + if [ $$(basename $$wheel) = $(WHEELS_PURE_PYTHON) ]; then \ + $(MSG) "Adding existing $$wheel file as pure-python" ; \ + cat $$wheel | sed -e '/^#\|^$$/d' >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + elif [ $$(basename $$wheel) = $(WHEELS_CROSS_COMPILE) ]; then \ + $(MSG) "Adding existing $$wheel file as cross-compiled" ; \ + cat $$wheel | sed -e '/^#\|^$$/d' >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + else \ + $(MSG) "Adapting existing $$wheel file" ; \ + sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ + fi ;\ else \ $(MSG) "Adding $$wheel to requirement file" ; \ echo $$wheel | sed -rn /^pure:/s/^pure://gp >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ @@ -105,8 +113,8 @@ post_wheel_target: $(WHEEL_TARGET) mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ cd $(WHEELHOUSE) ; \ if stat -t requirements*.txt >/dev/null 2>&1; then \ - cat requirements*.txt > $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ - fi ;\ + cat requirements*.txt > $(STAGING_INSTALL_WHEELHOUSE)/requirements.txt ; \ + fi ; \ if [ "$(EXCLUDE_PURE_PYTHON_WHEELS)" = "yes" ] ; then \ echo "Pure python wheels are excluded from the package wheelhouse." ; \ for w in *.whl; do \ From fbe123fbb3fb28d58db8da36ff32e4c78c0ccc28 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 21:18:37 +0000 Subject: [PATCH 10/82] wheel.mk: Enfore pure|cross on dedicated files --- mk/spksrc.wheel.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 40e907e8b2d..fc257f11076 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -68,11 +68,11 @@ pre_wheel_target: wheel_msg_target do \ if [ -f $$wheel ] ; then \ if [ $$(basename $$wheel) = $(WHEELS_PURE_PYTHON) ]; then \ - $(MSG) "Adding existing $$wheel file as pure-python" ; \ - cat $$wheel | sed -e '/^#\|^$$/d' >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + $(MSG) "Adding existing $$wheel file as pure-python (discarding any cross-compiled)" ; \ + sed -e '/^cross:\|^#\|^$$/d' -e /^pure:/s/^pure://g $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ elif [ $$(basename $$wheel) = $(WHEELS_CROSS_COMPILE) ]; then \ - $(MSG) "Adding existing $$wheel file as cross-compiled" ; \ - cat $$wheel | sed -e '/^#\|^$$/d' >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + $(MSG) "Adding existing $$wheel file as cross-compiled (discarding any pure-python)" ; \ + sed -e '/^pure:\|^#\|^$$/d' -e /^cross:/s/^cross://g $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ else \ $(MSG) "Adapting existing $$wheel file" ; \ sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ From c2211d09635a45455f8c9ff077a540f72b20e664 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 3 Nov 2021 21:21:57 +0000 Subject: [PATCH 11/82] python310: Add poetry and remote pure: to use default behavior --- spk/python310/src/requirements.txt | 61 +++++++++++++++--------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index cd6779617ff..73d51b33368 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -13,36 +13,37 @@ distlib==0.3.3 filelock==3.3.2 Flask==2.0.2 future==0.18.2 -pure:html5lib==1.1 -pure:idna==3.3 -pure:importlib-metadata==4.8.1 -pure:importlib-resources==5.3.0 -pure:itsdangerous==2.0.1 -pure:Jinja2==3.0.2 -pure:olefile==0.46 -pure:oauthlib==3.1.1 -pure:packaging==21.0 -pure:paramiko==2.8.0 -pure:platformdirs==2.4.0 -pure:pyasn1==0.4.8 -pure:pycparser==2.20 -pure:PyJWT==2.3.0 -pure:pyOpenSSL==21.0.0 -pure:pyparsing==3.0.1 -pure:python-dateutil==2.8.2 -pure:pytz==2021.3 -pure:requests==2.26.0 -pure:requests-oauthlib==1.3.0 -pure:requests-toolbelt==0.9.1 -pure:ruamel.yaml==0.17.16 -pure:six==1.16.0 -pure:tzlocal==4.0.1 -pure:Unidecode==1.3.2 -pure:urllib3==1.26.7 -pure:virtualenv==20.9.0 -pure:webencodings==0.5.1 -pure:Werkzeug==2.0.2 -pure:zipp==3.6.0 +html5lib==1.1 +idna==3.3 +importlib-metadata==4.8.1 +importlib-resources==5.3.0 +itsdangerous==2.0.1 +Jinja2==3.0.2 +olefile==0.46 +oauthlib==3.1.1 +packaging==21.0 +paramiko==2.8.0 +platformdirs==2.4.0 +poetry==1.1.11 +pyasn1==0.4.8 +pycparser==2.20 +PyJWT==2.3.0 +pyOpenSSL==21.0.0 +pyparsing==3.0.1 +python-dateutil==2.8.2 +pytz==2021.3 +requests==2.26.0 +requests-oauthlib==1.3.0 +requests-toolbelt==0.9.1 +ruamel.yaml==0.17.16 +six==1.16.0 +tzlocal==4.0.1 +Unidecode==1.3.2 +urllib3==1.26.7 +virtualenv==20.9.0 +webencodings==0.5.1 +Werkzeug==2.0.2 +zipp==3.6.0 ## Cross-compiled via spksrc.wheel.mk cross:bcrypt==3.2.0 From af2a7e8eaf40d035c41594155fe949874f47e45a Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 4 Nov 2021 22:42:36 +0000 Subject: [PATCH 12/82] python310: Add regex and netifaces --- spk/python310/src/requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index 73d51b33368..1a527b6f510 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -54,9 +54,11 @@ cross:immutables==0.16 cross:lxml==4.6.3 cross:markupsafe==2.0.1 cross:msgpack-python==0.5.6 +cross:netifaces==0.11.0 cross:psutil==5.8.0 cross:pycurl==7.44.1 cross:PyNaCl==1.4.0 cross:PyYAML==6.0 +cross:regex==2021.11.2 cross:sqlalchemy==1.4.26 cross:zope.interface==5.4.0 From c139169b93cf03790bf6509b882361020188a9b8 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 00:29:52 +0000 Subject: [PATCH 13/82] pillow: Downgrading to 8.2.0 per @hgy59 request --- cross/pillow/Makefile | 2 +- cross/pillow/digests | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cross/pillow/Makefile b/cross/pillow/Makefile index 8ccbdb4abd4..63e178f2e1e 100644 --- a/cross/pillow/Makefile +++ b/cross/pillow/Makefile @@ -1,5 +1,5 @@ PKG_NAME = Pillow -PKG_VERS = 8.4.0 +PKG_VERS = 8.2.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/pillow/digests b/cross/pillow/digests index fa8e9c72885..352dbfc9a2e 100644 --- a/cross/pillow/digests +++ b/cross/pillow/digests @@ -1,3 +1,3 @@ -Pillow-8.4.0.tar.gz SHA1 ca8d057aec64ccd0804044bc71c17921afbe2e4e -Pillow-8.4.0.tar.gz SHA256 b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed -Pillow-8.4.0.tar.gz MD5 7a1eb5a250c7ccbd549a89e16404f09f +Pillow-8.2.0.tar.gz SHA1 a9b32caf6ff1d5160ad41265c7ad3b090114eefc +Pillow-8.2.0.tar.gz SHA256 a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1 +Pillow-8.2.0.tar.gz MD5 21c03274a9f59b9c00419852a8faebe7 From 49a7a94c7598f3f5f060283bb308e5378b920a92 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 00:33:52 +0000 Subject: [PATCH 14/82] beets: Update to python310 --- spk/beets/Makefile | 6 +++--- spk/beets/src/requirements.txt | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/spk/beets/Makefile b/spk/beets/Makefile index 574089dd147..3a276466c4e 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -1,13 +1,13 @@ SPK_NAME = beets SPK_VERS = 1.4.9 -SPK_REV = 6 +SPK_REV = 7 SPK_ICON = src/beets.png PIP = $(WORK_DIR)/../../../native/python3/work-native/install/usr/local/bin/pip -BUILD_DEPENDS = native/python3 +BUILD_DEPENDS = native/python310 WHEELS = src/requirements.txt -SPK_DEPENDS = "python3>=3.7.7" +SPK_DEPENDS = "python310" MAINTAINER = ymartin59 DESCRIPTION = "Beets is the media library management system for obsessive-compulsive music geeks. The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music. Plugins not available due to lacking dependencies: AcousticBrainz Submit, Gmusic, ReplayGain." diff --git a/spk/beets/src/requirements.txt b/spk/beets/src/requirements.txt index 2c92340c71b..2f2bcb6c341 100644 --- a/spk/beets/src/requirements.txt +++ b/spk/beets/src/requirements.txt @@ -1,32 +1,32 @@ beets==1.4.9 # Direct dependencies -# six>=1.10.0 ==> included in python3 package installation +# six>=1.10.0 ==> included in python310 package installation mutagen==1.44.0 Unidecode==1.1.1 musicbrainzngs==0.7.1 -#PyYAML>=3.12 ==> included in python3 package installation -#MarkupSafe>=0.23 ==> included in python3 package installation +#PyYAML>=3.12 ==> included in python310 package installation +#MarkupSafe>=0.23 ==> included in python310 package installation munkres==1.1.2 # Plugin dependencies -beautifulsoup4==4.10.0 -certifi==2019.11.28 +#beautifulsoup4==4.10.0 ==> included in python310 package installation +#certifi==2019.11.28 ==> included in python310 package installation chardet==3.0.4 discogs-client==2.2.2 langdetect==1.0.7 -# Pillow==7.0.0 # arch dependent, would need cross compilation -oauthlib==3.1.0 +# Pillow==7.0.0 # arch dependent, would need cross compilation ==> included in python310 package installation +#oauthlib==3.1.0 ==> included in python310 package installation pyacoustid==1.1.7 pylast==3.2.0 python-mpd2==1.0.0 pyxdg==0.26 rarfile==3.1 -requests==2.23.0 -requests-oauthlib==1.3.0 +#requests==2.23.0 ==> included in python310 package installation +#requests-oauthlib==1.3.0 ==> included in python310 package installation soupsieve==2.0 soco==0.18.1 -urllib3==1.25.8 +#urllib3==1.25.8 ==> included in python310 package installation xmltodict==0.12.0 # For web plugin From 105e1c5baa7024edac4b763ff34dbd5c515e03df Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 00:35:08 +0000 Subject: [PATCH 15/82] tvheadend: Migrate to python310 --- spk/tvheadend/Makefile | 6 ++---- spk/tvheadend/src/requirements.txt | 4 ---- 2 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 spk/tvheadend/src/requirements.txt diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 060210211bc..f00121ff2b1 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -4,7 +4,7 @@ SPK_GIT_HASH = c6bb43d SPK_GIT_DATE = 20211020 SPK_VERS = $(SPK_SHORT_VERS).$(SPK_GIT_DATE) TVH_VERS = $(SPK_SHORT_VERS)~$(SPK_GIT_HASH) -SPK_REV = 30 +SPK_REV = 31 SPK_ICON = src/tvheadend.png DSM_UI_DIR = app @@ -13,9 +13,7 @@ DSM_UI_DIR = app # 000-fix-version.patch from cross/tvheadend export TVH_VERS -SPK_DEPENDS = "python38" -WHEELS = src/requirements.txt - +SPK_DEPENDS = "python310" DEPENDS = cross/$(SPK_NAME) cross/zap2epg cross/dtv-scan-tables MAINTAINER = th0ma7 diff --git a/spk/tvheadend/src/requirements.txt b/spk/tvheadend/src/requirements.txt deleted file mode 100644 index 84b557c9ea3..00000000000 --- a/spk/tvheadend/src/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -certifi==2021.5.30 -chardet==4.0.0 -requests==2.25.1 -urllib3==1.26.5 From e96d687c694aa33f4e7d6424cd55cc9464816b38 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 00:35:39 +0000 Subject: [PATCH 16/82] python310: Update requirements using cross as default --- spk/python310/src/requirements.txt | 55 ++++++++++++++---------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index 1a527b6f510..531d5e43f50 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -1,64 +1,61 @@ -# cryptography dependencies -idna==3.3 - -# Pure-python via spksrc.wheel.mk # commonly used wheels appdirs==1.4.4 attrs==21.2.0 +bcrypt==3.2.0 beautifulsoup4==4.10.0 certifi==2021.10.8 +cffi==1.15.0 chardet==4.0.0 click==8.0.3 +cryptography==3.3.2 distlib==0.3.3 -filelock==3.3.2 Flask==2.0.2 future==0.18.2 +greenlet==1.1.2 html5lib==1.1 idna==3.3 -importlib-metadata==4.8.1 -importlib-resources==5.3.0 +immutables==0.16 itsdangerous==2.0.1 Jinja2==3.0.2 +lxml==4.6.3 +markupsafe==2.0.1 +msgpack-python==0.5.6 +netifaces==0.11.0 olefile==0.46 oauthlib==3.1.1 packaging==21.0 paramiko==2.8.0 -platformdirs==2.4.0 -poetry==1.1.11 +psutil==5.8.0 pyasn1==0.4.8 pycparser==2.20 +pycurl==7.44.1 PyJWT==2.3.0 +PyNaCl==1.4.0 pyOpenSSL==21.0.0 pyparsing==3.0.1 -python-dateutil==2.8.2 pytz==2021.3 +PyYAML==6.0 +regex==2021.11.2 requests==2.26.0 requests-oauthlib==1.3.0 requests-toolbelt==0.9.1 ruamel.yaml==0.17.16 six==1.16.0 +sqlalchemy==1.4.26 tzlocal==4.0.1 Unidecode==1.3.2 urllib3==1.26.7 -virtualenv==20.9.0 webencodings==0.5.1 Werkzeug==2.0.2 -zipp==3.6.0 +zope.interface==5.4.0 -## Cross-compiled via spksrc.wheel.mk -cross:bcrypt==3.2.0 -cross:cffi==1.15.0 -cross:cryptography==3.3.2 -cross:greenlet==1.1.2 -cross:immutables==0.16 -cross:lxml==4.6.3 -cross:markupsafe==2.0.1 -cross:msgpack-python==0.5.6 -cross:netifaces==0.11.0 -cross:psutil==5.8.0 -cross:pycurl==7.44.1 -cross:PyNaCl==1.4.0 -cross:PyYAML==6.0 -cross:regex==2021.11.2 -cross:sqlalchemy==1.4.26 -cross:zope.interface==5.4.0 +# Wheels that absolutely needs +# to be managed as pure-python +pure:filelock==3.3.2 +pure:importlib-metadata==4.8.1 +pure:importlib-resources==5.3.0 +pure:platformdirs==2.4.0 +pure:poetry==1.1.11 +pure:python-dateutil==2.8.2 +pure:virtualenv==20.9.0 +pure:zipp==3.6.0 From f487879088d82cd4ba818cefb1c59115da589c0c Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 00:36:51 +0000 Subject: [PATCH 17/82] python310: Remove temporary examples in WHEELS definition --- spk/python310/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/python310/Makefile b/spk/python310/Makefile index ab61484b469..04a4962cd10 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -26,7 +26,7 @@ ENV += SODIUM_INSTALL=system # https://github.com/python-pillow/Pillow/issues/5799 DEPENDS += cross/pillow -WHEELS = src/requirements.txt setuptools==58.3.0 pip==21.3.1 wheel==0.37.0 pure:appdirs==1.4.4 cross:bcrypt==3.2.0 +WHEELS = src/requirements.txt setuptools==58.3.0 pip==21.3.1 wheel==0.37.0 MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. From 3d08330b6d54a66b775862506fe708f984b66541 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 00:42:05 +0000 Subject: [PATCH 18/82] wheel.mk: Fix cross-compiling (based on @publicarray finding) --- mk/spksrc.common.mk | 12 +++++++++--- mk/spksrc.wheel.mk | 18 +++++++++++++----- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/mk/spksrc.common.mk b/mk/spksrc.common.mk index 0c62b8043ae..36f920cb3f7 100644 --- a/mk/spksrc.common.mk +++ b/mk/spksrc.common.mk @@ -13,13 +13,19 @@ MSG = echo "===> " # Launch command in the working dir of the package source and the right environment RUN = cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) -# Pip command +# fallback by default to native/python* PIP ?= pip + +# Cross compiling must call "pip" directly to ensure using +# $(WORK_DIR)/crossenv pip version instead from adjusted $PATH +PIP_CROSS = $(shell . $(CROSSENV) && $(RUN) which pip) + +# System default pip outside from build environment +PIP_SYSTEM = $(shell which pip) + # Why ask for the same thing twice? Always cache downloads PIP_CACHE_OPT ?= --cache-dir $(PIP_DIR) PIP_WHEEL_ARGS = wheel --no-binary :all: $(PIP_CACHE_OPT) --no-deps --wheel-dir $(WHEELHOUSE) -PIP_WHEEL = $(PIP) $(PIP_WHEEL_ARGS) -PIP_DOWNLOAD = $(PIP) download $(PIP_ARGS) --dest $(BASE_DISTRIB_DIR) # Available languages LANGUAGES = chs cht csy dan enu fre ger hun ita jpn krn nld nor plk ptb ptg rus spn sve trk diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index fc257f11076..166eee5e53c 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -14,6 +14,9 @@ WHEEL_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)wheel_done +ifeq ($(strip $(WHEELS_DEFAULT)),) +WHEELS_DEFAULT = requirements.txt +endif ifeq ($(strip $(WHEELS_PURE_PYTHON)),) WHEELS_PURE_PYTHON = requirements-pure.txt endif @@ -22,7 +25,12 @@ WHEELS_CROSS_COMPILE = requirements-cross.txt endif ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),) +# If no ARCH then pure by default +ifeq ($(strip $(ARCH)),) WHEEL_DEFAULT_PREFIX = pure +else +WHEEL_DEFAULT_PREFIX = cross +endif endif ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),pure) @@ -93,18 +101,18 @@ pre_wheel_target: wheel_msg_target build_wheel_target: $(PRE_WHEEL_TARGET) @if [ -n "$(WHEELS)" ] ; then \ $(foreach e,$(shell cat $(WORK_DIR)/python-cc.mk),$(eval $(e))) \ - if [ -f "$(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE)" ]; then \ + if [ -s "$(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE)" ]; then \ $(MSG) "Force cross-compile" ; \ if [ -z "$(CROSSENV)" ]; then \ - $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_WHEEL) --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP) $(PIP_WHEEL_ARGS) --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ else \ - . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" pip $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_CROSS) $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ fi ; \ fi ; \ - if [ -f "$(WHEELHOUSE)/$(WHEELS_PURE_PYTHON)" ]; then \ + if [ -s "$(WHEELHOUSE)/$(WHEELS_PURE_PYTHON)" ]; then \ $(MSG) "Force pure-python" ; \ export LD= LDSHARED= CPP= NM= CC= AS= RANLIB= CXX= AR= STRIP= OBJDUMP= READELF= CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= && \ - $(RUN) $(PIP_WHEEL) --requirement $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + $(RUN) $(PIP) $(PIP_WHEEL_ARGS) --requirement $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ fi ; \ fi From d89821534e15a7df80f2d5cd627785b861711968 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 02:11:16 +0000 Subject: [PATCH 19/82] python3(legacy): Align pip and setuptools with python310 --- cross/python3/Makefile | 8 ++++---- cross/python38/Makefile | 12 ++++++------ native/python3/Makefile | 4 ++-- native/python38/Makefile | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cross/python3/Makefile b/cross/python3/Makefile index ef9ff47c911..4d4db49d374 100644 --- a/cross/python3/Makefile +++ b/cross/python3/Makefile @@ -89,10 +89,10 @@ python3_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) $(WORK_DIR)/crossenv/ . $(WORK_DIR)/crossenv/bin/activate && $(RUN) wget https://bootstrap.pypa.io/get-pip.py - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==21.3" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.3" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "setuptools==58.2.0" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.2.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==21.3.1" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.3.1" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "setuptools==58.3.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.3.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "wheel==0.37.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "wheel==0.37.0" ifneq ($(PYTHON_LIB_NATIVE),$(PYTHON_LIB_CROSS)) diff --git a/cross/python38/Makefile b/cross/python38/Makefile index 452b9ef79ae..fedb1f9dbb0 100644 --- a/cross/python38/Makefile +++ b/cross/python38/Makefile @@ -130,14 +130,14 @@ python38_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) $(WORK_DIR)/crossenv/ . $(WORK_DIR)/crossenv/bin/activate && $(RUN) wget https://bootstrap.pypa.io/get-pip.py - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==21.3" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.3" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "setuptools==58.2.0" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.2.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==21.3.1" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.3.1" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "setuptools==58.3.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.3.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "wheel==0.37.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "wheel==0.37.0" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cffi==1.14.6" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cffi==1.14.6" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cffi==1.15.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cffi==1.15.0" ifneq ($(PYTHON_LIB_NATIVE),$(PYTHON_LIB_CROSS)) cp $(PYTHON_LIB_CROSS)/_sysconfigdata_*.py $(PYTHON_LIB_NATIVE)/_sysconfigdata.py endif diff --git a/native/python3/Makefile b/native/python3/Makefile index e295a702a13..98a72bd8c1e 100644 --- a/native/python3/Makefile +++ b/native/python3/Makefile @@ -26,8 +26,8 @@ PIP_NATIVE = $(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/install/usr/loc python3_native_post_install: $(WORK_DIR)/python-native.mk @$(MSG) Installing pip, setuptools, cffi and cross env @$(RUN) wget https://bootstrap.pypa.io/get-pip.py - @$(RUN) $(PYTHON) get-pip.py "pip==21.3" - @$(PIP) install "setuptools==58.2.0" "cffi==1.14.6" "crossenv==1.0" + @$(RUN) $(PYTHON) get-pip.py "pip==21.3.1" + @$(PIP) install "setuptools==58.3.0" "cffi==1.14.6" "crossenv==1.0" $(WORK_DIR)/python-native.mk: @echo PIP=$(PIP_NATIVE) >> $@ diff --git a/native/python38/Makefile b/native/python38/Makefile index 439245cfb3d..38a65834979 100644 --- a/native/python38/Makefile +++ b/native/python38/Makefile @@ -31,8 +31,8 @@ PIP_NATIVE = $(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/install/usr/loc python38_native_post_install: $(WORK_DIR)/python-native.mk @$(MSG) Installing pip, setuptools, cffi and cross env @$(RUN) wget https://bootstrap.pypa.io/get-pip.py - @$(RUN) $(PYTHON) get-pip.py "pip==21.3" - @$(PIP) install "setuptools==58.2.0" "cffi==1.14.6" "crossenv==1.0" + @$(RUN) $(PYTHON) get-pip.py "pip==21.3.1" + @$(PIP) install "setuptools==58.3.0" "cffi==1.14.6" "crossenv==1.0" $(WORK_DIR)/python-native.mk: @echo PIP=$(PIP_NATIVE) >> $@ From 642c08db82385fb0ad06c232632a5faa9634a009 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 02:27:08 +0000 Subject: [PATCH 20/82] octoprint: Update to python310 --- spk/octoprint/Makefile | 12 ++++++------ spk/octoprint/src/requirements-cross.txt | 11 ----------- spk/octoprint/src/requirements.txt | 16 +++++++++++++--- 3 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 spk/octoprint/src/requirements-cross.txt diff --git a/spk/octoprint/Makefile b/spk/octoprint/Makefile index e34f66c7a07..1b94e3bb738 100644 --- a/spk/octoprint/Makefile +++ b/spk/octoprint/Makefile @@ -1,25 +1,25 @@ SPK_NAME = octoprint SPK_VERS = 1.7.2 -SPK_REV = 6 +SPK_REV = 7 SPK_ICON = src/octoprint.png DSM_UI_DIR = app -BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel +BUILD_DEPENDS = cross/python310 DEPENDS = cross/octoprint -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt -SPK_DEPENDS = "python38" +SPK_DEPENDS = "python310" MAINTAINER = SynoCommunity DESCRIPTION = The snappy web interface for your 3D printer. SERVICE_PORT = 8088 -ADMIN_PORT = $(SERVICE_PORT) +ADMIN_PORT = $(SERVICE_PORT) DISPLAY_NAME = OctoPrint HOMEPAGE = https://octoprint.org/ LICENSE = AGPLv3 -CHANGELOG = "Update OctoPrint to v1.7.2 and python38" +CHANGELOG = "Update OctoPrint to v1.7.2 and python310" # SERVICE_COMMAND is in src/service-setup.sh STARTABLE = yes diff --git a/spk/octoprint/src/requirements-cross.txt b/spk/octoprint/src/requirements-cross.txt deleted file mode 100644 index 10aa3d06114..00000000000 --- a/spk/octoprint/src/requirements-cross.txt +++ /dev/null @@ -1,11 +0,0 @@ -# all requirements are taken from the list "INSTALL_REQUIRES" in the -# original setup.py at: https://github.com/OctoPrint/OctoPrint/blob/master/setup.py -# this file contains the wheels to cross compile only - -MarkupSafe==1.1.1 -netifaces==0.11.0 -psutil==5.8.0 -PyYAML==5.4.1 -regex==2021.10.23 -tornado==6.1 -wrapt==1.12.1 diff --git a/spk/octoprint/src/requirements.txt b/spk/octoprint/src/requirements.txt index 767ccf54d4d..4cb6a82b792 100644 --- a/spk/octoprint/src/requirements.txt +++ b/spk/octoprint/src/requirements.txt @@ -20,19 +20,29 @@ colorlog==5.0.1 emoji==1.6.1 feedparser==6.0.8 filetype==1.0.8 -future==0.18.2 -immutabledict==2.2.1 +#future==0.18.2 ==> python310 itsdangerous==1.1.0 +MarkupSafe==1.1.1 netaddr==0.8.0 +#netifaces==0.11.0 ==> python310 pathvalidate==2.5.0 +#psutil==5.8.0 ==> python310 pkginfo==1.7.1 pylru==1.2.0 pyserial==3.5 -requests==2.26.0 +PyYAML==5.4.1 +#regex==2021.10.23 ==> python310 +#requests==2.26.0 ==> python310 sarge==0.1.6 semantic_version==2.8.5 sentry_sdk==1.4.3 +tornado==6.1 watchdog==0.10.4 websocket_client==0.59.0 +wrapt==1.12.1 zeroconf==0.33.4 zipstream_new==1.1.8 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:immutabledict==2.2.1 From 0d7787395b38258036a938ca2a965345f9f057ff Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 02:32:29 +0000 Subject: [PATCH 21/82] sickchill: Update to python310 --- spk/python310/src/requirements.txt | 3 +- spk/sickchill/Makefile | 11 ++-- spk/sickchill/src/requirements-cross.txt | 17 ------ spk/sickchill/src/requirements.txt | 70 +++++++++++++++--------- 4 files changed, 51 insertions(+), 50 deletions(-) delete mode 100755 spk/sickchill/src/requirements-cross.txt diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index 531d5e43f50..09b59b8ac7f 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -15,6 +15,7 @@ greenlet==1.1.2 html5lib==1.1 idna==3.3 immutables==0.16 +ipaddress==1.0.23 itsdangerous==2.0.1 Jinja2==3.0.2 lxml==4.6.3 @@ -42,7 +43,7 @@ requests-toolbelt==0.9.1 ruamel.yaml==0.17.16 six==1.16.0 sqlalchemy==1.4.26 -tzlocal==4.0.1 +tzlocal==4.1 Unidecode==1.3.2 urllib3==1.26.7 webencodings==0.5.1 diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index 8ad88a5a68e..0d1ee76bb7a 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -3,18 +3,17 @@ SPK_VERS = 20211110 SPK_REV = 4 SPK_ICON = src/sickchill.png -BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel cross/poetry cross/lxml -# cross/cffi cross/setuptools cross/cryptography cross/poetry -DEPENDS = cross/PyNaCl cross/$(SPK_NAME) -SPK_DEPENDS = "python38>=3.8.12-6" +BUILD_DEPENDS = cross/python38 +DEPENDS = cross/$(SPK_NAME) +SPK_DEPENDS = "python310" -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt MAINTAINER = miigotu DESCRIPTION = Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. STARTABLE = yes DISPLAY_NAME = SickChill -CHANGELOG = "1. SickChill environment fix
2. Move to Python 3.8 without git
3. Added DSM7 Support
4. cryptography resolution for armv7" +CHANGELOG = "1. Migration to Python 3.10
2. SickChill environment fix
3. Added DSM7 Support
4. cryptography resolution for armv7" HOMEPAGE = https://sickchill.github.io/ LICENSE = GPLv3+ diff --git a/spk/sickchill/src/requirements-cross.txt b/spk/sickchill/src/requirements-cross.txt deleted file mode 100755 index d8b71bdd033..00000000000 --- a/spk/sickchill/src/requirements-cross.txt +++ /dev/null @@ -1,17 +0,0 @@ -cffi==1.15.0 -chardet==4.0.0 -click==8.0.3 -###cryptography==3.4.7 -future==0.18.2 -###py38 greenlet==1.1.2 -###importlib-metadata==1.7.0 -kodipydent-alt==2021.7.16 -###py38 lxml==4.6.3 -MarkupSafe==2.0.1 -msgpack==1.0.2 -###PyNaCl==1.4.0 -sgmllib3k==1.0.0 -SQLAlchemy==1.4.26 #py38 -wrapt==1.13.3 -###python-dateutil==2.8.2 -backports.zoneinfo==0.2.1 diff --git a/spk/sickchill/src/requirements.txt b/spk/sickchill/src/requirements.txt index 147290dd1e0..2f918ce3d3e 100644 --- a/spk/sickchill/src/requirements.txt +++ b/spk/sickchill/src/requirements.txt @@ -1,70 +1,79 @@ -###poetry adds with removal of cross/poetry -###poetry==1.2.0a2 -###poetry-core==1.1.0a6 -###poetry-date-version-plugin==2021.7.16-6 -###py38 appdirs==1.4.4 babelfish==0.6.0 beautifulsoup4==4.10.0 beekeeper-alt==2021.7.16 +#appdirs==1.4.4 ==> python310 +#beautifulsoup4==4.10.0 ==> python310 bencode.py==4.0.0 cachecontrol==0.12.9 -certifi==2021.10.8 +#certifi==2021.10.8 ==> python310 +#cffi==1.15.0 ==> python310 +#chardet==4.0.0 ==> python310 charset-normalizer==2.0.7 +#click==8.0.3 ==> python310 cloudscraper==1.2.58 colorama==0.4.4 configobj==5.0.6 +#cryptography==3.4.7 ==> python310:cryptography==3.3.2 decorator==5.1.0 deluge-client==1.9.0 deprecated==1.2.13 dogpile.cache==1.1.4 enzyme==0.4.1 feedparser==6.0.8 +future==0.18.2 gntp==1.0.3 +#greenlet==1.1.2 ==> python310 guessit==3.4.0 -html5lib==1.1 +#html5lib==1.1 ==> python310 httplib2==0.20.2 -###py38 idna==3.3 +#idna==3.3 ==> python310 ifaddr==0.1.7 imagesize==1.2.0 IMDbPY==2021.4.18 -###py38 ipaddress==1.0.23 +#importlib-metadata==1.7.0 ==> python310:importlib-metadata==4.8.1 +#ipaddress==1.0.23 ==> python310 Js2Py==0.71 jsonrpclib-pelix==0.4.3.1 -###kodipydent-alt==2021.7.16 +#lxml==4.6.3 ==> python310 Mako==1.1.5 markdown2==2.4.1 +#MarkupSafe==2.0.1 ==> python310 +msgpack==1.0.2 new-rtorrent-python==1.0.1a0 -oauthlib==3.1.1 -packaging==20.9 +#oauthlib==3.1.1 ==> python310 +#packaging==20.9 ==> python310 pbr==5.7.0 +poetry-core==1.1.0a6 profilehooks==1.12.0 putio.py==8.7.0 +#pycparser==2.20 ==> python310 +#pyopenssl==21.0.0 ==> python310 pyaes==1.6.1 -###py38 pycparser==2.20 pygithub==1.55 -###py38 pyopenssl==21.0.0 pyjsparser==2.7.1 pyjwt==2.3.0 pymediainfo==5.1.0 +#PyNaCl==1.4.0 ==> python310 pynma==1.0 -###py38 pyopenssl==20.0.1 -pyparsing==2.4.7 +#pyparsing==2.4.7 ==> python310 pysocks==1.7.1 pysrt==1.1.2 -###python-dateutil==2.8.2 +python3-fanart==2.0.0 +#python-dateutil==2.8.2 ==> python310 python-slugify==5.0.2 python-twitter==3.5 -python3-fanart==2.0.0 pytz==2021.3 qbittorrent-api==2021.8.23 rarfile==4.0 rebulk==3.1.0 -requests==2.26.0 -requests-oauthlib==1.3.0 -requests-toolbelt==0.9.1 +#requests==2.26.0 ==> python310 +#requests-oauthlib==1.3.0 ==> python310 +#requests-toolbelt==0.9.1 ==> python310 send2trash==1.8.0 -###py38 six==1.16.0 +#six==1.16.0 ==> python310 +sgmllib3k==1.0.0 soupsieve==2.3 +#SQLAlchemy==1.4.26 ==> python310 stevedore==3.5.0 subliminal==2.1.0 text-unidecode==1.3 @@ -73,11 +82,20 @@ tmdbsimple==2.8.0 tornado==6.1 tus.py==1.3.4 tvdbsimple==1.0.6 -tzlocal==4.1 -unidecode==1.3.2 -urllib3==1.26.7 +#tzlocal==4.1 ==> python310 +#unidecode==1.3.2 ==> python310 +#urllib3==1.26.7 ==> python310 validators==0.18.2 webencodings==0.5.1 win-inet-pton==1.1.0 +wrapt==1.13.3 xmltodict==0.12.0 -###py38 zipp==3.6.0 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:babelfish==0.6.0 +pure:beekeeper-alt==2021.7.16 +pure:kodipydent-alt==2021.7.16 +pure:poetry==1.2.0a2 +pure:poetry-date-version-plugin==2021.7.16-6 +#pure:zipp==3.6.0 ==> python310 From e179c847052cafd15d3d6b79d8c52561c0c7e399 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 03:01:14 +0000 Subject: [PATCH 22/82] tvheadend: Remove python virtualenv as all wheels in python310 --- spk/tvheadend/src/service-setup.sh | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/spk/tvheadend/src/service-setup.sh b/spk/tvheadend/src/service-setup.sh index 78989220419..f4d40490398 100644 --- a/spk/tvheadend/src/service-setup.sh +++ b/spk/tvheadend/src/service-setup.sh @@ -2,12 +2,9 @@ # Sourced script by generic installer and start-stop-status scripts # Add ffmpeg and ifself to path -PYTHON_DIR="/var/packages/python38/target" -PYTHONENV="${SYNOPKG_PKGDEST}/env" -VIRTUALENV="${PYTHON_DIR}/bin/virtualenv" -WHEELHOUSE=${SYNOPKG_PKGDEST}/share/wheelhouse +PYTHON_DIR="/var/packages/python310/target" FFMPEG_DIR="/var/packages/ffmpeg/target" -PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${FFMPEG_DIR}/bin:${PYTHON_DIR}/bin:${PATH}" +PATH="${SYNOPKG_PKGDEST}/bin:${FFMPEG_DIR}/bin:${PYTHON_DIR}/bin:${PATH}" # Service configuration. Change http and htsp ports here and in conf/tvheadend.sc for non-standard ports HTTP=9981 @@ -22,18 +19,6 @@ SVC_BACKGROUND=yes # Group configuration to manage permissions of recording folders GROUP=sc-media -service_postinst () -{ - # EPG Grabber (zap2epg) - Create a Python virtualenv - ${VIRTUALENV} --system-site-packages ${PYTHONENV} - - # EPG Grabber (zap2epg) - Install the wheels/requirements - ${SYNOPKG_PKGDEST}/env/bin/pip install \ - --no-deps --no-index --no-input --upgrade \ - --force-reinstall --find-links \ - ${WHEELHOUSE} ${WHEELHOUSE}/*.whl -} - service_postupgrade () { # Need to enforce correct permissions for recording directories on upgrades From b5b6f22de03a1c6ffa9beae2a6cad1f6124f9256 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 03:02:42 +0000 Subject: [PATCH 23/82] octoprint: Migrate service-setup to use python310 --- spk/octoprint/src/service-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/octoprint/src/service-setup.sh b/spk/octoprint/src/service-setup.sh index 4168b57e741..1316802baac 100644 --- a/spk/octoprint/src/service-setup.sh +++ b/spk/octoprint/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python38/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" From fdc4789b320e853d779cc586ee7589f1fbfc1e58 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 03:03:46 +0000 Subject: [PATCH 24/82] sickchill: Update service-setup to use python310 --- spk/sickchill/src/service-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sickchill/src/service-setup.sh b/spk/sickchill/src/service-setup.sh index 0b47f2ac3aa..68115108d1e 100755 --- a/spk/sickchill/src/service-setup.sh +++ b/spk/sickchill/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python38/target" +PYTHON_DIR="/var/packages/python310/target" PIP=${SYNOPKG_PKGDEST}/env/bin/pip3 PATH="${SYNOPKG_PKGDEST}/bin:${SYNOPKG_PKGDEST}/env/bin:${PYTHON_DIR}/bin:${PATH}" HOME="${SYNOPKG_PKGVAR}" From da03a7e74058c49ae73cd3ad22581be356fbd6d7 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 03:04:37 +0000 Subject: [PATCH 25/82] beets: Update service-setup to use python310 --- spk/beets/src/service-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/beets/src/service-setup.sh b/spk/beets/src/service-setup.sh index 9cfe5f1bcdc..7223943c02f 100644 --- a/spk/beets/src/service-setup.sh +++ b/spk/beets/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python3/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" PATH="${SYNOPKG_PKGDEST}/bin:${SYNOPKG_PKGDEST}/env/bin:${PYTHON_DIR}:${PATH}" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PIP=${SYNOPKG_PKGDEST}/env/bin/pip From 3eb9378e995972db3d4dada2b5b7305b54d64d36 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 12:00:26 +0000 Subject: [PATCH 26/82] flexget: Migrate to python310 --- spk/flexget/Makefile | 11 +++-- spk/flexget/src/requirements-cross.txt | 15 ------- spk/flexget/src/requirements.txt | 61 +++++++++++++++++--------- spk/flexget/src/service-setup.sh | 2 +- 4 files changed, 46 insertions(+), 43 deletions(-) delete mode 100644 spk/flexget/src/requirements-cross.txt diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index 04f824975f1..f6aece90665 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -1,17 +1,16 @@ SPK_NAME = flexget SPK_VERS = 3.1.129 -SPK_REV = 10 +SPK_REV = 11 SPK_ICON = src/${SPK_NAME}.png -BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel -DEPENDS = cross/poetry -WHEELS = src/requirements-cross.txt src/requirements.txt -SPK_DEPENDS = "python38" +BUILD_DEPENDS = cross/python310 +WHEELS = src/requirements.txt +SPK_DEPENDS = "python310" MAINTAINER = manowark DESCRIPTION = FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds. DISPLAY_NAME = FlexGet -CHANGELOG = "1. Update FlexGet to version 3.1.129.
2. Include transmission-rpc again." +CHANGELOG = "1. Update FlexGet to version 3.1.129.
2. Include transmission-rpc again.
3. Update to python 3.10" STARTABLE = yes HOMEPAGE = https://flexget.com/ diff --git a/spk/flexget/src/requirements-cross.txt b/spk/flexget/src/requirements-cross.txt deleted file mode 100644 index 202f0584bb7..00000000000 --- a/spk/flexget/src/requirements-cross.txt +++ /dev/null @@ -1,15 +0,0 @@ -Brotli==1.0.9 -click==7.1.2 -colorclass==2.2.0 -greenlet==1.0.0 -MarkupSafe==2.0.0 -progressbar==2.5 -psutil==5.8.0 -pynzb==0.1.0 -pyrsistent==0.17.3 -PyRSS2Gen==1.1 -PyYAML==5.4.1 -sgmllib3k==1.0.0 -SQLAlchemy==1.4.15 -terminaltables==3.1.0 -zxcvbn-python==4.4.24 diff --git a/spk/flexget/src/requirements.txt b/spk/flexget/src/requirements.txt index d58805bc4ac..28112ca50f9 100644 --- a/spk/flexget/src/requirements.txt +++ b/spk/flexget/src/requirements.txt @@ -7,12 +7,14 @@ aniso8601==9.0.1 APScheduler==3.7.0 attrs==20.3.0 babelfish==0.5.5 -beautifulsoup4==4.10.0 -certifi==2020.12.5 -chardet==4.0.0 -cheroot==8.5.2 +#beautifulsoup4==4.10.0 ==> python310 +Brotli==1.0.9 +#certifi==2020.12.5 ==> python310 +#chardet==4.0.0 ==> python310 CherryPy==18.6.0 +click==7.1.2 colorama==0.4.4 +colorclass==2.2.0 feedparser==6.0.2 Flask==1.1.2 Flask-Compress==1.9.0 @@ -21,37 +23,54 @@ Flask-Login==0.5.0 Flask-RESTful==0.3.8 flask-restx==0.4.0 FlexGet==3.1.129 +#greenlet==1.0.0 ==> python310 guessit==3.2.0 html5lib==1.1 idna==2.10 -importlib-metadata==4.0.1 itsdangerous==1.1.0 -jaraco.classes==3.2.1 -jaraco.collections==3.3.0 -jaraco.functools==3.3.0 -jaraco.text==3.5.0 Jinja2==2.11.3 -jsonschema==3.2.0 loguru==0.5.3 +#MarkupSafe==2.0.0 ==> python310 more-itertools==8.7.0 -#plumbum==1.7.0 plumbum==1.6.9 -portend==2.7.1 +#plumbum==1.7.0 +progressbar==2.5 +#psutil==5.8.0 ==> python310 +pynzb==0.1.0 pyparsing==2.4.7 -python-dateutil==2.8.1 +pyrsistent==0.17.3 +PyRSS2Gen==1.1 pytz==2021.1 +PyYAML==5.4.1 rebulk==3.0.1 requests==2.25.1 -#rpyc==5.0.1 rpyc==4.1.2 -six==1.16.0 +#rpyc==5.0.1 +sgmllib3k==1.0.0 +#six==1.16.0 ==> python310 soupsieve==2.2.1 -tempora==4.0.2 -transmission-rpc==3.2.5 +#SQLAlchemy==1.4.15 ==> python310 +terminaltables==3.1.0 typing-extensions==3.10.0.0 -tzlocal==2.1 -urllib3==1.26.5 -webencodings==0.5.1 +#tzlocal==2.1 ==> python310 +#urllib3==1.26.5 ==> python310 +#webencodings==0.5.1 ==> python310 Werkzeug==1.0.1 zc.lockfile==2.0 -zipp==3.4.1 +zxcvbn-python==4.4.24 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:cheroot==8.5.2 +#pure:importlib-metadata==4.0.1 ==> python310 +pure:jaraco.classes==3.2.1 +pure:jaraco.collections==3.3.0 +pure:jaraco.functools==3.3.0 +pure:jaraco.text==3.5.0 +pure:jsonschema==3.2.0 +pure:poetry==1.1.11 +pure:portend==2.7.1 +#pure:python-dateutil==2.8.1 ==> python310 +pure:tempora==4.0.2 +pure:transmission-rpc==3.2.5 +#pure:zipp==3.4.1 ==> python310 diff --git a/spk/flexget/src/service-setup.sh b/spk/flexget/src/service-setup.sh index b33b59ae4cb..2de4b841275 100644 --- a/spk/flexget/src/service-setup.sh +++ b/spk/flexget/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python3/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" From 4559ca3361636d95d7e51aee94ade90ff05ab20e Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 12:14:52 +0000 Subject: [PATCH 27/82] python3: Adjust requirements.txt --- spk/python3/Makefile | 4 +-- spk/python3/src/requirements-cross.txt | 20 -------------- spk/python3/src/requirements.txt | 36 +++++++++++++++++++++----- 3 files changed, 31 insertions(+), 29 deletions(-) delete mode 100644 spk/python3/src/requirements-cross.txt diff --git a/spk/python3/Makefile b/spk/python3/Makefile index 0f1d0192c0b..a281b81b545 100644 --- a/spk/python3/Makefile +++ b/spk/python3/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python3 SPK_VERS = 3.7.12 SPK_SHORT_VERS = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 20 +SPK_REV = 21 SPK_ICON = src/python3.png DEPENDS = cross/busybox cross/$(SPK_NAME) @@ -12,7 +12,7 @@ DEPENDS += cross/lxml cross/pycrypto cross/pycurl cross/pyyaml DEPENDS += cross/msgpack-python cross/ruamel.yaml cross/immutables DEPENDS += cross/cryptography -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt MAINTAINER = Allan Clark DESCRIPTION = Python Programming Language. diff --git a/spk/python3/src/requirements-cross.txt b/spk/python3/src/requirements-cross.txt deleted file mode 100644 index d1193ee8348..00000000000 --- a/spk/python3/src/requirements-cross.txt +++ /dev/null @@ -1,20 +0,0 @@ -## Modules cross-compiled via spksrc.python-wheel.mk -# Included for reference -#lxml==4.6.3 -#pycrypto==2.6.1 -#Pillow==8.2.0 -#pycurl==7.43.0.6 -#pyyaml==5.4.1 -#immutables==0.16 - -## Cross-compiled via spksrc.wheel.mk -markupsafe==2.0.1 -psutil==5.8.0 -sqlalchemy==1.4.26 -zope.interface==5.4.0 - -# cryptography dependencies -pyasn1==0.4.8 - -# pillow dependencies -olefile==0.46 diff --git a/spk/python3/src/requirements.txt b/spk/python3/src/requirements.txt index b2620325dd3..a954ac2bcdb 100644 --- a/spk/python3/src/requirements.txt +++ b/spk/python3/src/requirements.txt @@ -1,15 +1,37 @@ -## Pure-python via spksrc.wheel.mk +## default appdirs==1.4.4 distlib==0.3.3 -filelock==3.0.12 -importlib-resources==5.2.2 -importlib-metadata==4.8.1 -platformdirs==2.4.0 +markupsafe==2.0.1 +psutil==5.8.0 pyopenssl==21.0.0 six==1.16.0 -virtualenv==20.4.6 -zipp==3.6.0 +sqlalchemy==1.4.26 +zope.interface==5.4.0 # cryptography dependencies idna==3.3 ipaddress==1.0.23 + +## Modules cross-compiled via spksrc.python-wheel.mk +# Included for reference +#lxml==4.6.3 +#pycrypto==2.6.1 +#Pillow==8.2.0 +#pycurl==7.43.0.6 +#pyyaml==5.4.1 +#immutables==0.16 + +# cryptography dependencies +pyasn1==0.4.8 + +# pillow dependencies +olefile==0.46 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:filelock==3.0.12 +pure:importlib-resources==5.2.2 +pure:importlib-metadata==4.8.1 +pure:platformdirs==2.4.0 +pure:virtualenv==20.4.6 +pure:zipp==3.6.0 From c1b4cabe6e9a73fbda4c7a226d8451374c85c908 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 12:17:55 +0000 Subject: [PATCH 28/82] python38: Adjust requirements --- spk/python38/Makefile | 4 +-- spk/python38/src/requirements-cross.txt | 20 -------------- spk/python38/src/requirements.txt | 36 ++++++++++++++++++++----- 3 files changed, 31 insertions(+), 29 deletions(-) delete mode 100644 spk/python38/src/requirements-cross.txt diff --git a/spk/python38/Makefile b/spk/python38/Makefile index c73606eeec6..15006e99ba6 100644 --- a/spk/python38/Makefile +++ b/spk/python38/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python38 SPK_VERS = 3.8.12 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 6 +SPK_REV = 7 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) @@ -13,7 +13,7 @@ DEPENDS += cross/lxml cross/msgpack-python DEPENDS += cross/pycrypto cross/pycurl DEPENDS += cross/pyyaml cross/ruamel.yaml cross/sqlite -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python38/src/requirements-cross.txt b/spk/python38/src/requirements-cross.txt deleted file mode 100644 index d1193ee8348..00000000000 --- a/spk/python38/src/requirements-cross.txt +++ /dev/null @@ -1,20 +0,0 @@ -## Modules cross-compiled via spksrc.python-wheel.mk -# Included for reference -#lxml==4.6.3 -#pycrypto==2.6.1 -#Pillow==8.2.0 -#pycurl==7.43.0.6 -#pyyaml==5.4.1 -#immutables==0.16 - -## Cross-compiled via spksrc.wheel.mk -markupsafe==2.0.1 -psutil==5.8.0 -sqlalchemy==1.4.26 -zope.interface==5.4.0 - -# cryptography dependencies -pyasn1==0.4.8 - -# pillow dependencies -olefile==0.46 diff --git a/spk/python38/src/requirements.txt b/spk/python38/src/requirements.txt index 397e49a5ba8..b4734fffa50 100644 --- a/spk/python38/src/requirements.txt +++ b/spk/python38/src/requirements.txt @@ -1,15 +1,37 @@ -## Pure-python via spksrc.wheel.mk +## default appdirs==1.4.4 distlib==0.3.3 -filelock==3.3.1 -importlib-resources==5.2.2 -importlib-metadata==4.8.1 -platformdirs==2.4.0 +markupsafe==2.0.1 +psutil==5.8.0 pyopenssl==21.0.0 six==1.16.0 -virtualenv==20.4.6 -zipp==3.6.0 +sqlalchemy==1.4.26 +zope.interface==5.4.0 # cryptography dependencies idna==3.3 ipaddress==1.0.23 + +## Modules cross-compiled via spksrc.python-wheel.mk +# Included for reference +#lxml==4.6.3 +#pycrypto==2.6.1 +#Pillow==8.2.0 +#pycurl==7.43.0.6 +#pyyaml==5.4.1 +#immutables==0.16 + +# cryptography dependencies +pyasn1==0.4.8 + +# pillow dependencies +olefile==0.46 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:filelock==3.3.1 +pure:importlib-resources==5.2.2 +pure:importlib-metadata==4.8.1 +pure:platformdirs==2.4.0 +pure:virtualenv==20.4.6 +pure:zipp==3.6.0 From 1550f24b917346a540e613cd84316b928b820a55 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 12:18:57 +0000 Subject: [PATCH 29/82] sabnzbd: Update to python 3.10 --- spk/sabnzbd/Makefile | 10 ++++---- spk/sabnzbd/src/requirements-cross.txt | 2 -- spk/sabnzbd/src/requirements.txt | 33 +++++++++++++++----------- spk/sabnzbd/src/service-setup.sh | 2 +- 4 files changed, 25 insertions(+), 22 deletions(-) delete mode 100644 spk/sabnzbd/src/requirements-cross.txt diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index e23f5914530..9c5eda2eb5b 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -1,15 +1,15 @@ SPK_NAME = sabnzbd SPK_VERS = 3.4.2 -SPK_REV = 50 +SPK_REV = 51 SPK_ICON = src/sabnzbd.png -BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel cross/poetry +BUILD_DEPENDS = cross/python310 DEPENDS = cross/busybox cross/par2cmdline cross/unrar cross/p7zip cross/$(SPK_NAME) -SPK_DEPENDS = "python38>=3.8.1-1" +SPK_DEPENDS = "python310" # To generate full requirements.txt, extend SABnzbd's own # requirements.txt with the depedencies of cherrypy and cheroot -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt MAINTAINER = Safihre DESCRIPTION = SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction. @@ -17,7 +17,7 @@ DESCRIPTION_FRE = SABnzbd rend Usenet aussi simple et automatisé que possible. DESCRIPTION_SPN = SABnzbd hace que Usenet sea lo más simple posible, automatizando todo lo que se puede. Todo lo que tienes que hacer es agregar un archivo .nzb. SABnzbd empieza desde ahí. Tus archivos serán automáticamente descargados, verificados, reparados, descomprimidos y archivados. DISPLAY_NAME = SABnzbd STARTABLE = yes -CHANGELOG = "Update SABnzbd to 3.4.2." +CHANGELOG = "1. Update SABnzbd to 3.4.2.
2. Update to python 3.10" HOMEPAGE = https://sabnzbd.org LICENSE = GPL diff --git a/spk/sabnzbd/src/requirements-cross.txt b/spk/sabnzbd/src/requirements-cross.txt deleted file mode 100644 index c7e8b424669..00000000000 --- a/spk/sabnzbd/src/requirements-cross.txt +++ /dev/null @@ -1,2 +0,0 @@ -cheetah3==3.2.6 -sabyenc3==4.0.2 diff --git a/spk/sabnzbd/src/requirements.txt b/spk/sabnzbd/src/requirements.txt index efefe41bb41..d87ef1c928c 100644 --- a/spk/sabnzbd/src/requirements.txt +++ b/spk/sabnzbd/src/requirements.txt @@ -1,20 +1,25 @@ -chardet==4.0.0 -cheroot==8.5.2 +#chardet==4.0.0 ==> python310 +cheetah3==3.2.6 cherrypy==18.6.1 configobj==5.0.6 -sgmllib3k==1.0.0 feedparser==6.0.8 -jaraco.classes==3.2.1 -jaraco.collections==3.4.0 -jaraco.functools==3.3.0 -jaraco.text==3.5.1 +guessit==3.3.1 more-itertools==8.9.0 -portend==2.7.1 +puremagic==1.10 pytz==2021.1 -tempora==4.1.1 -zc.lockfile==2.0 -guessit==3.3.1 -babelfish==0.6.0 rebulk==3.0.1 -python-dateutil==2.8.2 -puremagic==1.10 +sabyenc3==4.0.2 +sgmllib3k==1.0.0 +zc.lockfile==2.0 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:babelfish==0.6.0 +pure:cheroot==8.5.2 +pure:jaraco.classes==3.2.1 +pure:jaraco.collections==3.4.0 +pure:jaraco.functools==3.3.0 +pure:jaraco.text==3.5.1 +pure:portend==2.7.1 +#pure:python-dateutil==2.8.2 ==> python310 +pure:tempora==4.1.1 diff --git a/spk/sabnzbd/src/service-setup.sh b/spk/sabnzbd/src/service-setup.sh index a7e9a621658..8f2545f1dbc 100644 --- a/spk/sabnzbd/src/service-setup.sh +++ b/spk/sabnzbd/src/service-setup.sh @@ -1,5 +1,5 @@ BIN="${SYNOPKG_PKGDEST}/bin" -PYTHON_DIR="/var/packages/python38/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" PATH="${BIN}:${SYNOPKG_PKGDEST}/env/bin:${PYTHON_DIR}:${PATH}" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PYTHON="${SYNOPKG_PKGDEST}/env/bin/python3" From a1ac7578356d77ef182e9e2a5396d9b6b2df29d6 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 12:36:14 +0000 Subject: [PATCH 30/82] download.mk: Temporary add --no-certificate-check to wget for yasm --- mk/spksrc.download.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/spksrc.download.mk b/mk/spksrc.download.mk index 2580f6819f8..761978984b3 100644 --- a/mk/spksrc.download.mk +++ b/mk/spksrc.download.mk @@ -157,7 +157,7 @@ download_target: $(PRE_DOWNLOAD_TARGET) else \ $(MSG) " wget $${url}" ; \ rm -f $${localFile}.part ; \ - wget --secure-protocol=TLSv1_2 -nv -O $${localFile}.part -nc $${url} ; \ + wget --secure-protocol=TLSv1_2 --no-check-certificate -nv -O $${localFile}.part -nc $${url} ; \ mv $${localFile}.part $${localFile} ; \ fi ; \ flock -u 9 ; \ From c44391db12dfa198380aa946d088c351d575f8e3 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 17:22:04 +0000 Subject: [PATCH 31/82] beets: Update native pip path for python310 --- spk/beets/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/beets/Makefile b/spk/beets/Makefile index 3a276466c4e..128afe4bbbd 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.4.9 SPK_REV = 7 SPK_ICON = src/beets.png -PIP = $(WORK_DIR)/../../../native/python3/work-native/install/usr/local/bin/pip +PIP = $(WORK_DIR)/../../../native/python310/work-native/install/usr/local/bin/pip BUILD_DEPENDS = native/python310 WHEELS = src/requirements.txt @@ -13,7 +13,7 @@ MAINTAINER = ymartin59 DESCRIPTION = "Beets is the media library management system for obsessive-compulsive music geeks. The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music. Plugins not available due to lacking dependencies: AcousticBrainz Submit, Gmusic, ReplayGain." DISPLAY_NAME = beets -CHANGELOG = "1. Upgraded minimum version of python 3." +CHANGELOG = "1. Updated minimum version of python to 3.10" HOMEPAGE = http://beets.io/ LICENSE = GPL From f1f4154124126684a9f15897febe9c1fe6c8a58b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 21:43:12 +0000 Subject: [PATCH 32/82] duplicity: Migrate to python 3.10 --- spk/duplicity/Makefile | 12 ++--- spk/duplicity/src/requirements.txt | 75 +++++++++++++++++++++--------- 2 files changed, 60 insertions(+), 27 deletions(-) diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index e8b76c362ac..b1ceb94b592 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -1,20 +1,20 @@ SPK_NAME = duplicity SPK_VERS = 0.8.19 -SPK_REV = 7 +SPK_REV = 8 SPK_ICON = src/duplicity.png -BUILD_DEPENDS = cross/python38 -DEPENDS = cross/cffi cross/lxml cross/duplicity cross/duply +BUILD_DEPENDS = cross/python310 +DEPENDS = cross/duplicity cross/duply -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt -SPK_DEPENDS = "python38>=3.8.8:gnupg>=2.1.6" +SPK_DEPENDS = "python310:gnupg>=2.1.6" MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v0.8.19 and duply to v2.3.1
2. Update to Python 3.8
3. Add supported backend libraries:
  • azure-storage-blob
  • b2sdk
  • boto
  • boto3
  • boxsdk[jwt]
  • dropbox
  • google_auth_oauthlib
  • jottalib
  • pydrive
  • pyrax
  • python-swiftclient
  • requests_oauthlib

4. Update includes a security update urllib3" +CHANGELOG = "1. Update duplicity to v0.8.19 and duply to v2.3.1
2. Update to Python 3.10
3. Add supported backend libraries:
  • azure-storage-blob
  • b2sdk
  • boto
  • boto3
  • boxsdk[jwt]
  • dropbox
  • google_auth_oauthlib
  • jottalib
  • pydrive
  • pyrax
  • python-swiftclient
  • requests_oauthlib

4. Update includes a security update urllib3" HOMEPAGE = http://duplicity.nongnu.org/ LICENSE = GPLv2 diff --git a/spk/duplicity/src/requirements.txt b/spk/duplicity/src/requirements.txt index e00e553b670..cde62d90c93 100644 --- a/spk/duplicity/src/requirements.txt +++ b/spk/duplicity/src/requirements.txt @@ -29,73 +29,106 @@ ##### Included for reference ##### #duplicity==0.8.19 -##### basic requirements ##### -certifi==2020.12.5 -fasteners==0.16 -requests==2.25.1 -#setuptools-scm==6.0.1 -setuptools-scm==5.0.2 -six==1.15.0 -urllib3==1.26.4 - -### backend libraries except gdata mediafire +args==0.1.0 arrow==0.17.0 attrs==20.3.0 azure-core==1.13.0 azure-storage-blob==12.8.1 +b2sdk==1.7.0 Babel==2.9.1 boto==2.49.0 boto3==1.17.62 botocore==1.20.62 boxsdk==2.12.0 cachetools==4.2.2 +#certifi==2020.12.5 ==> python310 +#cffi==1.14.5 ==> python310 +#chardet==4.0.0 ==> python310 +clint==0.5.1 +#cryptography==3.4.7 ==> python310 debtcollector==1.11.0 dropbox==11.7.0 +#duplicity==0.8.19 +fasteners==0.16 funcsigs==1.0.2 +future==0.18.2 +# gdata ; python_version == '2.7' google-api-core==1.26.3 google-api-python-client==2.3.0 +googleapis-common-protos==1.53.0 google-auth==1.30.0 google-auth-httplib2==0.1.0 google-auth-oauthlib==0.4.4 -googleapis-common-protos==1.53.0 httplib2==0.19.1 -humanize==3.5.0 +#idna==2.10 ==> python310 +ip-associations-python-novaclient-ext==0.2 +iso8601==0.1.14 isodate==0.6.0 +#jeepney==0.7.1 ### cross compile wheel fails to find flit_core jmespath==0.10.0 -keyring==23.0.1 +jottalib==0.5.1 keystoneauth1==2.18.0 logfury==0.1.2 +#lxml==4.6.3 ==> python310 +#mediafire ### Development Status 3 - Alpha: outdated (Nov 2016), not supported by Python >3.4 #monotonic==1.6 +#msgpack-python==0.5.6 ==> python310 msrest==0.6.21 netaddr==0.8.0 -oauthlib==3.1.0 +#netifaces==0.10.9 ==> python310 +oauth2client==4.1.3 +#oauthlib==3.1.0 ==> python310 os-diskconfig-python-novaclient-ext==0.1.3 oslo.config==4.12.0 oslo.i18n==3.12.0 oslo.serialization==2.16.1 oslo.utils==3.22.3 +os-networksv2-python-novaclient-ext==0.26 +os-virtual-interfacesv2-python-novaclient-ext==0.20 packaging==20.9 -pbr==1.10.0 +pbr==5.7.0 ply==3.11 +positional==1.2.1 prettytable==0.7.2 -### pycparser==2.20 # pycparser==2.19 is included in python38 +protobuf==3.15.8 +#pyasn1==0.4.8 ==> python310 +pyasn1-modules==0.2.8 +#pycparser==2.20 ==> python310 PyDrive==1.3.1 PyJWT==2.1.0 pyparsing==2.4.7 pyrax==1.10.0 -python-dateutil==2.8.1 +python-gettext==4.0 python-keystoneclient==3.10.0 python-novaclient==2.27.0 python-swiftclient==3.11.1 pytz==2021.1 -requests-oauthlib==1.3.0 -requests-toolbelt==0.9.1 +#PyYAML==5.4.1 ==> python310 +rackspace-auth-openstack==1.3 +rackspace-novaclient==2.1 +rax-default-network-flags-python-novaclient-ext==0.4.0 +rax-scheduled-images-python-novaclient-ext==0.3.1 +#requests==2.25.1 ==> python310 +#requests-oauthlib==1.3.0 ==> python310 +#requests-toolbelt==0.9.1 ==> python310 rfc3986==1.4.0 rsa==4.7.2 s3transfer==0.4.2 SecretStorage==3.3.1 +setuptools-scm==5.0.2 +simplejson==3.17.2 +six==1.15.0 stevedore==1.20.1 stone==3.2.1 -tqdm==4.60.0 uritemplate==3.0.1 -### zipp==3.4.1 # zipp==3.1.0 is included in python38 +#urllib3==1.26.4 ==> python310 +wrapt==1.12.1 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:humanize==3.5.0 +#pure:importlib-metadata==4.0.1 ==> python310 +pure:keyring==23.0.1 +#pure:python-dateutil==2.8.1 ==> python310 +pure:tqdm==4.60.0 +#pure:zipp==3.4.1 ==> python310 From dd767877f94ac3098146039ab0c8110a5b9d9fa8 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 9 Nov 2021 21:50:19 +0000 Subject: [PATCH 33/82] borgbackup: Migrate to python 3.10 --- spk/borgbackup/Makefile | 12 ++--- spk/borgbackup/src/requirements-cross.txt | 2 - spk/borgbackup/src/requirements.txt | 25 +++++++---- spk/duplicity/src/requirements-cross.txt | 53 ----------------------- 4 files changed, 22 insertions(+), 70 deletions(-) delete mode 100644 spk/borgbackup/src/requirements-cross.txt delete mode 100644 spk/duplicity/src/requirements-cross.txt diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index d9b8e69620e..6b36afb57ed 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -1,29 +1,29 @@ SPK_NAME = borgbackup SPK_VERS = 1.1.17 -SPK_REV = 9 +SPK_REV = 10 SPK_ICON = src/$(SPK_NAME).png -BUILD_DEPENDS = cross/python38 +BUILD_DEPENDS = cross/python310 DEPENDS = cross/$(SPK_NAME) -SPK_DEPENDS = "python38" +SPK_DEPENDS = "python310" # Requirements file generation # cd src -# /spksrc/native/python38/work-native/install/usr/local/bin/python3 -m venv borg-env +# /spksrc/native/python310/work-native/install/usr/local/bin/python3 -m venv borg-env # . borg-env/bin/activate # pip install ../work-x64-6.1/install/var/packages/borgbackup/target/share/wheelhouse/borgbackup*.whl borgmatic # pip freeze > requirements.txt # deactivate # adjust the first line in requirements.txt to "#borgbackup==1.1.17" -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Deduplicating backup program with compression and authenticated encryption. DISPLAY_NAME = Borg STARTABLE = no -CHANGELOG = "1. Update borgbackup to v1.1.17 and borgmatic to v1.5.18.
2. Update OpenSSL to v1.1.1l." +CHANGELOG = "1. Update borgbackup to v1.1.17 and borgmatic to v1.5.18.
2. Update OpenSSL to v1.1.1l.
3. Update to python 3.10" HOMEPAGE = https://borgbackup.readthedocs.io LICENSE = BSD-3-Clause diff --git a/spk/borgbackup/src/requirements-cross.txt b/spk/borgbackup/src/requirements-cross.txt deleted file mode 100644 index 8cc21ddf2f6..00000000000 --- a/spk/borgbackup/src/requirements-cross.txt +++ /dev/null @@ -1,2 +0,0 @@ -pyrsistent==0.18.0 -ruamel.yaml.clib==0.2.6 diff --git a/spk/borgbackup/src/requirements.txt b/spk/borgbackup/src/requirements.txt index fa7f95e8381..222a76c3145 100644 --- a/spk/borgbackup/src/requirements.txt +++ b/spk/borgbackup/src/requirements.txt @@ -1,14 +1,21 @@ -attrs==21.2.0 +# For reference #borgbackup==1.1.17 + +#attrs==21.2.0 ==> python310 borgmatic==1.5.18 -certifi==2021.5.30 +#certifi==2021.5.30 ==> python310 charset-normalizer==2.0.4 colorama==0.4.4 -idna==3.2 -jsonschema==3.2.0 -packaging==21.0 +#idna==3.2 ==> python310 +#packaging==21.0 ==> python310 pyparsing==2.4.7 -requests==2.26.0 -ruamel.yaml==0.17.16 -six==1.16.0 -urllib3==1.26.6 +pyrsistent==0.18.0 +#requests==2.26.0 ==> python310 +#ruamel.yaml==0.17.16 ==> python310 +ruamel.yaml.clib==0.2.6 +#six==1.16.0 ==> python310 +#urllib3==1.26.6 ==> python310 + +# Wheels that absolutely needs +# to be managed as pure-python +pure:jsonschema==3.2.0 diff --git a/spk/duplicity/src/requirements-cross.txt b/spk/duplicity/src/requirements-cross.txt deleted file mode 100644 index b0c574bf3d8..00000000000 --- a/spk/duplicity/src/requirements-cross.txt +++ /dev/null @@ -1,53 +0,0 @@ -##### basic requirements ##### -chardet==4.0.0 -future==0.18.2 -### idna==2.10 # idna==2.9 is included in python38 -python-gettext==4.0 - - -##### backend libraries ##### -# some libs no longer support py27 -# some libs never supported py36+ -#b2sdk ; python_version >= '3.6' -#boto -#boto3 -#boxsdk[jwt] ; python_version >= '3.6' -#dropbox -### gdata ; python_version == '2.7' -#google_auth_oauthlib -#jottalib -### mediafire ### Development Status 3 - Alpha: outdated (Nov 2016), not supported by Python >3.4 -#pydrive ; python_version >= '3.6' -#pyrax ; python_version >= '3.6' -#python-swiftclient -#requests_oauthlib - - -### backend libraries except gdata mediafire -args==0.1.0 -b2sdk==1.7.0 -### cffi==1.14.5 # cffi==1.14.1 is included as cross compiled wheel -clint==0.5.1 -### cryptography==3.4.7 # cryptography==2.9.2 is included in python38 -### importlib-metadata==4.0.1 # importlib-metadata==1.5.0 is included in python38 -ip-associations-python-novaclient-ext==0.2 -iso8601==0.1.14 -#jeepney==0.6.0 ### cross compile wheel fails to find flit_core -jottalib==0.5.1 -### lxml==4.6.3 # lxml==4.6.3 is included as cross compiled wheel -### msgpack-python==0.5.6 # msgpack-python==0.5.6 is included in python38 -netifaces==0.10.9 -oauth2client==4.1.3 -os-networksv2-python-novaclient-ext==0.26 -os-virtual-interfacesv2-python-novaclient-ext==0.20 -positional==1.2.1 -protobuf==3.15.8 -### pyasn1==0.4.8 # pyasn1==0.4.8 is included in python38 -pyasn1-modules==0.2.8 -### PyYAML==5.4.1 # PyYAML==5.3 is included as module in python38 -rackspace-auth-openstack==1.3 -rackspace-novaclient==2.1 -rax-default-network-flags-python-novaclient-ext==0.4.0 -rax-scheduled-images-python-novaclient-ext==0.3.1 -simplejson==3.17.2 -wrapt==1.12.1 From 7891ef191d2f3359d093dad3c595c0b5045a9798 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 00:18:03 +0000 Subject: [PATCH 34/82] deluge: Adjust requirements to latest changes --- spk/deluge/Makefile | 4 ++-- spk/deluge/src/requirements-cross.txt | 2 -- spk/deluge/src/requirements.txt | 6 ++++-- 3 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 spk/deluge/src/requirements-cross.txt diff --git a/spk/deluge/Makefile b/spk/deluge/Makefile index d26715c8f05..7d6c8a61066 100644 --- a/spk/deluge/Makefile +++ b/spk/deluge/Makefile @@ -1,11 +1,11 @@ SPK_NAME = deluge SPK_VERS = 2.0.3 -SPK_REV = 13 +SPK_REV = 14 SPK_ICON = src/deluge.png BUILD_DEPENDS = cross/python2 cross/setuptools_py2 cross/pip_py2 cross/wheel DEPENDS = cross/$(SPK_NAME) -WHEELS = src/requirements.txt src/requirements-cross.txt +WHEELS = src/requirements.txt SPK_DEPENDS = "python>=2.7.18" REQUIRED_DSM = 5.0 diff --git a/spk/deluge/src/requirements-cross.txt b/spk/deluge/src/requirements-cross.txt deleted file mode 100644 index cc18fb90b69..00000000000 --- a/spk/deluge/src/requirements-cross.txt +++ /dev/null @@ -1,2 +0,0 @@ -setproctitle==1.1.10 -rencode==1.0.6 diff --git a/spk/deluge/src/requirements.txt b/spk/deluge/src/requirements.txt index 7ccc86e2f05..0cd88e3161b 100644 --- a/spk/deluge/src/requirements.txt +++ b/spk/deluge/src/requirements.txt @@ -1,7 +1,9 @@ characteristic==14.3.0 chardet==3.0.4 +Mako==1.1.2 pyasn1-modules==0.2.8 +PyHamcrest==1.10.1 pyxdg==0.26 -Mako==1.1.2 +rencode==1.0.6 service-identity==18.1.0 -PyHamcrest==1.10.1 +setproctitle==1.1.10 From a1e21b797c7a740db732fba3139dc1f7ac894b3d Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 00:56:28 +0000 Subject: [PATCH 35/82] python310: Add poetry to crossenv - e.g. ONE FIX TO RULE THEM ALL --- cross/python310/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cross/python310/Makefile b/cross/python310/Makefile index edb59d2e033..7d1322180d7 100644 --- a/cross/python310/Makefile +++ b/cross/python310/Makefile @@ -125,6 +125,8 @@ python310_install: @install -m 644 src/mime.types $(STAGING_INSTALL_PREFIX)/etc/ $(RUN) _PYTHON_HOST_PLATFORM=$(TC_TARGET) $(MAKE) install prefix=$(STAGING_INSTALL_PREFIX) +# Create the crossenv in preparation for +# cross-compiling all the necessary wheels .PHONY: python310_post_install python310_post_install: $(WORK_DIR)/python-cc.mk mkdir -p $(PYTHON_LIB_CROSS) @@ -139,11 +141,15 @@ python310_post_install: $(WORK_DIR)/python-cc.mk . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "wheel==0.37.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cffi==1.15.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cffi==1.15.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cryptography==3.3.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cryptography==3.3.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "poetry==1.1.11" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "poetry==1.1.11" ifneq ($(PYTHON_LIB_NATIVE),$(PYTHON_LIB_CROSS)) cp $(PYTHON_LIB_CROSS)/_sysconfigdata_*.py $(PYTHON_LIB_NATIVE)/_sysconfigdata.py endif -$(WORK_DIR)/python-cc.mk: +$(WORK_DIR)/python-cc.mk: @echo HOSTPYTHON=$(HOSTPYTHON) > $@ @echo CROSSENV=$(WORK_DIR)/crossenv/bin/activate >> $@ @echo HOSTPYTHON_LIB_NATIVE=$(HOSTPYTHON_LIB_NATIVE) >> $@ From 542e44991e15ad82ac69ca31f8dd9eb9bbe84072 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:06:19 +0000 Subject: [PATCH 36/82] python310: Rework requirements with poetry now in crossenv --- spk/python310/src/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index 09b59b8ac7f..31b0bbd27ce 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -6,6 +6,7 @@ beautifulsoup4==4.10.0 certifi==2021.10.8 cffi==1.15.0 chardet==4.0.0 +charset-normalizer==2.0.7 click==8.0.3 cryptography==3.3.2 distlib==0.3.3 @@ -26,6 +27,7 @@ olefile==0.46 oauthlib==3.1.1 packaging==21.0 paramiko==2.8.0 +poetry==1.1.11 psutil==5.8.0 pyasn1==0.4.8 pycparser==2.20 @@ -56,7 +58,6 @@ pure:filelock==3.3.2 pure:importlib-metadata==4.8.1 pure:importlib-resources==5.3.0 pure:platformdirs==2.4.0 -pure:poetry==1.1.11 pure:python-dateutil==2.8.2 pure:virtualenv==20.9.0 pure:zipp==3.6.0 From a2537a999cbcb14fd774f8d93cc49f7b5e86b595 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:07:15 +0000 Subject: [PATCH 37/82] sickchill: All wheels are now cross thnx to poetry in crossenv --- spk/sickchill/src/requirements.txt | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/spk/sickchill/src/requirements.txt b/spk/sickchill/src/requirements.txt index 2f918ce3d3e..d13401f5d5e 100644 --- a/spk/sickchill/src/requirements.txt +++ b/spk/sickchill/src/requirements.txt @@ -1,14 +1,13 @@ -babelfish==0.6.0 -beautifulsoup4==4.10.0 -beekeeper-alt==2021.7.16 #appdirs==1.4.4 ==> python310 +babelfish==0.6.0 #beautifulsoup4==4.10.0 ==> python310 +beekeeper-alt==2021.7.16 bencode.py==4.0.0 cachecontrol==0.12.9 #certifi==2021.10.8 ==> python310 #cffi==1.15.0 ==> python310 #chardet==4.0.0 ==> python310 -charset-normalizer==2.0.7 +#charset-normalizer==2.0.7 ==> python310 #click==8.0.3 ==> python310 cloudscraper==1.2.58 colorama==0.4.4 @@ -34,6 +33,7 @@ IMDbPY==2021.4.18 #ipaddress==1.0.23 ==> python310 Js2Py==0.71 jsonrpclib-pelix==0.4.3.1 +kodipydent-alt==2021.7.16 #lxml==4.6.3 ==> python310 Mako==1.1.5 markdown2==2.4.1 @@ -43,7 +43,9 @@ new-rtorrent-python==1.0.1a0 #oauthlib==3.1.1 ==> python310 #packaging==20.9 ==> python310 pbr==5.7.0 +poetry==1.2.0a2 poetry-core==1.1.0a6 +poetry-date-version-plugin==2021.7.16-6 profilehooks==1.12.0 putio.py==8.7.0 #pycparser==2.20 ==> python310 @@ -90,12 +92,4 @@ webencodings==0.5.1 win-inet-pton==1.1.0 wrapt==1.13.3 xmltodict==0.12.0 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:babelfish==0.6.0 -pure:beekeeper-alt==2021.7.16 -pure:kodipydent-alt==2021.7.16 -pure:poetry==1.2.0a2 -pure:poetry-date-version-plugin==2021.7.16-6 -#pure:zipp==3.6.0 ==> python310 +#zipp==3.6.0 ==> python310 From 1be9c71250e79233a40ad850c844b1dc7a2915d3 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:10:49 +0000 Subject: [PATCH 38/82] python310: Move basic wheels from WHEELS to requirements.txt --- spk/python310/Makefile | 2 +- spk/python310/src/requirements.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 04a4962cd10..de0c1711b66 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -26,7 +26,7 @@ ENV += SODIUM_INSTALL=system # https://github.com/python-pillow/Pillow/issues/5799 DEPENDS += cross/pillow -WHEELS = src/requirements.txt setuptools==58.3.0 pip==21.3.1 wheel==0.37.0 +WHEELS = src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements.txt index 31b0bbd27ce..563e4701345 100644 --- a/spk/python310/src/requirements.txt +++ b/spk/python310/src/requirements.txt @@ -1,3 +1,8 @@ +# basic default wheels +setuptools==58.3.0 +pip==21.3.1 +wheel==0.37.0 + # commonly used wheels appdirs==1.4.4 attrs==21.2.0 From b4264b747889be84a0cc834c07657cbabcb12a88 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:16:58 +0000 Subject: [PATCH 39/82] octoprint: Migrate pure to cross wheels using poetry --- spk/octoprint/src/requirements.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spk/octoprint/src/requirements.txt b/spk/octoprint/src/requirements.txt index 4cb6a82b792..976fa769b15 100644 --- a/spk/octoprint/src/requirements.txt +++ b/spk/octoprint/src/requirements.txt @@ -21,6 +21,7 @@ emoji==1.6.1 feedparser==6.0.8 filetype==1.0.8 #future==0.18.2 ==> python310 +immutabledict==2.2.1 itsdangerous==1.1.0 MarkupSafe==1.1.1 netaddr==0.8.0 @@ -42,7 +43,3 @@ websocket_client==0.59.0 wrapt==1.12.1 zeroconf==0.33.4 zipstream_new==1.1.8 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:immutabledict==2.2.1 From dddff5f9a65f63d9d30e03c6dd675db0a3da804a Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:29:06 +0000 Subject: [PATCH 40/82] sabnzbd: Migrate additional pure to cross wheels due to poetry --- spk/sabnzbd/src/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sabnzbd/src/requirements.txt b/spk/sabnzbd/src/requirements.txt index d87ef1c928c..d6ce0f7b990 100644 --- a/spk/sabnzbd/src/requirements.txt +++ b/spk/sabnzbd/src/requirements.txt @@ -1,3 +1,4 @@ +babelfish==0.6.0 #chardet==4.0.0 ==> python310 cheetah3==3.2.6 cherrypy==18.6.1 @@ -14,7 +15,6 @@ zc.lockfile==2.0 # Wheels that absolutely needs # to be managed as pure-python -pure:babelfish==0.6.0 pure:cheroot==8.5.2 pure:jaraco.classes==3.2.1 pure:jaraco.collections==3.4.0 From e4fff26476ded68d9bffd7bb1153cac1f760ffa6 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:36:57 +0000 Subject: [PATCH 41/82] flexget: Migrate pure to cross requirements due to poetry --- spk/flexget/src/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/flexget/src/requirements.txt b/spk/flexget/src/requirements.txt index 28112ca50f9..32bb9ca270f 100644 --- a/spk/flexget/src/requirements.txt +++ b/spk/flexget/src/requirements.txt @@ -34,6 +34,7 @@ loguru==0.5.3 more-itertools==8.7.0 plumbum==1.6.9 #plumbum==1.7.0 +#poetry==1.1.11 ==> python310 progressbar==2.5 #psutil==5.8.0 ==> python310 pynzb==0.1.0 @@ -51,6 +52,7 @@ sgmllib3k==1.0.0 soupsieve==2.2.1 #SQLAlchemy==1.4.15 ==> python310 terminaltables==3.1.0 +transmission-rpc==3.2.5 typing-extensions==3.10.0.0 #tzlocal==2.1 ==> python310 #urllib3==1.26.5 ==> python310 @@ -68,9 +70,7 @@ pure:jaraco.collections==3.3.0 pure:jaraco.functools==3.3.0 pure:jaraco.text==3.5.0 pure:jsonschema==3.2.0 -pure:poetry==1.1.11 pure:portend==2.7.1 #pure:python-dateutil==2.8.1 ==> python310 pure:tempora==4.0.2 -pure:transmission-rpc==3.2.5 #pure:zipp==3.4.1 ==> python310 From b066cf7120b6f2500e866a41ac7a5fb123ebd0c9 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:43:47 +0000 Subject: [PATCH 42/82] rdiff-backup: Migrate to python310 --- spk/rdiff-backup/Makefile | 10 +++++----- .../src/{requirements-cross.txt => requirements.txt} | 0 spk/rdiff-backup/src/service-setup.sh | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) rename spk/rdiff-backup/src/{requirements-cross.txt => requirements.txt} (100%) diff --git a/spk/rdiff-backup/Makefile b/spk/rdiff-backup/Makefile index 1e507d63c29..60f7209a747 100644 --- a/spk/rdiff-backup/Makefile +++ b/spk/rdiff-backup/Makefile @@ -1,20 +1,20 @@ SPK_NAME = rdiff-backup SPK_VERS = 2.0.3 -SPK_REV = 3 +SPK_REV = 4 SPK_ICON = src/rdiff-backup.png -BUILD_DEPENDS = cross/python3 +BUILD_DEPENDS = cross/python310 DEPENDS = cross/librsync cross/attr cross/acl -WHEELS = src/requirements-cross.txt +WHEELS = src/requirements.txt -SPK_DEPENDS = "python3>=3.7" +SPK_DEPENDS = "python310" MAINTAINER = SynoCommunity DESCRIPTION = Reverse differential backup tool, over a network or locally. STARTABLE = no DISPLAY_NAME = rdiff-backup -CHANGELOG = "Update to v2.0.3 and update dependencies for python3." +CHANGELOG = "Update to v2.0.3 and update dependencies for Python 3.10" HOMEPAGE = https://rdiff-backup.net/ LICENSE = GPLv2 diff --git a/spk/rdiff-backup/src/requirements-cross.txt b/spk/rdiff-backup/src/requirements.txt similarity index 100% rename from spk/rdiff-backup/src/requirements-cross.txt rename to spk/rdiff-backup/src/requirements.txt diff --git a/spk/rdiff-backup/src/service-setup.sh b/spk/rdiff-backup/src/service-setup.sh index 4f8684620c7..26c800329c9 100644 --- a/spk/rdiff-backup/src/service-setup.sh +++ b/spk/rdiff-backup/src/service-setup.sh @@ -3,7 +3,7 @@ service_postinst () { # Create a Python virtualenv - /var/packages/python3/target/bin/python3 -m venv ${SYNOPKG_PKGDEST}/env + /var/packages/python310/target/bin/python3 -m venv ${SYNOPKG_PKGDEST}/env # Install the wheels wheelhouse=${SYNOPKG_PKGDEST}/share/wheelhouse From ab2b5c0c9e04d02e98c081ebdacf6d370748c0ef Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:47:58 +0000 Subject: [PATCH 43/82] python3: Align with findings from python310 --- cross/python3/Makefile | 8 ++++++++ spk/python3/src/requirements.txt | 1 + 2 files changed, 9 insertions(+) diff --git a/cross/python3/Makefile b/cross/python3/Makefile index 4d4db49d374..a2c95ebec45 100644 --- a/cross/python3/Makefile +++ b/cross/python3/Makefile @@ -83,6 +83,8 @@ python3_custom_install: @install -m 644 src/mime.types $(STAGING_INSTALL_PREFIX)/etc/ $(RUN) _PYTHON_HOST_PLATFORM=$(TC_TARGET) $(MAKE) install prefix=$(STAGING_INSTALL_PREFIX) +# Create the crossenv in preparation for +# cross-compiling all the necessary wheels .PHONY: python3_post_install python3_post_install: $(WORK_DIR)/python-cc.mk mkdir -p $(PYTHON_LIB_CROSS) @@ -95,6 +97,12 @@ python3_post_install: $(WORK_DIR)/python-cc.mk . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.3.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "wheel==0.37.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "wheel==0.37.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cffi==1.15.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cffi==1.15.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cryptography==3.3.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cryptography==3.3.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "poetry==1.1.11" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "poetry==1.1.11" ifneq ($(PYTHON_LIB_NATIVE),$(PYTHON_LIB_CROSS)) cp $(PYTHON_LIB_CROSS)/_sysconfigdata_*.py $(PYTHON_LIB_NATIVE)/_sysconfigdata.py endif diff --git a/spk/python3/src/requirements.txt b/spk/python3/src/requirements.txt index a954ac2bcdb..e6cb8258a57 100644 --- a/spk/python3/src/requirements.txt +++ b/spk/python3/src/requirements.txt @@ -2,6 +2,7 @@ appdirs==1.4.4 distlib==0.3.3 markupsafe==2.0.1 +poetry==1.1.11 psutil==5.8.0 pyopenssl==21.0.0 six==1.16.0 From 0f3efa1fb89d2ab38c31b995379986de58142fb4 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:48:21 +0000 Subject: [PATCH 44/82] python38: Align with findings from python310 --- cross/python38/Makefile | 6 ++++++ spk/python38/src/requirements.txt | 1 + 2 files changed, 7 insertions(+) diff --git a/cross/python38/Makefile b/cross/python38/Makefile index fedb1f9dbb0..735b94c5447 100644 --- a/cross/python38/Makefile +++ b/cross/python38/Makefile @@ -124,6 +124,8 @@ python38_install: @install -m 644 src/mime.types $(STAGING_INSTALL_PREFIX)/etc/ $(RUN) _PYTHON_HOST_PLATFORM=$(TC_TARGET) $(MAKE) install prefix=$(STAGING_INSTALL_PREFIX) +# Create the crossenv in preparation for +# cross-compiling all the necessary wheels .PHONY: python38_post_install python38_post_install: $(WORK_DIR)/python-cc.mk mkdir -p $(PYTHON_LIB_CROSS) @@ -138,6 +140,10 @@ python38_post_install: $(WORK_DIR)/python-cc.mk . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "wheel==0.37.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cffi==1.15.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cffi==1.15.0" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "cryptography==3.3.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "cryptography==3.3.2" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "poetry==1.1.11" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "poetry==1.1.11" ifneq ($(PYTHON_LIB_NATIVE),$(PYTHON_LIB_CROSS)) cp $(PYTHON_LIB_CROSS)/_sysconfigdata_*.py $(PYTHON_LIB_NATIVE)/_sysconfigdata.py endif diff --git a/spk/python38/src/requirements.txt b/spk/python38/src/requirements.txt index b4734fffa50..e369b6cd03d 100644 --- a/spk/python38/src/requirements.txt +++ b/spk/python38/src/requirements.txt @@ -2,6 +2,7 @@ appdirs==1.4.4 distlib==0.3.3 markupsafe==2.0.1 +poetry==1.1.11 psutil==5.8.0 pyopenssl==21.0.0 six==1.16.0 From 5954f5ffbf3906ce6f1cc94af7444ab284b52f74 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 01:55:18 +0000 Subject: [PATCH 45/82] mercurial: Migrate to python310 --- spk/ffsync/src/requirements-cross.txt | 5 ----- spk/mercurial/Makefile | 8 ++++---- spk/mercurial/src/service-setup.sh | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) delete mode 100644 spk/ffsync/src/requirements-cross.txt diff --git a/spk/ffsync/src/requirements-cross.txt b/spk/ffsync/src/requirements-cross.txt deleted file mode 100644 index da68f120864..00000000000 --- a/spk/ffsync/src/requirements-cross.txt +++ /dev/null @@ -1,5 +0,0 @@ -cffi==1.14.1 -MarkupSafe==1.1.1 -msgpack==0.6.2 -simplejson==3.10.0 -zope.interface==5.1.0 diff --git a/spk/mercurial/Makefile b/spk/mercurial/Makefile index 9c8c10307ac..e20abd8554d 100644 --- a/spk/mercurial/Makefile +++ b/spk/mercurial/Makefile @@ -1,19 +1,19 @@ SPK_NAME = mercurial SPK_VERS = 5.7.1 -SPK_REV = 7 +SPK_REV = 8 SPK_ICON = src/mercurial.png -BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel +BUILD_DEPENDS = cross/python310 BUILD_DEPENDS += cross/$(SPK_NAME) WHEELS = src/requirements.txt -SPK_DEPENDS = "python38" +SPK_DEPENDS = "python310" MAINTAINER = Dr-Bean DESCRIPTION = Mercurial is a free, distributed source control management tool STARTABLE = no DISPLAY_NAME = Mercurial -CHANGELOG = Update mercurial to 5.7.1 with python 3.8 +CHANGELOG = Update mercurial to 5.7.1 with python 3.10 HOMEPAGE = https://www.mercurial-scm.org/ LICENSE = MPL1.1 diff --git a/spk/mercurial/src/service-setup.sh b/spk/mercurial/src/service-setup.sh index 4bbe263cabf..4acd60f0082 100644 --- a/spk/mercurial/src/service-setup.sh +++ b/spk/mercurial/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python38/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" From 0e4017c71cb8d887bd283b01bd55e7457e572408 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 02:05:27 +0000 Subject: [PATCH 46/82] ffsync: Merge back into a single requirement.txt file --- spk/ffsync/Makefile | 2 +- spk/ffsync/src/requirements.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/spk/ffsync/Makefile b/spk/ffsync/Makefile index f5893919640..82b59c4f1ca 100644 --- a/spk/ffsync/Makefile +++ b/spk/ffsync/Makefile @@ -8,7 +8,7 @@ BUILD_DEPENDS = cross/python2 cross/setuptools_py2 cross/pip_py2 cross/wheel BUILD_DEPENDS += cross/gevent cross/greenlet cross/cffi DEPENDS = cross/busybox -WHEELS = src/requirements.txt src/requirements-cross.txt +WHEELS = src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Firefox Sync Server 1.5, used for Firefox 29 and later. You can use Firefox Sync Server to synchronize your bookmarks, passwords, settings, history, add-ons and tabs with Firefox on other computers. The service runs on port 8132. diff --git a/spk/ffsync/src/requirements.txt b/spk/ffsync/src/requirements.txt index a8e78fc0879..995df7d7573 100644 --- a/spk/ffsync/src/requirements.txt +++ b/spk/ffsync/src/requirements.txt @@ -7,6 +7,7 @@ appdirs==1.4.3 boto==2.49.0 CacheControl==0.12.6 certifi==2019.11.28 +cffi==1.14.1 chardet==3.0.4 colorama==0.4.3 configparser==3.5.0 @@ -23,7 +24,9 @@ konfig==1.1 linecache2==1.0.0 lockfile==0.12.2 Mako==1.1.2 +MarkupSafe==1.1.1 mozsvc==0.9 +msgpack==0.6.2 packaging==20.3 Paste==3.4.0 PasteDeploy==2.1.0 @@ -42,6 +45,7 @@ pytoml==0.1.21 repoze.lru==0.7 requests==2.13.0 retrying==1.3.3 +simplejson==3.10.0 #six==1.14.0 #SQLAlchemy==1.1.5 #testfixtures==6.14.0 @@ -56,6 +60,7 @@ WebOb==1.4.1 zope.component==4.2.1 zope.deprecation==4.4.0 zope.event==4.4 +zope.interface==5.1.0 https://github.com/mozilla-services/tokenserver/archive/1.5.11.tar.gz https://github.com/mozilla-services/server-syncstorage/archive/1.8.0.tar.gz From 166d4eb85256e0ef189f528451609d26425bfaaa Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 10 Nov 2021 02:20:58 +0000 Subject: [PATCH 47/82] beets: Fix build issue with python-mdp2 --- spk/beets/src/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/beets/src/requirements.txt b/spk/beets/src/requirements.txt index 2f2bcb6c341..a630f97a22c 100644 --- a/spk/beets/src/requirements.txt +++ b/spk/beets/src/requirements.txt @@ -19,7 +19,7 @@ langdetect==1.0.7 #oauthlib==3.1.0 ==> included in python310 package installation pyacoustid==1.1.7 pylast==3.2.0 -python-mpd2==1.0.0 +python-mpd2==1.1.0 pyxdg==0.26 rarfile==3.1 #requests==2.23.0 ==> included in python310 package installation From fdea2dd9c65281f7445e9b357a3f22742dcb7907 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 11 Nov 2021 17:53:02 +0000 Subject: [PATCH 48/82] tvheadend: Revert changes to stop building ffmpeg (ref: #4965) --- spk/tvheadend/Makefile | 6 ++++-- spk/tvheadend/src/requirements.txt | 4 ++++ spk/tvheadend/src/service-setup.sh | 19 +++++++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 spk/tvheadend/src/requirements.txt diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index f00121ff2b1..060210211bc 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -4,7 +4,7 @@ SPK_GIT_HASH = c6bb43d SPK_GIT_DATE = 20211020 SPK_VERS = $(SPK_SHORT_VERS).$(SPK_GIT_DATE) TVH_VERS = $(SPK_SHORT_VERS)~$(SPK_GIT_HASH) -SPK_REV = 31 +SPK_REV = 30 SPK_ICON = src/tvheadend.png DSM_UI_DIR = app @@ -13,7 +13,9 @@ DSM_UI_DIR = app # 000-fix-version.patch from cross/tvheadend export TVH_VERS -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python38" +WHEELS = src/requirements.txt + DEPENDS = cross/$(SPK_NAME) cross/zap2epg cross/dtv-scan-tables MAINTAINER = th0ma7 diff --git a/spk/tvheadend/src/requirements.txt b/spk/tvheadend/src/requirements.txt new file mode 100644 index 00000000000..84b557c9ea3 --- /dev/null +++ b/spk/tvheadend/src/requirements.txt @@ -0,0 +1,4 @@ +certifi==2021.5.30 +chardet==4.0.0 +requests==2.25.1 +urllib3==1.26.5 diff --git a/spk/tvheadend/src/service-setup.sh b/spk/tvheadend/src/service-setup.sh index f4d40490398..78989220419 100644 --- a/spk/tvheadend/src/service-setup.sh +++ b/spk/tvheadend/src/service-setup.sh @@ -2,9 +2,12 @@ # Sourced script by generic installer and start-stop-status scripts # Add ffmpeg and ifself to path -PYTHON_DIR="/var/packages/python310/target" +PYTHON_DIR="/var/packages/python38/target" +PYTHONENV="${SYNOPKG_PKGDEST}/env" +VIRTUALENV="${PYTHON_DIR}/bin/virtualenv" +WHEELHOUSE=${SYNOPKG_PKGDEST}/share/wheelhouse FFMPEG_DIR="/var/packages/ffmpeg/target" -PATH="${SYNOPKG_PKGDEST}/bin:${FFMPEG_DIR}/bin:${PYTHON_DIR}/bin:${PATH}" +PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${FFMPEG_DIR}/bin:${PYTHON_DIR}/bin:${PATH}" # Service configuration. Change http and htsp ports here and in conf/tvheadend.sc for non-standard ports HTTP=9981 @@ -19,6 +22,18 @@ SVC_BACKGROUND=yes # Group configuration to manage permissions of recording folders GROUP=sc-media +service_postinst () +{ + # EPG Grabber (zap2epg) - Create a Python virtualenv + ${VIRTUALENV} --system-site-packages ${PYTHONENV} + + # EPG Grabber (zap2epg) - Install the wheels/requirements + ${SYNOPKG_PKGDEST}/env/bin/pip install \ + --no-deps --no-index --no-input --upgrade \ + --force-reinstall --find-links \ + ${WHEELHOUSE} ${WHEELHOUSE}/*.whl +} + service_postupgrade () { # Need to enforce correct permissions for recording directories on upgrades From a84986e2b6eb489abf145582fbae78737d3a2f22 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 11 Nov 2021 20:43:55 +0000 Subject: [PATCH 49/82] python310: Allow building wheels with limited API (abi3 prefix) --- mk/spksrc.wheel-env.mk | 37 +++++++++++++++++++ mk/spksrc.wheel.mk | 33 +++++------------ spk/python310/Makefile | 2 +- spk/python310/src/requirements-abi3.txt | 3 ++ ...equirements.txt => requirements-cross.txt} | 0 spk/python310/src/requirements-pure.txt | 9 +++++ 6 files changed, 59 insertions(+), 25 deletions(-) create mode 100644 mk/spksrc.wheel-env.mk create mode 100644 spk/python310/src/requirements-abi3.txt rename spk/python310/src/{requirements.txt => requirements-cross.txt} (100%) create mode 100644 spk/python310/src/requirements-pure.txt diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk new file mode 100644 index 00000000000..22d744ffe59 --- /dev/null +++ b/mk/spksrc.wheel-env.mk @@ -0,0 +1,37 @@ +# +# Configuration for python wheel build +# + +ifeq ($(strip $(WHEELS_DEFAULT)),) +WHEELS_DEFAULT = requirements.txt +endif +ifeq ($(strip $(WHEELS_LIMITED_API)),) +WHEELS_LIMITED_API = requirements-abi3.txt +endif +ifeq ($(strip $(WHEELS_PURE_PYTHON)),) +WHEELS_PURE_PYTHON = requirements-pure.txt +endif +ifeq ($(strip $(WHEELS_CROSS_COMPILE)),) +WHEELS_CROSS_COMPILE = requirements-cross.txt +endif + +ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),) +# If no ARCH then pure by default +ifeq ($(strip $(ARCH)),) +WHEEL_DEFAULT_PREFIX = pure +else +WHEEL_DEFAULT_PREFIX = cross +endif +endif + +ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),pure) +WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_PURE_PYTHON) +else +WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_CROSS_COMPILE) +endif + +# For generating abi3 wheels with limited +# python API (e.g cp35 = Python 3.5) +ifeq ($(strip $(PYTHON_LIMITED_API)),) +PYTHON_LIMITED_API = cp35 +endif diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 166eee5e53c..77a9d1833eb 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -14,30 +14,8 @@ WHEEL_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)wheel_done -ifeq ($(strip $(WHEELS_DEFAULT)),) -WHEELS_DEFAULT = requirements.txt -endif -ifeq ($(strip $(WHEELS_PURE_PYTHON)),) -WHEELS_PURE_PYTHON = requirements-pure.txt -endif -ifeq ($(strip $(WHEELS_CROSS_COMPILE)),) -WHEELS_CROSS_COMPILE = requirements-cross.txt -endif - -ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),) -# If no ARCH then pure by default -ifeq ($(strip $(ARCH)),) -WHEEL_DEFAULT_PREFIX = pure -else -WHEEL_DEFAULT_PREFIX = cross -endif -endif - -ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),pure) -WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_PURE_PYTHON) -else -WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_CROSS_COMPILE) -endif +## python wheel specific configurations +include ../../mk/spksrc.wheel-env.mk ## @@ -81,6 +59,9 @@ pre_wheel_target: wheel_msg_target elif [ $$(basename $$wheel) = $(WHEELS_CROSS_COMPILE) ]; then \ $(MSG) "Adding existing $$wheel file as cross-compiled (discarding any pure-python)" ; \ sed -e '/^pure:\|^#\|^$$/d' -e /^cross:/s/^cross://g $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + elif [ $$(basename $$wheel) = $(WHEELS_LIMITED_API) ]; then \ + $(MSG) "Adding existing $$wheel file as ABI-limited" ; \ + cat $$wheel >> $(WHEELHOUSE)/$(WHEELS_LIMITED_API) ; \ else \ $(MSG) "Adapting existing $$wheel file" ; \ sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ @@ -109,6 +90,10 @@ build_wheel_target: $(PRE_WHEEL_TARGET) . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_CROSS) $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ fi ; \ fi ; \ + if [ -s "$(WHEELHOUSE)/$(WHEELS_LIMITED_API)" ]; then \ + $(MSG) "Force limited API $(PYTHON_LIMITED_API)" ; \ + . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_CROSS) $(PIP_WHEEL_ARGS) --build-option='--py-limited-api=$(PYTHON_LIMITED_API)' --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_LIMITED_API) ; \ + fi ; \ if [ -s "$(WHEELHOUSE)/$(WHEELS_PURE_PYTHON)" ]; then \ $(MSG) "Force pure-python" ; \ export LD= LDSHARED= CPP= NM= CC= AS= RANLIB= CXX= AR= STRIP= OBJDUMP= READELF= CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= && \ diff --git a/spk/python310/Makefile b/spk/python310/Makefile index de0c1711b66..798bae4ea29 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -26,7 +26,7 @@ ENV += SODIUM_INSTALL=system # https://github.com/python-pillow/Pillow/issues/5799 DEPENDS += cross/pillow -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt src/requirements-abi3.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python310/src/requirements-abi3.txt b/spk/python310/src/requirements-abi3.txt new file mode 100644 index 00000000000..f45afdedf90 --- /dev/null +++ b/spk/python310/src/requirements-abi3.txt @@ -0,0 +1,3 @@ +pycrypto==2.6.1 +pycryptodome==3.11.0 +pycryptodomex==3.11.0 diff --git a/spk/python310/src/requirements.txt b/spk/python310/src/requirements-cross.txt similarity index 100% rename from spk/python310/src/requirements.txt rename to spk/python310/src/requirements-cross.txt diff --git a/spk/python310/src/requirements-pure.txt b/spk/python310/src/requirements-pure.txt new file mode 100644 index 00000000000..6962809a528 --- /dev/null +++ b/spk/python310/src/requirements-pure.txt @@ -0,0 +1,9 @@ +# Wheels that absolutely needs +# to be managed as pure-python +filelock==3.3.2 +importlib-metadata==4.8.1 +importlib-resources==5.3.0 +platformdirs==2.4.0 +python-dateutil==2.8.2 +virtualenv==20.9.0 +zipp==3.6.0 From 962f70c8a03ab2991f15db60595178618a0c8ce1 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 11 Nov 2021 21:41:00 +0000 Subject: [PATCH 50/82] python310: pycrypto is no longer maintained --- spk/python310/src/requirements-abi3.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/python310/src/requirements-abi3.txt b/spk/python310/src/requirements-abi3.txt index f45afdedf90..391b9cb84cf 100644 --- a/spk/python310/src/requirements-abi3.txt +++ b/spk/python310/src/requirements-abi3.txt @@ -1,3 +1,3 @@ -pycrypto==2.6.1 +cryptography==3.3.2 pycryptodome==3.11.0 pycryptodomex==3.11.0 From c2755ec4c857a09c68050f219e7ced80fbb73804 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:29:06 +0000 Subject: [PATCH 51/82] wheel.mk: Manage arch specific file prefixes --- mk/spksrc.wheel-env.mk | 32 ++++++++++++++++++++++++++++++++ mk/spksrc.wheel.mk | 8 +++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index 22d744ffe59..f69acea916b 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -35,3 +35,35 @@ endif ifeq ($(strip $(PYTHON_LIMITED_API)),) PYTHON_LIMITED_API = cp35 endif + +# +# Define _PYTHON_HOST_PLATFORM so wheel +# prefix in file naming matches `uname -m` +# +ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +PYTHON_ARCH = armv5 +endif + +ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +PYTHON_ARCH = armv7 +endif + +ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) +PYTHON_ARCH = armv7l +endif + +ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +PYTHON_ARCH = aarch64 +endif + +ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +PYTHON_ARCH = ppc +endif + +ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +PYTHON_ARCH = x86_64 +endif + +ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +PYTHON_ARCH += i686 +endif diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 77a9d1833eb..6364fe262a3 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -105,19 +105,21 @@ post_wheel_target: $(WHEEL_TARGET) @if [ -d "$(WHEELHOUSE)" ] ; then \ mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ cd $(WHEELHOUSE) ; \ + $(MSG) Copying $(WHEELS_DEFAULT) wheelhouse ; \ if stat -t requirements*.txt >/dev/null 2>&1; then \ - cat requirements*.txt > $(STAGING_INSTALL_WHEELHOUSE)/requirements.txt ; \ + cat requirements*.txt > $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_DEFAULT) ; \ fi ; \ if [ "$(EXCLUDE_PURE_PYTHON_WHEELS)" = "yes" ] ; then \ echo "Pure python wheels are excluded from the package wheelhouse." ; \ for w in *.whl; do \ if echo $${w} | grep -viq "-none-any\.whl" ; then \ - cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl ; \ fi ; \ done ; \ else \ for w in *.whl; do \ - cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ + $(MSG) Copying to wheelhouse: $$(echo $$w | sed -E "s/(.*linux_).*(\.whl)/\1$(PYTHON_ARCH)\2/") ; \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/$$(echo $$w | sed -E "s/(.*linux_).*(\.whl)/\1$(PYTHON_ARCH)\2/") ; \ done ; \ fi ; \ fi From 06c7ea485bfeb8ed71bf27dc40c0444472ee68da Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:31:21 +0000 Subject: [PATCH 52/82] pillow: Re-updating to version 8.4.0 per @hgy59 request --- cross/pillow/Makefile | 2 +- cross/pillow/digests | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cross/pillow/Makefile b/cross/pillow/Makefile index 63e178f2e1e..8ccbdb4abd4 100644 --- a/cross/pillow/Makefile +++ b/cross/pillow/Makefile @@ -1,5 +1,5 @@ PKG_NAME = Pillow -PKG_VERS = 8.2.0 +PKG_VERS = 8.4.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/pillow/digests b/cross/pillow/digests index 352dbfc9a2e..fa8e9c72885 100644 --- a/cross/pillow/digests +++ b/cross/pillow/digests @@ -1,3 +1,3 @@ -Pillow-8.2.0.tar.gz SHA1 a9b32caf6ff1d5160ad41265c7ad3b090114eefc -Pillow-8.2.0.tar.gz SHA256 a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1 -Pillow-8.2.0.tar.gz MD5 21c03274a9f59b9c00419852a8faebe7 +Pillow-8.4.0.tar.gz SHA1 ca8d057aec64ccd0804044bc71c17921afbe2e4e +Pillow-8.4.0.tar.gz SHA256 b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed +Pillow-8.4.0.tar.gz MD5 7a1eb5a250c7ccbd549a89e16404f09f From bdcb9e074b4aeb7a62c579765c7c10c2a15ae7c3 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:34:51 +0000 Subject: [PATCH 53/82] download.mk: Remove temporary no-certificate-check --- mk/spksrc.download.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/spksrc.download.mk b/mk/spksrc.download.mk index 761978984b3..2580f6819f8 100644 --- a/mk/spksrc.download.mk +++ b/mk/spksrc.download.mk @@ -157,7 +157,7 @@ download_target: $(PRE_DOWNLOAD_TARGET) else \ $(MSG) " wget $${url}" ; \ rm -f $${localFile}.part ; \ - wget --secure-protocol=TLSv1_2 --no-check-certificate -nv -O $${localFile}.part -nc $${url} ; \ + wget --secure-protocol=TLSv1_2 -nv -O $${localFile}.part -nc $${url} ; \ mv $${localFile}.part $${localFile} ; \ fi ; \ flock -u 9 ; \ From 4439e07e18303056b2926034765f54d5f4e7fdf7 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:36:23 +0000 Subject: [PATCH 54/82] wheel.mk: Fix naming for ARMv5 88f6281 as armv5tel --- mk/spksrc.wheel-env.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index f69acea916b..445f82fb10b 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -41,7 +41,7 @@ endif # prefix in file naming matches `uname -m` # ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) -PYTHON_ARCH = armv5 +PYTHON_ARCH = armv5tel endif ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) From 1fdc0f97324db3aa788cd4405f8d775f426f8c7d Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:48:50 +0000 Subject: [PATCH 55/82] wheel.mk: Only support requirement files in WHEELS variable --- mk/spksrc.wheel.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 6364fe262a3..998e3d68574 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -69,10 +69,7 @@ pre_wheel_target: wheel_msg_target sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ fi ;\ else \ - $(MSG) "Adding $$wheel to requirement file" ; \ - echo $$wheel | sed -rn /^pure:/s/^pure://gp >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ - echo $$wheel | sed -rn /^cross:/s/^cross://gp >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ - echo $$wheel | sed -e '/^pure:\|^cross:\|^#\|^$$/d' >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ + $(MSG) "ERROR: File $$wheel does not exist" ; \ fi ; \ done \ fi From bd9b6901083925f79479550aa55c83d84b86edec Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:51:46 +0000 Subject: [PATCH 56/82] borgbackup: Use cross & pure requirement files --- spk/borgbackup/Makefile | 2 +- .../src/{requirements.txt => requirements-cross.txt} | 4 ---- spk/borgbackup/src/requirements-pure.txt | 3 +++ 3 files changed, 4 insertions(+), 5 deletions(-) rename spk/borgbackup/src/{requirements.txt => requirements-cross.txt} (85%) create mode 100644 spk/borgbackup/src/requirements-pure.txt diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index 6b36afb57ed..3734b59d7fc 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -16,7 +16,7 @@ SPK_DEPENDS = "python310" # pip freeze > requirements.txt # deactivate # adjust the first line in requirements.txt to "#borgbackup==1.1.17" -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Deduplicating backup program with compression and authenticated encryption. diff --git a/spk/borgbackup/src/requirements.txt b/spk/borgbackup/src/requirements-cross.txt similarity index 85% rename from spk/borgbackup/src/requirements.txt rename to spk/borgbackup/src/requirements-cross.txt index 222a76c3145..37b7af00418 100644 --- a/spk/borgbackup/src/requirements.txt +++ b/spk/borgbackup/src/requirements-cross.txt @@ -15,7 +15,3 @@ pyrsistent==0.18.0 ruamel.yaml.clib==0.2.6 #six==1.16.0 ==> python310 #urllib3==1.26.6 ==> python310 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:jsonschema==3.2.0 diff --git a/spk/borgbackup/src/requirements-pure.txt b/spk/borgbackup/src/requirements-pure.txt new file mode 100644 index 00000000000..ac21472ca67 --- /dev/null +++ b/spk/borgbackup/src/requirements-pure.txt @@ -0,0 +1,3 @@ +# Wheels that absolutely needs +# to be managed as pure-python +jsonschema==3.2.0 From 5777762211d9ee539f448f0fc7440ccd85367038 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:53:55 +0000 Subject: [PATCH 57/82] duplicity: Use cross & pure requirement files --- spk/duplicity/Makefile | 2 +- .../src/{requirements.txt => requirements-cross.txt} | 9 --------- spk/duplicity/src/requirements-pure.txt | 8 ++++++++ 3 files changed, 9 insertions(+), 10 deletions(-) rename spk/duplicity/src/{requirements.txt => requirements-cross.txt} (93%) create mode 100644 spk/duplicity/src/requirements-pure.txt diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index b1ceb94b592..85684d8191a 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/duplicity.png BUILD_DEPENDS = cross/python310 DEPENDS = cross/duplicity cross/duply -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt SPK_DEPENDS = "python310:gnupg>=2.1.6" diff --git a/spk/duplicity/src/requirements.txt b/spk/duplicity/src/requirements-cross.txt similarity index 93% rename from spk/duplicity/src/requirements.txt rename to spk/duplicity/src/requirements-cross.txt index cde62d90c93..edc0c2c481b 100644 --- a/spk/duplicity/src/requirements.txt +++ b/spk/duplicity/src/requirements-cross.txt @@ -123,12 +123,3 @@ stone==3.2.1 uritemplate==3.0.1 #urllib3==1.26.4 ==> python310 wrapt==1.12.1 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:humanize==3.5.0 -#pure:importlib-metadata==4.0.1 ==> python310 -pure:keyring==23.0.1 -#pure:python-dateutil==2.8.1 ==> python310 -pure:tqdm==4.60.0 -#pure:zipp==3.4.1 ==> python310 diff --git a/spk/duplicity/src/requirements-pure.txt b/spk/duplicity/src/requirements-pure.txt new file mode 100644 index 00000000000..71f4f9a4af9 --- /dev/null +++ b/spk/duplicity/src/requirements-pure.txt @@ -0,0 +1,8 @@ +# Wheels that absolutely needs +# to be managed as pure-python +humanize==3.5.0 +#importlib-metadata==4.0.1 ==> python310 +keyring==23.0.1 +#python-dateutil==2.8.1 ==> python310 +tqdm==4.60.0 +#zipp==3.4.1 ==> python310 From 6bcc519996edf6f5b0aa44c67f7e684cb31911ca Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:56:05 +0000 Subject: [PATCH 58/82] flexget: Use cross & pure requirement files --- spk/flexget/Makefile | 2 +- .../{requirements.txt => requirements-cross.txt} | 14 -------------- spk/flexget/src/requirements-pure.txt | 13 +++++++++++++ 3 files changed, 14 insertions(+), 15 deletions(-) rename spk/flexget/src/{requirements.txt => requirements-cross.txt} (80%) create mode 100644 spk/flexget/src/requirements-pure.txt diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index f6aece90665..84d1beec54b 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -4,7 +4,7 @@ SPK_REV = 11 SPK_ICON = src/${SPK_NAME}.png BUILD_DEPENDS = cross/python310 -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt SPK_DEPENDS = "python310" MAINTAINER = manowark diff --git a/spk/flexget/src/requirements.txt b/spk/flexget/src/requirements-cross.txt similarity index 80% rename from spk/flexget/src/requirements.txt rename to spk/flexget/src/requirements-cross.txt index 32bb9ca270f..15b2fa99c39 100644 --- a/spk/flexget/src/requirements.txt +++ b/spk/flexget/src/requirements-cross.txt @@ -60,17 +60,3 @@ typing-extensions==3.10.0.0 Werkzeug==1.0.1 zc.lockfile==2.0 zxcvbn-python==4.4.24 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:cheroot==8.5.2 -#pure:importlib-metadata==4.0.1 ==> python310 -pure:jaraco.classes==3.2.1 -pure:jaraco.collections==3.3.0 -pure:jaraco.functools==3.3.0 -pure:jaraco.text==3.5.0 -pure:jsonschema==3.2.0 -pure:portend==2.7.1 -#pure:python-dateutil==2.8.1 ==> python310 -pure:tempora==4.0.2 -#pure:zipp==3.4.1 ==> python310 diff --git a/spk/flexget/src/requirements-pure.txt b/spk/flexget/src/requirements-pure.txt new file mode 100644 index 00000000000..dabbcdd7ecf --- /dev/null +++ b/spk/flexget/src/requirements-pure.txt @@ -0,0 +1,13 @@ +# Wheels that absolutely needs +# to be managed as pure-python +cheroot==8.5.2 +#importlib-metadata==4.0.1 ==> python310 +jaraco.classes==3.2.1 +jaraco.collections==3.3.0 +jaraco.functools==3.3.0 +jaraco.text==3.5.0 +jsonschema==3.2.0 +portend==2.7.1 +#python-dateutil==2.8.1 ==> python310 +tempora==4.0.2 +#zipp==3.4.1 ==> python310 From 1174bdd7dc6c7458aa1daa7d391aaaae044f39a2 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 13:57:18 +0000 Subject: [PATCH 59/82] octoprint: requirement.txt entirely managed through cross-compiled --- spk/octoprint/src/requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/spk/octoprint/src/requirements.txt b/spk/octoprint/src/requirements.txt index 976fa769b15..3d801078092 100644 --- a/spk/octoprint/src/requirements.txt +++ b/spk/octoprint/src/requirements.txt @@ -1,6 +1,5 @@ # all requirements are taken from the list "INSTALL_REQUIRES" in the # original setup.py at: https://github.com/OctoPrint/OctoPrint/blob/master/setup.py -# this file contains the pure python wheels only Flask==1.1.4 Flask_Assets==2.0 From 73f4d2af13528e341747a13ffedbe40c59433837 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 14:00:01 +0000 Subject: [PATCH 60/82] python38: Use cross & pure requirement files --- spk/python38/Makefile | 2 +- .../src/{requirements.txt => requirements-cross.txt} | 9 --------- spk/python38/src/requirements-pure.txt | 8 ++++++++ 3 files changed, 9 insertions(+), 10 deletions(-) rename spk/python38/src/{requirements.txt => requirements-cross.txt} (68%) create mode 100644 spk/python38/src/requirements-pure.txt diff --git a/spk/python38/Makefile b/spk/python38/Makefile index 15006e99ba6..e18fc01eb04 100644 --- a/spk/python38/Makefile +++ b/spk/python38/Makefile @@ -13,7 +13,7 @@ DEPENDS += cross/lxml cross/msgpack-python DEPENDS += cross/pycrypto cross/pycurl DEPENDS += cross/pyyaml cross/ruamel.yaml cross/sqlite -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python38/src/requirements.txt b/spk/python38/src/requirements-cross.txt similarity index 68% rename from spk/python38/src/requirements.txt rename to spk/python38/src/requirements-cross.txt index e369b6cd03d..bfc4c6e9d83 100644 --- a/spk/python38/src/requirements.txt +++ b/spk/python38/src/requirements-cross.txt @@ -27,12 +27,3 @@ pyasn1==0.4.8 # pillow dependencies olefile==0.46 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:filelock==3.3.1 -pure:importlib-resources==5.2.2 -pure:importlib-metadata==4.8.1 -pure:platformdirs==2.4.0 -pure:virtualenv==20.4.6 -pure:zipp==3.6.0 diff --git a/spk/python38/src/requirements-pure.txt b/spk/python38/src/requirements-pure.txt new file mode 100644 index 00000000000..c7ed16cf732 --- /dev/null +++ b/spk/python38/src/requirements-pure.txt @@ -0,0 +1,8 @@ +# Wheels that absolutely needs +# to be managed as pure-python +filelock==3.3.1 +importlib-resources==5.2.2 +importlib-metadata==4.8.1 +platformdirs==2.4.0 +virtualenv==20.4.6 +zipp==3.6.0 From fdc198ef88e58a59c71ceb6ee466271d9e5a6ea2 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 14:01:21 +0000 Subject: [PATCH 61/82] python3: Use cross & pure requirement files --- spk/python3/Makefile | 2 +- .../src/{requirements.txt => requirements-cross.txt} | 9 --------- spk/python3/src/requirements-pure.txt | 8 ++++++++ 3 files changed, 9 insertions(+), 10 deletions(-) rename spk/python3/src/{requirements.txt => requirements-cross.txt} (68%) create mode 100644 spk/python3/src/requirements-pure.txt diff --git a/spk/python3/Makefile b/spk/python3/Makefile index a281b81b545..f7db1eb614f 100644 --- a/spk/python3/Makefile +++ b/spk/python3/Makefile @@ -12,7 +12,7 @@ DEPENDS += cross/lxml cross/pycrypto cross/pycurl cross/pyyaml DEPENDS += cross/msgpack-python cross/ruamel.yaml cross/immutables DEPENDS += cross/cryptography -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt MAINTAINER = Allan Clark DESCRIPTION = Python Programming Language. diff --git a/spk/python3/src/requirements.txt b/spk/python3/src/requirements-cross.txt similarity index 68% rename from spk/python3/src/requirements.txt rename to spk/python3/src/requirements-cross.txt index e6cb8258a57..bfc4c6e9d83 100644 --- a/spk/python3/src/requirements.txt +++ b/spk/python3/src/requirements-cross.txt @@ -27,12 +27,3 @@ pyasn1==0.4.8 # pillow dependencies olefile==0.46 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:filelock==3.0.12 -pure:importlib-resources==5.2.2 -pure:importlib-metadata==4.8.1 -pure:platformdirs==2.4.0 -pure:virtualenv==20.4.6 -pure:zipp==3.6.0 diff --git a/spk/python3/src/requirements-pure.txt b/spk/python3/src/requirements-pure.txt new file mode 100644 index 00000000000..ef89b77c0c1 --- /dev/null +++ b/spk/python3/src/requirements-pure.txt @@ -0,0 +1,8 @@ +# Wheels that absolutely needs +# to be managed as pure-python +filelock==3.0.12 +importlib-resources==5.2.2 +importlib-metadata==4.8.1 +platformdirs==2.4.0 +virtualenv==20.4.6 +zipp==3.6.0 From 981f73be79fb19b939ddec8910e60ccc76e32c1b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 14:03:00 +0000 Subject: [PATCH 62/82] sabnzbd: Use cross & pure requirement files --- spk/sabnzbd/Makefile | 2 +- spk/sabnzbd/src/requirements-cross.txt | 14 ++++++++++++++ spk/sabnzbd/src/requirements-pure.txt | 10 ++++++++++ spk/sabnzbd/src/requirements.txt | 25 ------------------------- 4 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 spk/sabnzbd/src/requirements-cross.txt create mode 100644 spk/sabnzbd/src/requirements-pure.txt delete mode 100644 spk/sabnzbd/src/requirements.txt diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index 9c5eda2eb5b..d656341a817 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -9,7 +9,7 @@ SPK_DEPENDS = "python310" # To generate full requirements.txt, extend SABnzbd's own # requirements.txt with the depedencies of cherrypy and cheroot -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements-pure.txt MAINTAINER = Safihre DESCRIPTION = SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction. diff --git a/spk/sabnzbd/src/requirements-cross.txt b/spk/sabnzbd/src/requirements-cross.txt new file mode 100644 index 00000000000..062ce5c8e36 --- /dev/null +++ b/spk/sabnzbd/src/requirements-cross.txt @@ -0,0 +1,14 @@ +babelfish==0.6.0 +#chardet==4.0.0 ==> python310 +cheetah3==3.2.6 +cherrypy==18.6.1 +configobj==5.0.6 +feedparser==6.0.8 +guessit==3.3.1 +more-itertools==8.9.0 +puremagic==1.10 +pytz==2021.1 +rebulk==3.0.1 +sabyenc3==4.0.2 +sgmllib3k==1.0.0 +zc.lockfile==2.0 diff --git a/spk/sabnzbd/src/requirements-pure.txt b/spk/sabnzbd/src/requirements-pure.txt new file mode 100644 index 00000000000..9f13d4df3a6 --- /dev/null +++ b/spk/sabnzbd/src/requirements-pure.txt @@ -0,0 +1,10 @@ +# Wheels that absolutely needs +# to be managed as pure-python +cheroot==8.5.2 +jaraco.classes==3.2.1 +jaraco.collections==3.4.0 +jaraco.functools==3.3.0 +jaraco.text==3.5.1 +portend==2.7.1 +#python-dateutil==2.8.2 ==> python310 +tempora==4.1.1 diff --git a/spk/sabnzbd/src/requirements.txt b/spk/sabnzbd/src/requirements.txt deleted file mode 100644 index d6ce0f7b990..00000000000 --- a/spk/sabnzbd/src/requirements.txt +++ /dev/null @@ -1,25 +0,0 @@ -babelfish==0.6.0 -#chardet==4.0.0 ==> python310 -cheetah3==3.2.6 -cherrypy==18.6.1 -configobj==5.0.6 -feedparser==6.0.8 -guessit==3.3.1 -more-itertools==8.9.0 -puremagic==1.10 -pytz==2021.1 -rebulk==3.0.1 -sabyenc3==4.0.2 -sgmllib3k==1.0.0 -zc.lockfile==2.0 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:cheroot==8.5.2 -pure:jaraco.classes==3.2.1 -pure:jaraco.collections==3.4.0 -pure:jaraco.functools==3.3.0 -pure:jaraco.text==3.5.1 -pure:portend==2.7.1 -#pure:python-dateutil==2.8.2 ==> python310 -pure:tempora==4.1.1 From b167fb83ac761749d1dd70d856fc79275e93b5ee Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 12 Nov 2021 14:04:29 +0000 Subject: [PATCH 63/82] python310: Remove forgotten pure wheels from cross requirement --- spk/python310/src/requirements-cross.txt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/spk/python310/src/requirements-cross.txt b/spk/python310/src/requirements-cross.txt index 563e4701345..b8a0cb74217 100644 --- a/spk/python310/src/requirements-cross.txt +++ b/spk/python310/src/requirements-cross.txt @@ -56,13 +56,3 @@ urllib3==1.26.7 webencodings==0.5.1 Werkzeug==2.0.2 zope.interface==5.4.0 - -# Wheels that absolutely needs -# to be managed as pure-python -pure:filelock==3.3.2 -pure:importlib-metadata==4.8.1 -pure:importlib-resources==5.3.0 -pure:platformdirs==2.4.0 -pure:python-dateutil==2.8.2 -pure:virtualenv==20.9.0 -pure:zipp==3.6.0 From 994ac65f19aa123ec066d0dcb21f59f6fa12415b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 17 Nov 2021 23:52:09 +0000 Subject: [PATCH 64/82] sickchill: Bump package version for python 3.10 migration --- spk/sickchill/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index 0d1ee76bb7a..d20f6bf1858 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -1,6 +1,6 @@ SPK_NAME = sickchill SPK_VERS = 20211110 -SPK_REV = 4 +SPK_REV = 5 SPK_ICON = src/sickchill.png BUILD_DEPENDS = cross/python38 From 84f197a41537ec55d16562373a25ed0b71277169 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 18 Nov 2021 22:38:58 +0000 Subject: [PATCH 65/82] python310: Remove cryptography from abi3 (and keep in cross) --- spk/python310/src/requirements-abi3.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/spk/python310/src/requirements-abi3.txt b/spk/python310/src/requirements-abi3.txt index 391b9cb84cf..1b3382f6bbe 100644 --- a/spk/python310/src/requirements-abi3.txt +++ b/spk/python310/src/requirements-abi3.txt @@ -1,3 +1,2 @@ -cryptography==3.3.2 pycryptodome==3.11.0 pycryptodomex==3.11.0 From ffc8208726b56fd95ca623fd0f3fe7eb7515de26 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 18 Nov 2021 22:39:28 +0000 Subject: [PATCH 66/82] homeassistant: Rough 1st pass to migrate to python310 --- spk/homeassistant/Makefile | 11 +++++---- spk/homeassistant/src/requirements-cross.txt | 24 +++++++++--------- spk/homeassistant/src/service-setup.sh | 26 +------------------- 3 files changed, 19 insertions(+), 42 deletions(-) diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 5e31993374f..fe8480f493c 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,13 +1,14 @@ SPK_NAME = homeassistant SPK_VERS = 2021.9.7 -SPK_REV = 15 +SPK_REV = 16 SPK_ICON = src/${SPK_NAME}.png -SPK_DEPENDS = "python38" +SPK_DEPENDS = "python310" -BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel +###py310 BUILD_DEPENDS = cross/python310 cross/setuptools cross/pip cross/wheel +BUILD_DEPENDS = cross/python310 -DEPENDS += cross/libyaml cross/bcrypt cross/cryptography cross/pycrypto cross/pycryptodomex cross/pycryptodome +###py310 DEPENDS += cross/libyaml cross/bcrypt cross/cryptography cross/pycrypto cross/pycryptodomex cross/pycryptodome DEPENDS += cross/gevent DEPENDS += cross/homeassistant.pillow # for iqvia @@ -15,7 +16,7 @@ DEPENDS += cross/numpy # for python-libnmap DEPENDS += cross/nmap # for mobile_app -DEPENDS += cross/PyNaCl +###py310 DEPENDS += cross/PyNaCl # for tradfri DEPENDS += cross/dtlssocket # for denonavr diff --git a/spk/homeassistant/src/requirements-cross.txt b/spk/homeassistant/src/requirements-cross.txt index 39436fe371b..2749f30f4c7 100644 --- a/spk/homeassistant/src/requirements-cross.txt +++ b/spk/homeassistant/src/requirements-cross.txt @@ -15,18 +15,18 @@ aiohttp==3.7.4.post0 #attrs==21.2.0 #awesomeversion==21.4.0 backports.zoneinfo;python_version<"3.9" -bcrypt==3.1.7 +#py310 bcrypt==3.1.7 #certifi==2021.5.30 ciso8601==2.1.3 #httpx==0.19.0 ## jinja2==3.0.1 # fails to build, moved to postinst_default_config_requirements.txt -PyJWT==1.7.1 +#py310 PyJWT==1.7.1 ## cryptography==3.3.2 ## pip>=8.0.3,<20.3 #python-slugify==4.0.1 -pyyaml==5.4.1 +#py310 pyyaml==5.4.1 #requests==2.25.1 -ruamel.yaml==0.15.100 +#py310 ruamel.yaml==0.15.100 #voluptuous==0.12.1 #voluptuous-serialize==2.4.0 yarl==1.6.3 @@ -38,12 +38,12 @@ yarl==1.6.3 #hass-nabucasa==0.46.0 ### other default dependencies that need cross compiled wheel -MarkupSafe==2.0.1 +#py310 MarkupSafe==2.0.1 aiokafka==0.6.0 -cffi==1.14.1 -greenlet==1.1.1 +#py310 cffi==1.14.1 +#py310 greenlet==1.1.1 multidict==5.1.0 -sqlalchemy==1.4.23 +#py310 sqlalchemy==1.4.23 # Failed to build: av clx-sdk-xms homeassistant-pyozw python-twitch-client @@ -62,16 +62,16 @@ sqlalchemy==1.4.23 ephem==3.7.7.0 ###gevent==21.8.0 -guppy3==3.1.0 +guppy3==3.1.2 ###homeassistant-pyozw==0.1.10 # deprecated open-z-wave, fails to cross compile -netifaces==0.11.0 -psutil==5.8.0 +#py310 netifaces==0.11.0 +#py310 psutil==5.8.0 pyads==3.2.2 pycares==4.0.0 # pybluez==0.22 # for fjaraskupan fails to build # pycocotools==2.0.1 # fails to cross compile (aarch64) pyitachip2ir==0.0.7 -regex==2021.8.3 +#py310 regex==2021.8.3 #ujson==4.2.0 # dependency of pyflunearyou websockets==9.1 # pandas==1.3.1 # depends on numpy... diff --git a/spk/homeassistant/src/service-setup.sh b/spk/homeassistant/src/service-setup.sh index b1d14280cbe..9595676de71 100644 --- a/spk/homeassistant/src/service-setup.sh +++ b/spk/homeassistant/src/service-setup.sh @@ -3,7 +3,7 @@ # - installer # - start-stop-status -PYTHON_DIR="/var/packages/python38/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" @@ -13,17 +13,6 @@ SVC_CWD="${SYNOPKG_PKGVAR}" HOME="${SYNOPKG_PKGVAR}" -rename_file () -{ - _from=$1 - _to=$2 - if [ ! "${_from}" -ef "${_to}" ]; then - echo "- rename ${_from##*/} to ${_to##*/}" - mv -f ${_from} ${_to} - fi -} - - service_postinst () { # Create a Python virtualenv @@ -37,19 +26,6 @@ service_postinst () separator="====================================================" wheelhouse=${SYNOPKG_PKGDEST}/share/wheelhouse - echo ${separator} - echo "Rename arch specific wheels" - uname_m=$(uname -m) - for wheel_file in ${wheelhouse}/pycryptodome*-none-any.whl ; do - new_wheel_file=$(echo ${wheel_file} | sed "s|cp35-none-any|cp35-abi3-linux_${uname_m}|g") - rename_file "${wheel_file}" "${new_wheel_file}" - done - none_name="-cp38-none-any.whl" - arch_name="-cp38-cp38-linux_${uname_m}.whl" - for wheel_file in ${wheelhouse}/*${none_name} ; do - rename_file "${wheel_file}" "${wheel_file%${none_name}}${arch_name}" - done - echo ${separator} echo "Install packages from wheels" ${SYNOPKG_PKGDEST}/env/bin/pip install --no-deps --no-input --no-index ${wheelhouse}/*.whl From 2b60bf16a000f766df593b809f3ff8a80c299c65 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 19 Nov 2021 02:38:20 +0000 Subject: [PATCH 67/82] Update cython & numpy to latest version to fix x86_64 builds --- cross/cython/Makefile | 2 +- cross/cython/digests | 6 +++--- cross/numpy/Makefile | 2 +- cross/numpy/digests | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cross/cython/Makefile b/cross/cython/Makefile index 3330a0b7de5..382276200bf 100644 --- a/cross/cython/Makefile +++ b/cross/cython/Makefile @@ -1,5 +1,5 @@ PKG_NAME = cython -PKG_VERS = 0.29.21 +PKG_VERS = 0.29.24 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/$(PKG_NAME)/$(PKG_NAME)/archive diff --git a/cross/cython/digests b/cross/cython/digests index 90f3b2e76f5..479727f8f35 100644 --- a/cross/cython/digests +++ b/cross/cython/digests @@ -1,3 +1,3 @@ -cython-0.29.21.tar.gz SHA1 718dcfee83132421e2df4eb6fa0ef7f3917bf7b9 -cython-0.29.21.tar.gz SHA256 e2e38e1f0572ca54d6085df3dec8b607d20e81515fb80215aed19c81e8fe2079 -cython-0.29.21.tar.gz MD5 e14ffbc4019f9bbb37d977dac46f7d0d +cython-0.29.24.tar.gz SHA1 36a2a5fe9730758cebf3de28c0ff7ae33595700f +cython-0.29.24.tar.gz SHA256 a5efb97612f0f97164e87c54cc295b2e2d06c539487670079963adeab872de80 +cython-0.29.24.tar.gz MD5 6a7bd0c2d7a9f1630d82e957197ea6e8 diff --git a/cross/numpy/Makefile b/cross/numpy/Makefile index 7587fe46e56..669efb6458a 100644 --- a/cross/numpy/Makefile +++ b/cross/numpy/Makefile @@ -1,5 +1,5 @@ PKG_NAME = numpy -PKG_VERS = 1.21.1 +PKG_VERS = 1.21.4 PKG_EXT = zip PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/n/$(PKG_NAME) diff --git a/cross/numpy/digests b/cross/numpy/digests index 39c26214953..a71cce3ed9c 100644 --- a/cross/numpy/digests +++ b/cross/numpy/digests @@ -1,3 +1,3 @@ -numpy-1.21.1.zip SHA1 09b07eb84f565ab67d1d0d1c45ec47f74dbe2a1c -numpy-1.21.1.zip SHA256 dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd -numpy-1.21.1.zip MD5 1d016e05851a4ba85307f3246eb569aa +numpy-1.21.4.zip SHA1 91a1faeb617601453ebf6e2855e5ce6bf94d3588 +numpy-1.21.4.zip SHA256 e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0 +numpy-1.21.4.zip MD5 b3c4477a027d5b6fba5e1065064fd076 From 302279f1b910750f0d04860e08ba6453f37fc119 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 20 Nov 2021 11:15:03 +0000 Subject: [PATCH 68/82] python310: Add pycares --- spk/python310/Makefile | 6 +++++- spk/python310/src/requirements-cross.txt | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 798bae4ea29..a5ff3b892ee 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python310 SPK_VERS = 3.10.0 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 2 +SPK_REV = 3 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) @@ -26,6 +26,10 @@ ENV += SODIUM_INSTALL=system # https://github.com/python-pillow/Pillow/issues/5799 DEPENDS += cross/pillow +# Required for pycares +DEPENDS += cross/c-ares +ENV += PYCARES_USE_SYSTEM_LIB=1 + WHEELS = src/requirements-cross.txt src/requirements-pure.txt src/requirements-abi3.txt MAINTAINER = SynoCommunity diff --git a/spk/python310/src/requirements-cross.txt b/spk/python310/src/requirements-cross.txt index b8a0cb74217..86b67fb7bd8 100644 --- a/spk/python310/src/requirements-cross.txt +++ b/spk/python310/src/requirements-cross.txt @@ -35,6 +35,7 @@ paramiko==2.8.0 poetry==1.1.11 psutil==5.8.0 pyasn1==0.4.8 +pycares==4.1.2 pycparser==2.20 pycurl==7.44.1 PyJWT==2.3.0 From 11ac22353a6c4077ddbee5ae8517047981644d89 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 20 Nov 2021 11:19:48 +0000 Subject: [PATCH 69/82] homeassistant: Misc cleanups --- spk/homeassistant/Makefile | 6 +- spk/homeassistant/src/requirements-cross.txt | 63 ++++++++++---------- 2 files changed, 33 insertions(+), 36 deletions(-) diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index fe8480f493c..00e5c32dc1e 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,22 +1,18 @@ SPK_NAME = homeassistant SPK_VERS = 2021.9.7 -SPK_REV = 16 +SPK_REV = 17 SPK_ICON = src/${SPK_NAME}.png SPK_DEPENDS = "python310" -###py310 BUILD_DEPENDS = cross/python310 cross/setuptools cross/pip cross/wheel BUILD_DEPENDS = cross/python310 -###py310 DEPENDS += cross/libyaml cross/bcrypt cross/cryptography cross/pycrypto cross/pycryptodomex cross/pycryptodome DEPENDS += cross/gevent DEPENDS += cross/homeassistant.pillow # for iqvia DEPENDS += cross/numpy # for python-libnmap DEPENDS += cross/nmap -# for mobile_app -###py310 DEPENDS += cross/PyNaCl # for tradfri DEPENDS += cross/dtlssocket # for denonavr diff --git a/spk/homeassistant/src/requirements-cross.txt b/spk/homeassistant/src/requirements-cross.txt index 2749f30f4c7..20c8280151d 100644 --- a/spk/homeassistant/src/requirements-cross.txt +++ b/spk/homeassistant/src/requirements-cross.txt @@ -1,6 +1,6 @@ # Home Assistant core # requirements are splitted into multiple files -# - requirements.txt (this file, containing requirements that need cross compilation) +# - requirements-cross.txt (this file, containing requirements that need cross compilation) # - postinst_default_requirements.txt (requirements for default_config) # - postinst_integration_requirements.txt (requirements for integrations) # postinst requirements must be pure python wheels. @@ -10,25 +10,27 @@ # Home Assistant Core aiohttp==3.7.4.post0 -#astral==2.2 -#async_timeout==3.0.1 -#attrs==21.2.0 -#awesomeversion==21.4.0 -backports.zoneinfo;python_version<"3.9" -#py310 bcrypt==3.1.7 -#certifi==2021.5.30 +# astral==2.2 +# async_timeout==3.0.1 +# attrs==21.2.0 ==> python310 +# awesomeversion==21.4.0 +# backports.zoneinfo;python_version<"3.9" ==> Does not build with python310 +# bcrypt==3.1.7 ==> python310 +# certifi==2021.5.30 ==> python310 ciso8601==2.1.3 -#httpx==0.19.0 -## jinja2==3.0.1 # fails to build, moved to postinst_default_config_requirements.txt -#py310 PyJWT==1.7.1 -## cryptography==3.3.2 +# cryptography==3.3.2 ==> python310 +# httpx==0.19.0 +# jinja2==3.0.1 # fails to build, moved to postinst_default_config_requirements.txt +# numpy==1.21.4 # requires to be built as cross/numpy +# PyJWT==1.7.1 ==> python310 +# PyNaCl ==> python310 # for mobile_app ## pip>=8.0.3,<20.3 -#python-slugify==4.0.1 -#py310 pyyaml==5.4.1 -#requests==2.25.1 -#py310 ruamel.yaml==0.15.100 -#voluptuous==0.12.1 -#voluptuous-serialize==2.4.0 +# python-slugify==4.0.1 +# pyyaml==5.4.1 ==> python310 +# requests==2.25.1 ==> python310 +# ruamel.yaml==0.15.100 ==> python310 +# voluptuous==0.12.1 +# voluptuous-serialize==2.4.0 yarl==1.6.3 # homeassistant.components.frontend @@ -38,12 +40,12 @@ yarl==1.6.3 #hass-nabucasa==0.46.0 ### other default dependencies that need cross compiled wheel -#py310 MarkupSafe==2.0.1 +# MarkupSafe==2.0.1 ==> python310 aiokafka==0.6.0 -#py310 cffi==1.14.1 -#py310 greenlet==1.1.1 +# cffi==1.14.1 ==> python310 +# greenlet==1.1.1 ==> python310 multidict==5.1.0 -#py310 sqlalchemy==1.4.23 +# sqlalchemy==1.4.23 ==> python310 # Failed to build: av clx-sdk-xms homeassistant-pyozw python-twitch-client @@ -61,18 +63,17 @@ multidict==5.1.0 ephem==3.7.7.0 -###gevent==21.8.0 +# gevent==21.8.0 guppy3==3.1.2 ###homeassistant-pyozw==0.1.10 # deprecated open-z-wave, fails to cross compile -#py310 netifaces==0.11.0 -#py310 psutil==5.8.0 +# netifaces==0.11.0 ==> python310 +# psutil==5.8.0 ==> python310 pyads==3.2.2 -pycares==4.0.0 -# pybluez==0.22 # for fjaraskupan fails to build -# pycocotools==2.0.1 # fails to cross compile (aarch64) +# pycares==4.0.0 ==> python310 +# pybluez==0.22 # for fjaraskupan fails to build +# pycocotools==2.0.1 # fails to cross compile (aarch64) pyitachip2ir==0.0.7 -#py310 regex==2021.8.3 -#ujson==4.2.0 # dependency of pyflunearyou +# regex==2021.8.3 ==> python310 websockets==9.1 -# pandas==1.3.1 # depends on numpy... +# pandas==1.3.1 # depends on numpy... wrapt==1.12.1 From eb1021f9eb96853d79429b52db48b4660bafa6bc Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 22 Nov 2021 02:23:58 +0000 Subject: [PATCH 70/82] homeassistant: Now fully functional with Python 3.10 --- cross/dtlssocket/PLIST | 2 +- cross/homeassistant.pillow/Makefile | 17 -------- cross/homeassistant.pillow/PLIST | 0 cross/homeassistant.pillow/digests | 3 -- .../patches/001-fix-paths.patch | 40 ------------------- cross/pillow/Makefile | 2 +- cross/pillow/digests | 6 +-- spk/homeassistant/Makefile | 1 - .../src/postinst_components_requirements.txt | 4 +- .../postinst_default_config_requirements.txt | 20 +++++----- spk/homeassistant/src/requirements-cross.txt | 2 +- spk/python310/src/requirements-cross.txt | 4 +- 12 files changed, 20 insertions(+), 81 deletions(-) delete mode 100644 cross/homeassistant.pillow/Makefile delete mode 100644 cross/homeassistant.pillow/PLIST delete mode 100644 cross/homeassistant.pillow/digests delete mode 100644 cross/homeassistant.pillow/patches/001-fix-paths.patch diff --git a/cross/dtlssocket/PLIST b/cross/dtlssocket/PLIST index 9e299ad71f7..8b137891791 100644 --- a/cross/dtlssocket/PLIST +++ b/cross/dtlssocket/PLIST @@ -1 +1 @@ -rsc:bin/wheel + diff --git a/cross/homeassistant.pillow/Makefile b/cross/homeassistant.pillow/Makefile deleted file mode 100644 index 340392f45f6..00000000000 --- a/cross/homeassistant.pillow/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -PKG_NAME = Pillow -# pillow version for homeassistant package -PKG_VERS = 8.2.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) -PKG_DIR = $(PKG_NAME)-$(PKG_VERS) - -DEPENDS = cross/freetype cross/libjpeg cross/zlib - -HOMEPAGE = https://python-pillow.org -COMMENT = The friendly PIL fork. PIL is the Python Imaging Library. -LICENSE = HPND - -ENV += STAGING_INSTALL_PREFIX=$(STAGING_INSTALL_PREFIX) - -include ../../mk/spksrc.python-wheel.mk diff --git a/cross/homeassistant.pillow/PLIST b/cross/homeassistant.pillow/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/homeassistant.pillow/digests b/cross/homeassistant.pillow/digests deleted file mode 100644 index 352dbfc9a2e..00000000000 --- a/cross/homeassistant.pillow/digests +++ /dev/null @@ -1,3 +0,0 @@ -Pillow-8.2.0.tar.gz SHA1 a9b32caf6ff1d5160ad41265c7ad3b090114eefc -Pillow-8.2.0.tar.gz SHA256 a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1 -Pillow-8.2.0.tar.gz MD5 21c03274a9f59b9c00419852a8faebe7 diff --git a/cross/homeassistant.pillow/patches/001-fix-paths.patch b/cross/homeassistant.pillow/patches/001-fix-paths.patch deleted file mode 100644 index a7c408bc167..00000000000 --- a/cross/homeassistant.pillow/patches/001-fix-paths.patch +++ /dev/null @@ -1,40 +0,0 @@ -# avoid the use of system include and lib directories -# take the STAGING_INSTALL_PREFIX variable from environment as defined by spk Makefile ---- setup.py.orig 2021-04-01 17:58:27.000000000 +0000 -+++ setup.py 2021-05-13 11:53:05.171525534 +0000 -@@ -28,15 +28,16 @@ - - NAME = "Pillow" - PILLOW_VERSION = get_version() --FREETYPE_ROOT = None -+lib_include = os.path.join(os.environ['STAGING_INSTALL_PREFIX'], "lib"), os.path.join(os.environ['STAGING_INSTALL_PREFIX'], "include") -+FREETYPE_ROOT = lib_include - HARFBUZZ_ROOT = None - FRIBIDI_ROOT = None - IMAGEQUANT_ROOT = None - JPEG2K_ROOT = None --JPEG_ROOT = None -+JPEG_ROOT = lib_include - LCMS_ROOT = None - TIFF_ROOT = None --ZLIB_ROOT = None -+ZLIB_ROOT = lib_include - FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ - - if sys.platform == "win32" and sys.version_info >= (3, 10): -@@ -574,13 +575,8 @@ - - # standard locations - if not self.disable_platform_guessing: -- _add_directory(library_dirs, "/usr/local/lib") -- _add_directory(include_dirs, "/usr/local/include") -- -- _add_directory(library_dirs, "/usr/lib") -- _add_directory(include_dirs, "/usr/include") -- # alpine, at least -- _add_directory(library_dirs, "/lib") -+ _add_directory(library_dirs, os.environ['STAGING_INSTALL_PREFIX'] + "/lib") -+ _add_directory(include_dirs, os.environ['STAGING_INSTALL_PREFIX'] + "/include") - - if sys.platform == "win32": - # on Windows, look for the OpenJPEG libraries in the location that diff --git a/cross/pillow/Makefile b/cross/pillow/Makefile index 8ccbdb4abd4..63e178f2e1e 100644 --- a/cross/pillow/Makefile +++ b/cross/pillow/Makefile @@ -1,5 +1,5 @@ PKG_NAME = Pillow -PKG_VERS = 8.4.0 +PKG_VERS = 8.2.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/pillow/digests b/cross/pillow/digests index fa8e9c72885..352dbfc9a2e 100644 --- a/cross/pillow/digests +++ b/cross/pillow/digests @@ -1,3 +1,3 @@ -Pillow-8.4.0.tar.gz SHA1 ca8d057aec64ccd0804044bc71c17921afbe2e4e -Pillow-8.4.0.tar.gz SHA256 b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed -Pillow-8.4.0.tar.gz MD5 7a1eb5a250c7ccbd549a89e16404f09f +Pillow-8.2.0.tar.gz SHA1 a9b32caf6ff1d5160ad41265c7ad3b090114eefc +Pillow-8.2.0.tar.gz SHA256 a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1 +Pillow-8.2.0.tar.gz MD5 21c03274a9f59b9c00419852a8faebe7 diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 00e5c32dc1e..84c21471559 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -8,7 +8,6 @@ SPK_DEPENDS = "python310" BUILD_DEPENDS = cross/python310 DEPENDS += cross/gevent -DEPENDS += cross/homeassistant.pillow # for iqvia DEPENDS += cross/numpy # for python-libnmap diff --git a/spk/homeassistant/src/postinst_components_requirements.txt b/spk/homeassistant/src/postinst_components_requirements.txt index d3633809de5..a085e2cd2cf 100644 --- a/spk/homeassistant/src/postinst_components_requirements.txt +++ b/spk/homeassistant/src/postinst_components_requirements.txt @@ -34,7 +34,7 @@ authcaptureproxy==1.0.2 authlib==0.15.4 axis==44 backoff==1.11.1 -beautifulsoup4==4.9.3 +#beautifulsoup4==4.9.3 ==> python310 bellows==0.27.0 bidict==0.21.2 bimmer-connected==0.7.20 @@ -146,7 +146,7 @@ stringcase==1.2.0 tenacity==8.0.1 teslajsonpy==0.18.3 typing-inspect==0.7.1 -tzlocal==3.0 +#tzlocal==3.0 ==> python310 WSDiscovery==2.0.0 xmltodict==0.12.0 yalexs==1.1.13 diff --git a/spk/homeassistant/src/postinst_default_config_requirements.txt b/spk/homeassistant/src/postinst_default_config_requirements.txt index 03004ac5480..87a5fd7cd61 100644 --- a/spk/homeassistant/src/postinst_default_config_requirements.txt +++ b/spk/homeassistant/src/postinst_default_config_requirements.txt @@ -15,11 +15,11 @@ awesomeversion==21.4.0 ### bcrypt==3.1.7 boto3==1.18.18 botocore==1.21.18 -certifi==2021.5.30 +#certifi==2021.5.30 ==> python310 ### cffi==1.14.1 chardet==4.0.0 ### ciso8601 @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/ciso8601-2.1.3-cp38-none-any.whl -click==7.1.2 +#click==7.1.2 ==> python310 ### cryptography @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/cryptography-3.3.2-cp38-none-any.whl deepmerge==0.3.0 defusedxml==0.7.1 @@ -37,9 +37,9 @@ home-assistant-frontend==20210830.0 homeassistant==2021.9.7 httpcore==0.13.6 httpx==0.19.0 -idna==2.9 +#idna==2.9 ==> python310 ifaddr==0.1.7 -Jinja2==3.0.1 +#Jinja2==3.0.1 ==> python310 jmespath==0.10.0 jose==1.0.0 josepy==1.8.0 @@ -53,14 +53,14 @@ ply==3.11 py-synologydsm-api==1.0.4 pyasn1==0.4.8 pycognito==2021.3.1 -pycparser==2.19 +#pycparser==2.19 ==> python310 ### pycrypto==2.6.1 ### pycryptodomex @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/pycryptodomex-3.10.1-cp35-abi3-linux_aarch64.whl pyipp==0.11.0 ### PyJWT @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/PyJWT-1.7.1-py2.py3-none-any.whl PyMetno==0.8.3 ### PyNaCl @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/PyNaCl-1.4.0-cp38-cp38-linux_aarch64.whl -pyOpenSSL==20.0.1 +#pyOpenSSL==20.0.1 ==> python310 pyotp==2.3.0 PyQRCode==1.2.1 pyRFC3339==1.1 @@ -80,10 +80,10 @@ python-jose==3.2.0 python-miio==0.5.8 python-slugify==4.0.1 PythonDNS==0.1 -pytz==2021.1 +#pytz==2021.1 ==> python310 ### PyYAML @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/PyYAML-5.4.1-cp38-cp38-linux_aarch64.whl pyudev==0.22.0 -requests==2.25.1 +#requests==2.25.1 ==> python310 requests-toolbelt==0.9.1 rfc3986==1.5.0 rsa==4.7.2 @@ -97,8 +97,8 @@ spotipy==2.18.0 ### SQLAlchemy @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/SQLAlchemy-1.4.23-cp38-cp38-linux_aarch64.whl text-unidecode==1.3 typing-extensions==3.10.0.0 -Unidecode==1.2.0 -urllib3==1.26.6 +#Unidecode==1.2.0 ==> python310 +#urllib3==1.26.6 ==> python310 voluptuous==0.12.1 voluptuous-serialize==2.4.0 ### yarl @ file:///volume1/%40appstore/homeassistant/share/wheelhouse/yarl-1.6.3-cp38-cp38-linux_aarch64.whl diff --git a/spk/homeassistant/src/requirements-cross.txt b/spk/homeassistant/src/requirements-cross.txt index 20c8280151d..9e3fabf547a 100644 --- a/spk/homeassistant/src/requirements-cross.txt +++ b/spk/homeassistant/src/requirements-cross.txt @@ -22,7 +22,7 @@ ciso8601==2.1.3 # httpx==0.19.0 # jinja2==3.0.1 # fails to build, moved to postinst_default_config_requirements.txt # numpy==1.21.4 # requires to be built as cross/numpy -# PyJWT==1.7.1 ==> python310 +PyJWT==1.7.1 # PyNaCl ==> python310 # for mobile_app ## pip>=8.0.3,<20.3 # python-slugify==4.0.1 diff --git a/spk/python310/src/requirements-cross.txt b/spk/python310/src/requirements-cross.txt index 86b67fb7bd8..0da0ce13c78 100644 --- a/spk/python310/src/requirements-cross.txt +++ b/spk/python310/src/requirements-cross.txt @@ -25,7 +25,7 @@ ipaddress==1.0.23 itsdangerous==2.0.1 Jinja2==3.0.2 lxml==4.6.3 -markupsafe==2.0.1 +MarkupSafe==2.0.1 msgpack-python==0.5.6 netifaces==0.11.0 olefile==0.46 @@ -38,7 +38,7 @@ pyasn1==0.4.8 pycares==4.1.2 pycparser==2.20 pycurl==7.44.1 -PyJWT==2.3.0 +#PyJWT==2.3.0 ==> some packages needs version < 2.0 PyNaCl==1.4.0 pyOpenSSL==21.0.0 pyparsing==3.0.1 From e47e01220750e8ab543292546ad88f17515396ce Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 22 Nov 2021 02:24:26 +0000 Subject: [PATCH 71/82] sickchill: Fix typo --- spk/sickchill/src/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sickchill/src/requirements.txt b/spk/sickchill/src/requirements.txt index d13401f5d5e..5fbae65b6ed 100644 --- a/spk/sickchill/src/requirements.txt +++ b/spk/sickchill/src/requirements.txt @@ -53,7 +53,7 @@ putio.py==8.7.0 pyaes==1.6.1 pygithub==1.55 pyjsparser==2.7.1 -pyjwt==2.3.0 +PyJWT==2.3.0 pymediainfo==5.1.0 #PyNaCl==1.4.0 ==> python310 pynma==1.0 From 514a5d69fc23b0a56dcc8005ff596147d521688f Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 22 Nov 2021 02:39:55 +0000 Subject: [PATCH 72/82] sabnzbd: pytz wheel already provided by python310 --- spk/sabnzbd/src/requirements-cross.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sabnzbd/src/requirements-cross.txt b/spk/sabnzbd/src/requirements-cross.txt index 062ce5c8e36..5906556e8db 100644 --- a/spk/sabnzbd/src/requirements-cross.txt +++ b/spk/sabnzbd/src/requirements-cross.txt @@ -7,7 +7,7 @@ feedparser==6.0.8 guessit==3.3.1 more-itertools==8.9.0 puremagic==1.10 -pytz==2021.1 +#pytz==2021.1 ==> python310 rebulk==3.0.1 sabyenc3==4.0.2 sgmllib3k==1.0.0 From 03bac2dcca3ca6a921bcd9c9df45a3ef5fcce304 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 22 Nov 2021 02:51:29 +0000 Subject: [PATCH 73/82] sickchill: BUILD_DEPENDS to python310 --- spk/sickchill/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index d20f6bf1858..18f152acf22 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 20211110 SPK_REV = 5 SPK_ICON = src/sickchill.png -BUILD_DEPENDS = cross/python38 +BUILD_DEPENDS = cross/python310 DEPENDS = cross/$(SPK_NAME) SPK_DEPENDS = "python310" From 626eee0274e46246a2e9b1c7c6254643144f0dbd Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 22 Nov 2021 12:23:00 +0000 Subject: [PATCH 74/82] octoprint: Small adjustments to get clean install using python310 --- spk/octoprint/Makefile | 2 +- spk/octoprint/src/requirements.txt | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/spk/octoprint/Makefile b/spk/octoprint/Makefile index 1b94e3bb738..3248a623b40 100644 --- a/spk/octoprint/Makefile +++ b/spk/octoprint/Makefile @@ -19,7 +19,7 @@ ADMIN_PORT = $(SERVICE_PORT) DISPLAY_NAME = OctoPrint HOMEPAGE = https://octoprint.org/ LICENSE = AGPLv3 -CHANGELOG = "Update OctoPrint to v1.7.2 and python310" +CHANGELOG = "Update OctoPrint to v1.7.2 and Python 3.10" # SERVICE_COMMAND is in src/service-setup.sh STARTABLE = yes diff --git a/spk/octoprint/src/requirements.txt b/spk/octoprint/src/requirements.txt index 3d801078092..dfcc712b6a7 100644 --- a/spk/octoprint/src/requirements.txt +++ b/spk/octoprint/src/requirements.txt @@ -1,38 +1,38 @@ # all requirements are taken from the list "INSTALL_REQUIRES" in the # original setup.py at: https://github.com/OctoPrint/OctoPrint/blob/master/setup.py -Flask==1.1.4 +#Flask==1.1.4 ==> python310 Flask_Assets==2.0 Flask_Babel==1.0.0 Flask_Login==0.5.0 -Jinja2==2.11.3 +#Jinja2==2.11.3 ==> python310 Markdown==3.1.1 OctoPrint_FileCheck==2021.2.23 OctoPrint_FirmwareCheck==2021.10.11 OctoPrint_PiSupport==2021.10.28 -Unidecode==1.3.2 -Werkzeug==1.0.1 +#Unidecode==1.3.2 ==> python310 +#Werkzeug==1.0.1 ==> python310 blinker==1.4 cachelib==0.1.1 -click==7.1.2 +#click==7.1.2 ==> python310 colorlog==5.0.1 emoji==1.6.1 feedparser==6.0.8 filetype==1.0.8 -#future==0.18.2 ==> python310 +#future==0.18.2 ==> python310 immutabledict==2.2.1 -itsdangerous==1.1.0 -MarkupSafe==1.1.1 +#itsdangerous==1.1.0 ==> python310 +#MarkupSafe==1.1.1 ==> python310 netaddr==0.8.0 -#netifaces==0.11.0 ==> python310 +#netifaces==0.11.0 ==> python310 pathvalidate==2.5.0 -#psutil==5.8.0 ==> python310 +#psutil==5.8.0 ==> python310 pkginfo==1.7.1 pylru==1.2.0 pyserial==3.5 -PyYAML==5.4.1 -#regex==2021.10.23 ==> python310 -#requests==2.26.0 ==> python310 +#PyYAML==5.4.1 ==> python310 +#regex==2021.10.23 ==> python310 +#requests==2.26.0 ==> python310 sarge==0.1.6 semantic_version==2.8.5 sentry_sdk==1.4.3 From 219f7f96013fc16bcb9916788ac145041e857fd6 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 22 Nov 2021 12:57:53 +0000 Subject: [PATCH 75/82] flexget: Disable python310 default wheels --- spk/flexget/src/requirements-cross.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/spk/flexget/src/requirements-cross.txt b/spk/flexget/src/requirements-cross.txt index 15b2fa99c39..4a329534545 100644 --- a/spk/flexget/src/requirements-cross.txt +++ b/spk/flexget/src/requirements-cross.txt @@ -5,18 +5,18 @@ aniso8601==9.0.1 APScheduler==3.7.0 -attrs==20.3.0 +#attrs==20.3.0 ==> python310 babelfish==0.5.5 #beautifulsoup4==4.10.0 ==> python310 Brotli==1.0.9 #certifi==2020.12.5 ==> python310 #chardet==4.0.0 ==> python310 CherryPy==18.6.0 -click==7.1.2 +#click==7.1.2 ==> python310 colorama==0.4.4 colorclass==2.2.0 feedparser==6.0.2 -Flask==1.1.2 +#Flask==1.1.2 ==> python310 Flask-Compress==1.9.0 Flask-Cors==3.0.10 Flask-Login==0.5.0 @@ -25,10 +25,10 @@ flask-restx==0.4.0 FlexGet==3.1.129 #greenlet==1.0.0 ==> python310 guessit==3.2.0 -html5lib==1.1 -idna==2.10 -itsdangerous==1.1.0 -Jinja2==2.11.3 +#html5lib==1.1 ==> python310 +#idna==2.10 ==> python310 +#itsdangerous==1.1.0 ==> python310 +#Jinja2==2.11.3 ==> python310 loguru==0.5.3 #MarkupSafe==2.0.0 ==> python310 more-itertools==8.7.0 @@ -38,13 +38,13 @@ plumbum==1.6.9 progressbar==2.5 #psutil==5.8.0 ==> python310 pynzb==0.1.0 -pyparsing==2.4.7 +#pyparsing==2.4.7 ==> python310 pyrsistent==0.17.3 PyRSS2Gen==1.1 -pytz==2021.1 -PyYAML==5.4.1 +#pytz==2021.1 ==> python310 +#PyYAML==5.4.1 ==> python310 rebulk==3.0.1 -requests==2.25.1 +#requests==2.25.1 ==> python310 rpyc==4.1.2 #rpyc==5.0.1 sgmllib3k==1.0.0 @@ -57,6 +57,6 @@ typing-extensions==3.10.0.0 #tzlocal==2.1 ==> python310 #urllib3==1.26.5 ==> python310 #webencodings==0.5.1 ==> python310 -Werkzeug==1.0.1 +#Werkzeug==1.0.1 ==> python310 zc.lockfile==2.0 zxcvbn-python==4.4.24 From 980005ed4652c593d20ebec2a9493f69099fa6c4 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 23 Nov 2021 00:42:54 +0000 Subject: [PATCH 76/82] beets: Now compatible with python310 with update to 1.5.0 --- spk/beets/Makefile | 2 +- spk/beets/src/requirements.txt | 38 ++++++++++++++++++---------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/spk/beets/Makefile b/spk/beets/Makefile index 128afe4bbbd..af13dda95db 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -1,5 +1,5 @@ SPK_NAME = beets -SPK_VERS = 1.4.9 +SPK_VERS = 1.5.0 SPK_REV = 7 SPK_ICON = src/beets.png diff --git a/spk/beets/src/requirements.txt b/spk/beets/src/requirements.txt index a630f97a22c..057073b512d 100644 --- a/spk/beets/src/requirements.txt +++ b/spk/beets/src/requirements.txt @@ -1,42 +1,44 @@ -beets==1.4.9 +beets==1.5.0 # Direct dependencies -# six>=1.10.0 ==> included in python310 package installation +confuse==1.6.0 +#six>=1.10.0 ==> python310 +#MarkupSafe>=0.23 ==> python310 +mediafile==0.8.1 mutagen==1.44.0 -Unidecode==1.1.1 musicbrainzngs==0.7.1 -#PyYAML>=3.12 ==> included in python310 package installation -#MarkupSafe>=0.23 ==> included in python310 package installation munkres==1.1.2 +#PyYAML>=3.12 ==> python310 +#Unidecode==1.1.1 ==> python310 # Plugin dependencies -#beautifulsoup4==4.10.0 ==> included in python310 package installation -#certifi==2019.11.28 ==> included in python310 package installation -chardet==3.0.4 +#beautifulsoup4==4.10.0 ==> python310 +#certifi==2019.11.28 ==> python310 +#chardet==3.0.4 ==> python310 discogs-client==2.2.2 langdetect==1.0.7 -# Pillow==7.0.0 # arch dependent, would need cross compilation ==> included in python310 package installation -#oauthlib==3.1.0 ==> included in python310 package installation +#Pillow==7.0.0 ==> python310 +#oauthlib==3.1.0 ==> python310 pyacoustid==1.1.7 pylast==3.2.0 python-mpd2==1.1.0 pyxdg==0.26 rarfile==3.1 -#requests==2.23.0 ==> included in python310 package installation -#requests-oauthlib==1.3.0 ==> included in python310 package installation +#requests==2.23.0 ==> python310 +#requests-oauthlib==1.3.0 ==> python310 soupsieve==2.0 soco==0.18.1 -#urllib3==1.25.8 ==> included in python310 package installation +#urllib3==1.25.8 ==> python310 xmltodict==0.12.0 # For web plugin -Flask==1.1.1 +#Flask==1.1.1 ==> python310 Flask-Cors==3.0.8 -Click==7.0 -itsdangerous==1.1.0 +#Click==7.0 ==> python310 +#itsdangerous==1.1.0 ==> python310 jellyfish==0.7.2 -Jinja2==2.11.1 -Werkzeug==1.0.0 +#Jinja2==2.11.1 ==> python310 +#Werkzeug==1.0.0 ==> python310 # For gmusic plugin # Despite installing following wheels 'google' is not found at runtime From de266f64e2323c3c91e146f1559879039c03d45a Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 23 Nov 2021 01:08:45 +0000 Subject: [PATCH 77/82] borgbackup: Misc fixes for python310 compatibility --- spk/borgbackup/Makefile | 2 +- spk/borgbackup/src/requirements-cross.txt | 4 ++-- spk/borgbackup/src/service-setup.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index 3734b59d7fc..b27afca54f6 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -23,7 +23,7 @@ DESCRIPTION = Deduplicating backup program with compression and authenticated en DISPLAY_NAME = Borg STARTABLE = no -CHANGELOG = "1. Update borgbackup to v1.1.17 and borgmatic to v1.5.18.
2. Update OpenSSL to v1.1.1l.
3. Update to python 3.10" +CHANGELOG = "1. Update borgbackup to v1.1.17 and borgmatic to v1.5.18.
2. Update OpenSSL to v1.1.1l.
3. Update to Python 3.10" HOMEPAGE = https://borgbackup.readthedocs.io LICENSE = BSD-3-Clause diff --git a/spk/borgbackup/src/requirements-cross.txt b/spk/borgbackup/src/requirements-cross.txt index 37b7af00418..6675d503857 100644 --- a/spk/borgbackup/src/requirements-cross.txt +++ b/spk/borgbackup/src/requirements-cross.txt @@ -4,11 +4,11 @@ #attrs==21.2.0 ==> python310 borgmatic==1.5.18 #certifi==2021.5.30 ==> python310 -charset-normalizer==2.0.4 +#charset-normalizer==2.0.4 ==> python310 colorama==0.4.4 #idna==3.2 ==> python310 #packaging==21.0 ==> python310 -pyparsing==2.4.7 +#pyparsing==2.4.7 ==> python310 pyrsistent==0.18.0 #requests==2.26.0 ==> python310 #ruamel.yaml==0.17.16 ==> python310 diff --git a/spk/borgbackup/src/service-setup.sh b/spk/borgbackup/src/service-setup.sh index a6d9c8e8b35..34430d3d754 100644 --- a/spk/borgbackup/src/service-setup.sh +++ b/spk/borgbackup/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python38/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PIP=${SYNOPKG_PKGDEST}/env/bin/pip3 PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" From e2dc86d423ca7cb02baad533612baf661e7fc5b0 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 23 Nov 2021 01:09:21 +0000 Subject: [PATCH 78/82] duplicity: Misc fixes for python310 compabitility --- spk/duplicity/Makefile | 2 +- spk/duplicity/src/requirements-cross.txt | 10 +++++----- spk/duplicity/src/service-setup.sh | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index 85684d8191a..dd19ae8fd04 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -14,7 +14,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v0.8.19 and duply to v2.3.1
2. Update to Python 3.10
3. Add supported backend libraries:
  • azure-storage-blob
  • b2sdk
  • boto
  • boto3
  • boxsdk[jwt]
  • dropbox
  • google_auth_oauthlib
  • jottalib
  • pydrive
  • pyrax
  • python-swiftclient
  • requests_oauthlib

4. Update includes a security update urllib3" +CHANGELOG = "1. Update duplicity to v0.8.19 and duply to v2.3.1
2. Update to Python 3.10
3. Add supported backend libraries:
  • azure-storage-blob
  • b2sdk
  • boto
  • boto3
  • boxsdk[jwt]
  • dropbox
  • google_auth_oauthlib
  • jottalib
  • pydrive
  • pyrax
  • python-swiftclient
  • requests_oauthlib

4. Update includes a security update urllib3" HOMEPAGE = http://duplicity.nongnu.org/ LICENSE = GPLv2 diff --git a/spk/duplicity/src/requirements-cross.txt b/spk/duplicity/src/requirements-cross.txt index edc0c2c481b..324b065edf9 100644 --- a/spk/duplicity/src/requirements-cross.txt +++ b/spk/duplicity/src/requirements-cross.txt @@ -31,7 +31,7 @@ args==0.1.0 arrow==0.17.0 -attrs==20.3.0 +#attrs==20.3.0 ==> python310 azure-core==1.13.0 azure-storage-blob==12.8.1 b2sdk==1.7.0 @@ -85,7 +85,7 @@ oslo.serialization==2.16.1 oslo.utils==3.22.3 os-networksv2-python-novaclient-ext==0.26 os-virtual-interfacesv2-python-novaclient-ext==0.20 -packaging==20.9 +#packaging==20.9 ==> python310 pbr==5.7.0 ply==3.11 positional==1.2.1 @@ -96,13 +96,13 @@ pyasn1-modules==0.2.8 #pycparser==2.20 ==> python310 PyDrive==1.3.1 PyJWT==2.1.0 -pyparsing==2.4.7 +#pyparsing==2.4.7 ==> python310 pyrax==1.10.0 python-gettext==4.0 python-keystoneclient==3.10.0 python-novaclient==2.27.0 python-swiftclient==3.11.1 -pytz==2021.1 +#pytz==2021.1 ==> python310 #PyYAML==5.4.1 ==> python310 rackspace-auth-openstack==1.3 rackspace-novaclient==2.1 @@ -117,7 +117,7 @@ s3transfer==0.4.2 SecretStorage==3.3.1 setuptools-scm==5.0.2 simplejson==3.17.2 -six==1.15.0 +#six==1.15.0 ==> python310 stevedore==1.20.1 stone==3.2.1 uritemplate==3.0.1 diff --git a/spk/duplicity/src/service-setup.sh b/spk/duplicity/src/service-setup.sh index 0c0fa94e526..d468d3a42af 100644 --- a/spk/duplicity/src/service-setup.sh +++ b/spk/duplicity/src/service-setup.sh @@ -1,7 +1,7 @@ ### service-setup.sh -PYTHON_DIR="/var/packages/python38/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" VIRTUALENV="${PYTHON_DIR}/python3 -m venv" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" From 169b3e0cfc38ae0d3a641b90898f0435c15b626e Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 23 Nov 2021 01:36:01 +0000 Subject: [PATCH 79/82] duplicity: Disable future wheel as already in python310 --- spk/duplicity/src/requirements-cross.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/duplicity/src/requirements-cross.txt b/spk/duplicity/src/requirements-cross.txt index 324b065edf9..902a438b6d2 100644 --- a/spk/duplicity/src/requirements-cross.txt +++ b/spk/duplicity/src/requirements-cross.txt @@ -51,7 +51,7 @@ dropbox==11.7.0 #duplicity==0.8.19 fasteners==0.16 funcsigs==1.0.2 -future==0.18.2 +#future==0.18.2 ==> python310 # gdata ; python_version == '2.7' google-api-core==1.26.3 google-api-python-client==2.3.0 From 97e841b9970f31bd36d893d09d2bce1bf334b517 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 23 Nov 2021 01:58:01 +0000 Subject: [PATCH 80/82] znc: Migrate to Python 3.10 --- cross/znc/Makefile | 2 +- spk/znc/Makefile | 2 +- spk/znc/src/service-setup.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cross/znc/Makefile b/cross/znc/Makefile index c01c0d3a75c..e962103b665 100644 --- a/cross/znc/Makefile +++ b/cross/znc/Makefile @@ -5,7 +5,7 @@ PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://znc.in/releases/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -BUILD_DEPENDS = cross/python38 +BUILD_DEPENDS = cross/python310 DEPENDS = cross/openssl cross/libicu # due to libicu: diff --git a/spk/znc/Makefile b/spk/znc/Makefile index c60c7b4b01f..7936b3dd62f 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/znc.png DSM_UI_DIR = app DEPENDS = cross/$(SPK_NAME) -SPK_DEPENDS = "python38" +SPK_DEPENDS = "python310" MAINTAINER = worstje DESCRIPTION = Advanced IRC bouncer. An IRC bouncer is nothing more than an IRC proxy. ZNC will always be connected in your chat rooms, and will be the gateway between your clients, and your IRC servers. You can, for instance, consult messages while you were offline or hide your identity. diff --git a/spk/znc/src/service-setup.sh b/spk/znc/src/service-setup.sh index b455593d59b..bc14c4b0e2a 100644 --- a/spk/znc/src/service-setup.sh +++ b/spk/znc/src/service-setup.sh @@ -6,7 +6,7 @@ PATH="${SYNOPKG_PKGDEST}/bin:${PATH}" ZNC="${SYNOPKG_PKGDEST}/bin/znc" CERT_FILE="${SYNOPKG_PKGVAR}/znc.pem" -PYTHON3_LIB_PATH="/var/packages/python38/target/lib" +PYTHON3_LIB_PATH="/var/packages/python310/target/lib" SERVICE_COMMAND="env LD_LIBRARY_PATH=${PYTHON3_LIB_PATH} ${ZNC} -d ${SYNOPKG_PKGVAR}" SVC_BACKGROUND=yes CONF_FILE=${SYNOPKG_PKGVAR}/configs/znc.conf From 578e88feb450685907652c7a967c18607a3c5a64 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 24 Nov 2021 02:02:36 +0000 Subject: [PATCH 81/82] python-wheel.mk: Rename using PYTHON_ARCH instead of none-any.whl --- mk/spksrc.python-wheel.mk | 21 ++++++++++----------- mk/spksrc.wheel-env.mk | 32 ++++++++++++++++++++++++++++++-- mk/spksrc.wheel.mk | 39 ++++++++------------------------------- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/mk/spksrc.python-wheel.mk b/mk/spksrc.python-wheel.mk index 45f0363e300..fff7b39560f 100644 --- a/mk/spksrc.python-wheel.mk +++ b/mk/spksrc.python-wheel.mk @@ -7,10 +7,13 @@ ifeq ($(strip $(CONFIGURE_TARGET)),) CONFIGURE_TARGET = nop endif ifeq ($(strip $(COMPILE_TARGET)),) -COMPILE_TARGET = build_python_wheel +COMPILE_TARGET = build_python_wheel_target endif ifeq ($(strip $(INSTALL_TARGET)),) -INSTALL_TARGET = install_python_wheel +INSTALL_TARGET = nop +endif +ifeq ($(strip $(POST_INSTALL_TARGET)),) +POST_INSTALL_TARGET = post_install_python_wheel_target endif # Resume with standard spksrc.cross-cc.mk @@ -22,9 +25,11 @@ include ../../mk/spksrc.cross-cc.mk # Python module variables PYTHONPATH = $(PYTHON_LIB_NATIVE):$(INSTALL_DIR)$(INSTALL_PREFIX)/$(PYTHON_LIB_DIR)/site-packages/ +## python wheel specific configurations +include ../../mk/spksrc.wheel-env.mk ### Python wheel rules -build_python_wheel: +build_python_wheel_target: ifeq ($(strip $(CROSSENV)),) # Python 2 way @$(RUN) PYTHONPATH=$(PYTHONPATH) $(HOSTPYTHON) -c "import setuptools;__file__='setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" $(BUILD_ARGS) bdist_wheel -d $(WHEELHOUSE) @@ -32,14 +37,8 @@ else # Python 3 case: using crossenv helper @. $(CROSSENV) && $(RUN) PYTHONPATH=$(PYTHONPATH) python -c "import setuptools;__file__='setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" $(BUILD_ARGS) bdist_wheel -d $(WHEELHOUSE) endif + @$(RUN) echo "$(PKG_NAME)==$(PKG_VERS)" >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) -install_python_wheel: $(WHEEL_TARGET) - @if [ -d "$(WHEELHOUSE)" ] ; then \ - mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ - cd $(WHEELHOUSE) && \ - for w in *.whl; do \ - cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ - done ; \ - fi +post_install_python_wheel_target: $(WHEEL_TARGET) install_python_wheel all: install diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index 445f82fb10b..3401da35da1 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -14,6 +14,9 @@ endif ifeq ($(strip $(WHEELS_CROSS_COMPILE)),) WHEELS_CROSS_COMPILE = requirements-cross.txt endif +ifeq ($(strip $(WHEELS_CROSSENV_COMPILE)),) +WHEELS_CROSSENV_COMPILE = requirements-crossenv.txt +endif ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),) # If no ARCH then pure by default @@ -25,9 +28,9 @@ endif endif ifeq ($(strip $(WHEEL_DEFAULT_PREFIX)),pure) -WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_PURE_PYTHON) +WHEELS_DEFAULT_REQUIREMENT = $(WHEELS_PURE_PYTHON) else -WHEEL_DEFAULT_REQUIREMENT = $(WHEELS_CROSS_COMPILE) +WHEELS_DEFAULT_REQUIREMENT = $(WHEELS_CROSSENV_COMPILE) endif # For generating abi3 wheels with limited @@ -67,3 +70,28 @@ endif ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) PYTHON_ARCH += i686 endif + +install_python_wheel: + @if [ -d "$(WHEELHOUSE)" ] ; then \ + mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ + cd $(WHEELHOUSE) ; \ + $(MSG) Copying $(WHEELS_DEFAULT) wheelhouse ; \ + if stat -t requirements*.txt >/dev/null 2>&1; then \ + cat requirements*.txt >> $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_DEFAULT) ; \ + sort -u -o $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_DEFAULT) $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_DEFAULT) ; \ + fi ; \ + if [ "$(EXCLUDE_PURE_PYTHON_WHEELS)" = "yes" ] ; then \ + echo "Pure python wheels are excluded from the package wheelhouse." ; \ + for w in *.whl; do \ + if echo $${w} | grep -viq "-none-any\.whl" ; then \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl ; \ + fi ; \ + done ; \ + else \ + for w in *.whl; do \ + $(MSG) Copying to wheelhouse: $$(echo $$w | sed -E "s/(.*linux_).*(\.whl)/\1$(PYTHON_ARCH)\2/") ; \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/$$(echo $$w | sed -E "s/(.*linux_).*(\.whl)/\1$(PYTHON_ARCH)\2/") ; \ + done ; \ + fi ; \ + fi + diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 998e3d68574..21c4911a8a7 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -48,7 +48,6 @@ pre_wheel_target: wheel_msg_target if [ -n "$(PIP_CACHE_OPT)" ] ; then \ mkdir -p $(PIP_DIR) ; \ fi; \ - rm -fr $(WHEELHOUSE) ; \ mkdir -p $(WHEELHOUSE) ; \ for wheel in $(WHEELS) ; \ do \ @@ -56,17 +55,17 @@ pre_wheel_target: wheel_msg_target if [ $$(basename $$wheel) = $(WHEELS_PURE_PYTHON) ]; then \ $(MSG) "Adding existing $$wheel file as pure-python (discarding any cross-compiled)" ; \ sed -e '/^cross:\|^#\|^$$/d' -e /^pure:/s/^pure://g $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ - elif [ $$(basename $$wheel) = $(WHEELS_CROSS_COMPILE) ]; then \ + elif [ $$(basename $$wheel) = $(WHEELS_CROSSENV_COMPILE) ]; then \ $(MSG) "Adding existing $$wheel file as cross-compiled (discarding any pure-python)" ; \ - sed -e '/^pure:\|^#\|^$$/d' -e /^cross:/s/^cross://g $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + sed -e '/^pure:\|^#\|^$$/d' -e /^cross:/s/^cross://g $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE) ; \ elif [ $$(basename $$wheel) = $(WHEELS_LIMITED_API) ]; then \ $(MSG) "Adding existing $$wheel file as ABI-limited" ; \ cat $$wheel >> $(WHEELHOUSE)/$(WHEELS_LIMITED_API) ; \ else \ $(MSG) "Adapting existing $$wheel file" ; \ sed -rn /^pure:/s/^pure://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ - sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ - sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEEL_DEFAULT_REQUIREMENT) ; \ + sed -rn /^cross:/s/^cross://gp $$wheel >> $(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE) ; \ + sed -e '/^pure:\|^cross:\|^#\|^$$/d' $$wheel >> $(WHEELHOUSE)/$(WHEELS_DEFAULT_REQUIREMENT) ; \ fi ;\ else \ $(MSG) "ERROR: File $$wheel does not exist" ; \ @@ -79,12 +78,12 @@ pre_wheel_target: wheel_msg_target build_wheel_target: $(PRE_WHEEL_TARGET) @if [ -n "$(WHEELS)" ] ; then \ $(foreach e,$(shell cat $(WORK_DIR)/python-cc.mk),$(eval $(e))) \ - if [ -s "$(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE)" ]; then \ + if [ -s "$(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE)" ]; then \ $(MSG) "Force cross-compile" ; \ if [ -z "$(CROSSENV)" ]; then \ - $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP) $(PIP_WHEEL_ARGS) --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP) $(PIP_WHEEL_ARGS) --requirement $(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE) ; \ else \ - . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_CROSS) $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ + . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_CROSS) $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSSENV_COMPILE) ; \ fi ; \ fi ; \ if [ -s "$(WHEELHOUSE)/$(WHEELS_LIMITED_API)" ]; then \ @@ -98,29 +97,7 @@ build_wheel_target: $(PRE_WHEEL_TARGET) fi ; \ fi -post_wheel_target: $(WHEEL_TARGET) - @if [ -d "$(WHEELHOUSE)" ] ; then \ - mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ - cd $(WHEELHOUSE) ; \ - $(MSG) Copying $(WHEELS_DEFAULT) wheelhouse ; \ - if stat -t requirements*.txt >/dev/null 2>&1; then \ - cat requirements*.txt > $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_DEFAULT) ; \ - fi ; \ - if [ "$(EXCLUDE_PURE_PYTHON_WHEELS)" = "yes" ] ; then \ - echo "Pure python wheels are excluded from the package wheelhouse." ; \ - for w in *.whl; do \ - if echo $${w} | grep -viq "-none-any\.whl" ; then \ - cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl ; \ - fi ; \ - done ; \ - else \ - for w in *.whl; do \ - $(MSG) Copying to wheelhouse: $$(echo $$w | sed -E "s/(.*linux_).*(\.whl)/\1$(PYTHON_ARCH)\2/") ; \ - cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/$$(echo $$w | sed -E "s/(.*linux_).*(\.whl)/\1$(PYTHON_ARCH)\2/") ; \ - done ; \ - fi ; \ - fi - +post_wheel_target: $(WHEEL_TARGET) install_python_wheel ifeq ($(wildcard $(WHEEL_COOKIE)),) wheel: $(WHEEL_COOKIE) From 08b04ab73a539d85ef565a141f09d7e18ad5eaaf Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 24 Nov 2021 02:58:20 +0000 Subject: [PATCH 82/82] Rename requirements-cross.txt to requirements-crossenv.txt --- spk/borgbackup/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/duplicity/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/flexget/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/homeassistant/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/python2/Makefile | 2 +- spk/python2/src/requirements-cross.txt | 36 ------------------ spk/python2/src/requirements.txt | 37 +++++++++++++++++++ spk/python3/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/python310/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/python38/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/sabnzbd/Makefile | 2 +- ...ts-cross.txt => requirements-crossenv.txt} | 0 spk/salt-minion/Makefile | 2 +- spk/salt-minion/src/requirements-cross.txt | 7 ---- spk/salt-minion/src/requirements.txt | 7 ++++ 22 files changed, 54 insertions(+), 53 deletions(-) rename spk/borgbackup/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) rename spk/duplicity/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) rename spk/flexget/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) rename spk/homeassistant/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) delete mode 100644 spk/python2/src/requirements-cross.txt rename spk/python3/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) rename spk/python310/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) rename spk/python38/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) rename spk/sabnzbd/src/{requirements-cross.txt => requirements-crossenv.txt} (100%) delete mode 100644 spk/salt-minion/src/requirements-cross.txt diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index b27afca54f6..90f135d96ca 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -16,7 +16,7 @@ SPK_DEPENDS = "python310" # pip freeze > requirements.txt # deactivate # adjust the first line in requirements.txt to "#borgbackup==1.1.17" -WHEELS = src/requirements-cross.txt src/requirements-pure.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Deduplicating backup program with compression and authenticated encryption. diff --git a/spk/borgbackup/src/requirements-cross.txt b/spk/borgbackup/src/requirements-crossenv.txt similarity index 100% rename from spk/borgbackup/src/requirements-cross.txt rename to spk/borgbackup/src/requirements-crossenv.txt diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index dd19ae8fd04..ebbea81f4d5 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/duplicity.png BUILD_DEPENDS = cross/python310 DEPENDS = cross/duplicity cross/duply -WHEELS = src/requirements-cross.txt src/requirements-pure.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt SPK_DEPENDS = "python310:gnupg>=2.1.6" diff --git a/spk/duplicity/src/requirements-cross.txt b/spk/duplicity/src/requirements-crossenv.txt similarity index 100% rename from spk/duplicity/src/requirements-cross.txt rename to spk/duplicity/src/requirements-crossenv.txt diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index 84d1beec54b..845f0d65327 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -4,7 +4,7 @@ SPK_REV = 11 SPK_ICON = src/${SPK_NAME}.png BUILD_DEPENDS = cross/python310 -WHEELS = src/requirements-cross.txt src/requirements-pure.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt SPK_DEPENDS = "python310" MAINTAINER = manowark diff --git a/spk/flexget/src/requirements-cross.txt b/spk/flexget/src/requirements-crossenv.txt similarity index 100% rename from spk/flexget/src/requirements-cross.txt rename to spk/flexget/src/requirements-crossenv.txt diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 84c21471559..27de262e8ce 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -20,7 +20,7 @@ DEPENDS += cross/asyncstdlib DEPENDS += cross/ujson # Include cross compiled wheels only, the package installer downloads pure python wheels at installation time. -WHEELS = src/requirements-cross.txt +WHEELS = src/requirements-crossenv.txt MAINTAINER = hgy59 DESCRIPTION = "Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control." diff --git a/spk/homeassistant/src/requirements-cross.txt b/spk/homeassistant/src/requirements-crossenv.txt similarity index 100% rename from spk/homeassistant/src/requirements-cross.txt rename to spk/homeassistant/src/requirements-crossenv.txt diff --git a/spk/python2/Makefile b/spk/python2/Makefile index 299d40cde7d..6c08f30759a 100644 --- a/spk/python2/Makefile +++ b/spk/python2/Makefile @@ -16,7 +16,7 @@ DEPENDS += cross/lxml cross/m2crypto cross/msgpack-python cross/pillow_py2 DEPENDS += cross/pyalsa cross/pyaudio cross/pycrypto cross/pycurl DEPENDS += cross/pyyaml cross/pyzmq cross/uwsgi -WHEELS = src/requirements.txt src/requirements-cross.txt +WHEELS = src/requirements.txt MAINTAINER = Safihre diff --git a/spk/python2/src/requirements-cross.txt b/spk/python2/src/requirements-cross.txt deleted file mode 100644 index 98545469f77..00000000000 --- a/spk/python2/src/requirements-cross.txt +++ /dev/null @@ -1,36 +0,0 @@ -## Modules cross-compiled via spksrc.python-wheel.mk -## These modules require patches or have cross dependencies -# Included for reference -#lxml==4.5.0 -#m2crypto==0.25.1 -#msgpack-python==0.5.6 -#pillow==5.3.0 -#pyalsa==1.0.29 -#pyaudio==0.2.9 -#pycrypto==2.6.1 -#pycurl==7.43.0 -#PyYAML==5.4.1 -#pyzmq==16.0.2 -#uwsgi==2.0.14 -#pycparser==2.19 - -## Cross-compiled via spksrc.wheel.mk -markupsafe==1.1.1 -psutil==5.7.0 -pymongo==3.10.1 -sqlalchemy==1.3.17 - -# Cheetah -cheetah==2.4.4 - -# Cryptography/pyOpenSSL/M2Crypto dependencies -# These also depends on cross/cffi and cross/openssl, -# which are installed through cross/bcrypt -#cryptography==2.9.2 now built as buildtime dependency - -# Twisted and dependencies -twisted==20.3.0 -zope.interface==5.1.0 - -# pillow dependencies -olefile==0.46 diff --git a/spk/python2/src/requirements.txt b/spk/python2/src/requirements.txt index b09858257b6..28130e36fb9 100644 --- a/spk/python2/src/requirements.txt +++ b/spk/python2/src/requirements.txt @@ -1,3 +1,40 @@ +## Modules cross-compiled via spksrc.python-wheel.mk +## These modules require patches or have cross dependencies +# Included for reference +#lxml==4.5.0 +#m2crypto==0.25.1 +#msgpack-python==0.5.6 +#pillow==5.3.0 +#pyalsa==1.0.29 +#pyaudio==0.2.9 +#pycrypto==2.6.1 +#pycurl==7.43.0 +#PyYAML==5.4.1 +#pyzmq==16.0.2 +#uwsgi==2.0.14 +#pycparser==2.19 + +## Cross-compiled via spksrc.wheel.mk +markupsafe==1.1.1 +psutil==5.7.0 +pymongo==3.10.1 +sqlalchemy==1.3.17 + +# Cheetah +cheetah==2.4.4 + +# Cryptography/pyOpenSSL/M2Crypto dependencies +# These also depends on cross/cffi and cross/openssl, +# which are installed through cross/bcrypt +#cryptography==2.9.2 now built as buildtime dependency + +# Twisted and dependencies +twisted==20.3.0 +zope.interface==5.1.0 + +# pillow dependencies +olefile==0.46 + # General support six==1.16.0 virtualenv==16.7.10 diff --git a/spk/python3/Makefile b/spk/python3/Makefile index f7db1eb614f..80fab07d5eb 100644 --- a/spk/python3/Makefile +++ b/spk/python3/Makefile @@ -12,7 +12,7 @@ DEPENDS += cross/lxml cross/pycrypto cross/pycurl cross/pyyaml DEPENDS += cross/msgpack-python cross/ruamel.yaml cross/immutables DEPENDS += cross/cryptography -WHEELS = src/requirements-cross.txt src/requirements-pure.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = Allan Clark DESCRIPTION = Python Programming Language. diff --git a/spk/python3/src/requirements-cross.txt b/spk/python3/src/requirements-crossenv.txt similarity index 100% rename from spk/python3/src/requirements-cross.txt rename to spk/python3/src/requirements-crossenv.txt diff --git a/spk/python310/Makefile b/spk/python310/Makefile index a5ff3b892ee..8469040b2bc 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -30,7 +30,7 @@ DEPENDS += cross/pillow DEPENDS += cross/c-ares ENV += PYCARES_USE_SYSTEM_LIB=1 -WHEELS = src/requirements-cross.txt src/requirements-pure.txt src/requirements-abi3.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt src/requirements-abi3.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python310/src/requirements-cross.txt b/spk/python310/src/requirements-crossenv.txt similarity index 100% rename from spk/python310/src/requirements-cross.txt rename to spk/python310/src/requirements-crossenv.txt diff --git a/spk/python38/Makefile b/spk/python38/Makefile index e18fc01eb04..8f869cdabfd 100644 --- a/spk/python38/Makefile +++ b/spk/python38/Makefile @@ -13,7 +13,7 @@ DEPENDS += cross/lxml cross/msgpack-python DEPENDS += cross/pycrypto cross/pycurl DEPENDS += cross/pyyaml cross/ruamel.yaml cross/sqlite -WHEELS = src/requirements-cross.txt src/requirements-pure.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python38/src/requirements-cross.txt b/spk/python38/src/requirements-crossenv.txt similarity index 100% rename from spk/python38/src/requirements-cross.txt rename to spk/python38/src/requirements-crossenv.txt diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index d656341a817..c383af844d1 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -9,7 +9,7 @@ SPK_DEPENDS = "python310" # To generate full requirements.txt, extend SABnzbd's own # requirements.txt with the depedencies of cherrypy and cheroot -WHEELS = src/requirements-cross.txt src/requirements-pure.txt +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = Safihre DESCRIPTION = SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction. diff --git a/spk/sabnzbd/src/requirements-cross.txt b/spk/sabnzbd/src/requirements-crossenv.txt similarity index 100% rename from spk/sabnzbd/src/requirements-cross.txt rename to spk/sabnzbd/src/requirements-crossenv.txt diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index 5f0dff2d8e7..a49cf43ba57 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -14,7 +14,7 @@ UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) # source salt-env/bin/activate # pip install salt # pip freeze > requirements.txt -WHEELS = src/requirements-cross.txt src/requirements.txt +WHEELS = src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. diff --git a/spk/salt-minion/src/requirements-cross.txt b/spk/salt-minion/src/requirements-cross.txt deleted file mode 100644 index 8d60568221b..00000000000 --- a/spk/salt-minion/src/requirements-cross.txt +++ /dev/null @@ -1,7 +0,0 @@ -chardet==3.0.4 -MarkupSafe==1.1.1 -msgpack==1.0.0 -pycryptodomex==3.9.8 -PyYAML==5.3.1 -pyzmq==19.0.2 -salt==3001.1 diff --git a/spk/salt-minion/src/requirements.txt b/spk/salt-minion/src/requirements.txt index fbddc6eca44..3201dd10c9d 100644 --- a/spk/salt-minion/src/requirements.txt +++ b/spk/salt-minion/src/requirements.txt @@ -1,6 +1,13 @@ certifi==2020.6.20 +chardet==3.0.4 distro==1.5.0 idna==2.10 Jinja2==2.11.2 +MarkupSafe==1.1.1 +msgpack==1.0.0 +pycryptodomex==3.9.8 +PyYAML==5.3.1 +pyzmq==19.0.2 requests==2.24.0 +salt==3001.1 urllib3==1.25.10