gnu: emacs-calibredb: Update to 2.6.0.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
index 174b7e1..3652316 100644 (file)
@@ -25,7 +25,7 @@
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
-;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2017, 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
@@ -379,7 +379,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
 (define-public emacs-with-editor
   (package
     (name "emacs-with-editor")
-    (version "2.9.2")
+    (version "2.9.4")
     (source
      (origin
        (method git-fetch)
@@ -388,7 +388,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1m8bm8q5zakfjdkd0662gbkvzmcrlkxy1856xns2nfiflrkpw88b"))))
+        (base32 "1z3214zjf3dassb31k14gq4nbr3q8g5x87ydfah28hm4j08v0wb3"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)))
@@ -736,7 +736,7 @@ deliver data to mobile and web apps.")
 (define-public emacs-ghub
   (package
     (name "emacs-ghub")
-    (version "3.3.0")
+    (version "3.4.1")
     (source
      (origin
        (method git-fetch)
@@ -745,7 +745,7 @@ deliver data to mobile and web apps.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1229g0d9f4ywwjndx32x4z5jdr0kzyi44hjxmy0sifwfmg9nn251"))))
+        (base32 "07iy4203ppvzkh67sb0v968hnypnvy4dpfy0qpqrp8zmc455dxq5"))))
     (build-system emacs-build-system)
     (arguments
      `(#:phases
@@ -959,8 +959,13 @@ replacement.")
            ;; native input.
            (lambda _
              (with-directory-excursion "tests"
+               ;; File `haskell-indent-tests.el' fails with
+               ;; `haskell-indent-put-region-in-literate-2'
+               ;; on Emacs 27.1+
+               ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
                (for-each delete-file
-                         '("haskell-customize-tests.el"
+                         '("haskell-indent-tests.el"
+                           "haskell-customize-tests.el"
                            "inferior-haskell-tests.el")))
              #t))
          (replace 'install
@@ -2589,8 +2594,8 @@ type, for example: packages, buffers, files, etc.")
     (license license:gpl3+)))
 
 (define-public emacs-guix
-  (let ((commit "df1fc5d8885959fd2bb83a443137d21c6850dd74")
-        (revision "1"))
+  (let ((commit "58a840d0671091e3064e36244790ef8839da87d6")
+        (revision "2"))
     (package
       (name "emacs-guix")
       (version (git-version "0.5.2" revision commit))
@@ -2602,7 +2607,7 @@ type, for example: packages, buffers, files, etc.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "14rn02ay1b8zl0pg54pkqpyzh948c4qiqlvl35627shx7zw5acqh"))))
+                  "1qnr5sixmvrhr9rinrhfy7sy20mikjvvwbdixwkbx30qpcdwgwj1"))))
       (build-system gnu-build-system)
       (native-inputs
        `(("autoconf" ,autoconf)
@@ -2828,14 +2833,14 @@ in the center.")
 (define-public emacs-undo-tree
   (package
     (name "emacs-undo-tree")
-    (version "0.7.4")
+    (version "0.7.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "undo-tree-" version ".el"))
        (sha256
-        (base32 "018ixl802f076sfyf4gkacpgrdpybin88jd8vq9zgyvc6x2dalfa"))))
+        (base32 "00admi87gqm0akhfqm4dcp9fw8ihpygy030955jswkha4zs7lw2p"))))
     (build-system emacs-build-system)
     (home-page "http://www.dr-qubit.org/emacs.php")
     (synopsis "Treat undo history as a tree")
@@ -3311,6 +3316,39 @@ keep pressing the key until it selects what you want.  There's also
 @code{er/contract-region} if you expand too far.")
     (license license:gpl3+)))
 
+(define-public emacs-explain-pause-mode
+  (let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
+        (revision "0"))
+    (package
+      (name "emacs-explain-pause-mode")
+      (version (git-version "0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/lastquestion/explain-pause-mode")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
+      (build-system emacs-build-system)
+      (native-inputs
+       `(("emacs" ,emacs-buttercup)))
+      (arguments
+       '(#:tests? #t
+         ;; Don't run case-tests as they will fail to create sockets because
+         ;; the path is too long
+         #:test-command '("make" "byte-compile" "unit-tests")
+         ;; Parallel testing will cause the tests to run before
+         ;; byte-compilation is finished
+         #:parallel-tests? #f))
+      (home-page "https://github.com/lastquestion/explain-pause-mode")
+      (synopsis "Provides a top like interface to determine why Emacs paused")
+      (description "Monitors Emacs function calls and records their execution
+time.  This information can be reviewed to determine what is causing the user
+interface to pause.")
+      (license license:gpl3+))))
+
 (define-public emacs-fill-column-indicator
   (package
     (name "emacs-fill-column-indicator")
@@ -3792,10 +3830,10 @@ blocks with @code{org-babel} in @code{org-mode}.")
       (license license:gpl3+))))
 
 (define-public emacs-ob-restclient
-  (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
+  (let ((commit "f7449b2068498fe9d8ab9589e0a638148861533f"))
     (package
       (name "emacs-ob-restclient")
-      (version (git-version "0.02" "1" commit))
+      (version (git-version "0.02" "2" commit))
       (source
        (origin
          (method git-fetch)
@@ -3804,7 +3842,7 @@ blocks with @code{org-babel} in @code{org-mode}.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
+          (base32 "0s3931w9ab3yfml2pmq71rw21yf6hpg7m3vihxyy3vs6zli1cvmq"))))
       (propagated-inputs
        `(("emacs-restclient" ,emacs-restclient)))
       (build-system emacs-build-system)
@@ -4484,14 +4522,14 @@ source code using IPython.")
 (define-public emacs-debbugs
   (package
     (name "emacs-debbugs")
-    (version "0.25")
+    (version "0.26")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
                            version ".tar"))
        (sha256
-        (base32 "0h0pxav170yzfpjf4vb8simiw67x9dkcjx9m4ghdk6wia25y8jni"))))
+        (base32 "14n2rrs3ccvlp8fhxs08awlqdfawxwbj8nq1xpa0wwlbfvxnf24c"))))
     (build-system emacs-build-system)
     (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
     (propagated-inputs
@@ -5344,7 +5382,7 @@ in @code{html-mode}.")
 (define-public emacs-slime
   (package
     (name "emacs-slime")
-    (version "2.25")
+    (version "2.26")
     (source
      (origin
        (method git-fetch)
@@ -5353,7 +5391,7 @@ in @code{html-mode}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rz54943cbs9lvpc8hnyw5ka60f3bi8x4xykk8pq0lpmv1zbij1x"))))
+        (base32 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
     (build-system emacs-build-system)
     (native-inputs
      `(("texinfo" ,texinfo)))
@@ -5723,7 +5761,7 @@ cards created in Org mode.")
 (define-public emacs-org-superstar
   (package
     (name "emacs-org-superstar")
-    (version "1.2.1")
+    (version "1.4.0")
     (source
      (origin
        (method git-fetch)
@@ -5732,7 +5770,7 @@ cards created in Org mode.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "14w06v76xi4f6hpq6xzicrjjv0b802g5zc9as4mpimfy5gx2xpm0"))))
+        (base32 "1aklp6nk05ghpq7ybsbvn28wrygfwqvq58k1hjll97nbhd7h0gyb"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-org" ,emacs-org)))
@@ -6427,7 +6465,7 @@ regexp that matches all known keywords.")
 (define-public emacs-perspective
   (package
     (name "emacs-perspective")
-    (version "2.9")
+    (version "2.10")
     (source
      (origin
        (method git-fetch)
@@ -6437,8 +6475,13 @@ regexp that matches all known keywords.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1hmbczw3b7k2xdqcy5p3xnf2781gjw6bqqcwc5r9myg6b8p3pr7m"))))
+         "1xfcm69nd6f9chwlqfz5vd8nnyl5mwharxjrn1m515568dqrk62x"))))
     (build-system emacs-build-system)
+    (arguments
+     `(#:tests? #t
+       #:test-command '("emacs" "-Q" "-batch" "-L" "."
+                        "-l" "test/test-perspective.el"
+                        "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/nex3/perspective-el")
     (synopsis "Switch between named \"perspectives\"")
     (description
@@ -7127,7 +7170,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
 (define-public emacs-clojure-mode
   (package
     (name "emacs-clojure-mode")
-    (version "5.11.0")
+    (version "5.12.0")
     (source
      (origin
        (method git-fetch)
@@ -7136,15 +7179,26 @@ allowing unprefixed keys to insert their respective characters as expected.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1x1yszp6waa778ki6sw66w1pzcz389wd01gkcldfxxnd7z89ad5d"))))
+        (base32 "14ipfy9ji39pnb9x7bzjp8lyqyxk168fx017m823j7a2g9i0sgp3"))))
     (build-system emacs-build-system)
     (native-inputs
      `(("emacs-buttercup" ,emacs-buttercup)
        ("emacs-dash" ,emacs-dash)
+       ("emacs-paredit" ,emacs-paredit)
        ("emacs-s" ,emacs-s)))
     (arguments
      `(#:tests? #t
-       #:test-command '("buttercup")))
+       #:test-command '("buttercup")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'fix-tests
+           ;; See: https://github.com/clojure-emacs/clojure-mode/issues/568
+           (lambda _
+             (substitute* "clojure-mode.el"
+               (("\\(list \\(cdr project\\)\\)" line)
+                (string-append "\"Return the list of directory roots of the PROJECT.\"\n"
+                               line)))
+             #t)))))
     (home-page "https://github.com/clojure-emacs/clojure-mode")
     (synopsis "Major mode for Clojure code")
     (description
@@ -7328,7 +7382,7 @@ ongoing operations.")
 (define-public emacs-sparql-mode
   (package
     (name "emacs-sparql-mode")
-    (version "2.0.1")
+    (version "4.0.2")
     (source
      (origin
        (method git-fetch)
@@ -7337,14 +7391,16 @@ ongoing operations.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
+        (base32 "0hqp8r24wvzrkl630wbm0lynrcrnawv2yn2a3xgwqwwhwgva35rn"))))
     (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-company" ,emacs-company)))
     (home-page "https://github.com/ljos/sparql-mode")
     (synopsis "SPARQL mode for Emacs")
-    (description "This package provides a major mode for Emacs that provides
-syntax highlighting for SPARQL.  It also provides a way to execute queries
-against a SPARQL HTTP endpoint, such as is provided by Fuseki.  It is also
-possible to query other endpoints like DBPedia.")
+    (description
+     "This package is a major mode for Emacs that provides syntax highlighting
+for SPARQL.  It can also execute queries against a SPARQL HTTP endpoint, such
+as Fuseki or DBPedia.")
     (license license:gpl3+)))
 
 (define-public emacs-better-defaults
@@ -7469,31 +7525,33 @@ to all the other commands, too.")
     (license license:gpl3+)))
 
 (define-public emacs-js2-mode
-  (package
-    (name "emacs-js2-mode")
-    (version "20190219")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/mooz/js2-mode")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
-    (build-system emacs-build-system)
-    (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")))
-    (home-page "https://github.com/mooz/js2-mode/")
-    (synopsis "Improved JavaScript editing mode for Emacs")
-    (description
-     "Js2-mode provides a JavaScript major mode for Emacs that is more
+  (let ((commit "40aab27581279d0fdbfeb9afeb85f39d401a927f")
+        (revision "1"))
+    (package
+      (name "emacs-js2-mode")
+      (version (git-version "20190219" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mooz/js2-mode")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0ysd0ji3vvk2zpjcg1wl7b2hva8471vq0ypib4h6spnpjdr43vzk"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:tests? #t
+         #:test-command '("make" "test")))
+      (home-page "https://github.com/mooz/js2-mode/")
+      (synopsis "Improved JavaScript editing mode for Emacs")
+      (description
+       "Js2-mode provides a JavaScript major mode for Emacs that is more
 advanced than the built-in javascript-mode.  Features include accurate syntax
 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
 errors and strict-mode warnings, smart line-wrapping within comments and
 strings, and code folding.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public emacs-nodejs-repl
   (package
@@ -7895,7 +7953,7 @@ maximizes flexibility (at the expense of conciseness).")
 (define-public emacs-find-file-in-project
   (package
     (name "emacs-find-file-in-project")
-    (version "5.7.7")
+    (version "5.7.10")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -7904,7 +7962,7 @@ maximizes flexibility (at the expense of conciseness).")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"))))
+                "156sfd5xs831sdlkf7p5m20hzznv1zlf9nm3pfm8n8ixp13fnzj0"))))
     (build-system emacs-build-system)
     (arguments
      `(#:tests? #t
@@ -8408,7 +8466,7 @@ ack, ag, helm and pt.")
 (define-public emacs-helm
   (package
     (name "emacs-helm")
-    (version "3.6.4")
+    (version "3.6.5")
     (source
      (origin
        (method git-fetch)
@@ -8417,7 +8475,7 @@ ack, ag, helm and pt.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0cl5awhq5py872qx9s30sfgfpfwjivwbsi18mgar8lj6lvs4s8zz"))))
+        (base32 "0yzpb84346v42ig4h0rsnvzmln58ilhc0gsq0ggc7038ypqkdw4d"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-async" ,emacs-async)
@@ -10926,23 +10984,24 @@ and cangjie.")
 (define-public emacs-posframe
   (package
     (name "emacs-posframe")
-    (version "0.7.0")
+    (version "0.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "posframe-" version ".el"))
        (sha256
-        (base32 "1kwl83jb5k1hnx0s2qw972v0gjqbbvk4sdcdb1qbdxsyw36sylc9"))))
+        (base32 "1vzaiiw2pxa0zrc2bkaxljpr4035xrh3d8z3l5f0jvp72cnq49kp"))))
     (build-system emacs-build-system)
     ;; emacs-minimal does not include the function font-info.
     (arguments
      `(#:emacs ,emacs))
     (home-page "https://github.com/tumashu/posframe")
     (synopsis "Pop a posframe (a child frame) at point")
-    (description "@code{emacs-posframe} can pop a posframe at point.  A
-posframe is a child frame displayed within its root window's buffer.
-@code{emacs-posframe} is fast and works well with CJK languages.")
+    (description
+     "Posframe can pop a posframe at point.  A posframe is a child frame
+displayed within its root window's buffer.  Posframe is fast and works well
+with CJK languages.")
     (license license:gpl3+)))
 
 (define-public emacs-el2org
@@ -11257,36 +11316,16 @@ and supports the use of a mouse.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/bruceravel/gnuplot-mode")
+             (url "https://github.com/emacsorphanage/gnuplot-mode")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("emacs" ,emacs-minimal)))
-    (arguments
-     (let ((elisp-dir "/share/emacs/site-lisp"))
-       `(#:modules ((guix build gnu-build-system)
-                    (guix build utils)
-                    (guix build emacs-utils))
-         #:imported-modules (,@%gnu-build-system-modules
-                             (guix build emacs-utils))
-         #:configure-flags
-         (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
-                              "/bin/emacs")
-               (string-append "--with-lispdir=" %output ,elisp-dir))
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'install 'generate-autoloads
-             (lambda* (#:key outputs #:allow-other-keys)
-               (emacs-generate-autoloads
-                "gnuplot"
-                (string-append (assoc-ref outputs "out") ,elisp-dir))
-               #t))))))
-    (home-page "https://github.com/bruceravel/gnuplot-mode")
-    (synopsis "Emacs major mode for interacting with gnuplot")
-    (description "@code{emacs-gnuplot} is an emacs major mode for interacting
-with gnuplot.")
+    (build-system emacs-build-system)
+    (home-page "https://github.com/emacsorphanage/gnuplot-mode")
+    (synopsis "Emacs major mode for interacting with Gnuplot")
+    (description
+     "Emacs Gnuplot is an Emacs major mode for interacting with Gnuplot.")
     (license license:gpl2+)))
 
 (define-public emacs-transpose-frame
@@ -11661,9 +11700,9 @@ JSON objects.")
     (license license:gpl3+)))
 
 (define-public emacs-restclient
-  (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
+  (let ((commit "ac8aad6c6b9e9d918062fa3c89c22c2f4ec48bc3")
         (version "0")
-        (revision "2"))               ;Guix package revision,
+        (revision "3"))               ;Guix package revision,
                                         ;upstream doesn't have official releases
     (package
       (name "emacs-restclient")
@@ -11675,11 +11714,12 @@ JSON objects.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
+                  "1a2c7xzy7rsan1zcdskia6m7n6j29xacfkqjlfdhzk6rr1bpzkwk"))
                 (file-name (git-file-name name version))))
       (build-system emacs-build-system)
       (propagated-inputs
-       `(("emacs-helm" ,emacs-helm)))
+       `(("emacs-helm" ,emacs-helm)
+         ("emacs-jq-mode" ,emacs-jq-mode)))
       (home-page "https://github.com/pashky/restclient.el")
       (synopsis "Explore and test HTTP REST webservices")
       (description
@@ -11688,6 +11728,26 @@ from within Emacs.  Restclient runs queries from a plan-text query sheet,
 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
       (license license:public-domain))))
 
+(define-public emacs-jq-mode
+  (package
+    (name "emacs-jq-mode")
+    (version "0.5.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ljos/jq-mode")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xk0if5i9cz4w06lx8v1vdm112pn1ybqgfw048sx15yyvfzgril1"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/ljos/jq-mode")
+    (synopsis "Major mode for editing jq queries")
+    (description
+     "Jq mode is an Emacs major mode for editing jq-scripts.")
+    (license license:gpl3+)))
+
 (define-public emacs-whitespace-cleanup-mode
   (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
         (revision "1"))
@@ -12203,7 +12263,7 @@ the latest versions of Idris 1.")
 (define-public emacs-browse-at-remote
   (package
     (name "emacs-browse-at-remote")
-    (version "0.10.0")
+    (version "0.14.0")
     (source
      (origin
        (method git-fetch)
@@ -12212,7 +12272,7 @@ the latest versions of Idris 1.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
+        (base32 "0bx4ns0jb0sqrjk1nsspvl3mhz3n12925azf7brlwb1vcgnji09v"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-f" ,emacs-f)
@@ -12431,6 +12491,28 @@ needs to be refreshed, the code handles it automatically and stores the new
 value of the access token.")
     (license license:gpl3+)))
 
+(define-public emacs-auth-source-xoauth2
+  (package
+    (name "emacs-auth-source-xoauth2")
+    (version "1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ccrusius/auth-source-xoauth2")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0nl859csl8xcd6ybpjj15ph8l8fxwkwf45kbylss68alkyf1rl3v"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/ccrusius/auth-source-xoauth2")
+    (synopsis "XOAuth2 authentication capabilities for Emacs auth-source")
+    (description
+     "This package adds XOAuth2 authentication capabilities to Emacs
+auth-source.  This integration requires some preliminary work on the users’
+part, which includes creating tokens.")
+    (license license:asl2.0)))
+
 (define-public emacs-circe
   (package
     (name "emacs-circe")
@@ -12525,16 +12607,16 @@ messaging service.")
 (define-public emacs-bash-completion
   (package
    (name "emacs-bash-completion")
-   (version "2.1.0")
+   (version "3.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/szermatt/emacs-bash-completion")
-            (commit version)))
+            (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
-       (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
+       (base32 "11j2k3irixp47r2iglxdmjphahqhgnxg98n2xwagwzyq99lsamj4"))))
    (inputs `(("bash" ,bash)))
    (build-system emacs-build-system)
    (arguments
@@ -13738,28 +13820,26 @@ add any additional instance slots.")
       (license license:gpl3))))
 
 (define-public emacs-epkg
-  ;; The release version is to old for the current database scheme.
-  (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
-    (package
-      (name "emacs-epkg")
-      (version (git-version "3.0.0" "1" commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/emacscollective/epkg")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
-      (build-system emacs-build-system)
-      (propagated-inputs
-       `(("emacs-closql" ,emacs-closql)
-         ("emacs-dash" ,emacs-dash)))
-      (home-page "https://emacsmirror.net")
-      (synopsis "Browse the Emacsmirror package database")
-      (description "This package provides access to a local copy of the
+  (package
+    (name "emacs-epkg")
+    (version "3.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emacscollective/epkg")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1pxz611qb3m33r6343h0xhwqvvhjl131zyc2klplzgb23rkm8lk0"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-closql" ,emacs-closql)
+       ("emacs-dash" ,emacs-dash)))
+    (home-page "https://emacsmirror.net")
+    (synopsis "Browse the Emacsmirror package database")
+    (description "This package provides access to a local copy of the
 Emacsmirror package database.  It provides low-level functions for querying
 the database and a @file{package.el} user interface for browsing the database.
 Epkg itself is not a package manager.
@@ -13779,7 +13859,7 @@ name and password.  To skip it press a @key{Return} key.
 
 You could get a Epkg package list by invoking @code{epkg-list-packages} in
 Emacs.")
-      (license license:gpl3+))))
+    (license license:gpl3+)))
 
 (define-public emacs-elisp-slime-nav
   (package
@@ -14747,7 +14827,17 @@ continue.")
        ("emacs-undercover" ,emacs-undercover)))
     (arguments
      `(#:tests? #t
-       #:test-command '("ert-runner")))
+       #:test-command '("ert-runner")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'disable-refs-next-match-test
+           ;; Hack to disable the failing test for emacs27
+           ;; https://github.com/Wilfred/elisp-refs/issues/29
+           (lambda _
+             (substitute* "test/unit-test.el"
+               (("ert-deftest elisp-refs-next-match")
+                "defun elisp-refs-next-match"))
+             #t)))))
     (home-page "https://github.com/Wilfred/elisp-refs")
     (synopsis "Find callers of elisp functions or macros")
     (description "Find references to functions, macros or variables.  Unlike a
@@ -14854,29 +14944,36 @@ macro takes a first argument (whose value must be an alist) and a body.")
     (license license:gpl3+)))
 
 (define-public emacs-esup
-  (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
-        (revision "1"))
-    (package
-      (name "emacs-esup")
-      (version (string-append "0.6" "-" revision "."
-                              (string-take commit 7)))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/jschaf/esup")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
-      ;; TODO: Add tests
-      (build-system emacs-build-system)
-      (home-page "https://github.com/jschaf/esup")
-      (synopsis "Emacs start up profiler")
-      (description "Benchmark Emacs Startup time without ever leaving
+  (package
+    (name "emacs-esup")
+    (version "0.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jschaf/esup")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "100w28n3qb3s5b18vvqpwmijdjnjazawn38i0pjbpxz5llhqgl1g"))))
+    (build-system emacs-build-system)
+    (native-inputs
+     `(("emacs-noflet" ,emacs-noflet)
+       ("emacs-el-mock" ,emacs-el-mock)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (invoke "emacs" "--batch" "-L" "."
+                     "-l" "test/esup-test.el"
+                     "-f" "ert-run-tests-batch-and-exit"))))))
+    (home-page "https://github.com/jschaf/esup")
+    (synopsis "Emacs start up profiler")
+    (description "Benchmark Emacs Startup time without ever leaving
 your Emacs.")
-      (license license:gpl2+))))
+    (license license:gpl2+)))
 
 (define-public emacs-restart-emacs
   (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
@@ -15380,7 +15477,7 @@ powerful Org contents.")
 (define-public emacs-org-re-reveal
   (package
     (name "emacs-org-re-reveal")
-    (version "3.0.2")
+    (version "3.1.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -15389,7 +15486,7 @@ powerful Org contents.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1jjawkqrhbm787jkzfnwz1ixjphm5mgrhdi3qhzl0jzbjib5a4bf"))))
+                "0an799lxy1j48zlg00982d1rhg46ls4fz4v7r7qdh6228icq5hij"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-htmlize" ,emacs-htmlize)
@@ -15421,6 +15518,28 @@ files.")
 duplicate hook and function names further into a single declarative call.")
     (license license:gpl3+)))
 
+(define-public emacs-fancy-battery
+  (package
+    (name "emacs-fancy-battery")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emacsorphanage/fancy-battery")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "05lwcwf412m717yhwpjrswqkm8c3i7391rmiwv2k8xc1vk6dpp4g"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/emacsorphanage/fancy-battery")
+    (synopsis "Display battery status in Emacs mode line")
+    (description "This package provides @code{fancy-battery-mode} which is
+like the built-in @code{display-battery-mode}, but more fancy.  It just the
+remaining time, uses colours to indicate the status of the battery, and is
+more customizable.")
+    (license license:gpl3)))
+
 (define-public emacs-fancy-narrow
   (package
     (name "emacs-fancy-narrow")
@@ -15965,7 +16084,7 @@ fixed-pitch,everything else becomes variable-pitch.")
 (define-public emacs-visual-regexp
   (package
     (name "emacs-visual-regexp")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method git-fetch)
@@ -15974,7 +16093,7 @@ fixed-pitch,everything else becomes variable-pitch.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
+        (base32 "12p3rlhdphwmx1kxsjzcl2wj3i6qgpvw8iwhg1whs6yqgaxivixd"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/benma/visual-regexp.el/")
     (synopsis "Regexp command with interactive visual feedback")
@@ -16463,7 +16582,7 @@ scroll up to read the function name and then scroll down to original position.")
 (define-public emacs-git-auto-commit-mode
   (package
     (name "emacs-git-auto-commit-mode")
-    (version "4.5.0")
+    (version "4.7.0")
     (source
      (origin
        (method git-fetch)
@@ -16472,15 +16591,21 @@ scroll up to read the function name and then scroll down to original position.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1w3v9pmlmdxl4pglsb6j0igp13lbzg5bhbr1rv2vll93m6zxmyma"))))
+        (base32 "0gpib57f7xza04g3iyihw5v15hb7pncqsmvyggib902yvcxlkvqf"))))
     (build-system emacs-build-system)
+    (native-inputs
+     `(("emacs-buttercup" ,emacs-buttercup)
+       ("git" ,git)))
+    (arguments
+     `(#:tests? #t
+       #:test-command '("buttercup" "-L" ".")))
     (home-page "https://github.com/ryuslash/git-auto-commit-mode")
     (synopsis "Emacs Minor mode to automatically commit and push")
     (description "@code{git-auto-commit-mode} is an Emacs minor mode that
 tries to commit changes to a file after every save.
 
-When @code{gac-automatically-push-p} is non-nil, it also tries to push to
-the current upstream.")
+When @code{gac-automatically-push-p} is non-nil, it also tries to push to the
+current upstream.")
     (license license:gpl3+)))
 
 (define-public emacs-scroll-on-drag
@@ -19947,7 +20072,7 @@ files in Elisp.")
 (define-public emacs-lsp-ui
   (package
     (name "emacs-lsp-ui")
-    (version "7.0")
+    (version "7.0.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -19956,7 +20081,7 @@ files in Elisp.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1v5xl2sfnpzrfi22bcb7zp25pv8s5kxgiqamxlbkd72pwch0skma"))))
+                "09dmhhxmfjnzdc5kygwsjf8nwqlnq9rbgrca679s2wy93miqj7vc"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)
@@ -21032,7 +21157,7 @@ through Dash docsets.")
 (define-public emacs-calibredb
   (package
     (name "emacs-calibredb")
-    (version "2.5.0")
+    (version "2.6.0")
     (source
      (origin
        (method git-fetch)
@@ -21041,11 +21166,10 @@ through Dash docsets.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "11m9d015fnjf89qg6wpy0vs1vhvak5q753m4dzqrdw3jgm9zsnmv"))))
+        (base32 "132afbbh4km2cbll46i6bpksvin0ncgfy782g4nkfjmwjaqh3d5l"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)
-       ("emacs-org" ,emacs-org)
        ("emacs-s" ,emacs-s)
        ("emacs-transient" ,emacs-transient)))
     (home-page "https://github.com/chenyanming/calibredb.el")
@@ -21154,14 +21278,14 @@ well as an option for visually flashing evaluated s-expressions.")
 (define-public emacs-tramp
   (package
     (name "emacs-tramp")
-    (version "2.4.4.1")
+    (version "2.4.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "tramp-" version ".tar"))
        (sha256
-        (base32 "0jayd75yscaqvg6y0m6g2mgbjswyj5gqdij2az9g0j18vm5vbqy3"))))
+        (base32 "16c8x5d803hjql0z88lidyx3zrhxlpjphdpzn3ppzz3wrsxsv8rf"))))
     (build-system emacs-build-system)
     (arguments
      `(#:emacs ,emacs                   ;need D-Bus
@@ -21412,7 +21536,7 @@ between \"frame-width\" and \"frame-height\", between \"public\",
 (define-public emacs-ediprolog
   (package
     (name "emacs-ediprolog")
-    (version "1.2")
+    (version "2.1")
     (source
      (origin
        (method url-fetch)
@@ -21421,8 +21545,7 @@ between \"frame-width\" and \"frame-height\", between \"public\",
              version
              ".el"))
        (sha256
-        (base32
-         "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
+        (base32 "1piimsmzpirw8plrpy79xbpnvynzzhcxi31g6lg6is8gridiv3md"))))
     (build-system emacs-build-system)
     (home-page "https://elpa.gnu.org/packages/ediprolog.html")
     (synopsis "Emacs Does Interactive Prolog")
@@ -22193,14 +22316,14 @@ Emacs that integrate with major modes like Org-mode.")
 (define-public emacs-modus-operandi-theme
   (package
     (name "emacs-modus-operandi-theme")
-    (version "0.11.0")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "modus-operandi-theme-" version ".el"))
        (sha256
-        (base32 "11sq105vpp8rmyayfb7h8gz099kfdr7nb8n4pg81iby4fllj1kgd"))))
+        (base32 "1mllyysn701qfnglxs7n2f6mrzrz55v9hcwspvafc6fl2blr393y"))))
     (build-system emacs-build-system)
     (home-page "https://gitlab.com/protesilaos/modus-themes")
     (synopsis "Accessible light theme (WCAG AAA)")
@@ -22214,14 +22337,14 @@ standard.  This is the highest standard of its kind.")
 (define-public emacs-modus-vivendi-theme
   (package
     (name "emacs-modus-vivendi-theme")
-    (version "0.11.0")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "modus-vivendi-theme-" version ".el"))
        (sha256
-        (base32 "14ky9cxg9cpvhgg24ra0xla2dapqjlf948470q7v0m402x1r2iif"))))
+        (base32 "01f6z5xjnmki1k9m83jwva42lxidb31pdpwm4wpxjzxqmb96picn"))))
     (build-system emacs-build-system)
     (home-page "https://gitlab.com/protesilaos/modus-themes")
     (synopsis "Accessible dark theme (WCAG AAA)")
@@ -22668,7 +22791,7 @@ Telegram messaging platform.")
 (define-public emacs-doom-modeline
   (package
     (name "emacs-doom-modeline")
-    (version "2.8.2")
+    (version "3.0.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -22676,7 +22799,7 @@ Telegram messaging platform.")
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
+                "08m75rl5i812pa87zcsjvb4mm3jjhpwzgx9mf2m7sxj807airz5d"))
               (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (arguments
@@ -22684,6 +22807,7 @@ Telegram messaging platform.")
     (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
     (propagated-inputs
      `(("emacs-all-the-icons" ,emacs-all-the-icons)
+       ("emacs-dash" ,emacs-dash)
        ("emacs-shrink-path" ,emacs-shrink-path)))
     (synopsis "Fancy and fast mode-line inspired by minimalism design")
     (description "Doom modeline is a complete modeline for GNU Emacs inspired
@@ -24271,3 +24395,69 @@ applying highlighting to any face in GNU Emacs.  The functionality
 of this library depends on overlays, which by default are not
 picked up when copy-pasting text from buffer to buffer.")
       (license license:gpl2+))))
+
+(define-public emacs-org-webring
+  (package
+    (name "emacs-org-webring")
+    (version "1.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.sr.ht/~brettgilio/org-webring")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "00d7jqsbfa08rhyv3ry87rgy9ikv233spn4rz0d3riy0bp7b7j6b"))))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-assets
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (assets
+                     (string-append out "/share/emacs/org-webring-assets")))
+               (mkdir-p assets)
+               (copy-recursively "assets" assets)
+               #t))))))
+    (propagated-inputs
+     `(("emacs-xmlgen" ,emacs-xmlgen)))
+    (home-page "https://sr.ht/~brettgilio/org-webring")
+    (synopsis "Generate webrings for Org-based sites / blogs")
+    (description "Org-webring is an alternative implementation of a
+feed-based webring, taking inspiration from openring by Drew DeVault.
+Intended to integrate with Org-based websites and blogs (either
+directly, or indirectly, as in ox-hugo), it will fetch a given list of
+web feed files and correctly parse and format the elements to be
+displayed for sharing.")
+    (license license:gpl3+)))
+
+(define-public emacs-scpaste
+  (let ((commit "cd4fa0aafecd839736e0b6cba68b4fc4d7045472")
+        (revision "0"))
+    (package
+      (name "emacs-scpaste")
+      (version "0.6.5")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.sr.ht/~technomancy/scpaste")
+               (commit commit)))
+         (file-name (git-file-name name commit))
+         (sha256
+          (base32
+           "1nvwbwl26z03963g9c82b3ggm39r95z1vp7c9qsa9mjm46dyq27w"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-htmlize" ,emacs-htmlize)))
+      (home-page "https://git.sr.ht/~technomancy/scpaste")
+      (synopsis "Emacs-based static HTML pastebin")
+      (description "This library will place an HTML copy of a
+buffer on an active webserver to which the user has SSH access.
+It is similar in purpose to services such as Gist or Pastebin,
+but is much simpler since it assumes the user has access to a
+publically-accessible HTTP server.")
+      (license license:gpl3+))))