liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

default.nix (814B)


      1 {
      2   lua5_3,
      3   stdenv,
      4   makeWrapper,
      5 }:
      6 let
      7   lua = lua5_3.withPackages (
      8     ps: with ps; [
      9       luasocket
     10       luaposix
     11       fennel
     12     ]
     13   );
     14 in
     15 stdenv.mkDerivation {
     16   pname = "tufted";
     17   version = "1";
     18   phases = [
     19     "unpackPhase"
     20     "installPhase"
     21   ];
     22   buildInputs = [
     23     lua
     24   ];
     25   nativeBuildInputs = [ makeWrapper ];
     26   src = ./.;
     27   installPhase = ''
     28     mkdir -p $out/lib
     29     cp tftp.lua tufted.fnl $out/lib
     30     makeWrapper ${lua.pkgs.fennel}/bin/fennel \
     31       $out/bin/tufted \
     32       --prefix LUA_CPATH \; "${lua}/lib/lua/5.3/?.so" \
     33       --add-flags "--add-fennel-path $out/lib/?.fnl" \
     34       --add-flags "--add-package-path $out/lib/?.lua" \
     35       --add-flags "--add-package-path ${lua}/share/lua/5.3/?.lua\;${lua}/share/lua/5.3/?/init.lua" \
     36       --add-flags "$out/lib/tufted.fnl"
     37   '';
     38 }