!56 Fix compilation failure by python3.10 and wayland 1.20

From: @lyn1001 
Reviewed-by: @small_leek 
Signed-off-by: @small_leek
This commit is contained in:
openeuler-ci-bot 2022-05-06 08:40:59 +00:00 committed by Gitee
commit 5614317c88
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 236 additions and 1 deletions

View File

@ -0,0 +1,28 @@
From 49d1846b55bcd4b54a8b8eb2b4ae0b29be0b36a1 Mon Sep 17 00:00:00 2001
From: bzg1107 <preloyalwhite@163.com>
Date: Tue, 11 Jan 2022 17:36:03 +0800
Subject: [PATCH] fix wl_proxy_marshal_flags
---
widget/gtk/mozwayland/mozwayland.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/widget/gtk/mozwayland/mozwayland.c b/widget/gtk/mozwayland/mozwayland.c
index 5cea1c5..bbf97a5 100644
--- a/widget/gtk/mozwayland/mozwayland.c
+++ b/widget/gtk/mozwayland/mozwayland.c
@@ -41,6 +41,11 @@ MOZ_EXPORT void wl_proxy_marshal(struct wl_proxy* p, uint32_t opcode, ...) {}
MOZ_EXPORT void wl_proxy_marshal_array(struct wl_proxy* p, uint32_t opcode,
union wl_argument* args) {}
+MOZ_EXPORT struct wl_proxy *wl_proxy_marshal_flags(struct wl_proxy* proxy, uint32_t opcode,
+ const struct wl_interface *interface, uint32_t version, uint32_t flags, ...) {
+ return NULL;
+}
+
MOZ_EXPORT struct wl_proxy* wl_proxy_create(
struct wl_proxy* factory, const struct wl_interface* interface) {
return NULL;
--
2.30.0

View File

@ -0,0 +1,200 @@
diff --git a/python/mach/mach/config.py b/python/mach/mach/config.py
index 7210eca..edb4d2e 100644
--- a/python/mach/mach/config.py
+++ b/python/mach/mach/config.py
@@ -144,7 +144,7 @@ def reraise_attribute_error(func):
return _
-class ConfigSettings(collections.Mapping):
+class ConfigSettings(collections.abc.Mapping):
"""Interface for configuration settings.
This is the main interface to the configuration.
@@ -190,7 +190,7 @@ class ConfigSettings(collections.Mapping):
will result in exceptions being raised.
"""
- class ConfigSection(collections.MutableMapping, object):
+ class ConfigSection(collections.abc.MutableMapping, object):
"""Represents an individual config section."""
def __init__(self, config, name, settings):
object.__setattr__(self, '_config', config)
diff --git a/python/mach/mach/decorators.py b/python/mach/mach/decorators.py
index f69a75b..afc1797 100644
--- a/python/mach/mach/decorators.py
+++ b/python/mach/mach/decorators.py
@@ -5,7 +5,7 @@
from __future__ import absolute_import, unicode_literals
import argparse
-import collections
+import collections.abc
import inspect
import sys
@@ -159,7 +159,7 @@ def CommandProvider(cls):
'Conditions argument must take a list ' + \
'of functions. Found %s instead.'
- if not isinstance(command.conditions, collections.Iterable):
+ if not isinstance(command.conditions, collections.abc.Iterable):
msg = msg % (command.name, type(command.conditions))
raise MachError(msg)
diff --git a/python/mach/mach/main.py b/python/mach/mach/main.py
index 95f492f..5b8d205 100644
--- a/python/mach/mach/main.py
+++ b/python/mach/mach/main.py
@@ -16,7 +16,7 @@ import os
import sys
import traceback
import uuid
-from collections import Iterable
+from collections.abc import Iterable
from mach.sentry import register_sentry, report_exception
from six import string_types
diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py
index 20d1a9f..898cabb 100644
--- a/python/mozbuild/mozbuild/backend/configenvironment.py
+++ b/python/mozbuild/mozbuild/backend/configenvironment.py
@@ -9,7 +9,8 @@ import six
import sys
import json
-from collections import Iterable, OrderedDict
+from collections.abc import Iterable
+from collections import OrderedDict
from types import ModuleType
import mozpack.path as mozpath
diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py
index 4da1a3b..4ce5684 100644
--- a/python/mozbuild/mozbuild/makeutil.py
+++ b/python/mozbuild/mozbuild/makeutil.py
@@ -7,7 +7,7 @@ from __future__ import absolute_import, print_function, unicode_literals
import os
import re
import six
-from collections import Iterable
+from collections.abc import Iterable
class Makefile(object):
diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
index 044cf64..98ed3ef 100644
--- a/python/mozbuild/mozbuild/util.py
+++ b/python/mozbuild/mozbuild/util.py
@@ -782,7 +782,7 @@ class HierarchicalStringList(object):
self._strings = StrictOrderingOnAppendList()
self._children = {}
- class StringListAdaptor(collections.Sequence):
+ class StringListAdaptor(collections.abc.Sequence):
def __init__(self, hsl):
self._hsl = hsl
diff --git a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py
index 9b57b2f..9bcca5b 100644
--- a/testing/mozbase/manifestparser/manifestparser/filters.py
+++ b/testing/mozbase/manifestparser/manifestparser/filters.py
@@ -12,7 +12,8 @@ from __future__ import absolute_import
import itertools
import os
-from collections import defaultdict, MutableSequence
+from collections.abc import MutableSequence
+from collections import defaultdict
import six
from six import string_types
diff --git a/testing/mozbase/versioninfo.py b/testing/mozbase/versioninfo.py
index 91d1a04..8c16800 100755
--- a/testing/mozbase/versioninfo.py
+++ b/testing/mozbase/versioninfo.py
@@ -11,7 +11,7 @@ from commit messages.
from __future__ import absolute_import, print_function
-from collections import Iterable
+from collections.abc import Iterable
from distutils.version import StrictVersion
import argparse
import os
diff --git a/third_party/python/gyp/pylib/gyp/common.py b/third_party/python/gyp/pylib/gyp/common.py
index b268d22..4f9cb0e 100644
--- a/third_party/python/gyp/pylib/gyp/common.py
+++ b/third_party/python/gyp/pylib/gyp/common.py
@@ -494,7 +494,7 @@ def uniquer(seq, idfun=None):
# Based on http://code.activestate.com/recipes/576694/.
-class OrderedSet(collections.MutableSet):
+class OrderedSet(collections.abc.MutableSet):
def __init__(self, iterable=None):
self.end = end = []
end += [None, end, end] # sentinel node for doubly linked list
diff --git a/third_party/python/gyp/pylib/gyp/msvs_emulation.py b/third_party/python/gyp/pylib/gyp/msvs_emulation.py
index 63d40e6..43fbbbb 100644
--- a/third_party/python/gyp/pylib/gyp/msvs_emulation.py
+++ b/third_party/python/gyp/pylib/gyp/msvs_emulation.py
@@ -91,7 +91,7 @@ def _AddPrefix(element, prefix):
"""Add |prefix| to |element| or each subelement if element is iterable."""
if element is None:
return element
- if (isinstance(element, collections.Iterable) and
+ if (isinstance(element, collections.abc.Iterable) and
not isinstance(element, basestring)):
return [prefix + e for e in element]
else:
@@ -104,7 +104,7 @@ def _DoRemapping(element, map):
if map is not None and element is not None:
if not callable(map):
map = map.get # Assume it's a dict, otherwise a callable to do the remap.
- if (isinstance(element, collections.Iterable) and
+ if (isinstance(element, collections.abc.Iterable) and
not isinstance(element, basestring)):
element = filter(None, [map(elem) for elem in element])
else:
@@ -117,7 +117,7 @@ def _AppendOrReturn(append, element):
then add |element| to it, adding each item in |element| if it's a list or
tuple."""
if append is not None and element is not None:
- if (isinstance(element, collections.Iterable) and
+ if (isinstance(element, collections.abc.Iterable) and
not isinstance(element, basestring)):
append.extend(element)
else:
diff --git a/third_party/python/virtualenv/virtualenv.py b/third_party/python/virtualenv/virtualenv.py
index 9eaedaf..3ef431c 100755
--- a/third_party/python/virtualenv/virtualenv.py
+++ b/third_party/python/virtualenv/virtualenv.py
@@ -1804,7 +1804,7 @@ def fix_local_scheme(home_dir, symlink=True):
pass
else:
# noinspection PyProtectedMember
- if sysconfig._get_default_scheme() == "posix_local":
+ if sysconfig.get_default_scheme() == "posix_local":
local_path = os.path.join(home_dir, "local")
if not os.path.exists(local_path):
os.mkdir(local_path)
diff --git a/third_party/python/voluptuous/voluptuous/schema_builder.py b/third_party/python/voluptuous/voluptuous/schema_builder.py
index 8d7a81a..92b60ac 100644
--- a/third_party/python/voluptuous/voluptuous/schema_builder.py
+++ b/third_party/python/voluptuous/voluptuous/schema_builder.py
@@ -1,4 +1,4 @@
-import collections
+import collections.abc
import inspect
import re
from functools import wraps
@@ -280,7 +280,7 @@ class Schema(object):
return schema.__voluptuous_compile__(self)
if isinstance(schema, Object):
return self._compile_object(schema)
- if isinstance(schema, collections.Mapping):
+ if isinstance(schema, collections.abc.Mapping):
return self._compile_dict(schema)
elif isinstance(schema, list):
return self._compile_list(schema)

View File

@ -88,7 +88,7 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 79.0
Release: 11
Release: 12
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz
@ -186,6 +186,8 @@ Patch641: Bug-1680166-GCC-is-smarter-than-clang-so-ignore-the-warning
Patch642: firefox-glibc-dynstack.patch
Patch643: firefox-crashreporter-build.patch
Patch644: Deny-clone3-to-force-glibc-fallback.patch
Patch645: 0001-fix-wl_proxy_marshal_flags.patch
Patch646: 0002-fix-from-collections-import-Iterable.patch
%if %{?system_nss}
BuildRequires: pkgconfig(nspr) >= %{nspr_version} pkgconfig(nss) >= %{nss_version}
@ -365,6 +367,8 @@ tar -xf %{SOURCE3}
%patch642 -p1
%patch643 -p1
%patch644 -p1
%patch645 -p1
%patch646 -p1
%{__rm} -f .mozconfig
%{__cp} %{SOURCE10} .mozconfig
@ -807,6 +811,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%endif
%changelog
* Fri May 6 2022 liyanan <liyanan32@h-partners.com> - 79.0-12
- Fix compilation failure by python3.10 and wayland 1.20
* Thu Oct 14 2021 zhangweiguo <zhangweiguo2@huawei.com> - 79.0-11
- Set RUSTFLAGS:debuginfo to 1