Submitted By: Igor Živković Date: 2015-01-27 Initial Package Version: 10.4.3 Upstream Status: Not submitted Origin: Self Description: Allows compilation with python3 at least with these: find -name '*.py' | xargs 2to3 -w && patch -p1 -i ../MesaLib-10.4.3-python3-1.patch && ./autogen.sh PYTHON2="python3" \ CFLAGS="-O2" CXXFLAGS="-O2" \ --prefix=/usr \ --sysconfdir=/etc \ --disable-dri3 \ --enable-sysfs \ --enable-texture-float \ --enable-gles1 \ --enable-gles2 \ --enable-osmesa \ --enable-xa \ --enable-gbm \ --enable-glx-tls \ --with-egl-platforms="drm,x11" \ --with-gallium-drivers="r600" --- Mesa-10.4.3.orig/src/gallium/auxiliary/util/u_format_pack.py +++ Mesa-10.4.3/src/gallium/auxiliary/util/u_format_pack.py @@ -239,7 +239,7 @@ return truncate_mantissa(value, 23) return value if type.type == FIXED: - return int(value * (1 << (type.size/2))) + return int(value * (1 << (type.size//2))) if not type.norm: return int(value) if type.type == UNSIGNED: --- Mesa-10.4.3.orig/src/gallium/auxiliary/util/u_format_parse.py +++ Mesa-10.4.3/src/gallium/auxiliary/util/u_format_parse.py @@ -77,7 +77,7 @@ if self.type == FLOAT: return VERY_LARGE if self.type == FIXED: - return (1 << (self.size/2)) - 1 + return (1 << (self.size//2)) - 1 if self.norm: return 1 if self.type == UNSIGNED: @@ -91,7 +91,7 @@ if self.type == FLOAT: return -VERY_LARGE if self.type == FIXED: - return -(1 << (self.size/2)) + return -(1 << (self.size//2)) if self.type == UNSIGNED: return 0 if self.norm: @@ -161,7 +161,7 @@ return ref_channel def is_array(self): - return self.array_element() != None + return type(self.array_element()) != type(None) def is_mixed(self): if self.layout != PLAIN: --- Mesa-10.4.3.orig/src/mapi/glapi/gen/glX_proto_common.py +++ Mesa-10.4.3/src/mapi/glapi/gen/glX_proto_common.py @@ -66,7 +66,7 @@ return compsize elif len(param.count_parameter_list): - parameters = string.join( param.count_parameter_list, "," ) + parameters = ",".join(param.count_parameter_list) compsize = "__gl%s_size(%s)" % (func.name, parameters) return compsize --- Mesa-10.4.3.orig/src/mapi/glapi/gen/glX_proto_send.py +++ Mesa-10.4.3/src/mapi/glapi/gen/glX_proto_send.py @@ -38,7 +38,7 @@ tmp = '%s_%s' % (tmp, string.lower(str[i:i+3])) i = i + 2; elif str[i].isupper(): - tmp = '%s_%s' % (tmp, string.lower(str[i])) + tmp = '%s_%s' % (tmp, str[i].lower()) else: tmp = '%s%s' % (tmp, str[i]) i += 1 @@ -627,7 +627,7 @@ if len( condition_list ) > 0: if len( condition_list ) > 1: - skip_condition = "(%s)" % (string.join( condition_list, ") && (" )) + skip_condition = "(%s)" % (") && (".join(condition_list)) else: skip_condition = "%s" % (condition_list.pop(0)) --- Mesa-10.4.3.orig/src/mapi/glapi/gen/glX_proto_size.py +++ Mesa-10.4.3/src/mapi/glapi/gen/glX_proto_size.py @@ -201,14 +201,14 @@ # a case label, and emit the others as # commented-out case labels. - list = {} + list_ = {} for enum_obj in self.enums[e]: - list[ enum_obj.priority() ] = enum_obj.name + list_[ enum_obj.priority() ] = enum_obj.name - keys = list(list.keys()) + keys = list(list_.keys()) keys.sort() for k in keys: - j = list[k] + j = list_[k] if first: print(' case GL_%s:' % (j)) first = 0 --- Mesa-10.4.3.orig/src/mapi/glapi/gen/gl_XML.py +++ Mesa-10.4.3/src/mapi/glapi/gen/gl_XML.py @@ -317,7 +317,7 @@ if len(list) == 0: list = ["void"] - return string.join(list, ", ") + return ", ".join(list) class gl_item(object): @@ -575,9 +575,9 @@ list.append( str(s) ) if len(list) > 1 and use_parens : - return "(%s)" % (string.join(list, " * ")) + return "(%s)" % (" * ".join(list)) else: - return string.join(list, " * ") + return " * ".join(list) elif self.is_image(): return "compsize" @@ -1026,11 +1026,11 @@ keys = list(self.enums_by_name.keys()) keys.sort() - list = [] + list_ = [] for enum in keys: - list.append( self.enums_by_name[ enum ] ) + list_.append( self.enums_by_name[ enum ] ) - return list.__iter__() + return list_.__iter__() def categoryIterate(self): @@ -1041,15 +1041,15 @@ name and number (which may be None) of the category. """ - list = [] + list_ = [] for cat_type in range(0,4): keys = list(self.categories[cat_type].keys()) keys.sort() for key in keys: - list.append(self.categories[cat_type][key]) + list_.append(self.categories[cat_type][key]) - return list.__iter__() + return list_.__iter__() def get_category_for_name( self, name ): --- Mesa-10.4.3.orig/src/mapi/glapi/gen/typeexpr.py +++ Mesa-10.4.3/src/mapi/glapi/gen/typeexpr.py @@ -125,7 +125,7 @@ # Replace '*' with ' * ' in type_string. Then, split the string # into tokens, separated by spaces. - tokens = string.split( string.replace( type_string, "*", " * " ) ) + tokens = type_string.replace("*", " * ").split() const = 0 t = None --- Mesa-10.4.3.orig/src/mapi/mapi_abi.py +++ Mesa-10.4.3/src/mapi/mapi_abi.py @@ -120,9 +120,9 @@ def __str__(self): return self.c_prototype() - def __cmp__(self, other): + def __lt__(self, other): # compare slot, alias, and then name - res = cmp(self.slot, other.slot) + res = (self.slot > other.slot) - (self.slot < other.slot) if not res: if not self.alias: res = -1 @@ -130,9 +130,9 @@ res = 1 if not res: - res = cmp(self.name, other.name) + res = (self.name > other.name) - (self.name > other.name) - return res + return res < 0 def abi_parse_xml(xml): """Parse a GLAPI XML file for ABI entries.""" @@ -293,7 +293,7 @@ # sort entries by their names self.entries_sorted_by_names = self.entries[:] - self.entries_sorted_by_names.sort(lambda x, y: cmp(x.name, y.name)) + self.entries_sorted_by_names.sort(key=lambda x: x.name) self.indent = ' ' * 3 self.noop_warn = 'noop_warn' @@ -472,7 +472,7 @@ """Return the string pool for use by stubs.""" # sort entries by their names sorted_entries = self.entries[:] - sorted_entries.sort(lambda x, y: cmp(x.name, y.name)) + sorted_entries.sort(key=lambda x: x.name) pool = [] offsets = {} --- Mesa-10.4.3.orig/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py +++ Mesa-10.4.3/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py @@ -129,13 +129,13 @@ suffix = ' \\' # Expand the description line. Need to use ugettext in order to allow # non-ascii unicode chars in the original English descriptions. - text = escapeCString (trans.ugettext (str (expandCString ( - matches[0].expand (r'\5')), "utf-8"))).encode("utf-8") + text = escapeCString (trans.gettext (str (expandCString ( + matches[0].expand (r'\5'))))) print(matches[0].expand (r'\1' + lang + r'\3"' + text + r'"\7') + suffix) # Expand any subsequent enum lines for match in matches[1:]: - text = escapeCString (trans.ugettext (str (expandCString ( - match.expand (r'\3')), "utf-8"))).encode("utf-8") + text = escapeCString (trans.gettext (str (expandCString ( + match.expand (r'\3'))))) print(match.expand (r'\1"' + text + r'"\5')) # Expand description end @@ -167,7 +167,7 @@ # Process the options template and generate options.h with all # translations. -template = file (template_header_path, "r") +template = open(template_header_path, "r") descMatches = [] for line in template: if len(descMatches) > 0: