Subject: Make qtdeclarative build with python3 From: Max Lin From: Antonio Larrosa --- a/qtdeclarative.pro +++ b/qtdeclarative.pro @@ -2,7 +2,7 @@ CONFIG += tests_need_tools examples_need load(qt_parts) !python_available { - py_out = $$system('python -c "print(1)"') + py_out = $$system('python3 -c "print(1)"') !equals(py_out, 1): error("Building QtQml requires Python.") tmp = python_available CONFIG += $$tmp --- a/src/3rdparty/masm/masm.pri +++ b/src/3rdparty/masm/masm.pri @@ -58,7 +58,7 @@ contains(DEFINES, WTF_USE_UDIS86=1) { udis86.output = udis86_itab.h udis86.input = ITAB udis86.CONFIG += no_link - udis86.commands = python $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} + udis86.commands = python3 $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} QMAKE_EXTRA_COMPILERS += udis86 udis86_tab_cfile.target = $$OUT_PWD/udis86_itab.c @@ -110,7 +110,7 @@ retgen.output = $$GENERATEDDIR/RegExpJit retgen.script = $$PWD/create_regex_tables retgen.input = retgen.script retgen.CONFIG += no_link -retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} +retgen.commands = python3 $$retgen.script > ${QMAKE_FILE_OUT} QMAKE_EXTRA_COMPILERS += retgen # Taken from WebKit/Tools/qmake/mkspecs/features/unix/default_post.prf --- a/src/3rdparty/masm/disassembler/udis86/itab.py +++ b/src/3rdparty/masm/disassembler/udis86/itab.py @@ -268,13 +268,13 @@ class UdItabGenerator( ud_opcode.UdOpcod opr = e[ 'operands' ] for i in range(len(opr)): if not (opr[i] in self.OperandDict.keys()): - print "error: invalid operand declaration: %s\n" % opr[i] + print("error: invalid operand declaration: %s\n" % opr[i]) opr_c[i] = "O_" + opr[i] opr = "%s %s %s" % (opr_c[0] + ",", opr_c[1] + ",", opr_c[2]) for p in e['prefixes']: if not ( p in self.PrefixDict.keys() ): - print "error: invalid prefix specification: %s \n" % pfx + print("error: invalid prefix specification: %s \n" % pfx) pfx_c.append( self.PrefixDict[p] ) if len(e['prefixes']) == 0: pfx_c.append( "P_none" ) Index: qtdeclarative-opensource-src-5.9.4/src/3rdparty/masm/disassembler/udis86/ud_optable.py =================================================================== --- qtdeclarative-opensource-src-5.9.4.orig/src/3rdparty/masm/disassembler/udis86/ud_optable.py +++ qtdeclarative-opensource-src-5.9.4/src/3rdparty/masm/disassembler/udis86/ud_optable.py @@ -50,7 +50,7 @@ class UdOptableXmlParser: elif def_node.localName == 'vendor': ven = ( def_node.firstChild.data ); else: - print "warning: invalid node - %s" % def_node.localName + print("warning: invalid node - %s" % def_node.localName) continue return ( pfx, opc, opr, ven ) @@ -65,7 +65,7 @@ class UdOptableXmlParser: if not insnNode.localName: continue if insnNode.localName != "instruction": - print "warning: invalid insn node - %s" % insnNode.localName + print("warning: invalid insn node - %s" % insnNode.localName) continue mnemonic = insnNode.getElementsByTagName( 'mnemonic' )[ 0 ].firstChild.data @@ -84,11 +84,11 @@ class UdOptableXmlParser: def printFn( pfx, mnm, opc, opr, ven ): - print 'def: ', + print('def: ', end='') if len( pfx ): - print ' '.join( pfx ), - print "%s %s %s %s" % \ - ( mnm, ' '.join( opc ), ' '.join( opr ), ven ) + print(' '.join( pfx ), end='') + print("%s %s %s %s" % \ + ( mnm, ' '.join( opc ), ' '.join( opr ), ven )) def parse( xml, callback ):