Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
index 9ae0096..2e64ce3 100644 (file)
 ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
-;;; Copyright © 2017 ng0 <ng0@infotropique.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
+;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -154,14 +157,14 @@ avoiding password prompts when X11 forwarding has already been setup.")
 (define-public libxkbcommon
   (package
     (name "libxkbcommon")
-    (version "0.7.1")
+    (version "0.8.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://xkbcommon.org/download/" name "-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "12z6hih3n1r0asp2hzp9qsiwdfkfz46jwp06x8kprr0r5rfk0nds"))))
+               "136mdq11lrwg6rjmm44lmysxxgb9c35p4sq6k0cd129x82rw9f3s"))))
     (build-system gnu-build-system)
     (inputs
      `(("libx11" ,libx11)
@@ -219,7 +222,7 @@ X11 (yet).")
 (define-public xdotool
   (package
     (name "xdotool")
-    (version "3.20150503.1")
+    (version "3.20160805.1")
     (source
       (origin
         (method url-fetch)
@@ -228,8 +231,7 @@ X11 (yet).")
               version "/xdotool-" version ".tar.gz"))
         (sha256
           (base32
-           "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8"))
-        (patches (search-patches "xdotool-fix-makefile.patch"))))
+           "1a6c1zr86zb53352yxv104l76l8x21gfl2bgw6h21iphxpv5zgim"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; Test suite requires a lot of black magic
@@ -237,11 +239,11 @@ X11 (yet).")
        (modify-phases %standard-phases
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys #:rest args)
-             (setenv "PREFIX" (assoc-ref outputs "out"))
-             (setenv "LDFLAGS"
-                     (string-append "-Wl,-rpath="
-                                    (assoc-ref %outputs "out") "/lib"))
-             (setenv "CC" "gcc"))))))
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/lib"))
+               (setenv "PREFIX" out)
+               (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
+               (setenv "CC" "gcc")))))))
     (native-inputs `(("perl" ,perl))) ; for pod2man
     (inputs `(("libx11" ,libx11)
               ("libxext" ,libxext)
@@ -262,25 +264,23 @@ between desktops, and change the number of desktops.")
 (define-public xeyes
   (package
     (name "xeyes")
-    (version "1.0.1")
+    (version "1.1.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
-               version
-               ".orig.tar.gz"))
-        (sha256
-          (base32
-            "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.x.org/releases/individual/app/"
+                           name "-" version ".tar.bz2"))
+       (sha256
+        (base32 "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxext" ,libxext)
         ("libxmu" ,libxmu)
+        ("libxrender" ,libxrender)
         ("libxt" ,libxt)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://xeyes.sourcearchive.com/")
+    (home-page "https://www.x.org/")    ; no dedicated Xeyes page exists
     (synopsis "Follow-the-mouse X demo")
     (description "Xeyes is a demo program for x.org.  It shows eyes
 following the mouse.")
@@ -316,7 +316,7 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.89")
+    (version "2.4.93")
     (source
       (origin
         (method url-fetch)
@@ -326,7 +326,7 @@ rasterisation.")
                ".tar.bz2"))
         (sha256
          (base32
-          "0bm06vqqjbb06mlz2f2h4man0xp0dz928pyycs8q1d5vma19g7v2"))
+          "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f"))
         (patches (search-patches "libdrm-symbol-check.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -495,7 +495,7 @@ of the screen selected by mouse.")
 (define-public slop
   (package
     (name "slop")
-    (version "7.3.49")
+    (version "7.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -504,7 +504,7 @@ of the screen selected by mouse.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0gxi174vi13ldjaf776s2jcdyy379lnwwml29nk1bkzj5d5gpghm"))))
+                "1kpdrikgpjb4fpxalb6pjcih5njv1w9cnrjj5612ywdv1q5mjs48"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f)) ; no "check" target
@@ -528,7 +528,7 @@ selection's dimensions to stdout.")
 (define-public maim
   (package
     (name "maim")
-    (version "5.4.68")
+    (version "5.5.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -537,7 +537,7 @@ selection's dimensions to stdout.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0f54s7csrxjd5r9anqqa92diwmzdplpws3llmbr6g3c0l6bp8815"))))
+                "14zdhsx1cndg5m8wbv1rqmza7wgknwfj5h0knzxg3p2jkjw66i95"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f))            ; no "check" target
@@ -624,9 +624,7 @@ things less distracting.")
        ("libxi" ,libxi)
        ("libxtst" ,libxtst)))
     (native-inputs
-     `(("inputproto" ,inputproto)
-       ("xextproto" ,xextproto)
-       ("xproto" ,xproto)))
+     `(("xorgproto" ,xorgproto)))
     (synopsis "Tools to automate tasks in X such as detecting on screen images")
     (description
      "Xautomation can control X from the command line for scripts, and
@@ -642,7 +640,7 @@ to find buttons, etc, on the screen to click on.")
 (define-public xlockmore
   (package
     (name "xlockmore")
-    (version "5.55")
+    (version "5.56")
     (source (origin
              (method url-fetch)
              (uri (list (string-append "http://sillycycle.com/xlock/"
@@ -653,7 +651,7 @@ to find buttons, etc, on the screen to click on.")
                                        name "-" version ".tar.xz")))
              (sha256
               (base32
-               "1y3f76rq2nd10fgi2rx81aj6pijglmm661vjsxi05hpg35dzmwfl"))))
+               "1dg1n79rnswhxqz36mxnl5lp8p37i9fbibnzzyrqknmvf2s8xpd0"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags (list (string-append "--enable-appdefaultdir="
@@ -735,17 +733,16 @@ Guile will work for XBindKeys.")
 (define-public sxhkd
   (package
     (name "sxhkd")
-    (version "0.5.6")
+    (version "0.5.9")
     (source
      (origin
-       (file-name (string-append name "-" version ".tar.gz"))
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/baskerville/sxhkd/archive/"
-             version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/baskerville/sxhkd")
+             (commit version)))
        (sha256
         (base32
-         "15grmzpxz5fqlbfg2slj7gb7r6nzkvjmflmbkqx7mlby9pm6wdkj"))))
+         "0cw547x7vky55k3ksrmzmrra4zhslqcwq9xw0y4cmbvy4s1qf64v"))))
     (build-system gnu-build-system)
     (inputs
      `(("asciidoc" ,asciidoc)
@@ -754,10 +751,14 @@ Guile will work for XBindKeys.")
        ("xcb-util-keysyms" ,xcb-util-keysyms)
        ("xcb-util-wm" ,xcb-util-wm)))
     (arguments
-     '(#:phases (modify-phases %standard-phases (delete 'configure))
+     `(#:phases (modify-phases %standard-phases (delete 'configure))
        #:tests? #f  ; no check target
-       #:make-flags (list "CC=gcc"
-                          (string-append "PREFIX=" %output))))
+       #:make-flags
+       (list "CC=gcc"
+             (string-append "PREFIX=" %output)
+             ;; Keep the documentation where the build system installs LICENSE.
+             (string-append "DOCPREFIX=" %output
+                            "/share/doc/" ,name "-" ,version))))
     (home-page "https://github.com/baskerville/sxhkd")
     (synopsis "Simple X hotkey daemon")
     (description "sxhkd is a simple X hotkey daemon with a powerful and
@@ -882,14 +883,15 @@ Escape key when Left Control is pressed and released on its own.")
 (define-public libwacom
   (package
     (name "libwacom")
-    (version "0.26")
+    (version "0.31")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
-                                  name "-" version ".tar.bz2"))
+              (uri (string-append
+                    "https://github.com/linuxwacom/libwacom/releases/download/"
+                    name "-" version "/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63"))))
+                "00xzkxhm0s9bvhbf27hscjbh17wa8lcgvxjqbmzm527f9cjqrm8q"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -902,7 +904,7 @@ Escape key when Left Control is pressed and released on its own.")
      ;; libwacom includes header files that include GLib, and libinput uses
      ;; those header files.
      `(("glib" ,glib)))
