# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{9..10} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 readme.gentoo-r1 systemd MY_PN=homeassistant if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/home-assistant/core.git" EGIT_BRANCH="dev" S="${WORKDIR}/core/" else MY_PV=${PV/_beta/b} MY_P=${MY_PN}-${MY_PV} SRC_URI="https://github.com/home-assistant/core/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" S="${WORKDIR}/core-${MY_PV}" fi DESCRIPTION="Open-source home automation platform running on Python." HOMEPAGE="https://home-assistant.io/ https://git.edevau.net/onkelbeh/HomeAssistantRepository/" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 arm arm64 x86" IUSE="accuweather airly airvisual alpha_vantage androidtv android_ip_webcam axis bluetooth_le_tracker +caldav camera cast cli co2signal compensation coronavirus darksky dlna_dmr dlna_dms +dwd_weather_warnings enigma2 esphome ffmpeg forecast_solar fronius +frontend github +homekit homekit_controller http hyperion influxdb knx kodi kraken maxcube mikrotik +mobile_app +mqtt myq mysensors +mysql +notify_events octoprint onvif +otp owntracks +ping +plex ps4 +python_script qnap qvr_pro radio_browser +recorder +rest ring samsungtv +scrape season shelly signal_messenger +snmp socat sonos speedtestdotnet +spotify +sql +ssl systemd systemmonitor tankerkoenig tasmota test tile tomorrowio tplink upnp utility_meter +version +wake_on_lan wemo whois workday yamaha yamaha_musiccast zeroconf zha +zwave_js" RESTRICT="!test? ( test )" # external deps RDEPEND="${PYTHON_DEPS} acct-group/${MY_PN} acct-user/${MY_PN} || ( dev-lang/python:3.8 dev-lang/python:3.9 dev-lang/python:3.10 ) app-admin/logrotate dev-db/sqlite dev-libs/libfastjson >=dev-libs/xerces-c-3.1.4-r1" # make sure no conflicting main Ebuild is installed RDEPEND="${RDEPEND} !app-misc/homeassistant !app-misc/homeassistant-full" # Home Assistant Core dependencies # from package_constraints.txt RDEPEND="${RDEPEND} ~dev-python/aiodiscover-1.4.11[${PYTHON_USEDEP}] ~dev-python/aiohttp-3.8.1[${PYTHON_USEDEP}] ~dev-python/aiohttp-cors-0.7.0[${PYTHON_USEDEP}] ~dev-python/anyio-3.5.0[${PYTHON_USEDEP}] ~dev-python/astral-2.2[${PYTHON_USEDEP}] ~dev-python/async-upnp-client-0.29.0[${PYTHON_USEDEP}] ~dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}] ~dev-python/atomicwrites-1.4.0[${PYTHON_USEDEP}] ~dev-python/attrs-21.2.0[${PYTHON_USEDEP}] =dev-python/btlewrap-0.0.10[${PYTHON_USEDEP}] >=dev-python/certifi-2021.5.30[${PYTHON_USEDEP}] ~dev-python/ciso8601-2.2.0[${PYTHON_USEDEP}] ~dev-python/cryptography-36.0.2[${PYTHON_USEDEP}] ~dev-python/fnvhash-0.1.0[${PYTHON_USEDEP}] ~dev-python/grpcio-status-1.45.0[${PYTHON_USEDEP}] ~dev-python/grpcio-1.45.0[${PYTHON_USEDEP}] ~dev-python/h11-0.12.0[${PYTHON_USEDEP}] ~dev-python/hass-nabucasa-0.54.0[${PYTHON_USEDEP}] ~dev-python/home-assistant-frontend-20220504.1[${PYTHON_USEDEP}] ~dev-python/httpcore-0.14.7[${PYTHON_USEDEP}] >=dev-python/httplib2-0.19.0[${PYTHON_USEDEP}] ~dev-python/httpx-0.22.0[${PYTHON_USEDEP}] >=dev-python/hyperframe-5.2.0[${PYTHON_USEDEP}] ~dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] ~dev-python/jinja-3.1.1[${PYTHON_USEDEP}] ~dev-python/libcst-0.3.23[${PYTHON_USEDEP}] ~dev-python/lru-dict-1.1.7[${PYTHON_USEDEP}] >=dev-python/multidict-6.0.2[${PYTHON_USEDEP}] ~dev-python/paho-mqtt-1.6.1[${PYTHON_USEDEP}] ~dev-python/pillow-9.1.0[${PYTHON_USEDEP}] =dev-python/pycryptodome-3.6.6[${PYTHON_USEDEP}] ~dev-python/pyjwt-2.3.0[${PYTHON_USEDEP}] ~dev-python/pynacl-1.5.0[${PYTHON_USEDEP}] ~dev-python/pyserial-3.5[${PYTHON_USEDEP}] >=dev-python/python-engineio-3.13.1[${PYTHON_USEDEP}] =dev-python/python-socketio-4.6.0[${PYTHON_USEDEP}] =dev-python/typing-extensions-3.10.0.2[${PYTHON_USEDEP}] =dev-python/urllib3-1.26.5[${PYTHON_USEDEP}] ~dev-python/voluptuous-serialize-2.5.0[${PYTHON_USEDEP}] ~dev-python/voluptuous-0.13.1[${PYTHON_USEDEP}] ~dev-python/yarl-1.7.2[${PYTHON_USEDEP}] ~dev-python/zeroconf-0.38.5[${PYTHON_USEDEP}]" # unknown origin, still something to clean up here # some moved to suggested USE Flags # # auth/mfa_modules/totp.py:REQUIREMENTS = ["pyotp==2.6.0", "PyQRCode==1.2.1"] # scripts/check_config.py:REQUIREMENTS = ("colorlog==6.6.0",) RDEPEND="${RDEPEND} ~dev-python/colorlog-6.6.0[${PYTHON_USEDEP}] >=dev-python/multidict-5.2.0[${PYTHON_USEDEP}] ~dev-python/pyotp-2.6.0[${PYTHON_USEDEP}] >=dev-python/pyqrcode-1.2.1[${PYTHON_USEDEP}] dev-python/pycparser[${PYTHON_USEDEP}] >=dev-python/websocket-client-0.57.0[${PYTHON_USEDEP}] ~media-libs/mutagen-1.45.1" # Module requirements from useflags RDEPEND="${RDEPEND} accuweather? ( ~dev-python/accuweather-0.3.0[${PYTHON_USEDEP}] ) airly? ( ~dev-python/airly-1.1.0[${PYTHON_USEDEP}] ) airvisual? ( ~dev-python/pyairvisual-5.0.9[${PYTHON_USEDEP}] ) alpha_vantage? ( ~dev-python/alpha-vantage-2.3.1[${PYTHON_USEDEP}] ) androidtv? ( ~dev-python/adb-shell-0.4.2[${PYTHON_USEDEP}] ~dev-python/androidtv-0.0.67[${PYTHON_USEDEP}] ~dev-python/pure-python-adb-0.3.0[${PYTHON_USEDEP}] ) android_ip_webcam? ( ~dev-python/pydroid-ipcam-1.3.1[${PYTHON_USEDEP}] ) axis? ( ~dev-python/axis-44[${PYTHON_USEDEP}] ) bluetooth_le_tracker? ( ~dev-python/pygatt-4.0.5[${PYTHON_USEDEP}] ) caldav? ( ~dev-python/caldav-0.8.2[${PYTHON_USEDEP}] ) camera? ( ~dev-python/PyTurboJPEG-1.6.6[${PYTHON_USEDEP}] ) cast? ( ~dev-python/pychromecast-12.1.2[${PYTHON_USEDEP}] ) cli? ( app-misc/home-assistant-cli ) co2signal? ( ~dev-python/CO2Signal-0.4.2[${PYTHON_USEDEP}] ) compensation? ( ~dev-python/numpy-1.21.6[${PYTHON_USEDEP}] ) coronavirus? ( ~dev-python/coronavirus-1.1.1[${PYTHON_USEDEP}] ) darksky? ( ~dev-python/python-forecastio-1.4.0[${PYTHON_USEDEP}] ) dlna_dmr? ( ~dev-python/async-upnp-client-0.29.0[${PYTHON_USEDEP}] ) dlna_dms? ( ~dev-python/async-upnp-client-0.29.0[${PYTHON_USEDEP}] ) dwd_weather_warnings? ( ~dev-python/dwdwfsapi-1.0.5[${PYTHON_USEDEP}] ) enigma2? ( ~dev-python/openwebifpy-3.2.7[${PYTHON_USEDEP}] ) esphome? ( ~dev-python/aioesphomeapi-10.8.2[${PYTHON_USEDEP}] ) ffmpeg? ( ~dev-python/ha-ffmpeg-3.0.2[${PYTHON_USEDEP}] ) forecast_solar? ( ~dev-python/forecast-solar-2.2.0[${PYTHON_USEDEP}] ) fronius? ( ~dev-python/PyFronius-0.7.1[${PYTHON_USEDEP}] ) frontend? ( ~dev-python/home-assistant-frontend-20220504.1[${PYTHON_USEDEP}] ) github? ( ~dev-python/aiogithubapi-22.2.4[${PYTHON_USEDEP}] ) homekit? ( ~dev-python/HAP-python-4.4.0[${PYTHON_USEDEP}] ~dev-python/fnvhash-0.1.0[${PYTHON_USEDEP}] ~dev-python/pyqrcode-1.2.1[${PYTHON_USEDEP}] ~dev-python/base36-0.1.1[${PYTHON_USEDEP}] ) homekit_controller? ( ~dev-python/aiohomekit-0.7.17[${PYTHON_USEDEP}] ) http? ( ~dev-python/aiohttp-cors-0.7.0[${PYTHON_USEDEP}] ) hyperion? ( ~dev-python/hyperion-py-0.7.5[${PYTHON_USEDEP}] ) influxdb? ( ~dev-python/influxdb-5.3.1[${PYTHON_USEDEP}] ~dev-python/influxdb-client-1.24.0[${PYTHON_USEDEP}] ) knx? ( ~dev-python/xknx-0.21.2[${PYTHON_USEDEP}] ) kodi? ( ~dev-python/pykodi-0.2.7[${PYTHON_USEDEP}] ) kraken? ( ~dev-python/krakenex-2.1.0[${PYTHON_USEDEP}] ~dev-python/pykrakenapi-0.1.8[${PYTHON_USEDEP}] ) maxcube? ( ~dev-python/maxcube-api-0.4.3[${PYTHON_USEDEP}] ) mikrotik? ( ~dev-python/librouteros-3.2.0[${PYTHON_USEDEP}] ) mobile_app? ( ~dev-python/pynacl-1.5.0[${PYTHON_USEDEP}] ) mqtt? ( ~dev-python/paho-mqtt-1.6.1[${PYTHON_USEDEP}] ) myq? ( ~dev-python/pymyq-3.1.4[${PYTHON_USEDEP}] ) mysensors? ( ~dev-python/pymysensors-0.22.1[${PYTHON_USEDEP}] ) mysql? ( dev-python/mysql-connector-python[${PYTHON_USEDEP}] dev-python/mysqlclient[${PYTHON_USEDEP}] ) notify_events? ( ~dev-python/notify-events-1.0.4[${PYTHON_USEDEP}] ) octoprint? ( ~dev-python/pyoctoprintapi-0.1.8[${PYTHON_USEDEP}] ) onvif? ( ~dev-python/onvif-zeep-async-1.2.0[${PYTHON_USEDEP}] ~dev-python/WSDiscovery-2.0.0[${PYTHON_USEDEP}] ) otp? ( ~dev-python/pyotp-2.6.0[${PYTHON_USEDEP}] ) owntracks? ( ~dev-python/pynacl-1.5.0[${PYTHON_USEDEP}] ) ping? ( ~dev-python/icmplib-3.0[${PYTHON_USEDEP}] ) plex? ( ~dev-python/PlexAPI-4.10.1[${PYTHON_USEDEP}] ~dev-python/plexauth-0.0.6[${PYTHON_USEDEP}] ~dev-python/plexwebsocket-0.0.13[${PYTHON_USEDEP}] ) ps4? ( ~dev-python/pyps4-2ndscreen-1.3.1[${PYTHON_USEDEP}] ) python_script? ( ~dev-python/RestrictedPython-5.2[${PYTHON_USEDEP}] ) qnap? ( ~dev-python/qnapstats-0.4.0[${PYTHON_USEDEP}] ) qvr_pro? ( ~dev-python/pyqvrpro-0.52[${PYTHON_USEDEP}] ) radio_browser? ( ~dev-python/radios-0.1.1[${PYTHON_USEDEP}] ) recorder? ( ~dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}] ~dev-python/fnvhash-0.1.0[${PYTHON_USEDEP}] ~dev-python/lru-dict-1.1.7[${PYTHON_USEDEP}] ) rest? ( ~dev-python/jsonpath-0.82[${PYTHON_USEDEP}] ~dev-python/xmltodict-0.12.0[${PYTHON_USEDEP}] ) ring? ( ~dev-python/ring-doorbell-0.7.2[${PYTHON_USEDEP}] ) samsungtv? ( ~dev-python/getmac-0.8.2[${PYTHON_USEDEP}] ~dev-python/samsungctl-0.7.1[${PYTHON_USEDEP}] ~dev-python/samsungtvws-2.5.0[${PYTHON_USEDEP}] ~dev-python/wakeonlan-2.0.1[${PYTHON_USEDEP}] ~dev-python/async-upnp-client-0.29.0[${PYTHON_USEDEP}] ) scrape? ( ~dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}] ) season? ( ~dev-python/ephem-4.1.2[${PYTHON_USEDEP}] ) shelly? ( ~dev-python/aioshelly-2.0.0[${PYTHON_USEDEP}] ) signal_messenger? ( ~dev-python/pysignalclirestapi-0.3.18[${PYTHON_USEDEP}] ) snmp? ( ~dev-python/pysnmp-4.4.12[${PYTHON_USEDEP}] ) socat? ( net-misc/socat ) sonos? ( ~dev-python/soco-0.27.1[${PYTHON_USEDEP}] ) speedtestdotnet? ( ~net-analyzer/speedtest-cli-2.1.3[${PYTHON_USEDEP}] ) spotify? ( ~dev-python/spotipy-2.19.0[${PYTHON_USEDEP}] ) sql? ( ~dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}] ) ssl? ( dev-libs/openssl app-crypt/certbot net-proxy/haproxy ) systemmonitor? ( ~dev-python/psutil-5.9.0[${PYTHON_USEDEP}] ) tankerkoenig? ( ~dev-python/pytankerkoenig-0.0.6[${PYTHON_USEDEP}] ) tasmota? ( ~dev-python/HATasmota-0.4.1[${PYTHON_USEDEP}] ) tile? ( ~dev-python/pytile-2022.2.0[${PYTHON_USEDEP}] ) tomorrowio? ( ~dev-python/pytomorrowio-0.3.3[${PYTHON_USEDEP}] ) tplink? ( ~dev-python/python-kasa-0.5.0[${PYTHON_USEDEP}] ) upnp? ( ~dev-python/async-upnp-client-0.29.0[${PYTHON_USEDEP}] ~dev-python/getmac-0.8.2[${PYTHON_USEDEP}] ) utility_meter? ( ~dev-python/croniter-1.0.6[${PYTHON_USEDEP}] ) version? ( ~dev-python/pyhaversion-22.4.1[${PYTHON_USEDEP}] ) wake_on_lan? ( ~dev-python/wakeonlan-2.0.1[${PYTHON_USEDEP}] ) wemo? ( ~dev-python/pywemo-0.7.0[${PYTHON_USEDEP}] ) whois? ( ~dev-python/whois-0.9.13[${PYTHON_USEDEP}] ) workday? ( ~dev-python/holidays-0.13[${PYTHON_USEDEP}] ) yamaha? ( ~dev-python/rxv-0.7.0[${PYTHON_USEDEP}] ) yamaha_musiccast? ( ~dev-python/aiomusiccast-0.14.3[${PYTHON_USEDEP}] ) zeroconf? ( ~dev-python/zeroconf-0.38.5[${PYTHON_USEDEP}] ) zha? ( ~dev-python/bellows-0.29.0[${PYTHON_USEDEP}] ~dev-python/pyserial-3.5[${PYTHON_USEDEP}] ~dev-python/pyserial-asyncio-0.6[${PYTHON_USEDEP}] ~dev-python/zha-quirks-0.0.73[${PYTHON_USEDEP}] ~dev-python/zigpy-deconz-0.16.0[${PYTHON_USEDEP}] ~dev-python/zigpy-0.45.1[${PYTHON_USEDEP}] ~dev-python/zigpy-xbee-0.14.0[${PYTHON_USEDEP}] ~dev-python/zigpy-zigate-0.7.4[${PYTHON_USEDEP}] ~dev-python/zigpy-znp-0.7.0[${PYTHON_USEDEP}] ) zwave_js? ( ~dev-python/zwave-js-server-python-0.36.1[${PYTHON_USEDEP}] )" BDEPEND="${RDEPEND} test? ( ~dev-python/codecov-2.1.12[${PYTHON_USEDEP}] ~dev-python/coverage-6.3.2[${PYTHON_USEDEP}] ~dev-python/freezegun-1.2.1[${PYTHON_USEDEP}] ~dev-python/mock-open-1.4.0[${PYTHON_USEDEP}] ~dev-python/mypy-0.942[${PYTHON_USEDEP}]