]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.py
Disable the "Single instance" check box if the lyxpipe has not been set up.
[lyx.git] / lib / configure.py
index 08e61f66489729f792335bc5b522f53cd5ca0213..610740401e784360afdeaf2837699295cfe1657d 100644 (file)
@@ -391,7 +391,7 @@ def checkLatex(dtl_tools):
         # 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)
+            addToRC(r'\converter platex   dvi       "%s"   "latex=platex"' % PLATEX)
         else:
             PLATEX = ''
             removeFiles(['chklatex.ltx', 'chklatex.log'])
@@ -507,6 +507,7 @@ def checkFormatEntries(dtl_tools):
 \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"
@@ -514,11 +515,16 @@ def checkFormatEntries(dtl_tools):
 \Format text3      txt    "Plain text (ps2ascii)" "" ""        "%%"    "document"
 \Format text4      txt    "Plain text (catdvi)"   "" ""        "%%"    "document"
 \Format textparagraph txt "Plain Text, Join Lines" "" ""       "%%"    "document"''' ])
+   #Spreadsheets using ssconvert from gnumeric
+    checkViewer('gnumeric spreadsheet software', ['gnumeric'], 
+      rc_entry = [r'''\Format gnumeric gnumeric "Gnumeric spreadsheet" "" ""    "%%"   "document" 
+\Format excel      xls    "Excel spreadsheet"      "" "" "%%"    "document" 
+\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"              X "%%" ""    "document"'])
+        rc_entry = [r'\Format xhtml      xhtml   "LyXHTML"              y "%%" ""    "document"'])
     if xhtmlview == "":
-        addToRC(r'\Format xhtml      xhtml   "LyXHTML"              X "" ""  "document"')
+        addToRC(r'\Format xhtml      xhtml   "LyXHTML"              y "" ""  "document"')
  #
     checkEditor('a BibTeX editor', ['sensible-editor', 'jabref', 'JabRef', \
         'pybliographic', 'bibdesk', 'gbib', 'kbib', \
@@ -538,10 +544,12 @@ def checkFormatEntries(dtl_tools):
         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 pdf4       pdf    "PDF (XeTeX)"           X  "%%"      ""      "document,vector"
+\Format pdf5       pdf    "PDF (LuaTeX)"          u  "%%"      ""      "document,vector"'''])
     #
     checkViewer('a DVI previewer', ['xdvi', 'kdvi', 'okular', 'yap', 'dviout -Set=!m'],
-        rc_entry = [r'\Format dvi        dvi     DVI                    D  "%%"        ""      "document,vector"'])
+        rc_entry = [r'''\Format dvi        dvi     DVI                    D  "%%"      ""      "document,vector"
+\Format dvi3       dvi     "DVI (LuaTeX)"          V  "%%"     ""      "document,vector"'''])
     if dtl_tools:
         # Windows only: DraftDVI
         addToRC(r'\Format dvi2       dvi     DraftDVI               "" ""      ""      "vector"')
@@ -557,10 +565,10 @@ def checkFormatEntries(dtl_tools):
 \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"
+\Format word       doc    "MS Word"               W  "%%"      "%%"    "document,vector"'''])
     #
-    # entried that do not need checkProg
+    # entries that do not need checkProg
     addToRC(r'''\Format date       ""     "date command"          "" ""        ""      ""
 \Format csv        csv    "Table (CSV)"  "" "" ""      "document"
 \Format fax        ""      Fax                    "" ""        ""      "document"
@@ -587,10 +595,16 @@ def checkFormatEntries(dtl_tools):
 def checkConverterEntries():
     ''' Check all converters (\converter entries) '''
     checkProg('the pdflatex program', ['pdflatex $$i'],
-        rc_entry = [ r'\converter pdflatex   pdf2       "%%"   "latex"' ])
+        rc_entry = [ r'\converter pdflatex   pdf2       "%%"   "latex=pdflatex"' ])
 
     checkProg('XeTeX', ['xelatex $$i'],
-        rc_entry = [ r'\converter xetex      pdf4       "%%"   "latex"' ])
+        rc_entry = [ r'\converter xetex      pdf4       "%%"   "latex=xelatex"' ])
+
+    checkProg('LuaTeX', ['lualatex $$i'],
+        rc_entry = [ r'\converter luatex      pdf5       "%%"  "latex=lualatex"' ])
+
+    checkProg('LuaTeX (DVI)', ['dvilualatex $$i'],
+        rc_entry = [ r'\converter luatex      dvi3        "%%" "latex=lualatex"' ])
     
     ''' If we're running LyX in-place then tex2lyx will be found in
             ../src/tex2lyx. Add this directory to the PATH temporarily and
@@ -648,12 +662,11 @@ def checkConverterEntries():
       else:
         addToRC(r'''\copier    html       "python -tt $$s/scripts/ext_copy.py $$i $$o"''')
 
-    # Check if LyxBlogger is installed.
-    path, lyxblogger = checkProg('A LyX to WordPress Blog Publishing Tool',
-      ['lyxblogger $$i'], rc_entry = [])
-    if lyxblogger.find('lyxblogger') >= 0:
-      addToRC(r'\Format    blog       blog       "LyxBlogger"           "" "" ""  "document"')
-      addToRC(r'\converter xhtml      blog       "lyxblogger $$i"       ""')
+    # Check if LyXBlogger is installed
+    lyxblogger_found = checkModule('lyxblogger')
+    if lyxblogger_found:
+      addToRC(r'\Format    blog       blog       "LyXBlogger"           "" "" ""  "document"')
+      addToRC(r'\converter xhtml      blog       "python -m lyxblogger $$i"       ""')
 
     if elyxerfound:
       addToRC(r'''\converter lyx      wordhtml       "python -m elyxer --html --directory $$r $$i $$o" ""''')
@@ -797,6 +810,13 @@ def checkConverterEntries():
         rc_entry = [ r'\converter svg        png        "%%"   ""'])
     
     #
