--- /dev/null
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+EGO_PN=github.com/influxdata/chronograf
+
+inherit golang-build golang-vcs-snapshot systemd user
+
+DESCRIPTION="Monitoring, processing and alerting on time series data"
+HOMEPAGE="https://www.influxdata.com"
+SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~williamh/dist/${PN}-gen-${PV}.tar.gz"
+
+LICENSE="AGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+pkg_setup() {
+ enewgroup chronograf
+ enewuser chronograf -1 -1 /var/lib/chronograf chronograf
+}
+
+src_unpack() {
+ local f
+ golang-vcs-snapshot_src_unpack
+ pushd "${S}/src/${EGO_PN}" > /dev/null || die
+ for f in ${A}; do
+ case $f in
+ ${PN}-gen-*.tar.*)
+ unpack ${f}
+ ;;
+ esac
+ done
+}
+
+src_compile() {
+ pushd "src/${EGO_PN}" > /dev/null || die
+ set -- env GOPATH="${S}" go build -o chronograf cmd/chronograf/main.go
+ echo "$@"
+ "$@" || die "building chronograf failed"
+ set -- env GOPATH="${S}" go build -o chronoctl cmd/chronoctl/main.go
+ echo "$@"
+ "$@" || die "building chronoctl failed"
+ popd > /dev/null || die
+}
+
+src_install() {
+ pushd "src/${EGO_PN}" > /dev/null || die
+dobin chronograf chronoctl
+ dodoc CHANGELOG.md
+ insinto /etc/logrotate.d
+ newins etc/scripts/logrotate chronograf
+ systemd_dounit etc/scripts/chronograf.service
+ insinto /usr/share/chronograf/canned
+doins canned/*.json
+keepdir /usr/share/chronograf/resources
+ keepdir /var/log/chronograf
+ fowners chronograf:chronograf /var/log/chronograf
+ newconfd "${FILESDIR}"/chronograf.confd chronograf
+ newinitd "${FILESDIR}"/chronograf.rc chronograf
+ popd > /dev/null || die
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ einfo "In order to use chronograf, you will need to configure"
+ einfo "the appropriate options in ${EROOT}etc/conf.d/chronograf"
+ fi
+}
--- /dev/null
+#The convention in this file is to show the default setting commented
+#out.
+#To change the setting, uncomment it then change the value.
+
+#This is the chronograf error log:
+#error_log="/var/log/chronograf/chronograf.log"
+
+#This is the chronograf output log:
+#output_log="/dev/null"
+
+# If you set this to yes, chronograf will report anonymous usage stats
+# to influx data.
+#report_usage_stats="no"
+
+# Extra options to pass to chronograf:
+#chronograf_opts=""
--- /dev/null
+#!/sbin/openrc-run
+
+command=/usr/bin/chronograf
+command_args="${chronograf_opts}"
+command_background=yes
+command_user=chronograf:chronograf
+make_pidfile=yes
+pidfile=/var/run/chronografd.pid
+
+# Logging
+error_log="${error_log:-/var/log/chronograf/chronograf.log}"
+output_log="${output_log:-/dev/null}"
+
+start_pre() {
+ export HOST=127.0.0.1
+ export PORT=8888
+ export BOLT_PATH=/var/lib/chronograf/chronograf-v1.db
+ export CANNED_PATH=/usr/share/chronograf/canned
+ export RESOURCES_PATH=/usr/share/chronograf/RESOURCES
+ yesno "${report_usage_stats:-no}" || export REPORTING_DISABLED=yes
+ return 0
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ Open source framework for processing, monitoring and alerting on
+ time series data.
+ </longdescription>
+</pkgmetadata>