Annotation of pkgsrc/www/grafana/Makefile, Revision 1.41
1.41 ! triaxx 1: # $NetBSD: Makefile,v 1.40 2021/02/07 17:32:47 triaxx Exp $
1.1 tnn 2:
1.41 ! triaxx 3: DISTNAME= grafana-7.4.3
1.1 tnn 4: CATEGORIES= www
5: MASTER_SITES= ${MASTER_SITE_GITHUB:=grafana/}
1.13 adam 6: GITHUB_TAG= v${PKGVERSION_NOREV}
1.1 tnn 7:
1.33 tnn 8: MAINTAINER= pkgsrc-users@NetBSD.org
1.2 tnn 9: HOMEPAGE= https://grafana.com/
1.1 tnn 10: COMMENT= Metrics dashboard and graph editor
11: LICENSE= apache-2.0
12:
1.11 adam 13: DISTFILES= ${DEFAULT_DISTFILES}
1.1 tnn 14:
15: # We don't have suitable infrastructure in pkgsrc for generating frontend
16: # assets, so we'll extract prebuilt frontend assets.
1.11 adam 17: FE_DISTNAME= ${DISTNAME}.linux-amd64.tar.gz
1.1 tnn 18: DISTFILES+= ${FE_DISTNAME}
1.11 adam 19: SITES.${FE_DISTNAME}= https://dl.grafana.com/oss/release/
20: EXTRACT_DIR.${FE_DISTNAME}= ${WRKDIR}/linux
1.1 tnn 21:
1.28 tnn 22: CHECK_PORTABILITY_SKIP= packaging/* devenv/*
1.32 jperkin 23: CHECK_PORTABILITY_SKIP+= packages/grafana-toolkit/docker/*
1.3 wiz 24:
25: CHECK_RELRO_SKIP+= bin/grafana-cli
26: CHECK_RELRO_SKIP+= bin/grafana-server
27:
1.1 tnn 28: USE_TOOLS+= pax
29:
30: PUBLICDIR= ${PREFIX}/share/grafana/public
31: DATADIR= ${VARBASE}/lib/grafana/data
32: PLUGINDIR= ${VARBASE}/lib/grafana/plugins
33: LOGDIR= ${VARBASE}/log/grafana
34:
35: SUBST_CLASSES+= fix-cfg
36: SUBST_STAGE.fix-cfg= pre-configure
37: SUBST_MESSAGE.fix-cfg= Adding pkgsrc paths in sample config
1.32 jperkin 38: SUBST_FILES.fix-cfg= conf/sample.ini pkg/cmd/grafana-server/main.go
1.1 tnn 39: SUBST_SED.fix-cfg= -e 's,^;\(data = \).*,\1${DATADIR},g'
40: SUBST_SED.fix-cfg+= -e 's,^;\(logs = \).*,\1${LOGDIR},g'
41: SUBST_SED.fix-cfg+= -e 's,^;\(plugins = \).*,\1${PLUGINDIR},g'
42: SUBST_SED.fix-cfg+= -e 's,^;\(static_root_path = \).*,\1${PUBLICDIR},g'
1.32 jperkin 43: SUBST_VARS.fix-cfg= DATADIR PKG_SYSCONFDIR PREFIX
1.1 tnn 44:
45: BUILD_DEFS+= GRAFANA_USER GRAFANA_GROUP VARBASE
46: FILES_SUBST+= GRAFANA_USER=${GRAFANA_USER:Q}
47: FILES_SUBST+= GRAFANA_GROUP=${GRAFANA_GROUP:Q}
1.4 jperkin 48: FILES_SUBST+= DATADIR=${DATADIR:Q}
49:
1.32 jperkin 50: .include "go-modules.mk"
51:
1.21 jperkin 52: .include "../../lang/go/go-vars.mk"
1.11 adam 53: .include "../../mk/bsd.prefs.mk"
54:
1.1 tnn 55: GRAFANA_USER?= grafana
56: GRAFANA_GROUP?= grafana
57: OWN_DIRS_PERMS+= ${DATADIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
58: OWN_DIRS_PERMS+= ${LOGDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
59: OWN_DIRS_PERMS+= ${PLUGINDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
60: PKG_USERS_VARS+= GRAFANA_USER
61: PKG_GROUPS_VARS+= GRAFANA_GROUP
62: PKG_GROUPS= ${GRAFANA_GROUP}
63: PKG_USERS= ${GRAFANA_USER}:${GRAFANA_GROUP}
64: RCD_SCRIPTS= grafana
65:
1.13 adam 66: INSTALLATION_DIRS+= bin
67: INSTALLATION_DIRS+= share/grafana/public
1.1 tnn 68:
1.11 adam 69: CONF_FILES+= ${PREFIX}/share/grafana/conf/sample.ini \
70: ${PKG_SYSCONFDIR}/grafana.conf
1.1 tnn 71:
1.32 jperkin 72: do-build:
73: cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${GO} run build.go build
1.1 tnn 74:
75: do-install:
1.34 jperkin 76: ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-cli ${DESTDIR}${PREFIX}/bin/
77: ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-server ${DESTDIR}${PREFIX}/bin/
1.11 adam 78: cd ${WRKDIR}/linux/${DISTNAME}/public && \
79: ${PAX} -rw . ${DESTDIR}${PUBLICDIR}
1.13 adam 80: cd ${WRKSRC} && ${PAX} -rw conf \
81: ${DESTDIR}${PREFIX}/share/grafana/
1.1 tnn 82:
1.32 jperkin 83: .include "../../lang/go/go-module.mk"
1.1 tnn 84: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>