163 lines
5.3 KiB
Bash
163 lines
5.3 KiB
Bash
# Copyright 1999-2018 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI="6"
|
|
|
|
PYTHON_COMPAT=( python3_6 )
|
|
|
|
inherit user readme.gentoo-r1 eutils distutils-r1
|
|
|
|
DESCRIPTION="Open-source home automation platform running on Python 3.6"
|
|
HOMEPAGE="https://home-assistant.io"
|
|
SRC_URI="https://github.com/home-assistant/home-assistant/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
RESTRICT="mirror"
|
|
|
|
LICENSE="Apache-2.0"
|
|
SLOT="0"
|
|
KEYWORDS="amd64"
|
|
IUSE="atv hs100 dropbox tradfri wemo mysql musiccast samsungtv sonos ssl"
|
|
|
|
DEPEND="
|
|
${PYTHON_DEPS}
|
|
!app-misc/homeassistant-bin
|
|
>=dev-python/aiohttp-3.4.4[${PYTHON_USEDEP}]
|
|
>=dev-python/aiohttp-cors-0.7.0[${PYTHON_USEDEP}]
|
|
>=dev-python/astral-1.7.1[${PYTHON_USEDEP}]
|
|
>=dev-python/async_timeout-3.0.1[${PYTHON_USEDEP}]
|
|
>=dev-python/attrs-18.2.0[${PYTHON_USEDEP}]
|
|
>=dev-python/attrs-18.2.0[${PYTHON_USEDEP}]
|
|
>=dev-python/bcrypt-3.1.4[${PYTHON_USEDEP}]
|
|
>=dev-python/boto3-1.9.57[${PYTHON_USEDEP}]
|
|
>=dev-python/botocore-1.12.57[${PYTHON_USEDEP}]
|
|
>=dev-python/beautifulsoup-4.6.0[${PYTHON_USEDEP}]
|
|
>=dev-python/cdu-0.1.3[${PYTHON_USEDEP}]
|
|
>=dev-python/certifi-2018.11.29[${PYTHON_USEDEP}]
|
|
>=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
|
|
>=dev-python/colorlog-3.1.4[${PYTHON_USEDEP}]
|
|
>=dev-python/coverage-4.5.2[${PYTHON_USEDEP}]
|
|
>=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
|
|
>=dev-python/distro-1.3.0[${PYTHON_USEDEP}]
|
|
>=dev-python/docutils-0.14[${PYTHON_USEDEP}]
|
|
>=dev-python/ecdsa-0.13[${PYTHON_USEDEP}]
|
|
>=dev-python/envs-1.2.6[${PYTHON_USEDEP}]
|
|
>=dev-python/future-0.17.1[${PYTHON_USEDEP}]
|
|
>=dev-python/gTTS-token-1.1.2[${PYTHON_USEDEP}]
|
|
>=dev-python/ifaddr-0.1.5[${PYTHON_USEDEP}]
|
|
>=dev-python/idna-ssl-1.1.0[${PYTHON_USEDEP}]
|
|
>=dev-python/idna-2.7[${PYTHON_USEDEP}]
|
|
>=dev-python/jinja-2.10[${PYTHON_USEDEP}]
|
|
>=dev-python/jose-1.0.0[${PYTHON_USEDEP}]
|
|
=dev-python/jsonrpc-base-1.0[${PYTHON_USEDEP}]
|
|
=dev-python/jsonrpc-websocket-0.6[${PYTHON_USEDEP}]
|
|
>=dev-python/lxml-4.2.5[${PYTHON_USEDEP}]
|
|
>=dev-python/multidict-4.5.2[${PYTHON_USEDEP}]
|
|
>=dev-python/nose-1.3.7[${PYTHON_USEDEP}]
|
|
>=dev-python/numpy-1.15.4[${PYTHON_USEDEP}]
|
|
>=dev-python/paho-mqtt-1.4.0[${PYTHON_USEDEP}]
|
|
>=dev-python/pip-9.0.1[${PYTHON_USEDEP}]
|
|
>=dev-python/psutil-5.4.8[${PYTHON_USEDEP}]
|
|
>=dev-python/pytz-2018.04[${PYTHON_USEDEP}]
|
|
>=dev-python/pycryptodome-3.7.2[${PYTHON_USEDEP}]
|
|
>=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
|
|
>=dev-python/python-jose-cryptodome-1.3.2[${PYTHON_USEDEP}]
|
|
>=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
|
|
>=dev-python/pyotp-2.2.6-r1[${PYTHON_USEDEP}]
|
|
>=dev-python/pyqrcode-1.2.1[${PYTHON_USEDEP}]
|
|
>=dev-python/netdisco-2.2.0[${PYTHON_USEDEP}]
|
|
>=dev-python/requests-2.20.1[${PYTHON_USEDEP}]
|
|
>=dev-python/ruamel-yaml-0.15.80[${PYTHON_USEDEP}]
|
|
=dev-python/rxv-0.5.1[${PYTHON_USEDEP}]
|
|
>=dev-python/sqlalchemy-1.2.14[${PYTHON_USEDEP}]
|
|
>=dev-python/typing-3.6.2-r1[${PYTHON_USEDEP}]
|
|
>=dev-python/ua-parser-0.8.0[${PYTHON_USEDEP}]
|
|
>=dev-python/urllib3-1.24.1[${PYTHON_USEDEP}]
|
|
>=dev-python/user-agents-1.1.0[${PYTHON_USEDEP}]
|
|
>=dev-python/voluptuous-0.11.5[${PYTHON_USEDEP}]
|
|
>=dev-python/voluptuous-serialize-2.0.0[${PYTHON_USEDEP}]
|
|
>=dev-python/vobject-0.9.6.1[${PYTHON_USEDEP}]
|
|
>=dev-python/wakeonlan-1.1.6[${PYTHON_USEDEP}]
|
|
>=dev-python/websocket-client-0.40.0[${PYTHON_USEDEP}]
|
|
>=dev-python/xmltodict-0.11.0[${PYTHON_USEDEP}]
|
|
>=dev-python/yarl-1.2.6[${PYTHON_USEDEP}]
|
|
atv? ( >=dev-python/pyatv-0.3.12[${PYTHON_USEDEP}] )
|
|
musiccast? ( >=dev-python/pymusiccast-0.1.6[${PYTHON_USEDEP}] )
|
|
samsungtv? ( >=dev-python/samsungctl-0.7.1[${PYTHON_USEDEP}] )
|
|
sonos? ( >=dev-python/pysonos-0.0.5[${PYTHON_USEDEP}] )
|
|
mysql? ( dev-python/mysqlclient[${PYTHON_USEDEP}] )
|
|
hs100? ( >=dev-python/pyhs100-0.3.0[${PYTHON_USEDEP}] )
|
|
tradfri? ( >=dev-python/pytradfri-4.1.0[${PYTHON_USEDEP}]
|
|
sys-devel/autoconf )
|
|
wemo? ( >=dev-python/pywemo-0.4.25[${PYTHON_USEDEP}] )
|
|
>=dev-python/zeroconf-0.21.3[${PYTHON_USEDEP}]
|
|
dev-db/sqlite
|
|
dev-libs/libfastjson
|
|
>=media-libs/mutagen-1.41.1
|
|
ssl? ( dev-libs/openssl:0
|
|
app-crypt/certbot
|
|
net-proxy/haproxy )
|
|
"
|
|
|
|
RDEPEND="
|
|
${DEPEND}
|
|
app-admin/logrotate
|
|
dropbox? (
|
|
net-misc/dropbox-uploader
|
|
)
|
|
"
|
|
|
|
INSTALL_DIR="/opt/${PN}"
|
|
|
|
DISABLE_AUTOFORMATTING=1
|
|
DOC_CONTENTS="
|
|
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
|
|
|
|
hass configuration is in: /etc/${MY_PN}
|
|
daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
|
|
|
|
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
|
|
|
|
The sqlite db is by default in: /etc/${MY_PN}
|
|
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
|
|
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
|
|
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
|
|
|
|
support thread at:
|
|
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
|
|
"
|
|
|
|
S="${WORKDIR}/home-assistant-${PV}"
|
|
|
|
DOCS="README.rst"
|
|
|
|
pkg_setup() {
|
|
enewgroup "${PN}"
|
|
enewuser "${PN}" -1 -1 "$INSTALL_DIR" "${PN}"
|
|
}
|
|
|
|
src_prepare() {
|
|
sed -e 's;astral==1.5;astral>=1.5;' \
|
|
-i "setup.py" \
|
|
-i homeassistant/package_constraints.txt
|
|
|
|
eapply_user
|
|
}
|
|
|
|
python_install_all() {
|
|
dodoc ${DOCS}
|
|
distutils-r1_python_install_all
|
|
|
|
keepdir "$INSTALL_DIR"
|
|
|
|
keepdir "/etc/${PN}"
|
|
fowners -R "${PN}:${PN}" "/etc/${PN}"
|
|
|
|
newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
|
|
newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
|
|
|
|
readme.gentoo_create_doc
|
|
}
|
|
|
|
pkg_postinst() {
|
|
readme.gentoo_print_elog
|
|
}
|