# Maintainer: Martell Malone _realname=luajit pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" # LuaJIT has abandoned versioned releases and now advises using git HEAD # https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583 _commit="1c3b5a4d722598ecbb9219480142eda682e87bb1" _basever=2.1 pkgver=2.1.1771261233 pkgrel=1 pkgdesc="Just-in-time compiler and drop-in replacement for Lua 5.1 (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://luajit.org/" msys2_repository_url='https://repo.or.cz/w/luajit-2.0.git' msys2_references=( "cpe: cpe:/a:luajit:luajit" ) license=('spdx:MIT') conflicts=("${MINGW_PACKAGE_PREFIX}-lua51" "${MINGW_PACKAGE_PREFIX}-luajit-git") provides=("${MINGW_PACKAGE_PREFIX}-lua51" "${MINGW_PACKAGE_PREFIX}-luajit-git") replaces=("${MINGW_PACKAGE_PREFIX}-lua51" "${MINGW_PACKAGE_PREFIX}-luajit-git") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "git") source=("${_realname}"::"git+https://luajit.org/git/luajit.git#commit=${_commit}" 001-mintty-cygpty-isatty.patch 002-fix-pkg-config-file.patch 003-lua51-modules-paths.patch 004-fix-default-cc.patch) sha256sums=('74fbc26a9fddca7c88b262d4cff6f891d56f7dc3d74dd128c303cfa4b4110163' '0cadf1b6c67c910c81ccb7a6152148dccfb0f1c6b50cdb09a5707cd45e7cbe85' '4df486e82b0bbeead01dcf6001e90c51477a3a8ac18611d60d7067f2c7013428' 'a3d8c7c7724cd5a4173c6ddcbc854aa3424b78fb6c9d4b6c57ed2ebd6c2dd366' '444df1c8ab9c8c348c7c81a7a6bf15d7e02410f4edc38894a65a4bb7ee9a8d68') pkgver() { cd "${_realname}" # The patch version is the timestamp of the above git commit, obtain via `git show -s --format=%ct` echo "$_basever.$(git show -s --format=%ct)" } prepare() { cd "${_realname}" rm -f src/iscygpty.{c,h} || true git apply "${srcdir}"/001-mintty-cygpty-isatty.patch git apply "${srcdir}"/002-fix-pkg-config-file.patch git apply "${srcdir}"/003-lua51-modules-paths.patch git apply "${srcdir}"/004-fix-default-cc.patch sed -i "s|export PREFIX= /usr/local|export PREFIX="${MINGW_PREFIX}"|g" "${srcdir}"/${_realname}/Makefile } build() { cd "${_realname}" XCFLAGS=-DLUAJIT_ENABLE_GC64 if [[ "${CARCH}" == "i686" ]]; then # https://github.com/msys2/MINGW-packages/issues/17042 XCFLAGS+=" -DLUAJIT_NO_UNWIND" fi msg "Build static version" make amalg BUILDMODE=static XCFLAGS="${XCFLAGS}" msg "Build dynamic version" make XCFLAGS="${XCFLAGS}" } package() { cd "${_realname}" make DESTDIR="${pkgdir}" install install -v -Dm644 "${srcdir}/${_realname}/src/lua51.dll" "${pkgdir}${MINGW_PREFIX}/bin/lua51.dll" || exit 1 install -v -Dm644 "${srcdir}/${_realname}/src/luajit.exe" "${pkgdir}${MINGW_PREFIX}/bin/luajit.exe" || exit 1 install -v -Dm644 "${srcdir}/${_realname}/src/libluajit-5.1.dll.a" "${pkgdir}${MINGW_PREFIX}/lib/libluajit-5.1.dll.a" || exit 1 cp "${pkgdir}"${MINGW_PREFIX}/lib/pkgconfig/lua{jit,5.1}.pc }