vscode-extensions.yoavbls.pretty-ts-errors: 0.5.4 -> 0.6.1 (#363464)
[NixPkgs.git] / pkgs / by-name / sy / sysvinit / package.nix
blob546187c7a31481dc5e61b61c1428d66e603f7267
2   lib,
3   stdenv,
4   fetchurl,
5   libxcrypt,
6   withoutInitTools ? false,
7 }:
9 stdenv.mkDerivation rec {
10   pname = if withoutInitTools then "sysvtools" else "sysvinit";
11   version = "3.04";
13   src = fetchurl {
14     url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.xz";
15     sha256 = "sha256-KmIf5uRSi8kTCLdIZ92q6733dT8COVwMW66Be9K346U=";
16   };
18   prePatch = ''
19     # Patch some minimal hard references, so halt/shutdown work
20     sed -i -e "s,/sbin/,$out/sbin/," src/halt.c src/init.c src/paths.h
21   '';
23   buildInputs = [ libxcrypt ];
25   makeFlags = [
26     "SULOGINLIBS=-lcrypt"
27     "ROOT=$(out)"
28     "MANDIR=/share/man"
29   ];
31   preInstall = ''
32     substituteInPlace src/Makefile --replace /usr /
33   '';
35   postInstall =
36     ''
37       mv $out/sbin/killall5 $out/bin
38       ln -sf killall5 $out/bin/pidof
39     ''
40     + lib.optionalString withoutInitTools ''
41       shopt -s extglob
42       rm -rf $out/sbin/!(sulogin)
43       rm -rf $out/include
44       rm -rf $out/share/man/man5
45       rm $(for i in $out/share/man/man8/*; do echo $i; done | grep -v 'pidof\|killall5')
46       rm $out/bin/wall $out/share/man/man1/wall.1
47     '';
49   meta = {
50     homepage = "https://www.nongnu.org/sysvinit/";
51     description = "Utilities related to booting and shutdown";
52     platforms = lib.platforms.linux;
53     license = lib.licenses.gpl2Plus;
54   };