File 867.patch of Package vlc

From dc95063af0d2d54b36185ca8ef2203b364b568ef Mon Sep 17 00:00:00 2001
From: Marvin Scholz <epirat07@gmail.com>
Date: Thu, 4 Nov 2021 18:10:43 +0100
Subject: [PATCH 01/10] lua: common: do not use deprecated module function

---
 share/lua/intf/cli.lua       |  2 +-
 share/lua/intf/http.lua      |  2 +-
 share/lua/modules/common.lua | 46 +++++++++++++++++++-----------------
 3 files changed, 26 insertions(+), 24 deletions(-)

Index: vlc-3.0.17.4/share/lua/intf/cli.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/intf/cli.lua
+++ vlc-3.0.17.4/share/lua/intf/cli.lua
@@ -58,7 +58,9 @@ description=
     * flatplaylist: 0 to disable, 1 to enable.
 ]============================================================================]
 
-require("common")
+local common = require("common")
+local host = require("host")
+
 skip = common.skip
 skip2 = function(foo) return skip(skip(foo)) end
 setarg = common.setarg
@@ -794,7 +796,6 @@ function on_write( client )
 end
 
 --[[ Setup host ]]
-require("host")
 h = host.host()
 
 h.status_callbacks[host.status.password] = on_password
Index: vlc-3.0.17.4/share/lua/intf/http.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/intf/http.lua
+++ vlc-3.0.17.4/share/lua/intf/http.lua
@@ -30,7 +30,7 @@ Configuration options:
 --]==========================================================================]
 
 
-require "common"
+local common = require "common"
 
 vlc.msg.info("Lua HTTP interface")
 
