add writeFennelScript function, make ifwait use it
This commit is contained in:
parent
fa7e682e87
commit
fdffdbb22a
6 changed files with 51 additions and 27 deletions
|
@ -1,34 +1,13 @@
|
|||
{
|
||||
luaSmall
|
||||
, netlink-lua
|
||||
, stdenv
|
||||
, makeWrapper
|
||||
, writeFennelScript
|
||||
, runCommand
|
||||
}:
|
||||
let
|
||||
lua = luaSmall;
|
||||
netlink = netlink-lua.override {inherit lua;};
|
||||
fennel = lua.pkgs.fennel;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "ifwait";
|
||||
version = "1";
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
buildInputs = [ lua netlink ];
|
||||
nativeBuildInputs = [ makeWrapper fennel ];
|
||||
|
||||
LUA_CPATH = "${netlink}/lib/lua/${lua.luaversion}/\?.so"; # for nix-shell
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib
|
||||
fennel --compile ${./ifwait.fnl} > $out/lib/${pname}.lua
|
||||
|
||||
makeWrapper ${lua}/bin/lua $out/bin/${pname} \
|
||||
--prefix LUA_CPATH ";" ${netlink}/lib/lua/${lua.luaversion}/\?.so \
|
||||
--add-flags $out/lib/${pname}.lua
|
||||
# makeWrapper adds a shebang for bash
|
||||
sed -i -e '1c#!/bin/sh' $out/bin/${pname}
|
||||
'';
|
||||
}
|
||||
|
||||
# to use fennel.view,
|
||||
# --prefix LUA_PATH ";" ${fennel}/share/lua/5.2/\?.lua \
|
||||
in runCommand "ifwait" {} ''
|
||||
mkdir -p $out/bin
|
||||
cp -p ${writeFennelScript "ifwait" [netlink] ./ifwait.fnl} $out/bin/ifwait
|
||||
''
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue