File python36-buildfix1.patch of Package Mesa
Index: mesa-25.1.0/src/nouveau/headers/class_parser.py
===================================================================
--- mesa-25.1.0.orig/src/nouveau/headers/class_parser.py
+++ mesa-25.1.0/src/nouveau/headers/class_parser.py
@@ -11,6 +11,16 @@ import subprocess
from mako.template import Template
+def removeprefix(s, prefix):
+ if s.startswith(prefix):
+ return s[len(prefix):]
+ return s
+
+def removesuffix(s, suffix):
+ if s.endswith(suffix):
+ return s[:-len(suffix)]
+ return s
+
METHOD_ARRAY_SIZES = {
'BIND_GROUP_CONSTANT_BUFFER' : 16,
'CALL_MME_DATA' : 256,
@@ -467,7 +477,7 @@ def parse_header(nvcl, f):
if ":" in list[2]:
state = 1
elif teststr in list[1]:
- curfield.defs[list[1].removeprefix(teststr)] = list[2]
+ curfield.defs[removeprefix(list[1],teststr)] = list[2]
else:
state = 1
@@ -477,7 +487,7 @@ def parse_header(nvcl, f):
if ("0x" in list[2]):
state = 1
else:
- field = list[1].removeprefix(teststr)
+ field = removeprefix(list[1], teststr)
bitfield = list[2].split(":")
f = Field(field, bitfield[1], bitfield[0])
curmthd.fields.append(f)
@@ -497,13 +507,13 @@ def parse_header(nvcl, f):
is_array = 0
if (':' in list[2]):
continue
- name = list[1].removeprefix(teststr)
+ name = removeprefix(list[1], teststr)
if name.endswith("(i)"):
is_array = 1
- name = name.removesuffix("(i)")
+ name = removesuffix(name, "(i)")
if name.endswith("(j)"):
is_array = 1
- name = name.removesuffix("(j)")
+ name = removesuffix(name, "(j)")
curmthd = Method(name, list[2], is_array)
methods[name] = curmthd
@@ -512,8 +522,8 @@ def parse_header(nvcl, f):
return (version, methods)
def nvcl_for_filename(name):
- name = name.removeprefix("cl")
- name = name.removesuffix(".h")
+ name = removeprefix(name, "cl")
+ name = removesuffix(name, ".h")
return "NV" + name.upper()
def main():
@@ -542,7 +552,7 @@ def main():
if args.prev_in_h is not None:
prev_clheader = os.path.basename(args.prev_in_h)
prev_nvcl = nvcl_for_filename(prev_clheader)
- prev_mod = prev_clheader.removesuffix(".h")
+ prev_mod = removesuffix(prev_clheader, ".h")
with open(args.prev_in_h, 'r', encoding='utf-8') as f:
(prev_version, prev_methods) = parse_header(prev_nvcl, f)