Index: vlc-3.0.17.4/share/lua/modules/common.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/modules/common.lua
+++ vlc-3.0.17.4/share/lua/modules/common.lua
@@ -1,9 +1,9 @@
 --[[ This code is public domain (since it really isn't very interesting) ]]--
 
-module("common",package.seeall)
+local common = {}
 
 -- Iterate over a table in the keys' alphabetical order
-function pairs_sorted(t)
+function common.pairs_sorted(t)
     local s = {}
     for k,_ in pairs(t) do table.insert(s,k) end
     table.sort(s)
@@ -12,17 +12,17 @@ function pairs_sorted(t)
 end
 
 -- Return a function such as skip(foo)(a,b,c) = foo(b,c)
-function skip(foo)
+function common.skip(foo)
     return function(discard,...) return foo(...) end
 end
 
 -- Return a function such as setarg(foo,a)(b,c) = foo(a,b,c)
-function setarg(foo,a)
+function common.setarg(foo,a)
     return function(...) return foo(a,...) end
 end
 
 -- Trigger a hotkey
-function hotkey(arg)
+function common.hotkey(arg)
     local id = vlc.misc.action_id( arg )
     if id ~= nil then
         vlc.var.set( vlc.object.libvlc(), "key-action", id )
@@ -33,14 +33,14 @@ function hotkey(arg)
 end
 
 -- Take a video snapshot
-function snapshot()
+function common.snapshot()
     local vout = vlc.object.vout()
     if not vout then return end
     vlc.var.set(vout,"video-snapshot",nil)
 end
 
 -- Naive (non recursive) table copy
-function table_copy(t)
+function common.table_copy(t)
     c = {}
     for i,v in pairs(t) do c[i]=v end
     return c
@@ -48,7 +48,7 @@ end
 
 -- tonumber() for decimals number, using a dot as decimal separator
 -- regardless of the system locale 
-function us_tonumber(str)
+function common.us_tonumber(str)
     local s, i, d = string.match(str, "^([+-]?)(%d*)%.?(%d*)$")
     if not s or not i or not d then
         return nil
@@ -70,40 +70,40 @@ end
 
 -- tostring() for decimals number, using a dot as decimal separator
 -- regardless of the system locale 
-function us_tostring(n)
+function common.us_tostring(n)
     s = tostring(n):gsub(",", ".", 1)
     return s
 end
 
 -- strip leading and trailing spaces
-function strip(str)
+function common.strip(str)
     return string.gsub(str, "^%s*(.-)%s*$", "%1")
 end
 
 -- print a table (recursively)
-function table_print(t,prefix)
+function common.table_print(t,prefix)
     local prefix = prefix or ""
     if not t then
         print(prefix.."/!\\ nil")
         return
     end
-    for a,b in pairs_sorted(t) do
+    for a,b in common.pairs_sorted(t) do
         print(prefix..tostring(a),b)
         if type(b)==type({}) then
-            table_print(b,prefix.."\t")
+            common.table_print(b,prefix.."\t")
         end
     end
 end
 
 -- print the list of callbacks registered in lua
 -- useful for debug purposes
-function print_callbacks()
+function common.print_callbacks()
     print "callbacks:"
-    table_print(vlc.callbacks)
+    common.table_print(vlc.callbacks)
 end 
 
 -- convert a duration (in seconds) to a string
-function durationtostring(duration)
+function common.durationtostring(duration)
     return string.format("%02d:%02d:%02d",
                          math.floor(duration/3600),
                          math.floor(duration/60)%60,
@@ -113,7 +113,7 @@ end
 -- realpath
 -- this is for URL paths - do not use for file paths as this has
 -- no support for Windows '\' directory separators
-function realpath(path)
+function common.realpath(path)
     -- detect URLs to extract and process the path component
     local s, p, qf = string.match(path, "^([a-zA-Z0-9+%-%.]-://[^/]-)(/[^?#]*)(.*)$")
     if not s then
@@ -149,7 +149,7 @@ end
 
 -- parse the time from a string and return the seconds
 -- time format: [+ or -][<int><H or h>:][<int><M or m or '>:][<int><nothing or S or s or ">]
-function parsetime(timestring)
+function common.parsetime(timestring)
     local seconds = 0
     local hourspattern = "(%d+)[hH]"
     local minutespattern = "(%d+)[mM']"
@@ -176,11 +176,11 @@ function parsetime(timestring)
 end
 
 -- seek
-function seek(value)
+function common.seek(value)
     local input = vlc.object.input()
     if input ~= nil and value ~= nil then
         if string.sub(value,-1) == "%" then
-            local number = us_tonumber(string.sub(value,1,-2))
+            local number = common.us_tonumber(string.sub(value,1,-2))
             if number ~= nil then
                 local posPercent = number/100
                 if string.sub(value,1,1) == "+" or string.sub(value,1,1) == "-" then
@@ -190,7 +190,7 @@ function seek(value)
                 end
             end
         else
-            local posTime = parsetime(value)
+            local posTime = common.parsetime(value)
             if string.sub(value,1,1) == "+" or string.sub(value,1,1) == "-" then
                 vlc.var.set(input,"time",vlc.var.get(input,"time") + (posTime * 1000000))
             else
@@ -200,10 +200,12 @@ function seek(value)
     end
 end
 
-function volume(value)
+function common.volume(value)
     if type(value)=="string" and string.sub(value,1,1) == "+" or string.sub(value,1,1) == "-" then
         vlc.volume.set(vlc.volume.get()+tonumber(value))
     else
         vlc.volume.set(tostring(value))
     end
 end
+
+return common
Index: vlc-3.0.17.4/share/lua/modules/sandbox.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/modules/sandbox.lua
+++ vlc-3.0.17.4/share/lua/modules/sandbox.lua
@@ -21,7 +21,7 @@
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 --]==========================================================================]
 
-module("sandbox",package.seeall)
+local sandbox = {}
 
 -- See Programming in Lua (second edition) for sandbox examples
 -- See http://lua-users.org/wiki/SandBoxes for a list of SAFE/UNSAFE variables
@@ -49,7 +49,7 @@ if _VERSION == "Lua 5.1" then
     sandbox_blacklist["loadstring"] = true
 end
 
-function readonly_table_proxy(name,src,blacklist)
+function sandbox.readonly_table_proxy(name,src,blacklist)
     if type(src)=="nil" then return end
     if type(src)~="table" then error("2nd argument must be a table (or nil)") end
     local name = name
@@ -77,17 +77,17 @@ end
 -- Of course, all of this is useless if the sandbox calling code has
 -- another reference to one of these tables in his global environement.
 local sandbox_proxy = {
-    coroutine   = readonly_table_proxy("coroutine",coroutine),
-    string      = readonly_table_proxy("string",string,{"dump"}),
-    table       = readonly_table_proxy("table",table),
-    math        = readonly_table_proxy("math",math),
-    io          = readonly_table_proxy("io",io),
-    os          = readonly_table_proxy("os",os,{"exit","getenv","remove",
-                                                "rename","setlocale"}),
-    sandbox     = readonly_table_proxy("sandbox",sandbox),
+    coroutine   = sandbox.readonly_table_proxy("coroutine",coroutine),
+    string      = sandbox.readonly_table_proxy("string",string,{"dump"}),
+    table       = sandbox.readonly_table_proxy("table",table),
+    math        = sandbox.readonly_table_proxy("math",math),
+    io          = sandbox.readonly_table_proxy("io",io),
+    os          = sandbox.readonly_table_proxy("os",os,{"exit","getenv","remove",
+                                                        "rename","setlocale"}),
+    sandbox     = sandbox.readonly_table_proxy("sandbox",sandbox),
 }
 
-function sandbox(func,override)
+function sandbox.sandbox(func,override)
     local _G = getfenv(2)
     local override = override or {}
     local sandbox_metatable =
@@ -121,3 +121,5 @@ function sandbox(func,override)
         return unpack(ret)
     end
 end
+
+return sandbox
Index: vlc-3.0.17.4/share/lua/modules/simplexml.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/modules/simplexml.lua
+++ vlc-3.0.17.4/share/lua/modules/simplexml.lua
@@ -21,7 +21,7 @@
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 --]==========================================================================]
 
-module("simplexml",package.seeall)
+local simplexml = {}
 
 --[[ Returns the xml tree structure
 --   Each node is of one of the following types:
@@ -86,19 +86,19 @@ local function parsexml(stream, errormsg
     return tree
 end
 
-function parse_url(url)
+function simplexml.parse_url(url)
     return parsexml(vlc.stream(url))
 end
 
-function parse_stream(stream)
+function simplexml.parse_stream(stream)
     return parsexml(stream)
 end
 
-function parse_string(str)
+function simplexml.parse_string(str)
     return parsexml(vlc.memory_stream(str))
 end
 
-function add_name_maps(tree)
+function simplexml.add_name_maps(tree)
     tree.children_map = {}
     for _, node in pairs(tree.children) do
         if type(node) == "table" then
@@ -106,8 +106,9 @@ function add_name_maps(tree)
                 tree.children_map[node.name] = {}
             end
             table.insert(tree.children_map[node.name], node)
-            add_name_maps(node)
+            simplexml.add_name_maps(node)
         end
     end
 end
 
+return simplexml
Index: vlc-3.0.17.4/share/lua/playlist/jamendo.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/playlist/jamendo.lua
+++ vlc-3.0.17.4/share/lua/playlist/jamendo.lua
@@ -20,7 +20,7 @@
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 --]]
 
-require "simplexml"
+local simplexml = require "simplexml"
 
 -- Probe function.
 function probe()
Index: vlc-3.0.17.4/share/lua/sd/fmc.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/sd/fmc.lua
+++ vlc-3.0.17.4/share/lua/sd/fmc.lua
@@ -19,7 +19,7 @@
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 --]]
-require "simplexml"
+local simplexml = require "simplexml"
 
 function descriptor()
     return { title="Free Music Charts" }
Index: vlc-3.0.17.4/share/lua/sd/icecast.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/sd/icecast.lua
+++ vlc-3.0.17.4/share/lua/sd/icecast.lua
@@ -20,12 +20,13 @@
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 --]]
 
-lazily_loaded = false
+local simplexml = nil
 
 function lazy_load()
-    if lazily_loaded then return nil end
-    require "simplexml"
-    lazily_loaded = true
+    if simplexml == nil
+    then
+        simplexml = require "simplexml"
+    end
 end
 
 function descriptor()
