NLS nuisances.
Only set these to C if already set. These must not be set unconditionally
because not all systems understand e.g. LANG=C (notably SCO).
- Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+ Fixing LC_MESSAGES prevents Solaris sh from translating var values in set!
Non-C LC_CTYPE values break the ctype check.
'''
os.environ['LANG'] = os.getenv('LANG', 'C')
path, PPLATEX = checkProg('a DVI postprocessing program', ['pplatex $$i'])
#-----------------------------------------------------------------
path, PLATEX = checkProg('pLaTeX, the Japanese LaTeX', ['platex $$i'])
- # check if PLATEX is pLaTeX2e
- writeToFile('chklatex.ltx', '''
+ if PLATEX != '':
+ # check if PLATEX is pLaTeX2e
+ writeToFile('chklatex.ltx', '''
\\nonstopmode
\\@@end
''')
- # run platex on chklatex.ltx and check result
- if cmdOutput(PLATEX + ' chklatex.ltx').find('pLaTeX2e') != -1:
- # We have the Japanese pLaTeX2e
- addToRC(r'\converter platex dvi "%s" "latex"' % PLATEX)
- LATEX = PLATEX
- else:
- PLATEX = ''
- removeFiles(['chklatex.ltx', 'chklatex.log'])
+ # run platex on chklatex.ltx and check result
+ if cmdOutput(PLATEX + ' chklatex.ltx').find('pLaTeX2e') != -1:
+ # We have the Japanese pLaTeX2e
+ addToRC(r'\converter platex dvi "%s" "latex"' % PLATEX)
+ LATEX = PLATEX
+ else:
+ PLATEX = ''
+ removeFiles(['chklatex.ltx', 'chklatex.log'])
#-----------------------------------------------------------------
# use LATEX to convert from latex to dvi if PPLATEX is not available
if PPLATEX == '':
\Format literate nw NoWeb N "" "%%" "document"
\Format lilypond ly "LilyPond music" "" "" "%%" "vector"
\Format latex tex "LaTeX (plain)" L "" "%%" "document"
-\Format linuxdoc sgml LinuxDoc x "" "%%" "document"
\Format pdflatex tex "LaTeX (pdflatex)" "" "" "%%" "document"
\Format text txt "Plain text" a "" "%%" "document"
\Format text2 txt "Plain text (pstotext)" "" "" "%%" "document"
''')
-def checkLinuxDoc():
- ''' Check linuxdoc '''
- #
- path, LINUXDOC = checkProg('SGML-tools 1.x (LinuxDoc)', ['sgml2lyx'],
- rc_entry = [
- r'''\converter linuxdoc lyx "sgml2lyx $$i" ""
-\converter linuxdoc latex "sgml2latex $$i" ""
-\converter linuxdoc dvi "sgml2latex -o dvi $$i" ""
-\converter linuxdoc html "sgml2html $$i" ""''',
- r'''\converter linuxdoc lyx "" ""
-\converter linuxdoc latex "" ""
-\converter linuxdoc dvi "" ""
-\converter linuxdoc html "" ""''' ])
- if LINUXDOC != '':
- return ('yes', 'true', '\\def\\haslinuxdoc{yes}')
- else:
- return ('no', 'false', '')
-
-
def checkDocBook():
''' Check docbook '''
- path, DOCBOOK = checkProg('SGML-tools 2.x (DocBook) or db2x scripts', ['sgmltools', 'db2dvi'],
+ path, DOCBOOK = checkProg('SGML-tools 2.x (DocBook), db2x scripts or xsltproc', ['sgmltools', 'db2dvi', 'xsltproc'],
rc_entry = [
r'''\converter docbook dvi "sgmltools -b dvi $$i" ""
\converter docbook html "sgmltools -b html $$i" ""''',
r'''\converter docbook dvi "db2dvi $$i" ""
\converter docbook html "db2html $$i" ""''',
r'''\converter docbook dvi "" ""
+\converter docbook html "" ""''',
+ r'''\converter docbook dvi "" ""
\converter docbook html "" ""'''])
#
if DOCBOOK != '':
''')
-def processLayoutFile(file, bool_docbook, bool_linuxdoc):
+def processLayoutFile(file, bool_docbook):
''' process layout file and get a line of result
Declare lines look like this: (article.layout, scrbook.layout, svjog.layout)
'''
classname = file.split(os.sep)[-1].split('.')[0]
# return ('LaTeX', '[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article}
- p = re.compile(r'\Declare(LaTeX|DocBook|LinuxDoc)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}')
+ p = re.compile(r'\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}')
for line in open(file).readlines():
res = p.search(line)
if res != None:
(classtype, optAll, opt, opt1, desc) = res.groups()
- avai = {'LaTeX':'false', 'DocBook':bool_docbook, 'LinuxDoc':bool_linuxdoc}[classtype]
+ avai = {'LaTeX':'false', 'DocBook':bool_docbook}[classtype]
if opt == None:
opt = classname
return '"%s" "%s" "%s" "%s"\n' % (classname, opt, desc, avai)
- print "Layout file without \DeclareXXClass line. "
- sys.exit(2)
+ print "Layout file " + file + " has no \DeclareXXClass line. "
+ return ""
-
-def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc):
+
+def checkLatexConfig(check_config, bool_docbook):
''' Explore the LaTeX configuration
Return None (will be passed to sys.exit()) for success.
'''
# make sure the same class is not considered twice
if foundClasses.count(cleanclass) == 0: # not found before
foundClasses.append(cleanclass)
- tx.write(processLayoutFile(file, bool_docbook, bool_linuxdoc))
+ retval = processLayoutFile(file, bool_docbook)
+ if retval != "":
+ tx.write(retval)
tx.close()
print '\tdone'
if not check_config:
if not os.path.isfile( 'chkconfig.ltx' ):
shutil.copyfile( os.path.join(srcdir, 'chkconfig.ltx'), 'chkconfig.ltx' )
rmcopy = True
- writeToFile('wrap_chkconfig.ltx', '%s\n%s\n\\input{chkconfig.ltx}\n' \
- % (linuxdoc_cmd, docbook_cmd) )
+ writeToFile('wrap_chkconfig.ltx', '%s\n\\input{chkconfig.ltx}\n' % docbook_cmd)
# Construct the list of classes to test for.
# build the list of available layout files and convert it to commands
# for chkconfig.ltx
print file
if not os.path.isfile(file):
continue
- tx.write(processModuleFile(file, bool_docbook, bool_linuxdoc))
+ retval = processModuleFile(file, bool_docbook)
+ if retval != "":
+ tx.write(retval)
tx.close()
print '\tdone'
-def processModuleFile(file, bool_docbook, bool_linuxdoc):
+def processModuleFile(file, bool_docbook):
''' process module file and get a line of result
The top of a module file should look like this:
if modname != "":
return '"%s" "%s" "%s" "%s" "%s" "%s"\n' % (modname, filename, desc, pkgs, req, excl)
print "Module file without \DeclareLyXModule line. "
- sys.exit(2)
+ return ""
def checkTeXAllowSpaces():
LATEX = checkLatex(dtl_tools)
checkFormatEntries(dtl_tools)
checkConverterEntries()
- (chk_linuxdoc, bool_linuxdoc, linuxdoc_cmd) = checkLinuxDoc()
(chk_docbook, bool_docbook, docbook_cmd) = checkDocBook()
checkTeXAllowSpaces()
if windows_style_tex_paths != '':
addToRC(r'\tex_expects_windows_paths %s' % windows_style_tex_paths)
checkOtherEntries()
# --without-latex-config can disable lyx_check_config
- ret = checkLatexConfig(lyx_check_config and LATEX != '',
- bool_docbook, bool_linuxdoc)
+ ret = checkLatexConfig(lyx_check_config and LATEX != '', bool_docbook)
checkModulesConfig() #lyx_check_config and LATEX != '')
removeTempFiles()
# The return error code can be 256. Because most systems expect an error code