diff --git a/.gitignore b/.gitignore index 6fd0a37..74ae39b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Compiled Lua sources luac.out +matrix-send # luarocks build files *.src.rock @@ -38,4 +39,3 @@ luac.out *.i*86 *.x86_64 *.hex - diff --git a/COMPILE b/COMPILE new file mode 100644 index 0000000..5caca11 --- /dev/null +++ b/COMPILE @@ -0,0 +1,35 @@ + ___________________ + < Manually building > + ------------------- + +Since matrix-send uses Lua, an interpreted programming language, +building is not necessary; you could just move matrix-send.lua to +/usr/local/bin and be done with it. However, for additional speed, +the Makefile precompiles it to Lua bytecode using +luac which is included +in the Lua distribution. To do this yourself, follow these steps: + + => Create the shebang + +In order to be run by a shell, the compiled bytecode needs a +shebang at the start. To do this, run this command: + + printf '#!/usr/bin/env lua\n' > matrix-send + + + => Precompile + +Now, let's append the bytecode to the file: + + luac -o - matrix-send.lua >> matrix-send + + + => Mark as an executable + +Finally, mark the file as executable: + + chmod +x matrix-send + +The file `matrix-send` is now ready to be run by a shell. + +# vi: ft=txt diff --git a/Makefile b/Makefile index d8e1712..0b18e1e 100644 --- a/Makefile +++ b/Makefile @@ -11,8 +11,10 @@ install: luarocks install luaposix luarocks install luasocket luarocks install lua-cjson + printf '#!/usr/bin/env lua\n' > matrix-send + luac -o - matrix-send.lua >> matrix-send + chmod +x matrix-send cp -f matrix-send ${DESTDIR}${PREFIX}/bin - chmod +x ${DESTDIR}${PREFIX}/bin/matrix-send mkdir -p ${DESTDIR}${MANPREFIX}/man1 cp -f matrix-send.1 ${DESTDIR}${MANPREFIX}/man1 mkdir -p ${DESTDIR}${MANPREFIX}/man5 diff --git a/matrix-send b/matrix-send.lua similarity index 100% rename from matrix-send rename to matrix-send.lua