1{stdenv, fetchgit, rcinit ? null, rcshutdown ? null, rcreboot ? null}:
2let
3 s = # Generated upstream information
4 rec {
5 baseName="sinit";
6 version="0.9.2";
7 name="${baseName}-${version}";
8 url="http://git.suckless.org/sinit/";
9 sha256="0nncyzwnszwlqcvx1jf42rn1n2dd5vcxkndqb1b546pgpifniivp";
10 rev = "refs/tags/v${version}";
11 };
12 buildInputs = [
13 ];
14in
15stdenv.mkDerivation {
16 inherit (s) name version;
17 inherit buildInputs;
18 src = fetchgit {
19 inherit (s) url sha256 rev;
20 };
21 makeFlags = ["PREFIX=$(out)"];
22 preConfigure = ""
23 + (stdenv.lib.optionalString (rcinit != null) ''sed -re 's@(rcinitcmd[^"]*")[^"]*"@\1${rcinit}"@' -i config.def.h; '')
24 + (stdenv.lib.optionalString (rcshutdown != null) ''sed -re 's@(rc(reboot|poweroff)cmd[^"]*")[^"]*"@\1${rcshutdown}"@' -i config.def.h; '')
25 + (stdenv.lib.optionalString (rcreboot != null) ''sed -re 's@(rc(reboot)cmd[^"]*")[^"]*"@\1${rcreboot}"@' -i config.def.h; '')
26 ;
27 meta = {
28 inherit (s) version;
29 description = ''A very minimal Linux init implementation from suckless.org'';
30 license = stdenv.lib.licenses.mit ;
31 maintainers = [stdenv.lib.maintainers.raskin];
32 platforms = stdenv.lib.platforms.linux;
33 homepage = "http://tools.suckless.org/sinit";
34 downloadPage = "http://git.suckless.org/sinit";
35 };
36}