blob: 6f770e49d4248e7b25bf6dc7fcbb17c250b788b4 (
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
PORTNAME= grafana
DISTVERSIONPREFIX= v
DISTVERSION= 12.0.0
CATEGORIES= www
MASTER_SITES= https://dl.grafana.com/oss/release/ \
https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod
DISTFILES= grafana-${DISTVERSION}.linux-amd64${EXTRACT_SUFX} \
go.mod:gomod \
go.work:gomod \
.citools/bra/go.mod:gomod \
.citools/cog/go.mod:gomod \
.citools/cue/go.mod:gomod \
.citools/golangci-lint/go.mod:gomod \
.citools/jb/go.mod:gomod \
.citools/lefthook/go.mod:gomod \
.citools/swagger/go.mod:gomod \
apps/advisor/go.mod:gomod \
apps/alerting/notifications/go.mod:gomod \
apps/dashboard/go.mod:gomod \
apps/folder/go.mod:gomod \
apps/investigations/go.mod:gomod \
apps/playlist/go.mod:gomod \
pkg/aggregator/go.mod:gomod \
pkg/apimachinery/go.mod:gomod \
pkg/apis/secret/go.mod:gomod \
pkg/apiserver/go.mod:gomod \
pkg/build/go.mod:gomod \
pkg/build/wire/go.mod:gomod \
pkg/codegen/go.mod:gomod \
pkg/plugins/codegen/go.mod:gomod \
pkg/promlib/go.mod:gomod \
pkg/semconv/go.mod:gomod \
pkg/storage/unified/apistore/go.mod:gomod \
pkg/storage/unified/resource/go.mod:gomod \
pkg/util/xorm/go.mod:gomod
EXTRACT_ONLY= ${DISTFILES:N*.mod\:*:N*.mod:C/:.*//:Ngo.work}
MAINTAINER= drtr0jan@yandex.ru
COMMENT= Dashboard and graph editor for multiple data stores
WWW= https://grafana.com/grafana/ \
https://github.com/grafana/grafana
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= aarch64 amd64 i386 riscv64
RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss
USES= cpe go:1.24,modules
USE_GITHUB= yes
USE_RC_SUBR= grafana
TAG= 4c0e704
GO_MOD_DIST= github
GO_MODULE= github.com/grafana/grafana
GO_TARGET= ./pkg/cmd/grafana \
./pkg/cmd/grafana-server \
./pkg/cmd/grafana-cli
GO_BUILDFLAGS= -ldflags="-w -X main.version=${DISTVERSION} -X main.commit=${TAG} \
-X main.buildstamp=$$(${STAT} -f %Sm -t %s ${WRKSRC}/.gitignore)"
CONFLICTS_INSTALL= grafana*
SUB_LIST= GRAFANA_USER=${GRAFANA_USER} \
GRAFANA_GROUP=${GRAFANA_GROUP} \
GRAFANA_DATADIR=${GRAFANA_DATADIR} \
GRAFANA_HOMEDIR=${GRAFANA_HOMEDIR} \
GRAFANA_LOGDIR=${GRAFANA_LOGDIR} \
GRAFANA_PLUGINDIR=${GRAFANA_PLUGINDIR} \
GRAFANA_PROVISIONINGDIR=${GRAFANA_PROVISIONINGDIR}
# Disable some master port targets
TARGET_ORDER_OVERRIDE= -1:go-post-extract
GRAFANA_USER?= grafana
GRAFANA_GROUP?= grafana
USERS= ${GRAFANA_USER}
GROUPS= ${GRAFANA_GROUP}
PLIST_SUB= ${SUB_LIST}
GRAFANA_DATADIR?= /var/db/${PORTNAME}
GRAFANA_HOMEDIR?= ${DATADIR}
GRAFANA_LOGDIR?= /var/log/${PORTNAME}
GRAFANA_PLUGINDIR?= ${GRAFANA_DATADIR}/plugins
GRAFANA_PROVISIONINGDIR?= ${ETCDIR}/provisioning
post-extract:
@${ECHO_MSG} "===> Tidying ${GO_MODNAME} dependencies";
@(cd ${GO_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} \
GOPROXY=${GO_MODCACHE} ${GO_CMD} mod tidy -e)
@${ECHO_MSG} "===> Vendoring ${GO_MODNAME} dependencies";
@(cd ${GO_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} \
GOPROXY=${GO_MODCACHE} ${GO_CMD} work vendor -e)
post-patch:
@${REINPLACE_CMD} \
-e 's|;data = /var/lib/grafana|data = ${GRAFANA_DATADIR}|g' \
-e 's|;logs = /var/log/grafana|logs = ${GRAFANA_LOGDIR}|g' \
-e 's|;plugins = /var/lib/grafana/plugins|plugins = ${GRAFANA_PLUGINDIR}|g' \
-e 's|;provisioning = conf/provisioning|provisioning = ${GRAFANA_PROVISIONINGDIR}|g' \
${WRKSRC}/conf/sample.ini
pre-build:
@(cd ${GO_WRKSRC}; \
${ECHO_MSG} "===> Generating wire_gen.go"; \
${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} run \
./pkg/build/wire/cmd/wire/main.go gen -tags "oss" ./pkg/server)
post-install:
${MKDIR} ${STAGEDIR}${GRAFANA_HOMEDIR}
${MKDIR} ${STAGEDIR}${GRAFANA_HOMEDIR}/conf
${MKDIR} ${STAGEDIR}${GRAFANA_DATADIR}
${MKDIR} ${STAGEDIR}${GRAFANA_PLUGINDIR}
.for dir in access-control alerting dashboards datasources plugins
${MKDIR} ${STAGEDIR}${GRAFANA_PROVISIONINGDIR}/${dir}
.endfor
${MKDIR} ${STAGEDIR}${GRAFANA_LOGDIR}
(cd ${WRKDIR}/${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} \
&& ${COPYTREE_SHARE} public ${STAGEDIR}${GRAFANA_HOMEDIR})
${INSTALL_DATA} ${WRKSRC}/conf/defaults.ini \
${STAGEDIR}${GRAFANA_HOMEDIR}/conf/defaults.ini
${INSTALL_DATA} ${WRKSRC}/conf/sample.ini \
${STAGEDIR}${ETCDIR}/grafana.ini.sample
${INSTALL_DATA} ${WRKSRC}/conf/ldap.toml \
${STAGEDIR}${ETCDIR}/ldap.toml.sample
${FIND} ${STAGEDIR}${DATADIR}/public -type f | \
${SED} "s,^${STAGEDIR}${DATADIR},${DATADIR}," >> ${TMPPLIST}
.include <bsd.port.mk>
|