-
Notifications
You must be signed in to change notification settings - Fork 298
/
lua5.4-5.4.4.recipe
125 lines (107 loc) · 3.52 KB
/
lua5.4-5.4.4.recipe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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-2020 Lua.org, PUC-Rio"
LICENSE="MIT"
REVISION="2"
SOURCE_URI="http://www.lua.org/ftp/lua-$portVersion.tar.gz"
CHECKSUM_SHA256="164c7849653b80ae67bec4b7473b884bf5cc8d2dca05653475ec2ed27b9ebf61"
SOURCE_DIR="lua-$portVersion"
PATCHES="lua54-$portVersion.patchset"
if [ $effectiveTargetArchitecture = x86_gcc2 ]; then
PATCHES+="
lua54-$portVersion.gcc2.patchset
"
fi
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
libVersion="${portVersion%.*}"
libVersionCompat="$libVersion compat >= $libVersion"
luaInc="`echo ${libVersion} | tr -d '.'`"
luaVer="`echo $portVersion | cut -d~ -f1`"
PROVIDES="
lua5.4$secondaryArchSuffix = $portVersion compat >= 5.4
# cmd:lua$secondaryArchSuffix = $portVersion compat >= 5.4
cmd:lua$libVersion$secondaryArchSuffix = $portVersion compat >= 5.4
# cmd:luac$secondaryArchSuffix = $portVersion compat >= 5.4
cmd:luac$libVersion$secondaryArchSuffix = $portVersion compat >= 5.4
lib:liblua$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
lua5.4${secondaryArchSuffix}_devel = $portVersion compat >= 5.4
devel:liblua$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
lua5.4$secondaryArchSuffix == $portVersion base
"
CONFLICTS_devel="
lua${secondaryArchSuffix}_devel
lua5.1${secondaryArchSuffix}_devel
lua5.2${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
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.a liblua.so.$libVersion"
# ln -s lua$libVersion $binDir/lua
# ln -s luac$libVersion $binDir/luac
ln -s liblua.so.$libVersion $libDir/liblua.so
mv $manDir/man1/lua.1 $manDir/man1/lua$luaInc.1
mv $manDir/man1/luac.1 $manDir/man1/luac$luaInc.1
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
}
TEST()
{
src/lua$libVersion -v
}