-    (home-page "http://linuxwacom.sourceforge.net/")
+    (home-page "https://linuxwacom.github.io/")
     (synopsis "Helper library for Wacom tablet settings")
     (description
      "Libwacom is a library to help implement Wacom tablet settings.  It is
@@ -914,15 +916,16 @@ Wacom tablet applet.")
 (define-public xf86-input-wacom
   (package
     (name "xf86-input-wacom")
-    (version "0.35.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://sourceforge/linuxwacom/xf86-input-wacom/"
-                    name "-" version ".tar.bz2"))
-              (sha256
-               (base32
-                "0za44snc0zirq65a4lxsmg7blp1bynj6j835hm459x8yx1qhmxjm"))))
+    (version "0.36.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/linuxwacom/xf86-input-wacom/releases/download/"
+             name "-" version "/" name "-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "029y8varbricba2dzhzhy0ndd7lbfif411ca8c3wxzni9qmbj1ij"))))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="
@@ -940,7 +943,7 @@ Wacom tablet applet.")
        ("libxinerama" ,libxinerama)
        ("libxi" ,libxi)
        ("eudev" ,eudev)))
-    (home-page "http://linuxwacom.sourceforge.net/")
+    (home-page "https://linuxwacom.github.io/")
     (synopsis "Wacom input driver for X")
     (description
      "The xf86-input-wacom driver is the wacom-specific X11 input driver for
@@ -950,7 +953,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).")
 (define-public redshift
   (package
     (name "redshift")
-    (version "1.11")
+    (version "1.12")
     (source
      (origin
        (method url-fetch)
@@ -960,7 +963,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).")
                        "/redshift-" version ".tar.xz"))
        (sha256
         (base32
-         "0ngkwj7rg8nfk806w0sg443w6wjr91xdc0zisqfm5h2i77wm1qqh"))))
+         "1fi27b73x85qqar526dbd33av7mahca2ykaqwr7siqiw1qqcby6j"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -970,7 +973,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).")
        ("libx11" ,libx11)
        ("libxcb" ,libxcb)
        ("libxxf86vm" ,libxxf86vm)
