diff --git a/Mesa.changes b/Mesa.changes index cd72721..2b6ead0 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Nov 27 23:10:50 UTC 2024 - Stefan Dirsch + +- trying to make buildservice happy by adding both tarballs to + specfile ... + +------------------------------------------------------------------- +Tue Nov 26 18:20:06 UTC 2024 - Stefan Dirsch + +- on s390x build Mesa 24.1.7 to fix colors with Xvnc (boo#1233167) +- adjusted patches for Mesa 24.1.7: + * python36-buildfix1-s390x.patch + * u_dep_xcb-s390x.patch + * u_mesa-CVE-2023-45913-s390x.patch + ------------------------------------------------------------------- Fri Nov 22 10:35:29 UTC 2024 - Marcus Rueckert diff --git a/Mesa.spec b/Mesa.spec index c55e8cf..49eef15 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -42,7 +42,11 @@ %define glamor 1 %define _name_archive mesa +%ifnarch s390x %define _version 24.3.0 +%else +%define _version 24.1.7 +%endif %define with_opencl 0 %define with_rusticl 0 %define with_vulkan 0 @@ -145,7 +149,11 @@ %global _paste_crate_ver 1.0.14 Name: Mesa%{psuffix} +%ifnarch s390x Version: 24.3.0 +%else +Version: 24.1.7 +%endif Release: 0 Summary: System for rendering 3-D graphics License: MIT @@ -173,18 +181,32 @@ Source9: manual-pages.tar.bz2 Source10: Mesa-rpmlintrc Source11: Mesa.keyring Source12: README-suse-maintenance.md +Source20: https://archive.mesa3d.org/%{_name_archive}-24.3.0.tar.xz +Source21: https://archive.mesa3d.org/%{_name_archive}-24.3.0.tar.xz.sig Patch2: n_add-Mesa-headers-again.patch Patch11: u_0001-intel-genxml-Drop-from-__future__-import-annotations.patch Patch12: u_0002-intel-genxml-Add-a-untyped-OrderedDict-fallback-for-.patch +%ifnarch s390x Patch13: python36-buildfix1.patch +%else +Patch13: python36-buildfix1-s390x.patch +%endif Patch14: python36-buildfix2.patch Patch17: tlsdesc_test.patch # never to be upstreamed Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch Patch400: n_stop-iris-flicker.patch +%ifnarch s390x Patch500: u_dep_xcb.patch +%else +Patch500: u_dep_xcb-s390x.patch +%endif +%ifnarch s390x Patch1222040: u_mesa-CVE-2023-45913.patch +%else +Patch1222040: u_mesa-CVE-2023-45913-s390x.patch +%endif Patch1222041: u_mesa-CVE-2023-45919.patch Patch1222042: u_mesa-CVE-2023-45922.patch @@ -949,7 +971,7 @@ egl_platforms=x11,wayland %ifarch ppc64 ppc64le riscv64 -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,iris,zink \ %else - -Dgallium-drivers=softpipe,llvmpipe \ + -Dgallium-drivers=swrast \ %endif %endif %endif @@ -957,7 +979,11 @@ egl_platforms=x11,wayland -Dllvm-orcjit=true \ %endif %else +%ifnarch s390x -Dgallium-drivers=softpipe \ +%else + -Dgallium-drivers=swrast \ +%endif %endif %ifarch aarch64 x86_64 ppc64le s390x riscv64 -Dvalgrind=enabled \ @@ -1222,9 +1248,11 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %ifarch %{arm} aarch64 %exclude %{_libdir}/dri/vc4_dri.so %endif +%ifnarch s390x %{_libdir}/libgallium-%{_version}.so %dir %{_libdir}/gbm/ %{_libdir}/gbm/dri_gbm.so +%endif %if 0%{with_opencl} # only built with opencl diff --git a/mesa-24.1.7.tar.xz b/mesa-24.1.7.tar.xz new file mode 100644 index 0000000..699d7c9 --- /dev/null +++ b/mesa-24.1.7.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecd2e7b1c73998f4103542f39c6b8c968d251637ccc8caa42641aecb86cd2566 +size 29206724 diff --git a/mesa-24.1.7.tar.xz.sig b/mesa-24.1.7.tar.xz.sig new file mode 100644 index 0000000..844f578 Binary files /dev/null and b/mesa-24.1.7.tar.xz.sig differ diff --git a/python36-buildfix1-s390x.patch b/python36-buildfix1-s390x.patch new file mode 100644 index 0000000..90d42f5 --- /dev/null +++ b/python36-buildfix1-s390x.patch @@ -0,0 +1,67 @@ +Index: mesa-24.1.7/src/nouveau/headers/class_parser.py +=================================================================== +--- mesa-24.1.7.orig/src/nouveau/headers/class_parser.py ++++ mesa-24.1.7/src/nouveau/headers/class_parser.py +@@ -9,6 +9,16 @@ import sys + + 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, +@@ -293,7 +303,7 @@ def parse_header(nvcl, f): + if ":" in list[2]: + state = 1 + elif teststr in list[1]: +- curmthd.field_defs[curfield][list[1].removeprefix(teststr)] = list[2] ++ curmthd.field_defs[curfield][removeprefix(list[1], teststr)] = list[2] + else: + state = 1 + +@@ -303,7 +313,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(":") + curmthd.field_name_start[field] = bitfield[1] + curmthd.field_name_end[field] = bitfield[0] +@@ -324,13 +334,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)") + x = method() + x.name = name + x.addr = list[2] +@@ -357,8 +367,8 @@ def main(): + + clheader = os.path.basename(args.in_h) + nvcl = clheader +- nvcl = nvcl.removeprefix("cl") +- nvcl = nvcl.removesuffix(".h") ++ nvcl = removeprefix(nvcl, "cl") ++ nvcl = removesuffix(nvcl, ".h") + nvcl = nvcl.upper() + nvcl = "NV" + nvcl + diff --git a/u_dep_xcb-s390x.patch b/u_dep_xcb-s390x.patch new file mode 100644 index 0000000..d8ee42b --- /dev/null +++ b/u_dep_xcb-s390x.patch @@ -0,0 +1,16 @@ +Index: mesa-24.2.2/meson.build +=================================================================== +--- mesa-24.2.2.orig/meson.build ++++ mesa-24.2.2/meson.build +@@ -2145,9 +2145,11 @@ if with_platform_x11 + endif + endif + if with_any_vk or with_egl or (with_glx == 'dri' and with_dri_platform == 'drm') ++ dep_x11_xcb = dependency('x11-xcb') + dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8') + + if with_dri3 ++ dep_xcb = dependency('xcb') + dep_xcb_dri3 = dependency('xcb-dri3') + dep_xcb_present = dependency('xcb-present') + # until xcb-dri3 has been around long enough to make a hard-dependency: diff --git a/u_mesa-CVE-2023-45913-s390x.patch b/u_mesa-CVE-2023-45913-s390x.patch new file mode 100644 index 0000000..d438e0a --- /dev/null +++ b/u_mesa-CVE-2023-45913-s390x.patch @@ -0,0 +1,13 @@ + src/glx/dri2_glx.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +--- a/src/glx/dri2_glx.c ++++ b/src/glx/dri2_glx.c +@@ -1399,7 +1399,7 @@ dri2GetGlxDrawableFromXDrawableId(Displa + struct dri2_display *pdp = (struct dri2_display *) d->dri2Display; + __GLXDRIdrawable *pdraw; + +- if (__glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0) ++ if (pdp && __glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0) + return pdraw; + + return NULL;