# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{14..14} )
PYPI_PN=${PN/-/}

inherit distutils-r1 pypi systemd

DESCRIPTION="Open source home automation that puts local control and privacy first"
HOMEPAGE="
	https://www.home-assistant.io/
	https://github.com/home-assistant/core
"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="sqlite mysql postgres"

BDEPEND="
	>=dev-python/uv-0.10.6[${PYTHON_USEDEP}]
"

RDEPEND="
	>=dev-python/aiodns-4.0.0[${PYTHON_USEDEP}]
	>=dev-python/aiogithubapi-26.0.0[${PYTHON_USEDEP}]
	>=dev-python/aiohasupervisor-0.3.3[${PYTHON_USEDEP}]
	>=dev-python/aiohttp-asyncmdnsresolver-0.1.1[${PYTHON_USEDEP}]
	>=dev-python/aiohttp-fast-zlib-0.3.0[${PYTHON_USEDEP}]
	>=dev-python/aiohttp-3.13.3[${PYTHON_USEDEP}]
	>=dev-python/aiohttp-cors-0.8.1[${PYTHON_USEDEP}]
	>=dev-python/aiozoneinfo-0.2.3[${PYTHON_USEDEP}]
	>=dev-python/annotatedyaml-1.0.2[${PYTHON_USEDEP}]
	>=dev-python/astral-2.2[${PYTHON_USEDEP}]
	>=dev-python/async-interrupt-1.2.2[${PYTHON_USEDEP}]
	>=dev-python/atomicwrites-homeassistant-1.4.1[${PYTHON_USEDEP}]
	>=dev-python/attrs-25.4.0[${PYTHON_USEDEP}]
	>=dev-python/audioop-lts-0.2.1[${PYTHON_USEDEP}]
	>=dev-python/awesomeversion-25.8.0[${PYTHON_USEDEP}]
	>=dev-python/bcrypt-5.0.0[${PYTHON_USEDEP}]
	>=dev-python/certifi-2021.5.30[${PYTHON_USEDEP}]
	>=dev-python/ciso8601-2.3.3[${PYTHON_USEDEP}]
	>=dev-python/cronsim-2.7[${PYTHON_USEDEP}]
	>=dev-python/cryptography-46.0.5[${PYTHON_USEDEP}]
	>=dev-python/fnv-hash-fast-1.6.0[${PYTHON_USEDEP}]
	>=dev-python/ha-ffmpeg-3.2.2[${PYTHON_USEDEP}]
	>=dev-python/hass-nabucasa-1.15.0[${PYTHON_USEDEP}]
	>=dev-python/hassil-3.5.0[${PYTHON_USEDEP}]
	>=dev-python/home-assistant-bluetooth-1.13.1[${PYTHON_USEDEP}]
	>=dev-python/home-assistant-intents-2026.3.3[${PYTHON_USEDEP}]
	>=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
	>=dev-python/ifaddr-0.2.0[${PYTHON_USEDEP}]
	>=dev-python/jinja2-3.1.6[${PYTHON_USEDEP}]
	>=dev-python/lru-dict-1.3.0[${PYTHON_USEDEP}]
	>=media-libs/mutagen-1.47.0[${PYTHON_USEDEP}]
	>=dev-python/orjson-3.11.7[${PYTHON_USEDEP}]
	>=dev-python/packaging-23.1[${PYTHON_USEDEP}]
	>=dev-python/pillow-12.1.1[${PYTHON_USEDEP}]
	>=dev-python/propcache-0.4.1[${PYTHON_USEDEP}]
	>=dev-python/psutil-home-assistant-0.0.1[${PYTHON_USEDEP}]
	>=dev-python/pyjwt-2.10.1[${PYTHON_USEDEP}]
	>=dev-python/pymicro-vad-1.0.1[${PYTHON_USEDEP}]
	<dev-python/pymicro-vad-2[${PYTHON_USEDEP}]
	>=dev-python/pyopenssl-26.0.0[${PYTHON_USEDEP}]
	>=dev-python/pyspeex-noise-1.0.2[${PYTHON_USEDEP}]
	>=dev-python/python-slugify-8.0.4[${PYTHON_USEDEP}]
	>=dev-python/pyturbojpeg-1.8.0[${PYTHON_USEDEP}]
	<dev-python/pyturbojpeg-2[${PYTHON_USEDEP}]
	>=dev-python/pyyaml-6.0.3[${PYTHON_USEDEP}]
	>=dev-python/requests-2.23.5[${PYTHON_USEDEP}]
	>=dev-python/securetar-2026.2.0[${PYTHON_USEDEP}]
	>=dev-python/sqlalchemy-2.0.41[sqlite?,${PYTHON_USEDEP}]
	>=dev-python/standard-aifc-3.13.0[${PYTHON_USEDEP}]
	>=dev-python/standard-telnetlib-3.13.0[${PYTHON_USEDEP}]
	>=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
	<dev-python/typing-extensions-5[${PYTHON_USEDEP}]
	>=dev-python/ulid-transform-1.5.2[${PYTHON_USEDEP}]
	>=dev-python/urllib3-2.0[${PYTHON_USEDEP}]
	>=dev-python/voluptuous-openapi-0.2.0[${PYTHON_USEDEP}]
	>=dev-python/voluptuous-serialize-2.7.0[${PYTHON_USEDEP}]
	>=dev-python/voluptuous-0.15.2[${PYTHON_USEDEP}]
	>=dev-python/webrtc-models-0.3.0[${PYTHON_USEDEP}]
	>=dev-python/yarl-1.22.0[${PYTHON_USEDEP}]
	>=dev-python/zeroconf-0.148.0[${PYTHON_USEDEP}]

	mysql? ( >=dev-python/mysqlclient-1.4.0[${PYTHON_USEDEP}] )
	postgres? ( >=dev-python/psycopg-1.4.0[${PYTHON_USEDEP}] )

	acct-user/home-assistant
	acct-group/home-assistant

	sys-libs/zlib-ng
	dev-python/isal[${PYTHON_USEDEP}]
"

src_install() {
	distutils-r1_src_install

	systemd_newunit "${FILESDIR}/home-assistant.service" "home-assistant.service"

	keepdir /var/lib/home-assistant/config/deps
	fowners home-assistant:home-assistant /var/lib/home-assistant/config
}

pkg_postinst() {
	elog "Start service with: systemctl enable --now home-assistant"
}