gnu: emacs-svg-icon: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / xdisorg.scm
index 981373b..418fe73 100644 (file)
@@ -18,7 +18,7 @@
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 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>
@@ -29,7 +29,7 @@
 ;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
 ;;; Copyright © 2019, 2020 Josh Holland <josh@inv.alid.pw>
 ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2020 David Wilson <david@daviwil.com>
 ;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
@@ -42,7 +42,9 @@
 ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
 ;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
-;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages xdisorg)
-  #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix git-download)
-  #:use-module (guix hg-download)
-  #:use-module (guix utils)
   #:use-module (guix build-system cmake)
-  #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system scons)
-  #:use-module (gnu packages)
-  #:use-module (gnu packages documentation)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix hg-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages admin)
-  #:use-module (gnu packages base)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
-  #:use-module (gnu packages image)
-  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages guile)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
-  #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages gl)
-  #:use-module (gnu packages guile)
-  #:use-module (gnu packages xml)
-  #:use-module (gnu packages gtk)
   #:use-module (gnu packages qt)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages fontutils)
-  #:use-module (gnu packages bison)
   #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages tcl)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages)
   #:use-module (ice-9 match))
 
 ;; packages outside the x.org system proper
@@ -326,6 +329,34 @@ application.")
   (home-page "https://hluk.github.io/CopyQ/")
   (license license:gpl3+)))
 
+(define-public xkeysnail
+  (package
+    (name "xkeysnail")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "xkeysnail" version))
+       (sha256
+        (base32
+         "1xyqp6yqxcwmxaqj86qcsiz0ly7bwr0a2w835myz909irhip3ngf"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;tests need /dev/uinput
+    (inputs
+     `(("python-appdirs" ,python-appdirs)
+       ("python-evdev" ,python-evdev)
+       ("python-inotify-simple" ,python-inotify-simple)
+       ("python-xlib" ,python-xlib)
+       ("python-six" ,python-six)))
+    (home-page "https://github.com/mooz/xkeysnail")
+    (synopsis "Keyboard remapping tool for the X11 environment")
+    (description
+     "Xkeysnail is an X environment keyboard remapping tool, featuring
+high-level and flexible remapping mechanisms.  It affects the low-level
+layers (evdev and uinput), making remapping work in almost all the places.")
+    (license license:gpl3+)))           ; see README.md (no licence headers)
+
 (define-public xclip
   (package
     (name "xclip")
@@ -669,7 +700,7 @@ move windows, switch between desktops, etc.).")
 (define-public scrot
   (package
     (name "scrot")
-    (version "1.4")
+    (version "1.5")
     (source
      (origin
        (method git-fetch)
@@ -679,8 +710,7 @@ move windows, switch between desktops, etc.).")
          (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds"))))
+        (base32 "0x64b7xqi5cbq29pb8s8r2kzbxaday1f5k0j70n3s2p7sahjxy72"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -689,8 +719,8 @@ move windows, switch between desktops, etc.).")
     (inputs
      `(("giblib" ,giblib)
        ("libx11" ,libx11)
-       ("libXcursor" ,libxcursor)
        ("libxcomposite" ,libxcomposite)
+       ("libxext" ,libxext)
        ("libXfixes" ,libxfixes)))
     (home-page "https://github.com/resurrecting-open-source-projects/scrot")
     (synopsis "Command-line screen capture utility for X Window System")
@@ -939,6 +969,32 @@ X Window System.")
 transparent text on your screen.")
     (license license:gpl2+)))
 