-       ("glib" ,glib)))                           ;for Geoclue2 support
+       ("glib" ,glib)))                 for Geoclue2 support
     (home-page "https://github.com/jonls/redshift")
     (synopsis "Adjust the color temperature of your screen")
     (description
@@ -984,7 +987,7 @@ color temperature should be set to match the lamps in your room.")
 (define-public xscreensaver
   (package
     (name "xscreensaver")
-    (version "5.38")
+    (version "5.40")
     (source
      (origin
        (method url-fetch)
@@ -993,7 +996,7 @@ color temperature should be set to match the lamps in your room.")
                        version ".tar.gz"))
        (sha256
         (base32
-         "1f58h5rgjbxr4hh40m6zkpkzbzg68l7nqzjwal0b17yysafbmsf6"))))
+         "1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f  ; no check target
@@ -1098,7 +1101,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
     (name "rofi")
-    (version "1.5.0")
+    (version "1.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/DaveDavenport/rofi/"
@@ -1106,7 +1109,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
                                   version "/rofi-" version ".tar.xz"))
               (sha256
                (base32
-                "0li2hl55sxzdpbxxiwgxsvkhyy6bh8qd2j1r8xh8y6q8a318zsz9"))))
+                "0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i"))))
     (build-system gnu-build-system)
     (inputs
      `(("pango" ,pango)
@@ -1135,28 +1138,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
                (("~root") "/root")
                (("~") "")
                (("g_get_home_dir \\(\\)") "\"/\""))
-             #t))
-         (add-before 'check 'add-missing-configuration-files
-           (lambda _
-             ;; These files are missing in the 1.5.0 release, causing a test
-             ;; failure: <https://github.com/DaveDavenport/rofi/issues/782>.
-             (with-directory-excursion "subprojects/libnkutils/tests"
-               (mkdir "gtk-3.0")
-               (call-with-output-file "gtk-3.0/settings.ini"
-                 (lambda (port)
-                   (format port "[Settings]
-gtk-double-click-time = 300
-gtk-cursor-theme-name = gnome
-")))
-               (mkdir "gtk-4.0")
-               (call-with-output-file "gtk-4.0/settings.ini"
-                 (lambda (port)
-                   (format port "[Settings]
-gtk-double-click-time = 300
-gtk-icon-theme-name = nothing-like-this-theme
-gtk-enable-primary-paste = true
-")))
-               #t))))))
+             #t)))))
     (home-page "https://github.com/DaveDavenport/rofi")
     (synopsis "Application launcher")
     (description "Rofi is a minimalist application launcher.  It memorizes which
@@ -1264,7 +1246,7 @@ program for X11.  It was designed to be fast, tiny and scriptable in any languag
 (define-public xcb-util-xrm
   (package
     (name "xcb-util-xrm")
-    (version "1.2")
+    (version "1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1272,7 +1254,7 @@ program for X11.  It was designed to be fast, tiny and scriptable in any languag
                     "/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
               (sha256
                (base32
-                "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp"))
+                "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h"))
               (modules '((guix build utils)))
               (snippet
                ;; Drop bundled m4.
@@ -1305,41 +1287,41 @@ XCB util-xrm module provides the following libraries:
 (define-public xcalib
   (package
     (name "xcalib")
-    (version "0.8")
+    (version "0.10")
+    (home-page "https://github.com/OpenICC/xcalib")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/xcalib/xcalib/" version
-                                  "/xcalib-source-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit version)))
               (sha256
                (base32
-                "1rh6xb51c5xz926dnn82a2fn643g0sr4a8z66rn6yi7523kjw4ca"))))
-    (build-system gnu-build-system)
+                "05fzdjmhiafgi2jf0k41i3nm0837a78sb6yv59cwc23nla8g0bhr"))
+              (patches
+               (list
+                ;; Add missing documentation for the new --output option.
+                ;; This upstream patch can be removed on the next update.
+                (origin
+                  (method url-fetch)
+                  (uri (string-append
+                        home-page "/commit/"
+                        "ae03889b91fe984b18e925ad2b5e6f2f7354e058.patch"))
+                  (file-name "xcalib-update-man-page.patch")
+                  (sha256
+                   (base32
+                    "0f7b4d5484x4b9n1bwhqmar0kcaa029ffff7bp3xpr734n1qgqb6")))))))
+    (build-system cmake-build-system)
     (arguments
-     '(#:make-flags '("CC=gcc")
-       #:tests? #f   ; No test suite
-       #:phases (modify-phases %standard-phases
-                  (delete 'configure)
-                  (replace 'install
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (let* ((out (assoc-ref outputs "out"))
-                             (bin (string-append out "/bin")))
-                        (install-file "xcalib" bin))))
-                  (add-after 'install 'install-doc
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (let ((doc (string-append(assoc-ref outputs "out")
-                                               "/share/doc/xcalib")))
-                        (install-file "README" doc)
-                        ;; Avoid unspecified return value.
-                        #t))))))
-    (inputs `(("libx11", libx11)
-              ("libxext", libxext)
-              ("libxxf86vm", libxxf86vm)))
+     '(#:tests? #f))                    ; no test suite
+    (inputs `(("libx11" ,libx11)
+              ("libxext" ,libxext)
+              ("libxrandr" ,libxrandr)
+              ("libxxf86vm" ,libxxf86vm)))
     (synopsis "Tiny monitor calibration loader for XFree86 (or X.org)")
     (description "xcalib is a tiny tool to load the content of vcgt-Tags in ICC
 profiles to the video card's gamma ramp.  It does work with most video card
 drivers except the generic VESA driver.  Alter brightness, contrast, RGB, and
 invert colors on a specific display/screen.")
-    (home-page "http://xcalib.sourceforge.net/")
     (license license:gpl2)))
 
 (define-public nxbelld
@@ -1428,3 +1410,92 @@ or playing a PCM encoded WAVE file.")
 System, and launches a program of your choice if there is no activity after
 a user-configurable period of time.")
     (license license:gpl2)))
+
+(define-public screen-message
+  (package
+    (name "screen-message")
+    (version "0.25")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://www.joachim-breitner.de/archive/screen-message"
+                    "/screen-message-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0"))))
+    (build-system gnu-build-system)
+    (inputs `(("gtk3" ,gtk+)
+              ("gdk" ,gdk-pixbuf)
+              ("pango" ,pango)))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (arguments
+     ;; The default configure puts the 'sm' binary in games/ instead of bin/ -
+     ;; this fixes it:
+     `(#:make-flags (list (string-append "execgamesdir=" %output "/bin"))))
+    (synopsis "Print messages on your screen")
+    (description "@code{screen-message} is a tool for displaying text on
+your screen.  It will make the text as large as possible and display it
+with black color on a white background (colors are configurable on the
+commandline).")
+    (home-page "https://www.joachim-breitner.de/projects#screen-message")
+    (license license:gpl2+)))
+
+(define-public xss-lock
+  ;; xss-lock does not seem to be maintained any longer, but the last commits
+  ;; fix important issues so we package them.
+  (let ((version "0.3.0")
+        (revision "1")
+        (commit "1e158fb20108058dbd62bd51d8e8c003c0a48717"))
+    (package
+      (name "xss-lock")
+      (version (git-version version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://bitbucket.org/raymonad/xss-lock.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "10hx7k7ga8g08akwz8qrsvj8iqr5nd4siiva6sjx789jvf0sak7r"))))
+      (build-system cmake-build-system)
+      (inputs `(("glib" ,glib)
+                ("xcb-util" ,xcb-util)))
+      (native-inputs
+       `(("python-docutils" ,python-docutils)
+         ("pkg-config" ,pkg-config)))
+      (arguments
+       `(#:tests? #f))
+      (synopsis "Use external screen locker on events")
+      (description "@code{xss-lock} listens to X signals to fire up a
+user-defined screensaver.  In effect this allows to automatically lock the
+screen when closing a laptop lid or after a period of user inactivity (as set
+with @code{xset s TIMEOUT}).  The notifier command, if specified, is executed
+first.  Additionally, xss-lock uses the inhibition logic to lock the screen
+before the system goes to sleep.")
+      (home-page "https://bitbucket.org/raymonad/xss-lock")
+      (license license:expat))))
+
+(define-public python-pyperclip
+  (package
+    (name "python-pyperclip")
+    (version "1.6.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pyperclip" version))
+        (sha256
+         (base32
+          "1p505c23ji06r28k1y67siihsbdzdf1brhlqpyv9ams4gk9863pp"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; Not clear how to make tests pass.
+    (inputs
+     `(("xclip" ,xclip)
+       ("xsel" ,xsel)))
+    (home-page "https://github.com/asweigart/pyperclip")
+    (synopsis "Python clipboard module")
+    (description
+     "Pyperclip is a clipboard module for Python, handling copy/pasting from
+the X11 clipboard")
+    (license license:bsd-3)))