From 1dd71c6b6abcb82b6b4299bad38cb1987819a2a7 Mon Sep 17 00:00:00 2001 From: zig-for Date: Sat, 8 Apr 2023 13:54:43 -0700 Subject: [PATCH 01/13] WIP: shim over lua differences --- lua/Connector.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lua/Connector.lua b/lua/Connector.lua index ba4dd45..6480c1a 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -65,7 +65,11 @@ function writebyte(addr, value, domain) end end -local socket = require("socket.core") +dll = "socket-5-1.dll" +if _VERSION == "Lua 5.4" then + dll = "socket-5-4.dll" +end +local socket = assert(package.loadlib(dll, "luaopen_socket_core"))() local connection local host = os.getenv("SNI_LUABRIDGE_LISTEN_HOST") or '127.0.0.1' From 6a4c5ec9ae3fe91914a1a1dc4a6e027d4f6ee199 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 15:22:18 -0700 Subject: [PATCH 02/13] working --- lua/Connector.lua | 38 ++++++++++++++++-- .../{socket-linux.so => socket-linux-5-1.so} | Bin lua/x64/socket-linux-5-4.so | Bin 0 -> 81104 bytes .../{socket.dll => socket-windows-5-1.dll} | Bin lua/x64/socket-windows-5-4.dll | Bin 0 -> 128512 bytes 5 files changed, 34 insertions(+), 4 deletions(-) rename lua/x64/{socket-linux.so => socket-linux-5-1.so} (100%) create mode 100644 lua/x64/socket-linux-5-4.so rename lua/x64/{socket.dll => socket-windows-5-1.dll} (100%) create mode 100644 lua/x64/socket-windows-5-4.dll diff --git a/lua/Connector.lua b/lua/Connector.lua index 6480c1a..759a1b4 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -65,11 +65,41 @@ function writebyte(addr, value, domain) end end -dll = "socket-5-1.dll" -if _VERSION == "Lua 5.4" then - dll = "socket-5-4.dll" +function get_lua_version() + local major, minor = _VERSION:match("Lua (%d+)%.(%d+)") + assert(tonumber(major) == 5) + if tonumber(minor) >= 4 then + return "5-4" + end + return "5-1" +end + +function get_os() + local the_os, ext, arch + if package.config:sub(1,1) == "\\" then + the_os, ext = "windows", "dll" + arch = os.getenv"PROCESSOR_ARCHITECTURE" + else + -- TODO: macos? + the_os, ext = "linux", "so" + arch = io.popen"uname -m":read"*a" + end + + if (arch or ""):match"64" then + arch = "x64" + else + arch = "x32" + end + return the_os, ext, arch +end + +function get_socket_path() + local the_os, ext, arch = get_os() + -- for some reason ./ isn't working, so use a horrible hack to get the pwd + local pwd = io.popen"cd":read'*l' + return pwd .. "/x64/socket-" .. the_os .. "-" .. get_lua_version() .. "." .. ext end -local socket = assert(package.loadlib(dll, "luaopen_socket_core"))() +local socket = assert(package.loadlib(get_socket_path(), "luaopen_socket_core"))() local connection local host = os.getenv("SNI_LUABRIDGE_LISTEN_HOST") or '127.0.0.1' diff --git a/lua/x64/socket-linux.so b/lua/x64/socket-linux-5-1.so similarity index 100% rename from lua/x64/socket-linux.so rename to lua/x64/socket-linux-5-1.so diff --git a/lua/x64/socket-linux-5-4.so b/lua/x64/socket-linux-5-4.so new file mode 100644 index 0000000000000000000000000000000000000000..059899d21c106fc3c7ea8ad68d466297240bb786 GIT binary patch literal 81104 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 DOJYz* literal 0 HcmV?d00001 From faa200d87b2be6917ff1030f8f4ea148fdf24696 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 15:24:32 -0700 Subject: [PATCH 03/13] renamed --- lua/x86/{socket.dll => socket-windows-5-1.dll} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename lua/x86/{socket.dll => socket-windows-5-1.dll} (100%) diff --git a/lua/x86/socket.dll b/lua/x86/socket-windows-5-1.dll similarity index 100% rename from lua/x86/socket.dll rename to lua/x86/socket-windows-5-1.dll From aaca204cba3da934159280c21b7bab4f2a897e41 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 15:30:25 -0700 Subject: [PATCH 04/13] probably fix unit tests --- .github/workflows/release.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a82a3da..9ac8eb8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -128,16 +128,18 @@ jobs: run: | rm ${{env.basename}}/lua/Connector.lua cp lua/Connector.lua ${{env.basename}}/lua/x64 - cp lua/x64/socket.dll ${{env.basename}}/lua/x64 + cp lua/x64/socket-windows-5-1.dll ${{env.basename}}/lua/x64 + cp lua/x64/socket-windows-5-4.dll ${{env.basename}}/lua/x64 cp lua/x64/luasocket.LICENSE.txt ${{env.basename}}/lua/x64 cp lua/Connector.lua ${{env.basename}}/lua/x86 - cp lua/x86/socket.dll ${{env.basename}}/lua/x86 + cp lua/x86/socket-windows-5-1.dll ${{env.basename}}/lua/x86 cp lua/x86/luasocket.LICENSE.txt ${{env.basename}}/lua/x86 - name: Copy in lua socket.so dependencies for Linux if: ${{ matrix.goos == 'linux' }} run: | - cp lua/x64/socket-linux.so ${{env.basename}}/lua/socket.so + cp lua/x64/socket-linux-5-4.so ${{env.basename}}/lua/ + cp lua/x64/socket-linux-5-1.so ${{env.basename}}/lua/ - if: ${{ matrix.goos == 'windows' }} name: Build SNI From 7ad4948b3fb24fd02589e06bdd1715250a9b21b4 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 15:33:19 -0700 Subject: [PATCH 05/13] arch --- lua/Connector.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/Connector.lua b/lua/Connector.lua index 759a1b4..7fa1660 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -82,13 +82,13 @@ function get_os() else -- TODO: macos? the_os, ext = "linux", "so" - arch = io.popen"uname -m":read"*a" + return the_os, ext, "" -- linux doesn't use/have the arch end if (arch or ""):match"64" then - arch = "x64" + arch = "/x64" else - arch = "x32" + arch = "/x32" end return the_os, ext, arch end @@ -97,7 +97,7 @@ function get_socket_path() local the_os, ext, arch = get_os() -- for some reason ./ isn't working, so use a horrible hack to get the pwd local pwd = io.popen"cd":read'*l' - return pwd .. "/x64/socket-" .. the_os .. "-" .. get_lua_version() .. "." .. ext + return pwd ..arch .."/socket-" .. the_os .. "-" .. get_lua_version() .. "." .. ext end local socket = assert(package.loadlib(get_socket_path(), "luaopen_socket_core"))() From 86003c34beaa6410089a57af0a02ab138249824b Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 15:37:21 -0700 Subject: [PATCH 06/13] probably fix linux --- .github/workflows/release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9ac8eb8..19cd7d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,8 +138,8 @@ jobs: - name: Copy in lua socket.so dependencies for Linux if: ${{ matrix.goos == 'linux' }} run: | - cp lua/x64/socket-linux-5-4.so ${{env.basename}}/lua/ - cp lua/x64/socket-linux-5-1.so ${{env.basename}}/lua/ + cp lua/x64/socket-linux-5-4.so ${{env.basename}}/lua/socket-linux-5-4.so + cp lua/x64/socket-linux-5-1.so ${{env.basename}}/lua/socket-linux-5-1.so - if: ${{ matrix.goos == 'windows' }} name: Build SNI @@ -234,14 +234,15 @@ jobs: run: | mkdir ${{env.basename}} mkdir ${{env.basename}}/lua - # mkdir ${{env.basename}}/lua/x64 + mkdir ${{env.basename}}/lua/x64 # mkdir ${{env.basename}}/lua/x86 cp README.md ${{env.basename}} cp LICENSE ${{env.basename}} cp protos/sni/sni.proto ${{env.basename}} cp cmd/sni/apps.yaml ${{env.basename}} cp lua/Connector.lua ${{env.basename}}/lua - cp lua/x64/socket-linux.so ${{env.basename}}/lua/socket.so + cp lua/x64/socket-linux-5-1.so ${{env.basename}}/lua/x64/socket-linux-5-1.so + cp lua/x64/socket-linux-5-4.so ${{env.basename}}/lua/x64/socket-linux-5-4.so echo -e "\n--\nlibappindicator, libindicator and libdbusmenu are licensed under LGPL, see" >> ${{env.basename}}/LICENSE echo "https://launchpad.net/libappindicator/" >> ${{env.basename}}/LICENSE echo "https://launchpad.net/libindicator/" >> ${{env.basename}}/LICENSE From c9ceb2f9e5e15ea28b4f4ba114ae681a7ea5c311 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 15:48:25 -0700 Subject: [PATCH 07/13] license --- lua/Connector.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/Connector.lua b/lua/Connector.lua index 7fa1660..40ea3ac 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -1,6 +1,7 @@ -- original file found in a GPLv3 code repository, unclear if this is the intended license nor who the authors are -- SNI modifications by Berserker, jsd1982; modifications licensed under MIT License -- version 3 changes Read response from JSON to HEX +-- lua 5.1/5.4 shim by zig; modifications licensed under MIT and WTFPL if not event then is_snes9x = true From 666d45147716de8222a816f64aa72de5d8cff658 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sat, 8 Apr 2023 16:02:35 -0700 Subject: [PATCH 08/13] move lua up --- .github/workflows/release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 19cd7d3..bb4d021 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -127,11 +127,10 @@ jobs: if: ${{ matrix.goos == 'windows' }} run: | rm ${{env.basename}}/lua/Connector.lua - cp lua/Connector.lua ${{env.basename}}/lua/x64 + cp lua/Connector.lua ${{env.basename}}/lua/ cp lua/x64/socket-windows-5-1.dll ${{env.basename}}/lua/x64 cp lua/x64/socket-windows-5-4.dll ${{env.basename}}/lua/x64 cp lua/x64/luasocket.LICENSE.txt ${{env.basename}}/lua/x64 - cp lua/Connector.lua ${{env.basename}}/lua/x86 cp lua/x86/socket-windows-5-1.dll ${{env.basename}}/lua/x86 cp lua/x86/luasocket.LICENSE.txt ${{env.basename}}/lua/x86 From 031da3b1e34e2fc2b221ef3bd598b4e51da799c8 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sun, 9 Apr 2023 09:55:22 -0700 Subject: [PATCH 09/13] linux does use the arch --- lua/Connector.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/Connector.lua b/lua/Connector.lua index 40ea3ac..1a8fe4d 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -83,13 +83,13 @@ function get_os() else -- TODO: macos? the_os, ext = "linux", "so" - return the_os, ext, "" -- linux doesn't use/have the arch + arch = io.popen"uname -m":read"*a" end if (arch or ""):match"64" then arch = "/x64" else - arch = "/x32" + arch = "/x86" end return the_os, ext, arch end From a773c93a52533960f5a055e490fcaa62411c4902 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sun, 9 Apr 2023 09:56:46 -0700 Subject: [PATCH 10/13] fix install script --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bb4d021..07cf55b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -137,8 +137,8 @@ jobs: - name: Copy in lua socket.so dependencies for Linux if: ${{ matrix.goos == 'linux' }} run: | - cp lua/x64/socket-linux-5-4.so ${{env.basename}}/lua/socket-linux-5-4.so - cp lua/x64/socket-linux-5-1.so ${{env.basename}}/lua/socket-linux-5-1.so + cp lua/x64/socket-linux-5-4.so ${{env.basename}}/lua/x64/socket-linux-5-4.so + cp lua/x64/socket-linux-5-1.so ${{env.basename}}/lua/x64/socket-linux-5-1.so - if: ${{ matrix.goos == 'windows' }} name: Build SNI From 2f089264ceb91cbae65624f309f71fbd6d0df772 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sun, 9 Apr 2023 10:17:03 -0700 Subject: [PATCH 11/13] suggestions --- lua/Connector.lua | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lua/Connector.lua b/lua/Connector.lua index 1a8fe4d..057168d 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -82,25 +82,27 @@ function get_os() arch = os.getenv"PROCESSOR_ARCHITECTURE" else -- TODO: macos? - the_os, ext = "linux", "so" - arch = io.popen"uname -m":read"*a" + return "linux", "so", "x64" end - if (arch or ""):match"64" then - arch = "/x64" + if arch:find("64") ~= nil then + arch = "x64" else - arch = "/x86" + arch = "x86" end + return the_os, ext, arch end function get_socket_path() local the_os, ext, arch = get_os() -- for some reason ./ isn't working, so use a horrible hack to get the pwd - local pwd = io.popen"cd":read'*l' - return pwd ..arch .."/socket-" .. the_os .. "-" .. get_lua_version() .. "." .. ext + local pwd = (io.popen and io.popen("cd"):read'*l') or "." + return pwd .. "/" .. arch .. "/socket-" .. the_os .. "-" .. get_lua_version() .. "." .. ext end -local socket = assert(package.loadlib(get_socket_path(), "luaopen_socket_core"))() +local socket_path = get_socket_path() +print("loading " .. socket_path) +local socket = assert(package.loadlib(socket_path, "luaopen_socket_core"))() local connection local host = os.getenv("SNI_LUABRIDGE_LISTEN_HOST") or '127.0.0.1' From 28af32fe1d36b8611b5ce972112afa2a494b1788 Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sun, 9 Apr 2023 10:21:46 -0700 Subject: [PATCH 12/13] comments --- lua/Connector.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/Connector.lua b/lua/Connector.lua index 057168d..bb808cd 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -82,7 +82,8 @@ function get_os() arch = os.getenv"PROCESSOR_ARCHITECTURE" else -- TODO: macos? - return "linux", "so", "x64" + the_os, ext = "linux", "so" + arch = "x86_64" -- TODO: read ELF header from /proc/$PID/exe to get arch end if arch:find("64") ~= nil then From 9d203ef005387ab9539ba803e186216575a8b23a Mon Sep 17 00:00:00 2001 From: Kyle Franz Date: Sun, 9 Apr 2023 10:55:30 -0700 Subject: [PATCH 13/13] Fix win7-10 compat; Remove warning if on lua 5.4 --- lua/Connector.lua | 20 ++++++++++---------- lua/x64/socket-windows-5-4.dll | Bin 128512 -> 130048 bytes 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lua/Connector.lua b/lua/Connector.lua index bb808cd..c9cc171 100644 --- a/lua/Connector.lua +++ b/lua/Connector.lua @@ -3,6 +3,15 @@ -- version 3 changes Read response from JSON to HEX -- lua 5.1/5.4 shim by zig; modifications licensed under MIT and WTFPL +function get_lua_version() + local major, minor = _VERSION:match("Lua (%d+)%.(%d+)") + assert(tonumber(major) == 5) + if tonumber(minor) >= 4 then + return "5-4" + end + return "5-1" +end + if not event then is_snes9x = true memory.usememorydomain = function() @@ -20,7 +29,7 @@ else elseif emu.getluacore ~= nil then current_engine = emu.getluacore(); end - if current_engine ~= nil and current_engine ~= "LuaInterface" then + if current_engine ~= nil and current_engine ~= "LuaInterface" and get_lua_version() ~= "5-4" then print("Wrong Lua Core. Found " .. current_engine .. ", was expecting LuaInterface. ") print("Please go to Config -> Customize -> Advanced and select Lua+LuaInterface.") print("Once set, restart Bizhawk.") @@ -66,15 +75,6 @@ function writebyte(addr, value, domain) end end -function get_lua_version() - local major, minor = _VERSION:match("Lua (%d+)%.(%d+)") - assert(tonumber(major) == 5) - if tonumber(minor) >= 4 then - return "5-4" - end - return "5-1" -end - function get_os() local the_os, ext, arch if package.config:sub(1,1) == "\\" then diff --git a/lua/x64/socket-windows-5-4.dll b/lua/x64/socket-windows-5-4.dll index baef23e8220cdb9028d5ecdf5f5e49a0eed3ba6d..30dbae663492f2540b804ef5d0be766d778a0f3c 100644 GIT binary patch delta 44575 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 delta 44668 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ï}esKU9XjHt)T-|WMxSYX#r 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 xOIu5>rM)HJ(vd#lYv;rvsn+J!Olw