summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3build/l3build-install.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3build/l3build-install.lua')
-rw-r--r--Master/texmf-dist/tex/latex/l3build/l3build-install.lua41
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