logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 2dfb6db8071bb9c7c0fe24f7f30568e2ff745669
parent 1f24c29f1916fb234bbfbb311c5fcb38cfb28c00
Author: Michael Forney <mforney@mforney.org>
Date:   Sat,  9 May 2020 23:59:31 +0000

Lua 5.1 compatibility

Diffstat:

M.build.yml6+++---
Mninja.lua4++--
Mpkg/alsa-utils/gen.lua2+-
Mpkg/binutils/gen.lua2+-
Mpkg/ffmpeg/gen.lua2+-
Mpkg/ffmpeg/list.lua4++--
Mpkg/git/gen.lua4++--
Mpkg/kbd/gen.lua2+-
Mpkg/libevdev/eventnames.lua2+-
Mpkg/nsd/gen.lua2+-
Mpkg/python/gen.lua2+-
Mpkg/ubase/gen.lua2+-
Mrules.ninja2+-
Msetup.lua9+++++++++
14 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/.build.yml b/.build.yml @@ -2,7 +2,7 @@ image: alpine/latest packages: - bison - libarchive-tools -- lua5.2 +- lua - nasm - ncurses - ninja @@ -37,7 +37,7 @@ tasks: EOF # build everything echo 'return {exclude={}}' >fs.lua - lua5.2 setup.lua + lua setup.lua ninja out/pkg/texi2mdoc/texi2mdoc out/pkg/mc/bin/6m out/pkg/mc/bin/muse mkdir $HOME/bin cp out/pkg/texi2mdoc/texi2mdoc out/pkg/mc/bin/6m out/pkg/mc/bin/muse $HOME/bin @@ -54,7 +54,7 @@ tasks: EOF export SET for SET in $SETS ; do - lua5.2 setup.lua + lua setup.lua ninja commit done - deploy: | diff --git a/ninja.lua b/ninja.lua @@ -75,8 +75,8 @@ local function pathsgen(s, i) local results = {} local first = not i while true do - i = s:find('%g', i) - local _, j, arch = s:find('^@([^%s()]*)%s*%g?', i) + i = s:find('[^%s]', i) + local _, j, arch = s:find('^@([^%s()]*)%s*[^%s]?', i) if arch then i = j end if not i or s:sub(i, i) == ')' then break diff --git a/pkg/alsa-utils/gen.lua b/pkg/alsa-utils/gen.lua @@ -13,7 +13,7 @@ local tools = { } for _, tool in ipairs(tools) do - local name, srcs = table.unpack(tool) + local name, srcs = tool[1], tool[2] local out = 'bin/'..name exe(out, {srcs, '$builddir/pkg/alsa-lib/libasound.a'}) file(out, '755', '$outdir/'..out) diff --git a/pkg/binutils/gen.lua b/pkg/binutils/gen.lua @@ -143,7 +143,7 @@ sub('bfd.ninja', function() end end for arch in pairs(selarchs) do - srcs['bfd/cpu-'..arch:match('bfd_(%g+)_arch')..'.c'] = true + srcs['bfd/cpu-'..arch:match('bfd_([%w_]+)_arch')..'.c'] = true end local deps = { '$gendir/deps', diff --git a/pkg/ffmpeg/gen.lua b/pkg/ffmpeg/gen.lua @@ -46,7 +46,7 @@ build('awk', '$outdir/include/libavutil/avconfig.h', {'$dir/options.h', '|', '$d expr='-f $dir/avconfig.awk', }) -rule('genlist', 'lua5.2 $dir/list.lua $dir/options.h $type $var <$in >$out') +rule('genlist', 'lua $dir/list.lua $dir/options.h $type $var <$in >$out') local function genlist(out, src, type, var) build('genlist', out, {src, '|', '$dir/list.lua', '$dir/options.h'}, {type=type, var=var}) table.insert(pkg.deps, out) diff --git a/pkg/ffmpeg/list.lua b/pkg/ffmpeg/list.lua @@ -4,7 +4,7 @@ local var = arg[3] local options = {} for line in io.lines(optionshdr) do - local cfg, val = line:match('^#define CONFIG_(%g+) (%g+)$') + local cfg, val = line:match('^#define CONFIG_([%w_]+) (%d)$') if cfg then options[cfg] = val == '1' end @@ -12,7 +12,7 @@ end print('static const '..type..' *const '..var..'[] = {') for line in io.lines() do - local name = line:match('^extern .*'..type..' +ff_(%g+);$') + local name = line:match('^extern .*'..type..' +ff_([%w_]+);$') if name then local cfg if var == 'filter_list' then diff --git a/pkg/git/gen.lua b/pkg/git/gen.lua @@ -410,7 +410,7 @@ local programs = { } for _, prog in ipairs(programs) do - local name, srcs = table.unpack(prog) + local name, srcs = prog[1], prog[2] exe('git-'..name, {srcs or name..'.c', 'common-main.c.o', 'libgit.a.d'}) file('libexec/git-core/git-'..name, '755', '$outdir/git-'..name) end @@ -444,7 +444,7 @@ local scripts = { rule('sh_gen', 'sed -f $dir/sh_gen.sed $in >$out') for _, script in ipairs(scripts) do - local name, mode = table.unpack(script) + local name, mode = script[1], script[2] build('sh_gen', '$outdir/git-'..name, {'$srcdir/git-'..name..'.sh', '|', '$dir/sh_gen.sed'}) file('libexec/git-core/git-'..name, mode, '$outdir/git-'..name) end diff --git a/pkg/kbd/gen.lua b/pkg/kbd/gen.lua @@ -56,7 +56,7 @@ local tools = { } for _, tool in ipairs(tools) do - local name, sect, subst, srcs = table.unpack(tool) + local name, sect, subst, srcs = tool[1], tool[2], tool[3], tool[4] exe(name, {srcs or 'src/'..name..'.c', 'libcommon.a', 'libfont.a', 'libkeymap.a', 'libkbdfile.a'}) file('bin/'..name, '755', '$outdir/'..name) if sect then diff --git a/pkg/libevdev/eventnames.lua b/pkg/libevdev/eventnames.lua @@ -59,7 +59,7 @@ end for i = 1, #arg do for line in io.lines(arg[i]) do - local name, value = line:match('^#define%s+(%g+)%s+([%xx]+)%f[^%g]') + local name, value = line:match('^#define%s+([%w_]+)%s+(%dx?%x*)') value = tonumber(value) if name and not duplicates[name] then for prefix, b in pairs(bits) do diff --git a/pkg/nsd/gen.lua b/pkg/nsd/gen.lua @@ -31,7 +31,7 @@ local cfg = { ratelimit_default='on', } for line in iterlines('config.h', 1) do - local var, val = line:match('^#define (%g+) "(%g+)"$') + local var, val = line:match('^#define ([%w_]+) "(.*)"$') if var then cfg[var:lower()] = val elseif line:find('^#define RATELIMIT') then diff --git a/pkg/python/gen.lua b/pkg/python/gen.lua @@ -52,7 +52,7 @@ sources = table.keys(sources) cflags{'-D Py_BUILD_CORE'} -rule('makesetup', 'lua5.2 $dir/makesetup.lua $dir/modules.lua <$in >$out') +rule('makesetup', 'lua $dir/makesetup.lua $dir/modules.lua <$in >$out') build('makesetup', '$outdir/config.c', {'$srcdir/Modules/config.c.in', '|', '$dir/makesetup.lua', '$dir/modules.lua'}) cc('Modules/getbuildinfo.c', nil, { diff --git a/pkg/ubase/gen.lua b/pkg/ubase/gen.lua @@ -80,7 +80,7 @@ local tools = { } for _, tool in ipairs(tools) do - local name, sect, mode = table.unpack(tool) + local name, sect, mode = tool[1], tool[2], tool[3] file('bin/'..name, mode or '755', exe(name, {name..'.c', 'libutil.a'})) if sect then man{name..'.'..sect} diff --git a/rules.ninja b/rules.ninja @@ -1,5 +1,5 @@ rule gen - command = lua5.2 $basedir/setup.lua $gendir + command = lua $basedir/setup.lua $gendir generator = 1 # toolchain diff --git a/setup.lua b/setup.lua @@ -1,5 +1,14 @@ #!/bin/lua +-- Lua 5.1 compatibility +do + local os_execute = os.execute + os.execute = function(cmd) + local ret = os_execute(cmd) + return ret == true or ret == 0 + end +end + basedir = arg[0]:match('(.*)/') or '.' if not os.execute('test -f config.lua') then