Index: vlc-3.0.17.4/share/lua/http/requests/browse.json
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/requests/browse.json
+++ vlc-3.0.17.4/share/lua/http/requests/browse.json
@@ -27,7 +27,7 @@ vim:syntax=lua
 <?vlc
 
 --package.loaded.httprequests = nil --uncomment to debug changes
-require "httprequests"
+local httprequests = require "httprequests"
 
 httprequests.processcommands()
 
Index: vlc-3.0.17.4/share/lua/http/requests/browse.xml
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/requests/browse.xml
+++ vlc-3.0.17.4/share/lua/http/requests/browse.xml
@@ -28,7 +28,7 @@ vim:syntax=lua
 <?vlc
 
 --package.loaded.httprequests = nil --uncomment to debug changes
-require "httprequests"
+local httprequests = require "httprequests"
 
 httprequests.processcommands()
 
Index: vlc-3.0.17.4/share/lua/http/requests/playlist.json
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/requests/playlist.json
+++ vlc-3.0.17.4/share/lua/http/requests/playlist.json
@@ -27,7 +27,7 @@ vim:syntax=lua
 <?vlc
 
 --package.loaded.httprequests = nil --uncomment to debug changes
-require "httprequests"
+local httprequests = require "httprequests"
 
 httprequests.processcommands()
 
Index: vlc-3.0.17.4/share/lua/http/requests/playlist.xml
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/requests/playlist.xml
+++ vlc-3.0.17.4/share/lua/http/requests/playlist.xml
@@ -29,7 +29,7 @@ vim:syntax=lua
 <?vlc
 
 --package.loaded.httprequests = nil --uncomment to debug changes
-require "httprequests"
+local httprequests = require "httprequests"
 
 local printleaf = function(item)
 	print ("\n<leaf")
@@ -89,4 +89,4 @@ local pt=httprequests.playlisttable()
 printitem(pt)
 
 
-?>
\ No newline at end of file
+?>
Index: vlc-3.0.17.4/share/lua/http/requests/status.json
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/requests/status.json
+++ vlc-3.0.17.4/share/lua/http/requests/status.json
@@ -27,7 +27,7 @@ vim:syntax=lua
 <?vlc
 
 --package.loaded.httprequests = nil --uncomment to debug changes
-require "httprequests"
+local httprequests = require "httprequests"
 
 httprequests.processcommands()
 
Index: vlc-3.0.17.4/share/lua/http/requests/status.xml
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/requests/status.xml
+++ vlc-3.0.17.4/share/lua/http/requests/status.xml
@@ -29,7 +29,7 @@ vim:syntax=lua
 <?vlc
 
 --package.loaded.httprequests = nil --uncomment to debug changes
-require "httprequests"
+local httprequests = require "httprequests"
 
 httprequests.processcommands()
 
Index: vlc-3.0.17.4/share/lua/intf/modules/httprequests.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/intf/modules/httprequests.lua
+++ vlc-3.0.17.4/share/lua/intf/modules/httprequests.lua
@@ -22,7 +22,7 @@
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 --]==========================================================================]
 
-module("httprequests",package.seeall)
+local httprequests = {}
 
 local common = require ("common")
 local dkjson = require ("dkjson")
@@ -39,6 +39,7 @@ function round(what, precision)
     end
     return nil
 end
+httprequests.round = round
 
 --split text where it matches the delimiter
 function strsplit(text, delimiter)
@@ -64,6 +65,7 @@ function strsplit(text, delimiter)
     end
     return list
 end
+httprequests.strsplit = strsplit
 
 --main function to process commands sent with the request
 
@@ -207,6 +209,7 @@ processcommands = function ()
     local val = nil
 
 end
+httprequests.processcommands = processcommands
 
 --utilities for formatting output
 
@@ -219,6 +222,7 @@ function xmlString(s)
         return tostring(s)
     end
 end
+httprequests.xmlString = xmlString
 
 --dkjson outputs numbered tables as arrays
 --so we don't need the array indicators
@@ -238,6 +242,7 @@ function removeArrayIndicators(dict)
 
     return newDict
 end
+httprequests.removeArrayIndicators = removeArrayIndicators
 
 printTableAsJson = function (dict)
     dict=removeArrayIndicators(dict)
@@ -245,6 +250,7 @@ printTableAsJson = function (dict)
     local output=dkjson.encode (dict, { indent = true })
     print(output)
 end
+httprequests.printTableAsJson = printTableAsJson
 
 local printXmlKeyValue = function (k,v,indent)
     print("\n")
