From 05110cd7f0af5f870daa48a1e32bff56efb2676a Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <ldb@leibniz-psychology.org>
Date: Tue, 28 Apr 2020 10:50:10 +0200
Subject: [PATCH] gnu: Add collectd
* gnu/packages/monitoring.scm (collectd): New variable
* gnu/local.mk (dist_patch_DATA): Add new patch
* gnu/packages/patches/collectd-5.11.0-noinstallvar.patch: New file
---
gnu/local.mk | 1 +
gnu/packages/monitoring.scm | 45 +++++++++++++++++++
.../collectd-5.11.0-noinstallvar.patch | 19 ++++++++
3 files changed, 65 insertions(+)
create mode 100644 gnu/packages/patches/collectd-5.11.0-noinstallvar.patch
@@ -816,6 +816,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/cmake-curl-certificates.patch \
%D%/packages/patches/coda-use-system-libs.patch \
+ %D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/containerd-test-with-go1.13.patch \
@@ -6,6 +6,7 @@
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix utils)
+ #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -48,9 +50,11 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages rrdtool)
#:use-module (gnu packages time)
#:use-module (gnu packages tls))
@@ -445,3 +449,44 @@ written in Go with pluggable metric collectors.")
(description "This package provides a file system monitor.")
(home-page "https://github.com/emcrisostomo/fswatch")
(license license:gpl3+)))
+
+(define-public collectd
+ (package
+ (name "collectd")
+ (version "5.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://storage.googleapis.com/collectd-tarballs/collectd-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1cjxksxdqcqdccz1nbnc2fp6yy84qq361ynaq5q8bailds00mc9p"))
+ (patches (search-patches "collectd-5.11.0-noinstallvar.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags (list "--localstatedir=/var" "--sysconfdir=/etc")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Required because of patched sources.
+ (add-before 'configure 'autoreconf
+ (lambda _ (invoke "autoreconf" "-vfi") #t)))))
+ (inputs
+ `(("rrdtool" ,rrdtool)
+ ("curl" ,curl)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://collectd.org/")
+ (synopsis "Collect system and application performance metrics periodically")
+ (description
+ "collectd gathers metrics from various sources, e.g. the operating system,
+applications, logfiles and external devices, and stores this information or
+makes it available over the network. Those statistics can be used to monitor
+systems, find performance bottlenecks (i.e. performance analysis) and predict
+future system load (i.e. capacity planning).")
+ (license '(licenses:expat licenses:gpl2))))
+
new file mode 100644
@@ -0,0 +1,19 @@
+--- a/Makefile.am 2020-03-08 16:57:09.511535600 +0100
++++ b/Makefile.am 2020-04-21 11:36:49.827182272 +0200
+@@ -2376,16 +2376,6 @@
+ endif
+
+ install-exec-hook:
+- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run
+- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/lib/$(PACKAGE_NAME)
+- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/log
+- $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
+- if test -e $(DESTDIR)$(sysconfdir)/collectd.conf; \
+- then \
+- $(INSTALL) -m 0640 $(builddir)/src/collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf.pkg-orig; \
+- else \
+- $(INSTALL) -m 0640 $(builddir)/src/collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf; \
+- fi; \
+ $(mkinstalldirs) $(DESTDIR)$(cpkgdatadir)
+ $(INSTALL) -m 0644 $(srcdir)/src/types.db $(DESTDIR)$(cpkgdatadir)/types.db;
+ $(INSTALL) -m 0644 $(srcdir)/src/postgresql_default.conf \
--
2.20.1