diff --git a/cross/cryptography_38/Makefile b/cross/cryptography_38/Makefile deleted file mode 100644 index eae7e10b6b6..00000000000 --- a/cross/cryptography_38/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -PKG_NAME = cryptography -PKG_VERS = 38.0.3 -PKG_EXT = tar.gz -PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/c/cryptography -PKG_DIR = $(PKG_NAME)-$(PKG_VERS) - -DEPENDS = cross/openssl3 cross/cffi - -HOMEPAGE = https://github.com/pyca/cryptography -COMMENT = Provide cryptographic recipes and primitives to Python developers. -LICENSE = BSD/ASL2 - -### -### This cross/cryptography_38 is needed to generate python-limited abi3 wheels -### Ref: https://github.com/pyca/cryptography/issues/7671 -### -### And it is required to link to cross/openssl3 since -### cryptography < 40 is statically linked to openssl -### and prebuilt wheels are linked to openssl 1.1 - -WHEELS_BUILD_ARGS = --py-limited-api=$(PYTHON_LIMITED_API) - -include ../../mk/spksrc.python-wheel.mk diff --git a/cross/cryptography_38/PLIST b/cross/cryptography_38/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/cryptography_38/digests b/cross/cryptography_38/digests deleted file mode 100644 index 84bb9ac5ef8..00000000000 --- a/cross/cryptography_38/digests +++ /dev/null @@ -1,3 +0,0 @@ -cryptography-38.0.3.tar.gz SHA1 fa8da1574efb4a44158825a8e8c60e050142e789 -cryptography-38.0.3.tar.gz SHA256 bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd -cryptography-38.0.3.tar.gz MD5 2148f1283f22df0677e204e46bccaf06 diff --git a/cross/dtlssocket/Makefile b/cross/dtlssocket/Makefile index 747ee9d0933..47954fd0617 100644 --- a/cross/dtlssocket/Makefile +++ b/cross/dtlssocket/Makefile @@ -1,14 +1,14 @@ PKG_NAME = DTLSSocket -PKG_VERS = 0.1.12 +PKG_VERS = 0.1.15 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://files.pythonhosted.org/packages/35/42/4e2d2c03e6194d4b82dbd921e18a49e5ef113840f76cc8d0a7e6c5cb810c +PKG_DIST_SITE = https://files.pythonhosted.org/packages/72/dc/8171d3106233efbd28620539594ca705f1aa9e140287823e23cd46ca7c42 PKG_DIR = $(PKG_NAME)-$(PKG_VERS) BUILD_DEPENDS = cross/cython HOMEPAGE = https://git.fslab.de/jkonra2m/tinydtls-cython -COMMENT = DTLSSocket is a Cython wrapper for tinydtls with a Socket like interface +COMMENT = DTLSSocket is a Cython wrapper for tinydtls with a Socket like interface. LICENSE = Eclipse Public License 1.0 PRE_CONFIGURE_TARGET = dtlssocket_pre_configure @@ -16,6 +16,6 @@ PRE_CONFIGURE_TARGET = dtlssocket_pre_configure include ../../mk/spksrc.python-wheel.mk .PHONY: dtlssocket_pre_configure -# configure tinydtls to cross compile dtlssocket_pre_configure: - @$(RUN) sed -i 's%"\./configure", "--without-ecc"%"\./configure", "--without-ecc", "--host=$(TC_TARGET)", "--build=i686-pc-linux"%g' setup.py + @$(MSG) configure tinydtls to cross compile + @$(RUN) sed -i.bak 's%"\./configure"%"\./configure --host=$(TC_TARGET) --build=i686-pc-linux"%g' setup.py diff --git a/cross/dtlssocket/PLIST b/cross/dtlssocket/PLIST index 8b137891791..e69de29bb2d 100644 --- a/cross/dtlssocket/PLIST +++ b/cross/dtlssocket/PLIST @@ -1 +0,0 @@ - diff --git a/cross/dtlssocket/digests b/cross/dtlssocket/digests index 175e040a549..25738f75876 100644 --- a/cross/dtlssocket/digests +++ b/cross/dtlssocket/digests @@ -1,3 +1,3 @@ -DTLSSocket-0.1.12.tar.gz SHA1 8cc20ea9636d33635d61bec4283184b941130829 -DTLSSocket-0.1.12.tar.gz SHA256 909a8f52f1890ec9e92fd46ef609daa8875c2a1c262c0b61200e73c6c2dd5099 -DTLSSocket-0.1.12.tar.gz MD5 82a16a8975ad4edf1ffb792317265d0d +DTLSSocket-0.1.15.tar.gz SHA1 e0f7d4455cac5863d7f67d5b884da56f2ff70f25 +DTLSSocket-0.1.15.tar.gz SHA256 456b1c53126c98b908d863e39e94b5a0954fb09fb16ea3c02a4e10d46ec84aee +DTLSSocket-0.1.15.tar.gz MD5 c5c6fe31e8acd0a6512dd2ec4360896d diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index aa4b89f9eb3..3333669ee76 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,13 +1,14 @@ SPK_NAME = homeassistant -SPK_VERS = 2023.1.7 +SPK_VERS = 2023.7.3 SPK_REV = 21 SPK_ICON = src/homeassistant.png -HACS_VERS = 1.31.0 +HACS_VERS = 1.32.1 -SPK_DEPENDS = "python310>=3.10.12-18" +PYTHON_PACKAGE = python311 +SPK_DEPENDS = "$(PYTHON_PACKAGE)>=3.11.4-7" -BUILD_DEPENDS = cross/python310 +OPTIONAL_DEPENDS = cross/libstdc++ # [numpy] > 1.22.4 UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) @@ -15,7 +16,7 @@ UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) 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." DISPLAY_NAME = Home Assistant Core -CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.