@@ -270,12 +276,14 @@ local printXmlKeyValue = function (k,v,i
         end
     end
 end
+httprequests.printXmlKeyValue = printXmlKeyValue
 
 printTableAsXml = function (dict,indent)
     for k,v in pairs(dict) do
         printXmlKeyValue(k,v,indent)
     end
 end
+httprequests.printTableAsXml = printTableAsXml
 
 --[[
 function logTable(t,pre)
@@ -310,6 +318,7 @@ getplaylist = function ()
 
     return p
 end
+httprequests.getplaylist = getplaylist
 
 parseplaylist = function (item)
     if item.flags.disabled then return end
@@ -358,6 +367,7 @@ parseplaylist = function (item)
     end
 
 end
+httprequests.parseplaylist = parseplaylist
 
 playlisttable = function ()
 
@@ -365,6 +375,7 @@ playlisttable = function ()
 
     return parseplaylist(basePlaylist)
 end
+httprequests.playlisttable = playlisttable
 
 getbrowsetable = function ()
 
@@ -442,6 +453,7 @@ getbrowsetable = function ()
 
     return result;
 end
+httprequests.getbrowsetable = getbrowsetable
 
 
 getstatus = function (includecategories)
@@ -554,4 +566,5 @@ getstatus = function (includecategories)
     end
     return s
 end
+httprequests.getstatus = getstatus
 
Index: vlc-3.0.17.4/share/lua/intf/modules/host.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/intf/modules/host.lua
+++ vlc-3.0.17.4/share/lua/intf/modules/host.lua
@@ -24,7 +24,7 @@
 --[==========================================================================[
 Example use:
 
-    require "host"
+    local host = require "host"
     h = host.host()
 
     -- Bypass any authentication
@@ -62,8 +62,6 @@ Example use:
 For complete examples see existing VLC Lua interface modules (ie cli.lua)
 --]==========================================================================]
 
-module("host",package.seeall)
-
 status = { init = 0, read = 1, write = 2, password = 3 }
 client_type = { net = 1, stdio = 2, fifo = 3, telnet = 4 }
 
@@ -366,3 +364,10 @@ function host()
               })
     return h
 end
+
+return {
+    host = host,
+    status = status,
+    client_type = client_type,
+    is_flag_set = is_flag_set,
+}
Index: vlc-3.0.17.4/share/lua/http/custom.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/http/custom.lua
+++ vlc-3.0.17.4/share/lua/http/custom.lua
@@ -2,7 +2,6 @@
 function gettext(text) print(vlc.gettext._(text)) end
 
 local _G = _G
-module("custom",package.seeall)
 
 local dialogs = setmetatable({}, {
 __index = function(self, name)
Index: vlc-3.0.17.4/share/lua/intf/luac.lua
===================================================================
--- vlc-3.0.17.4.orig/share/lua/intf/luac.lua
+++ vlc-3.0.17.4/share/lua/intf/luac.lua
@@ -24,14 +24,11 @@
 usage = 
 [[
 To compile a lua script to bytecode (luac) run:
-  vlc -I luaintf --lua-intf --lua-config 'luac={input="file.lua",output="file.luac"}'
+  vlc -I luaintf --lua-intf luac --lua-config 'luac={input="file.lua",output="file.luac"}'
 Output will be similar to that of the luac command line tool provided with lua with the following arguments:
   luac -o file.luac file.lua
 ]]
 
-require "string"
-require "io"
-
 function compile()
     vlc.msg.info("About to compile lua file")
     vlc.msg.info("  Input is '"..tostring(config.input).."'")
Index: vlc-3.0.17.4/contrib/src/lua/Add-EXE_EXT-to-allow-specifying-binary-extension.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Add-EXE_EXT-to-allow-specifying-binary-extension.patch
@@ -0,0 +1,36 @@
+From 08522a57a2330ce840a812d75d6ef4adb94f0f4b Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 16:15:53 +0100
+Subject: [PATCH] Add EXE_EXT to allow specifying binary extension
+
+This is needed to make the install step aware that the lua/luac
+binaries have a .exe suffix for Windows.
+---
+ Makefile | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index cae9b35..7913cd2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -34,13 +34,16 @@ INSTALL_DATA= $(INSTALL) -m 0644
+ MKDIR= mkdir -p
+ RM= rm -f
+ 
++# File extension used for executables
++EXE_EXT=
++
+ # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
+ 
+ # Convenience platforms targets.
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+ 
+ # What to install.
+-TO_BIN= lua luac
++TO_BIN= lua$(EXE_EXT) luac$(EXE_EXT)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+ TO_LIB= liblua5.4.a
+ TO_MAN= lua.1 luac.1
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Add-a-Makefile-variable-to-override-the-strip-tool.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Add-a-Makefile-variable-to-override-the-strip-tool.patch
@@ -0,0 +1,33 @@
+From bedf474c5b2f1c46188ff7774ad3b97c4c028108 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Wed, 10 Nov 2021 12:44:52 +0100
+Subject: [PATCH] Add a Makefile variable to override the strip tool
+
+---
+ src/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index af57fe2..db0a3e2 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -15,6 +15,7 @@ AR= ar rcu
+ RANLIB= ranlib
+ RM= rm -f
+ UNAME= uname
++STRIP= strip
+ 
+ SYSCFLAGS=
+ SYSLDFLAGS=
+@@ -131,7 +132,7 @@ Darwin macos macosx:
+ 
+ mingw:
+ 	$(MAKE) "LUA_A=lua54.dll" "LUA_T=lua.exe" "LUA_A_LINK=lua54.lib" \
+-	"AR=$(CC) -shared -Wl,--out-implib,lua54.lib  $(LDFLAGS) -o" "RANLIB=strip --strip-unneeded" \
++	"AR=$(CC) -shared -Wl,--out-implib,lua54.lib  $(LDFLAGS) -o" "RANLIB=$(STRIP) --strip-unneeded" \
+ 	"SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe
+ 	$(MAKE) "LUAC_T=luac.exe" luac.exe
+ 
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Add-version-to-library-name.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Add-version-to-library-name.patch
@@ -0,0 +1,39 @@
+From 55bc6b11605b7e35323daf28587990d4d57b5e59 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 13:47:03 +0100
+Subject: [PATCH] Add version to library name
+
+---
+ Makefile     | 2 +-
+ src/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index fed75b3..29c50a3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,7 +41,7 @@ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix
+ # 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= liblua5.4.a
+ TO_MAN= lua.1 luac.1
+ 
+ # Lua version and release.
+diff --git a/src/Makefile b/src/Makefile
+index 91f2315..af57fe2 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -32,7 +32,7 @@ CMCFLAGS=
+ 
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+ 
+-LUA_A=	liblua.a
++LUA_A=	liblua5.4.a
+ LUA_A_LINK= $(LUA_A)
+ 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
+ LIB_O=	lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Always-use-the-luac-32-bit-format.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Always-use-the-luac-32-bit-format.patch
@@ -0,0 +1,161 @@
+From ba66def0fbcbb4635e62f820ed588bd429b81dc9 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 03:21:58 +0100
+Subject: [PATCH] Always use the luac 32-bit format
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Based on the previous patch by Rémi Denis-Courmont
+
+This forces lua and luac to use 32-bit integers even if it would
+usually use 64-bit ones, this makes it easier to cross-compile,
+as the build machine might be 64bit while the host is 32bit.
+---
+ src/ldump.c   |  4 +--
+ src/luaconf.h | 68 ++++++++-------------------------------------------
+ src/lundump.c |  4 +--
+ 3 files changed, 14 insertions(+), 62 deletions(-)
+
+diff --git a/src/ldump.c b/src/ldump.c
+index f848b66..c66afe5 100644
+--- a/src/ldump.c
++++ b/src/ldump.c
+@@ -56,9 +56,9 @@ static void dumpByte (DumpState *D, int y) {
+ 
+ 
+ /* dumpInt Buff Size */
+-#define DIBS    ((sizeof(size_t) * 8 / 7) + 1)
++#define DIBS    ((sizeof(uint32_t) * 8 / 7) + 1)
+ 
+-static void dumpSize (DumpState *D, size_t x) {
++static void dumpSize (DumpState *D, uint32_t x) {
+   lu_byte buff[DIBS];
+   int n = 0;
+   do {
+diff --git a/src/luaconf.h b/src/luaconf.h
+index e64d2ee..0d04694 100644
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -10,6 +10,8 @@
+ 
+ #include <limits.h>
+ #include <stddef.h>
++#include <stdint.h>
++#include <sys/types.h>
+ 
+ 
+ /*
+@@ -116,7 +118,7 @@
+ /*
+ @@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats.
+ */
+-#define LUA_32BITS	0
++#define LUA_32BITS	1
+ 
+ 
+ /*
+@@ -503,7 +505,7 @@
+ ** use LUAI_UACINT here to avoid problems with promotions (which
+ ** can turn a comparison between unsigneds into a signed comparison)
+ */
+-#define LUA_UNSIGNED		unsigned LUAI_UACINT
++#define LUA_UNSIGNED		uint32_t
+ 
+ 
+ #define LUA_UNSIGNEDBITS	(sizeof(LUA_UNSIGNED) * CHAR_BIT)
+@@ -511,66 +513,16 @@
+ 
+ /* now the variable definitions */
+ 
+-#if LUA_INT_TYPE == LUA_INT_INT		/* { int */
+-
+-#define LUA_INTEGER		int
++#define LUA_INTEGER		int32_t
+ #define LUA_INTEGER_FRMLEN	""
+ 
+-#define LUA_MAXINTEGER		INT_MAX
+-#define LUA_MININTEGER		INT_MIN
+-
+-#define LUA_MAXUNSIGNED		UINT_MAX
+-
+-#elif LUA_INT_TYPE == LUA_INT_LONG	/* }{ long */
+-
+-#define LUA_INTEGER		long
+-#define LUA_INTEGER_FRMLEN	"l"
+-
+-#define LUA_MAXINTEGER		LONG_MAX
+-#define LUA_MININTEGER		LONG_MIN
+-
+-#define LUA_MAXUNSIGNED		ULONG_MAX
+-
+-#elif LUA_INT_TYPE == LUA_INT_LONGLONG	/* }{ long long */
+-
+-/* use presence of macro LLONG_MAX as proxy for C99 compliance */
+-#if defined(LLONG_MAX)		/* { */
+-/* use ISO C99 stuff */
+-
+-#define LUA_INTEGER		long long
+-#define LUA_INTEGER_FRMLEN	"ll"
+-
+-#define LUA_MAXINTEGER		LLONG_MAX
+-#define LUA_MININTEGER		LLONG_MIN
+-
+-#define LUA_MAXUNSIGNED		ULLONG_MAX
+-
+-#elif defined(LUA_USE_WINDOWS) /* }{ */
+-/* in Windows, can use specific Windows types */
+-
+-#define LUA_INTEGER		__int64
+-#define LUA_INTEGER_FRMLEN	"I64"
++#define LUA_MAXINTEGER		INT32_MAX
++#define LUA_MININTEGER		INT32_MIN
+ 
+-#define LUA_MAXINTEGER		_I64_MAX
+-#define LUA_MININTEGER		_I64_MIN
+-
+-#define LUA_MAXUNSIGNED		_UI64_MAX
+-
+-#else				/* }{ */
+-
+-#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \
+-  or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)"
+-
+-#endif				/* } */
+-
+-#else				/* }{ */
+-
+-#error "numeric integer type not defined"
+-
+-#endif				/* } */
+-
+-/* }================================================================== */
++#define LUA_MAXUNSIGNED		UINT32_MAX
+ 
++#define LUAI_UMEM	size_t
++#define LUAI_MEM	ssize_t
+ 
+ /*
+ ** {==================================================================
+diff --git a/src/lundump.c b/src/lundump.c
+index 5aa55c4..54840ee 100644
+--- a/src/lundump.c
++++ b/src/lundump.c
+@@ -81,12 +81,12 @@ static size_t loadUnsigned (LoadState *S, size_t limit) {
+ 
+ 
+ static size_t loadSize (LoadState *S) {
+-  return loadUnsigned(S, ~(size_t)0);
++  return loadUnsigned(S, ~(uint32_t)0);
+ }
+ 
+ 
+ static int loadInt (LoadState *S) {
+-  return cast_int(loadUnsigned(S, INT_MAX));
++  return cast_int(loadUnsigned(S, INT32_MAX));
+ }
+ 
+ 
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Avoid-usage-of-localeconv.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Avoid-usage-of-localeconv.patch
@@ -0,0 +1,239 @@
+From 1eb23c5258753ad13b1103909d3637a950cc7d3d Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 04:41:06 +0100
+Subject: [PATCH] Avoid usage of localeconv
+
+In order to properly do this, we need to implement a locale-independent
+version of strtof and snprintf, else lua will be unable to properly
+parse floating point numbers on systems that do not use a locale where
+the dot is the decimal point.
+---
+ src/Makefile       |   2 +-
+ src/clocwrappers.c | 159 +++++++++++++++++++++++++++++++++++++++++++++
+ src/luaconf.h      |   9 ++-
+ 3 files changed, 166 insertions(+), 4 deletions(-)
+ create mode 100644 src/clocwrappers.c
+
+diff --git a/src/Makefile b/src/Makefile
+index f78c0b8..2f18923 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -23,7 +23,7 @@ SYSLIBS=
+ MYCFLAGS=
+ MYLDFLAGS=
+ MYLIBS=
+-MYOBJS=
++MYOBJS= clocwrappers.o
+ 
+ # Special flags for compiler modules; -Os reduces code size.
+ CMCFLAGS= 
+diff --git a/src/clocwrappers.c b/src/clocwrappers.c
+new file mode 100644
+index 0000000..5a9b4cc
+--- /dev/null
++++ b/src/clocwrappers.c
+@@ -0,0 +1,159 @@
++#include <stdlib.h>
++#include <stdio.h>
++#include <stdarg.h>
++
++#if defined(__APPLE__)
++# include <xlocale.h>
++#elif defined(_WIN32)
++# include <windows.h>
++# include <locale.h>
++#else
++# define _GNU_SOURCE
++# include <locale.h>
++#endif
++
++/* A strtof replacement that always uses the C locale to ensure
++ * it always accepts '.' as decimal point.
++ */
++
++#if defined(__APPLE__)
++
++float strtof_c_locale(const char *nptr, char **endptr)
++{
++	return strtof_l(nptr, endptr, LC_C_LOCALE);
++}
++
++int snprintf_c_locale(char * restrict str, size_t size, const char * restrict format, ...)
++{
++	int res;
++	va_list args;
++
++    va_start(args, format);
++	res = vsnprintf_l(str, size, LC_C_LOCALE, format, args);
++	va_end(args);
++
++	return res;
++}
++
++#elif defined(_WIN32)
++
++float strtof_c_locale(const char *nptr, char **endptr)
++{
++	float res;
++
++	// Store old threadlocale state
++	int cfgtlocale_old = _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
++	char *orig_locale = NULL;
++	if (cfgtlocale_old != -1) {
++		// Store current locale
++		orig_locale = setlocale(LC_NUMERIC, NULL);
++		setlocale(LC_NUMERIC, "C");
++	}
++	res = strtof(nptr, endptr);
++	if (orig_locale != NULL) {
++		// Restore the old locale
++		setlocale(LC_NUMERIC, orig_locale);
++	}
++	if (cfgtlocale_old != _ENABLE_PER_THREAD_LOCALE && cfgtlocale_old != -1) {
++		// Restore the old threadlocale state
++		_configthreadlocale(cfgtlocale_old);
++	}
++
++	return res;
++}
++
++int snprintf_c_locale(char * restrict str, size_t size, const char * restrict format, ...)
++{
++	int res;
++
++	// Store old threadlocale state
++	int cfgtlocale_old = _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
++	char *orig_locale = NULL;
++	if (cfgtlocale_old != -1) {
++		// Store current locale
++		orig_locale = setlocale(LC_NUMERIC, NULL);
++		setlocale(LC_NUMERIC, "C");
++	}
++
++	va_list args;
++    va_start(args, format);
++	res = vsnprintf(str, size, format, args);
++	va_end(args);
++
++	if (orig_locale != NULL) {
++		// Restore the old locale
++		setlocale(LC_NUMERIC, orig_locale);
++	}
++	if (cfgtlocale_old != _ENABLE_PER_THREAD_LOCALE && cfgtlocale_old != -1) {
++		// Restore the old threadlocale state
++		_configthreadlocale(cfgtlocale_old);
++	}
++
++	return res;
++}
++
++#elif defined(__ANDROID__) && (__ANDROID_API__ < 21)
++
++float strtof_c_locale(const char *nptr, char **endptr)
++{
++	// Android API level < 21 has no locales support
++	return strtof(nptr, endptr);
++}
++
++int snprintf_c_locale(char * restrict str, size_t size, const char * restrict format, ...)
++{
++	// Android API level < 21 has no locales support
++	va_list args;
++    va_start(args, format);
++	return vsnprintf(str, size, format, args);
++	va_end(args);
++}
++
++#else // Version for all other OSes
++
++float strtof_c_locale(const char *nptr, char **endptr)
++{
++	float res;
++
++	locale_t orig_locale = (locale_t)0;
++	locale_t locale = newlocale(LC_NUMERIC_MASK, "C", (locale_t)0);
++	if (locale != (locale_t)0) {
++		// Store current locale
++		orig_locale = uselocale(locale);
++	}
++	res = strtof(nptr, endptr);
++	if (locale != (locale_t)0) {
++		// Restore old locale
++		uselocale(orig_locale);
++		freelocale(locale);
++	}
++
++	return res;
++}
++
++int snprintf_c_locale(char * restrict str, size_t size, const char * restrict format, ...)
++{
++	int res;
++
++	locale_t orig_locale = (locale_t)0;
++	locale_t locale = newlocale(LC_NUMERIC_MASK, "C", (locale_t)0);
++	if (locale != (locale_t)0) {
++		// Store current locale
++		orig_locale = uselocale(locale);
++	}
++
++	va_list args;
++    va_start(args, format);
++	res = vsnprintf(str, size, format, args);
++	va_end(args);
++
++	if (locale != (locale_t)0) {
++		// Restore old locale
++		uselocale(orig_locale);
++		freelocale(locale);
++	}
++
++	return res;
++}
++
++#endif
+diff --git a/src/luaconf.h b/src/luaconf.h
+index 38be08d..4b632ee 100644
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -12,7 +12,10 @@
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <sys/types.h>
++#include <locale.h>
+ 
++float strtof_c_locale(const char *nptr, char **endptr);
++int snprintf_c_locale(char * restrict str, size_t size, const char * restrict format, ...);
+ 
+ /*
+ ** ===================================================================
+@@ -437,7 +440,7 @@
+ 
+ #define l_mathop(op)		op##f
+ 
+-#define lua_str2number(s,p)	strtof((s), (p))
++#define lua_str2number(s,p)	strtof_c_locale((s), (p))
+ 
+ 
+ #elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE	/* }{ long double */
+@@ -535,7 +538,7 @@
+ ** (All uses in Lua have only one format item.)
+ */
+ #if !defined(LUA_USE_C89)
+-#define l_sprintf(s,sz,f,i)	snprintf(s,sz,f,i)
++#define l_sprintf(s,sz,f,i)	snprintf_c_locale(s,sz,f,i)
+ #else
+ #define l_sprintf(s,sz,f,i)	((void)(sz), sprintf(s,f,i))
+ #endif
+@@ -609,7 +612,7 @@
+ ** macro must include the header 'locale.h'.)
+ */
+ #if !defined(lua_getlocaledecpoint)
+-#define lua_getlocaledecpoint()		(localeconv()->decimal_point[0])
++#define lua_getlocaledecpoint()		'.'
+ #endif
+ 
+ 
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Create-an-import-library-needed-for-lld.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Create-an-import-library-needed-for-lld.patch
@@ -0,0 +1,48 @@
+From 536cf8d2acceb47bc5ef823d5553603eaa7fa8b1 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 05:40:43 +0100
+Subject: [PATCH] Create an import library needed for lld
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Based on the previous patch by Martin Storsjö
+---
+ src/Makefile | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 2f18923..91f2315 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -33,6 +33,7 @@ CMCFLAGS=
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+ 
+ LUA_A=	liblua.a
++LUA_A_LINK= $(LUA_A)
+ 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
+ LIB_O=	lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
+ BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
+@@ -61,7 +62,7 @@ $(LUA_A): $(BASE_O)
+ 	$(RANLIB) $@
+ 
+ $(LUA_T): $(LUA_O) $(LUA_A)
+-	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A_LINK) $(LIBS)
+ 
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ 	$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+@@ -129,8 +130,8 @@ Darwin macos macosx:
+ 	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" SYSLIBS="-lreadline"
+ 
+ mingw:
+-	$(MAKE) "LUA_A=lua54.dll" "LUA_T=lua.exe" \
+-	"AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \
++	$(MAKE) "LUA_A=lua54.dll" "LUA_T=lua.exe" "LUA_A_LINK=lua54.lib" \
++	"AR=$(CC) -shared -Wl,--out-implib,lua54.lib  $(LDFLAGS) -o" "RANLIB=strip --strip-unneeded" \
+ 	"SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe
+ 	$(MAKE) "LUAC_T=luac.exe" luac.exe
+ 
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Create-and-install-a-.pc-file.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Create-and-install-a-.pc-file.patch
@@ -0,0 +1,87 @@
+From 5b1f5e5d94dc380cded9ecf4fa49a2e19daccf0b Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 15:33:41 +0100
+Subject: [PATCH] Create and install a .pc file
+
+---
+ Makefile | 27 ++++++++++++++++++++++-----
+ 1 file changed, 22 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 29c50a3..cae9b35 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,6 +14,7 @@ INSTALL_TOP= /usr/local
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+ INSTALL_INC= $(INSTALL_TOP)/include
+ INSTALL_LIB= $(INSTALL_TOP)/lib
++INSTALL_LIB_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
+ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
+@@ -43,6 +44,7 @@ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+ TO_LIB= liblua5.4.a
+ TO_MAN= lua.1 luac.1
++TO_PKGCONFIG=  lua.pc
+ 
+ # Lua version and release.
+ V= 5.4
+@@ -54,12 +56,17 @@ all:	$(PLAT)
+ $(PLATS) help test clean:
+ 	@cd src && $(MAKE) $@
+ 
+-install: dummy
++lua.pc:
++	$(MAKE) pc > lua.pc
++
++
++install: dummy $(TO_PKGCONFIG)
+ 	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ 	cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
++	$(INSTALL_DATA) $(TO_PKGCONFIG) $(INSTALL_LIB_PKGCONFIG)
+ 
+ uninstall:
+ 	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
+@@ -83,10 +90,12 @@ echo:
+ 	@echo "TO_INC= $(TO_INC)"
+ 	@echo "TO_LIB= $(TO_LIB)"
+ 	@echo "TO_MAN= $(TO_MAN)"
++	@echo "TO_PKGCONFIG= $(TO_PKGCONFIG)"
+ 	@echo "INSTALL_TOP= $(INSTALL_TOP)"
+ 	@echo "INSTALL_BIN= $(INSTALL_BIN)"
+ 	@echo "INSTALL_INC= $(INSTALL_INC)"
+ 	@echo "INSTALL_LIB= $(INSTALL_LIB)"
++	@echo "INSTALL_LIB_PKGCONFIG= $(INSTALL_LIB_PKGCONFIG)"
+ 	@echo "INSTALL_MAN= $(INSTALL_MAN)"
+ 	@echo "INSTALL_LMOD= $(INSTALL_LMOD)"
+ 	@echo "INSTALL_CMOD= $(INSTALL_CMOD)"
+@@ -95,10 +104,18 @@ echo:
+ 
+ # Echo pkg-config data.
+ pc:
+-	@echo "version=$R"
+-	@echo "prefix=$(INSTALL_TOP)"
+-	@echo "libdir=$(INSTALL_LIB)"
+-	@echo "includedir=$(INSTALL_INC)"
++	@echo 'version=$R'
++	@echo 'prefix=$(INSTALL_TOP)'
++	@echo 'libdir=$(INSTALL_LIB)'
++	@echo 'includedir=$(INSTALL_INC)'
++	@echo ''
++	@echo 'Name: lua'
++	@echo 'Description: the lua programming language'
++	@echo 'Version: $R'
++	@echo 'URL: https://www.lua.org'
++	@echo 'Cflags: -I$${includedir}'
++	@echo 'Libs:  -L$${libdir} -llua5.4'
++	@echo 'Requires:'
+ 
+ # Targets that do not create files (not all makes understand .PHONY).
+ .PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Disable-dynamic-library-loading-support.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Disable-dynamic-library-loading-support.patch
@@ -0,0 +1,44 @@
+From b299adde28756deebeb9e51b137aeaf6c332e5f1 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 03:30:05 +0100
+Subject: [PATCH] Disable dynamic library loading support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Based on the previous patch by Rafaël Carré
+---
+ src/luaconf.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/luaconf.h b/src/luaconf.h
+index 0d04694..38be08d 100644
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -55,20 +55,20 @@
+ 
+ 
+ #if defined(LUA_USE_WINDOWS)
+-#define LUA_DL_DLL	/* enable support for DLL */
++//#define LUA_DL_DLL	/* enable support for DLL */
+ #define LUA_USE_C89	/* broadly, Windows is C89 */
+ #endif
+ 
+ 
+ #if defined(LUA_USE_LINUX)
+ #define LUA_USE_POSIX
+-#define LUA_USE_DLOPEN		/* needs an extra library: -ldl */
++//#define LUA_USE_DLOPEN		/* needs an extra library: -ldl */
+ #endif
+ 
+ 
+ #if defined(LUA_USE_MACOSX)
+ #define LUA_USE_POSIX
+-#define LUA_USE_DLOPEN		/* MacOS does not need -ldl */
++//#define LUA_USE_DLOPEN		/* MacOS does not need -ldl */
+ #endif
+ 
+ 
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Disable-system-and-popen-for-windows-store-builds.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Disable-system-and-popen-for-windows-store-builds.patch
@@ -0,0 +1,67 @@
+From 105c0c6fcaa2e3498b52cb1a6e3328a670b64dc6 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Thu, 4 Nov 2021 06:42:04 +0100
+Subject: [PATCH] Disable system and popen for windows store builds
+
+---
+ src/loslib.c  |  4 ++++
+ src/luaconf.h | 13 +++++++++++++
+ 2 files changed, 17 insertions(+)
+
+diff --git a/src/loslib.c b/src/loslib.c
+index 3e20d62..d7fdb40 100644
+--- a/src/loslib.c
++++ b/src/loslib.c
+@@ -139,6 +139,7 @@
+ 
+ 
+ 
++#if !defined(LUA_USE_WINSTORE)
+ static int os_execute (lua_State *L) {
+   const char *cmd = luaL_optstring(L, 1, NULL);
+   int stat;
+@@ -151,6 +152,7 @@ static int os_execute (lua_State *L) {
+     return 1;
+   }
+ }
++#endif
+ 
+ 
+ static int os_remove (lua_State *L) {
+@@ -408,7 +410,9 @@ static const luaL_Reg syslib[] = {
+   {"clock",     os_clock},
+   {"date",      os_date},
+   {"difftime",  os_difftime},
++#if !defined(LUA_USE_WINSTORE)
+   {"execute",   os_execute},
++#endif
+   {"exit",      os_exit},
+   {"getenv",    os_getenv},
+   {"remove",    os_remove},
+diff --git a/src/luaconf.h b/src/luaconf.h
+index 4b632ee..382e70b 100644
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -54,6 +54,19 @@ int snprintf_c_locale(char * restrict str, size_t size, const char * restrict fo
+ */
+ #if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE)
+ #define LUA_USE_WINDOWS  /* enable goodies for regular Windows */
++
++#include <winapifamily.h>
++#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
++#define LUA_USE_WINSTORE
++#endif
++#endif
++
++#if defined(LUA_USE_WINSTORE)
++#define l_popen(L,c,m)  \
++	  ((void)c, (void)m, \
++	  luaL_error(L, "'popen' not supported"), \
++	  (FILE*)0)
++#define l_pclose(L,file)		((void)L, (void)file, -1)
+ #endif
+ 
+ 
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Do-not-use-large-file-offsets-with-too-old-Android-A.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Do-not-use-large-file-offsets-with-too-old-Android-A.patch
@@ -0,0 +1,30 @@
+From 02f5f23eb8efac1c1cbca8cffb9f136391639f51 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Fri, 5 Nov 2021 13:50:40 +0100
+Subject: [PATCH] Do not use large file offsets with too old Android API level
+
+---
+ src/lprefix.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/lprefix.h b/src/lprefix.h
+index 484f2ad..11b2889 100644
+--- a/src/lprefix.h
++++ b/src/lprefix.h
+@@ -8,6 +8,13 @@
+ #define lprefix_h
+ 
+ 
++#if defined(__ANDROID__) && (__ANDROID_API__ < 24)
++// Android API level < 24 does not support large file
++// offsets, so define this here to prevent it being
++// defined to 64 below.
++#define _FILE_OFFSET_BITS       32
++#endif
++
+ /*
+ ** Allows POSIX/XSI stuff
+ */
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/contrib/src/lua/Do-not-use-log2f-with-too-old-Android-API-level.patch
===================================================================
--- /dev/null
+++ vlc-3.0.17.4/contrib/src/lua/Do-not-use-log2f-with-too-old-Android-API-level.patch
@@ -0,0 +1,25 @@
+From d8cf6736921895a1f11ef69531e189261f944d53 Mon Sep 17 00:00:00 2001
+From: Marvin Scholz <epirat07@gmail.com>
+Date: Fri, 5 Nov 2021 12:09:08 +0100
+Subject: [PATCH] Do not use log2f with too old Android API level
+
+---
+ src/lmathlib.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lmathlib.c b/src/lmathlib.c
+index 5f5983a..7c37c88 100644
+--- a/src/lmathlib.c
++++ b/src/lmathlib.c
+@@ -173,7 +173,7 @@ static int math_log (lua_State *L) {
+     res = l_mathop(log)(x);
+   else {
+     lua_Number base = luaL_checknumber(L, 2);
+-#if !defined(LUA_USE_C89)
++#if !defined(LUA_USE_C89) && !(defined(__ANDROID__) && (__ANDROID_API__ < 18))
+     if (base == l_mathop(2.0))
+       res = l_mathop(log2)(x);
+     else
+-- 
+2.33.0
+
Index: vlc-3.0.17.4/configure.ac
===================================================================
--- vlc-3.0.17.4.orig/configure.ac
+++ vlc-3.0.17.4/configure.ac
@@ -1717,7 +1717,7 @@ then
   AS_IF([test "${LUAC}" = "false"], [
     AC_MSG_ERROR([Could not find the LUA byte compiler.])
   ])
-  AS_IF([test -d "${CONTRIB_DIR}" -a -f "${CONTRIB_DIR}/lib/liblua.a" -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|tr -s ' '|cut -d' ' -f2` != 0404], [
+  AS_IF([test -d "${CONTRIB_DIR}" -a -f "${CONTRIB_DIR}/lib/liblua5.4.a" -a `echo|${LUAC} -o - -|od -j 12 -N 2 -t x2|head -n 1|tr -s ' '|cut -d' ' -f2` != 0404], [
     AC_MSG_ERROR([You need 32-bits luac when using lua from contrib.])
   ])
 fi
openSUSE Build Service is sponsored by