at 15.09-beta 48 lines 1.4 kB view raw
1{ stdenv, fetchurl, withoutInitTools ? false }: 2 3let version = "2.88dsf"; in 4 5stdenv.mkDerivation { 6 name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version; 7 8 src = fetchurl { 9 url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.bz2"; 10 sha256 = "068mvzaz808a673zigyaqb63xc8bndh2klk16zi5c83rw70wifv0"; 11 }; 12 13 prePatch = '' 14 # Patch some minimal hard references, so halt/shutdown work 15 sed -i -e "s,/sbin/,$out/sbin/," src/halt.c src/init.c src/paths.h 16 ''; 17 18 makeFlags = "SULOGINLIBS=-lcrypt ROOT=$(out) MANDIR=/share/man"; 19 20 crossAttrs = { 21 makeFlags = "SULOGINLIBS=-lcrypt ROOT=$(out) MANDIR=/share/man CC=${stdenv.cross.config}-gcc"; 22 }; 23 24 preInstall = 25 '' 26 substituteInPlace src/Makefile --replace /usr / 27 ''; 28 29 postInstall = '' 30 mv $out/sbin/killall5 $out/bin 31 ln -sf killall5 $out/bin/pidof 32 '' 33 + stdenv.lib.optionalString withoutInitTools 34 '' 35 shopt -s extglob 36 rm -rf $out/sbin/!(sulogin) 37 rm -rf $out/include 38 rm -rf $out/share/man/man5 39 rm $(for i in $out/share/man/man8/*; do echo $i; done | grep -v 'pidof\|killall5') 40 rm $out/bin/{mountpoint,wall} $out/share/man/man1/{mountpoint.1,wall.1} 41 ''; 42 43 meta = { 44 homepage = http://www.nongnu.org/sysvinit/; 45 description = "Utilities related to booting and shutdown"; 46 platforms = stdenv.lib.platforms.linux; 47 }; 48}