diff mbox

[v3] gnu: Add python-lirc, python2-lirc.

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

Commit Message

Danny Milosavljevic Aug. 16, 2016, 9:28 p.m. UTC
gnu: Add python-lirc, python2-lirc.

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

Comments

Leo Famulari Aug. 16, 2016, 9:41 p.m. UTC | #1
On Tue, Aug 16, 2016 at 11:28:09PM +0200, Danny Milosavljevic wrote:
> gnu: Add python-lirc, python2-lirc.
> 
> * gnu/packages/lirc.scm (python-lirc, python2-lirc): New variables.

Thanks, applied as 231313f76!
Alex Kost Aug. 17, 2016, 6:48 p.m. UTC | #2
Leo Famulari (2016-08-17 00:41 +0300) wrote:

> On Tue, Aug 16, 2016 at 11:28:09PM +0200, Danny Milosavljevic wrote:
>> gnu: Add python-lirc, python2-lirc.
>> 
>> * gnu/packages/lirc.scm (python-lirc, python2-lirc): New variables.
>
> Thanks, applied as 231313f76!

Ahem, you both are fast: I was commenting on the first patch, and
suddenly found that the third revision is already pushed :-)
Anyway, some comments:

Danny Milosavljevic (2016-08-17 00:28 +0300) wrote:

> gnu: Add python-lirc, python2-lirc.
>
> * gnu/packages/lirc.scm (python-lirc, python2-lirc): New variables.
> ---
>  gnu/packages/lirc.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
>
>
> diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm
> index e3f60e3..d055bc4 100644
> --- a/gnu/packages/lirc.scm
> +++ b/gnu/packages/lirc.scm
> @@ -19,7 +19,9 @@
>  (define-module (gnu packages lirc)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> +  #:use-module (guix git-download)
>    #:use-module (guix build-system gnu)
> +  #:use-module (guix build-system python)
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages pkg-config)
> @@ -85,3 +87,52 @@ user space applications allow you to control your computer with a remote
>  control: you can send X events to applications, start programs and much more
>  on just one button press.")
>      (license license:gpl2+)))

Indentation of 'python-lirc' is not perfect:

> +(define-public python-lirc
> + (let ((commit "4091fe918f3eed2513dad008828565cace408d2f")
    ^^
should be moved one char to the right:

> +       (revision "1"))
> +  (package
     ^^^
Likewise (you did it right in 'python2-lirc' package):

(define-public python-lirc
  (let ((commit "4091fe918f3eed2513dad008828565cace408d2f")
        (revision "1"))
    (package ...)))

> +    (name "python-lirc")
> +    (version (string-append "1.2.1-" revision "." (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"))))

This is not a tarball, but a directory (git checkout) so it is a strange
name for it.  We usually name such things like this:

  (file-name (string-append name "-" version "-checkout"))


> +    (build-system python-build-system)
> +    (inputs
> +     `(("lirc" ,lirc)))
> +    (native-inputs
> +     `(("python-cython" ,python-cython)))
> +    (arguments
> +     `(#:tests? #f ; the only tests that exist are human-interactive
> +       #:phases
> +        (modify-phases %standard-phases
          ^^

this (modify-phases ...) should be shifted one char left

> +          (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.")

I don't think the description should begin with "@code{lirc}" as it is
not LIRC itself but a python library for LIRC.

> +    (license 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
            ^^
the same as above

> +            (add-before 'build 'build-from-cython-files
> +              (lambda _
> +                (zero? (system* "make" "py2")))))))
> +      (native-inputs
> +       `(("python2-setuptools" ,python2-setuptools)
> +         ("python2-cython" ,python2-cython))))))
Leo Famulari Aug. 19, 2016, 9:46 p.m. UTC | #3
On Wed, Aug 17, 2016 at 09:48:47PM +0300, Alex Kost wrote:
> Leo Famulari (2016-08-17 00:41 +0300) wrote:
> 
> > On Tue, Aug 16, 2016 at 11:28:09PM +0200, Danny Milosavljevic wrote:
> >> gnu: Add python-lirc, python2-lirc.
> >> 
> >> * gnu/packages/lirc.scm (python-lirc, python2-lirc): New variables.
> >
> > Thanks, applied as 231313f76!
> 
> Ahem, you both are fast: I was commenting on the first patch, and
> suddenly found that the third revision is already pushed :-)
> Anyway, some comments:

I pushed fixes for the indentation and the misleading file-name.

> > +    (description "@code{lirc} is a Python module which provides LIRC bindings.")
> 
> I don't think the description should begin with "@code{lirc}" as it is
> not LIRC itself but a python library for LIRC.

Not knowing what to replace this with, I left it alone.
diff mbox

Patch

diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm
index e3f60e3..d055bc4 100644
--- a/gnu/packages/lirc.scm
+++ b/gnu/packages/lirc.scm
@@ -19,7 +19,9 @@ 
 (define-module (gnu packages lirc)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages pkg-config)
@@ -85,3 +87,52 @@  user space applications allow you to control your computer with a remote
 control: you can send X events to applications, start programs and much more
 on just one button press.")
     (license license:gpl2+)))
+
+(define-public python-lirc
+ (let ((commit "4091fe918f3eed2513dad008828565cace408d2f")
+       (revision "1"))
+  (package
+    (name "python-lirc")
+    (version (string-append "1.2.1-" revision "." (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 that exist 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 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))))))