<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1b9339041233b04dacae71eb714fb443f5e3fc90">https://github.com/macports/macports-ports/commit/1b9339041233b04dacae71eb714fb443f5e3fc90</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1b9339041233b04dacae71eb714fb443f5e3fc90
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Thu Mar 16 03:46:18 2023 -0700

<span style='display:block; white-space:pre;color:#404040;'>    lua-luabitop: add Lua versioned subports
</span>---
 lua/lua-luabitop/Portfile                          | 49 ++++++++++---
 lua/lua-luabitop/files/patch-bit.c.diff            | 13 ----
 lua/lua-luabitop/files/patch-lua_5_3_plus.diff     | 80 ++++++++++++++++++++++
 .../files/patch-test-lua_5_3_plus.diff             | 14 ++++
 4 files changed, 135 insertions(+), 21 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lua/lua-luabitop/Portfile b/lua/lua-luabitop/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 82112e3d7ba..7411d73f28d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lua/lua-luabitop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lua/lua-luabitop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,10 +3,11 @@
</span> PortSystem                  1.0
 PortGroup                   cmake 1.1
 PortGroup                   github 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup                   lua 1.0
</span> 
 name                        lua-luabitop
 github.setup                LuaDist luabitop 1.0.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                    1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                    2
</span> license                     MIT
 categories                  lua devel
 maintainers                 nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,16 +21,48 @@ checksums                   rmd160  4084b571368cbbaa5f5eaf289d4723167ff92eb3 \
