diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 1588 |
1 files changed, 1150 insertions, 438 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 464d21259a..81ae90ea31 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> @@ -34,7 +34,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com> ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019, 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> @@ -62,7 +62,7 @@ ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> ;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 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> @@ -70,7 +70,7 @@ ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc> -;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com> ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com> @@ -86,6 +86,9 @@ ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> ;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com> +;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com> +;;; Copyright © 2020 Noah Evans <noah@nevans.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -149,6 +152,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages libevent) + #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages music) #:use-module (gnu packages version-control) @@ -307,38 +311,12 @@ using geiser.") (home-page "https://www.gnu.org/software/hyperbole/") (synopsis "The Everyday Hypertextual Information Manager") (description - "GNU Hyperbole, or just Hyperbole, is an easy-to-use, yet powerful and -programmable hypertextual information management system implemented as a GNU -Emacs package. It offers rapid views and interlinking of all kinds of textual -information, utilizing Emacs for editing. It can dramatically increase your -productivity and greatly reduce the number of keyboard/mouse keys you'll need -to work efficiently. Hyperbole lets you: - -@itemize -@item Quickly create hyperlink buttons either from the keyboard or by dragging -between a source and destination window with a mouse button depressed. Later, -activate buttons by pressing/clicking on them or by giving the name of the -button. -@item Activate many kinds of \"implicit buttons\" recognized by context within -text buffers, e.g. URLs, grep output lines, and git commits. A single key or -mouse button automatically does the right thing in dozens of contexts; just -press and go. -@item Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6, -that all renumber automatically as any node or tree is moved in the outline. -Each node also has a permanent hyperlink anchor that you can reference from -any other node. -@item Manage all your contacts quickly with hierarchical categories and embed -hyperlinks within each entry. Or create an archive of documents with -hierarchical entries and use the same search mechanism to quickly find any -matching entry. -@item Use single keys to easily manage your Emacs windows or frames and -quickly retrieve saved window and frame configurations. -@item Search for things in your current buffers, in a directory tree or across -major web search engines with the touch of a few keys. -@end itemize - -The common thread in all these features is making retrieval, management and -display of information fast and easy. That is Hyperbole's purpose.") + "GNU Hyperbole, or just Hyperbole, is a programmable hypertextual +information management system. It offers rapid views and interlinking of all +kinds of textual information, utilizing Emacs for editing. In particular, +Hyperbole lets you quickly create and activate hyperlink buttons, build +outlines, manage all your contacts, your windows and frames, and search across +buffers, directory trees, or the web.") (license license:gpl3+))) (define-public emacs-paredit @@ -366,6 +344,26 @@ for those who may want transient periods of unbalanced parentheses, such as when typing parentheses directly or commenting out code line by line.") (license license:gpl3+))) +(define-public emacs-project + (package + (name "emacs-project") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "project-" version ".el")) + (sha256 + (base32 "0cpf69m41h8gfcqnq72h11925zdk35b7hw7bfy83xm83xwp12rxx")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-xref" ,emacs-xref))) + (home-page "http://elpa.gnu.org/packages/project.html") + (synopsis "Operations on the current project") + (description + "This library contains generic infrastructure for dealing with projects, +some utility functions, and commands using that infrastructure.") + (license license:gpl3+))) + (define-public git-modes (package (name "emacs-git-modes") @@ -388,42 +386,38 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (license license:gpl3+))) (define-public emacs-with-editor - ;; This commit fixes an (magit) issue with emacs 28, see - ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00211.html - (let ((commit "c4768f51c7415119519b4626d8643d60e584098c") - (revision "1")) - (package - (name "emacs-with-editor") - (version (git-version "2.9.4" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/with-editor") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "01ysb9pnscpmingay6njdywkqgj4hn5l5d9igsg3x7p7061jwwix")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda _ - (invoke "makeinfo" "--no-split" - "-o" "with-editor.info" "with-editor.texi")))))) - (native-inputs - `(("texinfo" ,texinfo))) - (propagated-inputs - `(("emacs-dash" ,emacs-dash))) - (home-page "https://github.com/magit/with-editor") - (synopsis "Emacs library for using Emacsclient as EDITOR") - (description - "This package provides an Emacs library to use the Emacsclient as + (package + (name "emacs-with-editor") + (version "3.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/with-editor") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hw6i5r3adkm4988badi94825lywkrh3sddiff4z04kj1nj15d0k")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (invoke "makeinfo" "--no-split" + "-o" "with-editor.info" "with-editor.texi")))))) + (native-inputs + `(("texinfo" ,texinfo))) + (propagated-inputs + `(("emacs-async" ,emacs-async))) + (home-page "https://github.com/magit/with-editor") + (synopsis "Emacs library for using Emacsclient as EDITOR") + (description + "This package provides an Emacs library to use the Emacsclient as @code{$EDITOR} of child processes, making sure they know how to call home. For remote processes a substitute is provided, which communicates with Emacs on stdout instead of using a socket as the Emacsclient does.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-libgit (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a") @@ -708,16 +702,16 @@ Alternatively the menu can be bound globally, for example: (define-public emacs-moody (package (name "emacs-moody") - (version "0.5.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tarsius/moody") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1xyw4l42053595r76lj8safsx6pj25as0107wd96by3h7dg9m586")))) + (version "0.5.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tarsius/moody") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n8p864yj5m3n7f9qiq9hy24dwfvv0a0wchx2818rppff6vfq3hf")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/moody") (synopsis "Tabs and ribbons for Emacs mode-line") @@ -806,12 +800,12 @@ deliver data to mobile and web apps.") (license license:gpl3+))) (define-public emacs-graphql-mode - ;; No tagged commit. + ;; No tagged commit. No "Version" keyword either. (let ((commit "9bed568ec86242dbe30bdbab324aa0eb2cd9bf08") (revision "1")) (package (name "emacs-graphql-mode") - (version commit) + (version (git-version "0" revision commit)) (source (origin (method git-fetch) @@ -1299,13 +1293,13 @@ in certain cases. It also enables recursion for anonymous functions.") (define-public emacs-xr (package (name "emacs-xr") - (version "1.19") + (version "1.20") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar")) (sha256 - (base32 "1aa3iqh0r635jw8k89zh8y4am9d4hfrqpk9mrdh2b51invjn8llq")))) + (base32 "0i3vfsp110z60gabn9x9rv21fvm7nnr234mvmpp7gx4l4hpadvzy")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/xr.html") (synopsis "Convert string regexp to rx notation") @@ -1353,6 +1347,28 @@ skip set strings, which are arguments to @code{skip-chars-forward} and and reused.") (license license:gpl3+)))) +(define-public emacs-airline-themes + (package + (name "emacs-airline-themes") + (version "1.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AnthonyDiGirolamo/airline-themes") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jx17g8a6pxkw4zlx3fwhqgxfzcf3019k8fklykamfrkharzsc2l")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-powerline" ,emacs-powerline))) + (home-page "https://github.com/AnthonyDiGirolamo/airline-themes") + (synopsis "Vim-airline themes for Emacs Powerline") + (description + "This is a port of the themes in Vim-airline to Emacs Powerline.") + (license license:expat))) + (define-public emacs-ample-theme (let ((commit "536966adf882446165a1f756830028faa792c7a9") (revision "1")) @@ -1402,14 +1418,14 @@ optional minor mode which can apply this command automatically on save.") (define-public emacs-relint (package (name "emacs-relint") - (version "1.18") + (version "1.19") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "relint-" version ".tar")) (sha256 - (base32 "0zfislsksrkn6qs0w26yaff5xr7xqy2x235dcdpz8s2v35b6dhci")))) + (base32 "14z3i01pq5ljhjf5yfcjw7hxljcrwjnizkrdc1qyh9b6h3ic1bbi")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xr" ,emacs-xr))) (home-page "https://github.com/mattiase/relint") @@ -1616,14 +1632,14 @@ incrementally confined in Isearch manner.") (define emacs-emms-print-metadata (package (name "emacs-emms-print-metadata") - (version "6.2") + (version "6.3") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "emms-" version ".tar")) (sha256 - (base32 "0d95sjrh9vpl41vz26y8clgji987z15lj4ky2kr9yrl0zpa8yv35")))) + (base32 "12cfq503li0gcqmm5bmqz8yjvfdif5xvz0l9vx3g5jl6ljygwgmf")))) (build-system gnu-build-system) (arguments `(#:make-flags '("emms-print-metadata") @@ -1704,7 +1720,9 @@ light user interface.") (string-append "\"" alsa "/bin/amixer\""))) (substitute* "emms-tag-editor.el" (("\"mid3v2\"") - (string-append "\"" mutagen "/bin/mid3v2\""))) + (string-append "\"" mutagen "/bin/mid3v2\"")) + (("\"vorbiscomment\"") + (string-append "\"" vorbis "/bin/vorbiscomment\""))) (substitute* "emms-info-exiftool.el" (("\"exiftool\"") (string-append "\"" exiftool "/bin/exiftool\""))) @@ -1839,7 +1857,8 @@ mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") (base32 "1dq04p6ms0zx4awlypp4crkz7dzal4xg8ac7p8fqacz196rczssp")))) (build-system emacs-build-system) (inputs - `(("bluez" ,bluez))) + `(("bluez" ,bluez) + ("dbus" ,dbus))) (propagated-inputs `(("emacs-dash" ,emacs-dash))) (home-page "https://gitlab.com/rstocker/emacs-bluetooth") @@ -2052,14 +2071,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "12.3.1") + (version "13.0.3") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "auctex-" version ".tar")) (sha256 - (base32 "0kn48mmsvp1yp8fjcl4lriymhyskv5s70wscmf596xf56s7mqas4")))) + (base32 "1ljpkr0z15fyh907jbgky238dvci5vqi3xhvslyhblhp8sg9cbsi")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -2136,14 +2155,14 @@ a set of simplified face specifications and a user-supplied color palette") (define-public emacs-howm (package (name "emacs-howm") - (version "1.4.6") + (version "1.4.7") (source (origin (method url-fetch) (uri (string-append "https://howm.sourceforge.jp/a/" "howm-" version ".tar.gz")) (sha256 - (base32 "17ihch1zbk08ih7gc232jlmbw7hax8ldb9glxp8d75k4asa98qh5")))) + (base32 "11k0dzwyn7ly34g0zcd6i0i8qwyv9di8m6fx805axrxykxb0qan2")))) (build-system gnu-build-system) (native-inputs `(("emacs" ,emacs-minimal))) @@ -2234,7 +2253,7 @@ Lock key.") (define-public emacs-chronometrist (package (name "emacs-chronometrist") - (version "0.5.5") + (version "0.5.6") (source (origin (method git-fetch) @@ -2243,7 +2262,7 @@ Lock key.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zccyfpgq68ixrcl8jq2r38165ngkqrb42y2hkyab6gxhvh4wkpl")))) + (base32 "0g54pxvid1hlynlnfx99sl027q2mr2f4axsvnf0vb3v48zm0n5cw")))) (build-system emacs-build-system) (arguments `(#:phases @@ -2793,20 +2812,21 @@ type, for example: packages, buffers, files, etc.") (license license:gpl3+))) (define-public emacs-guix - (let ((commit "58a840d0671091e3064e36244790ef8839da87d6") - (revision "2")) + (let* ((commit "a694fdbcedb6edd2239a31d326e475c763ee32f8") + (revision "3")) (package (name "emacs-guix") (version (git-version "0.5.2" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/emacs-guix/emacs-guix") + ;; TODO: Use the official version when it has a new home + (url "https://github.com/jsoo1/guix.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "1qnr5sixmvrhr9rinrhfy7sy20mikjvvwbdixwkbx30qpcdwgwj1")))) + "1pqw7zbgxzwpig4xr0izc3z8h80c72i6bl5yi12br0d7aq6dbkvj")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -2815,7 +2835,8 @@ type, for example: packages, buffers, files, etc.") ("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) (inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + `(("guile" + ,@(assoc-ref (package-native-inputs guix) "guile")) ("guix" ,guix))) (propagated-inputs `(("geiser" ,emacs-geiser) @@ -2990,6 +3011,28 @@ depicting stroke orders for all Kanji. The collection is a slightly modified and limited version of the images provided by the KanjiVG project.") (license license:gpl3+)))) +(define-public emacs-keycast + (package + (name "emacs-keycast") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tarsius/keycast.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1g9arjdhdpvsw47ny9gi5k758ya37yza4mr0rhbf02yvrqyfsrgr")))) + (build-system emacs-build-system) + (home-page "https://github.com/tarsius/keycast") + (synopsis "Show current command and its key in the mode line") + (description + "This package provides Keycast mode. Once enabled, that mode shows the +current command and its key or mouse binding in the mode line, and updates +them whenever another command is invoked.") + (license license:gpl3+))) + (define-public emacs-keyfreq (package (name "emacs-keyfreq") @@ -3274,7 +3317,7 @@ files and directories.") (define-public emacs-fountain-mode (package (name "emacs-fountain-mode") - (version "3.3.0") + (version "3.4.0") (source (origin (method git-fetch) @@ -3283,7 +3326,7 @@ files and directories.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "04jrv6i4ah3i8c9hcd9wyaw2vrxr46f50qb9qwna2v7qa5vaway3")))) + (base32 "161wn66gc2z7fd4f89827dpww6hjmnassbi15yis5rqbklj1h2z6")))) (build-system emacs-build-system) (home-page "https://github.com/rnkn/fountain-mode") (synopsis "Major mode for screenwriting in Fountain markup") @@ -3818,7 +3861,7 @@ IRC bouncer with ERC.") ERC, an Emacs client for IRC (Internet Relay Chat). It relies on the @code{erc-track} module, and displays all the same information @code{erc-track} does in the mode line, but in an alternative format.") - (license license:expat)))) + (license license:gpl3+)))) (define-public emacs-shut-up (package @@ -4135,6 +4178,55 @@ boxes, and more.") been copied from an Emacs major mode.") (license license:gpl2+))) +(define-public emacs-org-fancy-priorities + (let ((commit "819bb993b71e7253cefef7047306ab4e0f9d0a86") + (revision "1")) + (package + (name "emacs-org-fancy-priorities") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/harrybournis/org-fancy-priorities.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13cyzlx0415i953prq6ch7r5iy23c1pz116bdxi5yqags4igh4wv")))) + (build-system emacs-build-system) + (home-page "https://github.com/harrybournis/org-fancy-priorities") + (synopsis "Display org priorities as custom strings") + (description + "This package provides a minor mode that displays Org priorities as +custom strings. This mode does not change your files in any way, it only +displays the priority part of a heading as your preferred string value.") + (license license:expat)))) + +(define-public emacs-org-fragtog + (package + (name "emacs-org-fragtog") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/io12/org-fragtog.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rzi67lb3mxqg3x6d8zx6rxncg7lw14agqwbh7zvgc2iins59j0f")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org))) + (home-page "https://github.com/io12/org-fragtog") + (synopsis "Toggle Org mode LaTeX fragments preview at cursor") + (description + "Org mode supports inline image previews of LaTeX fragments. This +package automates this, so fragment previews are disabled for editing when +your cursor steps onto them, and re-enabled when the cursor leaves.") + (license license:gpl3+))) + (define-public emacs-ob-erlang (let ((revision "1") (commit "f1a8c665b8f7d0ab32267a9961de8eed872e6333")) @@ -4280,6 +4372,42 @@ files with features such as syntax highlighting, comments, finding keywords, completing keywords and smart indentation.") (license license:gpl3+)))) +(define-public emacs-roguel-ike + ;; Tagged branch is outdated. + (let ((revision "0") + (commit "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c")) + (package + (name "emacs-roguel-ike") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stevenremot/roguel-ike") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rgv4y9aa5cc2ddz3y5z8d22xmr8kf5c60h0r3g8h91jmcw3rb4z")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-popup" ,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))))) + (home-page "https://github.com/stevenremot/roguel-ike.git") + (synopsis "Coffee-break roguelike for Emacs") + (description + "Roguel-ike is an attempt to develop a coffee-break roguelike for +Emacs. The complete game would allow the player to create various characters +and to make them fulfill challenges like arena fight and short dungeon +explorations.") + (license license:gpl3+)))) + (define-public emacs-rspec (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20") (revision "1")) @@ -4721,7 +4849,8 @@ respective @code{*Help*} buffers.") (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) - ("emacs-f" ,emacs-f))) + ("emacs-f" ,emacs-f) + ("emacs-yaml-mode" ,emacs-yaml-mode))) (home-page "https://github.com/meqif/docker-compose-mode/") (synopsis "Major mode for editing @file{docker-compose} files") (description @@ -4786,8 +4915,9 @@ Gnus, e.g., for applying patches received by email.") (license license:gpl2+)))) (define-public emacs-sudo-edit - (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d") - (revision "6")) + ;; No proper release nor tag. + (let ((commit "0e2c32b5e5242d30f8780cbe8e1b1649476cac4d") + (revision "0")) (package (name "emacs-sudo-edit") (version (git-version "0.1.0" revision commit)) @@ -4800,12 +4930,13 @@ Gnus, e.g., for applying patches received by email.") (file-name (git-file-name name version)) (sha256 (base32 - "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl")))) + "1z26i4hzi2mksl4nr8szzlnrnyv96fg7jjddbm5dp5dlmh2pndk1")))) (build-system emacs-build-system) (native-inputs `(("emacs-undercover" ,emacs-undercover))) (arguments - `(#:phases + `(#:emacs ,emacs + #:phases (modify-phases %standard-phases (add-before 'check 'fix-makefile (lambda _ @@ -4869,14 +5000,14 @@ source code using IPython.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.26") + (version "0.27") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 - (base32 "14n2rrs3ccvlp8fhxs08awlqdfawxwbj8nq1xpa0wwlbfvxnf24c")))) + (base32 "1zn9p9vmfv5ihrp8d06b6abs48q225v42cgwa01s39hld6zg6wbv")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -5273,30 +5404,28 @@ features: (license license:gpl3+))) (define-public emacs-company-math - (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9") - (revision "1")) - (package - (name "emacs-company-math") - (version (git-version "1.3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/vspinu/company-math") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists) - ("emacs-company" ,emacs-company))) - (home-page "https://github.com/vspinu/company-math") - (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags") - (description "This package provides a backend for use with -@code{company-mode} allowing for completion of common math symbols.") - (license license:gpl3+)))) + (package + (name "emacs-company-math") + (version "1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vspinu/company-math") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y1fw926insgdl7ib9ynxjrxf3p6wfjkfxvf5vgdca7267cvcll1")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists) + ("emacs-company" ,emacs-company))) + (home-page "https://github.com/vspinu/company-math") + (synopsis "Completion backends for math symbols and @code{LaTeX} tags") + (description + "This package provides a backend for use with Company mode allowing for +completion of common math symbols.") + (license license:gpl3+))) (define-public emacs-compdef (let ((commit "67104a38763cc819644f711248b170a43bce151b") @@ -5593,10 +5722,12 @@ navigation to errors.") (license license:gpl3+))) (define-public emacs-scheme-complete - (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5")) + ;; Upstream does not provide tags. The commit below corresponds to the + ;; exact version update. Version is extracted from main file. + (let ((commit "5c0a16684a3be7021d67067b2955f1c3e17a320a")) (package (name "emacs-scheme-complete") - (version (string-append "20151223." (string-take commit 8))) + (version "0.9.9") (source (origin (method git-fetch) @@ -5605,10 +5736,7 @@ navigation to errors.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x")) - (patches - (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch")))) + (base32 "1smxr5bkzbfrjx21vhrj1wagmqx5yd92i997dbgs16iaqbzzr7cz")))) (build-system emacs-build-system) (home-page "https://github.com/ashinn/scheme-complete") (synopsis "Smart tab completion for Scheme in Emacs") @@ -5787,7 +5915,7 @@ in @code{html-mode}.") (define-public emacs-slime (package (name "emacs-slime") - (version "2.26") + (version "2.26.1") (source (origin (method git-fetch) @@ -5796,7 +5924,7 @@ in @code{html-mode}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c")))) + (base32 "1a25ixb7q4svqabxnhwkk43v47mbsh13qwm7qlazkd3zkr8j3cli")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -6314,7 +6442,7 @@ started with 20 minutes. All values are customizable.") (define-public emacs-org-sidebar (package (name "emacs-org-sidebar") - (version "0.2") + (version "0.3.2") (source (origin (method git-fetch) @@ -6323,7 +6451,7 @@ started with 20 minutes. All values are customizable.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03")))) + (base32 "1r8kp954ciin4j7j7j8ihdkryf5x09s3ryl7bi9h2j6xqc1ij4wq")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -6466,7 +6594,7 @@ a RPG style habit tracker and todo list.") (define-public emacs-zenburn-theme (package (name "emacs-zenburn-theme") - (version "2.6") + (version "2.7.0") (source (origin (method git-fetch) @@ -6475,7 +6603,7 @@ a RPG style habit tracker and todo list.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f")))) + (base32 "1991s1gz2i3jchf0yvcsjjb5flwn13ifbnnfkqqrxxvy2imfh18q")))) (build-system emacs-build-system) (home-page "https://github.com/bbatsov/zenburn-emacs") (synopsis "Low contrast color theme for Emacs") @@ -6653,14 +6781,14 @@ board and goal value can be customized.") (define-public emacs-chess (package (name "emacs-chess") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "chess-" version ".tar")) (sha256 - (base32 "1sq1bjmp513vldfh7hc2bbfc54665abqiz0kqgqq3gijckaxn5js")))) + (base32 "1a4iwjdh6k348df6qywjws9z9f862d62m0b2sz57z4xhywiyxpr7")))) (build-system emacs-build-system) (arguments `(#:phases @@ -7575,6 +7703,52 @@ with the arrow keys. It prefers to move the right or bottom border when possible, and falls back to moving the left or top border otherwise.") (license license:gpl3+)))) +(define-public emacs-window-purpose + (let ((commit "f6421966761ad911fe8861aba2b110c5dd60d1ea") + (revision "1")) + (package + (name "emacs-window-purpose") + (version (git-version "1.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bmag/emacs-purpose.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p0y5gnrw7q65py2wjdf1hrdpiw5c2zbgvfbfmb13257jq5mga38")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-let-alist" ,emacs-let-alist) + ("emacs-imenu-list" ,emacs-imenu-list))) + (arguments + '(#:include + '("^[^/]+.el$" + "^[^/]+.el.in$" + "^dir$" + "^[^/]+.info$" + "^[^/]+.texi$" + "^[^/]+.texinfo$" + "^doc/dir$" + "^doc/[^/]+.info$" + "^doc/[^/]+.texi$" + "^doc/[^/]+.texinfo$" + "^layouts$") + #:exclude + '("^.dir-locals.el$" + "^test.el$" + "^tests.el$" + "^[^/]+-test.el$" + "^[^/]+-tests.el$"))) + (home-page "https://github.com/bmag/emacs-purpose") + (synopsis "Purpose-based window management for Emacs") + (description "Purpose is a package that introduces the concept of a +\"purpose\" for windows and buffers, and then helps you maintain a robust +window layout easily.") + (license license:gpl3+)))) + (define-public emacs-iedit ;; Last release version was in 2016. (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f") @@ -7809,6 +7983,33 @@ The purpose of this library is to wrap all the quirks and hassle of @code{package.el} into a sane API.") (license license:gpl3+))) +(define-public emacs-counsel-jq + (let ((release "1.0.0") + (revision "0") + (commit "aaf33fc2447096cd0d03b77395fe2a95c9fe1481")) + (package + (name "emacs-counsel-jq") + (version (git-version release revision commit)) + (home-page "https://github.com/200ok-ch/counsel-jq") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10rz0qm8a4bl0m86kx19zq8lri047p4sxqyny08bgm9pbam0wvwn")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-swiper" ,emacs-swiper) + ("jq" ,jq))) + (synopsis "Live preview @code{jq} queries using counsel") + (description + "This Emacs package provides the ability to live preview @code{jq} +queries using counsel.") + (license license:gpl3+)))) + (define-public emacs-counsel-notmuch ;; Upstream provides no release. Extract version for main file. (let ((commit "a4a1562935e4180c42524c51609d1283e9be0688") @@ -8123,33 +8324,31 @@ to all the other commands, too.") (license license:gpl3+))) (define-public emacs-js2-mode - (let ((commit "40aab27581279d0fdbfeb9afeb85f39d401a927f") - (revision "1")) - (package - (name "emacs-js2-mode") - (version (git-version "20190219" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mooz/js2-mode") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ysd0ji3vvk2zpjcg1wl7b2hva8471vq0ypib4h6spnpjdr43vzk")))) - (build-system emacs-build-system) - (arguments - `(#:tests? #t - #:test-command '("make" "test"))) - (home-page "https://github.com/mooz/js2-mode/") - (synopsis "Improved JavaScript editing mode for Emacs") - (description - "Js2-mode provides a JavaScript major mode for Emacs that is more + (package + (name "emacs-js2-mode") + (version "20201220") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mooz/js2-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00jy917cgp5xzfgs4m0spzlbqk8mg63layin8nxmn2647rfjnik4")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("make" "test"))) + (home-page "https://github.com/mooz/js2-mode/") + (synopsis "Improved JavaScript editing mode for Emacs") + (description + "Js2-mode provides a JavaScript major mode for Emacs that is more advanced than the built-in javascript-mode. Features include accurate syntax highlighting using a recursive-descent parser, on-the-fly reporting of syntax errors and strict-mode warnings, smart line-wrapping within comments and strings, and code folding.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-nodejs-repl (package @@ -9329,15 +9528,14 @@ are pretty much the same (and SLIME served as the principle inspiration for CIDER).") (license license:gpl3+))) -;; There hasn't been a tag or release since 2016, so we take the latest -;; commit. (define-public emacs-sly - (let ((commit "68561f1b7b66fa0240766ece836bb04da31ea17d") - ;; Update together with sbcl-slynk. - (revision "7")) + ;; Update together with sbcl-slynk. + (let ((commit "dffdf3caa12e964127d6eb45ba92ac0442cc5a48")) + ;; Latest stable 1.0.42 is broken: + ;; https://github.com/joaotavora/sly/issues/394. (package (name "emacs-sly") - (version (git-version "1.0.0" revision commit)) + (version (git-version "1.0.43" "1" commit)) (source (origin (method git-fetch) @@ -9347,7 +9545,7 @@ CIDER).") (file-name (git-file-name name version)) (sha256 (base32 - "1xwx537dhgclngi6b0faf320i8pnac9309wvmk6z2g6dm3v652ds")))) + "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -9363,7 +9561,7 @@ CIDER).") (info-dir (string-append out "/share/info")) (doc-dir (string-append out "/share/doc/" ,name "-" ,version)) - (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below. + (doc-files '( ;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below. "README.md" "NEWS.md" "PROBLEMS.md" "CONTRIBUTING.md"))) (with-directory-excursion "doc" @@ -9393,19 +9591,21 @@ CIDER).") contains the following improvements over it: @enumerate -@item Completely redesigned REPL based on Emacs's own full-featured - @code{comint.el}. -@item Live code annotations via a new @code{sly-stickers} contrib. -@item Consistent interactive button interface. Everything can be copied to - the REPL. -@item Multiple inspectors with independent history. +@item A full-featured REPL based on Emacs's @code{comint.el}. Everything +can be copied to the REPL; +@item Stickers, or live code annotations that record values as code traverses them. +@item Flex-style completion out-of-the-box, using Emacs's completion API. +Company, Helm, and other supported natively, no plugin required; +@item An interactive Trace Dialog; +@item Multiple inspectors and multiple REPLs, with independent history. @item Regexp-capable @code{M-x sly-apropos}. -@item Contribs are first class SLY citizens and enabled by default. -@item Use ASDF to loads contribs on demand. +@item Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box; +@item \"Presentations\" replaced by interactive backreferences, which +highlight the object and remain stable throughout the REPL session; @end enumerate SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector, -xref, etc...) are still available, but with better integration.") +xref, etc.) are still available, but with better integration.") (license license:gpl3+)))) (define-public emacs-sly-quicklisp @@ -9536,6 +9736,62 @@ file.") inside the source file.") (license license:gpl3+)))) +(define-public emacs-sly-stepper + (let ((commit "ec3c0a7f3c8b82926882e5fcfdacf67b86d989f8")) + (package + (name "emacs-sly-stepper") + (version (git-version "0.0.0" "1" commit)) + (home-page "https://github.com/joaotavora/sly-stepper") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b")))) + (build-system emacs-build-system) + (inputs + `(("cl-agnostic-lizard" ,cl-agnostic-lizard))) + (propagated-inputs + `(("emacs-sly" ,emacs-sly))) + (arguments + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include) + #:phases + (modify-phases %standard-phases + ;; The package provides autoloads. + (delete 'make-autoloads) + (delete 'enable-autoloads-compilation) + (add-after 'add-source-to-load-path 'add-contrib-to-emacs-load-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((sly (assoc-ref inputs "emacs-sly"))) + (setenv "EMACSLOADPATH" + (string-append sly "/share/emacs/site-lisp/contrib:" + (getenv "EMACSLOADPATH")))) + #t)) + (add-after 'install 'find-agnostic-lizard + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (file (string-append out "/share/emacs/site-lisp/" + "slynk-stepper.lisp")) + (asd (string-append + (assoc-ref inputs "cl-agnostic-lizard") + "/share/common-lisp/systems/agnostic-lizard.asd"))) + ;; agnostic-lizard is found at runtime. + (substitute* file + (("\\(require :asdf\\)") + (string-append + "(require :asdf)\n" + " (funcall (read-from-string \"asdf:load-asd\")\n" + " \"" asd "\")\n"))))))))) + (synopsis "Portable Common Lisp stepper interface for Emacs") + (description + "This package features a new, portable, visual stepping facility for +Common Lisp, realized as an extension to SLY.") + (license license:gpl3+)))) + (define-public emacs-sly-package-inferred (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef") (revision "1")) @@ -9694,6 +9950,31 @@ Emacs that Evil does not cover properly by default, such as @code{help-mode}, @code{M-x calendar}, Eshell and more.") (license license:gpl3+)))) +(define-public emacs-evil-goggles + (let ((commit "08a22058fd6a167f9f1b684c649008caef571459") + (version "0.0.1") + (revision "0")) + (package + (name "emacs-evil-goggles") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/edkolev/evil-goggles") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p3vjrij63v9nrcyj3b5jsqzv9y7dgv9i1inx1q7x3s90vndavac")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/edkolev/evil-goggles") + (synopsis "Displays visual hints when editing with evil") + (description "Creates a visual pulse to indicate the region that is +being deleted, changed, yanked, or pasted when using evil commands") + (license license:gpl3+)))) + (define-public emacs-goto-chg (let ((commit "1829a13026c597e358f716d2c7793202458120b5") (version "1.7.3") @@ -10189,24 +10470,36 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update it as ;; well. - (version "9.4") + (version "9.4.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) (sha256 - (base32 "1awkrh3y90q7c0as3327rqj0zylf5cpjzr1pyvbzymli16irhwb6")))) + (base32 "05ma8n6hr10323d85ay8ai0xrpc9q2m93n8avqh7j9fmmb3bhr0b")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases + ;; FIXME: The elpa tarball upstream does not include the version + ;; number, remove this phase when this is fixed. + ;; https://lists.gnu.org/archive/html/emacs-orgmode/2020-12/msg00729.html + (add-after 'unpack 'fix-org-version + (lambda _ + (substitute* "org-version.el" + (("org-release \"\"") + (string-append "org-release \"" ,version "\""))) + #t)) (add-after 'install 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((share (string-append (assoc-ref outputs "out") "/share")) (info-dir (string-append share "/info")) (doc-dir (string-append share "/doc/" ,name "-" ,version))) - (install-file "org" info-dir) - (install-file "orgcard.pdf" doc-dir)) + (install-file "org.info" info-dir) + (install-file "orgguide.info" info-dir) + ;; XXX: "orgcard.pdf" is not built in Org 9.4.4. + ;; (install-file "orgcard.pdf" doc-dir) + ) #t))))) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -10220,14 +10513,14 @@ programming and reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20200914") + (version "20201222") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/" "org-plus-contrib-" version ".tar")) (sha256 - (base32 "1naq25g4d95cx29axx428rnpc4m9hd0j7w1l0vqwkdjyr5qfj0ab")) + (base32 "1pa8h5dpi5yj3j7v0aaby8sjwxvmgnbip2ilyl5pac1rlbz0jn40")) ;; ob-sclang.el is packaged separately to avoid the dependency on ;; SuperCollider and qtwebengine. (modules '((guix build utils))) @@ -10266,6 +10559,30 @@ lists, and project planning with a fast and effective plain-text system. This package is equivalent to org-plus-contrib, but only includes additional files that you would find in @file{contrib/} from the git repository."))) +(define-public emacs-org-pretty-table + ;; There is no release yet. + (let ((commit "1331c600b83d95b28730b1bfcb48369ac1cf12ef") + (revision "0")) + (package + (name "emacs-org-pretty-table") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fuco1/org-pretty-table") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yvqxh66y400n2n5ykmb1zrzd80bakffpwn6nmf37728x4cj8krh")))) + (build-system emacs-build-system) + (home-page "https://github.com/Fuco1/org-pretty-table") + (synopsis "Make tables in Org mode and OrgTbl mode prettier") + (description + "This package displays tables in Org mode and OrgTbl mode using Unicode +characters.") + (license license:gpl3+)))) + (define-public emacs-ob-sclang (package (inherit emacs-org-contrib) @@ -10867,27 +11184,17 @@ type an abbreviation and automatically expand it into function templates.") (file-name (git-file-name name version)) (sha256 (base32 "18pcnjnqvcky6i49p38vy3ms5xiisn27vy47pc3vsgr3r2n87mqb")))) - (build-system trivial-build-system) + (build-system emacs-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (out (assoc-ref %outputs "out")) - (snippet-dir - (string-append out "/share/emacs/yasnippet-snippets/"))) - (with-directory-excursion source - (mkdir-p snippet-dir) - (copy-recursively "snippets" snippet-dir))) - #t))) + `(#:include (cons* "^snippets\\/" %default-include))) + (propagated-inputs + `(("emacs-s" ,emacs-s) ;for snippets/rjsx-mode/.yas-setup.el + ("emacs-yasnippet" ,emacs-yasnippet))) (home-page "https://github.com/AndreaCrotti/yasnippet-snippets") (synopsis "Collection of YASnippet snippets for many languages") - (description - "Provides Andrea Crotti's collection of YASnippet snippets. After installation, -the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\". -To make YASnippet aware of these snippets, add the above directory to -@code{yas-snippet-dirs}.") + (description "This package provides an extensive collection of YASnippet +snippets. When this package is installed, the extra snippets it provides are +automatically made available to YASnippet.") (license license:gpl3+))) (define-public emacs-helm-c-yasnippet @@ -11290,7 +11597,7 @@ actually changing the buffer's text.") (define-public emacs-diff-hl (package (name "emacs-diff-hl") - (version "1.8.7") + (version "1.8.8") (source (origin (method git-fetch) @@ -11299,7 +11606,7 @@ actually changing the buffer's text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq")))) + (base32 "075klzf66z1rvhpxv4j694pdkmi7f4fpw6c8q4ncz0h4y5wdbl8w")))) (build-system emacs-build-system) (home-page "https://github.com/dgutov/diff-hl") (synopsis @@ -12233,17 +12540,18 @@ Emacs.") (define-public emacs-eglot (package (name "emacs-eglot") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "eglot-" version ".tar")) (sha256 - (base32 "15hd6sx7qrpvlvhwwkcgdiki8pswwf4mm7hkm0xvznskfcp44spx")))) + (base32 "1zvs144hxq2mmq1h0ynx9hy7yyccb46f3pjg9mgq8v9cw5y678vk")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-jsonrpc" ,emacs-jsonrpc))) + `(("emacs-jsonrpc" ,emacs-jsonrpc) + ("emacs-project" ,emacs-project))) (home-page "https://github.com/joaotavora/eglot") (synopsis "Client for Language Server Protocol (LSP) servers") (description @@ -12615,8 +12923,8 @@ additions: (license license:gpl3+)))) (define-public emacs-dired-sidebar - (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc") - (revision "1")) + (let ((commit "da77919081d9a4e73c2df63542353319381e4f89") + (revision "2")) (package (name "emacs-dired-sidebar") (home-page "https://github.com/jojojames/dired-sidebar") @@ -12627,7 +12935,7 @@ additions: (file-name (git-file-name name version)) (sha256 (base32 - "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca")))) + "05h56wdl2xvc8davnx83ypg20fl7wlks97cafa4r2yf141xjc05h")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dired-subtree" ,emacs-dired-hacks))) @@ -13204,14 +13512,14 @@ database of references on life sciences.") (define-public emacs-websocket (package (name "emacs-websocket") - (version "1.12") + (version "1.13") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "websocket-" version ".tar")) (sha256 - (base32 "0ap4z80c6pzpb69wrx0hsvwzignxmd2b9xy974by9gf5xm2wpa8w")))) + (base32 "0jnarx53csmx5fivzp5vhvvj3m8s03zwc6hjl0spz5zb6icqclsa")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/websocket.html") (synopsis "Emacs WebSocket client and server") @@ -13416,14 +13724,14 @@ let users kill or mark things easily.") (define-public emacs-csv-mode (package (name "emacs-csv-mode") - (version "1.12") + (version "1.14") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "csv-mode-" version ".tar")) (sha256 - (base32 "0bya12smlrzwv4cbcmch4kg1fazp4k0ndrh1z17ix9p8c14d0v1j")))) + (base32 "1jz4134pk8dwzsqih9wybx4l9yl244cgcilw8rdnnqmm8i6vxgrp")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/csv-mode.html") (synopsis "Major mode for editing comma/char separated values") @@ -13435,7 +13743,7 @@ in a generalized CSV (character-separated values) format.") (define-public emacs-transmission (package (name "emacs-transmission") - (version "0.12.1") + (version "0.12.2") (source (origin (method git-fetch) @@ -13444,7 +13752,7 @@ in a generalized CSV (character-separated values) format.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry")))) + (base32 "16bn8y2sd7kzihp8bxh4vyay16y91q3yc0gcd0bzywcx3hijqlfc")))) (build-system emacs-build-system) (home-page "https://github.com/holomorph/transmission") (synopsis "Emacs interface to a Transmission session") @@ -13512,6 +13820,31 @@ literate programming tools for exporting, weaving and tangling.") "Edit YAML files for Ansible containing embedded Jinja2 templating.") (license license:gpl3+))) +(define-public emacs-polymode-markdown + (package + (name "emacs-polymode-markdown") + (version "0.2.2") + (home-page "https://github.com/polymode/poly-markdown") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q4qq0ql08hxkdrd2aal03560k612my7bvnfpfij3g432hn0p7v6")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-markdown-mode" ,emacs-markdown-mode) + ("emacs-polymode" ,emacs-polymode))) + (properties '((upstream-name . "poly-markdown"))) + (synopsis "Polymode for Markdown mode") + (description + "This package allows editing source code blocks embedded in Markdown +files using the major mode corresponding to each block.") + (license license:gpl3+))) + (define-public emacs-powershell ;; Tagged branch 0.1 is outdated (2015). (let ((revision "0") @@ -13851,7 +14184,7 @@ Lisp.") (define-public emacs-esxml (package (name "emacs-esxml") - (version "0.3.4") + (version "0.3.5") (source (origin (method git-fetch) (uri (git-reference @@ -13860,7 +14193,7 @@ Lisp.") (file-name (git-file-name name version)) (sha256 (base32 - "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m")))) + "16jn404vfmsvm12wrf8iczqlgdf2iycbxrvalvzxnm2gr5dfzp7z")))) (build-system emacs-build-system) (arguments `(#:phases @@ -13896,7 +14229,7 @@ the format.") (define-public emacs-nov-el (package (name "emacs-nov-el") - (version "0.3.1") + (version "0.3.3") (source (origin (method git-fetch) @@ -13905,7 +14238,8 @@ the format.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "13r7lvyyyv62m57m4s4xjs4qz2ckhqk6ib514px7qzc7mdzcz9i9")))) + (base32 + "116klnjyggwfwvs9nqhpv97m00k63q6lg41ph41kywsqkfy42dlk")))) (build-system emacs-build-system) (arguments `(#:phases @@ -14133,7 +14467,7 @@ directories of plain text notes, inspired by Notational Velocity.") (define-public emacs-anzu (package (name "emacs-anzu") - (version "0.62") + (version "0.64") (source (origin (method git-fetch) @@ -14142,7 +14476,7 @@ directories of plain text notes, inspired by Notational Velocity.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan")))) + (base32 "1jfn5nm6r68wa0gn2k2zy6sdq6c8shw8x04ylzzm5cw7zm60jw0n")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-anzu") (synopsis "Show number of matches in mode-line while searching") @@ -14499,7 +14833,7 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.") (define-public emacs-emacsql-sqlite3 (package (name "emacs-emacsql-sqlite3") - (version "1.0.1") + (version "1.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -14508,7 +14842,7 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.") (file-name (git-file-name name version)) (sha256 (base32 - "1yy9y27rckm776jnl2rh1fz3bh09690xwzq7102vlw7xkb9s7jhj")))) + "1jzvvsvi8jm2ws3y49nmpmwd3zlvf8j83rl2vwizd1aplwwdnmd6")))) (build-system emacs-build-system) (native-inputs `(("ert-runner" ,emacs-ert-runner))) @@ -14795,32 +15129,74 @@ as well as functions for navigating between these headings.") (license license:gpl3+))) (define-public emacs-org-super-agenda - ;; emacs-org-sidebar depends on a newer commit than the latest release version. - (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba") - (revision "3")) + (package + (name "emacs-org-super-agenda") + (version "1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-super-agenda") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10l9h2n09cql4ih7nc0ma3ghdsq9l5v9xlj1lg7kq67icdwjlsvy")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("test/run" "--debug") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'prepare-for-tests.el + (lambda _ + (make-file-writable "test/test.el") + (emacs-substitute-variables "test/test.el" + ("org-super-agenda-test-results-file" + (string-append (getcwd) "/test/results.el"))) + ;; The following test fail (see: + ;; https://github.com/alphapapa/org-super-agenda/issues/183). + (substitute* "test/test.el" + ((".*org-super-agenda-test--:auto-map.*" all) + (string-append all " (skip-unless nil)\n"))) + #t))))) + (native-inputs + `(("emacs-f" ,emacs-f) + ("getopt" ,util-linux))) + (propagated-inputs + `(("emacs-org" ,emacs-org) + ("emacs-dash" ,emacs-dash) + ("emacs-ts" ,emacs-ts) + ("emacs-ht" ,emacs-ht) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/org-super-agenda") + (synopsis "Supercharged Org agenda") + (description "This package allows items in the Org agenda to be grouped +into sections while preserving the structure imposed by any timestamps.") + (license license:gpl3+))) + +(define-public emacs-elegant-agenda-mode + (let ((commit "c72f42e0f551c3dd81e68262f07a96c0ec90a589") + (revision "1")) (package - (name "emacs-org-super-agenda") - (version (git-version "1.1.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/org-super-agenda") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff")))) + (name "emacs-elegant-agenda-mode") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justinbarclay/elegant-agenda-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f8qk3vd41ffbkfqw5nks3bld0qpjrlnk9sb46wcbsyfnrs2v082")))) (build-system emacs-build-system) - (propagated-inputs - `(("emacs-org" ,emacs-org) - ("emacs-dash" ,emacs-dash) - ("emacs-ts" ,emacs-ts) - ("emacs-ht" ,emacs-ht) - ("emacs-s" ,emacs-s))) - (home-page "https://github.com/alphapapa/org-super-agenda") - (synopsis "Supercharged Org agenda") - (description "This package allows items in the Org agenda to be grouped -into sections while preserving the structure imposed by any timestamps.") + (home-page "https://github.com/justinbarclay/elegant-agenda-mode") + (synopsis "Elegant theme for your org-agenda") + (description + "The elegant-agenda-mode package uses fonts and typography to give your +org-agenda some breathing room and elegance. This package was inspired by the +work Nicolas Rougier.") (license license:gpl3+)))) (define-public emacs-org-make-toc @@ -14927,10 +15303,99 @@ timestamps by providing a @code{ts} struct.") according to a parsing expression grammar.") (license license:gpl3+))) +(define-public emacs-eldev + (package + (name "emacs-eldev") + (version "0.7.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/doublep/eldev") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xxcxgycn0a03irjcdq2pcb4p1bddhfjspni7lliwpv6zjqgkyhb")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("./bin/eldev" "-p" "-dtTC" "test") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'prepare-for-tests + (lambda _ + (setenv "ELDEV_LOCAL" (getcwd)) + (make-file-writable + "test/project-i/project-i-autoloads.el") + #t)) + (add-after 'install 'install-eldev-executable + ;; This constructs the eldev executable from templates and + ;; installs it in the specified directory. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (site-lisp (string-append out "/share/emacs/site-lisp"))) + (mkdir-p bin) + (setenv "HOME" (getcwd)) + (invoke "./install.sh" bin) + (substitute* (string-append bin "/eldev") + ;; Point ELDEV_LOCAL to the installation directory so that + ;; eldev doesn't try to bootstrap itself from MELPA when + ;; invoked. + (("export ELDEV_EMACS.*" all) + (string-append "export ELDEV_LOCAL=" site-lisp "\n" all))) + #t)))))) + (native-inputs + `(("texinfo" ,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, +targeted solely at Elisp projects. It is an alternative to Cask. Unlike +Cask, Eldev itself is fully written in Elisp and its configuration files are +also Elisp programs. For those familiar with the Java world, Cask can be seen +as a parallel to Maven — it uses project description, while Eldev is sort of a +parallel to Gradle — its configuration is a program on its own.") + (license license:gpl3+))) + +(define-public emacs-with-simulated-input + (package + (name "emacs-with-simulated-input") + (version "2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DarwinAwardWinner/with-simulated-input") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12d3mhvzj74qwc4rdcb236jbqnf5lam8pk78j92kwbwjk1jaz2cf")))) + (build-system emacs-build-system) + (arguments + ;; The test suite fails with error: "Spies can only be created in + ;; ‘before-each’". + `(#:tests? #f + #:test-command '("buttercup" "-L" "."))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup) + ("emacs-undercover" ,emacs-undercover))) + (propagated-inputs + `(("emacs-s" ,emacs-s))) + (home-page "https://github.com/DarwinAwardWinner/with-simulated-input") + (synopsis "Non-interactive testing Emacs library") + (description "This package provides an Emacs Lisp macro, +@code{with-simulated-input}, which evaluates one or more forms while +simulating a sequence of input events for those forms to read. The result is +the same as if a user had evaluated the forms and then manually typed in the +same input. This macro is useful for non-interactive testing of normally +interactive commands and functions, such as @code{completing-read}.") + (license license:gpl3+))) + (define-public emacs-org-ql (package (name "emacs-org-ql") - (version "0.3.2") + (version "0.5") (source (origin (method git-fetch) (uri (git-reference @@ -14938,7 +15403,7 @@ according to a parsing expression grammar.") (commit version))) (sha256 (base32 - "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34")) + "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -14951,20 +15416,24 @@ according to a parsing expression grammar.") ("emacs-org" ,emacs-org) ("emacs-helm" ,emacs-helm) ("emacs-helm-org" ,emacs-helm-org) - ("emacs-dash" ,emacs-dash))) + ("emacs-dash" ,emacs-dash) + ("emacs-transient" ,emacs-transient))) (native-inputs - `(("emacs-buttercup" ,emacs-buttercup))) + `(("emacs-buttercup" ,emacs-buttercup) + ("emacs-with-simulated-input" ,emacs-with-simulated-input))) (arguments - `(#:phases + `(#:tests? #t + #:test-command '("buttercup" "-L" ".") + #:phases (modify-phases %standard-phases - (add-after 'unpack 'require-helm + (add-after 'unpack 'disable-failing-tests (lambda _ - (substitute* "helm-org-ql.el" - (("^;;;; Requirements") - ";;;; Requirements\n(require 'helm)\n(require 'helm-org)")) - #t))) - #:tests? #t - #:test-command '("buttercup" "-L" "."))) + (substitute* "tests/test-org-ql.el" + ;; This test fails on Emacs 27.1 (see: + ;; https://github.com/alphapapa/org-super-agenda/issues/183). + (("it \"Can search buffer containing the link\"" all) + (string-append "x" all))) + #t))))) (home-page "https://github.com/alphapapa/org-ql/") (synopsis "Query language for Org buffers") (description "This package provides a Lispy query language for Org @@ -15019,7 +15488,7 @@ files to be expanded upon opening them.") (define-public emacs-ebib (package (name "emacs-ebib") - (version "2.22.1") + (version "2.29") (source (origin (method git-fetch) @@ -15028,7 +15497,7 @@ files to be expanded upon opening them.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0spiz5r2y4pdpyc4d3f9w228giq0j9rm8f5h5akzn5rwiq9pfkwz")))) + (base32 "1d0xnhdcsz2ysq145k2l0f2r4vb0pkai1v6wl6sfba7xi5fc323i")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-parsebib" ,emacs-parsebib))) @@ -15222,6 +15691,14 @@ and @code{erc-send-modify-hook} to download and show images.") (sha256 (base32 "07hbz2md52ccy95gv4d5n6szrfmpfqf3w4kwqdg2cf54c7kgf7hw")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-require-cl + (lambda _ + (substitute* "list-utils.el" + (("\\(require 'cl\\)") "(require 'cl-lib)")) + #t))))) (home-page "https://github.com/rolandwalker/list-utils") (synopsis "List-manipulation utility functions") (description "This package provides a list manipulation library for Emacs.") @@ -15443,6 +15920,8 @@ navigate and display hierarchy structures.") (base32 "0a3q667pybpmsjkbgf6287jwgpnx8brp5314wb8zbczw6ncygnbi")))) (build-system emacs-build-system) + (arguments + `(#:include (cons "^[^/]*\\.extmap$" %default-include))) (inputs `(("emacs-extmap" ,emacs-extmap))) (home-page "https://github.com/doublep/datetime/") @@ -15746,6 +16225,52 @@ your Emacs.") within Emacs.") (license license:gpl3+)))) +(define-public emacs-svg-tag-mode + (let ((commit "87489d28450559078aa15b4a435143a297508e48") + (revision "1")) + (package + (name "emacs-svg-tag-mode") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rougier/svg-tag-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gyhmv60dx0zxx4bmhzsd7q5vfnkpfwlj6539bn272fwcr7zncp8")))) + (build-system emacs-build-system) + (home-page "https://github.com/rougier/svg-tag-mode") + (synopsis "Replace keywords with SVG tags") + (description "This package provides a minor mode that replaces keywords +or expressions with SVG rounded box labels that are fully customizable.") + (license license:gpl3+)))) + +(define-public emacs-svg-icon + (let ((commit "ebc2b8d0f6c680fd575a90e683cc7b832acd1eb7") + (revision "1")) + (package + (name "emacs-svg-icon") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rougier/emacs-svg-icon") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qzqfa8xyw1nkb89kbvw9qcgdwr8g017n8gf3yzwn816qhkfkjrj")))) + (build-system emacs-build-system) + (home-page "https://github.com/rougier/emacs-svg-icon") + (synopsis "Emacs library to create SVG icons on the fly") + (description "This library allows to create SVG icons by parsing remote +collections whose license are compatibles with Emacs. The default size of an +icon is exactly 2x1 characters such that it can be inserted inside a text +without disturbing alignment.") + (license (list license:gpl3+))))) + (define-public emacs-sourcemap (package (name "emacs-sourcemap") @@ -16449,7 +16974,7 @@ and doesn't require memorisation of commands. (define-public emacs-logview (package (name "emacs-logview") - (version "0.9") + (version "0.14") (source (origin (method git-fetch) @@ -16458,9 +16983,10 @@ and doesn't require memorisation of commands. (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02")))) + (base32 "1cchmr25z5zj7rgb2fyxkaq8kpw7i5yg1pvn42dvm09c2wrfbj46")))) (propagated-inputs - `(("emacs-datetime" ,emacs-datetime))) + `(("emacs-datetime" ,emacs-datetime) + ("emacs-extmap" ,emacs-extmap))) (build-system emacs-build-system) (home-page "https://github.com/doublep/logview/") (synopsis "Emacs mode for viewing log files") @@ -17227,7 +17753,7 @@ Emacs minor mode to escape sequences in code.") (define-public emacs-dashboard (package (name "emacs-dashboard") - (version "1.6.0") + (version "1.7.0") (source (origin (method git-fetch) @@ -17236,7 +17762,7 @@ Emacs minor mode to escape sequences in code.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591")))) + (base32 "1qv4cqjy2s2d2bysbq10vq1axpbd8qc3jn1s1r81lxqkcja8zasa")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-page-break-lines" ,emacs-page-break-lines))) @@ -17704,10 +18230,11 @@ be changed by customizing the appropriate variables.") (license license:gpl3+))) (define-public emacs-org-caldav - (let ((commit "a563500c9884f38ce08793e2964f8274adde163d")) + (let ((commit "8569941a0a5a9393ba51afc8923fd7b77b73fa7a") + (revision "2")) (package (name "emacs-org-caldav") - (version (git-version "0.0.0" "1" commit)) + (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) @@ -17716,8 +18243,7 @@ be changed by customizing the appropriate variables.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l")))) + (base32 "05lgxqaffnqaqnzl24frafdkskran88hl2ml05qvyjhs4jjbgw9g")))) (build-system emacs-build-system) (arguments ;; Tests require to have two specific calendars on a test server. @@ -17726,7 +18252,8 @@ be changed by customizing the appropriate variables.") `(("emacs-org" ,emacs-org))) (home-page "https://github.com/dengste/org-caldav") (synopsis "Sync Org files with external calendars via the CalDAV protocol") - (description "Synchronize between events in Org files and a CalDAV + (description + "Org CalDAV synchronizes events between Org files and a CalDAV calendar.") (license license:gpl3+)))) @@ -17914,31 +18441,28 @@ server using XML-RPC.") (license license:gpl3+))) (define-public emacs-xml-rpc - (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c") - (revision "1")) - (package - (name "emacs-xml-rpc") - (version (git-version "1.6.12" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hexmode/xml-rpc-el") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj")))) - (build-system emacs-build-system) - (home-page "https://github.com/hexmode/xml-rpc-el") - (synopsis "XML-RPC client for Emacs") - (description "This package provides an XML-RPC client for Emacs capable + (package + (name "emacs-xml-rpc") + (version "1.6.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hexmode/xml-rpc-el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07vgwnk96i1vpsv2glg6kbkamjcs72xiznsa6xk7nl0nranzr3hd")))) + (build-system emacs-build-system) + (home-page "https://github.com/hexmode/xml-rpc-el") + (synopsis "XML-RPC client for Emacs") + (description "This package provides an XML-RPC client for Emacs capable of both synchronous and asynchronous method calls using the @code{url} package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC datatypes as Lisp values, automatically converting to and from the XML datastructures as needed, both for method parameters and return values, making using XML-RPC methods fairly transparent to the Lisp code.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-xpm (package @@ -18565,8 +19089,8 @@ searches with @code{ripgrep}.") (license license:gpl3+)))) (define-public emacs-focus - (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f") - (version "0.1.1") + (let ((commit "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0") + (version "1.0.0") (revision "1")) (package (name "emacs-focus") @@ -18580,7 +19104,7 @@ searches with @code{ripgrep}.") (file-name (git-file-name name version)) (sha256 (base32 - "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4")))) + "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw")))) (build-system emacs-build-system) (home-page "https://github.com/larstvei/Focus") (synopsis "Minor mode for focusing in on relevant text") @@ -18972,7 +19496,7 @@ buffer displays recursive dir sizes.") (define-public emacs-dired-rsync (package (name "emacs-dired-rsync") - (version "0.4") + (version "0.5") (source (origin (method git-fetch) (uri (git-reference @@ -18981,7 +19505,7 @@ buffer displays recursive dir sizes.") (file-name (git-file-name name version)) (sha256 (base32 - "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv")))) + "1nq3d8py2zsji835wilg514z5j180k371pwqsqrmnnhq1cj4fkia")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-s" ,emacs-s) @@ -19646,10 +20170,10 @@ Emacs.") (license license:gpl3+))) (define-public emacs-matrix-client - (let ((commit "59c792423fd0503f1375f356bec56130e65d3b51")) + (let ((commit "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed")) (package (name "emacs-matrix-client") - (version (git-version "0.0.0" "5" commit)) + (version (git-version "0.0.0" "6" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -19658,20 +20182,8 @@ Emacs.") (file-name (git-file-name name version)) (sha256 (base32 - "1gmpw14q9zkvviqpnmvh5vbyxk42038yilxm6b2zqw7mwxfc1xra")))) + "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq")))) (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'add-missing-require - ;; Fix a filter error at runtime due to a missing require. - ;; Reported upstream: - ;; <https://github.com/alphapapa/matrix-client.el/issues/76> - (lambda _ - (substitute* "matrix-client-room.el" - (("\\(require 'dash-functional\\)" all) - (string-append all "\n" "(require 'anaphora)"))) - #t))))) (propagated-inputs `(("a" ,emacs-a) ("anaphora" ,emacs-anaphora) @@ -20260,9 +20772,9 @@ stored playlists.") (license license:gpl3+))) (define-public emacs-vterm - (let ((version "0") - (revision "3") - (commit "14e4afdfc160b2e625c3e483d169786ac00cb4fe")) + (let ((version "0.0.1") + (revision "0") + (commit "a670b786539d3c8865d8f68fe0c67a2d4afbf1aa")) (package (name "emacs-vterm") (version (git-version version revision commit)) @@ -20274,7 +20786,7 @@ stored playlists.") (file-name (git-file-name name version)) (sha256 (base32 - "0wl613rxw493i3397n34qwqnd5fkyqrnn1fx3y2040xhvjl9rx70")))) + "0s244crjkbzl2jhp9m4sm1xdhbpxwph0m3jg18livirgajvdz6hn")))) (build-system emacs-build-system) (arguments `(#:modules ((guix build emacs-build-system) @@ -20998,31 +21510,29 @@ and code peeking.") (license license:gpl3+)))) (define-public emacs-lsp-ivy - (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288") - (revision "2")) - (package - (name "emacs-lsp-ivy") - (version (git-version "0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacs-lsp/lsp-ivy") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-ivy" ,emacs-ivy) - ("emacs-lsp-mode" ,emacs-lsp-mode) - ("emacs-dash" ,emacs-dash))) - (home-page "https://github.com/emacs-lsp/lsp-ivy") - (synopsis "Provide LSP-enhanced completion for symbols") - (description - "This package enhances @code{ivy} with completion for symbols from + (package + (name "emacs-lsp-ivy") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-lsp/lsp-ivy") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08dpn0vcfdwwysijwdpnnj91m69yw0q464i0wmp51zpj3dyd4kb1")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-ivy" ,emacs-ivy) + ("emacs-lsp-mode" ,emacs-lsp-mode))) + (home-page "https://github.com/emacs-lsp/lsp-ivy") + (synopsis "Provide LSP-enhanced completion for symbols") + (description + "This package enhances @code{ivy} with completion for symbols from workspaces with a LSP-compliant server running.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-helm-lsp (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b") @@ -21932,9 +22442,38 @@ and searching through @code{Ctags} files.") copied into @code{org-mode} buffers.") (license license:gpl3+)))) +(define-public emacs-org-drill-table + ;; No releases or tags. + (let ((commit "096387d929bcf3eb479e0a9d5da9cf32c756a759") + (revision "0")) + (package + (name "emacs-org-drill-table") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chrisbarrett/org-drill-table.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1a8ygrcag8i9hdpy2vsn0sh8lwhl9b56rv91j3rddy1jv5qx1ipb")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-org" ,emacs-org) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/chrisbarrett/org-drill-table") + (synopsis "Generate Org drill cards using Org mode tables") + (description + "This package generates drill cards based on an Org mode table in the +current subtree. The cards are inserted under a new ``Cards'' heading in the +current tree.") + (license license:gpl3+)))) + (define-public emacs-dash-docs - (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a") - (revision "1")) + (let ((commit "dafc8fc9f1ddb2e4e39e0b8d066c42d5d7ce8d06") + (revision "2")) (package (name "emacs-dash-docs") (version (git-version "1.4.0" revision commit)) @@ -21947,7 +22486,7 @@ copied into @code{org-mode} buffers.") (file-name (git-file-name name version)) (sha256 (base32 - "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng")))) + "0n6d3mm43gj16v8kjjradcfik93wb89dsqnfcbskb28bvcamafid")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async))) @@ -22033,7 +22572,7 @@ through Dash docsets.") (define-public emacs-calibredb (package (name "emacs-calibredb") - (version "2.7.0") + (version "2.8.0") (source (origin (method git-fetch) @@ -22042,7 +22581,7 @@ through Dash docsets.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1w3kz9iny72gk54jdafz8sy5sv6hnpm3rw4fn1r8aznx4p00f9dy")))) + (base32 "19gc05k2p1l8wlkrqij9cw6d61hzknd6a9n64kzlpi87cpbav3lv")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -22084,8 +22623,8 @@ to be examined using Ediff.") (license license:expat))) (define-public emacs-info-plus - (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da") - (revision "2")) + (let ((commit "29811edf7a71764ac343631facc00268d9483146") + (revision "3")) (package (name "emacs-info-plus") (version (git-version "0" revision commit)) @@ -22098,7 +22637,7 @@ to be examined using Ediff.") (file-name (git-file-name name version)) (sha256 (base32 - "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0")))) + "0ayq7z6dbf43vczbkjm1l976hxcfrmw45nfywbf1kjpzl3viy4gy")))) (build-system emacs-build-system) (home-page "https://github.com/emacsmirror/info-plus") (synopsis "Extensions to @file{info.el}") @@ -22154,14 +22693,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.4.4.3") + (version "2.5.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "0ms739a61d7jkq0lkf4dxql6kjrq435d6ds079bb1fpzglbnqkym")))) + (base32 "1jpnqyk108nksaym2b9v243y5zkpr4px9d070wsb9cwm3xrcd8rh")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs ;need D-Bus @@ -22546,16 +23085,16 @@ work.") (define-public emacs-xterm-color (package (name "emacs-xterm-color") - (version "1.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/atomontage/xterm-color") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm")))) + (version "2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atomontage/xterm-color") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "127lq50q62x06kd1xrf8lyc4rkqbfhfy86gsx1x4x169am2xk397")))) (build-system emacs-build-system) (home-page "https://github.com/atomontage/xterm-color") (synopsis "ANSI & xterm-256 color text property translator for Emacs") @@ -22667,10 +23206,10 @@ it forcibly (lambda _ (invoke "makeinfo" "elpher.texi")))))) (home-page "gopher://thelambdalab.xyz/1/projects/elpher/") - (synopsis "Gopher client for Emacs") - (description "Elpher is a full-featured gopher client for Emacs. Its -features include intuitive keyboard and mouse-driven browsing, out-of-the-box -compatibility with evil-mode, clickable web and gopher links in plain text, + (synopsis "Gopher and gemini client for Emacs") + (description "Elpher is a full-featured gopher and gemini client for +Emacs. Its features include intuitive keyboard and mouse-driven browsing, +out-of-the-box compatibility with evil-mode, clickable links in plain text, caching of visited sites, pleasant and configurable visualization of Gopher directories, direct visualisation of image files, jumping directly to links by name (with autocompletion), a simple bookmark management system and @@ -22996,14 +23535,14 @@ JIRA issue servers.") (define-public emacs-slime-volleyball (package (name "emacs-slime-volleyball") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "slime-volleyball-" version ".tar")) (sha256 - (base32 "1jsx889j09jbib9v3jzn3k2hn71jzdyc5yv4f010l6fknbsfi7lr")))) + (base32 "0dl1x0ghfwg4vv2asz3g4plghjxpzd56fyw09vsa3s3k9xsmy3yy")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.svg$" "\\.b64$" "slime\\.el\\.gz$"))) (home-page "http://elpa.gnu.org/packages/slime-volleyball.html") @@ -23069,7 +23608,7 @@ keybindings for skipping from host section to host section.") (define-public emacs-ssh-agency (package (name "emacs-ssh-agency") - (version "0.4") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -23078,7 +23617,7 @@ keybindings for skipping from host section to host section.") (file-name (git-file-name name version)) (sha256 (base32 - "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz")))) + "1i3zmsn0w2k7p2hlzssibckm32kf05l56mkhg96x4sf06g3pwq1d")))) (build-system emacs-build-system) (propagated-inputs `(("dash" ,emacs-dash))) @@ -23212,10 +23751,10 @@ Emacs that integrate with major modes like Org-mode.") (home-page "https://github.com/hlissner/emacs-doom-themes") (license license:expat)))) -(define-public emacs-modus-operandi-theme +(define-public emacs-modus-themes (package - (name "emacs-modus-operandi-theme") - (version "0.13.0") + (name "emacs-modus-themes") + (version "1.0.2") (source (origin (method git-fetch) @@ -23224,56 +23763,27 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0i6n3pzrmlgabsijy6z0hhs71q7g99yagwr2m33lr30skqc9rvdn")))) + (base32 "1v82payjgx8z0qdklsrkim7xkb6hqrbs34d5qpq0sii43jwhiy5j")))) (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-theme - (lambda _ - (delete-file "modus-vivendi-theme.el") - #t))))) - (home-page "https://gitlab.com/protesilaos/modus-themes") - (synopsis "Accessible light theme (WCAG AAA)") + (home-page "https://protesilaos.com/modus-themes/") + (synopsis "Accessible themes (WCAG AAA)") (description - "Modus operandi is the light version of the Modus accessible themes for -GNU Emacs. The contrast ratio between foreground and background values should -always be greater than 7:1, which conforms with the WCAG AAA accessibility -standard. This is the highest standard of its kind.") - (license license:gpl3+))) + "The Modus themes are designed for accessible readability. They conform +with the highest standard for color contrast between any given combination of +background and foreground values. This corresponds to the WCAG AAA standard, +which specifies a minimum rate of distance in relative luminance of 7:1. -(define-public emacs-modus-vivendi-theme - (package - (name "emacs-modus-vivendi-theme") - (version "0.13.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/protesilaos/modus-themes") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0i6n3pzrmlgabsijy6z0hhs71q7g99yagwr2m33lr30skqc9rvdn")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-theme - (lambda _ - (delete-file "modus-operandi-theme.el") - #t))))) - (home-page "https://gitlab.com/protesilaos/modus-themes") - (synopsis "Accessible dark theme (WCAG AAA)") - (description - "Modus vivendi is the dark version of the Modus accessible themes for GNU -Emacs. The contrast ratio between foreground and background values should -always be greater than 7:1, which conforms with the WCAG AAA accessibility -standard. This is the highest standard of its kind.") +Modus Operandi (modus-operandi) is a light theme, while Modus +Vivendi (modus-vivendi) is dark. Each theme’s color palette is designed to +meet the needs of the numerous interfaces that are possible in the Emacs +computing environment.") (license license:gpl3+))) -(define-public emacs-modus-themes - (deprecated-package "emacs-modus-themes" emacs-modus-operandi-theme)) +(define-public emacs-modus-operandi-theme + (deprecated-package "emacs-modus-operandi-theme" emacs-modus-themes)) + +(define-public emacs-modus-vivendi-theme + (deprecated-package "emacs-modus-vivendi-theme" emacs-modus-themes)) (define-public emacs-punpun-theme (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65") @@ -23552,13 +24062,37 @@ Google guidelines.") fish-completion. It can be used in both Eshell and M-x shell.") (license license:gpl3+))) +(define-public emacs-helm-switch-to-repl + (package + (name "emacs-helm-switch-to-repl") + (version "0.1.1") + (home-page "https://github.com/emacs-helm/helm-switch-to-repl") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zwzpar34b98p0fiwy9q1bxrb67nv79pv9cz4kmyypclrmrhgqa2")))) + (build-system emacs-build-system) + (propagated-inputs + `(("helm" ,emacs-helm))) + (synopsis "Helm action to switch directory in Emacs REPLs") + (description "Helm \"Switch-to-REPL\" offers the +@code{helm-switch-to-repl} action, a generalized and extensible version of +@code{helm-ff-switch-to-shell}. It can be added to @code{helm-find-files} and +other @code{helm-type-file} sources such as @code{helm-locate}.") + (license license:gpl3+))) + (define-public emacs-telega ;; This package has versions newer than indicated on MELPA. ;; Get the current version from `telega-version` in telega.el. ;; or by running M-x telega-version. - (let ((commit "e53996777570a5bed84d21f6c8defd4f51c8e255") - (revision "0") - (version "0.6.28")) + (let ((commit "1d28dc209e2acf1a3bf2852cc620b6e412ea73f9") + (revision "1") + (version "0.7.1")) (package (name "emacs-telega") (version (git-version version revision commit)) @@ -23570,7 +24104,7 @@ fish-completion. It can be used in both Eshell and M-x shell.") (commit commit))) (sha256 (base32 - "058x6svgy33lyqjqq0l3byv8bysqig9jmh3kx8shaqr0ypfrjhi3")) + "0h6kj3r36x26v6p4gkzg5s6fv0brlvrf6ycsdwnz27fw5sdb99k7")) (patches (search-patches "emacs-telega-patch-server-functions.patch" "emacs-telega-test-env.patch")) @@ -23702,7 +24236,7 @@ fish-completion. It can be used in both Eshell and M-x shell.") (description "Telega is a full-featured, unofficial GNU Emacs-based client for the Telegram messaging platform.") - (home-page "https://github.com/zevlg/telega.el") + (home-page "https://zevlg.github.io/telega.el/") (license license:gpl3+)))) (define-public emacs-doom-modeline @@ -23754,6 +24288,29 @@ icon support, git integration, and several other utilities.") replicate some of the features of the Doom modeline package.") (license license:gpl2+))) +(define-public emacs-simple-modeline + (let ((commit "38973dec2912e2136d8fde5f2667063863fee15a") + (revision "1")) + (package + (name "emacs-simple-modeline") + (version (git-version"1.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gexplorer/simple-modeline") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y70hc3x8rxr8b5x8d0a23gpcadzrn43wmrsvqqxmmkqqp45n7gj")))) + (build-system emacs-build-system) + (home-page "https://github.com/gexplorer/simple-modeline") + (synopsis "Simple mode-line configuration for Emacs") + (description + "This package provides a simple mode-line configuration for Emacs.") + (license license:gpl3+)))) + (define-public emacs-frames-only-mode (package (name "emacs-frames-only-mode") @@ -24019,14 +24576,14 @@ interface.") (define-public emacs-ivy-posframe (package (name "emacs-ivy-posframe") - (version "0.5.3") + (version "0.5.5") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "ivy-posframe-" version ".el")) + "ivy-posframe-" version ".tar")) (sha256 - (base32 "03ydfb155p5lak7nw4s79ab9zadwsjw1zggzwxgnlydsqdqbr6l6")))) + (base32 "184730grclxmlw6nfs41d4g6fvz9c6xnclvwgqx1ii0xm7p9xy95")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy) @@ -24345,7 +24902,7 @@ pattern guessed from thing under current cursor position. (define-public emacs-helm-selector (package (name "emacs-helm-selector") - (version "0.3") + (version "0.5") (home-page "https://github.com/emacs-helm/helm-selector") (source (origin @@ -24356,7 +24913,7 @@ pattern guessed from thing under current cursor position. (file-name (git-file-name name version)) (sha256 (base32 - "134rxm4zicn565k3q5q15iiqcvcyiq6lsvmsqr53ifjjbq8pd9y6")))) + "1cv659sqmrvk316fp7mjc58vvbcg1j6s2q4rwgqrpbyszrxl3i63")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) @@ -24832,7 +25389,7 @@ variables.") (define-public emacs-company-emoji (package (name "emacs-company-emoji") - (version "2.5.2") + (version "2.6.0") (source (origin (method git-fetch) @@ -24841,7 +25398,7 @@ variables.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2")))) + (base32 "0pa67yfcr8lrxdbvln8hs663gsxz38ggwpva7121ngascqgx42wp")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-company" ,emacs-company))) @@ -25120,6 +25677,33 @@ as a plug-and-play solution for anyone already using Org mode for their personal wiki.") (license license:gpl3+))) +(define-public emacs-org-roam-bibtex + (package + (name "emacs-org-roam-bibtex") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/org-roam/org-roam-bibtex") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13pll793khyfncpwm2dg24w747sqp7kgf7m3fqw2xzhv9cx2g7nq")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm-bibtex" ,emacs-helm-bibtex) + ("emacs-org-ref" ,emacs-org-ref) + ("emacs-org-roam" ,emacs-org-roam))) + (home-page "https://github.com/org-roam/org-roam-bibtex") + (synopsis "Connector between Org Roam, BibTeX-completion, and Org Ref") + (description + "Org Roam BibTeX is a library which offers a tighter integration between +Org Roam, Helm-BibTeX, and Org Ref. It allows users to access their +bibliographical notes in Org Roam directory via Helm BibTeX, Ivy BibTeX, or by +opening Org Ref's @code{cite:} links.") + (license license:gpl3+))) + (define-public emacs-org-generate (package (name "emacs-org-generate") @@ -25739,3 +26323,131 @@ syntax highlighting and UI components.") "This Emacs package provides a Janet REPL to evaluate @code{janet-mode} s-expression.") (license license:expat)))) + +(define-public emacs-map + (package + (name "emacs-map") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/map-" + version ".el")) + (sha256 + (base32 + "0ydz5w1n4vwhhzxxj003s7jv8n1wjijwfryk5z93bwhnr0cak0i0")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/map.html") + (synopsis "Map manipulation functions") + (description "This package provides Emacs map-manipulation functions that +work on alists, hash-table and arrays. All functions are prefixed with +@code{map-}.") + (license license:gpl3+))) + +(define-public emacs-xref + (package + (name "emacs-xref") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "xref-" version ".el")) + (sha256 + (base32 "0hkm59qqlsfw3w9ws9xhpmmz30ylifmh05a00ba58zvv1kz04x1g")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/xref.html") + (synopsis "Cross-referencing commands") + (description + "This library provides a generic infrastructure for cross referencing +commands, in particular @code{find-definition}.") + (license license:gpl3+))) + +(define-public emacs-burly + (package + (name "emacs-burly") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/burly.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vaikknjzmhpszyi4yxjjkp1ihgmhpbnbx1s5pjy4mnhl1ibi33b")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-map" ,emacs-map))) + (home-page "https://github.com/alphapapa/burly.el") + (synopsis "Save and restore frame/window configurations with buffers") + (description "This package provides tools to save and restore frame and +window configurations in Emacs, including buffers that may not be live +anymore. In this way, it's like a lightweight \"workspace\" manager, allowing +you to easily restore one or more frames, including their windows, the +windows' layout, and their buffers.") + (license license:gpl3+))) + +(define-public emacs-smart-hungry-delete + (let ((commit "7c1d56a92481594e14d40b5fdf6c48657a0108a0")) + (package + (name "emacs-smart-hungry-delete") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hrehfeld/emacs-smart-hungry-delete") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mxaslx5823s68a8ggbbnmfk1jiswjvip5s4sg7ihfagnci72wni")))) + (build-system emacs-build-system) + (home-page "https://github.com/hrehfeld/emacs-smart-hungry-delete") + (synopsis "Smart hungry deletion of whitespace") + (description "@code{emacs-smart-hungry-delete} hungrily deletes whitespace +between cursor and next word, parenthesis or delimiter while honoring some +rules about where space should be left to separate words and parentheses.") + (license license:gpl2+)))) + +(define-public emacs-webpaste + (package + (name "emacs-webpaste") + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/etu/webpaste.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08545ihkzflw80rwklnxiswrpdrl8kr74xzxm5wsgrf36fkj9rn2")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("make" "unit" "integration") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; Do not use cask to run tests. + (substitute* "Makefile" + (("\\$\\{CASK\\} exec ") "")) + ;; Disable tests that need network access. + (substitute* (list "tests/unit/test-webpaste-provider-creation.el" + "tests/integration/test-webpaste-providers.el") + (("describe") "xdescribe"))))))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup))) + (propagated-inputs + `(("emacs-request" ,emacs-request))) + (home-page "https://github.com/etu/webpaste.el") + (synopsis "Paste to pastebin-like services") + (description "This mode allows to paste whole buffers or parts of buffers +to pastebin-like services. It supports more than one service and will +failover if one service fails. More services can easily be added over time +and prefered services can easily be configured.") + (license license:gpl3+))) |