View | Details | Raw Unified | Return to bug 256885 | Differences between
and this patch

Collapse All | Expand All

(-)b/GIDs (-1 / +1 lines)
Lines 510-516 polkitd:*:565: Link Here
510
# free: 567
510
# free: 567
511
# free: 568
511
# free: 568
512
# free: 569
512
# free: 569
513
# free: 570
513
homeassistant:*:570:
514
# free: 571
514
# free: 571
515
# free: 572
515
# free: 572
516
# free: 573
516
# free: 573
(-)b/UIDs (-1 / +1 lines)
Lines 515-521 polkitd:*:565:565::0:0:Polkit Daemon User:/var/empty:/usr/sbin/nologin Link Here
515
# free: 567
515
# free: 567
516
# free: 568
516
# free: 568
517
# free: 569
517
# free: 569
518
# free: 570
518
homeassistant:*:570:570::0:0:Home Assistant:/var/db/homeassistant:/usr/sbin/nologin
519
# free: 571
519
# free: 571
520
# free: 572
520
# free: 572
521
# free: 573
521
# free: 573
(-)b/devel/py-hass-nabucasa/Makefile (+28 lines)
Added Link Here
1
PORTNAME=	hass-nabucasa
2
PORTVERSION=	0.43.0
3
CATEGORIES=	devel python
4
MASTER_SITES=	CHEESESHOP
5
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
6
7
MAINTAINER=	rozhuk.im@gmail.com
8
COMMENT=	Home Assistant cloud integration by Nabu Casa, Inc.
9
10
LICENSE=	GPLv3
11
12
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}acme>0:security/py-acme@${PY_FLAVOR} \
13
		${PYTHON_PKGNAMEPREFIX}aiohttp>0:www/py-aiohttp@${PY_FLAVOR} \
14
		${PYTHON_PKGNAMEPREFIX}atomicwrites>0:devel/py-atomicwrites@${PY_FLAVOR} \