3. Update to openssl v3.1.1.

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time." +CHANGELOG = "1. Update homeassistant to 2023.7.3. and depend on Python 3.11 and OpenSSL 3.1.
2. Update HACS integration to v1.32.1.
3. Add libstdc++ for DSM 6 to fix grpcio dependency.

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time." STARTABLE = yes HOMEPAGE = https://www.home-assistant.io/ @@ -26,7 +27,7 @@ WIZARDS_DIR = src/wizard SERVICE_USER = auto SERVICE_SETUP = src/service-setup.sh SERVICE_PORT = 8123 -SERVICE_PORT_TITLE = $(DISPLAY_NAME) +SERVICE_PORT_TITLE = Home Assistant Core (HTTP) ADMIN_PORT = $(SERVICE_PORT) USE_ALTERNATE_TMPDIR = 1 @@ -36,16 +37,23 @@ POST_STRIP_TARGET = homeassistant_extra_install # Include cross compiled wheels only, the package installer downloads pure python wheels at installation time. WHEELS = src/requirements-abi3.txt src/requirements-crossenv.txt src/requirements-pure.txt -# cross wheels from source -# ------------------------ -# those that do not build in crossenv (yet) +include ../../mk/spksrc.common.mk -# [DTLSSocket] Required for postinst [tradfri] -DEPENDS += cross/dtlssocket +# [grpcio] +# for DSM < 7 with too old libstdc++ +# avoid error: undefined symbol: _ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE +# this is a fix for integrations depending on grpcio (google nest, google generativeai and starlink) +# the fix requires to additionally set the LD_LIBRARY_PATH to homeassistant/target/lib +ifeq ($(call version_lt, ${TCVERSION}, 7.0),1) +DEPENDS += cross/libstdc++ +endif +# [voip_utils] +# for voice over ip integration +DEPENDS += cross/opus # definitions and libraries -# to build wheels of src/requirements-crossenv.txt +# to build wheels of src/requirements-crossenv.txt and src/requirements-abi3.txt # ------------------------ # [gevent] @@ -76,15 +84,11 @@ WHEELS_BUILD_ARGS += --enable-freetype WHEELS_BUILD_ARGS += --enable-jpeg WHEELS_BUILD_ARGS += --enable-zlib -# [bcrypt] +# [bcrypt, cryptography] ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ - -# [cryptography] -DEPENDS += cross/cryptography_38 - -# [uamqp] -DEPENDS += cross/uamqp +# fix for openssl-sys crate (for cryptography >= 40.0.0) +# https://docs.rs/openssl/latest/openssl/#manual # [gevent] DEPENDS += cross/libev cross/c-ares @@ -95,21 +99,30 @@ ENV += GEVENTSETUP_EMBED_LIBEV=FALSE DEPENDS += cross/libxml2 DEPENDS += cross/libxslt +include ../../mk/spksrc.python.mk -include ../../mk/spksrc.spk.mk +# prefer native python tools (pip, maturin, ...) +ENV += PATH=$(realpath $(WORK_DIR)/../../../native/$(PYTHON_PACKAGE)/work-native/install/usr/local/bin):$(PATH) -# prefere native python tools (pip, maturin, ...) -ENV += PATH=$(realpath $(WORK_DIR)/../../../native/python310/work-native/install/usr/local/bin):$(PATH) +# [greenlet] +ifeq ($(call version_lt, ${TC_GCC}, 5.0),1) +WHEELS_CPPFLAGS += [greenlet] -std=c++11 +endif # [numpy] # Fix wheel building with older compilers ifeq ($(call version_lt, $(TC_GCC), 5.0),1) -WHEELS_CPPFLAGS = [numpy] -std=c++0x +WHEELS_CPPFLAGS += [numpy] -std=c++0x # workaround for compiler bug: # https://github.com/numpy/numpy/issues/13622 ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) -WHEELS_CFLAGS = [numpy] -O0 +WHEELS_CFLAGS += [numpy] -O0 +endif endif + +# [protobuf] +ifeq ($(call version_lt, ${TC_GCC}, 5.0),1) +WHEELS_CFLAGS += [protobuf] -std=c99 endif # [pycryptodome] [pycryptodomex] [ciso8601] @@ -123,8 +136,9 @@ WHEELS_CFLAGS += [pycryptodomex] -std=c99 WHEELS_CFLAGS += [ciso8601] -std=c99 endif - # target to download and prepare hacs after changing HACS_VERS above +# usage: +# make get_hacs .PHONY: get_hacs get_hacs: wget https://github.com/hacs/integration/releases/download/$(HACS_VERS)/hacs.zip @@ -140,4 +154,4 @@ homeassistant_extra_install: @install -m 755 -d $(STAGING_DIR)/share $(STAGING_DIR)/var @install -m 644 src/postinst_components_requirements.txt $(STAGING_DIR)/share/ @install -m 644 src/hacs.tar.gz $(STAGING_DIR)/share/ - @install -m 644 src/requirements-custom.txt $(STAGING_DIR)/var/requirements-custom.txt.new + @install -m 644 src/requirements-custom.txt $(STAGING_DIR)/var/requirements-custom.txt diff --git a/spk/homeassistant/src/hacs.tar.gz b/spk/homeassistant/src/hacs.tar.gz index 1092759f901..a79c36ae660 100644 Binary files a/spk/homeassistant/src/hacs.tar.gz and b/spk/homeassistant/src/hacs.tar.gz differ diff --git a/spk/homeassistant/src/postinst_components_requirements.txt b/spk/homeassistant/src/postinst_components_requirements.txt index ad36be5f0f6..a22f986d0f7 100644 --- a/spk/homeassistant/src/postinst_components_requirements.txt +++ b/spk/homeassistant/src/postinst_components_requirements.txt @@ -5,142 +5,80 @@ # for HACS aiogithubapi==22.10.1 -abodepy==1.2.0 -accuweather==0.4.0 +accuweather==1.0.0 adax==0.2.0 adext==0.4.2 adguardhome==0.6.1 -advantage_air==0.4.1 -AEMET_OpenData==0.2.1 -aenum==3.1.11 +advantage_air==0.4.4 +AEMET_OpenData==0.2.2 agent_py==0.0.23 -aioambient==2021.11.0 +aioambient==2023.4.0 aioasuswrt==1.4.0 aioazuredevops==1.3.5 -aiocoap==0.4.3 -aiofiles==22.1.0 -aiohue==4.5.0 -aiosqlite==0.18.0 +aiocoap==0.4.7 +aiohue==4.6.2 airly==1.1.0 -alarmdecoder==1.13.11 -ambiclimate==0.2.1 -arcam_fmj==1.0.1 -arrow==1.2.3 -asyncio_dgram==2.1.2 -asyncio_throttle==1.0.2 -asyncssh==2.13.0 -Authlib==1.2.0 -axis==44 -backoff==2.2.1 +Ambiclimate==0.2.1 +arcam_fmj==1.4.0 +axis==48 beautifulsoup4==4.11.1 -bellows==0.34.6 -bimmer_connected==0.12.0 -bitstring==4.0.1 -blebox_uniapi==2.1.3 -blinkpy==0.19.2 -boschshcpy==0.2.35 +bellows==0.35.8 +bimmer_connected==0.13.8 +blebox_uniapi==2.1.4 +blinkpy==0.21.0 +boschshcpy==0.2.57 broadlink==0.18.3 -brother==2.1.1 +brother==2.3.0 buienradar==1.0.5 -casttube==0.2.1 CO2Signal==0.4.2 -commentjson==0.9.0 -convertdate==2.4.0 -crccheck==1.3.0 -crcmod==1.7 croniter==1.0.6 -cssselect==1.2.0 -dacite==1.7.0 -dataclasses_json==0.5.3 -dateparser==1.1.6 -deepmerge==1.1.0 -denonavr==0.10.12 -dicttoxml==1.7.16 +denonavr==0.11.2 fjaraskupan==2.2.0 -fritzconnection==1.10.3 -future==0.18.3 -geographiclib==2.0 -geojson==2.5.0 +fritzconnection==1.12.0 +gassist_text==0.0.10 geopy==2.3.0 getmac==0.8.2 -google_api_core==2.11.0 -google_auth==2.16.0 -greeclimate==1.3.0 -haversine==2.7.0 -ha_ffmpeg==3.0.2 -hijri_converter==2.2.4 -httpsig==1.3.0 -inflection==0.5.1 -intelhex==2.3.0 -isodate==0.6.1 -jsonpickle==3.0.1 -jsonrpc_async==2.1.1 -jsonrpc_base==2.1.1 -jsonrpc_websocket==3.1.4 -keyring==23.13.1 -korean_lunar_calendar==0.3.1 -loguru==0.6.0 -lomond==0.3.3 -marshmallow==3.19.0 -marshmallow_dataclass==8.5.11 -marshmallow_enum==1.5.1 -metar==1.9.0 -ms_cv==0.1.1 -mypy_extensions==0.4.3 -oauthlib==3.2.2 -packaging==21.3 -pkce==1.0.3 -platformdirs==2.6.2 -plumbum==1.8.1 -# psutil_home_assistant==0.0.1 => pure -ptyprocess==0.7.0 -pubnub==7.1.0 +google_generativeai==0.1.0 +google_nest_sdm==2.2.5 +greeclimate==1.4.1 +# grpcio is not a pure python package, but is available on pypi for all supported archs (except qoriq) +# grpcio==1.51.1 is not available for python311 for supported archs, but 1.56.x is +# but packages depending on grpcio==1.51.1 do not work with 1.56.x: +# Error occurred loading flow for integration nest: /volume1/@appstore/homeassistant/env/lib/python3.11/site-packages/grpc/_cython/cygrpc.cpython-311-aarch64-linux-gnu.so: undefined symbol: _ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE +# this is an issue with aarch64 and too old libstdc++ (https://github.com/grpc/grpc/issues/33734) +grpcio>=1.51.1 +ha_ffmpeg==3.1.0 pyairvisual==2022.12.1 -pyalmond==0.0.2 pyatag==0.3.5.3 -pyatv==0.10.3 -pyclimacell==0.18.2 -pydaikin==2.8.0 -pydantic==1.10.2 -pyfritzhome==0.6.7 +pydaikin==2.10.5 +pyfritzhome==0.6.8 pyialarm==2.2.0 pyicloud==1.0.0 -pyipp==0.12.1 -pyMetno==0.9.0 -pyoctoprintapi==0.1.9 +pyipp==0.14.0 +PyMetno==0.10.0 +pyoctoprintapi==0.1.11 pyownet==0.10.0.post1 -pyquery==2.0.0 pyserial_asyncio==0.6 -pysiaalarm==3.0.2 -pysmb==1.2.9.1 -pysnmplib==5.0.20 -# pysocketio==0.9.6a4 => requires gevent==0.13.7 (this is python2 only) -# python-awair==0.2.1 => python-awair 0.2.1 requires voluptuous<0.13.0,>=0.11.7, but homeassistant==2023.1.7 requires voluptuous==0.13.1 -python_engineio==3.14.2 +pysiaalarm==3.1.1 +pysnmplib==5.0.21 +python_awair==0.2.4 python_izone==1.2.9 -python_socketio==4.6.1 -python_songpal==0.15.1 -pytradfri==9.0.0 -pyusb==1.2.1 -pywemo==0.9.1 +python_nest==4.2.0 +python_songpal==0.15.2 +pytradfri==9.0.1 +pywemo==1.1.0 py_canary==0.5.3 -py_synologydsm_api==1.0.8 +py_synologydsm_api==2.1.4 radios==0.1.1 -requests_file==1.5.1 -requests_oauthlib==1.3.1 -semver==2.13.0 -srptools==1.0.1 +starlink_grpc_core==1.1.1 synology_srm==0.2.0 -tenacity==8.1.0 -typing_inspect==0.8.0 -tzlocal==4.2 +voip_utils==0.1.0 WSDiscovery==2.0.0 xmltodict==0.13.0 -yalexs==1.2.6 -zeep==4.2.1 -zha_quirks==0.0.90 -zigpy==0.53.0 -zigpy_deconz==0.19.2 -zigpy_xbee==0.16.2 -zigpy_zigate==0.10.3 -zigpy_znp==0.9.2 +yalexs==1.5.1 +zha_quirks==0.0.101 +zigpy==0.56.2 +zigpy_deconz==0.21.0 +zigpy_xbee==0.18.1 +zigpy_zigate==0.11.0 +zigpy_znp==0.11.3 diff --git a/spk/homeassistant/src/requirements-abi3.txt b/spk/homeassistant/src/requirements-abi3.txt index 22681de36a8..875f99ff3b8 100644 --- a/spk/homeassistant/src/requirements-abi3.txt +++ b/spk/homeassistant/src/requirements-abi3.txt @@ -1,2 +1,2 @@ -pycryptodome==3.16.0 -pycryptodomex==3.15.0 +pycryptodome==3.18.0 +pycryptodomex==3.18.0 diff --git a/spk/homeassistant/src/requirements-crossenv.txt b/spk/homeassistant/src/requirements-crossenv.txt index c62158e7497..2e96306eb89 100644 --- a/spk/homeassistant/src/requirements-crossenv.txt +++ b/spk/homeassistant/src/requirements-crossenv.txt @@ -1,70 +1,60 @@ -# Home Assistant core -# requirements are taken from homeassistant dependency files -# - pyproject.toml -# - requirements.txt (including homeassistant/package_constraints.txt) -# - requirements_all.txt -# those requirements are splitted into multiple files -# - requirements-crossenv.txt (containing requirements that need cross compilation, this file) -# - requirements-pure.txt (containing pure-python requirements for homeassistant core and default_configuration) -# - postinst_integration_requirements.txt (requirements for integrations) -# postinst requirements must be pure python wheels. -# To minimize the package size the spk does not contain dependent wheels that are pure python. - -# homeassistant==2023.1.7 ==> pure - -aiohttp==3.8.1 -bcrypt==3.1.7 -bitarray==2.6.0 +aiohttp==3.8.5 +bcrypt==4.0.1 +bitstruct==8.17.0 +bluetooth_data_tools==1.3.0 Brotli==1.0.9 -caio==0.9.11 -cbor2==5.4.3 -cchardet==2.1.7 +cbor2==5.4.6 cffi==1.15.1 +chacha20poly1305_reuseable==0.4.1 ciso8601==2.3.0 -# contourpy==1.0.7 => fails to build: ModuleNotFoundError: No module named 'pybind11' -coverage==7.0.5 -crc16==0.1.1 -# cryptography==38.0.3 => cross/cryptography_38 -Cython==0.29.33 -dbus_fast==1.82.0 -debugpy==1.6.4 -# DTLSSocket==0.1.12 => cross/dtlssocket +coverage==7.2.7 +crcmod==1.7 +cryptography==41.0.1 +dbus_fast==1.86.0 ephem==4.1.2 -frozenlist==1.3.1 -greenlet==1.1.1 -# grpcio==1.51.1 => fails to build -guppy3==3.1.2 -# ha_av==10.0.0 => fails to build: libavformat was not found (probably depends on libav of ffmpeg) -home_assistant_bluetooth==1.9.2 -# kiwisolver==1.4.4 => ModuleNotFoundError: No module named 'cppy' -lru_dict==1.1.8 +faust_cchardet==2.1.18 +fnv_hash_fast==0.3.1 +frozenlist==1.4.0 +greenlet==2.0.2 +# grpcio==1.51.1 # fails to build, but grpcio==1.56.x successfully installs as dependency +guppy3==3.1.3 +#ha_av==10.1.0 # fails to build, depends on libav from ffmpeg, but successfully installs as dependency +home_assistant_bluetooth==1.10.0 +kasa_crypt==0.3.0 +lru_dict==1.2.0 lxml==4.9.1 -MarkupSafe==2.1.1 -# matplotlib==3.6.3 => ModuleNotFoundError: No module named 'numpy.core._multiarray_umath' -miniaudio==1.53 -msgpack==1.0.4 -multidict==6.0.2 +MarkupSafe==2.1.3 +miniaudio==1.59 +msgpack==1.0.5 +multidict==6.0.4 netifaces==0.11.0 numpy==1.23.2 -orjson==3.8.1 -# pandas==1.5.3 => ModuleNotFoundError: No module named 'numpy' -Pillow==9.3.0 -protobuf==4.21.12 -psutil==5.9.4 -pycares==4.2.2 -# pycryptodome==3.16.0 => abi3 -# pycryptodomex==3.15.0 => abi3 -pydantic==1.10.4 +orjson==3.9.1 +# pandas==2.0.3 # depends on installed numpy wheel ?... +Pillow==9.5.0 +protobuf==4.23.1 +psutil==5.9.5 +pycares==4.3.0 +pycrc16==0.1.2 +#pycryptodome==3.18.0 => abi3 +#pycryptodomex==3.18.0 => abi3 +pydantic==1.10.12 +pyitachip2ir==0.0.7 PyNaCl==1.5.0 -pyrsistent==0.19.2 -PyYAML==6.0 +PyYAML==6.0.1 regex==2021.8.28 -simplejson==3.18.0 -SQLAlchemy==1.4.44 -tornado==6.2 -# uamqp==1.6.0 => cross/uamqp -websockets==10.4 -wrapt==1.14.1 -yarl==1.8.1 -zeroconf==0.47.1 -zope.interface==5.5.2 +rpds_py==0.9.2 +simplejson==3.19.1 +SQLAlchemy==2.0.15 +tornado==6.3.2 +ulid_transform==0.7.2 + +# [webrtcvad] +# webrtcvad==2.0.10 # requires unreleased version at specific commit for qoriq arch +git+https://github.com/wiseman/py-webrtcvad@3bd761332a9404f5c9276105070ee814c4428342#egg=webrtcvad==2.0.10 + +websockets==11.0.3 +wrapt==1.15.0 +yarl==1.9.2 +zeroconf==0.70.0 +zope.interface==6.0 diff --git a/spk/homeassistant/src/requirements-pure.txt b/spk/homeassistant/src/requirements-pure.txt index 80275c8282b..e1fbf306275 100644 --- a/spk/homeassistant/src/requirements-pure.txt +++ b/spk/homeassistant/src/requirements-pure.txt @@ -1,83 +1,68 @@ -# Home Assistant core -# requirements are taken from homeassistant dependency files -# - pyproject.toml -# - requirements.txt (including homeassistant/package_constraints.txt) -# - requirements_all.txt -# those requirements are splitted into multiple files -# - requirements-crossenv.txt (containing requirements that need cross compilation) -# - requirements-pure.txt (containing pure-python requirements for homeassistant core and default_configuration, this file) -# - postinst_integration_requirements.txt (requirements for integrations) -# postinst requirements must be pure python wheels. -# To minimize the package size the spk does not contain dependent wheels that are pure python. - -homeassistant==2023.1.7 -home-assistant-frontend==20230110.0 -hass-nabucasa==0.61.0 - +homeassistant==2023.7.3 +home_assistant_frontend==20230705.1 +home_assistant_intents==2023.6.28 +hass_nabucasa==0.69.0 acme==1.31.0 -aiodiscover==1.4.13 +aiodiscover==1.4.16 aiohttp_cors==0.7.0 aiosignal==1.3.1 -anyio==3.6.2 +anyio==3.7.0 astral==2.2 -async_upnp_client==0.33.0 +async_upnp_client==0.33.2 atomicwrites_homeassistant==1.4.1 -attrs==22.1.0 +attrs==22.2.0 awesomeversion==22.9.0 -bleak_retry_connector==2.13.0 -bluetooth_adapters==0.15.2 -bluetooth_auto_recovery==1.0.3 +bleak_retry_connector==3.0.2 +bluetooth_adapters==0.15.3 +bluetooth_auto_recovery==1.2.0 boto3==1.20.24 botocore==1.23.24 btsocket==0.2.0 -charset_normalizer==2.1.1 +charset_normalizer==3.2.0 defusedxml==0.7.1 -dnspython==2.3.0 +dnspython==2.4.1 ecdsa==0.18.0 envs==1.4 fnvhash==0.1.0 gTTS==2.2.4 h11==0.14.0 -httpcore==0.16.3 -httpx==0.23.2 +httpcore==0.17.2 +httpx==0.24.1 idna==3.4 -ifaddr==0.1.7 +ifaddr==0.2.0 Jinja2==3.1.2 jmespath==0.10.0 josepy==1.13.0 mac_vendor_lookup==0.1.12 -mediafile==0.11.0 mutagen==1.46.0 psutil_home_assistant==0.0.1 pyasn1==0.4.8 -pycognito==2022.8.0 +pycognito==2022.12.0 pycparser==2.21 -PyJWT==2.5.0 -pyOpenSSL==23.0.0 +PyJWT==2.7.0 +pyOpenSSL==23.2.0 pyRFC3339==1.1 PyRIC==0.1.6.3 -pyroute2==0.7.4 +pyroute2==0.7.5 pyserial==3.5 python_dateutil==2.8.2 python_didl_lite==1.3.2 python_jose==3.3.0 python_slugify==4.0.1 -pytz==2022.7.1 +pytz==2023.3 pyudev==0.23.2 -requests==2.28.1 -requests_toolbelt==0.10.1 -rfc3986==1.5.0 +requests==2.31.0 +requests_toolbelt==1.0.0 rsa==4.9 s3transfer==0.5.2 -scapy==2.4.5 -securetar==2022.2.0 -six==1.16.0 +scapy==2.5.0 +securetar==2023.3.0 sniffio==1.3.0 -snitun==0.31.0 +snitun==0.35.0 text_unidecode==1.3 -typing_extensions==4.4.0 -urllib3==1.26.14 +typing_extensions==4.7.1 +urllib3==1.26.16 usb_devices==0.4.1 voluptuous==0.13.1 -voluptuous_serialize==2.5.0 +voluptuous_serialize==2.6.0 diff --git a/spk/homeassistant/src/service-setup.sh b/spk/homeassistant/src/service-setup.sh index 0d73ab708fa..fa3c191f9b7 100644 --- a/spk/homeassistant/src/service-setup.sh +++ b/spk/homeassistant/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" CONFIG_DIR="${SYNOPKG_PKGVAR}/config" @@ -8,24 +8,25 @@ SVC_WRITE_PID=y SVC_BACKGROUND=y SVC_CWD="${SYNOPKG_PKGVAR}" HOME="${SYNOPKG_PKGVAR}" - +# workaround for python modules depending on newer libstdc++ (i.e. grpcio>=1.56.x) +export LD_LIBRARY_PATH=${SYNOPKG_PKGDEST}/lib # save and restore the pip-cache on package update # ------------------------------------------------ # Avoid the use of ${SYNOPKG_PKGVAR} folder for the pip cache. # Under DSM<7 this folder's ownership will be changed to sc-homeassistant, -# but the installer runs under root and the cache must be owned by root. +# but the installer runs under root and the cache must be owned by the same user. PIP_CACHE_BACKUP_DIR=${TMP_DIR}/pip-cache PIP_CACHE_DIR=${SYNOPKG_PKGDEST}/pip-cache export PIP_DOWNLOAD_CACHE=${PIP_CACHE_DIR} # avoid installation to user specific site-packages folder -export PYTHONNOUSERSIZE=1 +export PYTHONNOUSERSITE=1 service_save () { if [ -d "${PIP_CACHE_DIR}" ]; then echo "Save pip cache to ${PIP_CACHE_BACKUP_DIR}" - $MKDIR ${TMP_DIR}/pip-cache + $MKDIR ${PIP_CACHE_BACKUP_DIR} $CP ${PIP_CACHE_DIR}/. ${PIP_CACHE_BACKUP_DIR} fi } @@ -50,17 +51,13 @@ service_postinst () echo "Install Python virtual environment" install_python_virtualenv - echo ${separator} - echo "Downgrade pip for homeassistant compatibility" - pip install --disable-pip-version-check pip==22.2.2 - echo ${separator} echo "Install HACS into: ${CONFIG_DIR}/custom_components/hacs" mkdir -p "${CONFIG_DIR}/custom_components/hacs" tar -xzf ${SYNOPKG_PKGDEST}/share/hacs.tar.gz -C ${CONFIG_DIR}/custom_components/hacs echo ${separator} - echo "Install packages from wheels" + echo "Install packages from wheelhouse" pip install --disable-pip-version-check --no-deps --no-input --no-index ${SYNOPKG_PKGDEST}/share/wheelhouse/*.whl echo ${separator} @@ -74,8 +71,8 @@ service_postinst () if [ "${SYNOPKG_PKG_STATUS}" == "UPGRADE" ]; then if [ "$SYNOPKG_DSM_VERSION_MAJOR" -lt 7 ]; then - # restore custom requirements file if [ -f ${TMP_DIR}/requirements-custom.txt ]; then + echo "Restore custom requirements file" $CP ${TMP_DIR}/requirements-custom.txt ${SYNOPKG_PKGVAR}/requirements-custom.txt fi fi @@ -84,8 +81,6 @@ service_postinst () echo "Install custom packages from index" pip install --disable-pip-version-check --no-input --cache-dir ${PIP_CACHE_DIR} --requirement ${SYNOPKG_PKGVAR}/requirements-custom.txt fi - else - $MV ${SYNOPKG_PKGVAR}/requirements-custom.txt.new ${SYNOPKG_PKGVAR}/requirements-custom.txt fi if [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 7 ]; then