summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD83
2 files changed, 63 insertions, 40 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ae166246fef9..9b2463599ff8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,18 @@
pkgbase = mingw-w64-luajit
pkgdesc = Just-in-time compiler and drop-in replacement for Lua 5.1
- pkgver = 2.0.5
- pkgrel = 1
- url = http://luajit.org/
- arch = i686
- arch = x86_64
+ pkgver = 2.1.1713773202
+ pkgrel = 2
+ url = https://luajit.org/
+ arch = any
license = MIT
- depends = gcc-multilib
+ makedepends = gcc-libs
+ makedepends = lib32-gcc-libs
+ makedepends = mingw-w64-gcc
+ depends = mingw-w64-crt
options = !strip
options = !buildflags
- source = http://luajit.org/download/LuaJIT-2.0.5.tar.gz
- sha256sums = 874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979
+ options = staticlibs
+ source = LuaJIT-5790d253972c9d78a0c2aece527eda5b134bbbf7.tar.gz::https://github.com/LuaJIT/LuaJIT/archive/5790d253972c9d78a0c2aece527eda5b134bbbf7.tar.gz
+ sha256sums = a299cd389c4568cff4c900e9e86fb56b1f422bf38497a695f6a96e37607a6645
pkgname = mingw-w64-luajit
-
diff --git a/PKGBUILD b/PKGBUILD
index e8328ef9155c..c3f55c6ee820 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,16 +1,23 @@
-# Maintainer: edub4rt <edub4rt@gmail.com>
+# Maintainer: Hugo Hromic <hhromic@gmail.com>
+# Contributor: edub4rt <edub4rt@gmail.com>
+# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Daurnimator <daurnimator@archlinux.org>
pkgname=mingw-w64-luajit
-pkgver=2.0.5
+# LuaJIT has a "rolling release" where you should follow git HEAD
+_commit=5790d253972c9d78a0c2aece527eda5b134bbbf7
+# The patch version is the timestamp of the above git commit, obtain via `git show -s --format=%ct`
+_ct=1713773202
+pkgver="2.1.${_ct}"
pkgrel=2
pkgdesc='Just-in-time compiler and drop-in replacement for Lua 5.1'
-arch=('i686' 'x86_64')
-url='http://luajit.org/'
+arch=('any')
+url='https://luajit.org/'
license=('MIT')
-depends=(mingw-w64-crt)
-makedepends=(mingw-w64-gcc)
-source=(http://luajit.org/download/LuaJIT-${pkgver/rc/-rc}.tar.gz)
-options=(!strip !buildflags)
-sha256sums=('874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979')
+depends=('mingw-w64-crt')
+makedepends=('gcc-libs' 'lib32-gcc-libs' 'mingw-w64-gcc')
+source=("LuaJIT-${_commit}.tar.gz::https://github.com/LuaJIT/LuaJIT/archive/${_commit}.tar.gz")
+sha256sums=('a299cd389c4568cff4c900e9e86fb56b1f422bf38497a695f6a96e37607a6645')
+options=('!strip' '!buildflags' staticlibs)
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
@@ -18,38 +25,52 @@ build() {
unset LDFLAGS
for _target in ${_targets}; do
- mkdir -p ${srcdir}/luajit-build-${_target} && cd ${srcdir}/luajit-build-${_target}
- cp -R $srcdir/LuaJIT-$pkgver/* .
- cd src
+ if [ ! -d ${srcdir}/LuaJIT-build-${_target} ]; then
+ cp -R $srcdir/LuaJIT-${_commit} ${srcdir}/LuaJIT-build-${_target}
+ fi
+ cd ${srcdir}/LuaJIT-build-${_target}/src
- sed -i 's/^BUILDMODE= [a-z]*$/BUILDMODE= dynamic/' Makefile
- make clean
+ _host_cc="gcc -m64"
if [ "$_target" == "i686-w64-mingw32" ]; then
- make PREFIX=/usr/$_target HOST_CC="gcc -m32" CROSS=${_target}- TARGET_SYS=Windows lua51.dll
- else
- make PREFIX=/usr/$_target HOST_CC="gcc -m64" CROSS=${_target}- TARGET_SYS=Windows lua51.dll
+ _host_cc="gcc -m32"
fi
+
+ # TARGET_STRIP below avoids early stripping
+
+ make clean
+ make amalg PREFIX=/usr/$_target BUILDMODE=dynamic HOST_CC="$_host_cc" CROSS=${_target}- TARGET_STRIP=" @:" TARGET_SYS=Windows
cp lua51.dll ../
- sed -i 's/^BUILDMODE= [a-z]*$/BUILDMODE= static/' Makefile
make clean
- if [ "$_target" == "i686-w64-mingw32" ]; then
- make PREFIX=/usr/$_target HOST_CC="gcc -m32" CROSS=${_target}- TARGET_SYS=Windows amalg
- else
- make PREFIX=/usr/$_target HOST_CC="gcc -m64" CROSS=${_target}- TARGET_SYS=Windows amalg
- fi
+ make amalg PREFIX=/usr/$_target BUILDMODE=static HOST_CC="$_host_cc" CROSS=${_target}- TARGET_STRIP=" @:" TARGET_SYS=Windows
+ done
+}
+
+check() {
+ for _target in ${_targets}; do
+ cd ${srcdir}/LuaJIT-build-${_target}
+
+ # Make sure that _ct was updated
+ test "${_ct}" == "$(cat .relver)"
done
}
package() {
for _target in ${_targets}; do
- cd ${srcdir}/luajit-build-${_target}
- mkdir -p $pkgdir/usr/${_target}/lib
- mkdir -p $pkgdir/usr/${_target}/include/luajit-2.0
- cp lua51.dll $pkgdir/usr/${_target}/lib/luajit-2.0.dll
- cp src/libluajit.a $pkgdir/usr/${_target}/lib/
- cp src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $pkgdir/usr/$_target/include/luajit-2.0/
- ${_target}-strip --strip-unneeded "$pkgdir"/usr/${_target}/lib/*.dll
- ${_target}-strip -g "$pkgdir"/usr/${_target}/lib/*.a
+ cd ${srcdir}/LuaJIT-build-${_target}
+ mkdir -p $pkgdir/usr/${_target}/{bin,lib}
+ mkdir -p $pkgdir/usr/${_target}/include/luajit-2.1
+ mkdir -p $pkgdir/usr/${_target}/lib/pkgconfig
+ cp lua51.dll $pkgdir/usr/${_target}/bin/luajit-2.1.dll
+ cp src/libluajit.a $pkgdir/usr/${_target}/lib/
+ cp src/libluajit-5.1.dll.a $pkgdir/usr/${_target}/lib/libluajit-2.1.dll.a
+ cp src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $pkgdir/usr/$_target/include/luajit-2.1/
+ cp etc/luajit.pc "$pkgdir"/usr/${_target}/lib/pkgconfig/
+ ${_target}-strip --strip-unneeded "$pkgdir"/usr/${_target}/bin/*.dll
+ ${_target}-strip -g "$pkgdir"/usr/${_target}/lib/*.a
+
+ sed -e "s|^prefix=.*|prefix=/usr/${_target}|" \
+ -e "s|^relver=.*|relver=$(cat .relver)|" \
+ -i "$pkgdir"/usr/${_target}/lib/pkgconfig/luajit.pc
done
}