about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorPeter Hoeg2017-08-07 22:56:54 +0800
committerPeter Hoeg2017-08-17 15:02:41 +0800
commitf49aa9029755bb0b0bd2a964528c7731b2d3f969 (patch)
treea6c010d37a02b7622746e6566fd07332881d2189 /pkgs/servers
parent6ddd4cec8051cfa02cca88b142c2a4eaf4499d7a (diff)
monitoring-plugins: rename from nagiosPluginsOfficial
The upstream project has renamed itself.

We now stick this into a folder where we can keep other shared monitoring plugins.
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/official-2.x.nix36
-rw-r--r--pkgs/servers/monitoring/plugins/default.nix71
2 files changed, 71 insertions, 36 deletions
diff --git a/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix b/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix
deleted file mode 100644
index 67c3954ef569..000000000000
--- a/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, openssh, openssl }:
-
-stdenv.mkDerivation rec {
-  name = "nagios-plugins-${version}";
-  version = "2.2.0";
-
-  src = fetchurl {
-    url = "http://nagios-plugins.org/download/${name}.tar.gz";
-    sha256 = "074yia04py5y07sbgkvri10dv8nf41kqq1x6kmwqcix5vvm9qyy3";
-  };
-
-  # !!! Awful hack. Grrr... this of course only works on NixOS.
-  # Anyway the check that configure performs to figure out the ping
-  # syntax is totally impure, because it runs an actual ping to
-  # localhost (which won't work for ping6 if IPv6 support isn't
-  # configured on the build machine).
-  preConfigure= "
-    configureFlagsArray=(
-      --with-ping-command='/run/wrappers/bin/ping -4 -n -U -w %d -c %d %s'
-      --with-ping6-command='/run/wrappers/bin/ping -6 -n -U -w %d -c %d %s'
-    )
-  ";
-
-  postInstall = "ln -s libexec $out/bin";
-
-  # !!! make openssh a runtime dependency only
-  buildInputs = [ openssh openssl ];
-
-  meta = {
-    description = "Official plugins for Nagios";
-    homepage    = http://www.nagios.org/download/plugins;
-    license     = stdenv.lib.licenses.gpl2;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ thoughtpolice relrod ];
-  };
-}
diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix
new file mode 100644
index 000000000000..808257ca121f
--- /dev/null
+++ b/pkgs/servers/monitoring/plugins/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchFromGitHub, autoreconfHook
+, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl }:
+
+with stdenv.lib;
+
+let
+  majorVersion = "2.2";
+  minorVersion = ".0";
+
+  binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net_snmp ];
+
+in stdenv.mkDerivation rec {
+  name = "monitoring-plugins-${majorVersion}${minorVersion}";
+
+  src = fetchFromGitHub {
+    owner  = "monitoring-plugins";
+    repo   = "monitoring-plugins";
+    rev    = "v${majorVersion}";
+    sha256 = "1pw7i6d2cnb5nxi2lbkwps2qzz04j9zd86fzpv9ka896b4aqrwv1";
+  };
+
+  # !!! Awful hack. Grrr... this of course only works on NixOS.
+  # Anyway the check that configure performs to figure out the ping
+  # syntax is totally impure, because it runs an actual ping to
+  # localhost (which won't work for ping6 if IPv6 support isn't
+  # configured on the build machine).
+  preConfigure= ''
+    substituteInPlace po/Makefile.in.in \
+      --replace /bin/sh ${stdenv.shell}
+
+    sed -i configure.ac \
+      -e 's|^DEFAULT_PATH=.*|DEFAULT_PATH=\"\$out/bin:/run/wrappers/bin:${binPath}\"|'
+
+    configureFlagsArray=(
+      --with-ping-command='/run/wrappers/bin/ping -4 -n -U -w %d -c %d %s'
+      --with-ping6-command='/run/wrappers/bin/ping -6 -n -U -w %d -c %d %s'
+    )
+  '';
+
+  # !!! make openssh a runtime dependency only
+  buildInputs = [ net_snmp openssh openssl perl ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  enableParallelBuilding = true;
+
+  # For unknown reasons the installer tries executing $out/share and fails if
+  # it doesn't succeed.
+  # So we create it and remove it again later.
+  preBuild = ''
+    mkdir -p $out
+    cat <<_EOF > $out/share
+#!${stdenv.shell}
+exit 0
+_EOF
+    chmod 755 $out/share
+  '';
+
+  postInstall = ''
+    rm $out/share
+    ln -s libexec $out/bin
+  '';
+
+  meta = {
+    description = "Official monitoring plugins for Nagios/Ichinga/Sensu and others.";
+    homepage    = https://www.monitoring-plugins.org;
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice relrod ];
+  };
+}