logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 51e7de237b9daea4b267079b58044e8d187ab504
parent 60fe481d65026da27b1188e9c6f125d2e61ddbaa
Author: Michael Forney <mforney@mforney.org>
Date:   Sun, 17 Nov 2019 13:02:45 -0800

git: Use tables for build script

Diffstat:

Mpkg/git/gen.lua75+++++++++++++++++++++++++++++++++++++++++----------------------------------
1 file changed, 41 insertions(+), 34 deletions(-)

diff --git a/pkg/git/gen.lua b/pkg/git/gen.lua @@ -391,53 +391,60 @@ for name in iterstrings(syms) do sym('libexec/git-core/git-'..name, '../../bin/git') end -local function x(name, srcs) +local programs = { + -- src/Makefile:/^PROGRAM_OBJS./+= + {'credential-store'}, + {'daemon'}, + {'fast-import'}, + {'http-backend'}, + {'imap-send', {'imap-send.c', 'http.c.o', '$builddir/pkg/curl/libcurl.a.d'}}, + {'sh-i18n--envsubst'}, + {'shell'}, + -- git-remote-testsvn is intentionally omitted + + {'remote-http', {'remote-curl.c', 'http.c.o', 'http-walker.c', '$builddir/pkg/curl/libcurl.a.d'}}, +} + +for _, prog in ipairs(programs) do + local name, srcs = table.unpack(prog) 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 --- src/Makefile:/^PROGRAM_OBJS./+= -x('credential-store') -x('daemon') -x('fast-import') -x('http-backend') -x('imap-send', {'imap-send.c', 'http.c.o', '$builddir/pkg/curl/libcurl.a.d'}) -x('sh-i18n--envsubst') -x('shell') --- git-remote-testsvn is intentionally omitted. - -x('remote-http', {'remote-curl.c', 'http.c.o', 'http-walker.c', '$builddir/pkg/curl/libcurl.a.d'}) for _, remote in ipairs{'https', 'ftp', 'ftps'} do sym('libexec/git-core/git-remote-'..remote, 'git-remote-http') end +local scripts = { + -- src/Makefile:/^SCRIPT_SH.\+= + {'bisect', '755'}, + {'difftool--helper', '755'}, + {'filter-branch', '755'}, + {'merge-octopus', '755'}, + {'merge-one-file', '755'}, + {'merge-resolve', '755'}, + {'mergetool', '755'}, + {'quiltimport', '755'}, + {'legacy-stash', '755'}, + {'request-pull', '755'}, + {'submodule', '755'}, + {'web--browse', '755'}, + + -- src/Makefile:/^SCRIPT_LIB.\+= + {'mergetool--lib', '644'}, + {'parse-remote', '644'}, + {'rebase--preserve-merges', '644'}, + {'sh-setup', '644'}, + {'sh-i18n', '644'}, +} + rule('sh_gen', 'sed -f $dir/sh_gen.sed $in >$out.tmp && mv $out.tmp $out') -local function x(name, mode) +for _, script in ipairs(scripts) do + local name, mode = table.unpack(script) 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 --- src/Makefile:/^SCRIPT_SH.\+= -x('bisect', '755') -x('difftool--helper', '755') -x('filter-branch', '755') -x('merge-octopus', '755') -x('merge-one-file', '755') -x('merge-resolve', '755') -x('mergetool', '755') -x('quiltimport', '755') -x('legacy-stash', '755') -x('request-pull', '755') -x('submodule', '755') -x('web--browse', '755') - --- src/Makefile:/^SCRIPT_LIB.\+= -x('mergetool--lib', '644') -x('parse-remote', '644') -x('rebase--preserve-merges', '644') -x('sh-setup', '644') -x('sh-i18n', '644') - for _, name in ipairs{'git-shell', 'git-upload-pack'} do sym('bin/'..name, '../libexec/git-core/'..name) end