X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.py;h=df07e4612962ac9b4117911f2d8cacdb96bed501;hb=6fde01e70ed70755ed0da9699da47fccf98abb11;hp=5c5e449cf7a16798569c922e62378a3ed113f0bb;hpb=65b44311f39545060e694c3bd4198323c63c6163;p=lyx.git diff --git a/lib/configure.py b/lib/configure.py index 5c5e449cf7..df07e46129 100644 --- a/lib/configure.py +++ b/lib/configure.py @@ -503,8 +503,7 @@ def checkInkscape(): ''' The answer of the real inkscape is validated and a fake binary used if this fails ''' if sys.platform == 'darwin': version_string = cmdOutput("inkscape --version") - match = re.match('^Inkscape', version_string) - if match: + if version_string.startswith('Inkscape'): return 'inkscape' else: return 'inkscape-binary' @@ -755,7 +754,8 @@ def checkFormatEntries(dtl_tools): \Format lyx16x 16.lyx "LyX 1.6.x" "" "" "" "document" "" \Format lyx20x 20.lyx "LyX 2.0.x" "" "" "" "document" "" \Format lyx21x 21.lyx "LyX 2.1.x" "" "" "" "document" "" -\Format lyx22x 22.lyx "LyX 2.2.x" "" "" "" "document,menu=export" "" +\Format lyx22x 22.lyx "LyX 2.2.x" "" "" "" "document" "" +\Format lyx23x 23.lyx "LyX 2.3.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" "" @@ -1131,7 +1131,7 @@ def checkConverterEntries(): path, lilypond_book = checkProg('a LilyPond book (LaTeX) -> LaTeX converter', ['lilypond-book']) if (lilypond_book != ''): version_string = cmdOutput("lilypond-book --version") - match = re.match('^(\S+)$', version_string) + match = re.match('(\S+)$', version_string) if match: version_number = match.groups()[0] version = version_number.split('.') @@ -1185,6 +1185,7 @@ def checkConverterEntries(): \converter lyx lyx20x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.0 -o $$o $$i" "" \converter lyx lyx21x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.1 -o $$o $$i" "" \converter lyx lyx22x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.2 -o $$o $$i" "" +\converter lyx lyx23x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.3 -o $$o $$i" "" \converter lyx clyx "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c big5 $$i" "" \converter lyx jlyx "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c euc_jp $$i" "" \converter lyx klyx "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c euc_kr $$i" "" @@ -1289,13 +1290,13 @@ def processLayoutFile(file, bool_docbook): return x.strip() 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(b'^\s*#\s*\\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}\s*$') - q = re.compile(b'^\s*#\s*\\DeclareCategory{(.*)}\s*$') + p = re.compile(b'\s*#\s*\\\\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}\s*$') + q = re.compile(b'\s*#\s*\\\\DeclareCategory{(.*)}\s*$') classdeclaration = b"" categorydeclaration = b'""' for line in open(file, 'rb').readlines(): - res = p.search(line) - qres = q.search(line) + res = p.match(line) + qres = q.match(line) if res != None: (classtype, optAll, opt, opt1, desc) = res.groups() avai = {b'LaTeX':b'false', b'DocBook':bool_docbook.encode('ascii')}[classtype] @@ -1363,7 +1364,7 @@ def checkLatexConfig(check_config, bool_docbook): foundClasses.append(cleanclass) retval = processLayoutFile(file, bool_docbook) if retval != b"": - tx.write(retval) + tx.write(retval + os.linesep) tx.close() logger.info('\tdone') if not os.path.isfile('packages.lst') or not check_config: @@ -1386,9 +1387,9 @@ def checkLatexConfig(check_config, bool_docbook): # Construct the list of classes to test for. # build the list of available layout files and convert it to commands # for chkconfig.ltx - declare = re.compile(b'^\\s*#\\s*\\\\Declare(LaTeX|DocBook)Class\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$') - category = re.compile(b'^\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$') - empty = re.compile(b'^\\s*$') + declare = re.compile(b'\\s*#\\s*\\\\Declare(LaTeX|DocBook)Class\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$') + category = re.compile(b'\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$') + empty = re.compile(b'\\s*$') testclasses = list() for file in (glob.glob( os.path.join('layouts', '*.layout') ) + glob.glob( os.path.join(srcdir, 'layouts', '*.layout' ) ) ): @@ -1406,14 +1407,14 @@ def checkLatexConfig(check_config, bool_docbook): nodeclaration = True # A class, but no category declaration. Just break. break - if declare.search(line) != None: + if declare.match(line) != None: decline = b"\\TestDocClass{%s}{%s}" \ % (classname.encode('ascii'), line[1:].strip()) testclasses.append(decline) - elif category.search(line) != None: + elif category.match(line) != None: catline = (b"\\DeclareCategory{%s}{%s}" % (classname.encode('ascii'), - category.search(line).groups()[0])) + category.match(line).groups()[0])) testclasses.append(catline) if catline == b"" or decline == b"": continue @@ -1432,7 +1433,7 @@ def checkLatexConfig(check_config, bool_docbook): line = latex_out.readline() if not line: break; - if re.match('^\+', line): + if line.startswith('+'): logger.info(line.strip()) # if the command succeeds, None will be returned ret = latex_out.close() @@ -1515,12 +1516,12 @@ def processModuleFile(file, filename, bool_docbook): We expect output: "ModuleName" "filename" "Description" "Packages" "Requires" "Excludes" "Category" ''' - remods = re.compile(b'\DeclareLyXModule\s*(?:\[([^]]*?)\])?{(.*)}') - rereqs = re.compile(b'#+\s*Requires: (.*)') - reexcs = re.compile(b'#+\s*Excludes: (.*)') - recaty = re.compile(b'#+\s*Category: (.*)') - redbeg = re.compile(b'#+\s*DescriptionBegin\s*$') - redend = re.compile(b'#+\s*DescriptionEnd\s*$') + remods = re.compile(b'\s*#\s*\\\\DeclareLyXModule\s*(?:\[([^]]*?)\])?{(.*)}') + rereqs = re.compile(b'\s*#+\s*Requires: (.*)') + reexcs = re.compile(b'\s*#+\s*Excludes: (.*)') + recaty = re.compile(b'\s*#+\s*Category: (.*)') + redbeg = re.compile(b'\s*#+\s*DescriptionBegin\s*$') + redend = re.compile(b'\s*#+\s*DescriptionEnd\s*$') modname = desc = pkgs = req = excl = catgy = b"" readingDescription = False @@ -1528,7 +1529,7 @@ def processModuleFile(file, filename, bool_docbook): for line in open(file, 'rb').readlines(): if readingDescription: - res = redend.search(line) + res = redend.match(line) if res != None: readingDescription = False desc = b" ".join(descLines) @@ -1537,11 +1538,11 @@ def processModuleFile(file, filename, bool_docbook): continue descLines.append(line[1:].strip()) continue - res = redbeg.search(line) + res = redbeg.match(line) if res != None: readingDescription = True continue - res = remods.search(line) + res = remods.match(line) if res != None: (pkgs, modname) = res.groups() if pkgs == None: @@ -1550,19 +1551,19 @@ def processModuleFile(file, filename, bool_docbook): tmp = [s.strip() for s in pkgs.split(b",")] pkgs = b",".join(tmp) continue - res = rereqs.search(line) + res = rereqs.match(line) if res != None: req = res.group(1) tmp = [s.strip() for s in req.split(b"|")] req = b"|".join(tmp) continue - res = reexcs.search(line) + res = reexcs.match(line) if res != None: excl = res.group(1) tmp = [s.strip() for s in excl.split(b"|")] excl = b"|".join(tmp) continue - res = recaty.search(line) + res = recaty.match(line) if res != None: catgy = res.group(1) continue @@ -1639,9 +1640,9 @@ def processCiteEngineFile(file, filename, bool_docbook): We expect output: "CiteEngineName" "filename" "CiteEngineType" "CiteFramework" "DefaultBiblio" "Description" "Packages" ''' - remods = re.compile(b'\DeclareLyXCiteEngine\s*(?:\[([^]]*?)\])?{(.*)}') - redbeg = re.compile(b'#+\s*DescriptionBegin\s*$') - redend = re.compile(b'#+\s*DescriptionEnd\s*$') + remods = re.compile(b'\s*#\s*\\\\DeclareLyXCiteEngine\s*(?:\[([^]]*?)\])?{(.*)}') + redbeg = re.compile(b'\s*#+\s*DescriptionBegin\s*$') + redend = re.compile(b'\s*#+\s*DescriptionEnd\s*$') recet = re.compile(b'\s*CiteEngineType\s*(.*)') redb = re.compile(b'\s*DefaultBiblio\s*(.*)') resfm = re.compile(b'\s*CiteFramework\s*(.*)') @@ -1652,7 +1653,7 @@ def processCiteEngineFile(file, filename, bool_docbook): for line in open(file, 'rb').readlines(): if readingDescription: - res = redend.search(line) + res = redend.match(line) if res != None: readingDescription = False desc = b" ".join(descLines) @@ -1661,11 +1662,11 @@ def processCiteEngineFile(file, filename, bool_docbook): continue descLines.append(line[1:].strip()) continue - res = redbeg.search(line) + res = redbeg.match(line) if res != None: readingDescription = True continue - res = remods.search(line) + res = remods.match(line) if res != None: (pkgs, modname) = res.groups() if pkgs == None: @@ -1674,15 +1675,15 @@ def processCiteEngineFile(file, filename, bool_docbook): tmp = [s.strip() for s in pkgs.split(b",")] pkgs = b",".join(tmp) continue - res = recet.search(line) + res = recet.match(line) if res != None: cet = res.group(1) continue - res = redb.search(line) + res = redb.match(line) if res != None: db = res.group(1) continue - res = resfm.search(line) + res = resfm.match(line) if res != None: cfm = res.group(1) continue @@ -1770,14 +1771,14 @@ def checkTeXAllowSpaces(): def rescanTeXFiles(): ''' Run kpsewhich to update information about TeX files ''' logger.info("+Indexing TeX files... ") - if not os.path.isfile( os.path.join(srcdir, 'scripts', 'TeXFiles.py') ): + tfscript = os.path.join(srcdir, 'scripts', 'TeXFiles.py') + if not os.path.isfile(tfscript): logger.error("configure: error: cannot find TeXFiles.py script") sys.exit(1) interpreter = sys.executable if interpreter == '': interpreter = "python" - tfp = cmdOutput(interpreter + " -tt " + '"' - + os.path.join(srcdir, 'scripts', 'TeXFiles.py') + '"') + tfp = cmdOutput('"%s" -tt "%s"' % (interpreter, tfscript)) logger.info(tfp) logger.info("\tdone")