15
		${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \
16
		${PYTHON_PKGNAMEPREFIX}cryptography>0:security/py-cryptography@${PY_FLAVOR} \
17
		${PYTHON_PKGNAMEPREFIX}pycognito>0:devel/py-pycognito@${PY_FLAVOR} \
18
		${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR} \
19
		${PYTHON_PKGNAMEPREFIX}snitun>0:devel/py-snitun@${PY_FLAVOR}
20
21
USES=		python
22
USE_PYTHON=	autoplist distutils
23
24
post-patch:
25
	@${REINPLACE_CMD} -e 's|==|>=|g' \
26
		${WRKSRC}/setup.py
27
28
.include <bsd.port.mk>
(-)b/devel/py-hass-nabucasa/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1625059050
2
SHA256 (hass-nabucasa-0.43.0.tar.gz) = 31013839ee05a1d021628e58b0089dd2fa54769c11fa778486b72ca2ead4e49f
3
SIZE (hass-nabucasa-0.43.0.tar.gz) = 23202
(-)b/devel/py-hass-nabucasa/pkg-descr (+3 lines)
Added Link Here
1
Cloud integration in Home Assistant
2
3
WWW: https://github.com/NabuCasa/hass-nabucasa
(-)b/devel/py-snitun/Makefile (+19 lines)
Added Link Here
1
PORTNAME=	snitun
2
PORTVERSION=	0.24.0
3
CATEGORIES=	devel python
4
MASTER_SITES=	CHEESESHOP
5
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
6
7
MAINTAINER=	rozhuk.im@gmail.com
8
COMMENT=	SNI proxy with TCP multiplexer
9
10
LICENSE=	GPLv3
11
12
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}async_timeout>0:devel/py-async_timeout@${PY_FLAVOR} \
13
		${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \
14
		${PYTHON_PKGNAMEPREFIX}cryptography>0:security/py-cryptography@${PY_FLAVOR}
15
16
USES=		python
17
USE_PYTHON=	autoplist distutils
18
19
.include <bsd.port.mk>
(-)b/devel/py-snitun/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1625059126
2
SHA256 (snitun-0.24.0.tar.gz) = a2131aab4afb1a55c317989fba6b40efaeb324f1fbf8f8708c7ad7967a68f838
3
SIZE (snitun-0.24.0.tar.gz) = 28888
(-)b/devel/py-snitun/pkg-descr (+3 lines)
Added Link Here
1
End-to-End encryption with SNI proxy on top of a TCP multiplexer
2
3
WWW: https://github.com/NabuCasa/snitun
(-)b/devel/py-voluptuous-serialize/Makefile (+19 lines)
Added Link Here
1
PORTNAME=	voluptuous-serialize
2
PORTVERSION=	2.4.0
3
CATEGORIES=	devel python
4
MASTER_SITES=	CHEESESHOP
5
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
6
7
MAINTAINER=	rozhuk.im@gmail.com
8
COMMENT=	Convert Voluptuous schemas to dictionaries so they can be serialized
9
10
LICENSE=	APACHE20
11
12
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}voluptuous>0:devel/py-voluptuous@${PY_FLAVOR}
13
14
USES=		python
15
USE_PYTHON=	autoplist distutils
16
17
NO_ARCH=	yes
18
19
.include <bsd.port.mk>
(-)b/devel/py-voluptuous-serialize/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1605992840
2
SHA256 (voluptuous-serialize-2.4.0.tar.gz) = c6ba17cb0301c18e8b955d89b85fa4aa05c05c80ab1e4873810900f757dceae4
3
SIZE (voluptuous-serialize-2.4.0.tar.gz) = 3401
(-)b/devel/py-voluptuous-serialize/pkg-descr (+4 lines)
Added Link Here
1
Voluptuous Serialize
2
Convert Voluptuous schemas to dictionaries so they can be serialized.
3
4
WWW: https://github.com/home-assistant-libs/voluptuous-serialize
(-)b/www/py-home-assistant-frontend/Makefile (+18 lines)
Added Link Here
1
PORTNAME=	home-assistant-frontend
2
PORTVERSION=	20210603.0
3
CATEGORIES=	www python
4
MASTER_SITES=	CHEESESHOP
5
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
6
7
MAINTAINER=	rozhuk.im@gmail.com
8
COMMENT=	The Home Assistant frontend
9
10
LICENSE=	APACHE20
11
LICENSE_FILE=	${WRKSRC}/LICENSE.md
12
13
USES=		python:3.7+
14
USE_PYTHON=	autoplist concurrent distutils
15
16
NO_ARCH=	yes
17
18
.include <bsd.port.mk>
(-)b/www/py-home-assistant-frontend/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1624872587
2
SHA256 (home-assistant-frontend-20210603.0.tar.gz) = d9485bb5ac4470e903f59e60f6066cf908ee54b5d918211c98aa3146d204631c
3
SIZE (home-assistant-frontend-20210603.0.tar.gz) = 24529831
(-)b/www/py-home-assistant-frontend/pkg-descr (+5 lines)
Added Link Here
1
Open source home automation that puts local control and privacy first.
2
Powered by a worldwide community of tinkerers and DIY enthusiasts.
3
Perfect to run on a Raspberry Pi or a local server.
4
5
WWW: https://www.home-assistant.io/
(-)b/www/py-homeassistant/Makefile (+111 lines)
Added Link Here
1
PORTNAME=	homeassistant
2
# Jinja2 3xxx required after this release
3
PORTVERSION=	2021.5.5
4
CATEGORIES=	www python
5
MASTER_SITES=	CHEESESHOP
6
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
7
8
MAINTAINER=	rozhuk.im@gmail.com
9
COMMENT=	Open-source home automation platform running on Python 3
10
11
LICENSE=	APACHE20
12
LICENSE_FILE=	${WRKSRC}/LICENSE.md
13
14
# core/blob/dev/setup.py
15
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiohttp>=3.7.4.p0:www/py-aiohttp@${PY_FLAVOR} \
16
		${PYTHON_PKGNAMEPREFIX}astral>=2.2:astro/py-astral@${PY_FLAVOR} \
