diff --git a/l3build-ctan.lua b/l3build-ctan.lua index c0726a07..875f50dc 100644 --- a/l3build-ctan.lua +++ b/l3build-ctan.lua @@ -23,6 +23,7 @@ for those people who are interested. --]] local gsub = string.gsub +local match = string.match local insert = table.insert -- Copy files to the main CTAN release directory @@ -45,7 +46,8 @@ function copyctan() end end end - for _,tab in pairs({bibfiles,demofiles,docfiles,pdffiles,typesetlist}) do + for _,tab in pairs( + {bibfiles,demofiles,docfiles,pdffiles,scriptmanfiles,typesetlist}) do copyfiles(tab,docfiledir) end copyfiles(sourcefiles,sourcefiledir) @@ -99,6 +101,15 @@ function copytds() install(sourcefiledir, "source", {sourcelist}) install(unpackdir, "tex", {installfiles}) install(unpackdir, "scripts", {scriptfiles}, true) + -- Any script man files need special handling + for _,glob in pairs(scriptmanfiles) do + for file,_ in pairs(tree(docfiledir,glob)) do + -- Man files should have a single-digit extension: the type + local installdir = tdsdir .. "/doc/man/man" .. match(file,".$") + mkdir(installdir) + cp(file,docfiledir,installdir) + end + end end -- Standard versions of the main targets for building modules diff --git a/l3build-variables.lua b/l3build-variables.lua index 5b20c45a..5d4e3265 100644 --- a/l3build-variables.lua +++ b/l3build-variables.lua @@ -85,6 +85,7 @@ excludefiles = excludefiles or {"*~"} installfiles = installfiles or {"*.sty","*.cls"} makeindexfiles = makeindexfiles or {"*.ist"} scriptfiles = scriptfiles or { } +scriptmanfiles = scriptmanfiles or { } sourcefiles = sourcefiles or {"*.dtx", "*.ins"} tagfiles = tagfiles or {"*.dtx"} textfiles = textfiles or {"*.md", "*.txt"} diff --git a/l3build.dtx b/l3build.dtx index a0f9e393..f78047fa 100644 --- a/l3build.dtx +++ b/l3build.dtx @@ -88,6 +88,7 @@ \luavarset{installfiles} {\{"*.sty","*.cls"\}}{Files to install to the \texttt{text} area of the \texttt{texmf} tree} \luavarset{makeindexfiles} {\{"*.ist"\}}{MakeIndex files to be included in a TDS-style zip} \luavarset{scriptfiles} {\{ \}}{Files to install to the \texttt{scripts} area of the \texttt{texmf} tree} +\luavarset{scriptmanfiles} {\{ \}}{Files to install to the \texttt{doc/man} area of the \texttt{texmf} tree} \luavarset{sourcefiles} {\{"*.dtx", "*.ins"\}}{Files to copy for unpacking} \luavarset{tagfiles} {\{"*.dtx"\}}{Files for automatic tagging} \luavarset{textfiles} {\{"*.md", "*.txt"\}}{Plain text files to send to CTAN as-is}