diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 2297 |
1 files changed, 1573 insertions, 724 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9d9adbb1e5..42fc13f4c2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -63,7 +63,7 @@ ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> ;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo> ;;; Copyright © 2020, 2021 Martin Becze <mjbecze@riseup.net> -;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc> ;;; Copyright © 2020 John Soo <jsoo1@asu.edu> @@ -107,6 +107,7 @@ ;;; Copyright © 2021 Brian Kubisiak <brian@kubisiak.com> ;;; Copyright © 2021, 2022 Taiju HIGASHI <higashi@taiju.info> ;;; Copyright © 2022 Brandon Lucas <br@ndon.dk> +;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -154,6 +155,7 @@ #:use-module (gnu packages djvu) #:use-module (gnu packages ebook) #:use-module (gnu packages emacs) + #:use-module (gnu packages fonts) #:use-module (gnu packages freedesktop) #:use-module (gnu packages golang) #:use-module (gnu packages guile) @@ -239,7 +241,7 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.22.1") + (version "0.23.1") (source (origin (method git-fetch) @@ -248,7 +250,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0q46lp73l0c975qzyn1hkvwcw5xf2sz5dpjgvb66msndyg71y495")))) + (base32 "1lvnk71fb4qkh8a7h7spsdhmc9nnj1lwgp9wr3c2fgzjqsl62kgr")))) (build-system emacs-build-system) (arguments '(#:phases @@ -288,7 +290,7 @@ e.g. emacs-geiser-guile for Guile.") (define-public emacs-geiser-guile (package (name "emacs-geiser-guile") - (version "0.21.1") + (version "0.23") (source (origin (method git-fetch) @@ -297,7 +299,7 @@ e.g. emacs-geiser-guile for Guile.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0fk5rr7mjmb4waiagi80dhddas5mrsgqr0flag5v5b0piblixxq6")))) + (base32 "1v9f90smnk41nz1pjy5mwz199y8p4qar3llgaryzxr7s4wg2v9wi")))) (build-system emacs-build-system) (arguments (list @@ -389,23 +391,22 @@ a generic Scheme interaction mode for the GNU Emacs editor.") (base32 "1aqsvmk1hi7kc3j4h8xlza7c6rwm71v98fv5wpw8kmyj9vsp49wx")))) (build-system emacs-build-system) (arguments - '(#:include (cons "^src/" %default-include) - #:phases - (modify-phases %standard-phases - (add-after 'make-autoloads 'patch-autoloads - (lambda* (#:key outputs #:allow-other-keys) - (substitute* (string-append - (elpa-directory (assoc-ref outputs "out")) - "/geiser-racket-autoloads.el") - ;; Activating implementations fails when Geiser is not yet - ;; loaded, so let's defer that until it is. - (("\\(geiser-activate-implementation .*\\)" all) - (string-append - "(eval-after-load 'geiser-impl '" all ")")) - (("\\(geiser-implementation-extension .*\\)" all) - (string-append - "(eval-after-load 'geiser-impl '" all ")"))) - #t))))) + (list + #:include #~(cons "^src/" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'make-autoloads 'patch-autoloads + (lambda _ + (substitute* (string-append (elpa-directory #$output) + "/geiser-racket-autoloads.el") + ;; Activating implementations fails when Geiser is not yet + ;; loaded, so let's defer that until it is. + (("\\(geiser-activate-implementation .*\\)" all) + (string-append + "(eval-after-load 'geiser-impl '" all ")")) + (("\\(geiser-implementation-extension .*\\)" all) + (string-append + "(eval-after-load 'geiser-impl '" all ")")))))))) (inputs (list racket)) (propagated-inputs @@ -450,7 +451,7 @@ a generic Scheme interaction mode for the GNU Emacs editor.") (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) (inputs - (list chez-scheme)) + (list (chez-scheme-for-system))) (propagated-inputs (list emacs-geiser)) (home-page "https://nongnu.org/geiser/") @@ -659,6 +660,34 @@ expression navigating and manipulating. It supports many major modes out of the box.") (license license:gpl3+)))) +(define-public emacs-spaceline-all-the-icons + (package + (name "emacs-spaceline-all-the-icons") + (version "1.4.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/domtronn/spaceline-all-the-icons.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "186v71d8n1iy73drayyf57pyzlz973q74mazkyvb8w3fj8bb3llm")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-all-the-icons + emacs-memoize + emacs-spaceline)) + (home-page "https://github.com/domtronn/spaceline-all-the-icons.el") + (synopsis + "Theme for @code{emacs-spaceline} using @code{emacs-all-the-icons}") + (description + "This package is a theme for @code{emacs-spaceline} that recreates most +of the segments available in that package using icons from +@code{emacs-all-the-icons}. Icon fonts allow for more tailored and detailed +information in the mode line.") + (license license:expat))) + (define-public emacs-project (package (name "emacs-project") @@ -703,7 +732,7 @@ configuration files, such as @file{.gitattributes}, @file{.gitignore}, and (define-public emacs-with-editor (package (name "emacs-with-editor") - (version "3.1.1") + (version "3.2.0") (source (origin (method git-fetch) @@ -712,20 +741,21 @@ configuration files, such as @file{.gitattributes}, @file{.gitignore}, and (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06a66119rp5vfqdzqk10df3qyh9jvjl6j3pqm03jy0b110v2bfa8")))) + (base32 "1d98hagpm6h5vgx80qlh3zrfcb6z000rfc707w9zzmh634dkg3xx")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'enter-lisp-directory - (lambda _ - (chdir "lisp"))) - (add-before 'install 'make-info - (lambda _ - (with-directory-excursion "../docs" - (invoke "makeinfo" "--no-split" - "-o" "with-editor.info" "with-editor.texi") - (install-file "with-editor.info" "../lisp"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'enter-lisp-directory + (lambda _ + (chdir "lisp"))) + (add-before 'install 'make-info + (lambda _ + (with-directory-excursion "../docs" + (invoke "makeinfo" "--no-split" + "-o" "with-editor.info" "with-editor.texi") + (install-file "with-editor.info" "../lisp"))))))) (native-inputs (list texinfo)) (propagated-inputs @@ -965,6 +995,29 @@ process, passing on the arguments as command line arguments.") "Magit-annex adds a few git-annex operations to the Magit interface.") (license license:gpl3+))) +(define-public emacs-mct + (package + (name "emacs-mct") + (version "0.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/protesilaos/mct") + (commit version))) + (sha256 + (base32 "0714n5nim0hyd5jywvvddka2gi2bhi1vkrbhx75mdn8h50r688kq")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://protesilaos.com/emacs/mct") + (synopsis "Enhancement of the default Emacs minibuffer completion UI") + (description "Minibuffer and Completions in Tandem, also known as MCT, or +mct.el, is an Emacs package that enhances the default minibuffer and +@samp{*Completions*} buffer so that they work together as part of a unified +framework. The idea is to make the presentation and overall functionality be +consistent with other popular, vertically aligned completion UIs while +leveraging built-in functionality.") + (license license:gpl3+))) + (define-public emacs-minions (package (name "emacs-minions") @@ -997,10 +1050,35 @@ Alternatively the menu can be bound globally, for example: @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.") (license license:gpl3+))) +(define-public emacs-nano-modeline + ;; No tagged release upstream, this commit is a couple of commits newer than + ;; 0.5 because of an error related to make-obsolete-variable + (let ((commit "c5bf2a977f1a06936ceb7a1805d1e2cf1f92f616") + (revision "0")) + (package + (name "emacs-nano-modeline") + (version (git-version "0.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rougier/nano-modeline") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02c38v9a71wc9p10pjnqymyaqk4sf3nc5i7df1j9qr5qrqwniq89")))) + (build-system emacs-build-system) + (home-page "https://github.com/rougier/nano-modeline") + (synopsis "Emacs minor mode controlling mode line") + (description "Nano modeline is a minor mode for Emacs that modifies the +mode line as @samp{[ status | name (primary) secondary ]}. It can be +displayed at the bottom or at the top.") + (license license:gpl3+)))) + (define-public emacs-moody (package (name "emacs-moody") - (version "0.7.0") + (version "0.7.1") (source (origin (method git-fetch) @@ -1009,7 +1087,7 @@ Alternatively the menu can be bound globally, for example: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xzi93hp4jrxqi3x31cpx4ff1yh2gq9y7qvv65gj19cfk9a0da88")))) + (base32 "09yyihx6cpa724z6cj2rqspajwj325ipgpmckklpgq6l4h5xnwy4")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/moody") (synopsis "Tabs and ribbons for Emacs mode-line") @@ -1040,20 +1118,22 @@ then only the color of the mode line changes when a window becomes in-/active.") (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz")))) (build-system emacs-build-system) (arguments - `( - ;; Include Pywal interaction scripts. - #:include (cons "^python/" %default-include) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-exec-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((files '("theme-magic.el" "python/wal_change_colors.py")) - (python (assoc-ref inputs "python")) - (python-pywal (assoc-ref inputs "python-pywal"))) - (substitute* files - (("\"python\"") (string-append "\"" python "/bin/python3\"")) - (("\"wal\"") (string-append "\"" python-pywal "/bin/wal\"")))) - #t))))) + (list + ;; Include Pywal interaction scripts. + #:include #~(cons "^python/" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("theme-magic.el" "python/wal_change_colors.py") + (("\"python\"") + (string-append "\"" + (search-input-file inputs "/bin/python3") + "\"")) + (("\"wal\"") + (string-append "\"" + (search-input-file inputs "/bin/wal") + "\"")))))))) (inputs (list python python-pywal)) (home-page "https://github.com/jcaw/theme-magic") @@ -1164,8 +1244,7 @@ you will die. The game builds the list of words from the active buffer.") ;; Remove examples file with references to external packages as ;; they do not exist at compilation time. (snippet - '(begin (delete-file "examples.el") - #t)) + '(begin (delete-file "examples.el"))) (method git-fetch) (uri (git-reference (url "https://github.com/vermiculus/graphql.el") @@ -1239,7 +1318,7 @@ organizing remote Go repository clones.") (define-public emacs-ghub (package (name "emacs-ghub") - (version "3.5.4") + (version "3.5.5") (source (origin (method git-fetch) @@ -1248,14 +1327,28 @@ organizing remote Go repository clones.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bc5z63ylb0ir5v9qngyl50svmlfd6hx9lv1ladwywncdpsslls8")))) + (base32 "1px27nh4cr3r16qmvig72jdirjzllvm2m4dzm59kfznhg3rf7vj0")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda _ - (invoke "make" "info")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (invoke "make" "info"))) + (add-after 'make-info 'enter-lisp-directory + (lambda _ + (chdir "lisp"))) + (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path + (lambda _ + (setenv "EMACSLOADPATH" + (string-append (getcwd) + "/lisp:" + (getenv "EMACSLOADPATH"))))) + (add-after 'install 'install-info + (lambda _ + (let ((info (string-append #$output "/share/info"))) + (install-file "../docs/ghub.info" info))))))) (native-inputs (list texinfo)) (propagated-inputs @@ -1407,13 +1500,13 @@ a constant work in progress as the language itself also progresses.") (propagated-inputs (list emacs-dash emacs-org emacs-s emacs-hydra emacs-use-package)) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'require-hydra - (lambda _ - (substitute* "unpackaged.el" - ((";;; Code:") ";;; Code:\n(require 'hydra)")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'require-hydra + (lambda _ + (substitute* "unpackaged.el" + ((";;; Code:") ";;; Code:\n(require 'hydra)"))))))) (home-page "https://github.com/alphapapa/unpackaged.el") (synopsis "Useful snippets of Emacs Lisp code") (description "This package provides Emacs Lisp utilities for a variety @@ -1562,20 +1655,22 @@ supports type hints, definition-jumping, completion, and more.") (native-inputs (list emacs-shut-up)) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'change-flycheck-version - (lambda _ - (substitute* "flycheck.el" - (("\\(pkg-info-version-info 'flycheck\\)") - (string-append "\"" ,version "\""))) - #t))) - ;; TODO: many failing tests - #:tests? #f - #:test-command '("emacs" "-Q" "--batch" "-L" "." - "--load" "test/flycheck-test" - "--load" "test/run.el" - "-f" "flycheck-run-tests-main"))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'change-flycheck-version + (lambda _ + (substitute* "flycheck.el" + (("\\(pkg-info-version-info 'flycheck\\)") + (string-append "\"" #$version "\"")))))) + ;; TODO: many failing tests + #:tests? #f + #:test-command + #~(list "emacs" "-Q" "--batch" + "-L" "." + "--load" "test/flycheck-test" + "--load" "test/run.el" + "-f" "flycheck-run-tests-main"))) (home-page "https://www.flycheck.org") (synopsis "On-the-fly syntax checking") (description @@ -1930,12 +2025,12 @@ optional minor mode which can apply this command automatically on save.") (snippet '(begin ;; Delete the Cask test runners. - (for-each delete-file '("Cask" "test/test-helper.el")) - #t)))) + (for-each delete-file '("Cask" "test/test-helper.el")))))) (build-system emacs-build-system) (arguments - `(#:tests? #t - #:test-command '("ert-runner"))) + (list + #:tests? #t + #:test-command #~(list "ert-runner"))) (native-inputs (list emacs-ert-runner)) (propagated-inputs @@ -2138,14 +2233,14 @@ incrementally confined in Isearch manner.") (define emacs-emms-print-metadata (package (name "emacs-emms-print-metadata") - (version "8") + (version "10") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "emms-" version ".tar")) (sha256 - (base32 "1iffh6n8q9xag25m9bgnpywa27bkdvvz2gr500hdgwwddgdm4pq8")))) + (base32 "1lgjw9p799sl7nqnl2sk4g67ra10z2ldygx9kb8pmxjrx64mi3qm")))) (build-system gnu-build-system) (arguments `(#:make-flags '("emms-print-metadata") @@ -2343,14 +2438,14 @@ directories or regex patterns.") (define-public emacs-bbdb (package (name "emacs-bbdb") - (version "3.2") + (version "3.2.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "bbdb-" version ".tar")) (sha256 - (base32 "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx")))) + (base32 "01vsnifs47krq1srgdkk9agbv3p2fykl9nydr4nrfjxbqpnyh3ij")))) (build-system emacs-build-system) (arguments ;; XXX: The following file cannot be byte-compiled, because et requires @@ -2366,6 +2461,28 @@ like. It can be linked with various Emacs mail clients (Message and Mail mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") (license license:gpl3+))) +(define-public emacs-beacon + (package + (name "emacs-beacon") + (version "1.3.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Malabarba/beacon") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mypzfasclq7bmw0i8hfyp8c1ycd3kdgd5h1faygzh9r0phh7ciy")))) + (build-system emacs-build-system) + (home-page "https://github.com/Malabarba/beacon") + (synopsis "Emacs minor mode creating a light that follows your cursor around") + (description + "Beacon is an Emacs minor-mode. Whenever the window scrolls a light will +shine on top of your cursor so you know where it is.") + (license license:gpl3+))) + (define-public emacs-counsel-bbdb (package (name "emacs-counsel-bbdb") @@ -2592,6 +2709,35 @@ expressions, editing the search results directly and searching file names rather than the contents of files.") (license license:gpl3+))) +(define-public emacs-aio + (package + (name "emacs-aio") + (version "1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/emacs-aio") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y7j10j74r3fy0rcb8g3cm9nlls34qb0pz9xkia7psp77syrlz54")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "aio-test.el" + "-f" "ert-run-tests-batch-and-exit"))) + (propagated-inputs + (list emacs-elfeed emacs-skewer-mode)) + (home-page "https://github.com/skeeto/emacs-aio") + (synopsis "Async/Await for Emacs Lisp") + (description "@code{aio} is to Emacs Lisp as @code{asyncio} is to +Python. This package builds upon Emacs generators to provide functions that +pause while they wait on asynchronous events. They do not block any thread +while paused.") + (license license:unlicense))) + (define-public emacs-async (package (name "emacs-async") @@ -2618,14 +2764,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "13.0.16") + (version "13.1.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "auctex-" version ".tar")) (sha256 - (base32 "1r9piq4js45knw8sf73kk8jjinmx4m2mdinc98xrklnwcffw7hjf")))) + (base32 "193sqq2wiq3lg99m8hifl9rjxdazpy638r99sqvmxmkfm98cr34r")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -2701,14 +2847,14 @@ a set of simplified face specifications and a user-supplied color palette") (define-public emacs-howm (package (name "emacs-howm") - (version "1.4.7") + (version "1.4.8") (source (origin (method url-fetch) (uri (string-append "https://howm.sourceforge.jp/a/" "howm-" version ".tar.gz")) (sha256 - (base32 "11k0dzwyn7ly34g0zcd6i0i8qwyv9di8m6fx805axrxykxb0qan2")))) + (base32 "0i5pfnvy130fzk8w62301vgsqf1y22chwhjgnm5hjxr9y0kw5ii4")))) (build-system gnu-build-system) (native-inputs (list emacs-minimal)) @@ -2826,7 +2972,7 @@ Lock key.") (define-public emacs-chronometrist (package (name "emacs-chronometrist") - (version "0.9.0") + (version "0.10.0") (source (origin (method git-fetch) @@ -2835,29 +2981,29 @@ Lock key.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "156hj3sxjcfpwimnrykh4n3krkbzas9jg8m6xzy42rnzhx28ja6k")))) + (base32 "0qpkpkipmac24m3ng4ahsml3vi15qcvmid3g02pbpgbpc113zfpl")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir-elisp - ;; Elisp directory is not in root of the source. - (lambda _ - (chdir "elisp"))) - (add-after 'install 'install-doc - ;; Documentation consists of several Markdown files. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "elisp"))) + (add-after 'install 'install-doc + ;; Documentation consists of several Markdown files. + (lambda _ + (let ((doc (string-append #$output "/share/doc/emacs-chronometrist-" - ,version))) - (with-directory-excursion "../doc" - (for-each (lambda (f) (install-file f doc)) - (cons* "../UNLICENSE" - "../WTFPL" - (find-files "." "\\.md$")))))))))) - (propagated-inputs - (list emacs-dash emacs-s emacs-spark emacs-ts)) + #$version))) + (with-directory-excursion "../doc" + (for-each (lambda (f) (install-file f doc)) + (cons* "../UNLICENSE" + "../WTFPL" + (find-files "." "\\.md$")))))))))) + (propagated-inputs + (list emacs-alert emacs-dash emacs-s emacs-spark emacs-ts)) (home-page "https://github.com/contrapunctus-1/chronometrist") (synopsis "Time tracker for Emacs") (description "Chronometrist is a time tracker in Emacs, largely modelled @@ -2909,7 +3055,7 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.17") + (version "0.20") (source (origin (method git-fetch) @@ -2918,7 +3064,7 @@ of bibliographic references.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jj38ik0mr33kqpc1i6hw5hqw43lz9f4nn8zsmw03crlcjf767lh")))) + (base32 "14hz2frz55smzhamynkahys2m4qbm9pha9w9v2rwaffw89jg6ia9")))) (build-system emacs-build-system) (home-page "https://github.com/minad/corfu") (synopsis "Completion overlay region function") @@ -2931,7 +3077,7 @@ overlay below or above the point. Corfu can be considered the minimalistic (define-public emacs-cape (package (name "emacs-cape") - (version "0.5") + (version "0.7") (source (origin (method git-fetch) @@ -2940,7 +3086,7 @@ overlay below or above the point. Corfu can be considered the minimalistic (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0780qymlrg3glyxypizqzwicp5ly5xavxgpmayhx8cxlgp2zlkjh")))) + (base32 "0731c55bb1vxdh8k7312z1bvf7g8jwr2n04q3ffpqp0fan6ra025")))) (build-system emacs-build-system) (home-page "https://github.com/minad/cape") (synopsis "Completion at point extensions for Emacs") @@ -3092,32 +3238,44 @@ current match, total matches and exit status. (license license:gpl3+))) (define-public emacs-go-mode - (package - (name "emacs-go-mode") - (version "1.5.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dominikh/go-mode.el") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-writable - (lambda _ - (for-each make-file-writable (find-files "." "\\.el$")) - #t))))) - (home-page "https://github.com/dominikh/go-mode.el") - (synopsis "Go mode for Emacs") - (description - "This package provides go-mode, an Emacs mode for working with software + ;; XXX: Upstream did not tag last release. The commit below matches version + ;; bump. + (let ((commit "3273fcece5d9ab7edd4f15b2d6bce61f4e5a0666")) + (package + (name "emacs-go-mode") + (version "1.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dominikh/go-mode.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7")))) + (arguments + (list + #:tests? #t + #:test-command #~(list "ert-runner") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-tests + ;; Two tests fail because they (wrongly) assume we run them from + ;; the "test" sub-directory. Fix their expectations. + (lambda _ + (let ((test-file "test/go-indentation-test.el")) + (make-file-writable test-file) + (substitute* test-file + (("testdata/indentation_tests/" all) + (string-append "test/" all))))))))) + (build-system emacs-build-system) + (native-inputs (list emacs-ert-runner)) + (home-page "https://github.com/dominikh/go-mode.el") + (synopsis "Go mode for Emacs") + (description + "This package provides go-mode, an Emacs mode for working with software written in the Go programming language.") - (license license:bsd-3))) + (license license:bsd-3)))) (define-public emacs-google-maps ;; There has been no new release tag since 2013. @@ -3157,26 +3315,25 @@ directly inside Emacs. It requires a Google Map Static API key to function.") (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "texinfo" - (substitute* "Makefile" - (("\\/usr\\/bin\\/gzip") - (search-input-file inputs "/bin/gzip"))) - (invoke "make" - "clean" - "info" - (string-append "TEXINFODIR=" - (assoc-ref inputs "texinfo") - "/bin"))))) - (add-after 'install 'install-info - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (install-file "texinfo/graphviz-dot-mode.info.gz" info) - #t)))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'make-info + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "texinfo" + (substitute* "Makefile" + (("\\/usr\\/bin\\/gzip") + (search-input-file inputs "/bin/gzip"))) + (invoke "make" + "clean" + "info" + (string-append "TEXINFODIR=" + #$(this-package-native-input "texinfo") + "/bin"))))) + (add-after 'install 'install-info + (lambda _ + (let ((info (string-append #$output "/share/info"))) + (install-file "texinfo/graphviz-dot-mode.info.gz" info))))))) (native-inputs (list gzip texinfo)) (propagated-inputs @@ -3291,22 +3448,30 @@ filters, new key bindings and faces. It can be enabled by (build-system emacs-build-system) (inputs (list djview djvulibre)) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((file "djvu.el") - (djview (assoc-ref inputs "djview")) - (djvulibre (assoc-ref inputs "djvulibre"))) - ;; Specify the absolute executable locations. - (chmod file #o644) - (substitute* file - (("\"djvused\"") (string-append "\"" djvulibre "/bin/djvused\"")) - (("\"djvm\"") (string-append "\"" djvulibre "/bin/djvm\"")) - (("\"ddjvu\"") (string-append "\"" djvulibre "/bin/ddjvu\""))) - (emacs-substitute-variables file - ("djvu-djview-command" (string-append djview "/bin/djview")))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((file "djvu.el")) + ;; Specify the absolute executable locations. + (make-file-writable file) + (substitute* file + (("\"djvused\"") + (string-append "\"" + (search-input-file inputs "/bin/djvused") + "\"")) + (("\"djvm\"") + (string-append "\"" + (search-input-file inputs "/bin/djvm") + "\"")) + (("\"ddjvu\"") + (string-append "\"" + (search-input-file inputs "/bin/ddjvu") + "\""))) + (emacs-substitute-variables file + ("djvu-djview-command" + (search-input-file inputs "/bin/djview"))))))))) (home-page "http://elpa.gnu.org/packages/djvu.html") (synopsis "Edit and view Djvu files via djvused") (description @@ -3743,10 +3908,11 @@ and limited version of the images provided by the KanjiVG project.") (base32 "0jv9yfsncgf96308c041hvps3jlc151xb0aipm0vasbma3x83ygm")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'enter-lisp-directory - (lambda _ (chdir "lisp") #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'enter-lisp-directory + (lambda _ (chdir "lisp")))))) (home-page "https://github.com/slotThe/kbd-mode") (synopsis "Minor mode for syntax highlighting kmonad's @file{.kbd} files") (description @@ -3757,7 +3923,7 @@ kmonad's configuration files (@file{.kbd}).") (define-public emacs-keycast (package (name "emacs-keycast") - (version "1.1.3") + (version "1.2.0") (source (origin (method git-fetch) @@ -3766,7 +3932,7 @@ kmonad's configuration files (@file{.kbd}).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0s31b3kal4j08waa2fwz5d6269wsdywb60a7h4r5vzsrr238lks3")))) + (base32 "01z20lsnjk8pwdsl4vx5dqdc4603bmb7fxan7n8j1fgvkvi63yzl")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/keycast") (synopsis "Show current command and its key in the mode line") @@ -3884,15 +4050,15 @@ allowing you to visit all previous states of the document if you need.") (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a")))) (build-system emacs-build-system) (arguments - `(#:tests? #t - #:test-command '("emacs" "--batch" "-l" "undo-fu-session.el" - "-l" "undo-fu-session-test.el") - #:phases - (modify-phases %standard-phases - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" "/tmp") - #t))))) + (list + #:tests? #t + #:test-command #~(list "emacs" "--batch" "-l" "undo-fu-session.el" + "-l" "undo-fu-session-test.el") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session") (synopsis "Save & recover undo steps between Emacs sessions") (description "This package writes undo/redo information upon file save @@ -4187,7 +4353,7 @@ window.") (define-public emacs-git-link (package (name "emacs-git-link") - (version "0.8.3") + (version "0.8.6") (source (origin (method git-fetch) @@ -4196,11 +4362,12 @@ window.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75")))) + (base32 "1ifq9z4p0rbz2bpm6qz89xg5ycn5fflsyradzzxzsgyys0zc6szx")))) (build-system emacs-build-system) (arguments - `(#:tests? #t - #:test-command '("make" "test"))) + (list + #:tests? #t + #:test-command #~(list "make" "test"))) (home-page "https://github.com/sshaw/git-link") (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos") (description @@ -4209,6 +4376,29 @@ at the current line number or active region. @code{git-link-commit} returns the URL for a commit. URLs are added to the kill ring.") (license license:gpl3+))) +(define-public emacs-apache-mode + (package + (name "emacs-apache-mode") + (version "2.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-php/apache-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1grs2x51k8pa6sgfa82s5pwwdfv7zw46ccw0zvd2rvzbhpq21p2z")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacs-php/apache-mode") + (synopsis + "Syntax highlighting and indentation support for Apache config files") + (description + "This package provides @code{apache-mode}, an Emacs major mode for Apache +configuration files which provides syntax highlighting and indentation rules. +This mode supports Apache HTTP Server 2.4 and major modules.") + (license license:gpl2+))) + (define-public emacs-apheleia (package (name "emacs-apheleia") @@ -4406,6 +4596,29 @@ Emacs Lisp. It generates a sparkline string given a list of numbers. It is a port of @code{cl-spark} to Emacs Lisp.") (license license:expat)))) +(define-public emacs-spray + (let ((version "0.0.2") (revision "0") + (commit "74d9dcfa2e8b38f96a43de9ab0eb13364300cb46")) + (package + (name "emacs-spray") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~iank/spray") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1avbfr32dvff26kgvd5vgan99nb5c6al9kv5xbmy2rcls17py7r2")))) + (build-system emacs-build-system) + (home-page "https://git.sr.ht/~iank/spray") + (synopsis "Speed reading mode for Emacs") + (description + "For speed reading, or just more enjoyable reading. Narrows +the buffer to show one word at a time. Adjust speed / pause as needed.") + (license license:gpl3+)))) + (define-public emacs-es-mode (package (name "emacs-es-mode") @@ -4618,7 +4831,7 @@ result.") (define-public emacs-rg (package (name "emacs-rg") - (version "2.1.0") + (version "2.2.0") (source (origin (method git-fetch) @@ -4627,7 +4840,7 @@ result.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "17f11znjyfnxs5y0zafcx9aa055wkw3igzk9gy0cipnyp42yb4v7")))) + (base32 "0a16g9phyy6c6vn5zfkpcpi90ixbx1ivp4wapwg189v77k2810by")))) (build-system emacs-build-system) (arguments '(#:phases @@ -4764,7 +4977,7 @@ Lisp.") (define-public emacs-paren-face (package (name "emacs-paren-face") - (version "1.0.7") + (version "1.0.8") (source (origin (method git-fetch) @@ -4773,7 +4986,7 @@ Lisp.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1zyrrrr8rmksr3rfsv96psk1z15wbbx1bvcfp3hf5ciyc2n79000")))) + (base32 "13d8psgd2j3vqmgwwf62gwyq7h6qlj8rrs31fxwjqmzzdblwqy1y")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/paren-face") (synopsis "Face for parentheses in Lisp modes") @@ -4898,8 +5111,8 @@ Emacs can load Org files as Lisp source files directly.") (license license:gpl3+))) (define-public emacs-literate-calc-mode - (let ((commit "a50e897a816cb5580ad6ec867eeaae212e0e4798") - (revision "1")) + (let ((commit "ba7d22140a165b0fdd900a8d04916115ca6ab8ff") + (revision "2")) (package (name "emacs-literate-calc-mode") (version (git-version "0.1" revision commit)) @@ -4911,7 +5124,7 @@ Emacs can load Org files as Lisp source files directly.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0z6y5f1rj28lbr30m6g4a9l6ahs66whi8861g4cx9xzhs84nwv5g")))) + (base32 "1bdybw44pmhfpikdv1kg2sx88546xyncks5a4b2s0ak4p66r82k3")))) (build-system emacs-build-system) (propagated-inputs (list emacs-s)) @@ -5028,6 +5241,60 @@ strike through completed TODO headings, changes Org blocks, changes Org check boxes, and more.") (license license:gpl3+)))) +(define-public emacs-org-books + (package + (name "emacs-org-books") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lepisma/org-books") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sgckvpjdaig9r2clcvs6ckgf2kx7amikkpq26y30jbnfnbskf0v")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-dash + emacs-enlive + emacs-helm + emacs-helm-org + emacs-org + emacs-s)) + (home-page "https://github.com/lepisma/org-books") + (synopsis "Reading list management with Org mode and Helm") + (description + "Org Books is a tool for managing reading lists in an Org mode file.") + (license license:gpl3+))) + +(define-public emacs-org-chef + ;; Upstream does not tag version bumps. Version is extracted from "Version" + ;; keyword in main file. + (let ((commit "87e9a6c4844ff32f47c8d1108ec0f087a3148a8e") + (revision "0")) + (package + (name "emacs-org-chef") + (version (git-version "0.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Chobbes/org-chef") + (commit commit))) + (sha256 + (base32 "0xdfaf3shl3iij7nnshb5ryccqq70rpk0zm0d3fdwdbfa8rf7fkp")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-org)) + (home-page "https://github.com/Chobbes/org-chef") + (synopsis "Cookbook and recipe management with Emacs Org mode") + (description + "Org Chef is a package for managing recipes in Org mode. One of the +main features is that it can automatically extract recipes from websites like +allrecipes.com.") + (license license:expat)))) + (define-public emacs-org-inline-pdf (package (name "emacs-org-inline-pdf") @@ -5272,6 +5539,26 @@ features such as syntax highlighting, comments, finding keywords, completing keywords and smart indentation.") (license license:gpl3+))) +(define-public emacs-robots-txt-mode + (package + (name "emacs-robots-txt-mode") + (version "0.0.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-php/robots-txt-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07255pn80w4742sz2h9vbmfxxd8ps2kcn73p7m2bgy02kgbzw42b")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacs-php/robots-txt-mode") + (synopsis "Syntax highlighting for @file{robots.txt} files") + (description "This package provides an Emacs major mode for editing +@file{robots.txt} files.") + (license license:gpl3+))) + (define-public emacs-roguel-ike (package (name "emacs-roguel-ike") @@ -5289,13 +5576,13 @@ keywords and smart indentation.") (propagated-inputs (list emacs-popup)) (arguments - `(#:include (cons* "^roguel-ike/" "^roguel-ike-lib/" %default-include) - #:phases - (modify-phases %standard-phases - (add-before 'check 'set-test-environment - (lambda _ - (setenv "HOME" "/tmp") - #t))))) + (list + #:include #~(cons* "^roguel-ike/" "^roguel-ike-lib/" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + (setenv "HOME" "/tmp")))))) (home-page "https://github.com/stevenremot/roguel-ike.git") (synopsis "Coffee-break roguelike for Emacs") (description @@ -5362,6 +5649,40 @@ which integrates into existing mode-line without requiring a minor mode or configuration.") (license license:gpl3+)))) +(define-public emacs-nyan-mode + (package + (name "emacs-nyan-mode") + (version "1.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TeMPOraL/nyan-mode/") + (commit (string-append "v" version)))) + (sha256 + (base32 "0d0hdjliad8afz4br38gwidph9zhmm5s09y45n95kqlazq62jfsx")))) + (build-system emacs-build-system) + (arguments + (list + #:include #~(cons* "img/" "mus/" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "nyan-mode.el" + (("mplayer ") + (string-append (search-input-file inputs "bin/mplayer") + " ")))))))) + (inputs (list mplayer)) + (home-page "https://github.com/TeMPOraL/nyan-mode/") + (synopsis "Nyan Cat as buffer position indicator") + (description + "Nyan mode is an analog indicator of your position in the buffer. The cat +should go from left to right in your mode-line, as you move your point from 0% +to 100%. You can click on the rainbow or the empty space to scroll backwards +and forwards and also animate it.") + (license license:gpl3+))) + (define-public emacs-smart-mode-line (package (name "emacs-smart-mode-line") @@ -5728,17 +6049,17 @@ compile}.") (file-name (git-file-name name version)) (sha256 (base32 "1djrj3is0dzrl2703bw7bclf33dp4xqmy144q7xj5pvpb9v3kf50")))) - (inputs (list ledger)) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((ledger (assoc-ref inputs "ledger"))) - ;; Specify the absolute executable location of ledger. - (substitute* "flycheck-ledger.el" - (("\"ledger\"") (string-append "\"" ledger "\"")))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + (let ((ledger #$(this-package-input "ledger"))) + ;; Specify the absolute executable location of ledger. + (substitute* "flycheck-ledger.el" + (("\"ledger\"") (string-append "\"" ledger "\""))))))))) + (inputs (list ledger)) (propagated-inputs (list emacs-flycheck)) (build-system emacs-build-system) @@ -5918,16 +6239,16 @@ Gnus, e.g., for applying patches received by email.") (native-inputs (list emacs-undercover)) (arguments - `(#:emacs ,emacs - #:phases - (modify-phases %standard-phases - (add-before 'check 'fix-makefile - (lambda _ - (substitute* "Makefile" - (("\\$\\(CASK\\) exec ") "")) - #t))) - #:tests? #t - #:test-command '("make" "test"))) + (list + #:emacs emacs + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("\\$\\(CASK\\) exec ") ""))))) + #:tests? #t + #:test-command #~(list "make" "test"))) (home-page "https://github.com/nflath/sudo-edit/") (synopsis "Open files as another user") (description @@ -5935,6 +6256,33 @@ Gnus, e.g., for applying patches received by email.") user.") (license license:gpl3+))) +(define-public emacs-subed + (package + (name "emacs-subed") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.nongnu.org/nongnu/subed-" + version ".tar")) + (sha256 + (base32 + "0wibakmp1lhfyr6sifb7f3jcqp2s5sy0z37ad9n1n9rhj5q8yhzg")))) + (arguments + (list + #:tests? #t + #:test-command #~(list "make" "test-only"))) + (native-inputs + (list emacs-buttercup)) + (build-system emacs-build-system) + (home-page "https://elpa.nongnu.org/nongnu/subed.html") + (synopsis "Major mode for editing subtitles") + (description + "@code{subed} is an Emacs major mode for editing subtitles while playing +the corresponding video with @code{mpv}. At the moment, the only supported +formats are SubRip (@file{.srt}), WebVTT (@file{.vtt}), and Advanced +SubStation Alpha (@file{.ass}).") + (license license:gpl3+))) + (define-public emacs-miniedit (package (name "emacs-miniedit") @@ -6005,14 +6353,14 @@ src blocks.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.30") + (version "0.31") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 - (base32 "05yy1hhxd59rhricb14iai71w681222sv0i703yrgg868mphl7sb")))) + (base32 "11vdjrn5m5g6pirw8jv0602fbwwgdhazfrrwxxplii8x02gqk0sr")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -6907,8 +7255,7 @@ for @code{AUCTeX}.") '(begin (for-each delete-file '("dot-emacs.el" "Makefile")) (install-file "6.945-config/mit-scheme-doc.el" ".") - (delete-file-recursively "6.945-config") - #t)) + (delete-file-recursively "6.945-config"))) (file-name (string-append name "-" version ".tar.bz2")) (method url-fetch) (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/" @@ -6984,7 +7331,7 @@ in @code{html-mode}.") (define-public emacs-slime (package (name "emacs-slime") - (version "2.26.1") + (version "2.27") (source (origin (method git-fetch) @@ -6993,7 +7340,7 @@ in @code{html-mode}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1a25ixb7q4svqabxnhwkk43v47mbsh13qwm7qlazkd3zkr8j3cli")))) + (base32 "1s5mbljlz22pb90gwbd380nighkz6gdxl77hc08gri7wwr5gy5n2")))) (build-system emacs-build-system) (native-inputs (list texinfo)) @@ -7005,13 +7352,11 @@ in @code{html-mode}.") (modify-phases %standard-phases (add-after 'unpack 'make-git-checkout-writable (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) + (for-each make-file-writable (find-files ".")))) (add-before 'install 'configure (lambda* _ (emacs-substitute-variables "slime.el" - ("inferior-lisp-program" "sbcl")) - #t)) + ("inferior-lisp-program" "sbcl")))) (add-before 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -7033,8 +7378,7 @@ in @code{html-mode}.") (install-file f doc-dir) (delete-file f)) doc-files) - (delete-file-recursively "doc") - #t)))))) + (delete-file-recursively "doc"))))))) (home-page "https://github.com/slime/slime") (synopsis "Superior Lisp Interaction Mode for Emacs") (description @@ -7068,6 +7412,53 @@ This provides a basic API and common UI widgets such as popup tooltips and popup menus.") (license license:gpl3+))) +(define-public emacs-popup-kill-ring + (let ((commit "a45c9cf79c4e1207fdbdd662e161154ef224ad61") + (revision "0")) + (package + (name "emacs-popup-kill-ring") + (version (git-version "0.2.8" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/waymondo/popup-kill-ring") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bpnsc4agy6mcnc79d9a6gi79jiiqrhf3a55pw0p4z16m86vwyqr")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-pos-tip emacs-popup)) + (home-page "https://github.com/waymondo/popup-kill-ring") + (synopsis "Interactively insert item from kill-ring") + (description "This Emacs packages manages your Emacs kill-ring in an +autocomplete style popup menu.") + (license license:gpl3+)))) + +(define-public emacs-popper + ;; No tagged release upstream for version 0.45. The commit below matches + ;; version bump. + (let ((commit "851d83882192ac9599ac5b053614a42d683b3fab")) + (package + (name "emacs-popper") + (version "0.45") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/karthink/popper") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pk5wzqlz7n6v8rb1957i3ql0wjx578l68a3rp2m9pxr7a8a03h4")))) + (build-system emacs-build-system) + (home-page "https://github.com/karthink/popper") + (synopsis "Emacs minor-mode to summon and dismiss buffers easily") + (description + "Popper is a minor-mode to tame the flood of ephemeral +windows Emacs produces, while still keeping them within arm’s reach.") + (license license:gpl3+)))) + (define-public emacs-python-black (package (name "emacs-python-black") @@ -7487,7 +7878,7 @@ cards created in Org mode.") (define-public emacs-org-mime (package (name "emacs-org-mime") - (version "0.2.4") + (version "0.2.6") (source (origin (method git-fetch) @@ -7496,7 +7887,7 @@ cards created in Org mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0in83jlrwjn81qgw1i7n228sbf314bj8hkrl14ahfn0zmfll60sw")))) + (base32 "01f04xpqkgja34a0z4smh2kxzn3lvx2391fnbfxmq92pxqp3gk0j")))) (build-system emacs-build-system) (home-page "https://github.com/org-mime/org-mime") (synopsis "Send HTML email using Org mode HTML export") @@ -7631,28 +8022,27 @@ save, it exports back to the original non-Org file.") (propagated-inputs (list emacs-alert)) (arguments - `(#:include (cons "^resources\\/" %default-include) - #:tests? #t - #:test-command '("emacs" "--batch" - "-l" "org-pomodoro-tests.el" - "-f" "ert-run-tests-batch-and-exit") - #:phases - (modify-phases %standard-phases - (add-before 'check 'make-tests-writable - (lambda _ - (make-file-writable "org-pomodoro-tests.el") - #t)) - (add-before 'check 'add-require - (lambda _ - (emacs-batch-edit-file "org-pomodoro-tests.el" - `(progn (progn (goto-char (point-min)) - (re-search-forward - "ert-deftest") - (beginning-of-line) - (forward-line -1) - (insert "(require 'org-pomodoro)")) - (basic-save-buffer))) - #t))))) + (list + #:include #~(cons "^resources\\/" %default-include) + #:tests? #t + #:test-command + #~(list "emacs" "--batch" + "-l" "org-pomodoro-tests.el" + "-f" "ert-run-tests-batch-and-exit") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'make-tests-writable + (lambda _ + (make-file-writable "org-pomodoro-tests.el"))) + (add-before 'check 'add-require + (lambda _ + (emacs-batch-edit-file "org-pomodoro-tests.el" + `(progn (progn (goto-char (point-min)) + (re-search-forward "ert-deftest") + (beginning-of-line) + (forward-line -1) + (insert "(require 'org-pomodoro)")) + (basic-save-buffer)))))))) (home-page "https://github.com/marcinkoziej/org-pomodoro") (synopsis "Pomodoro technique for org-mode") (description "@code{emacs-org-pomodoro} adds very basic support for @@ -8057,16 +8447,15 @@ board and goal value can be customized.") (base32 "1a4iwjdh6k348df6qywjws9z9f862d62m0b2sz57z4xhywiyxpr7")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-pieces - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (pieces - (string-append out "/share/emacs/site-lisp/pieces"))) - (mkdir-p pieces) - (copy-recursively "pieces" pieces) - #t)))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-pieces + (lambda _ + (let ((pieces + (string-append #$output "/share/emacs/site-lisp/pieces"))) + (mkdir-p pieces) + (copy-recursively "pieces" pieces))))))) (home-page "https://elpa.gnu.org/packages/chess.html") (synopsis "Play chess in GNU Emacs") (description @@ -8169,7 +8558,7 @@ them easier to distinguish from other, less important buffers.") (define-public emacs-embark (package (name "emacs-embark") - (version "0.15") + (version "0.16") (source (origin (method git-fetch) @@ -8177,7 +8566,7 @@ them easier to distinguish from other, less important buffers.") (url "https://github.com/oantolin/embark") (commit version))) (sha256 - (base32 "08wj0p3plvblbmfmn4vsanhldr2csrnm1lhk3g1nic5v26yi5l64")) + (base32 "04xxwhh577aam0fqfmprxqaw0v1l6yidikr6chajcf16mf1wd2gv")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -8287,7 +8676,7 @@ style, or as multiple word prefixes.") (define-public emacs-consult (package (name "emacs-consult") - (version "0.14") + (version "0.16") (source (origin (method git-fetch) @@ -8295,7 +8684,7 @@ style, or as multiple word prefixes.") (url "https://github.com/minad/consult") (commit version))) (sha256 - (base32 "051fjp03lj3b5kkzpdhk78g2lj37v973q0f012zld1n6937srj6h")) + (base32 "1mravx5aapy8bcgk6nvi1jvb5jgl7jsn7pd7br7v7fqadcp225m6")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (home-page "https://github.com/minad/consult") @@ -8305,10 +8694,35 @@ Emacs completion function completing-read, which allows quickly selecting from a list of candidates.") (license license:gpl3+))) +(define-public emacs-consult-dir + (package + (name "emacs-consult-dir") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/karthink/consult-dir") + (commit (string-append "v" version)))) + (sha256 + (base32 "1cff4ssrn1mw2s5n090pdmwdirnfih8idg5f0ll2bi2djc4hq5kn")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-consult)) + (home-page "https://github.com/karthink/consult-dir") + (synopsis "Insert paths into minibuffer prompts in Emacs") + (description "Consult-dir allows you to easily insert directory +paths into the minibuffer prompt in Emacs. + +When using the minibuffer, you can switch---with completion and filtering +provided by your completion setup---to any directory you’ve visited recently, +or to a project or bookmarked directory. The minibuffer prompt will be +replaced with the directory you choose.") + (license license:gpl3+))) + (define-public emacs-consult-notmuch (package (name "emacs-consult-notmuch") - (version "0.6") + (version "0.7") (source (origin (method git-fetch) @@ -8317,7 +8731,7 @@ list of candidates.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "07qbm5p4cfrrwyp8a5sw0wkdhnqbappz4xjlnjil2krhj9g39q78")))) + (base32 "0xzpkpf2sb89qkbqcrwddp4pgnzdjp40bc5da22jq9r4pf67y7qs")))) (build-system emacs-build-system) (propagated-inputs (list emacs-consult emacs-notmuch)) @@ -8329,30 +8743,27 @@ and present results either as single emails or full trees.") (license license:gpl3+))) (define-public emacs-marginalia - ;; Upstream did not tag latest release. The commit below matches version - ;; bump. - (let ((commit "9229d88ae4757f3439e81f51799758c009838cb4")) - (package - (name "emacs-marginalia") - (version "0.11") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/minad/marginalia") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0gaqybj52skqcmxcx6k3zmw6lznzlr1fjvlaraic9m6n85xkvzki")))) - (build-system emacs-build-system) - (home-page "https://github.com/minad/marginalia") - (synopsis "Marginalia in the minibuffer completions") - (description - "This package provides Marginalia mode which adds marginalia to the + (package + (name "emacs-marginalia") + (version "0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minad/marginalia") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qk6j7l39z92h4kvvbwcs85ilyx3d6y0l8zm33iar2pjnyks1kq3")))) + (build-system emacs-build-system) + (home-page "https://github.com/minad/marginalia") + (synopsis "Marginalia in the minibuffer completions") + (description + "This package provides Marginalia mode which adds marginalia to the minibuffer completions. Marginalia are marks or annotations placed at the margin of the page of a book or in this case helpful colorful annotations placed at the margin of the minibuffer for your completion candidates.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-smartparens (package @@ -8629,39 +9040,36 @@ after buffer changes.") (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments - `(#:tests? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-realgud:run-process-void-error - ;; See: https://github.com/realgud/realgud/issues/269. - (lambda _ - (substitute* '("realgud/debugger/gdb/gdb.el" - "realgud/debugger/gub/gub.el") - (("^\\(require 'load-relative\\).*" anchor) - (string-append anchor - "(require-relative-list \ -'(\"../../common/run\") \"realgud:\")\n"))) - #t)) - (add-after 'expand-load-path 'fix-autogen-script - (lambda _ - (substitute* "autogen.sh" - (("./configure") "sh configure")) - #t)) - (add-after 'fix-autogen-script 'autogen - (lambda _ - (setenv "CONFIG_SHELL" "sh") - (invoke "sh" "autogen.sh"))) - (add-after 'fix-autogen-script 'set-home - (lambda _ - (setenv "HOME" (getenv "TMPDIR")) - #t)) - (add-before 'patch-el-files 'remove-realgud-pkg.el - (lambda _ - ;; FIXME: `patch-el-files' crashes on this file with error: - ;; unable to locate "bashdb". - (delete-file "./test/test-regexp-bashdb.el") - #t))) - #:include (cons* ".*\\.el$" %default-include))) + (list + #:tests? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-realgud:run-process-void-error + ;; See: https://github.com/realgud/realgud/issues/269. + (lambda _ + (substitute* '("realgud/debugger/gdb/gdb.el" + "realgud/debugger/gub/gub.el") + (("^\\(require 'load-relative\\).*" anchor) + (string-append anchor + "(require-relative-list \ +'(\"../../common/run\") \"realgud:\")\n"))))) + (add-after 'expand-load-path 'fix-autogen-script + (lambda _ + (substitute* "autogen.sh" + (("./configure") "sh configure")))) + (add-after 'fix-autogen-script 'autogen + (lambda _ + (setenv "CONFIG_SHELL" "sh") + (invoke "sh" "autogen.sh"))) + (add-after 'fix-autogen-script 'set-home + (lambda _ + (setenv "HOME" (getenv "TMPDIR")))) + (add-before 'patch-el-files 'remove-realgud-pkg.el + (lambda _ + ;; FIXME: `patch-el-files' crashes on this file with error: + ;; unable to locate "bashdb". + (delete-file "./test/test-regexp-bashdb.el")))) + #:include #~(cons* ".*\\.el$" %default-include))) (native-inputs (list autoconf automake emacs-test-simple)) (propagated-inputs @@ -9235,31 +9643,30 @@ navigate code in a tree-like fashion.") (native-inputs (list which emacs-clojure-mode emacs-undercover)) (arguments - `(#:include (cons* "^lispy-clojure\\.clj$" - "^lispy-python\\.py$" - %default-include) - #:phases - ;; XXX: Some failing tests - (modify-phases %standard-phases - (add-before 'check 'make-test-writable - (lambda _ - (make-file-writable "lispy-test.el") - #t)) - (add-before 'check 'remove-failing-test - (lambda _ - (emacs-batch-edit-file "lispy-test.el" - `(progn - (dolist (test '("lispy-eval-python-str" "lispy--clojure-dot-object")) - (goto-char (point-min)) - (re-search-forward - (concat "ert-deftest " test)) - (beginning-of-line) - (kill-sexp)) - (basic-save-buffer))) - #t))) - #:tests? #t - ;; Set BEMACS to prevent the test suite from loading straight.el. - #:test-command '("make" "test" "BEMACS=emacs -batch"))) + (list + #:include #~(cons* "^lispy-clojure\\.clj$" + "^lispy-python\\.py$" + %default-include) + #:phases + ;; XXX: Some failing tests + #~(modify-phases %standard-phases + (add-before 'check 'make-test-writable + (lambda _ + (make-file-writable "lispy-test.el"))) + (add-before 'check 'remove-failing-test + (lambda _ + (emacs-batch-edit-file "lispy-test.el" + `(progn + (dolist (test '("lispy-eval-python-str" "lispy--clojure-dot-object")) + (goto-char (point-min)) + (re-search-forward + (concat "ert-deftest " test)) + (beginning-of-line) + (kill-sexp)) + (basic-save-buffer)))))) + #:tests? #t + ;; Set BEMACS to prevent the test suite from loading straight.el. + #:test-command #~(list "make" "test" "BEMACS=emacs -batch"))) (synopsis "Modal S-expression editing") (description "Due to the structure of Lisp syntax it's very rare for the programmer @@ -9327,16 +9734,16 @@ allowing unprefixed keys to insert their respective characters as expected.") (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") - (version "5.13.0") + (version "5.14.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/clojure-emacs/clojure-mode") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ikl29rygr1habcsglz07m4ihd4ivi732kkzg8q676ihf367wa9i")))) + (base32 "0n7v6hx21f8x37gj388wnff38aqpzxxv5g8vxavp74vr3cbagsnn")))) (build-system emacs-build-system) (native-inputs (list emacs-buttercup emacs-dash emacs-paredit emacs-s)) @@ -9760,7 +10167,7 @@ mode with the package emacs-julia-mode.") (define-public emacs-julia-snail (package (name "emacs-julia-snail") - (version "1.1.4") + (version "1.1.5") (source (origin (method git-fetch) (uri (git-reference @@ -9769,16 +10176,16 @@ mode with the package emacs-julia-mode.") (file-name (git-file-name name version)) (sha256 (base32 - "11spibld7dyggr38hzkrd05lmdf847d57cc9qyk01mb3bli21vxd")))) + "04nh37izz04lxkvkxhsig8khbrrgdl4p6pkjsv5bxymnp84zwlw7")))) (build-system emacs-build-system) (arguments - `(#:include (cons "^JuliaSnail\\.jl" %default-include))) + (list #:include #~(cons "^JuliaSnail\\.jl" %default-include))) (inputs (list emacs-dash emacs-s emacs-spinner emacs-xref)) (propagated-inputs (list libvterm - emacs-julia-mode ;required by parser - emacs-parsec ;required by parser + emacs-julia-mode ;required by parser + emacs-parsec ;required by parser emacs-vterm)) (home-page "https://github.com/gcv/julia-snail") (synopsis "Development environment and REPL interaction package for Julia") @@ -9958,7 +10365,7 @@ provides the following features: (define-public emacs-markdown-mode (package (name "emacs-markdown-mode") - (version "2.4") + (version "2.5") (source (origin (method git-fetch) @@ -9967,7 +10374,7 @@ provides the following features: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0g0ja4h651yfabm3k6gbw4y8w7wibc9283fyfzb33kjj38ivl5d7")))) + (base32 "02vw1zsbwa2hc3sxvbpvbldi5cf1xgd5b9l6fwg24d24j6b2af0j")))) (build-system emacs-build-system) (home-page "https://jblevins.org/projects/markdown-mode/") (synopsis "Emacs Major mode for Markdown files") @@ -10004,7 +10411,7 @@ in Emacs.") (define-public emacs-edit-indirect (package (name "emacs-edit-indirect") - (version "0.1.6") + (version "0.1.8") (source (origin (method git-fetch) @@ -10013,7 +10420,7 @@ in Emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "189nvmlkki1jfszm9i0crbb1p4nzgmbly0wpvpg0i8vmw7vrpl40")))) + (base32 "0f5vhppsjw63dkwka6xanmlliq44vf3kj1wp3dg8a6a837xx7z9x")))) (build-system emacs-build-system) (home-page "https://github.com/Fanael/edit-indirect") (synopsis "Edit regions in separate buffers") @@ -10184,7 +10591,7 @@ with Elfeed.") (define-public emacs-elfeed-score (package (name "emacs-elfeed-score") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -10193,7 +10600,7 @@ with Elfeed.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "10wsjq2zd6kz9182gnkjzlzywx16j29dgm1gzwynr79xmvgs4r2b")))) + (base32 "0rkm3vyyklpcyaz7zs2a5azyf20bnbj9nd8ik3jgcg2lsd6jgj5m")))) (build-system emacs-build-system) (propagated-inputs (list emacs-elfeed)) @@ -10940,7 +11347,7 @@ ack, ag, helm and pt.") (define-public emacs-helm (package (name "emacs-helm") - (version "3.8.2") + (version "3.8.5") (source (origin (method git-fetch) @@ -10949,7 +11356,7 @@ ack, ag, helm and pt.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xkxlbjpqhfhakmfi664cq7i5968941vpngq94napmhbgqydp4qn")))) + (base32 "1my6c87ia7h99dbbbw1yxcmgacwss1j36rf3swn3k2ab6k34hsf4")))) (build-system emacs-build-system) (propagated-inputs (list emacs-async emacs-popup)) @@ -11159,7 +11566,7 @@ target will call @code{compile} on it.") (define-public emacs-cider (package (name "emacs-cider") - (version "1.2.0") + (version "1.3.0") (source (origin (method git-fetch) @@ -11168,7 +11575,7 @@ target will call @code{compile} on it.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1c21hdrf6b7zc65nr7wqjhcyq5a0f4aa91wrxgzx374q81xym2rf")))) + (base32 "0mxlkxpzn7rzbzpzcw2z9x2ab2zvhrwr8h21kmfn3li3dha73gf1")))) (build-system emacs-build-system) (arguments '(#:exclude ;don't exclude 'cider-test.el' @@ -11524,7 +11931,7 @@ Lua programming language}.") (define-public emacs-ebuild-mode (package (name "emacs-ebuild-mode") - (version "1.55") + (version "1.56") (source (origin (method url-fetch) @@ -11533,7 +11940,7 @@ Lua programming language}.") "ebuild-mode-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1bs2s5g79vrbk8544lvp388cdbig0s121kwk0h10hif4kp56ka9w")))) + (base32 "01q5k7dkyri0s8h7jwng4rw128mx6pdn816zlr0g8rh2798cf91k")))) (build-system emacs-build-system) (arguments (list @@ -11640,6 +12047,26 @@ Emacs that Evil does not cover properly by default, such as @code{help-mode}, being deleted, changed, yanked, or pasted when using evil commands") (license license:gpl3+)))) +(define-public emacs-goggles + (package + (name "emacs-goggles") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minad/goggles") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15bqjmwfdqp2np6fln6xjyw59c5iddvzsyga0lvb8raa753cdh2k")))) + (build-system emacs-build-system) + (home-page "https://github.com/minad/goggles") + (synopsis "Pulse modified region") + (description "Goggles highlights the modified region using pulse. +Currently the commands undo, yank, kill and delete are supported.") + (license license:gpl3+))) + (define-public emacs-goto-chg (package (name "emacs-goto-chg") @@ -12916,6 +13343,27 @@ been adapted to work with mu4e.") "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.") (license license:gpl3+))) +(define-public emacs-tempel + (package + (name "emacs-tempel") + (version "0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minad/tempel") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cq7gg4fh105229my57wbb7v72l8mx957pvsg8k3zc1l0hbc796i")))) + (build-system emacs-build-system) + (home-page "https://github.com/minad/tempel") + (synopsis "Simple templates for Emacs") + (description + "Tempel is a tiny template package for Emacs, which uses the syntax of +the Emacs Tempo library. You may also write your templates in Lisp.") + (license license:gpl3+))) + (define-public emacs-yasnippet (package (name "emacs-yasnippet") @@ -13412,24 +13860,27 @@ the hunks and revert them selectively.") (license license:gpl3+))) (define-public emacs-diminish - (package - (name "emacs-diminish") - (version "0.45") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/myrjola/diminish.el") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6")))) - (build-system emacs-build-system) - (home-page "https://github.com/myrjola/diminish.el") - (synopsis "Diminish minor modes with no modeline display") - (description "@code{emacs-diminish} implements hiding or + ;; XXX: Upstream did not tag last release. + (let ((commit "fd486ef76e4c1d8211ae337a43b8bba106d4bca7") + (revision "1")) + (package + (name "emacs-diminish") + (version (git-version "0.46" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/myrjola/diminish.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vlgn7swwfzy6yr880698h3qsmfcqprcb1jvffkzmbvhvf458szf")))) + (build-system emacs-build-system) + (home-page "https://github.com/myrjola/diminish.el") + (synopsis "Diminish minor modes with no modeline display") + (description "@code{emacs-diminish} implements hiding or abbreviation of the mode line displays (lighters) of minor modes.") - (license license:gpl2+))) + (license license:gpl3+)))) (define-public emacs-use-package (package @@ -14059,7 +14510,7 @@ which code derived from Kelvin H's org-page.") (define-public emacs-meow (package (name "emacs-meow") - (version "1.4.0") + (version "1.4.1") (source (origin (method git-fetch) @@ -14068,7 +14519,7 @@ which code derived from Kelvin H's org-page.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "04vin23bmds8dp2i1xihph9r7v43lcfz6fm23f4nvcyka9rqxc0z")))) + (base32 "1w6586q237c5li8c0rrivissvhn2hic6l199yr9qx92mm9cvic0q")))) (build-system emacs-build-system) (home-page "https://github.com/meow-edit/meow") (synopsis "Yet another modal editing on Emacs") @@ -14600,7 +15051,7 @@ running tests easier.") (define-public emacs-org-transclusion (package (name "emacs-org-transclusion") - (version "1.1.1") + (version "1.2.0") (source (origin (method git-fetch) @@ -14609,7 +15060,7 @@ running tests easier.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qvc8f4i44d8mgkzfi9yld664cmapkbmjv4bf0l8va417ck5sm92")))) + (base32 "01q62mrh0lijj2mwf0jy40zhy3q7w3bq2f4sb0f8hrr8ggh6shxh")))) (build-system emacs-build-system) (home-page "https://nobiot.github.io/org-transclusion/") (synopsis "Enable transclusion with Org Mode") @@ -14720,7 +15171,7 @@ a @url{http://json.org/, JSON} file.") (base32 "0r0k56q58kb133l9x9nbisz9p2kbphfgw1l4g2xp0pjqsc9wvq8z")))) (build-system emacs-build-system) (propagated-inputs - (list emacs-json-reformat emacs-json-snatcher)) + (list emacs-json-snatcher)) (home-page "https://github.com/joshwnj/json-mode") (synopsis "Major mode for editing JSON files") (description "@code{json-mode} extends the builtin js-mode syntax @@ -14949,7 +15400,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.") (define-public emacs-which-key (package (name "emacs-which-key") - (version "3.5.4") + (version "3.6.0") (source (origin (method git-fetch) @@ -14958,7 +15409,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0wz3bb7vzxqi3wqpn46z6ps00m9wjcpv9cfvqi7lyvm920sxzlv7")))) + (base32 "0ph5mrzz3r7x4dmy93v6affl4jznvic97a30mrs3kvhwyr2v4mby")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -15339,6 +15790,28 @@ query them from the comfort of your editor.") buffer's environment.") (license license:gpl3+))) +(define-public emacs-enlive + (package + (name "emacs-enlive") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zweifisch/enlive") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08j6b79vy8ry4ad1abk3hvxjbb4ylrhkvrbrnq1gcikl4h1p2v63")))) + (build-system emacs-build-system) + (home-page "http://github.com/zweifisch/enlive") + (synopsis "Query HTML document with CSS selectors in Emacs") + (description + "Enlive is an Emacs library that allows the user to query HTML documents +from within Elisp using a DSL similar to CSS selectors.") + (license license:gpl3+))) + (define-public emacs-envrc (package (name "emacs-envrc") @@ -15837,41 +16310,44 @@ messaging service.") Slack client.") (license license:gpl3+)))) - (define-public emacs-bash-completion - (package - (name "emacs-bash-completion") - (version "3.1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/szermatt/emacs-bash-completion") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "11j2k3irixp47r2iglxdmjphahqhgnxg98n2xwagwzyq99lsamj4")))) - (inputs (list bash)) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-git-checkout-writable - (λ _ - (for-each make-file-writable (find-files ".")) - #t)) - (add-before 'install 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (emacs-substitute-variables "bash-completion.el" - ("bash-completion-prog" (string-append bash "/bin/bash")))) - #t))))) - (home-page "https://github.com/szermatt/emacs-bash-completion") - (synopsis "Bash completion for the shell buffer") - (description - "@code{bash-completion} defines dynamic completion hooks for shell-mode -and shell-command prompts that are based on Bash completion.") - (license license:gpl2+))) + ;; Need to use a newer commit than the latest version in order to support + ;; completion interfaces that alters the candidate list provided by the + ;; package + (let ((commit "c5eaeed156ab906190c662d491269230967104b1") + (revision "0")) + (package + (name "emacs-bash-completion") + (version (git-version "3.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/szermatt/emacs-bash-completion") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r221iirqsbz13s76r68i496izbirrvcw8ql3wsh205zmxa3jqg1")))) + (inputs (list bash)) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (λ _ + (for-each make-file-writable (find-files ".")))) + (add-before 'install 'configure + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "bash-completion.el" + ("bash-completion-prog" + (search-input-file inputs "/bin/bash")))))))) + (home-page "https://github.com/szermatt/emacs-bash-completion") + (synopsis "Bash completion for the shell buffer") + (description + "@code{bash-completion} defines dynamic completion hooks for shell-mode + and shell-command prompts that are based on Bash completion.") + (license license:gpl2+)))) (define-public emacs-easy-kill (package @@ -16749,31 +17225,29 @@ used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") (license license:gpl3+)))) (define-public emacs-ergoemacs-mode - (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba") - (revision "1")) - (package - (name "emacs-ergoemacs-mode") - (version (git-version "5.16.10.12" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ergoemacs/ergoemacs-mode") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l")))) - (build-system emacs-build-system) - (propagated-inputs - (list emacs-undo-tree)) - (home-page "https://ergoemacs.github.io/") - (synopsis "Emacs mode based on common modern interface and ergonomics") - (description - "This package provides an efficient Emacs keybinding set based on + (package + (name "emacs-ergoemacs-mode") + (version "5.22.2.23") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ergoemacs/ergoemacs-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ipwzl0l26g5qvc1sgmz2ra5vn1j3hl0mnkgzpa3j4p8gsmxdiqr")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-undo-tree)) + (home-page "https://ergoemacs.github.io/") + (synopsis "Emacs mode based on common modern interface and ergonomics") + (description + "This package provides an efficient Emacs keybinding set based on statistics of command frequency, and supports common shortcuts for open, close, copy, cut, paste, undo, redo.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-password-store (let ((commit "918992c19231b33b3d4a3288a7288a620e608cb4") @@ -17097,7 +17571,7 @@ official @command{sqlite3} executable to access SQL database.") (define-public emacs-closql (package (name "emacs-closql") - (version "1.2.0") + (version "1.2.1") (source (origin (method git-fetch) @@ -17107,7 +17581,7 @@ official @command{sqlite3} executable to access SQL database.") (file-name (git-file-name name version)) (sha256 (base32 - "1xa9rzyfm6bfskm2mfckd7jwmjwcraky7vsp7yyrnrqfksrl5na8")))) + "1s9riibws28xjn2bjn9qz3m2gvcmrn18b7g5y6am4sy7rgkx3nwx")))) (build-system emacs-build-system) (propagated-inputs (list emacs-emacsql)) @@ -17124,7 +17598,7 @@ add any additional instance slots.") (define-public emacs-epkg (package (name "emacs-epkg") - (version "3.3.2") + (version "3.3.3") (source (origin (method git-fetch) @@ -17133,7 +17607,7 @@ add any additional instance slots.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18kjp0f5ch4mpd6yrd83p73pw7ykp2lv5686is8vcvyyys53jrf1")))) + (base32 "0d09ddlhvgp8rpybqmzvzpzdp1hjaq97wp2br4g90lpx2vclkgn7")))) (build-system emacs-build-system) (arguments `(#:phases @@ -17165,23 +17639,7 @@ add any additional instance slots.") (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. - -Getting a local copy: - -@example -git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs -cd ~/.emacs.d/epkgs -git submodule init -git config --global url.https://github.com/.insteadOf git@@github.com: -git submodule update -@end example - -Some submodule may be missing. In this case Git will prompt for a GitHub user -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.") +Epkg itself is not a package manager.") (license license:gpl3+))) (define-public emacs-elisp-slime-nav @@ -17543,7 +18001,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "0.10.3") + (version "1.0") (source (origin (method git-fetch) @@ -17552,7 +18010,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1y8vz5grmlhln37lf93a3gxwh46ar0v3jj2dcvzkb36lqf1snq73")))) + (base32 "1y7ngdj2icn8zw5qpjxqj3j9dry4lb7ixgxa148ss5bgsl8pgqnd")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -17564,12 +18022,9 @@ according to a parsing expression grammar.") (setenv "ELDEV_LOCAL" (getcwd)) (make-file-writable "test/project-i/project-i-autoloads.el"))) (add-after 'unpack 'skip-failing-tests - ;; FIXME: 10 tests are failing. Skip them for now. + ;; FIXME: 2 tests are failing. Skip them for now. (lambda _ - (delete-file "test/upgrade-self.el") - (substitute* "test/init.el" - (("init-[1-8].*" line) - (string-append line "(skip-unless nil)\n"))))) + (delete-file "test/upgrade-self.el"))) (add-after 'install 'install-eldev-executable ;; This constructs the eldev executable from templates and ;; installs it in the specified directory. @@ -17587,7 +18042,7 @@ according to a parsing expression grammar.") (("export ELDEV_EMACS.*" all) (string-append "export ELDEV_LOCAL=" site-lisp "\n" all))))))))) (native-inputs - (list texinfo)) ;for tests + (list texinfo)) ;for tests (home-page "https://github.com/doublep/eldev/") (synopsis "Emacs-based build tool for Elisp") (description "Eldev (Elisp Development Tool) is an Emacs-based build tool, @@ -17635,7 +18090,7 @@ interactive commands and functions, such as @code{completing-read}.") (define-public emacs-org-ql (package (name "emacs-org-ql") - (version "0.6") + (version "0.6.1") (source (origin (method git-fetch) (uri (git-reference @@ -17643,7 +18098,7 @@ interactive commands and functions, such as @code{completing-read}.") (commit version))) (sha256 (base32 - "1jfm4ahh58x3a3njigrbfzd86fnbyybbcgca2mgmxddcy6bszfp1")) + "1mpq3v8lxqllnb4afqh7p9av0p9bha8ld7741zaw4hxb1252xgm2")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -18313,7 +18768,7 @@ continue.") (define-public emacs-elisp-refs (package (name "emacs-elisp-refs") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) @@ -18322,7 +18777,7 @@ continue.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b")))) + (base32 "03p95kwvwb3apb3lhhdlaxs952x7sdlxa2qc1c77cjwrm5xzdg9z")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash @@ -18334,23 +18789,14 @@ continue.") (native-inputs (list emacs-ert-runner emacs-undercover)) (arguments - `(#:tests? #t - #: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))))) + (list + #:tests? #t + #:test-command #~(list "ert-runner"))) (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 -dumb text search, @code{elisp-refs} actually parses the code, so it's never -confused by comments or @code{foo-bar} matching @code{foo}.") + (description "@code{elisp-refs} finds references to functions, macros or +variables. Unlike a dumb text search, it actually parses the code, so it's +never confused by comments or @code{foo-bar} matching @code{foo}.") (license license:gpl3+))) (define-public emacs-crdt @@ -18438,21 +18884,23 @@ mode.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/phillord/m-buffer-el") - (commit (string-append "v" version)))) + (url "https://github.com/phillord/m-buffer-el") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809")))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda* (#:key inputs #:allow-other-keys) - (invoke "emacs" "--batch" "-L" "." - "-l" "test/m-buffer-test.el" - "-l" "test/m-buffer-at-test.el" - "-f" "ert-run-tests-batch-and-exit")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "emacs" "--batch" "-L" "." + "-l" "test/m-buffer-test.el" + "-l" "test/m-buffer-at-test.el" + "-f" "ert-run-tests-batch-and-exit"))))))) (build-system emacs-build-system) (home-page "https://github.com/phillord/m-buffer-el") (synopsis "List oriented buffer operations for Emacs") @@ -18663,25 +19111,28 @@ without disturbing alignment.") "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz")))) (build-system emacs-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'remove-test - ;; Fails because of requirement ‘/bin/sh’. - (lambda _ - (let ((file "macrostep-test.el")) - (chmod file #o644) - (emacs-batch-edit-file file - `(progn (progn (goto-char (point-min)) - (re-search-forward - "(ert-deftest macrostep-expand-c-macros") - (beginning-of-line) - (kill-sexp)) - (basic-save-buffer)))))) - (add-before 'install 'check - (lambda _ - (invoke "emacs" "--batch" "-L" "." - "-l" "macrostep-test.el" - "-f" "ert-run-tests-batch-and-exit")))))) + (list + #:tests? #t + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'remove-test + ;; Fails because of requirement ‘/bin/sh’. + (lambda _ + (let ((file "macrostep-test.el")) + (make-file-writable file) + (emacs-batch-edit-file file + `(progn (progn (goto-char (point-min)) + (re-search-forward + "(ert-deftest macrostep-expand-c-macros") + (beginning-of-line) + (kill-sexp)) + (basic-save-buffer)))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "emacs" "--batch" "-L" "." + "-l" "macrostep-test.el" + "-f" "ert-run-tests-batch-and-exit"))))))) (home-page "https://github.com/joddie/macrostep") (synopsis "Interactive macro-expander for Emacs") (description "@code{macrostep} is an Emacs minor mode for interactively @@ -18690,11 +19141,7 @@ you see exactly what happens at each step of the expansion process by pretty-printing the expanded forms inline in the source buffer, which is temporarily read-only while macro expansions are visible. You can expand and collapse macro forms one step at a time, and evaluate or instrument the -expansions for debugging with Edebug as normal (but see “Bugs and known -limitations”, below). Single-stepping through the expansion is particularly -useful for debugging macros that expand into another macro form. These can be -difficult to debug with Emacs’ built-in macroexpand, which continues expansion -until the top-level form is no longer a macro call.") +expansions for debugging with Edebug as normal.") (license license:gpl3+)))) (define-public emacs-parent-mode @@ -18732,6 +19179,34 @@ until the top-level form is no longer a macro call.") (description "Execute menu items as commands, with completion.") (license license:gpl3))) +(define-public emacs-latex-preview-pane + (let ((commit "5297668a89996b50b2b62f99cba01cc544dbed2e") + (revision "0")) + (package + (name "emacs-latex-preview-pane") + (version (git-version "20151021" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jsinglet/latex-preview-pane") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m4f5p53275k8i9p0y105kkrp9nx1bwn6726my9s5dwnjhr5dnp2")))) + (build-system emacs-build-system) + (arguments + (list + ;; The welcome and error message templates are in .txt format. + #:include #~(cons "\\.txt$" %default-include))) + (home-page "https://github.com/jsinglet/latex-preview-pane") + (synopsis "Preview pane to ease LaTeX editing in Emacs") + (description "@code{latex-preview-pane} is a minor mode for previewing +LaTeX files directly in Emacs. It supports PDF previews, with either +@command{pdflatex} or @command{xelatex}, and highlights errors in the LaTeX +buffer.") + (license license:gpl3+)))) + (define-public emacs-isearch-prop (let ((commit "4a2765f835dd115d472142da05215c4c748809f4") (revision "2")) @@ -19118,7 +19593,7 @@ powerful Org contents.") (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "3.12.4") + (version "3.12.5") (source (origin (method git-fetch) @@ -19127,7 +19602,7 @@ powerful Org contents.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0j7394zcbzqfk33g2xdyb3fmw3brxy8v66vvf1j9nqlskfddh7bn")))) + (base32 "1njib0ah1913lk3ma18y8m5k8jqki17i9298cc03k7vvfw3l19wz")))) (build-system emacs-build-system) (propagated-inputs (list emacs-htmlize emacs-org)) @@ -19814,8 +20289,11 @@ perform regression test for packages that provide font-lock rules.") (license license:gpl3+)))) (define-public emacs-racket-mode - (let ((commit "5eb31a284c8db5102bc71b1e2c6ce3a095ae085b") - (revision "6")) + ;; XXX: Upstream does not tag releases, nor does it bump versions. The + ;; "0.0.2" version below does not exist. It might change, tho. See + ;; <https://github.com/greghendershott/racket-mode/issues/389>. + (let ((commit "cef5a55d2b766973db92f9d9ab2210c03fa8ba02") + (revision "7")) (package (name "emacs-racket-mode") (version (git-version "0.0.2" revision commit)) @@ -19828,22 +20306,18 @@ perform regression test for packages that provide font-lock rules.") (file-name (git-file-name name version)) (sha256 (base32 - "081h6rd0gv88m0wvnmghi242kl39x1sz34qr4cq9vz04iwvnmgrm")))) + "0zzk0s4akx6ffsbhylgfflcypkkg36a3accxhmmdd11yn5rckv7f")))) (build-system emacs-build-system) (arguments - `(#:include '("\\.el$" "\\.rkt$"))) + (list + #:include #~(list "\\.el$" "\\.rkt$"))) (propagated-inputs - (list emacs-faceup emacs-pos-tip emacs-s)) + (list emacs-faceup emacs-paredit emacs-pos-tip emacs-s)) (home-page "https://www.racket-mode.com/") (synopsis "Major mode for the Racket language") - (description "@code{racket-mode} provides: - -@itemize -@item Focus on Racket (not various Schemes). -@item Follow DrRacket concepts where applicable. -@item Thorough font-lock and indent. -@end itemize\n") - (license license:gpl3+)))) + (description "Racket mode provides thorough font-lock and indentation. +It follows DrRacket concepts where applicable.") + (license license:gpl2+)))) (define-public emacs-grep-context (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d") @@ -20601,17 +21075,17 @@ autosuggestions with: (define-public emacs-desktop-environment (package (name "emacs-desktop-environment") - (version "0.4.0") + (version "0.5.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.petton.fr/DamienCassou/desktop-environment") + (url "https://github.com/DamienCassou/desktop-environment") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0s33jncjg8c2xlr90qjk1ishwmwxm9yg0z6n3kzilawcilpxidsh")))) + "03rl1z860jmirjrrg0xsjx0bqk73k043c8bz6049zhndh7pidri7")))) (build-system emacs-build-system) (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment") (synopsis "Control your GNU/Linux desktop environment from Emacs") @@ -21226,7 +21700,7 @@ image, rotate it, save modified images, and more.") (define-public emacs-package-lint (package (name "emacs-package-lint") - (version "0.15") + (version "0.16") (source (origin (method git-fetch) @@ -21236,7 +21710,7 @@ image, rotate it, save modified images, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "1cn713g90zyjfq225yvg14c1qshslpi4466m3w102l5g57p8xv44")))) + "0srqcrhbdmd39jdsvh8k3nbrkqrl4nlic59dp5bal5vj495j7126")))) (arguments '(#:include (cons "^data/" %default-include))) (build-system emacs-build-system) @@ -21478,11 +21952,12 @@ accept and reject GitHub pull requests.") (license license:gpl3+)))) (define-public emacs-deadgrep - (let ((commit "7e50e71c6ff4e17dded43e0836dae4e5ec020fcf") + ;; Latest release is not tagged. + (let ((commit "aebaf72e35546fd235b4861399791814e4e4c7d8") (revision "1")) (package (name "emacs-deadgrep") - (version (git-version "0.10" revision commit)) + (version (git-version "0.11" revision commit)) (source (origin (method git-fetch) @@ -21492,7 +21967,7 @@ accept and reject GitHub pull requests.") (file-name (git-file-name name version)) (sha256 (base32 - "1vjhrq02l8gvdn2haygzq7277hnhjchs9xrfpcnh76gqip200gx4")))) + "1qd60winrrpxmrjsx77i24921p6dad9halz5l5s6biwa421zcgr3")))) (build-system emacs-build-system) (inputs (list ripgrep)) (propagated-inputs @@ -21810,7 +22285,7 @@ docstring of the thing at point.") (define-public emacs-rust-mode (package (name "emacs-rust-mode") - (version "1.0.3") + (version "1.0.4") (source (origin (method git-fetch) @@ -21819,7 +22294,7 @@ docstring of the thing at point.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11fdxbv51anrjfdqqpgrqz2md9qkcn5y3524lzjippqi9i31lnjn")))) + (base32 "10972zw2h1dijx08j5h7aa4d717vhrmahzkslisy3dk2gd8y2v0q")))) (build-system emacs-build-system) (arguments `(#:tests? #false ;FIXME: phase fail with status 127 @@ -21834,7 +22309,7 @@ source code.") (define-public emacs-rustic (package (name "emacs-rustic") - (version "2.5") + (version "3.0") (source (origin (method git-fetch) @@ -21843,7 +22318,7 @@ source code.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jx8gzcm9ka2chpq51jx4mfa12wqrj2dsrpxwylfcb9qkqjncbn5")))) + (base32 "18br5yfakfwcbw3vkawhw5sm41xg78cz4bimz36x5xcgbwi88k3p")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash @@ -22385,13 +22860,30 @@ files are easily readable and they work nicely with version control systems.") (base32 "0lwgvgnqf7vihglm0c5bwsxbl4x7f641289cji5s7jwy2dbsqk7g")))) (build-system emacs-build-system) (arguments - `(#:include '("\\.el$" "^data/" "^fonts/") - ;; Compiling "test/" fails with "Symbol’s value as variable is void: - ;; all-the-icons--root-code". Ignoring tests. + `(#:include '("\\.el$" "^data/") #:exclude '("^test/") - #:tests? #f)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-fonts + (lambda* (#:key outputs #:allow-other-keys) + (let ((fonts (string-append (assoc-ref outputs "out") + "/share/fonts"))) + (mkdir-p fonts) + (with-directory-excursion "fonts" + (install-file "all-the-icons.ttf" fonts) + ;; TODO: Unbundle. + (install-file "file-icons.ttf" fonts) + (install-file "octicons.ttf" fonts) + (install-file "weathericons.ttf" fonts))))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (apply invoke "ert-runner" "-l" + (append (find-files "data" "\\.el") + '("all-the-icons-faces.el")))))))) + (native-inputs + (list emacs-f emacs-ert-runner)) (propagated-inputs - (list emacs-f emacs-memoize)) + (list emacs-f emacs-memoize font-awesome font-google-material-design-icons)) (home-page "https://github.com/domtronn/all-the-icons.el") (synopsis "Collect icon fonts and propertize them within Emacs") (description @@ -23409,6 +23901,29 @@ display a terminal in an Emacs buffer.") a vterm buffer and back again.") (license license:gpl3+)))) +(define-public emacs-multi-vterm + (let ((commit "a3df7218c1ecadef779e2c47815201052283f9ea") + (revision "1")) + (package + (name "emacs-multi-vterm") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/suonlight/multi-vterm") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0z6321994c4c8f5iya240pzvhirci9idlc110wjjwsm4pzdrrppj")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-vterm)) + (home-page "https://github.com/suonlight/multi-vterm/") + (synopsis "Manage multiple vterm buffers in Emacs") + (description + "This package provides an Emacs library to manage vterm buffers.") + (license license:gpl3+)))) + (define-public emacs-simple-mpc ;; There have been no releases. (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2") @@ -23457,11 +23972,12 @@ indentation and a command to plot the file.") (license license:gpl3+))) (define-public emacs-cmake-font-lock - (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4") - (revision "1")) + ;; Upstream does not tag commits. The commit hash below matches version + ;; bump. + (let ((commit "0d6111b36a66013aa9b452e664c93308df3b07e1")) (package (name "emacs-cmake-font-lock") - (version (git-version "0.1.5" revision commit)) + (version "0.1.12") (source (origin (method git-fetch) (uri (git-reference @@ -23470,12 +23986,12 @@ indentation and a command to plot the file.") (file-name (git-file-name name version)) (sha256 (base32 - "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf")))) + "12ga8ri7v9r5y46pghk80ww27i7nhbrg0r3s2ina42drlkkliqj4")))) (build-system emacs-build-system) (native-inputs (list emacs-faceup)) (arguments - `(#:include (cons "^admin\\/" %default-include))) + (list #:include #~(cons "^admin\\/" %default-include))) (home-page "https://github.com/Lindydancer/cmake-font-lock") (synopsis "Advanced type-aware syntax-highlighting for CMake") (description "This package highlights function arguments in CMake @@ -23485,7 +24001,7 @@ according to their use.") (define-public emacs-dtache (package (name "emacs-dtache") - (version "0.4") + (version "0.5") (source (origin (method git-fetch) (uri (git-reference @@ -23494,7 +24010,7 @@ according to their use.") (file-name (git-file-name name version)) (sha256 (base32 - "1hndv0qzibkc4177lkam30j8cgvzxd8r60v3dnqn2bmrgxw04j6b")))) + "05gm5l533y8xr00w3c3i4fbhzhib6i7q2bbnpkm08w1n8a08iaj5")))) (arguments (list #:tests? #t @@ -23508,14 +24024,12 @@ according to their use.") (lambda* (#:key inputs #:allow-other-keys) (make-file-writable "dtache.el") (emacs-substitute-variables "dtache.el" - ("dtache-env" (string-append #$output - "/bin/dtache-env")) - ("dtache-dtach-program" (search-input-file - inputs - "/bin/dtach")) - ("dtache-shell-program" (search-input-file - inputs - "/bin/bash")))))))) + ("dtache-env" + (string-append #$output "/bin/dtache-env")) + ("dtache-dtach-program" + (search-input-file inputs "/bin/dtach")) + ("dtache-shell-program" + (search-input-file inputs "/bin/bash")))))))) (build-system emacs-build-system) (native-inputs (list emacs-ert-runner)) (inputs (list dtach)) @@ -23530,7 +24044,7 @@ program dtach.") (define-public emacs-dtrt-indent (package (name "emacs-dtrt-indent") - (version "1.6") + (version "1.7") (source (origin (method git-fetch) (uri (git-reference @@ -23539,7 +24053,7 @@ program dtach.") (file-name (git-file-name name version)) (sha256 (base32 - "1kad2inc9k2z65if26vfiw098yklzxdx9fw8a6yicb87jgc1cz36")))) + "0ihwmkxgbd0mgfvzisjiwvyypa9z21ckyxdnkf9y5lxywjyr39zh")))) (build-system emacs-build-system) (home-page "https://github.com/jscheid/dtrt-indent") (synopsis "Minor mode that guesses the indentation offset") @@ -23577,15 +24091,22 @@ buffer and launches Magit from the status buffer for the project at point.") (define-public emacs-repology (package (name "emacs-repology") - (version "1.1.0") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "repology-" version ".tar")) (sha256 - (base32 "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90")))) + (base32 "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn")))) (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command + #~(list "emacs" "-Q" "-batch" + "-l" "repology-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://elpa.gnu.org/packages/repology.html") (synopsis "Repology API access via Elisp") (description @@ -23687,7 +24208,7 @@ recursively. The results are cached for speed.") (define-public emacs-orgit (package (name "emacs-orgit") - (version "1.7.2") + (version "1.8.0") (home-page "https://github.com/magit/orgit") (source (origin (method git-fetch) @@ -23697,7 +24218,7 @@ recursively. The results are cached for speed.") (file-name (git-file-name name version)) (sha256 (base32 - "0lc2lk9c7b92c1cna2pyb88x9fa4bydcqkp4zcn0khpdv54fmszq")))) + "1hjfsj12qx06m8ji4l2sg502a55sabar4h6c2b2i9nmp1xf5889l")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash emacs-magit)) @@ -23781,7 +24302,7 @@ constant expressions.") (define-public emacs-docker-tramp (package (name "emacs-docker-tramp") - (version "0.1") + (version "0.1.1") (source (origin (method git-fetch) @@ -23791,7 +24312,7 @@ constant expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg")))) + "05966l3af9lg4nlsz6wrq282ipwxh19ggirfyabjrr1syw3v2crn")))) (build-system emacs-build-system) (home-page "https://github.com/emacs-pe/docker-tramp.el") (synopsis "TRAMP integration for docker containers") @@ -23802,7 +24323,7 @@ constant expressions.") (define-public emacs-docker (package (name "emacs-docker") - (version "1.4.0") + (version "2.1.2") (source (origin (method git-fetch) @@ -23811,14 +24332,14 @@ constant expressions.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0s57dq04d97dvrbxzicyk5z9f1mn8gf9w4nbgrxd9dnjqz335173")))) + (base32 "0wgdabjkcwi9a3615imny8xysbrydnlcz9rmkavp22kypk6ydcjw")))) (inputs (list emacs-undercover)) (propagated-inputs - (list emacs-dash + (list emacs-aio + emacs-dash emacs-docker-tramp emacs-json-mode - emacs-magit-popup emacs-s emacs-tablist emacs-transient)) @@ -23832,7 +24353,7 @@ constant expressions.") (define-public emacs-dockerfile-mode (package (name "emacs-dockerfile-mode") - (version "1.5") + (version "1.6") (source (origin (method git-fetch) @@ -23842,7 +24363,7 @@ constant expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "09pd8mfa45fy95mdg52fsafj3d1d5l52rskmw6q5np59dyzwch1b")))) + "0nmybfc9qch0jng06qgs2xb41dl9v52ckc9nc20d7hv3x36w555x")))) (build-system emacs-build-system) (propagated-inputs (list emacs-s)) @@ -24140,6 +24661,28 @@ files in Elisp.") (description "Emacs Java IDE using Eclipse JDT Language Server.") (license license:gpl3+))) +(define-public emacs-lsp-metals + (package + (name "emacs-lsp-metals") + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-lsp/lsp-metals") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ca5xq1l3lscx36pcdnpy2axgyikjrl18naqr140kr1y500sy37s")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-dap-mode emacs-lsp-treemacs emacs-scala-mode)) + (home-page "https://github.com/emacs-lsp/lsp-metals") + (synopsis "Scala support for LSP mode") + (description "This package is an Emacs Scala IDE using LSP mode to connect +to Metals.") + (license license:gpl3+))) + (define-public emacs-lsp-ui (package (name "emacs-lsp-ui") @@ -24346,7 +24889,7 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".") (define-public emacs-forge (package (name "emacs-forge") - (version "0.3.0") + (version "0.3.1") (source (origin (method git-fetch) @@ -24355,7 +24898,7 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "15zm5azgl8gyd91i40a00ih4s2iwg1r8007n2gcfnmi6m4b7s0ak")))) + (base32 "112mghydfzrbiwnzrb2f9d74y6ja702157p66ss94kqps0lj7rkp")))) (build-system emacs-build-system) (arguments `(#:tests? #f ;no tests @@ -24803,6 +25346,30 @@ based on diff output.") be used in @code{dired-mode}.") (license license:gpl3+)))) +(define-public emacs-all-the-icons-ibuffer + (package + (name "emacs-all-the-icons-ibuffer") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/seagle0128/all-the-icons-ibuffer") + (commit (string-append"v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c1fkkwzxxa90fd5q5x6xlj48p8rhj4bs7h8wxx41w6wsggk2fm2")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-all-the-icons)) + (home-page "https://github.com/seagle0128/all-the-icons-ibuffer") + (synopsis "Display icons for all buffers in ibuffer") + (description + "This package uses @code{emacs-all-the-icons} to display icons in Ibuffer +buffers.") + (license license:gpl3+))) + (define-public emacs-exwm-edit (let ((commit "e1291e311840f1049106fe98cec032a1c75efd2b") (version "0.0.1") @@ -24940,29 +25507,26 @@ files.") (license license:gpl3+))) (define-public emacs-add-node-modules-path - (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708") - (version "1.2.0") - (revision "10")) - (package - (name "emacs-add-node-modules-path") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/codesuki/add-node-modules-path") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306")))) - (build-system emacs-build-system) - (home-page "https://github.com/codesuki/add-node-modules-path") - (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}") - (description "This package searches the parent directories of the + (package + (name "emacs-add-node-modules-path") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/codesuki/add-node-modules-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "039rfgwzmavgfa9gc7mh7hiw46gmgrhndsjib5kixynvcpl1y42l")))) + (build-system emacs-build-system) + (home-page "https://github.com/codesuki/add-node-modules-path") + (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}") + (description "This package searches the parent directories of the current file for the project's @file{node_modules/.bin/} directory, allowing Emacs to find project-specific installations of packages.") - (license license:expat)))) + (license license:expat))) (define-public emacs-flow-minor-mode (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e") @@ -25259,7 +25823,7 @@ through Dash docsets.") (define-public emacs-devdocs (package (name "emacs-devdocs") - (version "0.3") + (version "0.4") (source (origin (method url-fetch) @@ -25267,7 +25831,7 @@ through Dash docsets.") "https://elpa.gnu.org/packages/" "devdocs-" version ".tar")) (sha256 - (base32 "03asw26nsnnx7hmyqhksq165vpii0h8y6qjjn0x4sdkyyns16yp7")))) + (base32 "05xmxqpp1cpf03y7idpqdsmbj30cissscy80ng5hqc3028kr2jqm")))) (build-system emacs-build-system) (home-page "https://github.com/astoff/devdocs.el") (synopsis "Emacs viewer for DevDocs") @@ -25451,29 +26015,28 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.5.2") + (version "2.5.2.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "1j71x3q6x9xyf21capjxcp85b7z2x9khrqsd2sy2s3qwxz3jbg5n")))) + (base32 "104nn6xdmcviqqv4cx5llhwj1sh4q04w3h9s8gimmi2kg0z8s36r")))) (build-system emacs-build-system) (arguments - `(#:emacs ,emacs ;need D-Bus - #:phases - (modify-phases %standard-phases - ;; All but one "/bin/" directory refer to remote - ;; environments, which may not be Guix. Do not patch them - ;; blindly. However, local encoding shell has to be patched. - (replace 'patch-el-files - (lambda* (#:key inputs #:allow-other-keys) - (let ((sh (assoc-ref inputs "bash")) - (file "tramp.el")) - (emacs-substitute-variables file - ("tramp-encoding-shell" (string-append sh "/bin/sh")))) - #t))))) + (list + #:emacs emacs ;need D-Bus + #:phases + #~(modify-phases %standard-phases + ;; All but one "/bin/" directory refer to remote + ;; environments, which may not be Guix. Do not patch them + ;; blindly. However, local encoding shell has to be patched. + (replace 'patch-el-files + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "tramp.el" + ("tramp-encoding-shell" + (search-input-file inputs "/bin/sh")))))))) (inputs (list bash)) (home-page "https://savannah.gnu.org/projects/tramp") @@ -25812,14 +26375,14 @@ advice system without dropping support for Emacs<24.4.") (define-public emacs-soap-client (package (name "emacs-soap-client") - (version "3.2.0") + (version "3.2.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "soap-client-" version ".tar")) (sha256 - (base32 "1s0bwnip22nj6kgjadd4zlj9j729hiyyjb66sr51i2mddnf9i95s")))) + (base32 "0ajv6l1p8dinnlybwzvv4c2i6291is6isjxb2h4apg27g66qbcki")))) (build-system emacs-build-system) (home-page "httpa://elpa.gnu.org/packages/soap-client.html") (synopsis "Access SOAP web services") @@ -25925,6 +26488,54 @@ commands in @code{evil-mode}.") Emacs windows and tmux panes.") (license license:expat))) +(define-public emacs-everywhere + ;; No upstream release. Extract version from main file. + (let ((commit "ace53396a66ed4b753f42c04a5a0db2bcd770423") + (revision "0")) + (package + (name "emacs-everywhere") + (version (git-version "0.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tecosaur/emacs-everywhere") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p55shxvqm1713af33mfglny7rpi31d42wvgwylcsfy4jvnsq8bb")))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "emacs-everywhere.el" + (("\"xclip\"") + (string-append "\"" + (search-input-file inputs "/bin/xclip") + "\"")) + (("\"xdotool\"") + (string-append "\"" + (search-input-file inputs "/bin/xdotool") + "\"")) + (("\"xprop\"") + (string-append "\"" + (search-input-file inputs "/bin/xprop") + "\"")) + (("\"xwininfo\"") + (string-append "\"" + (search-input-file inputs "/bin/xwininfo") + "\"")))))))) + (inputs (list xclip xdotool xprop xwininfo)) + (build-system emacs-build-system) + (home-page "https://github.com/tecosaur/emacs-everywhere") + (synopsis "System-wide popup Emacs windows for quick edits") + (description "@code{emacs-everywhere} launches a new Emacs frame, and the +contents of the buffer are pasted into the previously focused application on +deletion of the frame.") + (license license:gpl3+)))) + (define-public emacs-xclip (package (name "emacs-xclip") @@ -26052,25 +26663,27 @@ it forcibly (define-public emacs-elpher (package (name "emacs-elpher") - (version "3.2.2") + (version "3.3.2") (source (origin (method git-fetch) (uri (git-reference - (url "git://thelambdalab.xyz/elpher.git") + (url "git://thelambdalab.xyz/elpher") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0fzqm5gpadqzsl71r1bq72ki8dw8125v4nmhdd3b4rz9jy1rqm2g")))) + (base32 "1p43x7mf14q84armxhp294xaclq5c6mpggq619ravia0kdrqij1w")))) (build-system emacs-build-system) + (arguments + (list + #:emacs emacs-no-x ;need libxml support + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'build-doc + (lambda _ + (invoke "makeinfo" "elpher.texi")))))) (native-inputs (list texinfo)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'build-doc - (lambda _ - (invoke "makeinfo" "elpher.texi")))))) (home-page "gopher://thelambdalab.xyz/1/projects/elpher/") (synopsis "Gopher and gemini client for Emacs") (description "Elpher is a full-featured gopher and gemini client for @@ -26254,6 +26867,33 @@ format.") files to numerous other formats via Pandoc.") (license license:gpl3+))) +(define-public emacs-ox-reveal + (let ((commit "07900f29fada581d0e1b0f1e2057cea5e1ba8ce1") + (revision "0")) + (package + (name "emacs-ox-reveal") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hexmode/ox-reveal") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "132b0llxda8jivabvm2ssbrdny7q2q1c0z4ikb12k4kia3fvg6cg")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-org)) + (home-page "https://github.com/hexmode/ox-reveal") + (synopsis "reveal.js Presentation Back-End for Org export engine") + (description + "Org Reveal exports your Org documents to @code{reveal.js} presentations. +With org-reveal, you can create beautiful presentations with 3D effects from +simple but powerful Org contents.") + (license license:gpl3+)))) + (define-public emacs-wc-mode (package (name "emacs-wc-mode") @@ -26313,14 +26953,14 @@ federated microblogging social network.") (define-public emacs-ebdb (package (name "emacs-ebdb") - (version "0.8.8") + (version "0.8.13") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "ebdb-" version ".tar")) (sha256 - (base32 "035xakji5vypdpc06qp9yhg8ny7qn80h8kax6cl80p0lljplzrnn")))) + (base32 "0bbv2n01x9zacnrd00krjkra6amn2cbxlpb5rkjcsyg05zmdkr5q")))) (build-system emacs-build-system) (home-page "https://github.com/girzel/ebdb") (synopsis "EIEIO port of BBDB, Emacs's contact-management package") @@ -26380,6 +27020,30 @@ interfaces. Several interfaces are supported beside the classic Ido: Popup, Helm and Ivy.") (license license:gpl3+))) +(define-public emacs-spell-fu + ;; There are no tagged releases upstream on gitlab, instead we are using the + ;; most recent commit. + (let ((commit "50be652a6ec8590c3098f46094a92213623349c1") (revision "0")) + (package + (name "emacs-spell-fu") + (version (git-version "0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ideasman42/emacs-spell-fu") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0n7qwnirvkh2aprb7l1wj9rywdsn33a7s32716m3afcvy7z9pyh4")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/ideasman42/emacs-spell-fu") + (synopsis "Fast highlighting of misspelled words") + (description + "This is a light weight spell checker for Emacs, +that runs from the syntax highlighter without starting external processes.") + (license license:gpl3+)))) + (define-public emacs-org-emms (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533") (revision "1")) @@ -26654,7 +27318,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "2.0.0") + (version "2.2.0") (source (origin (method git-fetch) @@ -26663,7 +27327,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0p1h5zpzhxkmhiczds453y6mf5xf7pbcqlijq6z8gy10dxx4jppf")))) + (base32 "1mnfbr312dqifsdngb29kvggfirfclc9ncaw5srd52hnwc5n0rxi")))) (build-system emacs-build-system) (home-page "https://protesilaos.com/modus-themes/") (synopsis "Accessible themes (WCAG AAA)") @@ -26954,6 +27618,34 @@ Google guidelines.") (home-page "https://github.com/flycheck/flycheck-google-cpplint") (license license:gpl3+)))) +(define-public emacs-highlight-doxygen + ;; Upstream does not tag releases. Commit below matches version bump. + (let ((commit "eec4874e2e89d4eb39091aad89a67dff8f8ec84c")) + (package + (name "emacs-highlight-doxygen") + (version "0.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Lindydancer/highlight-doxygen") + (commit commit))) + (sha256 + (base32 + "0r3rv1px43r265716l3g20c1ss4381h1mc1kjxin22vdmrj6cmxy")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/Lindydancer/highlight-doxygen") + (synopsis "Highlight Doxygen comments in Emacs, including code blocks") + (description + "This package highlights Doxygen comments. + +In addition to highlighting Doxygen commands and their arguments, entire +Doxygen comment are highlighted, making them stand out compared to other +comments. The code blocks are highlighted according to the +language they are written in.") + (license license:gpl3+)))) + (define-public emacs-helm-fish-completion (package (name "emacs-helm-fish-completion") @@ -27001,54 +27693,52 @@ other @code{helm-type-file} sources such as @code{helm-locate}.") (license license:gpl3+))) (define-public emacs-telega-server - (let ((commit "5739794d2d0c8a4e7b77c2e37a097e19f80ac9f0") - (revision "0")) - (package - (name "emacs-telega-server") - (version (git-version "0.8.2" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/zevlg/telega.el") - (commit commit))) - (sha256 - (base32 "1am0b2bjjkw7zd0yq39v015a08dcbk43j4d4h8y2q8hj53ryfk5a")) - (file-name (git-file-name "emacs-telega" version)) - (patches - (search-patches "emacs-telega-path-placeholder.patch" - "emacs-telega-test-env.patch")))) - (build-system gnu-build-system) - (arguments - (list - #:make-flags - #~(list (string-append "CC=" #$(cc-for-target)) - (string-append "INSTALL_PREFIX=" #$output "/bin")) - #:phases - #~(modify-phases %standard-phases - (add-before 'configure 'enter-subdirectory - (lambda _ (chdir "server"))) - (replace 'configure - (lambda _ - (substitute* "run_tests.py" - (("^(TELEGA_SERVER = ).*$" _all prefix) - (string-append prefix - "\"" #$output "/bin/telega-server\"\n"))))) - (delete 'check) - (add-after 'install 'check - (assoc-ref %standard-phases 'check)) - (add-before 'install-license-files 'leave-subdirectory - (lambda _ (chdir "..")))) - #:test-target "test")) - (inputs - (list tdlib libappindicator)) - (native-inputs - (list python pkg-config)) - (home-page "https://zevlg.github.io/telega.el/") - (synopsis "Server process of Telega") - (description "Telega-server is helper program to interact with Telegram + (package + (name "emacs-telega-server") + (version "0.8.03") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zevlg/telega.el") + (commit (string-append "v" version)))) + (sha256 + (base32 "1ffy17i5fi1bw5r5m6x372c52hc1k83wxdxvi4z0hixyklj48nsv")) + (file-name (git-file-name "emacs-telega" version)) + (patches + (search-patches "emacs-telega-path-placeholder.patch" + "emacs-telega-test-env.patch")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "INSTALL_PREFIX=" #$output "/bin")) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'enter-subdirectory + (lambda _ (chdir "server"))) + (replace 'configure + (lambda _ + (substitute* "run_tests.py" + (("^(TELEGA_SERVER = ).*$" _all prefix) + (string-append prefix + "\"" #$output "/bin/telega-server\"\n"))))) + (delete 'check) + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'install-license-files 'leave-subdirectory + (lambda _ (chdir "..")))) + #:test-target "test")) + (inputs + (list tdlib libappindicator)) + (native-inputs + (list python pkg-config)) + (home-page "https://zevlg.github.io/telega.el/") + (synopsis "Server process of Telega") + (description "Telega-server is helper program to interact with Telegram service, and connect it with Emacs via inter-process communication.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-telega (package @@ -27674,7 +28364,7 @@ data, including buffers, window configuration, variables, and more.") (define-public emacs-parseedn (package (name "emacs-parseedn") - (version "1.0.6") + (version "1.1.0") (source (origin (method git-fetch) @@ -27683,7 +28373,7 @@ data, including buffers, window configuration, variables, and more.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xp2d42yvqkimb7a15bv89bj0124lljw9cb36g49m13d7ny4fafn")))) + (base32 "01j8nrkcm2s0ps277b5zb4pys29lk4cq49rlcqpj19gbfpkwcvdv")))) (build-system emacs-build-system) (propagated-inputs (list emacs-a emacs-parseclj)) @@ -27697,7 +28387,7 @@ It uses parseclj's shift-reduce parser internally.") (define-public emacs-parseclj (package (name "emacs-parseclj") - (version "1.0.6") + (version "1.1.0") (source (origin (method git-fetch) @@ -27706,7 +28396,7 @@ It uses parseclj's shift-reduce parser internally.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0n0m3xc2dawgdhb68zznpsbzbbvf9fwgf9v8pzzwa2jncgi1yhh0")))) + (base32 "0ifc9gyp7hr97ssnsqxiwrzmldqysz874crlg6jm4iy5l9fyls22")))) (build-system emacs-build-system) (propagated-inputs (list emacs-a)) (home-page "https://cider.mx") @@ -28148,7 +28838,7 @@ launching other commands/applications from within Emacs, similar to the (define-public emacs-no-littering (package (name "emacs-no-littering") - (version "1.2.4") + (version "1.2.6") (source (origin (method git-fetch) @@ -28157,7 +28847,7 @@ launching other commands/applications from within Emacs, similar to the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1gk1l5zk5r8alnzfbfsck5gxcwr55k04rd08sxmb4j9jds6w6zyv")))) + (base32 "1098wm46gi15pzh065fpxfjf8lr7jf2sg48yy9yzdi0dwdyz6l4c")))) (build-system emacs-build-system) (home-page "https://github.com/emacscollective/no-littering") (synopsis "Help keep @file{~/.emacs.d/} clean") @@ -28624,7 +29314,7 @@ snippets for Emacs.") (define-public emacs-org-roam (package (name "emacs-org-roam") - (version "2.2.0") + (version "2.2.1") (source (origin (method git-fetch) @@ -28633,7 +29323,7 @@ snippets for Emacs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q3nhw05wnqh1qgggxsj8wki4ihciqlkic2x7qbcsskjqm73j1r7")))) + (base32 "0c5vxz423lz386dxa9nqyf396jmyb36q79paxf27is1dhq1vwd5w")))) (build-system emacs-build-system) (arguments (list @@ -29490,14 +30180,14 @@ work on alists, hash-table and arrays. All functions are prefixed with (define-public emacs-xref (package (name "emacs-xref") - (version "1.3.2") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xref-" version ".tar")) (sha256 - (base32 "13bsaxdxwn14plaam0hsrswngh3rm2k29v5ybjgjyjy4d5vwz78j")))) + (base32 "1vbpplw0sngymmawi940nlqmncqznb5vp7zi0ib8v66g3y33ijrf")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/xref.html") (synopsis "Cross-referencing commands") @@ -29678,7 +30368,7 @@ and preferred services can easily be configured.") (define-public emacs-vertico (package (name "emacs-vertico") - (version "0.19") + (version "0.21") (source (origin (method git-fetch) @@ -29687,7 +30377,7 @@ and preferred services can easily be configured.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1q167rwz2g58p0xrdn41vq5knmm5s6k60imnmgiprx4qz9dik2vg")))) + (base32 "1gfn95f7rdfwxks3wsr8r9pq8p3nhr5pbaawfwnwgcgb4g27scgs")))) (build-system emacs-build-system) (arguments `(#:phases @@ -29716,7 +30406,7 @@ complementary packages.") (define-public emacs-wisp-mode (package (name "emacs-wisp-mode") - (version "0.2.9") + (version "0.3.0") (source (origin (method hg-fetch) @@ -29725,7 +30415,7 @@ complementary packages.") (changeset (string-append "wisp-mode-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xdzyj3yqzvdg0vrllp9wi8cswpa89i0gmiz22a25brw4qy185ar")))) + (base32 "189baxk27rq3s6h6mh0m25sv504853rpvyxxdcwx6wdy7l88qany")))) (build-system emacs-build-system) (home-page "https://www.draketo.de/software/wisp") (synopsis "Syntax highlighting and indentation support for Wisp files") @@ -29821,6 +30511,39 @@ dict.org) from within Emacs.") to the @url{https://multitran.com} online dictionary.") (license license:gpl3+))) +(define-public emacs-blacken + (package + (name "emacs-blacken") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/pythonic-emacs/blacken") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pf9yllx0h78m925sdrg6hbv54ky2pi7cpkdsnx891qjsahvjnpy")))) + (build-system emacs-build-system) + (inputs + (list python-black)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-python-black + (lambda* (#:key inputs #:allow-other-keys) + (make-file-writable "blacken.el") + (emacs-substitute-variables "blacken.el" + ("blacken-executable" + (search-input-file inputs "/bin/black")))))))) + (home-page "https://github.com/pythonic-emacs/blacken") + (synopsis "Python Black for Emacs") + (description +"Use the @command{python} @command{black} package to reformat +@command{python} buffers.") + (license license:gpl3))) + (define-public emacs-kibit-helper (package (name "emacs-kibit-helper") @@ -29917,6 +30640,56 @@ It includes syntax highlighting, automatic indentation, and imenu integration. Unlike Emacs' generic ASM mode, it understands NASM-specific syntax.") (license license:unlicense))) +(define-public emacs-validate-html + ;; XXX: Upstream did not tag commits yet. However, commit below matches the + ;; last version bump. Version is extracted from the keyword in main file. + (let ((commit "748e874d50c3a95c61590ae293778e26de05c5f9")) + (package + (name "emacs-validate-html") + (version "1.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/arthurgleckler/validate-html") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b2b5dm85jwgkqvga23r3vfya07vxv2n7a3a6r1pxpk8asqlw41c")))) + (build-system emacs-build-system) + (home-page "https://github.com/arthurgleckler/validate-html") + (synopsis "Run the W3C HTML Validator directly from Emacs") + (description + "@command{emacs-validate-html} installs the command @code{validate-html}, +which sends the current buffer to the World Wide Web Consortium’s HTML +Validator service and displays the results in a buffer in Compilation mode.") + (license license:gpl3+)))) + +(define-public emacs-volatile-highlights + ;; XXX: Upstream does not tag releases. Commit below matches version bump. + (let ((commit "9a20091f0ce7fc0a6b3e641a6a46d5f3ac4d8392")) + (package + (name "emacs-volatile-highlights") + (version "1.15") + (source (origin + (method git-fetch) + (uri (git-reference + (url "http://github.com/k-talo/volatile-highlights.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dsa6769lphyyv7yg92vkkpk395w52q4m7hdn8xy7s6lh5c6a955")))) + (build-system emacs-build-system) + (home-page "http://github.com/k-talo/volatile-highlights.el") + (synopsis "Emacs minor mode for visual feedback on some operations") + (description "@code{volatile-highlights-mode} brings visual feedback to +some operations by highlighting portions relating to the operations. All of +highlights made by this library will be removed when any new operation is +executed.") + (license license:gpl3+)))) + (define-public emacs-global-tags (let ((commit "06db25d91cc8bfb5e24e02adc04de1226c7e742d") (revision "0")) @@ -29965,6 +30738,52 @@ extended by the user via @code{setup-define}. A list of currently known local macros are documented in the docstring for @code{setup}.") (license license:gpl3+))) +(define-public emacs-ed-mode + ;; XXX: Upstream did not tag any commits yet. + (let ((commit "69f4fb34eca8df6a3bfe24bd8d8075551f0264ac") + (revision "0")) + (package + (name "emacs-ed-mode") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/ryanprior/ed-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "058siccx6znw1bcp820bll0jg300xz8w1wf97zr1fa6jwfxyhhvi")))) + (build-system emacs-build-system) + (home-page "https://github.com/ryanprior/ed-mode") + (synopsis "Emacs ed emulation") + (description +"@code{ed-mode} lets you interact with Emacs buffers like you would do +with the ed editor.") + (license license:gpl3+)))) + +(define-public emacs-alsamixer-el + (package + (name "emacs-alsamixer-el") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/remvee/alsamixer-el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c40vycphv5nf374rp8pnzvi50vlmgab3wrdq92hyprjw76gwxhk")))) + (build-system emacs-build-system) + (home-page "https://github.com/remvee/alsamixer-el") + (synopsis "Emacs interface to amixer") + (description "@code{emacs-alsamixer-el} provides basic commands to control +audio volume via amixer.") + (license license:gpl3+))) + (define-public emacs-fennel-mode (package (name "emacs-fennel-mode") @@ -29984,3 +30803,33 @@ local macros are documented in the docstring for @code{setup}.") "Fennel mode provides font-lock, indentation, navigation, and REPL for Fennel code within Emacs.") (license license:gpl3+))) + +(define-public emacs-osm + (package + (name "emacs-osm") + (version "0.6") + (home-page "https://github.com/minad/osm") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0aiq2z9vv4jsl0s0x9vpjgp0mnn27wanhirzj3h80ivgiphzs7l5")))) + (build-system emacs-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-curl-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "osm.el" + (("\"curl( ?)\"" _ space) + (string-append "\"" + (search-input-file inputs "/bin/curl") + space "\"")))))))) + (inputs (list curl)) + (synopsis "OpenStreetMap viewer for Emacs") + (description + "This package provides an OpenStreetMap viewer for Emacs, featuring +zoomable and moveable map display, display of tracks and POIs from GPX files, +parallel fetching of tiles with cURL, and more.") + (license license:gpl3+))) |