gnu: python: Add python-lirc.

* gnu/packages/python.scm (python-lirc, python2-lirc): New variables.
---
 gnu/packages/python.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index abb90d8..ccd2023 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -88,6 +88,7 @@
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages lirc)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -9915,3 +9916,51 @@ and/or Xon/Xoff.  The port is accessed in RAW mode.")
       (native-inputs
        `(("python2-setuptools" ,python2-setuptools)
          ,@(package-native-inputs base))))))
+
+(define-public python-lirc
+ (let ((commit "4091fe918f3eed2513dad008828565cace408d2f"))
+  (package
+    (name "python-lirc")
+    (version (string-append "1.2.1-" (string-take commit 7)))
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/tompreston/python-lirc.git";)
+               (commit commit)))
+        (sha256
+          (base32
+            "0cm47s5pvijfs3v2k7hmpxv3mvp4n5la0ihnsczk5ym3iq166jil"))
+        (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system python-build-system)
+    (inputs
+     `(("lirc" ,lirc)))
+    (native-inputs
+     `(("python-cython" ,python-cython)))
+    (arguments
+     `(#:tests? #f ; the only tests there are are human-interactive
+       #:phases
+        (modify-phases %standard-phases
+          (add-before 'build 'build-from-cython-files
+            (lambda _
+              (zero? (system* "make" "py3")))))))
+    (home-page "https://github.com/tompreston/python-lirc";)
+    (synopsis "Python bindings for LIRC.")
+    (description "@code{lirc} is a Python module which provides LIRC bindings.")
+    (license gpl3)
+    (properties `((python2-variant . ,(delay python2-lirc)))))))
+
+(define-public python2-lirc
+  (let ((base (package-with-python2 (strip-python2-variant python-lirc))))
+    (package
+      (inherit base)
+      (arguments
+       `(#:tests? #f ; the only tests there are are human-interactive
+         #:phases
+          (modify-phases %standard-phases
+            (add-before 'build 'build-from-cython-files
+              (lambda _
+                (zero? (system* "make" "py2")))))))
+      (native-inputs
+       `(("python2-setuptools" ,python2-setuptools)
+         ("python2-cython" ,python2-cython))))))

Reply via email to