View Raw Ebuild
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PV="${PV/_beta/-beta}"
DESCRIPTION="The open-source platform for monitoring and observability"
HOMEPAGE="https://grafana.com"
SRC_URI="https://github.com/grafana/grafana/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
inherit go-module systemd
S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="AGPL-3.0 Apache-2.0 BSD-2 BSD-3 BSD-4 BSL-1.0 ImageMagick ISC LGPL-3.0 MIT MPL-2.0 OpenSSL Zlib"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="systemd"
BEPEND="=net-libs/nodejs-22*[icu]
sys-apps/yarn"
RDEPEND="acct-group/grafana
acct-user/grafana
!www-apps/grafana-bin"
DEPEND="${RDEPEND}"
QA_PRESTRIPPED="usr/bin/grafana-*"
pkg_pretend() {
(has network-sandbox ${FEATURES}) && die "You need to disable 'network-sandbox' for this Ebuild in FEATURES"
}
src_compile() {
NX_SOCKET_DIR="/tmp/nx-socket" \
NODE_OPTIONS="--max-old-space-size=6144" \
LDFLAGS="" \
make all || die
}
src_install() {
keepdir /etc/grafana
insinto /etc/grafana
newins "${S}"/conf/defaults.ini grafana.ini
# Frontend assets
insinto /usr/share/${PN}
doins -r public conf
dobin bin/linux-amd64/grafana
newconfd "${FILESDIR}"/grafana.confd grafana
newinitd "${FILESDIR}"/grafana.initd grafana
if ! use systemd; then
systemd_newunit "${FILESDIR}"/grafana.service grafana.service
fi
keepdir /var/{lib,log}/grafana
keepdir /var/lib/grafana/{dashboards,plugins}
fowners grafana:grafana /var/{lib,log}/grafana
fowners grafana:grafana /var/lib/grafana/{dashboards,plugins}
fperms 0750 /var/{lib,log}/grafana
fperms 0750 /var/lib/grafana/{dashboards,plugins}
}
postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
elog "${PN} has built-in log rotation. Please see [log.file] section of"
elog "/etc/grafana/grafana.ini for related settings."
elog
elog "You may add your own custom configuration for app-admin/logrotate if you"
elog "wish to use external rotation of logs. In this case, you also need to make"
elog "sure the built-in rotation is turned off."
fi
}