blob: 79d043a5dbd04550e962acebda0f20026f829b3a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
PORTNAME= zigbee2mqtt
DISTVERSION= 2.0.0
CATEGORIES= comms
MASTER_SITES= LOCAL/otis/:nodemodules
DISTFILES= ${DISTCACHEFILES_nodemodules}:nodemodules
MAINTAINER= otis@FreeBSD.org
COMMENT= Use your Zigbee devices without the vendor's bridge or gateway
WWW= https://github.com/Koenkk/zigbee2mqtt
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION} \
npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
RUN_DEPENDS= node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION}
USES= nodejs:20
USE_GITHUB= yes
GH_ACCOUNT= Koenkk
GH_PROJECT= zigbee2mqtt
USE_RC_SUBR= z2m
NO_BUILD= yes
SUB_FILES= configuration.yaml pkg-message z2m
SUB_LIST= Z2M_DATADIR=${Z2M_DATADIR} \
Z2M_GROUP=${Z2M_GROUP} \
Z2M_HOME=${Z2M_HOME} \
Z2M_LOGDIR=${Z2M_LOGDIR} \
Z2M_USER=${Z2M_USER}
USERS= ${Z2M_USER}
GROUPS= ${Z2M_GROUP}
DISTCACHEFILES= ${DISTCACHEFILES_nodemodules}
DISTCACHEFILES_nodemodules= zigbee2mqtt-nodemodules-${PKGVERSION}.tar.gz
# user, group and homedir
Z2M_GROUP?= z2m
Z2M_USER?= z2m
Z2M_HOME?= ${PREFIX}/z2m
Z2M_DATADIR?= /var/db/z2m
Z2M_LOGDIR?= /var/log/z2m
PLIST_SUB+= Z2M_DATADIR=${Z2M_DATADIR} \
Z2M_GROUP=${Z2M_GROUP} \
Z2M_HOME=${Z2M_HOME} \
Z2M_LOGDIR=${Z2M_LOGDIR} \
Z2M_USER=${Z2M_USER}
post-extract:
for f in ${DISTCACHEFILES}; do \
${TAR} xf ${DISTDIR}/${DIST_SUBDIR}/$${f} -C ${WRKSRC}; \
done
for f in .github .gitignore .dockerignore .prettierignore \
.prettierrc .release-please-manifest.json CHANGELOG.md \
CODE_OF_CONDUCT.md CONTRIBUTING.md README.md docker \
update.sh \
data test; do \
${RM} -rf ${WRKSRC}/$${f}; \
done
do-install:
${MKDIR} ${STAGEDIR}${Z2M_HOME}
${MKDIR} ${STAGEDIR}${Z2M_DATADIR}
${MKDIR} ${STAGEDIR}${Z2M_LOGDIR}
cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${Z2M_HOME}
${INSTALL_DATA} ${WRKDIR}/configuration.yaml ${STAGEDIR}${Z2M_DATADIR}/configuration.yaml.sample
${INSTALL} -lrs ${STAGEDIR}${Z2M_DATADIR} ${STAGEDIR}${Z2M_HOME}/data
${RM} ${STAGEDIR}${Z2M_HOME}/scripts/zigbee2socat_installer.sh
# This should be run after DISTVERSION change
# Required global node modules:
# - pnpm
# - rimraf
# - typescript
#
# Then run:
# make create-caches-tarball
create-caches-tarball: ${WRKSRC}
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} pnpm install --ignore-scripts && \
${SETENV} ${MAKE_ENV} pnpm run prepack && \
${FIND} ${WRKSRC}/node_modules -type d -a \( -name build -o -name dist \) -print0 | xargs -0 ${RM} -rf && \
${TAR} czf ${WRKDIR}/zigbee2mqtt-nodemodules-${PKGVERSION}.tar.gz \
node_modules pnpm-lock.yaml
.include <bsd.port.mk>
|