Lua-5.2.4

Introdução ao "Lua" 5.2

Lua é uma linguagem de programação poderosa e leve projetada para estender aplicativos. Também é frequentemente usada como uma linguagem autônoma de uso geral. Lua é implementada como uma pequena biblioteca de funções "C", escrita em "ANSI C", e compila sem modificações em todas as plataformas conhecidas. Os objetivos de implementação são simplicidade, eficiência, portabilidade e baixo custo de incorporação. O resultado é um mecanismo de linguagem rápido e compacto, tornando-a ideal em sistemas embarcados também.

Essa é uma versão mais antiga da Lua necessária somente para compatibilidade com outros aplicativos como Wireshark-4.0.3.

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

  • Transferência (HTTP): https://www.lua.org/ftp/lua-5.2.4.tar.gz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 913fdb32207046b273fdb17aad70be13

  • Tamanho da transferência: 248 KB

  • Espaço em disco estimado exigido: 3,6 MB

  • Tempo de construção estimado: menos que 0,1 UPC

Transferências Adicionais

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lua

Instalação do "Lua" 5.2

Alguns pacotes verificam o arquivo pkg-config para Lua, o qual é criado com:

cat > lua.pc << "EOF"
V=5.2
R=5.2.4

prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include/lua5.2
INSTALL_LIB=${prefix}/lib
INSTALL_MAN=${prefix}/share/man/man1
INSTALL_LMOD=${prefix}/share/lua/${V}
INSTALL_CMOD=${prefix}/lib/lua/${V}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/lua5.2

Name: Lua
Description: Uma Linguagem de Extensão Extensível
Version: ${R}
Requires:
Libs: -L${libdir} -llua5.2 -lm -ldl
Cflags: -I${includedir}
EOF

Instale Lua executando os seguintes comandos:

patch -Np1 -i ../lua-5.2.4-shared_library-1.patch &&

sed -i '/#define LUA_ROOT/s:/usr/local/:/usr/:' src/luaconf.h &&

sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.2/' \
       -e '/^LUAC_T=/ s/luac/luac5.2/'    \
       -i src/Makefile &&

make MYCFLAGS="-fPIC" linux

A instalação desse pacote é complexa, de modo que usaremos o método "DESTDIR" de instalação:

make TO_BIN='lua5.2 luac5.2'                    \
     TO_LIB="liblua5.2.so liblua5.2.so.5.2 liblua5.2.so.5.2.4" \
     INSTALL_DATA="cp -d"                        \
     INSTALL_TOP=$PWD/install/usr                \
     INSTALL_INC=$PWD/install/usr/include/lua5.2 \
     INSTALL_MAN=$PWD/install/usr/share/man/man1 \
     install &&

install -Dm644 lua.pc install/usr/lib/pkgconfig/lua52.pc &&

mkdir -pv install/usr/share/doc/lua-5.2.4 &&
cp -v doc/*.{html,css,gif,png} install/usr/share/doc/lua-5.2.4 &&

ln -s liblua5.2.so install/usr/lib/liblua.so.5.2   &&
ln -s liblua5.2.so install/usr/lib/liblua.so.5.2.4 &&

mv install/usr/share/man/man1/{lua.1,lua5.2.1} &&
mv install/usr/share/man/man1/{luac.1,luac5.2.1}

Agora, como o(a) usuário(a) root:

chown -R root:root install &&
cp -a install/* /

Explicações do Comando

sed -i ... src/luaconf.h: Esse comando muda o caminho de pesquisa de Lua para corresponder ao caminho de instalação.

sed -i ... src/Makefile: Esse comando desconflita essa instalação com a versão mais recente de "Lua".

Conteúdo

Aplicativos Instalados: lua5.2 e luac5.2
Biblioteca Instalada: liblua5.2.so
Diretórios Instalados: /usr/include/lua5.2, /usr/lib/lua/5.2, /usr/share/doc/lua-5.2.4 e /usr/share/lua/5.2

Descrições Curtas

lua5.2

é o interpretador independente "Lua" versão 5.2

luac5.2

é o compilador "Lua" versão 5.2

liblua5.2.so

contém as funções da "API" da Lua versão 5.2