Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:Factory
vlc
867.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor