Lua: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
{|
{|
| valign="top" |
| valign="top" |
<source lang="bash">
<syntaxhighlight lang="bash">
sudo apt install lua5.4
sudo apt install lua5.4 liblua5.4-dev
sudo apt install luarocks
sudo apt install luarocks
</source>
</syntaxhighlight>


| valign="top" |
| valign="top" |
Line 35: Line 35:
|-
|-
| valign="top" |
| valign="top" |
<source lang="bash">
<syntaxhighlight lang="bash">
export LUA_PATH=/usr/bin/lua5.4
export LUA_PATH=/usr/bin/lua5.4
export LUA_INTERPRETER=/usr/bin/lua5.4
export LUA_INTERPRETER=/usr/bin/lua5.4
</source>
</syntaxhighlight>


| valign="top" |
| valign="top" |
Line 47: Line 47:


==LuaRocks==
==LuaRocks==
<source lang="bash">
<syntaxhighlight lang="bash">
wget -cq https://luarocks.org/releases/luarocks-3.9.2.tar.gz -P ${HOME}/Downloads
wget -cq https://luarocks.org/releases/luarocks-3.9.2.tar.gz -P ${HOME}/Downloads
tar -xzf ${HOME}/Downloads/luarocks-3.9.2.tar.gz -C ${HOME}/Downloads
tar -xzf ${HOME}/Downloads/luarocks-3.9.2.tar.gz -C ${HOME}/Downloads
Line 56: Line 56:
./configure && make && sudo make install
./configure && make && sudo make install
sudo luarocks install luasocket
sudo luarocks install luasocket
</source>
</syntaxhighlight>
 
==LuaSec==
<syntaxhighlight lang="bash">
sudo apt update
cd ~/Documents/lua-playground
sudo apt install git gcc libssl-dev
 
luarocks remove luasec --local
git clone https://github.com/brunoos/luasec.git && cd luasec
sed -z "s|/lua/5.1|/lua/5.4|g" -i ./Makefile
make linux
</syntaxhighlight>


==Playground==
==Playground==
{|
{|
| valign="top" |
| valign="top" |
<source lang="bash">
'''runtime only'''
sudo apt install lua5.4
ls -lah /usr/bin/lua{,c}5.4
 
| valign="top" |
'''runtime + compiler (developer)'''
sudo apt install lua5.4-dev
ls -lah /usr/include/lua5.4
 
| valign="top" |
'''header to compile (developer)'''
sudo apt install liblua5.4-dev
ls -lah /usr/include/lua5.4
 
|-
| colspan="3" |
----
|-
| valign="top" |
<syntaxhighlight lang="bash">
mkdir -p ~/Documents/lua-playground
mkdir -p ~/Documents/lua-playground
cd      ~/Documents/lua-playground
cd      ~/Documents/lua-playground
</source>
</syntaxhighlight>


| valign="top"|
| valign="top"|
<source lang="bash">
<syntaxhighlight lang="bash">
luarocks install moonrocks
luarocks install moonrocks
luarocks install srlua
luarocks install srlua
</source>
</syntaxhighlight>


| valign="top" |
| valign="top" |
<source lang="bash">
<syntaxhighlight lang="bash">
luarocks install lua-json
luarocks install lua-json
luarocks install luaunit
luarocks install luaunit
</source>
</syntaxhighlight>


|-
|-
Line 100: Line 132:
| valign="top" |
| valign="top" |
  luarocks --tree=./local install cmark
  luarocks --tree=./local install cmark
luarocks list
| valign="top" |
luarocks search luasec
  luarocks show luasec
  luarocks show luasec
|-
| colspan="3" |
----
|-
| valign="top" |
systemctl list-units --type=service --state=running
systemctl list-units --type=service --state=active
| valign="top" |
systemctl --type=service --state=running
systemctl --type=service --state=active


| valign="top" |
| valign="top" |
sudo luarocks install luafilesystem


|}
|}
Line 121: Line 171:


| valign="top" |
| valign="top" |
* [https://opensource.com/article/19/11/getting-started-luarocks Lua » Make development easy with Luarocks]
* [https://medium.com/@Games24x7Tech/running-atomicity-consistency-use-case-at-scale-using-lua-scripts-in-redis-372ebc23b58e Lua » Running Atomicity Consistency]
* [https://medium.com/@Games24x7Tech/running-atomicity-consistency-use-case-at-scale-using-lua-scripts-in-redis-372ebc23b58e Lua » Running Atomicity Consistency]
* [https://www.linkedin.com/advice/1/what-pros-cons-using-c-vs-lua-game-scripting-skills-game-design Lua » Pros and Cons » C# vs. Lua]
* [https://www.linkedin.com/advice/1/what-pros-cons-using-c-vs-lua-game-scripting-skills-game-design Lua » Pros and Cons » C# vs. Lua]
* [https://www.lua.org/pil/contents.html Lua » Programming » 1st Edition]
* [https://www.lua.org/pil/contents.html Lua » Programming » 1st Edition]
* [https://github.com/leafo/moonrocks Lua » LuaRocks » MonoRocks]
* [https://github.com/leafo/moonrocks Lua » LuaRocks » MonoRocks]
* [https://luarocks.org/modules/brunoos/luasec Lua » LuaRocks » LuaSec]
* [https://github.com/luarocks/luarocks/wiki/Download#installing Lua » LuaRocks » Install]
* [https://github.com/luarocks/luarocks/wiki/Download#installing Lua » LuaRocks » Install]
* [https://redis.io/docs/interact/programmability/eval-intro/ Lua » Redis Scripting]
* [https://redis.io/docs/interact/programmability/eval-intro/ Lua » Redis Scripting]
Line 137: Line 189:
|-
|-
| valign="top" |
| valign="top" |
* [https://innovativeinnovation.github.io/ubuntu-setup/ Ubuntu setup]
* [https://pkg.go.dev/github.com/toophy/gopher-lua GopherLua]
* [https://pkg.go.dev/github.com/toophy/gopher-lua GopherLua]
* [[Homebrew]]
* [[Homebrew]]
Line 143: Line 196:
* [[Locust]]
* [[Locust]]
* [[LuaJIT]]
* [[LuaJIT]]
* [[Rust]]
* [https://en.wikipedia.org/wiki/Luit Luit]
* [https://en.wikipedia.org/wiki/Luit Luit]
* [[Wrk]]
* [[Wrk]]

Latest revision as of 20:52, 31 March 2024

sudo apt install lua5.4 liblua5.4-dev
sudo apt install luarocks
lua --help
luarocks --help
lua -v
luarocks --version

sudo update-alternatives --config lua-interpreter
sudo update-alternatives --config lua-compiler
sudo mkdir -p /usr/local/lib/luarocks/rocks-5.1
ls -lah       /usr/local/lib/luarocks/
ls -lah ~/.luarocks/
luarocks list

export LUA_PATH=/usr/bin/lua5.4
export LUA_INTERPRETER=/usr/bin/lua5.4

LuaRocks

wget -cq https://luarocks.org/releases/luarocks-3.9.2.tar.gz -P ${HOME}/Downloads
tar -xzf ${HOME}/Downloads/luarocks-3.9.2.tar.gz -C ${HOME}/Downloads
rm  -rf  ${HOME}/Downloads/luarocks-3.9.2.tar.gz
cd       ${HOME}/Downloads/luarocks-3.9.2

sudo update-alternatives --config lua-interpreter
./configure && make && sudo make install
sudo luarocks install luasocket

LuaSec

sudo apt update
cd ~/Documents/lua-playground
sudo apt install git gcc libssl-dev

luarocks remove luasec --local
git clone https://github.com/brunoos/luasec.git && cd luasec
sed -z "s|/lua/5.1|/lua/5.4|g" -i ./Makefile
make linux

Playground

runtime only
sudo apt install lua5.4
ls -lah /usr/bin/lua{,c}5.4
runtime + compiler (developer)
sudo apt install lua5.4-dev
ls -lah /usr/include/lua5.4
header to compile (developer)
sudo apt install liblua5.4-dev
ls -lah /usr/include/lua5.4

mkdir -p ~/Documents/lua-playground
cd       ~/Documents/lua-playground
luarocks install moonrocks
luarocks install srlua
luarocks install lua-json
luarocks install luaunit

luarocks install moonrocks --local
luarocks install srlua     --local
luarocks install moonrocks --local --check-lua-versions
luarocks install srlua     --local --check-lua-versions

sudo luarocks install luasocket
luarocks install luasec --local
luarocks --tree=./local install cmark
luarocks list
luarocks search luasec
luarocks show luasec

systemctl list-units --type=service --state=running
systemctl list-units --type=service --state=active
systemctl --type=service --state=running
systemctl --type=service --state=active
sudo luarocks install luafilesystem


References