| 1 | TERMUX_PKG_HOMEPAGE=https://luajit.org/ |
| 2 | TERMUX_PKG_DESCRIPTION="Just-In-Time Compiler for Lua" |
| 3 | TERMUX_PKG_VERSION=2.1.0~beta2 |
| 4 | TERMUX_PKG_BUILD_REVISION=1 |
| 5 | TERMUX_PKG_SRCURL=https://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz |
| 6 | TERMUX_PKG_EXTRA_MAKE_ARGS="amalg PREFIX=$TERMUX_PREFIX" |
| 7 | TERMUX_PKG_BUILD_IN_SRC=yes |
| 8 | TERMUX_PKG_CONFLICTS="lua,lua-dev" |
| 9 | TERMUX_PKG_REPLACES="lua,lua-dev" |
| 10 | |
| 11 | termux_step_post_extract_package() { |
| 12 | # luajit wants same pointer size for host and target build |
| 13 | export HOST_CC="gcc" |
| 14 | if [ $TERMUX_ARCH_BITS = "32" ]; then |
| 15 | if [ `uname` = "Linux" ]; then |
| 16 | # NOTE: "apt install libc6-dev-i386" for 32-bit headers |
| 17 | export HOST_CFLAGS="-m32" # -arch i386" |
| 18 | export HOST_LDFLAGS="-m32" # arch i386" |
| 19 | elif [ `uname` = "Darwin" ]; then |
| 20 | export HOST_CFLAGS="-m32 -arch i386" |
| 21 | export HOST_LDFLAGS="-arch i386" |
| 22 | fi |
| 23 | fi |
| 24 | export CROSS=${TERMUX_HOST_PLATFORM}- |
| 25 | export TARGET_FLAGS="$CFLAGS $CPPFLAGS $LDFLAGS" |
| 26 | export TARGET_SYS=Linux |
| 27 | |
| 28 | ORIG_STRIP=$STRIP |
| 29 | unset AR AS CC CXX CPP CPPFLAGS CFLAGS CXXFLAGS LDFLAGS RANLIB LD PKG_CONFIG STRIP |
| 30 | } |
| 31 | |
| 32 | termux_step_make_install () { |
| 33 | cp $TERMUX_PKG_SRCDIR/src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $TERMUX_PREFIX/include/ |
| 34 | rm -f $TERMUX_PREFIX/lib/libluajit* |
| 35 | cp $TERMUX_PKG_SRCDIR/src/libluajit.so $TERMUX_PREFIX/lib/libluajit-5.1.so |
| 36 | (cd $TERMUX_PREFIX/include; ln -s -f libluajit-5.1.so libluajit.so; ln -s -f libluajit-5.1.so liblua.so) |
| 37 | |
| 38 | mkdir -p $TERMUX_PREFIX/share/man/man1/ |
| 39 | cp $TERMUX_PKG_SRCDIR/etc/luajit.1 $TERMUX_PREFIX/share/man/man1/ |
| 40 | (cd $TERMUX_PREFIX/share/man/man1/; ln -s -f luajit.1 lua.1) |
| 41 | |
| 42 | cp $TERMUX_PKG_SRCDIR/etc/luajit.pc $TERMUX_PREFIX/lib/pkgconfig/ |
| 43 | (cd $TERMUX_PREFIX/lib/pkgconfig; ln -s -f luajit.pc lua.pc) |
| 44 | |
| 45 | rm -f $TERMUX_PREFIX/bin/luajit |
| 46 | cp $TERMUX_PKG_SRCDIR/src/luajit $TERMUX_PREFIX/bin/luajit |
| 47 | (cd $TERMUX_PREFIX/bin; ln -s -f luajit lua) |
| 48 | |
| 49 | # Files needed for the -b option (http://luajit.org/running.html) to work. |
| 50 | # Note that they end up in the 'luajit' subpackage, not the 'libluajit' one. |
| 51 | TERMUX_LUAJIT_JIT_FOLDER_RELATIVE=share/luajit-$TERMUX_PKG_VERSION/jit |
| 52 | local TERMUX_LUAJIT_JIT_FOLDER=$TERMUX_PREFIX/$TERMUX_LUAJIT_JIT_FOLDER_RELATIVE |
| 53 | rm -Rf $TERMUX_LUAJIT_JIT_FOLDER |
| 54 | mkdir -p $TERMUX_LUAJIT_JIT_FOLDER |
| 55 | cp $TERMUX_PKG_SRCDIR/src/jit/*lua $TERMUX_LUAJIT_JIT_FOLDER |
| 56 | |
| 57 | STRIP=$ORIG_STRIP |
| 58 | } |