diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2017-12-27 20:54:19 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2017-12-28 08:35:24 +0100 |
commit | 93e5c93e4c3ba60bfe277658b9656e2d9eb2d486 (patch) | |
tree | 9ef679a7272c854c89f80d94880e997f7ef0778c /gnu | |
parent | 5bf306f93ebcc9831a1e1facd5f1ce7c57514f89 (diff) | |
download | patches-93e5c93e4c3ba60bfe277658b9656e2d9eb2d486.tar patches-93e5c93e4c3ba60bfe277658b9656e2d9eb2d486.tar.gz |
gnu: Add python-hidapi.
* gnu/packages/libusb.scm (python-hidapi, python2-hidapi): New variables.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/libusb.scm | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 31c7dfa444..144311ceaa 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -352,3 +352,64 @@ HID-Class devices.") (license (list gpl3 bsd-3 (non-copyleft "file://LICENSE-orig.txt"))))) + +(define-public python-hidapi + (package + (name "python-hidapi") + (version "0.7.99.post21") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hidapi" version)) + (sha256 + (base32 + "15ws59zdrxahf3k7z5rcrwc4jgv1307anif8ixm2cyb9ask1mgp0")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled libraries. + '(begin + (delete-file-recursively "hidapi") + #t)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-configuration + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "setup.py" + (("'/usr/include/libusb-1.0'") + (string-append "'" (assoc-ref inputs "libusb") + "/include/libusb-1.0'")) + (("'/usr/include/hidapi'") + (string-append "'" (assoc-ref inputs "hidapi") + "/include/hidapi'"))) + #t)) + ;; XXX Necessary because python-build-system drops the arguments. + (replace 'build + (lambda _ + (invoke "python" "setup.py" "build" "--with-system-hidapi"))) + (replace 'check + (lambda _ + (invoke "python" "setup.py" "test" "--with-system-hidapi"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "python" "setup.py" "install" "--with-system-hidapi" + (string-append "--prefix=" (assoc-ref outputs "out")) + "--single-version-externally-managed" "--root=/")))))) + (inputs + `(("hidapi" ,hidapi) + ("libusb" ,libusb) + ("eudev" ,eudev))) + (native-inputs + `(("python-cython" ,python-cython))) + (home-page "https://github.com/trezor/cython-hidapi") + (synopsis "Cython interface to hidapi") + (description "This package provides a Cython interface to @code{hidapi}.") + ;; The library can be used under either of these licenses. + (license (list gpl3 bsd-3 + (non-copyleft + "https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt" + "You are free to use cython-hidapi code for any purpose."))))) + +(define-public python2-hidapi + (package-with-python2 python-hidapi)) |