+(define-public wob
+  (package
+    (name "wob")
+    (version "0.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/francma/wob/releases/download/"
+                           version "/wob-" version ".tar.gz"))
+       (sha256
+        (base32 "1vgngcg8wxn6zfg34czn9w55ia0zmhlgnpzf0gh31dc72li9353k"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("scdoc" ,scdoc)))
+    (inputs
+     `(("libseccomp" ,libseccomp)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://github.com/francma/wob")
+    (synopsis "Lightweight overlay bar for Wayland")
+    (description
+     "Wob, or Wayland Overlay Bar, is a lightweight overlay volume,
+backlight, progress, or anything bar for Wayland.")
+    (license license:isc)))
+
 (define-public xbindkeys
   (package
     (name "xbindkeys")
@@ -954,11 +1010,30 @@ transparent text on your screen.")
                (base32
                 "1wl2vc5alisiwyk8m07y1ryq8w3ll9ym83j27g4apm4ixjl8d6x2"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'sanitise-shebang
+           ;; This wish script uses a strange double shebang that escapes our
+           ;; patch-shebangs phase.  Assume that it's unnecessary & replace it.
+           (lambda _
+             (substitute* "xbindkeys_show"
+               (("^#!.*|^exec wish.*") "")
+               (("^# \\\\") (string-append "#!" (which "wish"))))
+             #t))
+         (add-after 'unpack 'patch-references
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "xbindkeys_show"
+                 (("\"(xbindkeys)\"" _ command)
+                  (format #f "\"~a/bin/~a\"" out command)))
+               #t))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("libx11" ,libx11)
-       ("guile" ,guile-2.2)))
+     `(("guile" ,guile-2.2)
+       ("libx11" ,libx11)
+       ("tk" ,tk)))
     (home-page "https://www.nongnu.org/xbindkeys/")
     (synopsis "Associate a combination of keys with a shell command")
     (description
@@ -1126,7 +1201,7 @@ Escape key when Left Control is pressed and released on its own.")
 (define-public libwacom
   (package
     (name "libwacom")
-    (version "1.6")
+    (version "1.7")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1134,12 +1209,14 @@ Escape key when Left Control is pressed and released on its own.")
                     "libwacom-" version "/libwacom-" version ".tar.bz2"))
               (sha256
                (base32
-                "1a5ffxyhl6crspybcfsx5ribgrgkzwfl5w9y32slxbgjwczb473h"))))
+                "0797gc055dgg2jfqijy9823bd83jwr4wb2z9id992qlcr0xmz1rw"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags '("--disable-static")))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ;; For tests.
+       ("python" ,python)))
     (inputs
      `(("gtk+" ,gtk+)
        ("libgudev" ,libgudev)
@@ -1340,10 +1417,63 @@ This is a fork with added support for Wayland using the wlr-gamma-control
 protocol.")
       (license license:gpl3+))))
 
+(define-public gammastep
+  (package
+    (name "gammastep")
+    (version "2.0.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/chinstrap/gammastep")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "11j54rdd3cgngdhjwyapwjbrdm8cii4i7g4zdvfykvmb1w4zdk7g"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-python-and-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Gammastep GUI needs Typelib files from GTK and access
+             ;; to Python libraries.
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/gammastep-indicator")
+               `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+               `("GI_TYPELIB_PATH" ":" prefix
+                 (,(getenv "GI_TYPELIB_PATH")))))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk" ,gtk+)
+       ("libappindicator" ,libappindicator)
+       ("libdrm" ,libdrm)
+       ("libX11" ,libx11)
+       ("libxxf86vm" ,libxxf86vm)
+       ("libxcb" ,libxcb)
+       ("python" ,python)
+       ("python-pygobject" ,python-pygobject)
+       ("python-pyxdg" ,python-pyxdg)
+       ("wayland" ,wayland)))
+    (home-page "https://gitlab.com/chinstrap/gammastep")
+    (synopsis "Adjust the color temperature of your screen")
+    (description
+     "Gammastep automatically adjusts the color temperature of your
+screen according to your surroundings.  This may help your eyes hurt
+less if you are working in front of the screen at night.")
+    (license license:gpl3)))
+
 (define-public xscreensaver
   (package
     (name "xscreensaver")
-    (version "5.44")
+    (version "5.45")
     (source
      (origin
        (method url-fetch)
@@ -1351,7 +1481,7 @@ protocol.")
         (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
                        version ".tar.gz"))
        (sha256
-        (base32 "15bv05vpfjwsrqbazrjmm382jd7vvw0mp6y9vasn6wvxzjf0in3k"))))
+        (base32 "03fmyjlwjinzv7mih6n07glmys8s877snd8zijk2c0ds6rkxy5kh"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no check target
@@ -1847,7 +1977,7 @@ a user-configurable period of time.")
 (define-public screen-message
   (package
     (name "screen-message")
-    (version "0.25")
+    (version "0.26")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1855,7 +1985,7 @@ a user-configurable period of time.")
                     "/screen-message-" version ".tar.gz"))
               (sha256
                (base32
-                "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0"))))
+                "0dwgm4z3dfk6xz41w8xiv0hmnwr74gf3ykb91b090hc4ffwsf4mw"))))
     (build-system gnu-build-system)
     (inputs `(("gtk3" ,gtk+)
               ("gdk" ,gdk-pixbuf)
@@ -2119,7 +2249,7 @@ Wayland.")
 (define-public autocutsel
   (package
     (name "autocutsel")
-    (version "0.10.0")
+    (version "0.10.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/sigmike/autocutsel"
@@ -2127,7 +2257,7 @@ Wayland.")
                                   "autocutsel-" version ".tar.gz"))
               (sha256
                (base32
-                "0gsys2dzh4az51ndcsabhlbbrjn2nm75lnjr45kg6r8sm8q66dx2"))))
+                "05zb85imp42birvrc320q20r98qddc5vxx169dnl753l5za0czpi"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f)) ; no "check" target
@@ -2144,7 +2274,7 @@ The cutbuffer and clipboard selection are always synchronized.")
 (define-public jgmenu
   (package
     (name "jgmenu")
-    (version "4.1.0")
+    (version "4.3.0")
     (source
      (origin
        (method git-fetch)
@@ -2153,8 +2283,7 @@ The cutbuffer and clipboard selection are always synchronized.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk"))))
+        (base32 "13y4ra2hjfqbn2vxyyn4ar5iqklbabyfwksbryc2gzxspw1vz4zq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("cppcheck" ,cppcheck)
@@ -2169,17 +2298,12 @@ The cutbuffer and clipboard selection are always synchronized.")
        ("libxrandr" ,libxrandr)
        ("pango" ,pango)))
     (arguments
-     `(#:phases
+     `(#:test-target "test"
+       #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           (lambda _
-             (substitute* "scripts/cppcheck-wrapper.sh"
-               (("--library=/usr/share/cppcheck/cfg/gnu\\.cfg")
-                ""))
-             #t))
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys)
-             (setenv "CC" "gcc")
+             (setenv "CC" ,(cc-for-target))
              (invoke "./configure"
                      (string-append "--prefix=" (assoc-ref outputs "out")))
              #t)))))
@@ -2193,7 +2317,7 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.")
 (define-public xwallpaper
   (package
     (name "xwallpaper")
-    (version "0.6.5")
+    (version "0.6.6")
     (source
      (origin
        (method git-fetch)
@@ -2202,7 +2326,7 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "121ai4dc0v65qk12gn9w62ixly8hc8a5qrygkbb82vy8ck4jqxj7"))))
+        (base32 "10klm81rs3k3l2i7whpvcsg95x51ja11l86fmwbrvg3kq705p2sr"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -2263,7 +2387,7 @@ Xwrits hides itself until you should take another break.")
 (define-public xsettingsd
   (package
     (name "xsettingsd")
-    (version "1.0.0")
+    (version "1.0.2")
     (source
      (origin
        (method git-fetch)
@@ -2272,8 +2396,7 @@ Xwrits hides itself until you should take another break.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v"))))
+        (base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8"))))
     (build-system scons-build-system)
     (inputs
      `(("libx11" ,libx11)))
@@ -2532,7 +2655,7 @@ using @command{dmenu}.")
 (define-public wofi
   (package
     (name "wofi")
-    (version "1.2.3")
+    (version "1.2.4")
     (source (origin
               (method hg-fetch)
               (uri (hg-reference
@@ -2541,7 +2664,7 @@ using @command{dmenu}.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0glpb2gf5n78s01z3rn614ak8ibxhfr824gy6xlljbxclgds264i"))))
+                "1bnf078fg1kwslzwm1mjxwcqqq3bhk1dzymwfw9gk3brqbxrl75c"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t))
@@ -2578,7 +2701,7 @@ such as sway, similar to @command{rofi}.")
          (delete 'configure))
        #:tests? #f))
     (inputs
-     `(("python"python)))
+     `(("python" ,python)))
     (native-inputs
      `(("python-sphinx" ,python-sphinx)))
     (home-page "https://github.com/jceb/dex")