https://bugs.gentoo.org/898678 1. https://github.com/trezor/cython-hidapi/commit/749da6931f57c4c30596de678125648ccfd6e1cd 2. https://github.com/trezor/cython-hidapi/pull/159 From 749da6931f57c4c30596de678125648ccfd6e1cd Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 20 Jul 2023 13:09:19 +0200 Subject: [PATCH] Require Cython<3 instead of Cython --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7e3eb29c..4c311ba4 100755 --- a/setup.py +++ b/setup.py @@ -136,6 +136,6 @@ def find_version(): "Programming Language :: Python :: 3.9", ], ext_modules=modules, - setup_requires=["Cython"], + setup_requires=["Cython<3"], install_requires=["setuptools>=19.0"], ) From 7dad82b125fdca5df83c00fc711151c35aaa5125 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:27:52 -0700 Subject: [PATCH 1/4] use pyxdep file to locate chid.pxd --- hid.pyxdep | 1 + setup.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 hid.pyxdep diff --git a/hid.pyxdep b/hid.pyxdep new file mode 100644 index 00000000..7480bc82 --- /dev/null +++ b/hid.pyxdep @@ -0,0 +1 @@ +chid.pxd diff --git a/setup.py b/setup.py index 4c311ba4..73066b06 100755 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ hidapi_include = os.path.join(hidapi_topdir, "hidapi") system_hidapi = 0 libs = [] -src = ["hid.pyx", "chid.pxd"] +src = ["hid.pyx"] def hidapi_src(platform): @@ -42,7 +42,7 @@ def hidapi_src(platform): ) ) libs = ["udev", "rt"] - src = ["hidraw.pyx", "chid.pxd"] + src = ["hidraw.pyx"] if system_hidapi == 1: libs.append("hidapi-hidraw") else: From 4c78f61c7815d1005023d69c42ae777cfee021c1 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:28:33 -0700 Subject: [PATCH 2/4] specify language_level for cython --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 73066b06..6a3e0af0 100755 --- a/setup.py +++ b/setup.py @@ -1,5 +1,6 @@ #!/usr/bin/python from setuptools import setup, Extension +from Cython.Build import cythonize import os import sys import subprocess @@ -135,7 +136,7 @@ def find_version(): "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", ], - ext_modules=modules, + ext_modules=cythonize(modules, language_level=3), setup_requires=["Cython<3"], install_requires=["setuptools>=19.0"], ) From d73b4cc6706d4220d28df866504e989ab616616a Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:31:37 -0700 Subject: [PATCH 3/4] use pyproject.toml allow using recent cython the expectation is that one would use the `build` tool instead of invoking setup.py. --- pyproject.toml | 3 +++ setup.py | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 pyproject.toml delete mode 100644 requirements.txt diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..c07b1d35 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "Cython"] +build-backend = "setuptools.build_meta" diff --git a/setup.py b/setup.py index 6a3e0af0..9dcdb0ee 100755 --- a/setup.py +++ b/setup.py @@ -137,6 +137,5 @@ def find_version(): "Programming Language :: Python :: 3.9", ], ext_modules=cythonize(modules, language_level=3), - setup_requires=["Cython<3"], install_requires=["setuptools>=19.0"], )