diff mbox

[v2] gnu: python: Add python-lirc.

Message ID 20160816202115.22554-1-dannym@scratchpost.org
State New
Headers show

Commit Message

Danny Milosavljevic Aug. 16, 2016, 8:21 p.m. UTC
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(+)

Comments

Leo Famulari Aug. 16, 2016, 8:56 p.m. UTC | #1
On Tue, Aug 16, 2016 at 10:21:15PM +0200, Danny Milosavljevic wrote:
> gnu: python: Add python-lirc.
> 
> * gnu/packages/python.scm (python-lirc, python2-lirc): New variables.

Can you put it in the lirc module?

> +(define-public python-lirc
> + (let ((commit "4091fe918f3eed2513dad008828565cace408d2f"))
> +  (package
> +    (name "python-lirc")
> +    (version (string-append "1.2.1-" (string-take commit 7)))

Please add a package revision counter as shown in the manual section
7.6.3 Version Numbers.

https://www.gnu.org/software/guix/manual/html_node/Version-Numbers.html#Version-Numbers

LGTM with these changes.

By the way, I looked at the Git log and so I know that you have been
working on this software upstream. That's cool :) But, in general, when
sending patches, please give an explanation of why we should build from
a Git commit instead of the latest release tag. Because we are always
going to ask and it slows down the review process.
diff mbox

Patch

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))))))