gnu: unknown-horizons: Fix build with python@3.8 and python-pytest@5.

* gnu/packages/games.scm (unknown-horizons)[source]: Add patch.
[arguments]: Add a ‘fix-tests-with-pytest>=4’ phase.
[native-inputs]: Add python-distro.
* gnu/packages/patches/unknown-horizons-python-3.8-distro.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Tobias Geerinckx-Rice 2020-08-19 23:01:56 +02:00
parent 5c83e8ec11
commit 4c7d16c551
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79
3 changed files with 64 additions and 1 deletions

View file

@ -1616,6 +1616,7 @@ dist_patch_DATA = \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.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 \

View file

@ -3541,7 +3541,8 @@ (define-public unknown-horizons
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1n747p7h0qp48szgp262swg0xh8kxy1bw8ag1qczs4i26hyzs5x4"))))
"1n747p7h0qp48szgp262swg0xh8kxy1bw8ag1qczs4i26hyzs5x4"))
(patches (search-patches "unknown-horizons-python-3.8-distro.patch"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -3564,6 +3565,14 @@ (define-public unknown-horizons
(assoc-ref outputs "out")
"/share/unknown-horizons\")"))))
#t))
(add-before 'check 'fix-tests-with-pytest>=4
(lambda _
(substitute* "tests/conftest.py"
(("pytest_namespace")
"pytest_configure")
(("get_marker")
"get_closest_marker"))
#t))
;; TODO: Run GUI tests as well
(replace 'check
(lambda _
@ -3582,6 +3591,7 @@ (define-public unknown-horizons
("python-pyyaml" ,python-pyyaml)))
(native-inputs
`(("intltool" ,intltool)
("python-distro" ,python-distro)
;; Required for tests
("python-greenlet" ,python-greenlet)

View file

@ -0,0 +1,52 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Wed, 19 Aug 2020 22:58:32 +0200
Subject: [PATCH] gnu: unknown-horizons: Replace dist with distro.
This fixes builds with Python >= 3.8. Taken verbatim from upstream[0].
[0]: https://github.com/unknown-horizons/unknown-horizons/commit/c40fb866f3f72ac1049d6fa7859b17d8a48fe9e1
From c40fb866f3f72ac1049d6fa7859b17d8a48fe9e1 Mon Sep 17 00:00:00 2001
From: MarkusHackspacher <hackspacher@gmx.de>
Date: Thu, 18 Jul 2019 11:46:39 +0200
Subject: [PATCH] replace deprecated to distro package
---
requirements.txt | 1 +
setup.py | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index a5edf794fb..b58179bfa8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,7 @@
coverage==4.4.1
coveralls==1.1
crayons==0.1.2
+distro
future==0.16.0
greenlet==0.4.15
isort==4.3.4
diff --git a/setup.py b/setup.py
index 6d63a5ce15..6a237a8749 100755
--- a/setup.py
+++ b/setup.py
@@ -32,6 +32,8 @@
from distutils.spawn import find_executable
from shutil import copytree, rmtree
+import distro
+
import horizons
from horizons.constants import VERSION
from horizons.ext import polib
@@ -39,7 +41,7 @@
# Ensure we are in the correct directory
os.chdir(os.path.realpath(os.path.dirname(__file__)))
-if platform.dist()[0].lower() in ('debian', 'ubuntu'):
+if distro.linux_distribution(full_distribution_name=False)[0] in ('debian', 'mint', 'ubuntu'):
executable_path = 'games'
else:
executable_path = 'bin'