get fennel from source instead of luarocks

module-based-network
Daniel Barlow 2023-06-20 20:19:11 +01:00
parent 340f7211ef
commit d79a1e15bb
1 changed files with 16 additions and 6 deletions

View File

@ -2,20 +2,30 @@
runCommand
, luaSmall
, runtimeShell
, fetchurl
, lib
, lua53Packages
}:
let lua = luaSmall;
let inherit (lua53Packages) lua;
in name : packages : source :
let
luapath = builtins.map (f: "${f}/share/lua/${lua.luaversion}/?.lua;") packages;
luacpath = builtins.map (f: "${f}/lib/lua/${lua.luaversion}/?.so;") packages;
in runCommand name {} ''
fennel = fetchurl {
url = "https://fennel-lang.org/downloads/fennel-1.3.0";
hash = "sha256-hYSD3rBYF8iTjBOA1m+TvUu8BSp8q6uIMUXi0xwo/dU=";
};
luapath = builtins.map (f: "${f}/share/lua/${luaSmall.luaversion}/?.lua;") packages;
luacpath = builtins.map (f: "${f}/lib/lua/${luaSmall.luaversion}/?.so;") packages;
in runCommand name {
nativeBuildInputs = [ lua ];
} ''
echo $PATH
#!${runtimeShell}
(
echo "#!${lua}/bin/lua"
echo "#!${luaSmall}/bin/lua"
echo "package.path = ${lib.strings.escapeShellArg luapath} .. package.path"
echo "package.cpath = ${lib.strings.escapeShellArg luacpath} .. package.cpath"
${lua.pkgs.fennel}/bin/fennel --correlate --compile ${source}
lua ${fennel} --correlate --compile ${source}
) > $out
chmod a+x $out
''