17
		${PYTHON_PKGNAMEPREFIX}async_timeout>=3.0.1:devel/py-async_timeout@${PY_FLAVOR} \
18
		${PYTHON_PKGNAMEPREFIX}attrs>=21.2.0:devel/py-attrs@${PY_FLAVOR} \
19
		${PYTHON_PKGNAMEPREFIX}awesomeversion>=21.4.0:devel/py-awesomeversion@${PY_FLAVOR} \
20
		${PYTHON_PKGNAMEPREFIX}backports.zoneinfo>=0.2.1:devel/py-backports.zoneinfo@${PY_FLAVOR} \
21
		${PYTHON_PKGNAMEPREFIX}bcrypt>=3.1.7:security/py-bcrypt@${PY_FLAVOR} \
22
		${PYTHON_PKGNAMEPREFIX}certifi>=2021.5.30:security/py-certifi@${PY_FLAVOR} \
23
		${PYTHON_PKGNAMEPREFIX}ciso8601>=2.1.3:devel/py-ciso8601@${PY_FLAVOR} \
24
		${PYTHON_PKGNAMEPREFIX}cryptography>=3.3.2:security/py-cryptography@${PY_FLAVOR} \
25
		${PYTHON_PKGNAMEPREFIX}home-assistant-frontend>=20210517.0:www/py-home-assistant-frontend@${PY_FLAVOR} \
26
		${PYTHON_PKGNAMEPREFIX}httpx>=0.18.0:www/py-httpx@${PY_FLAVOR} \
27
		${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.2:devel/py-Jinja2@${PY_FLAVOR} \
28
		${PYTHON_PKGNAMEPREFIX}pyjwt>=1.7.1:www/py-pyjwt@${PY_FLAVOR}
29
# core/blob/dev/setup.py # PyJWT has loose dependency. We want the latest one.
30
RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}cryptography>=3.3.2:security/py-cryptography@${PY_FLAVOR} \
31
		${PYTHON_PKGNAMEPREFIX}pip>=20.3.4:devel/py-pip@${PY_FLAVOR} \
32
		${PYTHON_PKGNAMEPREFIX}python-slugify>=4.0.1:textproc/py-python-slugify@${PY_FLAVOR} \
33
		${PYTHON_PKGNAMEPREFIX}requests>=2.25.1:www/py-requests@${PY_FLAVOR} \
34
		${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15.100:devel/py-ruamel.yaml@${PY_FLAVOR} \
35
		${PYTHON_PKGNAMEPREFIX}voluptuous-serialize>=2.4.0:devel/py-voluptuous-serialize@${PY_FLAVOR} \
36
		${PYTHON_PKGNAMEPREFIX}voluptuous>=0.12.0:devel/py-voluptuous@${PY_FLAVOR} \
37
		${PYTHON_PKGNAMEPREFIX}yaml>=5.4.1:devel/py-yaml@${PY_FLAVOR} \
38
		${PYTHON_PKGNAMEPREFIX}yarl>=1.6.3:www/py-yarl@${PY_FLAVOR}
39
# Extra deps: failed to install via pip or have no fixed version or optional.
40
RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR} \
41
		${PYTHON_PKGNAMEPREFIX}hass-nabucasa>=0.43.0:devel/py-hass-nabucasa@${PY_FLAVOR}
42
43
USES=		python:3.8+
44
USE_PYTHON=	autoplist concurrent distutils
45
USE_RC_SUBR=	homeassistant
46
47
USERS=		homeassistant
48
GROUPS=		homeassistant
49
50
SUB_LIST=	PYTHON_CMD=${PYTHON_CMD} \
51
		PYTHON_VERSION=${PYTHON_VERSION}
