# various undefined functions/constants in modernc.org/sqlite/lib
NOT_FOR_ARCHS =	i386

COMMENT =	monitoring and metric analytics dashboards

V =		12.3.0
DISTNAME =	grafana+vendor-$V
WRKDIST =	${WRKDIR}/grafana-$V
EXTRACT_SUFX =	.tar.zst
PKGNAME =	grafana-$V

MAINTAINER = Lucas Raab <tuftedocelot@fastmail.fm>

CATEGORIES =	sysutils

HOMEPAGE =	https://grafana.com

DISTFILES.a = 	grafana-$V.linux-amd64.tar.gz{grafana-$V.linux-amd64.tar.gz?1}
# force CDN refresh; upstream rerolled but some CDN nodes have the old version
# normally	grafana-$V.linux-amd64.tar.gz:0

# grafana+vendor distfile generated by fetching archive from
# https://github.com/grafana/grafana/archive/v$V/grafana-$V.tar.gz
# running "ulimit -d 8388608 && gmake gen-go", "go mod tidy", 
# and "go work vendor"
SITES =		https://ports.lucasraab.me/
SITES.a =	https://dl.grafana.com/oss/release/

# AGPLv3 + some bits Apache 2.0
# https://grafana.com/licensing
PERMIT_PACKAGE =	Yes

MODULES =	lang/go
WANTLIB +=	c pthread

MODGO_GO111MODULE = on
MODGO_FLAGS += -ldflags="-w -X main.version=$V"
MAKE_ENV =	GOMAXPROCS=${MAKE_JOBS}

do-build:
	mkdir -p ${WRKDIR}/go/src/github.com/grafana
	ln -s ../../all ${WRKDIR}/go/src/github.com/grafana/grafana
	cd ${WRKSRC} && ${MODGO_CMD} run ${MODGO_FLAGS} build.go setup
	cd ${WRKSRC} && ${MODGO_CMD} run ${MODGO_FLAGS} build.go build

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/bin/openbsd-*/grafana{,-{server,cli}} ${PREFIX}/bin
	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/grafana
	${SUBST_CMD} ${WRKSRC}/conf/sample.ini
.for c in sample.ini ldap.toml
	${INSTALL_DATA} ${WRKSRC}/conf/$c ${PREFIX}/share/examples/grafana
.endfor
	cd ${WRKSRC}/conf/ && pax -rw provisioning ${PREFIX}/share/examples/grafana/
	${INSTALL_DATA_DIR} ${PREFIX}/share/grafana/conf
	${INSTALL_DATA} ${WRKSRC}/conf/defaults.ini ${PREFIX}/share/grafana/conf/
	cp -R ${WRKSRC}/public ${PREFIX}/share/grafana

.include <bsd.port.mk>
