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