blob: 40e58fe8fc3f63a4738aa1af06e8f66f1a678cf2 (
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
|
PORTNAME= gotify-server
PORTVERSION= 2.6.3
DISTVERSIONPREFIX= v
PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= https://github.com/mfechner/freebsd-net-gotify-server/raw/refs/heads/main/:yarn_cache
DISTNAME= server
DISTFILES= ${PORTNAME}-yarn-offline-cache-${DISTVERSION}${EXTRACT_SUFX}:yarn_cache
MAINTAINER= mfechner@FreeBSD.org
COMMENT= Simple server for sending and receiving messages
WWW= https://github.com/gotify/server
LICENSE= MIT
BROKEN_i386= Build does not succeed (timeout in poudriere)
BUILD_DEPENDS= yarn${NODEJS_SUFFIX}>=1.10.0:www/yarn${NODEJS_SUFFIX} \
USES= go:modules,1.24 nodejs:build
USE_RC_SUBR= gotify_server
GO_MODULE= github.com/gotify/server/v2
_BUILD_DATE= $$(date -u "+%Y-%m-%d-%H%M UTC")
#GO_TARGET= ./
GO_BUILDFLAGS= -buildmode=pie -modcacherw \
-ldflags=" \
-X 'main.Version=${PORTVERSION}' \
-X 'main.Commit=${GL_TAGNAME:C/^(........).*/\1/}' \
-X 'main.BuildDate=${_BUILD_DATE}' \
-X 'main.Mode=prod'"
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400000
MAKE_ENV+= NODE_OPTIONS=--openssl-legacy-provider
.endif
USERS= gotify
GROUPS= gotify
PLIST_FILES= bin/gotify-server
post-patch:
# setup yarnrc for offline node_modules installatio
@${ECHO_CMD} 'yarn-offline-mirror "${WRKDIR}/yarn-offline-cache"' >> ${WRKSRC}/ui/.yarnrc
pre-build:
@cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} HOME=${WRKDIR} PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn install --offline
@cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} yarn build
#${RM} -r ${STAGEDIR}${PREFIX}/share/.cache
pre-install:
@${RM} ${WRKSRC}/.yarnrc
do-install:
@${INSTALL_PROGRAM} ${WRKDIR}/bin/gotify-server ${STAGEDIR}${PREFIX}/bin/gotify-server
@${MV} ${WRKSRC}/config.example.yml ${WRKSRC}/config.yml.sample
@${MKDIR} ${STAGEDIR}${ETCDIR}
.for x in config.yml.sample
@${CP} ${WRKSRC}/${x} ${STAGEDIR}${ETCDIR}/${x}
.endfor
@${MKDIR} ${STAGEDIR}/var/db/gotify
post-install:
@${ECHO} "@sample ${ETCDIR}/config.yml.sample" >> ${TMPPLIST}
@${ECHO_CMD} "@owner gotify" >> ${TMPPLIST}
@${ECHO_CMD} "@group gotify" >> ${TMPPLIST}
@${ECHO_CMD} "@dir /var/db/gotify" >> ${TMPPLIST}
#@${ECHO_CMD} "@dir /var/db/gotify/certs" >> ${TMPPLIST}
# To update
# 1. comment DISTFILES
# 2. Run 'make makesum'
# 3. Run 'make make-yarn-cache'
# 4. Upload yarn cache
# 5. Uncomment DITSFILES
# 6. Run 'make makesum'
make-yarn-cache: patch
${RM} -r ${WRKDIR}/yarn-offline-cache
cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn --frozen-lockfile --ignore-scripts
cd ${WRKDIR} && ${TAR} -czf ${PORTNAME}-yarn-offline-cache-${DISTVERSION}${EXTRACT_SUFX} yarn-offline-cache
@${ECHO_CMD} upload ${PORTNAME}-yarn-offline-cache-${DISTVERSION}${EXTRACT_SUFX}
.include <bsd.port.post.mk>
|