+    # gnumeric/xls/ods to tex
+    checkProg('a spreadsheet -> latex converter', ['ssconvert'], 
+       rc_entry = [ r'''\converter gnumeric latex "ssconvert --export-type=Gnumeric_html:latex $$i $$o" "" 
+\converter ods latex "ssconvert --export-type=Gnumeric_html:latex $$i $$o" "" 
+\converter xls latex "ssconvert --export-type=Gnumeric_html:latex $$i $$o" ""''', 
+'']) 
+
     path, lilypond = checkProg('a LilyPond -> EPS/PDF/PNG converter', ['lilypond'])
     if (lilypond != ''):
         version_string = cmdOutput("lilypond --version")
@@ -805,15 +825,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]) >= 11):
-                addToRC(r'''\converter lilypond   eps        "lilypond -dbackend=eps --ps $$i" ""
-\converter lilypond   png        "lilypond -dbackend=eps --png $$i"    ""''')
-                addToRC(r'\converter lilypond   pdf        "lilypond -dbackend=eps --pdf $$i"  ""')
+                addToRC(r'''\converter lilypond   eps        "lilypond -dbackend=eps -dsafe --ps $$i"  ""
+\converter lilypond   png        "lilypond -dbackend=eps -dsafe --png $$i"     ""''')
+                addToRC(r'\converter lilypond   pdf        "lilypond -dbackend=eps -dsafe --pdf $$i"   ""')
                 logger.info('+  found LilyPond version %s.' % version_number)
             elif int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 6):
-                addToRC(r'''\converter lilypond   eps        "lilypond -b eps --ps $$i"        ""
+                addToRC(r'''\converter lilypond   eps        "lilypond -b eps --ps --safe $$i" ""
 \converter lilypond   png        "lilypond -b eps --png $$i"   ""''')
                 if int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 9):
-                    addToRC(r'\converter lilypond   pdf        "lilypond -b eps --pdf $$i"     ""')
+                    addToRC(r'\converter lilypond   pdf        "lilypond -b eps --pdf --safe $$i"      ""')
                 logger.info('+  found LilyPond version %s.' % version_number)
             else:
                 logger.info('+  found LilyPond, but version %s is too old.' % version_number)
@@ -827,13 +847,12 @@ def checkConverterEntries():
         if match:
             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]) >= 1):
+            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":
                     addToRC(r'\converter lyxpreview-lytex png "python -tt $$s/scripts/lyxpreview-lytex2bitmap.py" ""')
                 else:
                     addToRC(r'\converter lyxpreview-lytex png "" ""')
-            if int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 11):
                 # Note: The --lily-output-dir flag is required because lilypond-book
                 #       does not process input again unless the input has changed,
                 #       even if the output format being requested is different. So
@@ -841,11 +860,8 @@ def checkConverterEntries():
                 #       even when requested with --pdf. This is a problem if a user
                 #       clicks View PDF after having done a View DVI. To circumvent
                 #       this, use different output folders for eps and pdf outputs.
-                addToRC(r'\converter lilypond-book latex    "lilypond-book --lily-output-dir=ly-eps $$i"                                ""')
-                addToRC(r'\converter lilypond-book pdflatex "lilypond-book --pdf --latex-program=pdflatex --lily-output-dir=ly-pdf $$i" ""')
-                logger.info('+  found LilyPond-book version %s.' % version_number)
-            elif int(version[0]) > 2 or (len(version) > 1 and int(version[0]) == 2 and int(version[1]) >= 1):
-                addToRC(r'\converter lilypond-book latex  "lilypond-book $$i"                                ""')
+                addToRC(r'\converter lilypond-book latex    "lilypond-book --safe --lily-output-dir=ly-eps $$i"                                ""')
+                addToRC(r'\converter lilypond-book pdflatex "lilypond-book --safe --pdf --latex-program=pdflatex --lily-output-dir=ly-pdf $$i" ""')
                 logger.info('+  found LilyPond-book version %s.' % version_number)
             else:
                 logger.info('+  found LilyPond-book, but version %s is too old.' % version_number)