# Maintainer: Daurnimator <daurnimator@archlinux.org>
# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Chris Brannon <chris@the-brannons.com>
# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
# Contributor: Anders Bergh <anders1@gmail.com>

pkgname=luajit
# LuaJIT has abandoned versioned releases and now advises using git HEAD
# https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583
_commit=505e2c03de35e2718eef0d2d3660712e06dadf1f
pkgver="2.1.0.beta3.r471.g${_commit::8}"
pkgrel=1
pkgdesc='Just-in-time compiler and drop-in replacement for Lua 5.1'
arch=(i486 i686 pentium4 'x86_64')
url='https://luajit.org/'
license=('MIT')
depends=('gcc-libs')
source=("LuaJIT-${_commit}.tar.gz::https://repo.or.cz/luajit-2.0.git/snapshot/${_commit}.tar.gz")
md5sums=('0847dc535736846a9a1436e18d8c509d')
sha256sums=('b89d081aac4189a06b736c667f47cc60e0cc4591933b7ed50db38cf58496386e')
b2sums=('89bed923ff34d2de813dee17f130496ffeaa6bc5caf9252be1df7d35e87fa7398930f1fe35f95650694d344bc99d5b2c0c4abc4568f1dac318822a832d44c3a4')

build() {
  cd "luajit-2.0-${_commit::7}"
  # Avoid early stripping
  make amalg PREFIX=/usr BUILDMODE=dynamic TARGET_STRIP=" @:"
}

package() {
  cd "luajit-2.0-${_commit::7}"

  make install DESTDIR="$pkgdir" PREFIX=/usr
  install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"

  ln -sf luajit-2.1.0-beta3 "$pkgdir/usr/bin/luajit"
}
# Re-enable x87 support for i686 CPUs (fix from KitsuWhooa)
if [ "$CARCH" = 'i486' ]; then
  source+=('luajit-2.0-505e2c0-i486.patch')
  md5sums+=('44317c2d006d45b0970cee8b55a4c05e')
  sha256sums+=('6a758da52d9ddd0162ba342276c4aa4454662b2fe8b89c8a7aa987677679fd30')
  b2sums+=('4a467db526fa550942dee7da7dd599f5976f519573773afab74c372bbb2aa243d60384699c50695dadf0be086fc5b54253692d0836c22da4b079a73b0eb7a822')
  eval "$(
    {
      declare -f prepare \
      || printf 'prepare ()\n{\ncd "luajit-2.0-${_commit::7}"\n}\n'
    } \
    | sed '
      $ i patch -p1 -i "$srcdir/luajit-2.0-505e2c0-i486.patch"
    '
  )"

fi
if [ "$CARCH" = 'i686' ]; then
  source+=('c7815e1a1b49871e645252bb12e722fb4879df11.patch')
  md5sums+=('25a3483026a359e06ec828bc666dc853')
  sha256sums+=('a711e1d7ad7a16d0e6ba044fedc284cc0c4bee710c2d910fd9f0f0af8765c1a7')
  b2sums+=('2d79b2dad25ba3a771348cfd38883334f511de703d2ccfdd00b808867ecf53201d680388c730aaf8941cb5159f6b819020c2da04b75346bc42428973c7f27420')
  eval "$(
    {
      declare -f prepare \
      || printf 'prepare ()\n{\ncd "luajit-2.0-${_commit::7}"\n}\n'
    } \
    | sed '
      $ i patch -p1 -i "$srcdir/c7815e1a1b49871e645252bb12e722fb4879df11.patch"
    '
  )"
fi