blob: edf627ab8150ff43774a97c6165e464f5d940707 [file] [log] [blame]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: David Macek <david.macek.0@gmail.com>
# Contributor: Ray Donnelly <mingw.android@gmail.com>
_realname=lua51
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=5.1.5
pkgrel=5
pkgdesc="A powerful light-weight programming language designed for extending applications. Version 5.1.x (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://www.lua.org/"
license=('MIT')
depends=('winpty')
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
options=('staticlibs' 'strip' 'emptydirs')
source=("${url}/ftp/lua-${pkgver}.tar.gz"
'0001-When-running-Win32-version-of-luac-on-mintty-or-othe.patch'
'0002-Add-Wl-out-implib-liblua.dll.a-to-AR.patch'
'0003-Fix-LUA_-DIR-for-MSYS2-FHS-layout.patch'
'link-implib.patch')
sha256sums=('2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333'
'6254b73bb5fb825ce7f65d2de88209722925ac8633efd88d8804a3c59a66a159'
'd7b455d7b5caed9f3870d0bcc726c724e8b1d8e3f0cae8578bb2148939ffe0a2'
'799f9d7d033dc401fad86e1c0accc7d2ce187b9caacb9f565468c30a5d22dd38'
'bb3568292d5cc91e923274a434a974379e9a8f8fcee222439aebdd1fa92776bb')
prepare() {
cd "${srcdir}/lua-${pkgver}"
sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.1/' \
-e '/^LUAC_T=/ s/luac/luac5.1/' \
-e 's/lua.exe/lua5.1.exe/' \
-e 's/luac.exe/luac5.1.exe/' \
-e 's/luac.exe/luac5.1.exe/' \
-i src/Makefile
rm -f src/iscygpty.{c,h} || true
patch -p1 -i "${srcdir}/0001-When-running-Win32-version-of-luac-on-mintty-or-othe.patch"
patch -p1 -i "${srcdir}/0002-Add-Wl-out-implib-liblua.dll.a-to-AR.patch"
patch -p1 -i "${srcdir}/0003-Fix-LUA_-DIR-for-MSYS2-FHS-layout.patch"
patch -p1 -i "${srcdir}/link-implib.patch"
}
build() {
[[ -d "${srcdir}/build-${CARCH}" ]] && rm -rf "${srcdir}/build-${CARCH}"
cp -rf "${srcdir}/lua-${pkgver}" "${srcdir}/build-${CARCH}"
cd "${srcdir}/build-${CARCH}"
sed -e 's:llua:llua5.1:' \
-e 's:/include:/include/lua5.1:' \
-e "s:/usr/local:${MINGW_PREFIX}:" \
-i etc/lua.pc
make -j1 \
AR="ar rcu" \
RANLIB="ranlib" \
STRIP="strip" \
CC="${MINGW_CHOST}-gcc" \
mingw
# Check we do not encounter:
# "stdin is not a tty"
set -x
echo "print(\"Hello World\")" > hello-world.lua
./src/luac5.1.exe - < hello-world.lua
if [[ ! -f luac.out ]]; then
echo "ERROR :: luac5.1.exe stdin read failed to create luac.out"
return 1
fi
rm hello-world.lua
rm luac.out
}
package() {
cd "${srcdir}/build-${CARCH}"
make \
TO_BIN="lua5.1.exe luac5.1.exe lua51.dll" \
TO_LIB="liblua5.1.a liblua5.1.dll.a" \
INSTALL_DATA='cp -d' \
INSTALL_TOP="${pkgdir}${MINGW_PREFIX}" \
INSTALL_INC="${pkgdir}${MINGW_PREFIX}"/include/lua5.1 \
INSTALL_MAN="${pkgdir}${MINGW_PREFIX}"/share/man/man1 \
install
install -Dm644 etc/lua.pc "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/lua5.1.pc
# Install the documentation
install -d "${pkgdir}${MINGW_PREFIX}"/share/doc/$_realname
install -m644 doc/*.{gif,png,css,html} "${pkgdir}${MINGW_PREFIX}"/share/doc/${_realname}
install -Dm644 COPYRIGHT "${pkgdir}${MINGW_PREFIX}"/share/licenses/${_realname}/COPYRIGHT
cd "${pkgdir}${MINGW_PREFIX}"/share/man/man1
mv lua.1 lua5.1.1
mv luac.1 luac5.1.1
}