From: Fredrik Fornwall Date: Tue, 17 Jan 2017 23:58:39 +0000 (+0100) Subject: lua: Add and replace luajit X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/commitdiff_plain/154bc46225dd80d5f073dd40d99924f95057b759?hp=02baa030aa6273c97592f6790499f8892cb59223 lua: Add and replace luajit luajit is rather complex and lacking upstream maintenance. --- diff --git a/packages/liblua/Makefile.patch b/packages/liblua/Makefile.patch new file mode 100644 index 00000000..05ed03b0 --- /dev/null +++ b/packages/liblua/Makefile.patch @@ -0,0 +1,61 @@ +diff -r -u ../lua-5.3.3/Makefile ./Makefile +--- ../lua-5.3.3/Makefile 2016-01-14 02:13:47.000000000 +0100 ++++ ./Makefile 2017-01-18 00:40:05.179293935 +0100 +@@ -4,17 +4,17 @@ + # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + + # Your platform. See PLATS for possible values. +-PLAT= none ++PLAT= linux + + # Where to install. The installation starts in the src and doc directories, + # so take care if INSTALL_TOP is not an absolute path. See the local target. + # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with + # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. +-INSTALL_TOP= /usr/local ++INSTALL_TOP= $(PREFIX) + INSTALL_BIN= $(INSTALL_TOP)/bin + INSTALL_INC= $(INSTALL_TOP)/include + INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_MAN= $(INSTALL_TOP)/share/man/man1 + INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V + INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + +@@ -38,21 +38,21 @@ + # Convenience platforms targets. + PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris + ++# Lua version and release. ++V= 5.3 ++R= $V.3 ++ + # What to install. + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +-TO_LIB= liblua.a ++TO_LIB= liblua.a liblua.so.$(R) + TO_MAN= lua.1 luac.1 + +-# Lua version and release. +-V= 5.3 +-R= $V.3 +- + # Targets start here. + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) $@ V=$(V) R=$(R) + + test: dummy + src/lua -v +@@ -63,6 +63,8 @@ + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) ++ ln -f -s $(INSTALL_LIB)/liblua.so.$(R) $(INSTALL_LIB)/liblua.so.$(V) ++ ln -f -s $(INSTALL_LIB)/liblua.so.$(R) $(INSTALL_LIB)/liblua.so + + uninstall: + cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) diff --git a/packages/liblua/build.sh b/packages/liblua/build.sh new file mode 100644 index 00000000..d3ff1017 --- /dev/null +++ b/packages/liblua/build.sh @@ -0,0 +1,25 @@ +TERMUX_PKG_HOMEPAGE=https://www.lua.org/ +TERMUX_PKG_DESCRIPTION="Shared library for the Lua interpreter" +TERMUX_PKG_VERSION=5.3.3 +TERMUX_PKG_REVISION=4 +TERMUX_PKG_SRCURL=https://www.lua.org/ftp/lua-${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_EXTRA_MAKE_ARGS=linux +TERMUX_PKG_BUILD_IN_SRC=yes +TERMUX_PKG_CONFLICTS=libluajit +TERMUX_PKG_REPLACES=libluajit + +termux_step_pre_configure () { + AR+=" rcu" + CFLAGS+=" -fPIC" +} + +termux_step_post_make_install() { + # Add a pkg-config file for the system zlib + cat > "$PKG_CONFIG_LIBDIR/lua.pc" <<-HERE + Name: Lua + Description: An Extensible Extension Language + Version: $TERMUX_PKG_VERSION + Requires: + Libs: -llua -lm + HERE +} diff --git a/packages/liblua/lua.subpackage.sh b/packages/liblua/lua.subpackage.sh new file mode 100644 index 00000000..ebf378c6 --- /dev/null +++ b/packages/liblua/lua.subpackage.sh @@ -0,0 +1,3 @@ +TERMUX_SUBPKG_INCLUDE="bin/ share/man/man1/" +TERMUX_SUBPKG_DESCRIPTION="Simple, extensible, embeddable programming language" +TERMUX_SUBPKG_DEPENDS="readline" diff --git a/packages/liblua/src-Makefile.patch b/packages/liblua/src-Makefile.patch new file mode 100644 index 00000000..b0a6665e --- /dev/null +++ b/packages/liblua/src-Makefile.patch @@ -0,0 +1,60 @@ +diff -r -u ../lua-5.3.3/src/Makefile ./src/Makefile +--- ../lua-5.3.3/src/Makefile 2015-05-27 13:10:11.000000000 +0200 ++++ ./src/Makefile 2017-01-18 00:26:04.985042439 +0100 +@@ -4,31 +4,20 @@ + # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + + # Your platform. See PLATS for possible values. +-PLAT= none ++PLAT= linux + +-CC= gcc -std=gnu99 +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) ++CFLAGS+= $(SYSCFLAGS) +-LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) ++LDFLAGS+= $(SYSLDFLAGS) $(MYLDFLAGS) + LIBS= -lm $(SYSLIBS) $(MYLIBS) + +-AR= ar rcu +-RANLIB= ranlib + RM= rm -f + +-SYSCFLAGS= +-SYSLDFLAGS= +-SYSLIBS= +- +-MYCFLAGS= +-MYLDFLAGS= +-MYLIBS= +-MYOBJS= +- + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + + PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris + + LUA_A= liblua.a ++LUA_SO= liblua.so + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o +@@ -43,7 +32,7 @@ + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -59,6 +48,11 @@ + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO) ++ + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + diff --git a/packages/liblua/src-luaconf.h.patch b/packages/liblua/src-luaconf.h.patch new file mode 100644 index 00000000..20663f92 --- /dev/null +++ b/packages/liblua/src-luaconf.h.patch @@ -0,0 +1,12 @@ +diff -r -u ../lua-5.3.3/src/luaconf.h ./src/luaconf.h +--- ../lua-5.3.3/src/luaconf.h 2016-05-01 22:06:09.000000000 +0200 ++++ ./src/luaconf.h 2017-01-17 23:47:26.867840450 +0100 +@@ -188,7 +188,7 @@ + + #else /* }{ */ + +-#define LUA_ROOT "/usr/local/" ++#define LUA_ROOT "@TERMUX_PREFIX@" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" + #define LUA_PATH_DEFAULT \ diff --git a/packages/libluajit/build.sh b/packages/libluajit/build.sh deleted file mode 100644 index a34e5bb5..00000000 --- a/packages/libluajit/build.sh +++ /dev/null @@ -1,52 +0,0 @@ -TERMUX_PKG_HOMEPAGE=https://luajit.org/ -TERMUX_PKG_DESCRIPTION="Just-In-Time Compiler for Lua" -TERMUX_PKG_VERSION=2.1.0~beta2 -TERMUX_PKG_REVISION=1 -TERMUX_PKG_SRCURL=https://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz -TERMUX_PKG_EXTRA_MAKE_ARGS="V=1 amalg PREFIX=$TERMUX_PREFIX" -TERMUX_PKG_BUILD_IN_SRC=yes -TERMUX_PKG_CONFLICTS="lua,lua-dev" -TERMUX_PKG_REPLACES="lua,lua-dev" - -termux_step_pre_configure() { - # luajit wants same pointer size for host and target build - export HOST_CC="gcc" - if [ $TERMUX_ARCH_BITS = "32" ]; then - if [ `uname` = "Linux" ]; then - # NOTE: "apt install libc6-dev-i386" for 32-bit headers - export HOST_CFLAGS="-m32" # -arch i386" - export HOST_LDFLAGS="-m32" # arch i386" - elif [ `uname` = "Darwin" ]; then - export HOST_CFLAGS="-m32 -arch i386" - export HOST_LDFLAGS="-arch i386" - fi - fi - export TARGET_FLAGS="$CFLAGS $CPPFLAGS $LDFLAGS" - export TARGET_SYS=Linux -} - -termux_step_make_install () { - cp $TERMUX_PKG_SRCDIR/src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $TERMUX_PREFIX/include/ - rm -f $TERMUX_PREFIX/lib/libluajit* - cp $TERMUX_PKG_SRCDIR/src/libluajit.so $TERMUX_PREFIX/lib/libluajit-5.1.so - (cd $TERMUX_PREFIX/include; ln -s -f libluajit-5.1.so libluajit.so; ln -s -f libluajit-5.1.so liblua.so) - - mkdir -p $TERMUX_PREFIX/share/man/man1/ - cp $TERMUX_PKG_SRCDIR/etc/luajit.1 $TERMUX_PREFIX/share/man/man1/ - (cd $TERMUX_PREFIX/share/man/man1/; ln -s -f luajit.1 lua.1) - - cp $TERMUX_PKG_SRCDIR/etc/luajit.pc $TERMUX_PREFIX/lib/pkgconfig/ - (cd $TERMUX_PREFIX/lib/pkgconfig; ln -s -f luajit.pc lua.pc) - - rm -f $TERMUX_PREFIX/bin/luajit - cp $TERMUX_PKG_SRCDIR/src/luajit $TERMUX_PREFIX/bin/luajit - (cd $TERMUX_PREFIX/bin; ln -s -f luajit lua) - - # Files needed for the -b option (http://luajit.org/running.html) to work. - # Note that they end up in the 'luajit' subpackage, not the 'libluajit' one. - TERMUX_LUAJIT_JIT_FOLDER_RELATIVE=share/luajit-$TERMUX_PKG_VERSION/jit - local TERMUX_LUAJIT_JIT_FOLDER=$TERMUX_PREFIX/$TERMUX_LUAJIT_JIT_FOLDER_RELATIVE - rm -Rf $TERMUX_LUAJIT_JIT_FOLDER - mkdir -p $TERMUX_LUAJIT_JIT_FOLDER - cp $TERMUX_PKG_SRCDIR/src/jit/*lua $TERMUX_LUAJIT_JIT_FOLDER -} diff --git a/packages/libluajit/etc-luajit.pc.patch b/packages/libluajit/etc-luajit.pc.patch deleted file mode 100644 index b8f7c9d0..00000000 --- a/packages/libluajit/etc-luajit.pc.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -u -r ../LuaJIT-2.1.0-beta2/etc/luajit.pc ./etc/luajit.pc ---- ../LuaJIT-2.1.0-beta2/etc/luajit.pc 2016-03-03 06:40:00.000000000 -0500 -+++ ./etc/luajit.pc 2016-11-25 17:58:38.914012186 -0500 -@@ -5,12 +5,12 @@ - version=${majver}.${minver}.${relver}-beta2 - abiver=5.1 - --prefix=/usr/local -+prefix=@TERMUX_PREFIX@ - multilib=lib - exec_prefix=${prefix} - libdir=${exec_prefix}/${multilib} - libname=luajit-${abiver} --includedir=${prefix}/include/luajit-${majver}.${minver} -+includedir=${prefix}/include - - INSTALL_LMOD=${prefix}/share/lua/${abiver} - INSTALL_CMOD=${prefix}/${multilib}/lua/${abiver} diff --git a/packages/libluajit/luajit.subpackage.sh b/packages/libluajit/luajit.subpackage.sh deleted file mode 100644 index 0fb414e7..00000000 --- a/packages/libluajit/luajit.subpackage.sh +++ /dev/null @@ -1,3 +0,0 @@ -TERMUX_SUBPKG_INCLUDE="bin/luajit bin/lua share/man/man1 $TERMUX_LUAJIT_JIT_FOLDER_RELATIVE" -TERMUX_SUBPKG_DESCRIPTION="Just-In-Time compiler for Lua - command line tool" -TERMUX_SUBPKG_DEPENDS="libluajit" diff --git a/packages/libluajit/src-Makefile.patch b/packages/libluajit/src-Makefile.patch deleted file mode 100644 index b001f789..00000000 --- a/packages/libluajit/src-Makefile.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff -u -r ../LuaJIT-2.1.0-beta2/src/Makefile ./src/Makefile ---- ../LuaJIT-2.1.0-beta2/src/Makefile 2016-03-03 12:40:00.000000000 +0100 -+++ ./src/Makefile 2017-01-15 17:10:13.854284079 +0100 -@@ -27,7 +27,7 @@ - DEFAULT_CC = gcc - # - # LuaJIT builds as a native 32 or 64 bit binary by default. --CC= $(DEFAULT_CC) -+CC?= $(DEFAULT_CC) - # - # Use this if you want to force a 32 bit build on a 64 bit multilib OS. - #CC= $(DEFAULT_CC) -m32 -@@ -71,14 +71,14 @@ - # as dynamic mode. - # - # Mixed mode creates a static + dynamic library and a statically linked luajit. --BUILDMODE= mixed -+#BUILDMODE= mixed - # - # Static mode creates a static library and a statically linked luajit. - #BUILDMODE= static - # - # Dynamic mode creates a dynamic library and a dynamically linked luajit. - # Note: this executable will only run when the library is installed! --#BUILDMODE= dynamic -+BUILDMODE= dynamic - # - ############################################################################## - -@@ -191,7 +191,7 @@ - CCOPTIONS= $(CCDEBUG) $(ASOPTIONS) - LDOPTIONS= $(CCDEBUG) $(LDFLAGS) - --HOST_CC= $(CC) -+HOST_CC?= $(CC) - HOST_RM= rm -f - # If left blank, minilua is built and used. You can supply an installed - # copy of (plain) Lua 5.1 or 5.2, plus Lua BitOp. E.g. with: HOST_LUA=lua -@@ -204,17 +204,17 @@ - HOST_ALDFLAGS= $(LDOPTIONS) $(HOST_XLDFLAGS) $(HOST_LDFLAGS) - HOST_ALIBS= $(HOST_XLIBS) $(LIBS) $(HOST_LIBS) - --STATIC_CC = $(CROSS)$(CC) --DYNAMIC_CC = $(CROSS)$(CC) -fPIC -+STATIC_CC = $(CC) -+DYNAMIC_CC = $(CC) -fPIC - TARGET_CC= $(STATIC_CC) - TARGET_STCC= $(STATIC_CC) - TARGET_DYNCC= $(DYNAMIC_CC) --TARGET_LD= $(CROSS)$(CC) --TARGET_AR= $(CROSS)ar rcus --TARGET_STRIP= $(CROSS)strip -+TARGET_LD= $(CC) -+TARGET_AR= $(AR) rcus -+TARGET_STRIP= $(STRIP) - - TARGET_LIBPATH= $(or $(PREFIX),/usr/local)/$(or $(MULTILIB),lib) --TARGET_SONAME= libluajit-$(ABIVER).so.$(MAJVER) -+TARGET_SONAME= libluajit-$(ABIVER).so - TARGET_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).dylib - TARGET_DYLIBPATH= $(TARGET_LIBPATH)/$(TARGET_DYLIBNAME) - TARGET_DLLNAME= lua$(NODOTABIVER).dll diff --git a/packages/luarocks/build.sh b/packages/luarocks/build.sh index bdeadd8c..772ae2ce 100644 --- a/packages/luarocks/build.sh +++ b/packages/luarocks/build.sh @@ -1,12 +1,12 @@ TERMUX_PKG_HOMEPAGE=https://luarocks.org/ TERMUX_PKG_DESCRIPTION="Deployment and management system for Lua modules" -TERMUX_PKG_VERSION=2.4.1 +TERMUX_PKG_VERSION=2.4.2 TERMUX_PKG_SRCURL=https://luarocks.org/releases/luarocks-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_DEPENDS="curl, luajit" +TERMUX_PKG_DEPENDS="curl, lua" TERMUX_PKG_BUILD_IN_SRC=yes termux_step_configure () { ./configure --prefix=$TERMUX_PREFIX \ --with-lua=$TERMUX_PREFIX \ - --lua-version=5.1 + --lua-version=5.3 } diff --git a/packages/neovim/build.sh b/packages/neovim/build.sh index 6443844b..2285b99d 100644 --- a/packages/neovim/build.sh +++ b/packages/neovim/build.sh @@ -7,7 +7,6 @@ TERMUX_PKG_DEPENDS="libuv, libmsgpack, libandroid-support, libvterm, libtermkey, TERMUX_PKG_FOLDERNAME="neovim-$_COMMIT" TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DENABLE_JEMALLOC=OFF -DGPERF_PRG=$TERMUX_PKG_HOSTBUILD_DIR/deps/usr/bin/gperf" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLUA_PRG=$TERMUX_PKG_HOSTBUILD_DIR/deps/usr/bin/luajit" termux_step_host_build () { mkdir -p $TERMUX_PKG_HOSTBUILD_DIR/deps diff --git a/packages/weechat/cmake-FindRuby.cmake.patch b/packages/weechat/cmake-FindRuby.cmake.patch new file mode 100644 index 00000000..751ae11c --- /dev/null +++ b/packages/weechat/cmake-FindRuby.cmake.patch @@ -0,0 +1,12 @@ +diff -u -r ../weechat-1.7/cmake/FindRuby.cmake ./cmake/FindRuby.cmake +--- ../weechat-1.7/cmake/FindRuby.cmake 2017-01-15 07:41:25.000000000 +0100 ++++ ./cmake/FindRuby.cmake 2017-01-17 22:41:59.681388711 +0100 +@@ -33,7 +33,7 @@ + + find_package(PkgConfig) + if(PKG_CONFIG_FOUND) +- pkg_search_module(RUBY ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby-1.8) ++ pkg_search_module(RUBY ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby-1.8) + endif() + + if(RUBY_FOUND) diff --git a/packages/weechat/weechat-lua-plugin.subpackage.sh b/packages/weechat/weechat-lua-plugin.subpackage.sh index 440c5722..91b9cf35 100644 --- a/packages/weechat/weechat-lua-plugin.subpackage.sh +++ b/packages/weechat/weechat-lua-plugin.subpackage.sh @@ -1,3 +1,3 @@ TERMUX_SUBPKG_INCLUDE="lib/weechat/plugins/lua.so" TERMUX_SUBPKG_DESCRIPTION="WeeChat Lua Plugin" -TERMUX_SUBPKG_DEPENDS="weechat, luajit" +TERMUX_SUBPKG_DEPENDS="weechat, liblua" diff --git a/scripts/setup-ubuntu.sh b/scripts/setup-ubuntu.sh index 3177026b..f37bc044 100755 --- a/scripts/setup-ubuntu.sh +++ b/scripts/setup-ubuntu.sh @@ -12,7 +12,6 @@ PACKAGES="$PACKAGES gettext" # Provides 'msgfmt' which the apt build uses. PACKAGES="$PACKAGES git" # Used by the neovim build. PACKAGES="$PACKAGES help2man" PACKAGES="$PACKAGES intltool" # Used by qalc build. -PACKAGES="$PACKAGES libc6-dev-i386" # Needed by luajit host part of the build for . PACKAGES="$PACKAGES libcurl4-openssl-dev" # XXX: Needed by apt build. PACKAGES="$PACKAGES libgdk-pixbuf2.0-dev" # Provides 'gkd-pixbuf-query-loaders' which the librsvg build uses. PACKAGES="$PACKAGES libglib2.0-dev" # Provides 'glib-genmarshal' which the glib build uses.