Annotation of pkgsrc/www/grafana/Makefile, Revision 1.92
1.92 ! triaxx 1: # $NetBSD: Makefile,v 1.91 2023/02/09 04:53:29 triaxx Exp $
1.91 triaxx 2:
1.92 ! triaxx 3: DISTNAME= grafana-9.3.6
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.57 tnn 22: BUILD_DEPENDS+= go-wire-[0-9]*:../../devel/go-wire
23:
1.28 tnn 24: CHECK_PORTABILITY_SKIP= packaging/* devenv/*
1.32 jperkin 25: CHECK_PORTABILITY_SKIP+= packages/grafana-toolkit/docker/*
1.3 wiz 26:
1.1 tnn 27: USE_TOOLS+= pax
28:
29: PUBLICDIR= ${PREFIX}/share/grafana/public
30: DATADIR= ${VARBASE}/lib/grafana/data
31: PLUGINDIR= ${VARBASE}/lib/grafana/plugins
32: LOGDIR= ${VARBASE}/log/grafana
33:
34: SUBST_CLASSES+= fix-cfg
35: SUBST_STAGE.fix-cfg= pre-configure
36: SUBST_MESSAGE.fix-cfg= Adding pkgsrc paths in sample config
1.57 tnn 37: SUBST_FILES.fix-cfg= conf/sample.ini pkg/cmd/grafana-server/commands/cli.go
1.1 tnn 38: SUBST_SED.fix-cfg= -e 's,^;\(data = \).*,\1${DATADIR},g'
39: SUBST_SED.fix-cfg+= -e 's,^;\(logs = \).*,\1${LOGDIR},g'
40: SUBST_SED.fix-cfg+= -e 's,^;\(plugins = \).*,\1${PLUGINDIR},g'
41: SUBST_SED.fix-cfg+= -e 's,^;\(static_root_path = \).*,\1${PUBLICDIR},g'
1.32 jperkin 42: SUBST_VARS.fix-cfg= DATADIR PKG_SYSCONFDIR PREFIX
1.1 tnn 43:
1.43 triaxx 44: SUBST_CLASSES+= build
45: SUBST_STAGE.build= pre-build
46: SUBST_MESSAGE.build= Fixing go path in build.go
1.57 tnn 47: SUBST_FILES.build= pkg/build/cmd.go
1.43 triaxx 48: SUBST_VARS.build= GO
49:
1.1 tnn 50: BUILD_DEFS+= GRAFANA_USER GRAFANA_GROUP VARBASE
51: FILES_SUBST+= GRAFANA_USER=${GRAFANA_USER:Q}
52: FILES_SUBST+= GRAFANA_GROUP=${GRAFANA_GROUP:Q}
1.4 jperkin 53: FILES_SUBST+= DATADIR=${DATADIR:Q}
54:
1.32 jperkin 55: .include "go-modules.mk"
56:
1.21 jperkin 57: .include "../../lang/go/go-vars.mk"
1.11 adam 58: .include "../../mk/bsd.prefs.mk"
59:
1.1 tnn 60: GRAFANA_USER?= grafana
61: GRAFANA_GROUP?= grafana
62: OWN_DIRS_PERMS+= ${DATADIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
63: OWN_DIRS_PERMS+= ${LOGDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
64: OWN_DIRS_PERMS+= ${PLUGINDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
65: PKG_USERS_VARS+= GRAFANA_USER
66: PKG_GROUPS_VARS+= GRAFANA_GROUP
67: PKG_GROUPS= ${GRAFANA_GROUP}
68: PKG_USERS= ${GRAFANA_USER}:${GRAFANA_GROUP}
69: RCD_SCRIPTS= grafana
70:
1.13 adam 71: INSTALLATION_DIRS+= bin
72: INSTALLATION_DIRS+= share/grafana/public
1.1 tnn 73:
1.11 adam 74: CONF_FILES+= ${PREFIX}/share/grafana/conf/sample.ini \
75: ${PKG_SYSCONFDIR}/grafana.conf
1.1 tnn 76:
1.63 tnn 77: post-extract:
78: ${FIND} ${WRKDIR}/linux -type f -a -exec ${CHMOD} -x "{}" \;
79:
1.57 tnn 80: # These comands come from Makefile, build-go target.
1.32 jperkin 81: do-build:
1.60 tnn 82: cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${PREFIX}/bin/wire gen -tags oss ./pkg/server ./pkg/cmd/grafana-cli/runner
83: cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${GO} run build.go build
1.1 tnn 84:
85: do-install:
1.34 jperkin 86: ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-cli ${DESTDIR}${PREFIX}/bin/
87: ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-server ${DESTDIR}${PREFIX}/bin/
1.11 adam 88: cd ${WRKDIR}/linux/${DISTNAME}/public && \
89: ${PAX} -rw . ${DESTDIR}${PUBLICDIR}
1.13 adam 90: cd ${WRKSRC} && ${PAX} -rw conf \
91: ${DESTDIR}${PREFIX}/share/grafana/
1.1 tnn 92:
1.32 jperkin 93: .include "../../lang/go/go-module.mk"
1.1 tnn 94: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>