From d5dd9d9ad2284a8a5b15b0245c16223554da74bd Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Fri, 9 Oct 2020 12:08:19 +0300 Subject: xcb-proto: fix python build --- xorg/xcb-proto/build | 2 + xorg/xcb-proto/checksums | 1 + xorg/xcb-proto/patches/python-3.9.patch | 95 +++++++++++++++++++++++++++++++++ xorg/xcb-proto/sources | 1 + xorg/xcb-proto/version | 2 +- 5 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 xorg/xcb-proto/patches/python-3.9.patch (limited to 'xorg') diff --git a/xorg/xcb-proto/build b/xorg/xcb-proto/build index 6daf22f8..4eb8bff5 100755 --- a/xorg/xcb-proto/build +++ b/xorg/xcb-proto/build @@ -1,5 +1,7 @@ #!/bin/sh -e +patch -p1 < python-3.9.patch + ./configure \ --prefix=/usr diff --git a/xorg/xcb-proto/checksums b/xorg/xcb-proto/checksums index 2d07349b..d3954b89 100644 --- a/xorg/xcb-proto/checksums +++ b/xorg/xcb-proto/checksums @@ -1 +1,2 @@ 186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605 xcb-proto-1.14.tar.xz +7d56cff42bf9d5430394e30b87cf5fa6d570a9f8864af1cfc1568f2afc70269a python-3.9.patch diff --git a/xorg/xcb-proto/patches/python-3.9.patch b/xorg/xcb-proto/patches/python-3.9.patch new file mode 100644 index 00000000..ce7cd498 --- /dev/null +++ b/xorg/xcb-proto/patches/python-3.9.patch @@ -0,0 +1,95 @@ +From 426ae35bee1fa0fdb8b5120b1dcd20cee6e34512 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Mon, 1 Jun 2020 12:24:16 +0200 +Subject: [PATCH 1/2] xcbgen: Use math.gcd() for Python >= 3.5. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +fractions.gcd() has been deprecated since Python 3.5, and +was finally dropped in Python 3.9. It is recommended to +use math.gcd() instead. + +Signed-off-by: Björn Esser +--- + xcbgen/align.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/xcbgen/align.py b/xcbgen/align.py +index d4c12ee..5c4f517 100644 +--- a/xcbgen/align.py ++++ b/xcbgen/align.py +@@ -2,7 +2,12 @@ + This module contains helper classes for alignment arithmetic and checks + ''' + +-from fractions import gcd ++from sys import version_info ++ ++if version_info[:2] >= (3, 5): ++ from math import gcd ++else: ++ from fractions import gcd + + class Alignment(object): + +-- +GitLab + + +From 7d58eed95f796fc764741d7549ee2214bbbcc64c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Mon, 1 Jun 2020 12:29:01 +0200 +Subject: [PATCH 2/2] xcbgen: xml.etree.cElementTree has been dropped in Python + 3.9. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It can be replaced with xml.etree.ElementTree safely. + +Signed-off-by: Björn Esser +--- + xcbgen/matcher.py | 7 ++++++- + xcbgen/state.py | 7 ++++++- + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/xcbgen/matcher.py b/xcbgen/matcher.py +index 97a8b43..a13ef28 100644 +--- a/xcbgen/matcher.py ++++ b/xcbgen/matcher.py +@@ -7,7 +7,12 @@ we do not create a new type object, we just record the existing one under a new + ''' + + from os.path import join +-from xml.etree.cElementTree import parse ++from sys import version_info ++ ++if version_info[:2] >= (3, 9): ++ from xml.etree.ElementTree import parse ++else: ++ from xml.etree.cElementTree import parse + + from xcbgen.xtypes import * + +diff --git a/xcbgen/state.py b/xcbgen/state.py +index 0dbecdc..3b7eeb4 100644 +--- a/xcbgen/state.py ++++ b/xcbgen/state.py +@@ -2,7 +2,12 @@ + This module contains the namespace class and the singleton module class. + ''' + from os.path import dirname, basename +-from xml.etree.cElementTree import parse ++from sys import version_info ++ ++if version_info[:2] >= (3, 9): ++ from xml.etree.ElementTree import parse ++else: ++ from xml.etree.cElementTree import parse + + from xcbgen import matcher + from xcbgen.error import * +-- +GitLab + diff --git a/xorg/xcb-proto/sources b/xorg/xcb-proto/sources index 69030b4c..158b0a5b 100644 --- a/xorg/xcb-proto/sources +++ b/xorg/xcb-proto/sources @@ -1 +1,2 @@ https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.14.tar.xz +patches/python-3.9.patch diff --git a/xorg/xcb-proto/version b/xorg/xcb-proto/version index cfaaf4da..3e158c07 100644 --- a/xorg/xcb-proto/version +++ b/xorg/xcb-proto/version @@ -1 +1 @@ -1.14 1 +1.14 2 -- cgit v1.2.3