commit: 2dfb6db8071bb9c7c0fe24f7f30568e2ff745669
parent 1f24c29f1916fb234bbfbb311c5fcb38cfb28c00
Author: Michael Forney <mforney@mforney.org>
Date: Sat, 9 May 2020 23:59:31 +0000
Lua 5.1 compatibility
Diffstat:
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