gnu: deutex: Update to 5.2.1.
[jackhill/guix/guix.git] / gnu / packages / lirc.scm
index d4c2d18..5e77f1d 100644 (file)
@@ -1,5 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (gnu packages linux)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz))
 
 (define-public lirc
   (package
     (name "lirc")
 
 (define-public lirc
   (package
     (name "lirc")
-    (version "0.9.4")
+    (version "0.10.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/lirc/LIRC/" version
                                   "/lirc-" version ".tar.bz2"))
               (sha256
                (base32
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/lirc/LIRC/" version
                                   "/lirc-" version ".tar.bz2"))
               (sha256
                (base32
-                "1l2xzhnm4hrla51ik09hcafki0y8wnww7svfm7j63zbl2rssc66x"))
-              (patches (search-patches "lirc-localstatedir.patch"))))
+                "1whlyifvvc7w04ahq07nnk1h18wc8j7c6wnvlb6mszravxh3qxcb"))
+              (patches (search-patches "lirc-localstatedir.patch"
+                                       "lirc-reproducible-build.patch"))))
     (build-system gnu-build-system)
     (arguments
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--localstatedir=/var")
+     '(#:configure-flags
+       '("--localstatedir=/var"
+         ;; "configure" script fails to enable "devinput" driver as it
+         ;; checks for "/dev/input" directory (which is not available),
+         ;; so enable it explicitly.
+         "--enable-devinput")
        #:phases
        (modify-phases %standard-phases
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-kernel-sniffing
+           (lambda _
+             ;; Correct the faulty assumption that systemd support should be
+             ;; hard-wired when a build host's /proc/version contains "Ubuntu".
+             (substitute* "configure"
+               (("kernelversion=.*") "kernelversion=irrelevant\n"))
+             #t))
          (add-after 'unpack 'patch-lirc-make-devinput
            (lambda* (#:key inputs #:allow-other-keys)
              ;; 'lirc-make-devinput' script assumes that linux headers
          (add-after 'unpack 'patch-lirc-make-devinput
            (lambda* (#:key inputs #:allow-other-keys)
              ;; 'lirc-make-devinput' script assumes that linux headers
     (synopsis "Linux Infrared Remote Control")
     (description
      "LIRC allows computers to send and receive IR signals of many commonly
     (synopsis "Linux Infrared Remote Control")
     (description
      "LIRC allows computers to send and receive IR signals of many commonly
-used remote controls.  The most important part of LIRC is the 'lircd' daemon
-that decodes IR signals received by the device drivers.  The second daemon
-program 'lircmd' allows to translate IR signals to mouse movements.  The
-user space applications allow you to control your computer with a remote
+used remote controls.  The most important part of LIRC is the @code{lircd}
+daemon that decodes IR signals received by the device drivers.  The second
+daemon program @code{lircmd} allows to translate IR signals to mouse movements.
+The 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
 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"))
+  (let ((commit "c28708bbeb6e02d85f13dd7e0b24e8e86abc215b")
+        (revision "2"))
     (package
       (name "python-lirc")
     (package
       (name "python-lirc")
-      (version (string-append "1.2.1-" revision "." (string-take commit 7)))
+      (version (git-version "1.2.1" revision commit))
       (source
       (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))))
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/tompreston/python-lirc.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "13s9zqyfh871ls1aha47rhmk13b4mcyfckcn2sw70bvc26832gk6"))))
       (build-system python-build-system)
       (inputs
        `(("lirc" ,lirc)))
       (native-inputs
        `(("python-cython" ,python-cython)))
       (arguments
       (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
+       `(#:tests? #f         ; the only tests that exist are interactive
          #:phases
          (modify-phases %standard-phases
            (add-before 'build 'build-from-cython-files
          #:phases
          (modify-phases %standard-phases
            (add-before 'build 'build-from-cython-files
-             (lambda _
-               (zero? (system* "make" "py3")))))))
+             (lambda _ (invoke "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.")
       (home-page "https://github.com/tompreston/python-lirc")
       (synopsis "Python bindings for LIRC")
       (description "@code{lirc} is a Python module which provides LIRC bindings.")
@@ -131,7 +146,6 @@ on just one button press.")
            #:phases
            (modify-phases %standard-phases
              (add-before 'build 'build-from-cython-files
            #:phases
            (modify-phases %standard-phases
              (add-before 'build 'build-from-cython-files
-               (lambda _
-                 (zero? (system* "make" "py2")))))))
+               (lambda _ (invoke "make" "py2"))))))
         (native-inputs
          `(("python2-cython" ,python2-cython))))))
         (native-inputs
          `(("python2-cython" ,python2-cython))))))