Files
haikuports/dev-lang/lua/lua-5.4.6.recipe
augiedoggie f16a8851f0 lua: enable readline, misc cleanup (#8998)
readline is enabled so the the lua REPL has proper support for line editing/arrow keys
related to #8972

Also, remove some static library remnants and tweak the TEST command
2023-07-06 11:00:26 -06:00

124 lines
3.4 KiB
Bash

SUMMARY="A powerful, fast, light-weight, embeddable scripting language"
DESCRIPTION="Lua combines simple procedural syntax with powerful data \
description constructs based on associative arrays and extensible semantics. \
Lua is dynamically typed, runs by interpreting bytecode for a register-based \
virtual machine, and has automatic memory management with incremental garbage \
collection, making it ideal for configuration, scripting, and rapid prototyping."
HOMEPAGE="https://www.lua.org/"
COPYRIGHT="1994-2023 Lua.org, PUC-Rio"
LICENSE="MIT"
REVISION="2"
SOURCE_URI="http://www.lua.org/ftp/lua-$portVersion.tar.gz"
CHECKSUM_SHA256="7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88"
PATCHES="lua-$portVersion.patchset"
if [ $effectiveTargetArchitecture = x86_gcc2 ]; then
PATCHES+="
lua-$portVersion.gcc2.patchset
"
fi
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
libVersion="${portVersion%.*}"
libVersionCompat="$libVersion compat >= $libVersion"
portVersionCompat="$portVersion compat >= $libVersion"
luaInc="`echo ${libVersion} | tr -d '.'`"
luaVer="`echo $portVersion | cut -d~ -f1`"
PROVIDES="
lua$secondaryArchSuffix = $portVersionCompat
cmd:lua$secondaryArchSuffix = $portVersionCompat
cmd:lua$libVersion$secondaryArchSuffix = $portVersionCompat
cmd:luac$secondaryArchSuffix = $portVersionCompat
cmd:luac$libVersion$secondaryArchSuffix = $portVersionCompat
lib:liblua$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
"
PROVIDES_devel="
lua${secondaryArchSuffix}_devel = $portVersionCompat
devel:liblua$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
lua$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libreadline$secondaryArchSuffix >= 8
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:make
"
BUILD()
{
if [ $effectiveTargetArchitecture = x86_gcc2 ]; then
GCC2_CFLAG="-DLUA_NOBUILTIN=1"
fi
make haiku MYCFLAGS="-DLUA_ROOT='\"$prefix/\"' -DLUA_LDIR='\"$dataDir/lua/$libVersion/\"' \
$GCC2_CFLAG" LUA_T="lua$libVersion" LUAC_T="luac$libVersion" \
LUA_SO="liblua.so.$libVersion"
}
INSTALL()
{
make install INSTALL_TOP="$prefix" INSTALL_MAN="$manDir/man1" \
INSTALL_INC="$includeDir/lua$luaInc" INSTALL_LMOD="$dataDir/lua/$libVersion" \
INSTALL_LIB="$libDir" INSTALL_BIN="$binDir" TO_BIN="lua$libVersion luac$libVersion" \
TO_LIB="liblua.so.$libVersion"
ln -s lua$libVersion $binDir/lua
ln -s luac$libVersion $binDir/luac
ln -s liblua.so.$libVersion $libDir/liblua.so
mkdir -p $docDir
cp doc/{*.html,logo.gif,lua.css,manual.css,osi-certified-72x60.png} $docDir
rm -r $dataDir #empty directory
rm -r $prefix/lib/lua #empty directory
mkdir -p $developLibDir/pkgconfig
cat > $developLibDir/pkgconfig/lua.pc << EOF
V=$libVersion
R=$luaVer
INSTALL_BIN=$binDir
INSTALL_INC=$includeDir
INSTALL_LIB=$libDir
INSTALL_MAN=$manDir
INSTALL_LMOD=${dataDir}/lua/\${V}
INSTALL_CMOD=${libDir}/lua/\${V}
exec_prefix=$prefix
libdir=$libDir
includedir=$includeDir
Name: Lua
Description: An Extensible Extension Language
Version: \${R}
Requires:
Libs: -L\${libdir} -llua
Cflags: -I\${includedir}/lua$luaInc
EOF
ln -s $developLibDir/pkgconfig/lua.pc $developLibDir/pkgconfig/lua$libVersion.pc
prepareInstalledDevelLib liblua
packageEntries devel $developDir \
$docDir
rm -rf $documentationDir/packages #empty directory
}
TEST()
{
make LUA_T="lua$libVersion" test
}