52
53
NO_ARCH=	yes
54
55
OPTIONS_GROUP=	DB
56
OPTIONS_GROUP_DB=	MSSQL MYSQL PYMYSQL PGSQL
57
58
MSSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pymssql>=0:databases/py-pymssql@${PY_FLAVOR}
59
MYSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR}
60
PYMYSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pymysql>=0:databases/py-pymysql@${PY_FLAVOR}
61
PGSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}psycopg2>=2.7:databases/py-psycopg2@${PY_FLAVOR}
62
63
MYSQL_DESC=	MySQL/MariaDB support
64
PYMYSQL_DESC=	MySQL/MariaDB support via pymysql
65
66
67
post-patch:
68
.for __RUN_DEPEND in ${RUN_DEPENDS}
69
	@${ECHO} -n "${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}: "
70
	@${GREP} -E "^${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}(>|<|==|>=|<=)" \
71
	    ${WRKSRC}/homeassistant/package_constraints.txt | \
72
		${SED} -E "s/${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}(>|<|==|>=|<=)([.0-9]*)/\2/g" | \
73
		    ${TR} -cd '[:print:]'
74
	@${ECHO} " -> ${__RUN_DEPEND:C/.*(>|<|==|>=|<=)(.*)[:].*/\2/}"
75
76
	@${REINPLACE_CMD} -E \
77
		-e "s/(^|\")${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}(>|<|==|>=|<=)[.0-9]*/\1${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}>=${__RUN_DEPEND:C/.*(>|<|==|>=|<=)(.*)[:].*/\2/}/g" \
78
		${WRKSRC}/setup.py \
79
		${WRKSRC}/homeassistant/package_constraints.txt \
80
		${WRKSRC}/homeassistant/auth/mfa_modules/*.py \
81
		${WRKSRC}/homeassistant/scripts/*.py \
82
		${WRKSRC}/homeassistant/components/*/manifest.json
83
.endfor
84
# Port name did not match python packet name.
85
#  PyNaCl sqlalchemy
86
.for __RUN_DEPEND in jinja2 PyJWT pyyaml
87
	@${ECHO} -n "${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}: "
88
	@${GREP} -E "^${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}(>|<|==|>=|<=)" \
89
	    ${WRKSRC}/homeassistant/package_constraints.txt | \
90
		${SED} -E "s/${__RUN_DEPEND:C/(.*)(>|<|==|>=|<=).*/\1/}(>|<|==|>=|<=)([.0-9]*)/\2/g" | \
91
		    ${TR} -cd '[:print:]'
92
	@${ECHO} " -> ${__RUN_DEPEND:C/.*(>|<|==|>=|<=)(.*)[:].*/\2/} >=0"
93
94
	@${REINPLACE_CMD} -E \
95
		-e 's/(^|\")${__RUN_DEPEND}(>|<|==|>=|<=)[.0-9]*/\1${__RUN_DEPEND}>=0/g' \
96
		${WRKSRC}/setup.py \
97
		${WRKSRC}/homeassistant/package_constraints.txt \
98
		${WRKSRC}/homeassistant/auth/mfa_modules/*.py \
99
		${WRKSRC}/homeassistant/scripts/*.py \
100
		${WRKSRC}/homeassistant/components/*/manifest.json
101
.endfor
102
	@${REINPLACE_CMD} -E "s/(^|\")pip(>|<|==|>=|<=)([.0-9]*),(>|<|==|>=|<=)([.0-9]*)/\1pip\2\3/" \
103
		${WRKSRC}/setup.py \
104
		${WRKSRC}/homeassistant/package_constraints.txt
105
	@${FIND} ${WRKSRC} -name '*.bak' -name '*.orig' -delete
106
107
post-stage:
108
	@${MKDIR} ${STAGEDIR}/var/db/homeassistant
109
	@${ECHO_CMD} "@dir(homeassistant,homeassistant,) /var/db/homeassistant" >> ${TMPPLIST}
