gnu: fifengine: Fix runtime error when using Python 3.9 or newer.
* gnu/packages/patches/fifengine-python-3.9-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/games.scm (fifengine)[source]: Apply it. Change-Id: I61001d6b87db00c71f1e2e6ca3bac8581e941451 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
parent
18393fcddd
commit
e7823dbe8c
@ -1175,6 +1175,7 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch \
|
%D%/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch \
|
||||||
%D%/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch \
|
%D%/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch \
|
||||||
%D%/packages/patches/fifengine-boost-compat.patch \
|
%D%/packages/patches/fifengine-boost-compat.patch \
|
||||||
|
%D%/packages/patches/fifengine-python-3.9-compat.patch \
|
||||||
%D%/packages/patches/fifengine-swig-compat.patch \
|
%D%/packages/patches/fifengine-swig-compat.patch \
|
||||||
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
|
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
|
||||||
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
|
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
|
||||||
|
@ -4118,7 +4118,8 @@ Widgets, and allows users to create more.")
|
|||||||
"fifengine/tar.gz/" version))
|
"fifengine/tar.gz/" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(patches (search-patches "fifengine-swig-compat.patch"
|
(patches (search-patches "fifengine-swig-compat.patch"
|
||||||
"fifengine-boost-compat.patch"))
|
"fifengine-boost-compat.patch"
|
||||||
|
"fifengine-python-3.9-compat.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8"))))
|
"1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8"))))
|
||||||
|
81
gnu/packages/patches/fifengine-python-3.9-compat.patch
Normal file
81
gnu/packages/patches/fifengine-python-3.9-compat.patch
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
Fix runtime error when using Python 3.9 or newer.
|
||||||
|
|
||||||
|
Taken from upstream:
|
||||||
|
https://github.com/fifengine/fifengine/commit/cf295fd98a8fba080f6305c27be56d10ab7ce94d
|
||||||
|
|
||||||
|
diff --git a/engine/python/fife/extensions/serializers/simplexml.py b/engine/python/fife/extensions/serializers/simplexml.py
|
||||||
|
index c4e10f4f8..d05567936 100644
|
||||||
|
--- a/engine/python/fife/extensions/serializers/simplexml.py
|
||||||
|
+++ b/engine/python/fife/extensions/serializers/simplexml.py
|
||||||
|
@@ -200,7 +200,7 @@ def get(self, module, name, defaultValue=None):
|
||||||
|
#get the module tree: for example find tree under module FIFE
|
||||||
|
moduleTree = self._getModuleTree(module)
|
||||||
|
element = None
|
||||||
|
- for e in moduleTree.getchildren():
|
||||||
|
+ for e in moduleTree:
|
||||||
|
if e.tag == "Setting" and e.get("name", "") == name:
|
||||||
|
element = e
|
||||||
|
break
|
||||||
|
@@ -275,7 +275,7 @@ def set(self, module, name, value, extra_attrs={}):
|
||||||
|
e_type = "str"
|
||||||
|
value = str(value)
|
||||||
|
|
||||||
|
- for e in moduleTree.getchildren():
|
||||||
|
+ for e in moduleTree:
|
||||||
|
if e.tag != "Setting": continue
|
||||||
|
if e.get("name", "") == name:
|
||||||
|
e.text = value
|
||||||
|
@@ -305,7 +305,7 @@ def remove(self, module, name):
|
||||||
|
|
||||||
|
moduleTree = self._getModuleTree(module)
|
||||||
|
|
||||||
|
- for e in moduleTree.getchildren():
|
||||||
|
+ for e in moduleTree:
|
||||||
|
if e.tag != "Setting": continue
|
||||||
|
if e.get("name", "") == name:
|
||||||
|
moduleTree.remove(e)
|
||||||
|
@@ -321,7 +321,7 @@ def getModuleNameList(self):
|
||||||
|
self._initialized = True
|
||||||
|
|
||||||
|
moduleNames = []
|
||||||
|
- for c in self._root_element.getchildren():
|
||||||
|
+ for c in self._root_element:
|
||||||
|
if c.tag == "Module":
|
||||||
|
name = c.get("name","")
|
||||||
|
if not isinstance(name, basestring):
|
||||||
|
@@ -344,7 +344,7 @@ def getAllSettings(self, module):
|
||||||
|
|
||||||
|
# now from the tree read every value, and put the necessary values
|
||||||
|
# to the list
|
||||||
|
- for e in moduleTree.getchildren():
|
||||||
|
+ for e in moduleTree:
|
||||||
|
if e.tag == "Setting":
|
||||||
|
name = e.get("name", "")
|
||||||
|
|
||||||
|
@@ -383,7 +383,7 @@ def _validateTree(self):
|
||||||
|
|
||||||
|
Raises an InvalidFormat exception if there is a format error.
|
||||||
|
"""
|
||||||
|
- for c in self._root_element.getchildren():
|
||||||
|
+ for c in self._root_element:
|
||||||
|
if c.tag != "Module":
|
||||||
|
raise InvalidFormat("Invalid tag in " + self._file + \
|
||||||
|
". Expected Module, got: " + c.tag)
|
||||||
|
@@ -391,7 +391,7 @@ def _validateTree(self):
|
||||||
|
raise InvalidFormat("Invalid tag in " + self._file + \
|
||||||
|
". Module name is empty.")
|
||||||
|
else:
|
||||||
|
- for e in c.getchildren():
|
||||||
|
+ for e in c:
|
||||||
|
if e.tag != "Setting":
|
||||||
|
raise InvalidFormat("Invalid tag in " + self._file + \
|
||||||
|
" in module: " + c.tag + \
|
||||||
|
@@ -414,7 +414,7 @@ def _getModuleTree(self, module):
|
||||||
|
raise AttributeError("Settings:_getModuleTree: Invalid type for "
|
||||||
|
"module argument.")
|
||||||
|
|
||||||
|
- for c in self._root_element.getchildren():
|
||||||
|
+ for c in self._root_element:
|
||||||
|
if c.tag == "Module" and c.get("name", "") == module:
|
||||||
|
return c
|
||||||
|
|
Loading…
Reference in New Issue
Block a user