commit:     af2e6e7b3048cdc16aa03d015cda02595cd820f0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 10 07:05:17 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 10 07:05:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af2e6e7b

dev-python/hidapi: add 0.14.0

Closes: https://bugs.gentoo.org/898678
Closes: https://bugs.gentoo.org/908498
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/hidapi/Manifest                         |   1 +
 .../hidapi/files/hidapi-0.14.0-cython3.patch       | 134 +++++++++++++++++++++
 dev-python/hidapi/hidapi-0.14.0.ebuild             |  34 ++++++
 3 files changed, 169 insertions(+)

diff --git a/dev-python/hidapi/Manifest b/dev-python/hidapi/Manifest
index 6eb2b30285c8..a8ac2690b7c7 100644
--- a/dev-python/hidapi/Manifest
+++ b/dev-python/hidapi/Manifest
@@ -1 +1,2 @@
 DIST hidapi-0.13.1.tar.gz 130169 BLAKE2B 
127e622e4b85880f1c20ccb819b806c66357d8cfa6c15d370c13a6a0a3838ac6acf0673c7edbf5309a91f55051b6177800328b8f897ff43cd1e0af1b511c52a6
 SHA512 
8e6a7a6bf47e24f6f637cc036dc306518d893fc9fdf94639f626725e8f8767d7e85496d8db5f9f394d648ef5af4dd5ead0f0a6d452a019b5d9fa0716371febed
+DIST hidapi-0.14.0.tar.gz 143052 BLAKE2B 
ebf3fb9608b1f18d9fa24aaa4bca7b2e5cbbbbcbdb6a33da41456f614d0cace556231bb8eb17c21e2a79a5292970cb37f7a46fb6cd1e82efb0a646cf8a942d2a
 SHA512 
228fac22621e36a3108cefd418937a7ed0153e334e19999e947aad341a753d614877cd3f7add90d78037ebe9c7b3f6cbc42973a8e680188da14928311d317b17

diff --git a/dev-python/hidapi/files/hidapi-0.14.0-cython3.patch 
b/dev-python/hidapi/files/hidapi-0.14.0-cython3.patch
new file mode 100644
index 000000000000..681f9a427934
--- /dev/null
+++ b/dev-python/hidapi/files/hidapi-0.14.0-cython3.patch
@@ -0,0 +1,134 @@
+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 <pa...@rusnak.io>
+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 <godisgovernm...@gmail.com>
+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 <godisgovernm...@gmail.com>
+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 <godisgovernm...@gmail.com>
+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"],
+ )
+
+

diff --git a/dev-python/hidapi/hidapi-0.14.0.ebuild 
b/dev-python/hidapi/hidapi-0.14.0.ebuild
new file mode 100644
index 000000000000..890f3675ed06
--- /dev/null
+++ b/dev-python/hidapi/hidapi-0.14.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Cython interface to HIDAPI library"
+HOMEPAGE="https://github.com/trezor/cython-hidapi";
+
+LICENSE="|| ( BSD GPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=dev-libs/hidapi-$(ver_cut 1-3)"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.14.0-cython3.patch
+)
+
+distutils_enable_tests pytest
+
+python_configure_all() {
+       DISTUTILS_ARGS=( --with-system-hidapi )
+}
+
+python_test() {
+       epytest tests.py
+}

Reply via email to