110
111
.include <bsd.port.mk>
(-)b/www/py-homeassistant/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1624726914
2
SHA256 (homeassistant-2021.5.5.tar.gz) = 135bc9ebef7c7c6b7371306a91389b6a8acdecbf9bba6044dca2fa071abb4a62
3
SIZE (homeassistant-2021.5.5.tar.gz) = 6568616
(-)b/www/py-homeassistant/files/homeassistant.in (+49 lines)
Added Link Here
1
#!/bin/sh
2
#
3
# $FreeBSD$
4
#
5
# PROVIDE: homeassistant
6
# REQUIRE: NETWORKING SYSLOG
7
# KEYWORD: shutdown
8
#
9
# Add the following lines to /etc/rc.conf to enable homeassistant:
10
#
11
#homeassistant_enable="YES"
12
13
. /etc/rc.subr
14
15
name="homeassistant"
16
rcvar="homeassistant_enable"
17
18
load_rc_config $name
19
20
: ${homeassistant_enable:="NO"}
21
: ${homeassistant_user:="homeassistant"}
22
: ${homeassistant_group:="homeassistant"}
23
: ${homeassistant_config_dir:="/var/db/homeassistant"}
24
: ${homeassistant_log_file:="/var/log/home-assistant.log"}
25
: ${homeassistant_log_days:="7"}
26
: ${homeassistant_chdir:="${homeassistant_config_dir}"}
27
: ${homeassistant_env:="HOME=\"${homeassistant_config_dir}\" VIRTUAL_ENV=\"${homeassistant_config_dir}/\" PATH=\"${homeassistant_config_dir}/bin/:${PATH}\""}
28
29
30
pidfile="/var/run/${name}.pid"
31
procname="${homeassistant_config_dir}/bin/%%PYTHON_VERSION%%"
32
command="%%PYTHON_CMD%%"
33
command_args="%%PREFIX%%/bin/hass --daemon --log-no-color --log-file \"${homeassistant_log_file}\" --log-rotate-days \"${homeassistant_log_days}\" --config \"${homeassistant_config_dir}\" --pid-file \"${pidfile}\""
34
35
start_precmd="homeassistant_start_precmd"
36
37
homeassistant_start_precmd() {
38
	install -d -o ${homeassistant_user} -g ${homeassistant_group} -m 0700 "${homeassistant_config_dir}"
39
	install -o ${homeassistant_user} -g ${homeassistant_group} -m 0600 /dev/null ${homeassistant_log_file}
40
	if [ ! -e "${homeassistant_config_dir}/pyvenv.cfg" ]; then
41
		su -m ${homeassistant_user} -c "%%PYTHON_CMD%% -m venv --system-site-packages \"${homeassistant_config_dir}\""
42
	fi
43
	# Hack: override command after venv created.
44
	command="${procname}"
45
	su -m ${homeassistant_user} -c "env ${homeassistant_env} ${command} %%PREFIX%%/bin/hass --config \"${homeassistant_config_dir}\" --script ensure_config"
46
	su -m ${homeassistant_user} -c "env ${homeassistant_env} ${command} %%PREFIX%%/bin/hass --config \"${homeassistant_config_dir}\" --script check_config"
47
}
48
49
run_rc_command "$1"
(-)b/www/py-homeassistant/pkg-descr (+5 lines)
Added Link Here
1
Open source home automation that puts local control and privacy first.
2
Powered by a worldwide community of tinkerers and DIY enthusiasts.
3
Perfect to run on a Raspberry Pi or a local server.
4
5
WWW: https://www.home-assistant.io/
(-)b/www/py-homeassistant/pkg-message (+15 lines)
Added Link Here
1
[
2
{ type: install
3
  message: <<EOM
4
5
Installation Type: Home Assistant Core.
6
7
This port uses Virtual Environment and will download and install via pip
8
all required python packets on first service run or on some actions in
9
WebUI.
10
11
$ service homeassistant forcerestart
12
--- The Home Assistant can now be reached http://localhost:8123/
13
EOM
14
}
15
]

Return to bug 256885