### this file is sourced not run
PKGVER=5.4.4
PKGBUILD=1
PKGARCH=i686

LUA_VER=${PKGVER%.*}

# source: BLFS 11.3
TARBALL=lua-$PKGVER.tar.gz
MD5SUM=bd8ce7069ff99a400efd14cf339a727b
SRC_URL=http://www.lua.org/ftp/$TARBALL
BUNDLE=

SLACKREQ=
SLACKDESC="lua32: lua32 $PKGVER (Lua scripting language)  
lua32:  
lua32: Lua is a powerful light-weight programming language designed for 
lua32: extending applications. It is also frequently used as a general-purpose, 
lua32: stand-alone language. Lua is implemented as a small library of C 
lua32: functions, written in ANSI C, and compiles unmodified in all known 
lua32: platforms. The implementation goals are simplicity, efficiency, 
lua32: portability, and low embedding cost. The result is a fast language engine 
lua32: with small footprint, making it ideal in embedded systems too.  
lua32: 
lua32: This contains 32-bit library version of lua. 
"

### default pkg_download
### prepare
pkg_prepare() {
	pkg_prepare_default &&
	
	# BLFS 11.3 shared lib patch
	cd tmp/lua* &&
	patch -Np1 -i ../pkg/lua-5.4.4-shared_library-2.patch &&
	patch -Np1 -i ../pkg/luac-double-free.patch &&
	true
}

### package - only collect the libraries
pkg_package() {
	rm -rf bin sbin usr/bin usr/sbin usr/include usr/share
	mkdir -p usr/include &&
	install -m644 tmp/luaconf-32.h usr/include
}

### build
pkg_build() {
	cd /tmp/lua* &&

	# BLFS 11.3 - create pkgconfig for Lua
	cat > lua.pc << EOF &&
V=$LUA_VER
R=$PKGVER

EOF
	cat >> lua.pc << "EOF" && # this has to be literal
prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include
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

Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm -ldl
Cflags: -I${includedir}
EOF

	# patch for $LIBDIR
	sed -i -e "/#define LUA_CDIR/ s|lib/lua|$LIBDIR/lua|" src/luaconf.h &&

	# build with Lua 5.1 and 5.2 and 5.3 compatibility
	make $MAKEFLAGS MYCFLAGS="-DLUA_COMPAT_5_3 -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1" linux &&

	# install
	make INSTALL_TOP=/usr \
		 INSTALL_DATA="cp -d"     \
		 INSTALL_MAN=/usr/share/man/man1 \
		 TO_LIB="liblua.so liblua.so.$LUA_VER liblua.so.$PKGVER" \
		 INSTALL_LIB=/usr/$LIBDIR \
		 INSTALL_CMOD=/usr/$LIBDIR/lua/$LUA_VER \
		 install &&

	# docs
	mkdir -pv /usr/share/doc/lua-$PKGVER &&
	cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-$PKGVER &&
	install -m644 -v -D lua.pc /usr/$LIBDIR/pkgconfig/lua.pc &&

	# slackdesc
	pkg_build_slackdesc &&

	# multilib
	mv /usr/include/luaconf.h /tmp/luaconf-32.h
}