</span>                             sha256  f1773083ece10ab688d72de5b4f24deaad27e547cffe64c51e95e90d0de6178f \
                             size    32249
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append           patch-lua_5_3_plus.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            patch-test-lua_5_3_plus.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append        port:pkgconfig
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib                 port:lua
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach branch ${lua.branches} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set subname             luabitop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set branch_no_dot       [join [split ${branch} .] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set subport_name        lua${branch_no_dot}-${subname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport ${subport_name} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${subport} eq ${subport_name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lua.version         ${branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args      -DINSTALL_CMOD=${prefix}/lib/lua/${branch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DINSTALL_LMOD=${prefix}/share/lua/${branch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DINSTALL_DATA=${prefix}/share/luabitop/${branch}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles                  patch-bit.c.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        test.run            yes
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set lua_version             5.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        livecheck.type      none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args              -DINSTALL_CMOD=${prefix}/lib/lua/${lua_version} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            -DINSTALL_LMOD=${prefix}/share/lua/${lua_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_configure           no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extract.rename          no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach deptype {depends_extract depends_patch depends_lib depends_build depends_run depends_test} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${deptype}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc lua::callback {} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set docdir ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set f               [open "${docdir}/README" w 0644]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${f}           "[option subport] is a stub port"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close               ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# skip prebuilt binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-github.livecheck.regex      {(\d+(?:\.\d+)*)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # skip prebuilt binaries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.livecheck.regex  {(\d+(?:\.\d+)*)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lua/lua-luabitop/files/patch-bit.c.diff b/lua/lua-luabitop/files/patch-bit.c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index deca366fdde..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lua/lua-luabitop/files/patch-bit.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- bit.c.orig     2015-09-14 19:27:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ bit.c  2015-09-14 19:29:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -32,6 +32,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "lua.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "lauxlib.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LUA_NUMBER_DOUBLE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LUA_NUMBER_DOUBLE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef _MSC_VER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* MSVC is stuck in the last century and doesn't have C99's stdint.h. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef __int32 int32_t;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lua/lua-luabitop/files/patch-lua_5_3_plus.diff b/lua/lua-luabitop/files/patch-lua_5_3_plus.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0b20cb63f95
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lua/lua-luabitop/files/patch-lua_5_3_plus.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,80 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacPorts: from https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-lua/LuaBitOp/files/LuaBitOp-1.0.2-support-lua5-3+.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch is a result of diff between upstream and bundled library in rspamd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/rspamd/rspamd/blob/30298909543453ebe969878f1406ee76ad148494/contrib/lua-bit/bit.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/bit.c b/bit.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 690df7d3c..01326c99a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- bit.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ bit.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -46,7 +46,7 @@ typedef uint32_t UBits;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef union {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   lua_Number n;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef LUA_NUMBER_DOUBLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(LUA_NUMBER_DOUBLE) || defined(LUA_FLOAT_DOUBLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t b;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   UBits b;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,24 +63,25 @@ static UBits barg(lua_State *L, int idx)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bn.n = luaL_checknumber(L, idx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(LUA_NUMBER_DOUBLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(LUA_NUMBER_DOUBLE) || defined(LUA_FLOAT_DOUBLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bn.n += 6755399441055744.0;  /* 2^52+2^51 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef SWAPPED_DOUBLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   b = (UBits)(bn.b >> 32);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   b = (UBits)bn.b;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(LUA_NUMBER_INT) || defined(LUA_NUMBER_LONG) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      defined(LUA_NUMBER_LONGLONG) || defined(LUA_NUMBER_LONG_LONG) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      defined(LUA_NUMBER_LLONG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(LUA_NUMBER_INT)       || defined(LUA_INT_INT) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      defined(LUA_NUMBER_LONG)      || defined(LUA_INT_LONG) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      defined(LUA_NUMBER_LONGLONG)  || defined(LUA_INT_LONGLONG) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      defined(LUA_NUMBER_LONG_LONG) || defined(LUA_NUMBER_LLONG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (sizeof(UBits) == sizeof(lua_Number))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     b = bn.b;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     b = (UBits)(SBits)bn.n;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(LUA_NUMBER_FLOAT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(LUA_NUMBER_FLOAT) || defined(LUA_FLOAT_FLOAT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #error "A 'float' lua_Number type is incompatible with this library"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#error "Unknown number type, check LUA_NUMBER_*, LUA_FLOAT_*, LUA_INT_* in luaconf.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if LUA_VERSION_NUM < 502
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (b == 0 && !lua_isnumber(L, idx)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,7 +92,11 @@ static UBits barg(lua_State *L, int idx)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Return bit type. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if LUA_VERSION_NUM < 503
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BRET(b)  lua_pushnumber(L, (lua_Number)(SBits)(b)); return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BRET(b)  lua_pushinteger(L, (lua_Integer)(SBits)(b)); return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int bit_tobit(lua_State *L) { BRET(barg(L, 1)) }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int bit_bnot(lua_State *L) { BRET(~barg(L, 1)) }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -163,11 +168,15 @@ static const struct luaL_Reg bit_funcs[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LUALIB_API int luaopen_bit(lua_State *L)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   UBits b;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if LUA_VERSION_NUM < 503
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   lua_pushnumber(L, (lua_Number)1437217655L);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  lua_pushinteger(L, (lua_Integer)1437217655L);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   b = barg(L, -1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (b != (UBits)1437217655L || BAD_SAR) {  /* Perform a simple self-test. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const char *msg = "compiled with incompatible luaconf.h";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef LUA_NUMBER_DOUBLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(LUA_NUMBER_DOUBLE) || defined(LUA_FLOAT_DOUBLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef _WIN32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (b == (UBits)1610612736L)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       msg = "use D3DCREATE_FPU_PRESERVE with DirectX";
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lua/lua-luabitop/files/patch-test-lua_5_3_plus.diff b/lua/lua-luabitop/files/patch-test-lua_5_3_plus.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..eb4bd19001c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lua/lua-luabitop/files/patch-test-lua_5_3_plus.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see https://github.com/hrsh7th/nvim-cmp/issues/1017 for a similar issue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/lua.cmake.orig   2012-11-05 08:39:07
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/lua.cmake        2023-03-16 03:40:38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -223,7 +223,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ preload_modules(modules)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arg[0] = '${TESTFILEABS}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ table.remove(arg, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-return assert(loadfile '${TESTFILEABS}')(unpack(arg))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++table.unpack = table.unpack or unpack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++return assert(loadfile '${TESTFILEABS}')(table.unpack(arg))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if ( _ARG_WORKING_DIRECTORY )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       get_filename_component (
</span></pre><pre style='margin:0'>

</pre>