diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3build/l3build-install.lua')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3build/l3build-install.lua | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/Master/texmf-dist/tex/latex/l3build/l3build-install.lua b/Master/texmf-dist/tex/latex/l3build/l3build-install.lua index dd1526a0473..5fea175d377 100644 --- a/Master/texmf-dist/tex/latex/l3build/l3build-install.lua +++ b/Master/texmf-dist/tex/latex/l3build/l3build-install.lua @@ -22,6 +22,36 @@ for those people who are interested. --]] +local pairs = pairs +local print = print + +local set_program = kpse.set_program_name +local var_value = kpse.var_value + +local function gethome() + set_program("latex") + return options["texmfhome"] or var_value("TEXMFHOME") +end + +function uninstall() + local installdir = gethome() .. "/tex/" .. moduledir + if options["dry-run"] then + print("\n" .. "Installation root: " .. installdir) + local files = filelist(installdir) + -- Deal with an empty directory + if next(files) then + print("\n" .. "Files for removal:") + for _,file in pairs(filelist(installdir)) do + print("- " .. file) + end + else + print("No files present") + end + return 0 + else + return rmdir(installdir) + end +end -- Locally install files: only deals with those extracted, not docs etc. function install() @@ -29,24 +59,23 @@ function install() if errorlevel ~= 0 then return errorlevel end - kpse.set_program_name("latex") - local texmfhome = options["texmfhome"] or kpse.var_value("TEXMFHOME") - local installdir = texmfhome .. "/tex/" .. moduledir + local installdir = gethome() .. "/tex/" .. moduledir if options["dry-run"] then print("\n" .. "Installation root: " .. installdir - .. "\n" .. "Intallation files:" + .. "\n" .. "Installation files:" ) - for _,filetype in ipairs(installfiles) do + for _,filetype in pairs(installfiles) do for _,file in pairs(filelist(unpackdir,filetype)) do print("- " .. file) end end + return 0 else errorlevel = cleandir(installdir) if errorlevel ~= 0 then return errorlevel end - for _,filetype in ipairs(installfiles) do + for _,filetype in pairs(installfiles) do errorlevel = cp(filetype, unpackdir, installdir) if errorlevel ~= 0 then return errorlevel |