Package unknown-horizons fails during build process

  • Done
  • quality assurance status badge
Details
4 participants
  • Liliana Marie Prikler
  • Tobias Geerinckx-Rice
  • Rodrigo Morales
  • Simon South
Owner
unassigned
Submitted by
Rodrigo Morales
Severity
normal
R
R
Rodrigo Morales wrote on 24 Sep 2023 04:35
(address . bug-guix@gnu.org)
CAGxMbPb1jYx=ZwQ7iiC+ieALXqOP4o4NYACq+wZi1vzAwbkTRw@mail.gmail.com
The last 120 lines of the build log (i.e.
=/var/log/guix/drvs/d7/hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv.gz=)
are shown in the second code block below.

The complete build log can be downloaded at http://0x0.st/HVoh.drv.gz
link)]]

#+BEGIN_EXAMPLE
$ guix package -i unknown-horizons
The following package will be installed:
unknown-horizons 2019.1

The following derivation will be built:
/gnu/store/d7hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv

building /gnu/store/d7hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv...
100% 'check'
builder for `/gnu/store/d7hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv'
failed with exit code 1
build of /gnu/store/d7hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv
failed
View build log at
'/var/log/guix/drvs/d7/hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv.gz'.
guix package: error: build of
`/gnu/store/d7hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv'
failed
$ echo $?
1
#+END_EXAMPLE

#+BEGIN_SRC sh
zcat /var/log/guix/drvs/d7/hlb25qf9wirgdl4w80snbadsm8fgkq-unknown-horizons-2019.1.drv.gz
| tail -n 120
#+END_SRC

#+RESULTS:
#+begin_example
tests/unittests/test_timer.py ............. [ 70%]
tests/unittests/gui/test_window_manager.py ..... [ 72%]
tests/unittests/misc/test_paths.py .. [ 73%]
tests/unittests/mp/test_run_server.py ss [ 73%]
tests/unittests/mp/test_server_statistics.py .. [ 74%]
tests/unittests/util/test_check_updates.py .................. [ 79%]
tests/unittests/util/test_color.py .... [ 80%]
tests/unittests/util/test_platform.py .. [ 81%]
tests/unittests/util/test_registry.py .. [ 82%]
tests/unittests/util/test_shapes.py ... [ 83%]
tests/unittests/util/test_tile_orientation.py .......... [ 86%]
tests/unittests/util/test_yamlcachestorage.py . [ 86%]
tests/unittests/world/test_component.py . [ 86%]
tests/unittests/world/test_ingametype_classes.py ... [ 87%]
tests/unittests/world/test_storage.py .............. [ 91%]
tests/unittests/world/test_world.py . [ 92%]
tests/unittests/world/buildability/test_connectedareacache.py . [ 92%]
tests/unittests/world/buildability/test_partialbinarycache.py ..... [ 93%]
tests/unittests/world/component/test_healthcomponent.py ..... [ 95%]
tests/unittests/world/component/test_namedcomponent.py ...... [ 97%]
tests/unittests/world/component/test_tradepostcomponent.py .. [ 97%]
tests/unittests/world/production/test_productionline.py ... [ 98%]
tests/unittests/world/units/collectors/test_collector.py .... [100%]

=================================== FAILURES ===================================
____________________________ test_savegame_upgrade _____________________________

args = ()

def wrapped(*args):
if not manual_session and not use_fixture:
s, p = new_session(mapgen=mapgen, human_player=human_player,
ai_players=ai_players)
elif use_fixture:
path = os.path.join(TEST_FIXTURES_DIR, use_fixture + '.sqlite')
if not os.path.exists(path):
raise Exception('Savegame {} not found'.format(path))
s = load_session(path)

timelimit = Timer(handler)
timelimit.start(timeout)

try:
if use_fixture:
return func(s, *args)
elif not manual_session:
return func(s, p, *args)
else:
Toggle quote (2 lines)
> return func(*args)

