On Tue, Jul 06, 2021 at 10:03:09AM -0500, Richard Shaw wrote:
> On Mon, Jul 5, 2021 at 4:50 PM Miro Hrončok <mhron...@redhat.com> wrote:
> 
> > On 05. 07. 21 15:14, Richard Shaw wrote:
> > > 0ad failed:
> > >
> > > Traceback (most recent call last):
> > >    File
> > >
> > "/builddir/build/BUILD/0ad-0.0.24b-alpha/libraries/source/spidermonkey/mozjs-78.6.0/build-debug/../js/src/../../configure.py",
> >
> > > line 25, in <module>
> > >      from mozbuild.configure import (
> > >    File
> > >
> > "/builddir/build/BUILD/0ad-0.0.24b-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py",
> >
> > > line 33, in <module>
> > >      from mozbuild.util import (
> > >    File
> > >
> > "/builddir/build/BUILD/0ad-0.0.24b-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py",
> >
> > > line 760, in <module>
> > >      class HierarchicalStringList(object):
> > >    File
> > >
> > "/builddir/build/BUILD/0ad-0.0.24b-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py",
> >
> > > line 785, in HierarchicalStringList
> > >      class StringListAdaptor(collections.Sequence):
> > > AttributeError: module 'collections' has no attribute 'Sequence'
> > > ERROR: SpiderMonkey build failed
> > >
> > > https://kojipkgs.fedoraproject.org//work/tasks/4873/71344873/build.log
> > > <https://kojipkgs.fedoraproject.org//work/tasks/4873/71344873/build.log>
> > >
> > > Doesn't look fmt related.
> >
> > This is Python 3.10 related.
> >
> > https://docs.python.org/3.10/whatsnew/3.10.html#removed
> >
> > "Remove deprecated aliases to Collections Abstract Base Classes from the
> > collections module."
> >
> > E.g. use collections.abc.Sequence instead of collections.Sequence.
> > collections.Sequence was deprecated from Python 3.7.
> >
> 
> Well the fix looks simple enough but it's the bundled spidermonkey that
> needs to be patched and it's gziped inside of the 0ad archive with a
> separate patching mechanism. BLEH.

I started looking into this yesterday… The attached patch moves past
the import errors, and cuts the warning noise to a manageable level.
Maybe it'll be useful as a start for someone. The build still fails with:
AttributeError: module 'sysconfig' has no attribute '_get_default_scheme'. Did 
you mean: 'get_default_scheme'?

Zbyszek
diff --git 0ad-python310.patch 0ad-python310.patch
index ea3fa36c5f..978ac2d17c 100644
--- 0ad-python310.patch
+++ 0ad-python310.patch
@@ -1,10 +1,11 @@
 --- libraries/source/spidermonkey/build.sh~	2021-02-06 01:28:31.000000000 +0100
 +++ libraries/source/spidermonkey/build.sh	2021-07-05 19:28:48.642045840 +0200
-@@ -100,6 +100,8 @@
+@@ -100,6 +100,9 @@
    fi
    tar xjf "${FOLDER}.tar.bz2"
  
 +  sed -r -i 's/collections.Sequence/collections.abc.Sequence/' ${FOLDER}/python/mozbuild/mozbuild/util.py
++  sed -r -i 's/from collections import Iterable, OrderedDict/from collections.abc import Iterable\nfrom collections import OrderedDict/' ${FOLDER}/python/mozbuild/mozbuild/backend/configenvironment.py
 +
    # Clean up header files that may be left over by earlier versions of SpiderMonkey
    rm -rf include-unix-debug
diff --git 0ad.spec 0ad.spec
index 6cdf30d25e..319f272494 100644
--- 0ad.spec
+++ 0ad.spec
@@ -140,6 +140,8 @@ Patch2:		%{name}-valgrind.patch
 Patch3:		%{name}-ppc64.patch
 Patch5:		%{name}-rust.patch
 
+Patch6:         %{name}-python310.patch
+
 %description
 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
 real-time strategy (RTS) game of ancient warfare. In short, it is a
@@ -165,6 +167,7 @@ hobbyist game developers, since 2001.
 %if %{without system_mozjs78}
 %patch5 -p0
 %endif
+%patch6 -p0
 
 %if %{with system_nvtt}
 rm -fr libraries/source/nvtt
@@ -179,6 +182,8 @@ rm -fr libraries/source/valgrind
 %define _lto_cflags %{nil}
 
 %set_build_flags
+CXXFLAGS="$CXXFLAGS -Wno-class-memaccess -Wno-deprecated-copy -Wno-maybe-unitialized -Wno-unused-but-set-variable -Wno-implicit-fallthrough"
+
 build/workspaces/update-workspaces.sh	\
     --bindir=%{_bindir}			\
     --datadir=%{_datadir}/%{name}	\
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to