diff --git a/lang/luajit-devel/Makefile b/lang/luajit-devel/Makefile new file mode 100644 index 000000000000..2098e7f2e060 --- /dev/null +++ b/lang/luajit-devel/Makefile @@ -0,0 +1,43 @@ +# Created by: Sergey A. Osokin + +PORTNAME= luajit +DISTVERSION= 2.1.0.20211027 +CATEGORIES= lang +PKGNAMESUFFIX= -devel +DISTNAME= LuaJIT-${DISTVERSION} + +MAINTAINER= osa@FreeBSD.org +COMMENT= Just-In-Time Compiler for Lua + +LICENSE= MIT PD +LICENSE_COMB= multi +LICENSE_FILE= ${WRKSRC}/COPYRIGHT + +IGNORE_riscv64= fails to compile: lj_arch.h:73:2: No support for this architecture (yet) + +#CONFLICTS_INSTALL= luajit luajit-openresty + +USES= cpe gmake +USE_LDCONFIG= yes +MAKE_ARGS= CC=${CC} CCOPT= CCOPT_x86= Q= + +USE_GITHUB= yes +GH_TUPLE= LuaJIT:LuaJIT:b4b2dce + +LUAJIT_VERSION= 2.1.0-beta3 +LUAJIT_SOVERSION= 2.1.0 + +PLIST_SUB+= VERSION=${LUAJIT_VERSION} SOVERSION=${LUAJIT_SOVERSION} + +.include + +.if ${ARCH:Mpowerpc*} || ${ARCH:Mmips*} +USE_GCC=yes +.endif + +post-install: + ${LN} -sf ${PORTNAME}-${DISTVERSION} \ + ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + ${INSTALL_MAN} ${WRKSRC}/etc/luajit.1 ${STAGEDIR}${MAN1PREFIX}/man/man1 + +.include diff --git a/lang/luajit-devel/distinfo b/lang/luajit-devel/distinfo new file mode 100644 index 000000000000..721ce9c35dca --- /dev/null +++ b/lang/luajit-devel/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1635381636 +SHA256 (LuaJIT-LuaJIT-2.1.0.20211027-b4b2dce_GH0.tar.gz) = c7becd27db80379f720ecabbe267c7a936a2465f2a7d7eb38d6ea7006ece1f42 +SIZE (LuaJIT-LuaJIT-2.1.0.20211027-b4b2dce_GH0.tar.gz) = 1071183 diff --git a/lang/luajit-devel/files/patch-Makefile b/lang/luajit-devel/files/patch-Makefile new file mode 100644 index 000000000000..c3e37d347c2d --- /dev/null +++ b/lang/luajit-devel/files/patch-Makefile @@ -0,0 +1,59 @@ +--- Makefile.orig 2019-06-26 21:12:49 UTC ++++ Makefile +@@ -25,7 +25,7 @@ ABIVER= 5.1 + # Change the installation path as needed. This automatically adjusts + # the paths in src/luaconf.h, too. Note: PREFIX must be an absolute path! + # +-export PREFIX= /usr/local ++#export PREFIX= /usr/local + export MULTILIB= lib + ############################################################################## + +@@ -34,6 +34,7 @@ INSTALL_BIN= $(DPREFIX)/bin + INSTALL_LIB= $(DPREFIX)/$(MULTILIB) + INSTALL_SHARE= $(DPREFIX)/share + INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER) ++INSTALL_LIBD= $(DPREFIX)/libdata + + INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION) + INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit +@@ -41,8 +42,7 @@ INSTALL_LMODD= $(INSTALL_SHARE)/lua + INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER) + INSTALL_CMODD= $(INSTALL_LIB)/lua + INSTALL_CMOD= $(INSTALL_CMODD)/$(ABIVER) +-INSTALL_MAN= $(INSTALL_SHARE)/man/man1 +-INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig ++INSTALL_PKGCONFIG= $(INSTALL_LIBD)/pkgconfig + + INSTALL_TNAME= luajit-$(VERSION) + INSTALL_TSYMNAME= luajit +@@ -63,8 +63,8 @@ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) + INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) + INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) + +-INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \ +- $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD) ++INSTALL_DIRS= $(INSTALL_INC) \ ++ $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) + UNINSTALL_DIRS= $(INSTALL_JITLIB) $(INSTALL_LJLIBD) $(INSTALL_INC) \ + $(INSTALL_LMOD) $(INSTALL_LMODD) $(INSTALL_CMOD) $(INSTALL_CMODD) + +@@ -121,10 +121,8 @@ install: $(INSTALL_DEP) + $(RM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) + cd src && test -f $(FILE_SO) && \ + $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \ +- ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \ + $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ + $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : +- cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN) + cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \ + $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \ + $(RM) $(FILE_PC).tmp +@@ -143,7 +141,6 @@ uninstall: + for file in $(FILES_INC); do \ + $(UNINSTALL) $(INSTALL_INC)/$$file; \ + done +- $(LDCONFIG) $(INSTALL_LIB) + $(RMDIR) $(UNINSTALL_DIRS) || : + @echo "==== Successfully uninstalled LuaJIT $(VERSION) from $(PREFIX) ====" + diff --git a/lang/luajit-devel/files/patch-etc_luajit.pc b/lang/luajit-devel/files/patch-etc_luajit.pc new file mode 100644 index 000000000000..8867dc0b4be8 --- /dev/null +++ b/lang/luajit-devel/files/patch-etc_luajit.pc @@ -0,0 +1,9 @@ +--- etc/luajit.pc.orig 2019-06-26 21:12:49 UTC ++++ etc/luajit.pc +@@ -21,5 +21,5 @@ URL: http://luajit.org + Version: ${version} + Requires: + Libs: -L${libdir} -l${libname} +-Libs.private: -Wl,-E -lm -ldl ++Libs.private: -Wl,-E -lm + Cflags: -I${includedir} diff --git a/lang/luajit-devel/files/patch-src_Makefile b/lang/luajit-devel/files/patch-src_Makefile new file mode 100644 index 000000000000..88511431f17a --- /dev/null +++ b/lang/luajit-devel/files/patch-src_Makefile @@ -0,0 +1,29 @@ +--- src/Makefile.orig 2019-06-26 21:12:49 UTC ++++ src/Makefile +@@ -24,7 +24,7 @@ NODOTABIVER= 51 + # removing the '#' in front of them. Make sure you force a full recompile + # with "make clean", followed by "make" if you change any options. + # +-DEFAULT_CC = gcc ++DEFAULT_CC = cc + # + # LuaJIT builds as a native 32 or 64 bit binary by default. + CC= $(DEFAULT_CC) +@@ -36,7 +36,7 @@ CC= $(DEFAULT_CC) + # to slow down the C part by not omitting it. Debugging, tracebacks and + # unwinding are not affected -- the assembler part has frame unwind + # information and GCC emits it where needed (x64) or with -g (see CCDEBUG). +-CCOPT= -O2 -fomit-frame-pointer ++#CCOPT= -O2 -fomit-frame-pointer + # Use this if you want to generate a smaller binary (but it's slower): + #CCOPT= -Os -fomit-frame-pointer + # Note: it's no longer recommended to use -O3 with GCC 4.x. +@@ -47,7 +47,7 @@ CCOPT= -O2 -fomit-frame-pointer + # x86/x64 only: For GCC 4.2 or higher and if you don't intend to distribute + # the binaries to a different machine you could also use: -march=native + # +-CCOPT_x86= -march=i686 -msse -msse2 -mfpmath=sse ++#CCOPT_x86= -march=i686 -msse -msse2 -mfpmath=sse + CCOPT_x64= + CCOPT_arm= + CCOPT_arm64= diff --git a/lang/luajit-devel/files/patch-src_lj__ccallback.c b/lang/luajit-devel/files/patch-src_lj__ccallback.c new file mode 100644 index 000000000000..40d0cc76b15b --- /dev/null +++ b/lang/luajit-devel/files/patch-src_lj__ccallback.c @@ -0,0 +1,10 @@ +--- src/lj_ccallback.c.orig 2020-10-28 11:55:44 UTC ++++ src/lj_ccallback.c +@@ -20,6 +20,7 @@ + #include "lj_mcode.h" + #include "lj_trace.h" + #include "lj_vm.h" ++#include "lualib.h" + + /* -- Target-specific handling of callback slots -------------------------- */ + diff --git a/lang/luajit-devel/files/patch-src_lj__prng.c b/lang/luajit-devel/files/patch-src_lj__prng.c new file mode 100644 index 000000000000..f22f32475546 --- /dev/null +++ b/lang/luajit-devel/files/patch-src_lj__prng.c @@ -0,0 +1,18 @@ +--- src/lj_prng.c.orig 2021-10-27 20:58:55.107726000 -0400 ++++ src/lj_prng.c 2021-10-27 21:00:37.533971000 -0400 +@@ -109,6 +109,7 @@ + #include + #else + ++#ifndef LJ_TARGET_HAS_GETENTROPY + #if LJ_TARGET_OSX && !LJ_TARGET_IOS + /* + ** In their infinite wisdom Apple decided to disallow getentropy() in the +@@ -120,6 +121,7 @@ + #include + #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 + #define LJ_TARGET_HAS_GETENTROPY 1 ++#endif + #endif + #endif + #elif (LJ_TARGET_BSD && !defined(__NetBSD__)) || LJ_TARGET_SOLARIS || LJ_TARGET_CYGWIN diff --git a/lang/luajit-devel/pkg-descr b/lang/luajit-devel/pkg-descr new file mode 100644 index 000000000000..8ecd78affa87 --- /dev/null +++ b/lang/luajit-devel/pkg-descr @@ -0,0 +1,3 @@ +LuaJIT is a Just-In-Time Compiler for the Lua programming language. + +WWW: https://luajit.org/luajit.html diff --git a/lang/luajit-devel/pkg-plist b/lang/luajit-devel/pkg-plist new file mode 100644 index 000000000000..018c0d90e318 --- /dev/null +++ b/lang/luajit-devel/pkg-plist @@ -0,0 +1,31 @@ +bin/luajit +bin/luajit-%%VERSION%% +include/luajit-2.1/lauxlib.h +include/luajit-2.1/lua.h +include/luajit-2.1/lua.hpp +include/luajit-2.1/luaconf.h +include/luajit-2.1/luajit.h +include/luajit-2.1/lualib.h +lib/libluajit-5.1.a +lib/libluajit-5.1.so +lib/libluajit-5.1.so.2 +lib/libluajit-5.1.so.%%SOVERSION%% +libdata/pkgconfig/luajit.pc +share/luajit-%%VERSION%%/jit/bc.lua +share/luajit-%%VERSION%%/jit/bcsave.lua +share/luajit-%%VERSION%%/jit/dis_arm.lua +share/luajit-%%VERSION%%/jit/dis_arm64.lua +share/luajit-%%VERSION%%/jit/dis_arm64be.lua +share/luajit-%%VERSION%%/jit/dis_mips.lua +share/luajit-%%VERSION%%/jit/dis_mips64.lua +share/luajit-%%VERSION%%/jit/dis_mips64el.lua +share/luajit-%%VERSION%%/jit/dis_mipsel.lua +share/luajit-%%VERSION%%/jit/dis_ppc.lua +share/luajit-%%VERSION%%/jit/dis_x64.lua +share/luajit-%%VERSION%%/jit/dis_x86.lua +share/luajit-%%VERSION%%/jit/dump.lua +share/luajit-%%VERSION%%/jit/p.lua +share/luajit-%%VERSION%%/jit/v.lua +share/luajit-%%VERSION%%/jit/vmdef.lua +share/luajit-%%VERSION%%/jit/zone.lua +man/man1/luajit.1.gz