tests/game/__init__.py:243:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/game/test_load_save.py:215: in test_savegame_upgrade
session.run(seconds=30)
tests/game/__init__.py:140: in run
Scheduler().tick(Scheduler().cur_tick + 1)
horizons/scheduler.py:95: in tick
callback.callback()
horizons/util/python/callback.py:48: in __call__
return self.callback(*self.args, **self.kwargs)
horizons/ai/pirate.py:99: in tick
self.combat_manager.tick()
horizons/ai/aiplayer/combat/combatmanager.py:343: in tick
self.lookout()
horizons/ai/aiplayer/combat/combatmanager.py:334: in lookout
self.handle_casual_combat()
horizons/ai/aiplayer/combat/combatmanager.py:423: in handle_casual_combat
rules = (filters.not_in_fleet, filters.pirate,
filters.ship_state(self.ships, self.shipStates.idle))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <horizons.ai.aiplayer.combat.unitmanager.UnitManager object at
0x7ffff0e81840>
state_dict = <DefaultWeakKeyDictionary at 0x7ffff0e82a70>
ship_states = EnumValue(<horizons.ext.enum.Enum object at
0x7ffff5b24e50>, 0, 'idle')

def _ship_state_rule(self, state_dict, ship_states):
"""
Rule stating that ship has to be in any of given states.
"""
Toggle quote (1 lines)
> if not isinstance(ship_states, collections.Iterable):
E AttributeError: module 'collections' has no attribute 'Iterable'

horizons/ai/aiplayer/combat/unitmanager.py:154: AttributeError
------------------------------ Captured log call -------------------------------
WARNING util.savegameupgrader:savegameupgrader.py:75 Discovered old
savegame file, auto-upgrading: 76 -> 77
=============================== warnings summary ===============================
horizons/extscheduler.py:72
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/horizons/extscheduler.py:72:
SyntaxWarning: "is" with a literal. Did you mean "=="?
if obj.loops > 0 or obj.loops is -1:

tests/gui/__init__.py:148
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/tests/gui/__init__.py:148:
PytestUnknownMarkWarning: Unknown pytest.mark.gui_test - is this a
typo? You can register custom marks to avoid this warning - for
gui_test = pytest.mark.gui_test

tests/game/long/test_ai_long.py:30
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/tests/game/long/test_ai_long.py:30:
PytestUnknownMarkWarning: Unknown pytest.mark.long - is this a typo?
You can register custom marks to avoid this warning - for details, see
@pytest.mark.long

tests/game/long/test_ai_quick.py:30
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/tests/game/long/test_ai_quick.py:30:
PytestUnknownMarkWarning: Unknown pytest.mark.long - is this a typo?
You can register custom marks to avoid this warning - for details, see
@pytest.mark.long

tests/game/long/test_ai_very_long.py:30
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/tests/game/long/test_ai_very_long.py:30:
PytestUnknownMarkWarning: Unknown pytest.mark.long - is this a typo?
You can register custom marks to avoid this warning - for details, see
@pytest.mark.long

tests/game/long/test_load_save_long.py:33
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/tests/game/long/test_load_save_long.py:33:
PytestUnknownMarkWarning: Unknown pytest.mark.long - is this a typo?
You can register custom marks to avoid this warning - for details, see
@pytest.mark.long

