1PORTNAME= grafana 2DISTVERSIONPREFIX= v 3DISTVERSION= 11.6.0 4CATEGORIES= www 5MASTER_SITES= https://dl.grafana.com/oss/release/ \ 6 https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod 7DISTFILES= grafana-${DISTVERSION}.linux-amd64${EXTRACT_SUFX} \ 8 go.mod:gomod \ 9 go.work:gomod \ 10 apps/advisor/go.mod:gomod \ 11 apps/alerting/notifications/go.mod:gomod \ 12 apps/investigations/go.mod:gomod \ 13 apps/playlist/go.mod:gomod \ 14 pkg/aggregator/go.mod:gomod \ 15 pkg/apimachinery/go.mod:gomod \ 16 pkg/apiserver/go.mod:gomod \ 17 pkg/build/go.mod:gomod \ 18 pkg/build/wire/go.mod:gomod \ 19 pkg/codegen/go.mod:gomod \ 20 pkg/plugins/codegen/go.mod:gomod \ 21 pkg/promlib/go.mod:gomod \ 22 pkg/semconv/go.mod:gomod \ 23 pkg/storage/unified/apistore/go.mod:gomod \ 24 pkg/storage/unified/resource/go.mod:gomod \ 25 pkg/util/xorm/go.mod:gomod 26EXTRACT_ONLY= ${DISTFILES:N*.mod\:*:N*.mod:C/:.*//:Ngo.work} 27 28MAINTAINER= ports@MidnightBSD.org 29COMMENT= Dashboard and graph editor for multiple data stores 30WWW= https://grafana.com/grafana/ \ 31 https://github.com/grafana/grafana 32 33LICENSE= agpl 34LICENSE_FILE= ${WRKSRC}/LICENSE 35 36ONLY_FOR_ARCHS= aarch64 amd64 i386 riscv64 37 38RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss 39 40USES= cpe go:1.23,modules 41 42USE_GITHUB= yes 43 44USE_RC_SUBR= grafana 45TAG= d2fdff9 46 47GO_MODULE= github.com/grafana/grafana 48GO_MOD_DIST= github 49GO_TARGET= ./pkg/cmd/grafana \ 50 ./pkg/cmd/grafana-server \ 51 ./pkg/cmd/grafana-cli 52GO_BUILDFLAGS= -ldflags="-w -X main.version=${PORTVERSION} -X main.commit=${TAG}" 53 54CONFLICTS_INSTALL= grafana 55 56SUB_LIST= GRAFANA_USER=${GRAFANA_USER} \ 57 GRAFANA_GROUP=${GRAFANA_GROUP} \ 58 GRAFANA_DATADIR=${GRAFANA_DATADIR} \ 59 GRAFANA_HOMEDIR=${GRAFANA_HOMEDIR} \ 60 GRAFANA_LOGDIR=${GRAFANA_LOGDIR} \ 61 GRAFANA_PLUGINDIR=${GRAFANA_PLUGINDIR} \ 62 GRAFANA_PROVISIONINGDIR=${GRAFANA_PROVISIONINGDIR} 63# Disable some master port targets 64TARGET_ORDER_OVERRIDE= -1:go-post-extract 65 66GRAFANA_USER?= grafana 67GRAFANA_GROUP?= grafana 68 69USERS= ${GRAFANA_USER} 70GROUPS= ${GRAFANA_GROUP} 71 72PLIST_SUB= ${SUB_LIST} 73 74GRAFANA_DATADIR?= /var/db/${PORTNAME} 75GRAFANA_HOMEDIR?= ${DATADIR} 76GRAFANA_LOGDIR?= /var/log/${PORTNAME} 77GRAFANA_PLUGINDIR?= ${GRAFANA_DATADIR}/plugins 78GRAFANA_PROVISIONINGDIR?= ${ETCDIR}/provisioning 79 80NO_TEST= yes 81 82post-extract: 83 @${ECHO_MSG} "===> Tidying ${GO_MODNAME} dependencies"; 84 @(cd ${GO_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} \ 85 GOPROXY=${GO_MODCACHE} ${GO_CMD} mod tidy -e) 86 @${ECHO_MSG} "===> Vendoring ${GO_MODNAME} dependencies"; 87 @(cd ${GO_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} \ 88 GOPROXY=${GO_MODCACHE} ${GO_CMD} work vendor -e) 89 90post-patch: 91 @${REINPLACE_CMD} \ 92 -e 's|;data = /var/lib/grafana|data = ${GRAFANA_DATADIR}|g' \ 93 -e 's|;logs = /var/log/grafana|logs = ${GRAFANA_LOGDIR}|g' \ 94 -e 's|;plugins = /var/lib/grafana/plugins|plugins = ${GRAFANA_PLUGINDIR}|g' \ 95 -e 's|;provisioning = conf/provisioning|provisioning = ${GRAFANA_PROVISIONINGDIR}|g' \ 96 ${WRKSRC}/conf/sample.ini 97 98pre-build: 99 @(cd ${GO_WRKSRC}; \ 100 ${ECHO_MSG} "===> Generating wire_gen.go"; \ 101 ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} run \ 102 ./pkg/build/wire/cmd/wire/main.go gen -tags "oss" ./pkg/server) 103 104post-install: 105 ${MKDIR} ${ETCDIR} 106 ${MKDIR} ${GRAFANA_HOMEDIR} 107 ${MKDIR} ${GRAFANA_HOMEDIR}/conf 108 ${MKDIR} ${FAKE_DESTDIR}${GRAFANA_DATADIR} 109 ${MKDIR} ${FAKE_DESTDIR}${GRAFANA_PLUGINDIR} 110.for dir in access-control alerting dashboards datasources plugins 111 ${MKDIR} ${FAKE_DESTDIR}${GRAFANA_PROVISIONINGDIR}/${dir} 112.endfor 113 ${MKDIR} ${FAKE_DESTDIR}${GRAFANA_LOGDIR} 114 (cd ${WRKDIR}/${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} \ 115 && ${COPYTREE_SHARE} public ${GRAFANA_HOMEDIR}) 116 ${INSTALL_DATA} ${WRKSRC}/conf/defaults.ini \ 117 ${GRAFANA_HOMEDIR}/conf/defaults.ini 118 ${INSTALL_DATA} ${WRKSRC}/conf/sample.ini \ 119 ${ETCDIR}/grafana.ini.sample 120 ${INSTALL_DATA} ${WRKSRC}/conf/ldap.toml \ 121 ${ETCDIR}/ldap.toml.sample 122 ${FIND} ${DATADIR}/public -type f | \ 123 ${SED} "s,^${DATADIR},${DATADIR_REL}," >> ${TMPPLIST} 124 125.include <bsd.port.mk> 126