X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.py;h=62f32751e6c5837326b7f31e24e51bd3fd517156;hb=7feaac16d224b7adb406eb79810b2b84e4816ca0;hp=210aad99b74ded4c40c79db60b90885ef4578bfe;hpb=eab1d98ab47691229fe3d6a8bf770e16603b9cfd;p=lyx.git diff --git a/lib/configure.py b/lib/configure.py index 210aad99b7..62f32751e6 100644 --- a/lib/configure.py +++ b/lib/configure.py @@ -198,14 +198,17 @@ def checkDTLtools(): def checkLatex(dtl_tools): ''' Check latex, return lyx_check_config ''' + path, LATEX = checkProg('a Latex2e program', ['latex $$i', 'platex $$i', 'latex2e $$i']) + path, PPLATEX = checkProg('a DVI postprocessing program', ['pplatex $$i']) + # use LATEX to convert from latex to dvi if PPLATEX is not available + if PPLATEX == '': + PPLATEX = LATEX if dtl_tools: # Windows only: DraftDVI - converter_entry = r'''\converter latex dvi2 "%%" "latex" -\converter dvi2 dvi "python -tt $$s/scripts/clean_dvi.py $$i $$o" ""''' + addToRC(r'''\converter latex dvi2 "%s" "latex" +\converter dvi2 dvi "python -tt $$s/scripts/clean_dvi.py $$i $$o" ""''' % PPLATEX) else: - converter_entry = r'\converter latex dvi "%%" "latex"' - path, LATEX = checkProg('a Latex2e program', ['pplatex $$i', 'platex $$i', 'latex $$i', 'latex2e $$i'], - rc_entry = [converter_entry]) + addToRC(r'\converter latex dvi "%s" "latex"' % PPLATEX) # no latex if LATEX != '': # Check if latex is usable @@ -241,7 +244,7 @@ def checkFormatEntries(dtl_tools): checkViewer('a FEN viewer and editor', ['xboard -lpf $$i -mode EditPosition'], rc_entry = [r'\Format fen fen FEN "" "%%" "%%" ""']) # - path, iv = checkViewer('a raster image viewer', ['xv', 'kview', 'gimp-remote', 'gimp']) + path, iv = checkViewer('a raster image viewer', ['xdg-open', 'xv', 'kview', 'gimp-remote', 'gimp']) path, ie = checkViewer('a raster image editor', ['gimp-remote', 'gimp']) addToRC(r'''\Format bmp bmp BMP "" "%s" "%s" "" \Format gif gif GIF "" "%s" "%s" "" @@ -255,7 +258,7 @@ def checkFormatEntries(dtl_tools): \Format xpm xpm XPM "" "%s" "%s" ""''' % \ (iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie) ) # - checkViewer('a text editor', ['xemacs', 'gvim', 'kedit', 'kwrite', 'kate', \ + checkViewer('a text editor', ['sensible-editor', 'xemacs', 'gvim', 'kedit', 'kwrite', 'kate', \ 'nedit', 'gedit', 'notepad'], rc_entry = [r'''\Format asciichess asc "Plain text (chess output)" "" "" "%%" "" \Format asciiimage asc "Plain text (image)" "" "" "%%" "" @@ -276,23 +279,23 @@ def checkFormatEntries(dtl_tools): # #checkProg('a Postscript interpreter', ['gs'], # rc_entry = [ r'\ps_command "%%"' ]) - checkViewer('a Postscript previewer', ['kghostview', 'evince', 'gv', 'ghostview -swap'], + checkViewer('a Postscript previewer', ['xdg-open', 'kghostview', 'evince', 'gv', 'ghostview -swap'], rc_entry = [r'''\Format eps eps EPS "" "%%" "" "vector" \Format ps ps Postscript t "%%" "" "document,vector"''']) # - checkViewer('a PDF previewer', ['kpdf', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', \ + checkViewer('a PDF previewer', ['xdg-open', 'kpdf', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', \ 'gv', 'ghostview'], rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P "%%" "" "document,vector" \Format pdf2 pdf "PDF (pdflatex)" F "%%" "" "document,vector" \Format pdf3 pdf "PDF (dvipdfm)" m "%%" "" "document,vector"''']) # - checkViewer('a DVI previewer', ['xdvi', 'kdvi'], + checkViewer('a DVI previewer', ['xdg-open', 'xdvi', 'kdvi'], rc_entry = [r'\Format dvi dvi DVI D "%%" "" "document,vector"']) if dtl_tools: # Windows only: DraftDVI addToRC(r'\Format dvi2 dvi DraftDVI "" "" "" "vector"') # - checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'], + checkViewer('an HTML previewer', ['xdg-open', 'firefox', 'mozilla file://$$p$$i', 'netscape'], rc_entry = [r'\Format html html HTML H "%%" "" "document"']) # checkViewer('Noteedit', ['noteedit'], @@ -851,4 +854,7 @@ Options: bool_docbook, bool_linuxdoc) checkModulesConfig() #lyx_check_config and LATEX != '') removeTempFiles() - sys.exit(ret) + # The return error code can be 256. Because most systems expect an error code + # in the range 0-127, 256 can be interpretted as 'success'. Because we expect + # a None for success, 'ret is not None' is used to exit. + sys.exit(ret is not None)