horizons/util/tile_orientation.py:26
/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/horizons/util/tile_orientation.py:26:
DeprecationWarning: invalid escape sequence '\ '
"""

=========================== short test summary info ============================
FAILED tests/game/test_load_save.py::test_savegame_upgrade - AttributeError: ...
====== 1 failed, 237 passed, 91 skipped, 2 xfailed, 7 warnings in 26.45s =======
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "pytest" arguments: ("tests")
exit-status: 1 term-signal: #f stop-signal: #f>
phase `check' failed after 26.7 seconds
command "pytest" "tests" failed with status 1
#+end_example
T
T
Tobias Geerinckx-Rice wrote on 27 Sep 2023 00:04
Re: Package unknown-horizons fails during build process
(address . 66173@debbugs.gnu.org)
332451dee3799c81ed63db63756bc0be@tobias.gr
Hi Rodrigo, all,

[For future reference.]

Toggle quote (2 lines)
Third-party hosting sites tend to delete pastes after some time. I know
0x0 does.

While I certainly hope that your issue can be resolved before then, I
recommend attaching logs, photos, and other documentation to the bug
report. This list has a more generous attachment limit for that reason.

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
T
T
Tobias Geerinckx-Rice wrote on 27 Sep 2023 00:42
(no subject)
(address . control@debbugs.gnu.org)
581cf7dee02542d841f4ec765b7924c6@tobias.gr
retitle 66173 Package unknown-horizons fails during build process
S
S
Simon South wrote on 4 Jan 21:33 +0100
[PATCH 2/2] gnu: unknown-horizons: Fix build and runtime errors.
(address . 66173@debbugs.gnu.org)
90340dad1ea7d9f8e3cd4213684b503702cd20ad.1704399085.git.simon@simonsouth.net
Apply two upstream commits that allow building with Python 3.9 or newer and
running with Python 3.10.

* gnu/packages/patches/unknown-horizons-python-3.9.patch,
* gnu/packages/patches/unknown-horizons-python-3.10.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/games.scm (unknown-horizons)[source]: Apply them.

Change-Id: Icbc8b698b913be01465b09ab26afb29e5fd62a87
---
gnu/local.mk | 2 +
gnu/packages/games.scm | 4 +-
.../unknown-horizons-python-3.10.patch | 32 +++++++++++++++
.../patches/unknown-horizons-python-3.9.patch | 41 +++++++++++++++++++
4 files changed, 78 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/unknown-horizons-python-3.10.patch
create mode 100644 gnu/packages/patches/unknown-horizons-python-3.9.patch

Toggle diff (115 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index f66db809a9..bbde67cee2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2082,6 +2082,8 @@ dist_patch_DATA = \
%D%/packages/patches/ungoogled-chromium-system-ffmpeg.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
+ %D%/packages/patches/unknown-horizons-python-3.9.patch \
+ %D%/packages/patches/unknown-horizons-python-3.10.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
%D%/packages/patches/unzip-CVE-2014-8141.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 333dbfcec5..880aebe0bb 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4396,7 +4396,9 @@ (define-public unknown-horizons
(sha256
(base32
"1n747p7h0qp48szgp262swg0xh8kxy1bw8ag1qczs4i26hyzs5x4"))
- (patches (search-patches "unknown-horizons-python-3.8-distro.patch"))))
+ (patches (search-patches "unknown-horizons-python-3.8-distro.patch"
+ "unknown-horizons-python-3.9.patch"
+ "unknown-horizons-python-3.10.patch"))))
(build-system python-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/patches/unknown-horizons-python-3.10.patch b/gnu/packages/patches/unknown-horizons-python-3.10.patch
new file mode 100644
index 0000000000..599de1fec5
--- /dev/null
+++ b/gnu/packages/patches/unknown-horizons-python-3.10.patch
@@ -0,0 +1,32 @@
+From 4ff605d6c55fcf3e9b4777ffbcb0c24ef17ba4ca Mon Sep 17 00:00:00 2001
+From: Arti <artism90@googlemail.com>
+Date: Mon, 28 Feb 2022 21:19:50 +0100
+Subject: [PATCH] Rename instances of `collections.Iterable` into
+ `collections.abc.Iterable` (#2956)
+
+---
+ horizons/ai/aiplayer/combat/unitmanager.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/horizons/ai/aiplayer/combat/unitmanager.py b/horizons/ai/aiplayer/combat/unitmanager.py
+index 8449d5563c5..57db0d47061 100644
+--- a/horizons/ai/aiplayer/combat/unitmanager.py
++++ b/horizons/ai/aiplayer/combat/unitmanager.py
+@@ -151,7 +151,7 @@ def _ship_state_rule(self, state_dict, ship_states):
+ """
+ Rule stating that ship has to be in any of given states.
+ """
+- if not isinstance(ship_states, collections.Iterable):
++ if not isinstance(ship_states, collections.abc.Iterable):
+ ship_states = (ship_states,)
+ return lambda ship: (state_dict[ship] in ship_states)
+
+@@ -178,7 +178,7 @@ def filter_ships(self, ships, rules):
+ @param rules: conditions each ship has to meet (AND)
+ @type rules: iterable of lambda(ship) or single lambda(ship)
+ """
+- if not isinstance(rules, collections.Iterable):
++ if not isinstance(rules, collections.abc.Iterable):
+ rules = (rules,)
+ return [ship for ship in ships if all((rule(ship) for rule in rules))]
+
diff --git a/gnu/packages/patches/unknown-horizons-python-3.9.patch b/gnu/packages/patches/unknown-horizons-python-3.9.patch
new file mode 100644
index 0000000000..8b93a71b6c
--- /dev/null
+++ b/gnu/packages/patches/unknown-horizons-python-3.9.patch
@@ -0,0 +1,41 @@
+From 7f6f613826aef9810999c1599c8354e8a78fbdb4 Mon Sep 17 00:00:00 2001
+From: Lukas1818 <44570204+Lukas1818@users.noreply.github.com>
+Date: Fri, 19 Feb 2021 21:08:44 +0100
+Subject: [PATCH] fixs for Phyton 3.9 (#2955)
+
+* change deprecated isAlive() to is_alive()
+
+* remove unsupported keyword "encoding"
+
+Co-authored-by: Lukas1818 <git@lukas1818.de>
+---
+ horizons/util/loaders/jsondecoder.py | 2 +-
+ horizons/util/preloader.py | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/horizons/util/loaders/jsondecoder.py b/horizons/util/loaders/jsondecoder.py
+index ea2ddfb3308..138a948f42a 100644
+--- a/horizons/util/loaders/jsondecoder.py
++++ b/horizons/util/loaders/jsondecoder.py
+@@ -37,4 +37,4 @@ def _decode_dict(dct):
+ return newdict
+
+ with open(path, "r") as f:
+- return json.load(f, encoding="ascii", object_hook=_decode_dict)
++ return json.load(f, object_hook=_decode_dict)
+diff --git a/horizons/util/preloader.py b/horizons/util/preloader.py
+index 5689cc68152..2e072fcc642 100644
+--- a/horizons/util/preloader.py
++++ b/horizons/util/preloader.py
+@@ -79,9 +79,9 @@ def wait_for_finish(self):
+ """
+ self.lock.acquire()
+ # wait until it finished its current action
+- if self.isAlive():
++ if self.is_alive():
+ self.join()
+- assert not self.isAlive()
++ assert not self.is_alive()
+ else:
+ try:
+ self.lock.release()
--
2.41.0
S
S
Simon South wrote on 4 Jan 21:33 +0100
[PATCH 0/2] unknown-horizons: Fix build, runtime errors
(address . 66173@debbugs.gnu.org)
cover.1704399085.git.simon@simonsouth.net
This patch series fixes unknown-horizons, a real-time strategy game,
by applying upstream commits that allow the game and its engine to
build and run using recent versions of Python.

This also resolves issue #54815, "Unknown Horizons 2019.1 fails to
start"[0].

I've tested this on AArch64 and x86-64 and everything seems fine: The
game starts as expected using

./pre-inst-env guix shell unknown-horizons -- unknown-horizons

--
Simon South
simon@simonsouth.net



Simon South (2):
gnu: fifengine: Fix runtime error when using Python 3.9 or newer.
gnu: unknown-horizons: Fix build and runtime errors.

gnu/local.mk | 3 +
gnu/packages/games.scm | 7 +-
.../patches/fifengine-python-3.9-compat.patch | 81 +++++++++++++++++++
.../unknown-horizons-python-3.10.patch | 32 ++++++++
.../patches/unknown-horizons-python-3.9.patch | 41 ++++++++++
5 files changed, 162 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/fifengine-python-3.9-compat.patch
create mode 100644 gnu/packages/patches/unknown-horizons-python-3.10.patch
create mode 100644 gnu/packages/patches/unknown-horizons-python-3.9.patch


base-commit: 3c1f25fc7b3cd1942c33a48e71697f94c4c86bc2
--
2.41.0
S
S
Simon South wrote on 4 Jan 21:33 +0100
[PATCH 1/2] gnu: fifengine: Fix runtime error when using Python 3.9 or newer.
(address . 66173@debbugs.gnu.org)
6a115cc55b808c3776c80f809542e53937dbc8a6.1704399085.git.simon@simonsouth.net
* 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
---
gnu/local.mk | 1 +
gnu/packages/games.scm | 3 +-
.../patches/fifengine-python-3.9-compat.patch | 81 +++++++++++++++++++
3 files changed, 84 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/fifengine-python-3.9-compat.patch

Toggle diff (115 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index f804f4ef5b..f66db809a9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1166,6 +1166,7 @@ dist_patch_DATA = \
%D%/packages/patches/fenics-dolfin-boost.patch \
%D%/packages/patches/fenics-dolfin-config-slepc.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/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c7813790a1..333dbfcec5 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4060,7 +4060,8 @@ (define-public fifengine
"fifengine/tar.gz/" version))
(file-name (string-append name "-" version ".tar.gz"))
(patches (search-patches "fifengine-swig-compat.patch"
- "fifengine-boost-compat.patch"))
+ "fifengine-boost-compat.patch"
+ "fifengine-python-3.9-compat.patch"))
(sha256
(base32
"1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8"))))
diff --git a/gnu/packages/patches/fifengine-python-3.9-compat.patch b/gnu/packages/patches/fifengine-python-3.9-compat.patch
new file mode 100644
index 0000000000..2def4681cd
--- /dev/null
+++ b/gnu/packages/patches/fifengine-python-3.9-compat.patch
@@ -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
+
--
2.41.0
S
S
Simon South wrote on 4 Jan 21:38 +0100
control message for bug #66173
(address . control@debbugs.gnu.org)
877ckohm0z.fsf@simonsouth.net
tags 66173 + patch
quit
S
S
Simon South wrote on 13 Jan 16:50 +0100
Re: bug#66173: Package unknown-horizons fails during build process
(address . 66173@debbugs.gnu.org)
87bk9pz0yv.fsf@simonsouth.net
Liliana, ???:

Are you interested in reviewing these patches? Unfortunately I
neglected to CC the games team when posting them.

They fix the build of Unknown Horizons in master.


--
Simon South
simon@simonsouth.net


-------------------- Start of forwarded message --------------------
Subject: bug#66173: [PATCH 0/2] unknown-horizons: Fix build, runtime errors
To: 66173@debbugs.gnu.org
From: Simon South <simon@simonsouth.net>
Date: Thu, 4 Jan 2024 15:33:54 -0500

This patch series fixes unknown-horizons, a real-time strategy game,
by applying upstream commits that allow the game and its engine to
build and run using recent versions of Python.

This also resolves issue #54815, "Unknown Horizons 2019.1 fails to
start"[0].

I've tested this on AArch64 and x86-64 and everything seems fine: The
game starts as expected using

./pre-inst-env guix shell unknown-horizons -- unknown-horizons

--
Simon South
simon@simonsouth.net



Simon South (2):
gnu: fifengine: Fix runtime error when using Python 3.9 or newer.
gnu: unknown-horizons: Fix build and runtime errors.

gnu/local.mk | 3 +
gnu/packages/games.scm | 7 +-
.../patches/fifengine-python-3.9-compat.patch | 81 +++++++++++++++++++
.../unknown-horizons-python-3.10.patch | 32 ++++++++
.../patches/unknown-horizons-python-3.9.patch | 41 ++++++++++
5 files changed, 162 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/fifengine-python-3.9-compat.patch
create mode 100644 gnu/packages/patches/unknown-horizons-python-3.10.patch
create mode 100644 gnu/packages/patches/unknown-horizons-python-3.9.patch


base-commit: 3c1f25fc7b3cd1942c33a48e71697f94c4c86bc2
--
2.41.0





-------------------- End of forwarded message --------------------
L
L
Liliana Marie Prikler wrote on 14 Jan 13:08 +0100
(address . 66173-done@debbugs.gnu.org)
eea8e34448d34b8e4c45f5b1a5db8e6934a5d58e.camel@gmail.com
Am Samstag, dem 13.01.2024 um 10:50 -0500 schrieb Simon South:
Toggle quote (10 lines)
> Liliana, ???:
>
> Are you interested in reviewing these patches?  Unfortunately I
> neglected to CC the games team when posting them.
>
> They fix the build of Unknown Horizons in master.
>
> https://issues.guix.gnu.org/66173
>
> --
I came, saw, and pushed.

Sorry for not coming earlier.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 66173@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66173
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch