1{ 2 lib, 3 stdenv, 4 skawarePackages, 5 skalibs, 6 execline, 7 s6, 8 targetPackages, 9}: 10 11skawarePackages.buildPackage { 12 pname = "s6-linux-init"; 13 version = "1.1.3.0"; 14 sha256 = "sha256-0RtZa3GawTT3frGUUJB9H+bYS0rcNtRO90jb5VSHs+0="; 15 16 description = "Set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel"; 17 platforms = lib.platforms.linux; 18 19 outputs = [ 20 "bin" 21 "dev" 22 "doc" 23 "out" 24 ]; 25 26 configureFlags = [ 27 "--bindir=\${bin}/bin" 28 "--includedir=\${dev}/include" 29 "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" 30 "--with-include=${skalibs.dev}/include" 31 "--with-include=${execline.dev}/include" 32 "--with-include=${s6.dev}/include" 33 "--with-lib=${skalibs.lib}/lib" 34 "--with-lib=${s6.out}/lib" 35 "--with-lib=${execline.lib}/lib" 36 "--with-dynlib=${skalibs.lib}/lib" 37 "--with-dynlib=${execline.lib}/lib" 38 "--with-dynlib=${s6.out}/lib" 39 ]; 40 41 # See ../s6-rc/default.nix for an explanation 42 postConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) '' 43 substituteInPlace src/init/s6-linux-init-maker.c \ 44 --replace-fail '<execline/config.h>' '"${targetPackages.execline.dev}/include/execline/config.h"' \ 45 --replace-fail '<s6/config.h>' '"${targetPackages.s6.dev}/include/s6/config.h"' \ 46 --replace-fail '<s6-linux-init/config.h>' '"${targetPackages.s6-linux-init.dev}/include/s6-linux-init/config.h"' 47 ''; 48 49 postInstall = '' 50 # remove all s6 executables from build directory 51 rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable) 52 rm libs6_linux_init.* libhpr.* 53 rm -rf skel 54 55 mv doc $doc/share/doc/s6-linux-init/html 56 ''; 57 58}