about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/system/runit/Makefile.patch11
-rw-r--r--pkgs/tools/system/runit/default.nix39
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/tools/system/runit/Makefile.patch b/pkgs/tools/system/runit/Makefile.patch
new file mode 100644
index 0000000000000..43257728e9283
--- /dev/null
+++ b/pkgs/tools/system/runit/Makefile.patch
@@ -0,0 +1,11 @@
+diff -ur admin.orig/runit-2.1.2/src/Makefile admin/runit-2.1.2/src/Makefile
+--- admin.orig/runit-2.1.2/src/Makefile	2014-08-10 20:22:35.000000000 +0200
++++ admin/runit-2.1.2/src/Makefile	2014-10-15 13:04:02.892937939 +0200
+@@ -234,7 +234,6 @@
+ 
+ hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \
+ tryshsgr.c warn-shsgr
+-	./chkshsgr || ( cat warn-shsgr; exit 1 )
+ 	./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
+ 
+ haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
new file mode 100644
index 0000000000000..28a0fa52d2773
--- /dev/null
+++ b/pkgs/tools/system/runit/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "runit-${version}";
+  version = "2.1.2";
+
+  src = fetchurl {
+    url = "http://smarden.org/runit/${name}.tar.gz";
+    sha256 = "065s8w62r6chjjs6m9hapcagy33m75nlnxb69vg0f4ngn061dl3g";
+  };
+
+  phases = [ "unpackPhase" "patchPhase" "buildPhase" "checkPhase" "installPhase" ];
+
+  patches = [ ./Makefile.patch ];
+
+  buildPhase = ''
+    cd ${name}
+    make -C 'src'
+  '';
+
+  checkPhase = ''
+    make -C 'src' check
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    for f in $(cat package/commands); do
+      mv src/$f $out/bin/
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "UNIX init scheme with service supervision";
+    license = licenses.bsd3;
+    homePage = "http://smarden.org/runit";
+    maintainers = with maintainers; [ rickynils ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bf1fdd17b01f9..bc70e291bdeae 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12060,6 +12060,8 @@ let
 
   rssglx = callPackage ../misc/screensavers/rss-glx { };
 
+  runit = callPackage ../tools/system/runit { };
+
   xlockmore = callPackage ../misc/screensavers/xlockmore { };
 
   sails = callPackage ../misc/sails { };