# Maintainer: Martell Malone <martellmalone@gmail.com>

_realname=luajit
pkgbase=mingw-w64-${_realname}-git
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-git"
pkgver=2.0.4.49.ga68c411
pkgrel=1
pkgdesc="Just-in-time compiler and drop-in replacement for Lua 5.1 (mingw-w64)"
arch=('any')
url="https://luajit.org/"
license=('MIT')
depends=('winpty')
conflicts=("${MINGW_PACKAGE_PREFIX}-lua51")
provides=("${MINGW_PACKAGE_PREFIX}-lua51")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "git")
options=('strip' 'staticlibs')
source=("${_realname}"::"git+https://luajit.org/git/luajit-2.0.git"
        001-make-import-library.patch
        002-fix-pkg-config-file.patch)
sha256sums=('SKIP'
            '53ae9e09c524b9dfb3c9e918204b84c23ec45f352fa64a39cbb26c27699ecd89'
            '4df486e82b0bbeead01dcf6001e90c51477a3a8ac18611d60d7067f2c7013428')

pkgver() {
  cd "${srcdir}/${_realname}"
  git describe --long | sed 's/^v//;s/-/./g'
}

prepare() {
  cd "${srcdir}/${_realname}"
  patch -p1 -i ${srcdir}/001-make-import-library.patch
  patch -p1 -i ${srcdir}/002-fix-pkg-config-file.patch
  sed -i "s|export PREFIX= /usr/local|export PREFIX="${MINGW_PREFIX}"|g" ${srcdir}/${_realname}/Makefile
}

build() {
  cd "${srcdir}/${_realname}"

  msg "Build static version"
  make amalg BUILDMODE=static

  msg "Build dynamic version"
  make
}

package() {
  cd "${srcdir}/${_realname}"
  make DESTDIR=${pkgdir} install

  _exename=${_realname}
  echo "#!/usr/bin/env bash" > "${pkgdir}${MINGW_PREFIX}/bin/${_exename}"
  echo '/usr/bin/winpty "$( dirname ${BASH_SOURCE[0]} )/'${_exename}'.exe" "$@"' >> "${pkgdir}${MINGW_PREFIX}/bin/${_exename}"

  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
}
