Saturday, July 03, 2021

luajit update to 2.0 git head

luajit upstream says "Releases are only made occasionally. You're strongly
encouraged to follow the git branches", and the last release was in 2017,
so here's an update to a newer checkout from the 2.0 branch.

While there I've added arm (32-bit) to ONLY_FOR_ARCHS; last time it was
tried was before we moved to EABI so there's a chance of it working now.

I've built all dependent ports on amd64 with no problems, and done
runtime tests of rspamd and luakit so far. I'll do some tests with i386
too. Does anyone want to do other tests? (The powerpc-related patch
removed in the diff was committed upstream; I have not tested it on ppc
though).

I looked at the 2.1 beta branch but not everything in-tree that uses
luajit seems to be compatible with that, and I didn't figure out how
to de-conflict LJLIBD yet to install them alongside. However it does
support 64-bit ARM (it builds on OpenBSD/aarch64 and I've tested that
simple programs work); rspamd supports this version, and it looks
like snort may do too, so it's probably worth coming back to that.


Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/luajit/Makefile,v
retrieving revision 1.31
diff -u -p -r1.31 Makefile
--- Makefile 10 Aug 2020 00:56:40 -0000 1.31
+++ Makefile 3 Jul 2021 14:09:11 -0000
@@ -1,30 +1,34 @@
# $OpenBSD: Makefile,v 1.31 2020/08/10 00:56:40 jca Exp $

-# ../src/luajit2/src/lj_arch.h:55:2: error: #error "No support for
-# this architecture (yet)"
-ONLY_FOR_ARCHS = powerpc i386 amd64
-# arm needs missing EABI symbols
+ONLY_FOR_ARCHS = arm amd64 i386 powerpc
+# if changing the above and it actually builds, switch to using
+# luajit in mail/rspamd
+# - arm added speculatively, so not added in rspamd yet.
+#
+# no aarch64 support in luajit 2.0 branch
# games/tome4 is using embedded copy of luajit
-# if changing, sync in mail/rspamd

SHARED_LIBS += luajit-${MODLUA_VERSION} 1.0 # 2.0.5

+# "Releases are only made occasionally. You're strongly encouraged to follow
+# the git branches"
+GH_ACCOUNT = LuaJIT
+GH_PROJECT = LuaJIT
+GH_COMMIT = 98f95f69180d48ce49289d6428b46a9ccdd67a46
+
COMMENT = just-in-time compiler for Lua
V = 2.0.5
-REVISION = 2
-DISTNAME = LuaJIT-${V}
+DISTNAME = LuaJIT-${V}pl20210608
PKGNAME = ${DISTNAME:L}

CATEGORIES = lang

-HOMEPAGE = http://luajit.org/
+HOMEPAGE = https://luajit.org/

# MIT
PERMIT_PACKAGE = Yes

WANTLIB = c m
-
-MASTER_SITES = ${HOMEPAGE}download/

MODULES = lang/lua
MODLUA_SA= Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/luajit/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- distinfo 5 May 2017 10:21:47 -0000 1.8
+++ distinfo 3 Jul 2021 14:09:11 -0000
@@ -1,2 +1,2 @@
-SHA256 (LuaJIT-2.0.5.tar.gz) = h0sfgpfGl4IfVh+bc7V//UGe2PQnjILgW0iAbTDB6Xk=
-SIZE (LuaJIT-2.0.5.tar.gz) = 849845
+SHA256 (LuaJIT-2.0.5pl20210608-98f95f69.tar.gz) = wmjMMUjuUzRqfRu4plfFqD7otJefP7Wwj67uj4mDfdQ=
+SIZE (LuaJIT-2.0.5pl20210608-98f95f69.tar.gz) = 844346
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/lang/luajit/patches/patch-Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 patch-Makefile
--- patches/patch-Makefile 5 May 2017 10:21:47 -0000 1.6
+++ patches/patch-Makefile 3 Jul 2021 14:09:11 -0000
@@ -1,6 +1,8 @@
$OpenBSD: patch-Makefile,v 1.6 2017/05/05 10:21:47 jsg Exp $
---- Makefile.orig Tue May 2 04:11:00 2017
-+++ Makefile Tue May 2 11:40:27 2017
+
+Index: Makefile
+--- Makefile.orig
++++ Makefile
@@ -17,7 +17,7 @@ MAJVER= 2
MINVER= 0
RELVER= 5
@@ -15,7 +17,7 @@ $OpenBSD: patch-Makefile,v 1.6 2017/05/0
$(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
cd src && test -f $(FILE_SO) && \
- $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
-- $(LDCONFIG) $(INSTALL_LIB) && \
+- ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \
- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
+ $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) || :
Index: patches/patch-src_Makefile
===================================================================
RCS file: /cvs/ports/lang/luajit/patches/patch-src_Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 patch-src_Makefile
--- patches/patch-src_Makefile 5 May 2017 10:21:47 -0000 1.6
+++ patches/patch-src_Makefile 3 Jul 2021 14:09:11 -0000
@@ -1,7 +1,9 @@
$OpenBSD: patch-src_Makefile,v 1.6 2017/05/05 10:21:47 jsg Exp $
---- src/Makefile.orig Tue May 2 04:11:00 2017
-+++ src/Makefile Tue May 2 11:40:27 2017
-@@ -326,6 +326,10 @@ else
+
+Index: src/Makefile
+--- src/Makefile.orig
++++ src/Makefile
+@@ -331,6 +331,10 @@ else
ifeq (GNU/kFreeBSD,$(TARGET_SYS))
TARGET_XLIBS+= -ldl
endif
@@ -12,7 +14,7 @@ $OpenBSD: patch-src_Makefile,v 1.6 2017/
endif
endif
endif
-@@ -562,10 +566,10 @@ endif
+@@ -568,10 +572,10 @@ endif
endif
endif

Index: patches/patch-src_jit_bcsave_lua
===================================================================
RCS file: patches/patch-src_jit_bcsave_lua
diff -N patches/patch-src_jit_bcsave_lua
--- patches/patch-src_jit_bcsave_lua 22 Oct 2018 19:16:25 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_jit_bcsave_lua,v 1.1 2018/10/22 19:16:25 kettenis Exp $
-
-Index: src/jit/bcsave.lua
---- src/jit/bcsave.lua.orig
-+++ src/jit/bcsave.lua
-@@ -275,7 +275,7 @@ typedef struct {
- o.sect[2].size = fofs(ofs)
- o.sect[3].type = f32(3) -- .strtab
- o.sect[3].ofs = fofs(sofs + ofs)
-- o.sect[3].size = fofs(#symname+1)
-+ o.sect[3].size = fofs(#symname+2)
- ffi.copy(o.space+ofs+1, symname)
- ofs = ofs + #symname + 2
- o.sect[4].type = f32(1) -- .rodata
Index: patches/patch-src_lj_arch_h
===================================================================
RCS file: patches/patch-src_lj_arch_h
diff -N patches/patch-src_lj_arch_h
--- patches/patch-src_lj_arch_h 5 May 2017 10:21:47 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-src_lj_arch_h,v 1.5 2017/05/05 10:21:47 jsg Exp $
---- src/lj_arch.h.orig Tue May 2 04:11:00 2017
-+++ src/lj_arch.h Tue May 2 11:40:27 2017
-@@ -339,9 +339,6 @@
- #if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
- #error "No support for PowerPC CPUs without double-precision FPU"
-

No comments:

Post a Comment