X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.py;h=b8cd6e1f02004a03a367a711afc5d40d1c92631b;hb=13bb781dcd3508a0a543be2d12b0f900ad763022;hp=53c735b24528a8ea7c8a9dc64d00a4452e22ef3a;hpb=3b90652edcdb6599b1ef3c19db8b6740fdafab8c;p=lyx.git diff --git a/lib/configure.py b/lib/configure.py index 53c735b245..b8cd6e1f02 100644 --- a/lib/configure.py +++ b/lib/configure.py @@ -158,7 +158,7 @@ def checkProg(description, progs, rc_entry = [], path = [], not_found = ''): msg = '+checking for "' + ac_word + '"... ' path = os.environ["PATH"].split(os.pathsep) + path extlist = [''] - if os.environ.has_key("PATHEXT"): + if "PATHEXT" in os.environ: extlist = extlist + os.environ["PATHEXT"].split(os.pathsep) for ac_dir in path: for ext in extlist: @@ -199,7 +199,7 @@ def checkProgAlternatives(description, progs, rc_entry = [], alt_rc_entry = [], msg = '+checking for "' + ac_word + '"... ' path = os.environ["PATH"].split(os.pathsep) + path extlist = [''] - if os.environ.has_key("PATHEXT"): + if "PATHEXT" in os.environ: extlist = extlist + os.environ["PATHEXT"].split(os.pathsep) found_alt = False for ac_dir in path: @@ -498,19 +498,19 @@ def checkFormatEntries(dtl_tools): \Format asciiimage asc "Plain text (image)" "" "" "%%" "" \Format asciixfig asc "Plain text (Xfig output)" "" "" "%%" "" \Format dateout tmp "date (output)" "" "" "%%" "" -\Format docbook sgml DocBook B "" "%%" "document" -\Format docbook-xml xml "Docbook (XML)" "" "" "%%" "document" +\Format docbook sgml DocBook B "" "%%" "document,menu=export" +\Format docbook-xml xml "Docbook (XML)" "" "" "%%" "document,menu=export" \Format dot dot "Graphviz Dot" "" "" "%%" "vector" -\Format platex tex "LaTeX (pLaTeX)" "" "" "%%" "document" -\Format literate nw NoWeb N "" "%%" "document" -\Format sweave Rnw "Sweave" S "" "%%" "document" +\Format platex tex "LaTeX (pLaTeX)" "" "" "%%" "document,menu=export" +\Format literate nw NoWeb N "" "%%" "document,menu=export" +\Format sweave Rnw "Sweave" S "" "%%" "document,menu=export" \Format lilypond ly "LilyPond music" "" "" "%%" "vector" \Format lilypond-book lytex "LilyPond book (LaTeX)" "" "" "%%" "document" -\Format latex tex "LaTeX (plain)" L "" "%%" "document" -\Format luatex tex "LaTeX (LuaTeX)" "" "" "%%" "document" -\Format pdflatex tex "LaTeX (pdflatex)" "" "" "%%" "document" -\Format xetex tex "LaTeX (XeTeX)" "" "" "%%" "document" -\Format text txt "Plain text" a "" "%%" "document" +\Format latex tex "LaTeX (plain)" L "" "%%" "document,menu=export" +\Format luatex tex "LaTeX (LuaTeX)" "" "" "%%" "document,menu=export" +\Format pdflatex tex "LaTeX (pdflatex)" "" "" "%%" "document,menu=export" +\Format xetex tex "LaTeX (XeTeX)" "" "" "%%" "document,menu=export" +\Format text txt "Plain text" a "" "%%" "document,menu=export" \Format text2 txt "Plain text (pstotext)" "" "" "%%" "document" \Format text3 txt "Plain text (ps2ascii)" "" "" "%%" "document" \Format text4 txt "Plain text (catdvi)" "" "" "%%" "document" @@ -522,9 +522,9 @@ def checkFormatEntries(dtl_tools): \Format oocalc ods "OpenOffice spreadsheet" "" "" "%%" "document"''']) # path, xhtmlview = checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'], - rc_entry = [r'\Format xhtml xhtml "LyXHTML" y "%%" "" "document"']) + rc_entry = [r'\Format xhtml xhtml "LyXHTML" y "%%" "" "document,menu=export"']) if xhtmlview == "": - addToRC(r'\Format xhtml xhtml "LyXHTML" y "" "" "document"') + addToRC(r'\Format xhtml xhtml "LyXHTML" y "" "" "document,menu=export"') # checkEditor('a BibTeX editor', ['sensible-editor', 'jabref', 'JabRef', \ 'pybliographic', 'bibdesk', 'gbib', 'kbib', \ @@ -541,32 +541,32 @@ def checkFormatEntries(dtl_tools): # for xdg-open issues look here: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg151818.html checkViewer('a PDF previewer', ['kpdf', 'okular', '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" -\Format pdf4 pdf "PDF (XeTeX)" X "%%" "" "document,vector" -\Format pdf5 pdf "PDF (LuaTeX)" u "%%" "" "document,vector"''']) + rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P "%%" "" "document,vector,menu=export" +\Format pdf2 pdf "PDF (pdflatex)" F "%%" "" "document,vector,menu=export" +\Format pdf3 pdf "PDF (dvipdfm)" m "%%" "" "document,vector,menu=export" +\Format pdf4 pdf "PDF (XeTeX)" X "%%" "" "document,vector,menu=export" +\Format pdf5 pdf "PDF (LuaTeX)" u "%%" "" "document,vector,menu=export"''']) # checkViewer('a DVI previewer', ['xdvi', 'kdvi', 'okular', 'yap', 'dviout -Set=!m'], - rc_entry = [r'''\Format dvi dvi DVI D "%%" "" "document,vector" -\Format dvi3 dvi "DVI (LuaTeX)" V "%%" "" "document,vector"''']) + rc_entry = [r'''\Format dvi dvi DVI D "%%" "" "document,vector,menu=export" +\Format dvi3 dvi "DVI (LuaTeX)" V "%%" "" "document,vector,menu=export"''']) if dtl_tools: # Windows only: DraftDVI addToRC(r'\Format dvi2 dvi DraftDVI "" "" "" "vector"') # checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'], - rc_entry = [r'\Format html html HTML H "%%" "" "document"']) + rc_entry = [r'\Format html html HTML H "%%" "" "document,menu=export"']) # checkViewerEditor('Noteedit', ['noteedit'], rc_entry = [r'\Format noteedit not Noteedit "" "%%" "%%" "vector"']) # checkViewerEditor('an OpenDocument/OpenOffice viewer', ['swriter', 'oowriter', 'abiword'], - rc_entry = [r'''\Format odt odt OpenDocument "" "%%" "%%" "document,vector" + rc_entry = [r'''\Format odt odt OpenDocument "" "%%" "%%" "document,vector,menu=export" \Format sxw sxw "OpenOffice.Org (sxw)" "" "" "" "document,vector"''']) # checkViewerEditor('a Rich Text and Word viewer', ['swriter', 'oowriter', 'abiword'], - rc_entry = [r'''\Format rtf rtf "Rich Text Format" "" "%%" "%%" "document,vector" -\Format word doc "MS Word" W "%%" "%%" "document,vector"''']) + rc_entry = [r'''\Format rtf rtf "Rich Text Format" "" "%%" "%%" "document,vector,menu=export" +\Format word doc "MS Word" W "%%" "%%" "document,vector,menu=export"''']) # # entries that do not need checkProg addToRC(r'''\Format date "" "date command" "" "" "" "" @@ -576,7 +576,7 @@ def checkFormatEntries(dtl_tools): \Format lyx13x 13.lyx "LyX 1.3.x" "" "" "" "document" \Format lyx14x 14.lyx "LyX 1.4.x" "" "" "" "document" \Format lyx15x 15.lyx "LyX 1.5.x" "" "" "" "document" -\Format lyx16x 16.lyx "LyX 1.6.x" "" "" "" "document" +\Format lyx16x 16.lyx "LyX 1.6.x" "" "" "" "document,menu=export" \Format clyx cjklyx "CJK LyX 1.4.x (big5)" "" "" "" "document" \Format jlyx cjklyx "CJK LyX 1.4.x (euc-jp)" "" "" "" "document" \Format klyx cjklyx "CJK LyX 1.4.x (euc-kr)" "" "" "" "document" @@ -627,7 +627,7 @@ def checkConverterEntries(): rc_entry = [r'''\converter literate latex "%%" "" \converter literate pdflatex "%%" ""''']) # - checkProg('a Sweave -> LaTeX converter', ['Rscript --no-save --no-restore $$s/scripts/lyxsweave.R $$i $$e $$r'], + checkProg('a Sweave -> LaTeX converter', ['Rscript --no-save --no-restore $$s/scripts/lyxsweave.R $$p$$i $$e $$r'], rc_entry = [r'''\converter sweave latex "%%" "" \converter sweave pdflatex "%%" ""''']) # @@ -642,19 +642,14 @@ def checkConverterEntries(): path, elyxer = checkProg('a LyX -> HTML converter', ['elyxer.py --directory $$r $$i $$o', 'elyxer --directory $$r $$i $$o'], rc_entry = [ r'\converter lyx html "%%" ""' ]) - path, elyxer = checkProg('a LyX -> MS Word converter', - ['elyxer.py --directory $$r $$i $$o', 'elyxer --html --directory $$r $$i $$o'], + path, elyxer = checkProg('a LyX -> HTML (MS Word) converter', + ['elyxer.py --html --directory $$r $$i $$o', 'elyxer --html --directory $$r $$i $$o'], rc_entry = [ r'\converter lyx wordhtml "%%" ""' ]) if elyxer.find('elyxer') >= 0: - elyxerfound = True - else: - elyxerfound = False - - if elyxerfound: addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''') addToRC(r'''\copier wordhtml "python -tt $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''') else: - # search for other converters than eLyXer + # search for HTML converters other than eLyXer # On SuSE the scripts have a .sh suffix, and on debian they are in /usr/share/tex4ht/ path, htmlconv = checkProg('a LaTeX -> HTML converter', ['htlatex $$i', 'htlatex.sh $$i', \ '/usr/share/tex4ht/htlatex $$i', 'tth -t -e2 -L$$b < $$i > $$o', \ @@ -664,7 +659,7 @@ def checkConverterEntries(): addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''') else: addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py $$i $$o"''') - path, htmlconv = checkProg('a LaTeX -> MS Word converter', ["htlatex $$i 'html,word' 'symbol/!' '-cvalidate'", \ + path, htmlconv = checkProg('a LaTeX -> HTML (MS Word) converter', ["htlatex $$i 'html,word' 'symbol/!' '-cvalidate'", \ "htlatex.sh $$i 'html,word' 'symbol/!' '-cvalidate'", \ "/usr/share/tex4ht/htlatex $$i 'html,word' 'symbol/!' '-cvalidate'"], rc_entry = [ r'\converter latex wordhtml "%%" "needaux"' ]) @@ -680,7 +675,7 @@ def checkConverterEntries(): addToRC(r'\Format blog blog "LyXBlogger" "" "" "" "document"') addToRC(r'\converter xhtml blog "python -m lyxblogger $$i" ""') -# + # checkProg('an OpenOffice.org -> LaTeX converter', ['w2l -clean $$i'], rc_entry = [ r'\converter sxw latex "%%" ""' ]) # @@ -731,10 +726,17 @@ def checkConverterEntries(): rc_entry = [ r'\converter dvi pdf3 "%%" ""' ]) # path, dvipng = checkProg('dvipng', ['dvipng']) - if dvipng == "dvipng": + path, dv2dt = checkProg('DVI to DTL converter', ['dv2dt']) + if dvipng == "dvipng" and dv2dt == 'dv2dt': addToRC(r'\converter lyxpreview png "python -tt $$s/scripts/lyxpreview2bitmap.py" ""') else: + # set empty converter to override the default imagemagick addToRC(r'\converter lyxpreview png "" ""') + if dv2dt == 'dv2dt': + addToRC(r'\converter lyxpreview ppm "python -tt $$s/scripts/lyxpreview2bitmap.py" ""') + else: + # set empty converter to override the default imagemagick + addToRC(r'\converter lyxpreview ppm "" ""') # checkProg('a fax program', ['kdeprintfax $$i', 'ksendfax $$i', 'hylapex $$i'], rc_entry = [ r'\converter ps fax "%%" ""']) @@ -838,10 +840,15 @@ def checkConverterEntries(): version_number = match.groups()[0] version = version_number.split('.') if int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 13): - addToRC(r'\converter lyxpreview-lytex ppm "python -tt $$s/scripts/lyxpreview-lytex2bitmap.py" ""') - if dvipng == "dvipng": + if dv2dt == 'dv2dt': + addToRC(r'\converter lyxpreview-lytex ppm "python -tt $$s/scripts/lyxpreview-lytex2bitmap.py" ""') + else: + # set empty converter to override the default imagemagick + addToRC(r'\converter lyxpreview-lytex ppm "" ""') + if dvipng == "dvipng" and dv2dt == 'dv2dt': addToRC(r'\converter lyxpreview-lytex png "python -tt $$s/scripts/lyxpreview-lytex2bitmap.py" ""') else: + # set empty converter to override the default imagemagick addToRC(r'\converter lyxpreview-lytex png "" ""') # Note: The --lily-output-dir flag is required because lilypond-book # does not process input again unless the input has changed, @@ -861,12 +868,23 @@ def checkConverterEntries(): checkProg('a Noteedit -> LilyPond converter', ['noteedit --export-lilypond $$i'], rc_entry = [ r'\converter noteedit lilypond "%%" ""', '']) # + # Currently, lyxpak outputs a gzip compressed tar archive on *nix + # and a zip archive on Windows. + # So, we configure the appropriate version according to the platform. + cmd = r'\converter lyx %s "python -tt $$s/scripts/lyxpak.py $$r/$$i" ""' + if os.name == 'nt': + addToRC(r'\Format lyxzip zip "LyX Archive (zip)" "" "" "" "document,menu=export"') + addToRC(cmd % "lyxzip") + else: + addToRC(r'\Format lyxgz gz "LyX Archive (tar.gz)" "" "" "" "document,menu=export"') + addToRC(cmd % "lyxgz") + + # # FIXME: no rc_entry? comment it out # checkProg('Image converter', ['convert $$i $$o']) # # Entries that do not need checkProg - addToRC(r'''\converter lyxpreview ppm "python -tt $$s/scripts/lyxpreview2bitmap.py" "" -\converter lyxpreview-platex ppm "python -tt $$s/scripts/lyxpreview-platex2bitmap.py" "" + addToRC(r'''\converter lyxpreview-platex ppm "python -tt $$s/scripts/lyxpreview-platex2bitmap.py" "" \converter csv lyx "python -tt $$s/scripts/csv2lyx.py $$i $$o" "" \converter date dateout "python -tt $$s/scripts/date.py %d-%m-%Y > $$o" "" \converter docbook docbook-xml "cp $$i $$o" "xml" @@ -912,7 +930,7 @@ def checkOtherEntries(): alt_rc_entry = [ r'\bibtex_alternatives "%%"' ]) checkProg('a specific Japanese BibTeX variant', ['pbibtex', 'jbibtex', 'bibtex'], rc_entry = [ r'\jbibtex_command "%%"' ]) - checkProgAlternatives('available index processors', ['texindy', 'makeindex -c -q'], + checkProgAlternatives('available index processors', ['texindy', 'makeindex -c -q', 'xindy'], rc_entry = [ r'\index_command "%%"' ], alt_rc_entry = [ r'\index_alternatives "%%"' ]) checkProg('an index processor appropriate to Japanese', ['mendex -c -q', 'jmakeindex -c -q', 'makeindex -c -q'],