blob: 288413e7cd9f46a6cad550d92acf49de6b84ee50 [file] [log] [blame]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: David Macek <david.macek.0@gmail.com>
# Contributor: Felix Huettner <huettner94@gmx.de>
# Contributor: Ray Donnelly <mingw.android@gmail.com>
_realname=lua
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=5.4.2
pkgrel=2
pkgdesc="A powerful light-weight programming language designed for extending applications. (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://www.lua.org/"
license=('MIT')
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
options=('staticlibs' 'strip' 'emptydirs')
source=("${url}/ftp/lua-${pkgver}.tar.gz"
'lua.pc'
'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'
'LICENSE')
sha256sums=('11570d97e9d7303c0a59567ed1ac7c648340cd0db10d5fd594c09223ef2f524f'
'ca9252633e782b8f85d6a94ea4f6babd4fe30bd759085b373160b1878e36ff78'
'9b3c36d1b4001b12306419cf93fa3f0309957865a8d589577838d35d747fb07c'
'f5b754096ba8117e9e7dedb2e4ecf7b57ab2747e284c14cd51b2cb3353bee3e0'
'bae70ef5c4a470527da6696351c9fb90284c6e5739fd2d12d408e5a135a3f1dd'
'046de390e803121bca31c9e63e0738cce228cec788cd88d5adcbc727f0f429f9'
'142fb08b41a807b192b4b2c166696a1830a1c97967e5099ad0e579bf500e1da4')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
cp "${srcdir}/lua.pc" .
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}/${_realname}-${pkgver}" "${srcdir}/build-${CARCH}"
cd "${srcdir}/build-${CARCH}"
sed -e "s|%VER%|${pkgver%.*}|g;s|%REL%|${pkgver}|g" \
-e "s|/usr|${MINGW_PREFIX}|g" \
-i lua.pc
make \
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/luac.exe - < hello-world.lua
if [[ ! -f luac.out ]]; then
echo "ERROR :: luac.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="lua.exe luac.exe lua54.dll" \
TO_LIB="liblua.a liblua.dll.a" \
INSTALL_TOP="${pkgdir}${MINGW_PREFIX}" \
INSTALL_MAN="${pkgdir}${MINGW_PREFIX}"/share/man/man1 \
install
install -Dm644 lua.pc "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/lua.pc
install -Dm644 lua.pc "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/lua5.4.pc
# Install the documentation
install -d "${pkgdir}${MINGW_PREFIX}"/share/doc/lua
install -m644 doc/*.{gif,png,css,html} "${pkgdir}${MINGW_PREFIX}"/share/doc/lua
install -Dm644 ../LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}