aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-16 17:20:22 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-16 19:20:21 +0100
commitfdd0c36963a62577f7a8f99a44f79a7330a0b151 (patch)
treef6a686e8102cd3986ebcc79610539b15b4cee9f4 /gnu/packages/patches
parent7699e3228960457707f103e8e9e0db60de3891c5 (diff)
downloadguix-fdd0c36963a62577f7a8f99a44f79a7330a0b151.tar
guix-fdd0c36963a62577f7a8f99a44f79a7330a0b151.tar.gz
gnu: python-packaging: Fix test failures on non-x86_64 architectures.
* gnu/packages/patches/python-packaging-test-arch.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-xyz.scm (python-packaging)[source](patches): New field.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/python-packaging-test-arch.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/patches/python-packaging-test-arch.patch b/gnu/packages/patches/python-packaging-test-arch.patch
new file mode 100644
index 0000000000..df80a62544
--- /dev/null
+++ b/gnu/packages/patches/python-packaging-test-arch.patch
@@ -0,0 +1,65 @@
+Fix tests that are "hard coded" to expect x86_64 output by mocking the platform interface.
+
+Submitted upstream:
+https://github.com/pypa/packaging/pull/176
+
+diff --git a/tests/test_tags.py b/tests/test_tags.py
+index 1eacf68..0a3f1b4 100644
+--- a/tests/test_tags.py
++++ b/tests/test_tags.py
+@@ -435,37 +435,43 @@ class TestManylinuxPlatform:
+ linux_platform = list(tags._linux_platforms(is_32bit=False))
+ assert linux_platform == ["linux_x86_64"]
+
+- def test_linux_platforms_manylinux1(self, monkeypatch):
++ def test_linux_platforms_manylinux1(self, is_x86, monkeypatch):
+ monkeypatch.setattr(
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux1"
+ )
+- if platform.system() != "Linux":
++ if platform.system() != "Linux" or not is_x86:
+ monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++ monkeypatch.setattr(platform, "machine", lambda: "x86_64")
+ platforms = list(tags._linux_platforms(is_32bit=False))
+- assert platforms == ["manylinux1_x86_64", "linux_x86_64"]
++ arch = platform.machine()
++ assert platforms == ["manylinux1_" + arch, "linux_" + arch]
+
+- def test_linux_platforms_manylinux2010(self, monkeypatch):
++ def test_linux_platforms_manylinux2010(self, is_x86, monkeypatch):
+ monkeypatch.setattr(
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux2010"
+ )
+- if platform.system() != "Linux":
++ if platform.system() != "Linux" or not is_x86:
+ monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++ monkeypatch.setattr(platform, "machine", lambda: "x86_64")
+ platforms = list(tags._linux_platforms(is_32bit=False))
+- expected = ["manylinux2010_x86_64", "manylinux1_x86_64", "linux_x86_64"]
++ arch = platform.machine()
++ expected = ["manylinux2010_" + arch, "manylinux1_" + arch, "linux_" + arch]
+ assert platforms == expected
+
+- def test_linux_platforms_manylinux2014(self, monkeypatch):
++ def test_linux_platforms_manylinux2014(self, is_x86, monkeypatch):
+ monkeypatch.setattr(
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux2014"
+ )
+- if platform.system() != "Linux":
++ if platform.system() != "Linux" or not is_x86:
+ monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++ monkeypatch.setattr(platform, "machine", lambda: "x86_64")
+ platforms = list(tags._linux_platforms(is_32bit=False))
++ arch = platform.machine()
+ expected = [
+- "manylinux2014_x86_64",
+- "manylinux2010_x86_64",
+- "manylinux1_x86_64",
+- "linux_x86_64",
++ "manylinux2014_" + arch,
++ "manylinux2010_" + arch,
++ "manylinux1_" + arch,
++ "linux_" + arch,
+ ]
+ assert platforms == expected
+