Merge branch 'master' into staging
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
37 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
45 ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
58 ;;;
59 ;;; This file is part of GNU Guix.
60 ;;;
61 ;;; GNU Guix is free software; you can redistribute it and/or modify it
62 ;;; under the terms of the GNU General Public License as published by
63 ;;; the Free Software Foundation; either version 3 of the License, or (at
64 ;;; your option) any later version.
65 ;;;
66 ;;; GNU Guix is distributed in the hope that it will be useful, but
67 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
68 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
69 ;;; GNU General Public License for more details.
70 ;;;
71 ;;; You should have received a copy of the GNU General Public License
72 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
73
74 (define-module (gnu packages emacs-xyz)
75 #:use-module ((guix licenses) #:prefix license:)
76 #:use-module (guix packages)
77 #:use-module (guix cvs-download)
78 #:use-module (guix download)
79 #:use-module (guix git-download)
80 #:use-module (guix build-system gnu)
81 #:use-module (guix build-system cmake)
82 #:use-module (guix build-system emacs)
83 #:use-module (guix build-system glib-or-gtk)
84 #:use-module (guix build-system perl)
85 #:use-module (guix build-system trivial)
86 #:use-module (gnu packages)
87 #:use-module (gnu packages admin)
88 #:use-module (gnu packages audio)
89 #:use-module (gnu packages bash)
90 #:use-module (gnu packages cmake)
91 #:use-module (gnu packages code)
92 #:use-module (gnu packages curl)
93 #:use-module (gnu packages databases)
94 #:use-module (gnu packages dictionaries)
95 #:use-module (gnu packages emacs)
96 #:use-module (gnu packages guile)
97 #:use-module (gnu packages gtk)
98 #:use-module (gnu packages gnome)
99 #:use-module (gnu packages ncurses)
100 #:use-module (gnu packages python)
101 #:use-module (gnu packages python-xyz)
102 #:use-module (gnu packages tex)
103 #:use-module (gnu packages texinfo)
104 #:use-module (gnu packages tcl)
105 #:use-module (gnu packages tls)
106 #:use-module (gnu packages pkg-config)
107 #:use-module (gnu packages xorg)
108 #:use-module (gnu packages lesstif)
109 #:use-module (gnu packages llvm)
110 #:use-module (gnu packages image)
111 #:use-module (gnu packages linux)
112 #:use-module (gnu packages libevent)
113 #:use-module (gnu packages music)
114 #:use-module (gnu packages version-control)
115 #:use-module (gnu packages imagemagick)
116 #:use-module (gnu packages w3m)
117 #:use-module (gnu packages wget)
118 #:use-module (gnu packages autotools)
119 #:use-module (gnu packages base)
120 #:use-module (gnu packages compression)
121 #:use-module (gnu packages node)
122 #:use-module (gnu packages xml)
123 #:use-module (gnu packages glib)
124 #:use-module (gnu packages acl)
125 #:use-module (gnu packages mail)
126 #:use-module (gnu packages package-management)
127 #:use-module (gnu packages perl)
128 #:use-module (gnu packages pdf)
129 #:use-module (gnu packages scheme)
130 #:use-module (gnu packages speech)
131 #:use-module (gnu packages xiph)
132 #:use-module (gnu packages mp3)
133 #:use-module (gnu packages gettext)
134 #:use-module (gnu packages fribidi)
135 #:use-module (gnu packages gd)
136 #:use-module (gnu packages fontutils)
137 #:use-module (gnu packages password-utils)
138 #:use-module (gnu packages pulseaudio)
139 #:use-module (gnu packages sphinx)
140 #:use-module (gnu packages xdisorg)
141 #:use-module (gnu packages shells)
142 #:use-module (gnu packages sqlite)
143 #:use-module (gnu packages gnupg)
144 #:use-module (gnu packages video)
145 #:use-module (gnu packages haskell-xyz)
146 #:use-module (gnu packages wordnet)
147 #:use-module (guix utils)
148 #:use-module (srfi srfi-1)
149 #:use-module (ice-9 match))
150
151 ;;;
152 ;;; Emacs hacking.
153 ;;;
154
155 (define-public emacs-geiser
156 (package
157 (name "emacs-geiser")
158 (version "0.10")
159 (source (origin
160 (method url-fetch)
161 (uri (string-append "mirror://savannah/geiser/" version
162 "/geiser-" version ".tar.gz"))
163 (sha256
164 (base32
165 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
166 (build-system gnu-build-system)
167 (arguments
168 '(#:phases
169 (modify-phases %standard-phases
170 (add-after 'install 'post-install
171 (lambda* (#:key outputs #:allow-other-keys)
172 (symlink "geiser-install.el"
173 (string-append (assoc-ref outputs "out")
174 "/share/emacs/site-lisp/"
175 "geiser-autoloads.el"))
176 #t)))))
177 (inputs `(("guile" ,guile-2.2)))
178 (native-inputs `(("emacs" ,emacs-minimal)))
179 (home-page "https://nongnu.org/geiser/")
180 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
181 (description
182 "Geiser is a collection of Emacs major and minor modes that conspire with
183 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
184 continuously running Scheme interpreter takes the center of the stage in
185 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
186 implementation, Emacs and, ultimately, the schemer, giving them access to live
187 metadata.")
188 (license license:bsd-3)))
189
190 (define-public geiser
191 (deprecated-package "geiser" emacs-geiser))
192
193 (define-public emacs-paredit
194 (package
195 (name "emacs-paredit")
196 (version "24")
197 (source (origin
198 (method url-fetch)
199 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
200 version ".el"))
201 (sha256
202 (base32
203 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
204 (build-system emacs-build-system)
205 (home-page "http://mumble.net/~campbell/emacs/paredit/")
206 (synopsis "Emacs minor mode for editing parentheses")
207 (description
208 "ParEdit (paredit.el) is a minor mode for performing structured editing
209 of S-expression data. The typical example of this would be Lisp or Scheme
210 source code.
211
212 ParEdit helps **keep parentheses balanced** and adds many keys for moving
213 S-expressions and moving around in S-expressions. Its behavior can be jarring
214 for those who may want transient periods of unbalanced parentheses, such as
215 when typing parentheses directly or commenting out code line by line.")
216 (license license:gpl3+)))
217
218 (define-public paredit
219 (deprecated-package "paredit" emacs-paredit))
220
221 (define-public git-modes
222 (package
223 (name "emacs-git-modes")
224 (version "1.2.8")
225 (source (origin
226 (method git-fetch)
227 (uri (git-reference
228 (url "https://github.com/magit/git-modes")
229 (commit version)))
230 (file-name (git-file-name name version))
231 (sha256
232 (base32
233 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
234 (build-system emacs-build-system)
235 (home-page "https://github.com/magit/git-modes")
236 (synopsis "Emacs major modes for Git configuration files")
237 (description
238 "This package provides Emacs major modes for editing various Git
239 configuration files, such as .gitattributes, .gitignore, and .git/config.")
240 (license license:gpl3+)))
241
242 (define-public git-modes/old-name
243 (deprecated-package "git-modes" git-modes))
244
245 (define-public emacs-with-editor
246 (package
247 (name "emacs-with-editor")
248 (version "2.8.3")
249 (source (origin
250 (method git-fetch)
251 (uri (git-reference
252 (url "https://github.com/magit/with-editor.git")
253 (commit (string-append "v" version))))
254 (file-name (git-file-name name version))
255 (sha256
256 (base32
257 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
258 (build-system emacs-build-system)
259 (propagated-inputs
260 `(("emacs-dash" ,emacs-dash)))
261 (home-page "https://github.com/magit/with-editor")
262 (synopsis "Emacs library for using Emacsclient as EDITOR")
263 (description
264 "This package provides an Emacs library to use the Emacsclient as
265 @code{$EDITOR} of child processes, making sure they know how to call home.
266 For remote processes a substitute is provided, which communicates with Emacs
267 on stdout instead of using a socket as the Emacsclient does.")
268 (license license:gpl3+)))
269
270 (define-public emacs-magit
271 ;; `magit-setup-buffer' macro introduced in c761d28d and required in
272 ;; `emacs-forge'.
273 (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770"))
274 (package
275 (name "emacs-magit")
276 (version (git-version "2.90.1" "2" commit))
277 (source (origin
278 (method git-fetch)
279 (uri (git-reference
280 (url "https://github.com/magit/magit.git")
281 (commit commit)))
282 (file-name (git-file-name name version))
283 (sha256
284 (base32
285 "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
286 ;; FIXME: emacs-forge uses a function defined in this patch,
287 ;; which is newer than the current commit.
288 (patches
289 (search-patches
290 "emacs-magit-log-format-author-margin.patch"))
291 (modules '((guix build utils)))
292 (snippet
293 '(begin
294 ;; Fix syntax error
295 (substitute* "lisp/magit-extras.el"
296 (("rev\\)\\)\\)\\)\\)\\)") "rev)))))"))
297 #t))))
298 (build-system gnu-build-system)
299 (native-inputs `(("texinfo" ,texinfo)
300 ("emacs" ,emacs-minimal)))
301 (inputs
302 `(("git" ,git)
303 ("perl" ,perl)))
304 (propagated-inputs
305 `(("dash" ,emacs-dash)
306 ("with-editor" ,emacs-with-editor)
307 ("transient" ,emacs-transient)))
308 (arguments
309 `(#:modules ((guix build gnu-build-system)
310 (guix build utils)
311 (guix build emacs-utils))
312 #:imported-modules (,@%gnu-build-system-modules
313 (guix build emacs-utils))
314 #:test-target "test"
315 #:tests? #f ; tests are not included in the release
316
317 #:make-flags
318 (list (string-append "PREFIX=" %output)
319 ;; Don't put .el files in a sub-directory.
320 (string-append "lispdir=" %output "/share/emacs/site-lisp")
321 (string-append "DASH_DIR="
322 (assoc-ref %build-inputs "dash")
323 "/share/emacs/site-lisp/guix.d/dash-"
324 ,(package-version emacs-dash))
325 (string-append "WITH_EDITOR_DIR="
326 (assoc-ref %build-inputs "with-editor")
327 "/share/emacs/site-lisp/guix.d/with-editor-"
328 ,(package-version emacs-with-editor))
329 (string-append "TRANSIENT_DIR="
330 (assoc-ref %build-inputs "transient")
331 "/share/emacs/site-lisp/guix.d/transient-"
332 ,(package-version emacs-transient)))
333
334 #:phases
335 (modify-phases %standard-phases
336 (add-after 'unpack 'patch
337 (lambda _
338 (chmod "lisp/magit-extras.el" #o644)
339 (emacs-batch-edit-file "lisp/magit-extras.el"
340 `(progn (progn
341 (goto-char (point-min))
342 (re-search-forward "(defun magit-copy-buffer-revision ()")
343 (forward-sexp 2)
344 (kill-sexp)
345 (insert ,(format #f "~S"
346 '(if (use-region-p)
347 (copy-region-as-kill nil nil 'region)
348 (when-let ((rev (cl-case major-mode
349 ((magit-cherry-mode
350 magit-log-select-mode
351 magit-reflog-mode
352 magit-refs-mode
353 magit-revision-mode
354 magit-stash-mode
355 magit-stashes-mode)
356 (car magit-refresh-args))
357 ((magit-diff-mode magit-log-mode)
358 (let ((r (caar magit-refresh-args)))
359 (if (string-match "\\.\\.\\.?\\(.+\\)" r)
360 (match-string 1 r)
361 r)))
362 (magit-status-mode "HEAD"))))
363 (when (magit-commit-p rev)
364 (setq rev (magit-rev-parse rev))
365 (push (list rev default-directory) magit-revision-stack)
366 (kill-new (message "%s" rev))))))))
367 (basic-save-buffer)))
368 #t))
369 (delete 'configure)
370 (add-before
371 'build 'patch-exec-paths
372 (lambda* (#:key inputs #:allow-other-keys)
373 (let ((perl (assoc-ref inputs "perl")))
374 (make-file-writable "lisp/magit-sequence.el")
375 (emacs-substitute-variables "lisp/magit-sequence.el"
376 ("magit-perl-executable" (string-append perl "/bin/perl")))
377 #t))))))
378 (home-page "https://magit.vc/")
379 (synopsis "Emacs interface for the Git version control system")
380 (description
381 "With Magit, you can inspect and modify your Git repositories with Emacs.
382 You can review and commit the changes you have made to the tracked files, for
383 example, and you can browse the history of past changes. There is support for
384 cherry picking, reverting, merging, rebasing, and other common Git
385 operations.")
386 (license license:gpl3+))))
387
388 (define-public magit
389 (deprecated-package "magit" emacs-magit))
390
391 (define-public emacs-magit-svn
392 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
393 (package
394 (name "emacs-magit-svn")
395 (version (git-version "2.2.1" "1" commit))
396 (source (origin
397 (method git-fetch)
398 (uri (git-reference
399 (url "https://github.com/magit/magit-svn")
400 (commit commit)))
401 (file-name (git-file-name name version))
402 (sha256
403 (base32
404 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
405 (build-system trivial-build-system)
406 (native-inputs `(("emacs" ,emacs-minimal)))
407 (propagated-inputs `(("dash" ,emacs-dash)
408 ("with-editor" ,emacs-with-editor)
409 ("magit" ,emacs-magit)
410 ("transient" ,emacs-transient)))
411 (arguments
412 `(#:modules ((guix build utils)
413 (guix build emacs-utils))
414
415 #:builder
416 (begin
417 (use-modules (guix build utils)
418 (guix build emacs-utils))
419
420 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
421 "/bin/emacs"))
422 (magit (string-append (assoc-ref %build-inputs "magit")
423 "/share/emacs/site-lisp"))
424 (transient (string-append (assoc-ref %build-inputs "transient")
425 "/share/emacs/site-lisp/guix.d/transient-"
426 ,(package-version emacs-transient)))
427 (dash (string-append (assoc-ref %build-inputs "dash")
428 "/share/emacs/site-lisp/guix.d/dash-"
429 ,(package-version emacs-dash)))
430 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
431 "/share/emacs/site-lisp/guix.d/with-editor-"
432 ,(package-version emacs-with-editor)))
433 (source (assoc-ref %build-inputs "source"))
434 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
435
436 (install-file (string-append source "/magit-svn.el")
437 lisp-dir)
438
439 (with-directory-excursion lisp-dir
440 (parameterize ((%emacs emacs))
441 (emacs-generate-autoloads ,name lisp-dir)
442 (setenv "EMACSLOADPATH"
443 (string-append ":" magit ":" transient
444 ":" dash ":" with-editor))
445 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
446 #t))))
447 (home-page "https://github.com/magit/magit-svn")
448 (synopsis "Git-SVN extension to Magit")
449 (description
450 "This package is an extension to Magit, the Git Emacs mode, providing
451 support for Git-SVN.")
452 (license license:gpl3+))))
453
454 (define-public magit-svn
455 (deprecated-package "magit-svn" emacs-magit-svn))
456
457 (define-public emacs-magit-popup
458 (package
459 (name "emacs-magit-popup")
460 (version "2.12.5")
461 (source (origin
462 (method git-fetch)
463 (uri (git-reference
464 (url "https://github.com/magit/magit-popup.git")
465 (commit (string-append "v" version))))
466 (file-name (git-file-name name version))
467 (sha256
468 (base32
469 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
470 (build-system emacs-build-system)
471 (arguments
472 `(#:phases
473 (modify-phases %standard-phases
474 (add-before 'install 'make-info
475 (lambda _
476 (invoke "make" "info"))))))
477 (native-inputs
478 `(("texinfo" ,texinfo)))
479 (propagated-inputs
480 `(("emacs-dash" ,emacs-dash)))
481 (home-page "https://github.com/magit/magit-popup")
482 (synopsis "Define prefix-infix-suffix command combos")
483 (description
484 "This library implements a generic interface for toggling switches and
485 setting options and then invoking an Emacs command which does something with
486 these arguments. The prototypical use is for the command to call an external
487 process, passing on the arguments as command line arguments.")
488 (license license:gpl3+)))
489
490 (define-public emacs-minions
491 (package
492 (name "emacs-minions")
493 (version "0.3.1")
494 (source (origin
495 (method git-fetch)
496 (uri (git-reference
497 (url "https://github.com/tarsius/minions.git")
498 (commit (string-append "v" version))))
499 (file-name (git-file-name name version))
500 (sha256
501 (base32
502 "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"))))
503 (build-system emacs-build-system)
504 (propagated-inputs
505 `(("emacs-dash" ,emacs-dash)))
506 (home-page "https://github.com/tarsius/minions")
507 (synopsis "Minor-mode menu for the mode line")
508 (description
509 "This package implements a menu that lists enabled minor-modes, as well
510 as commonly but not currently enabled minor-modes. It can be used to toggle
511 local and global minor-modes, to access mode-specific menus, and to get help
512 about modes.
513
514 This menu is intended as a replacement for the incomplete yet wide list of
515 enabled minor-modes that is displayed in the mode line by default. To use the
516 menu like this, enable Minions mode.
517
518 Alternatively the menu can be bound globally, for example:
519 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
520 (license license:gpl3+)))
521
522 (define-public emacs-treepy
523 (package
524 (name "emacs-treepy")
525 (version "0.1.1")
526 (source (origin
527 (method git-fetch)
528 (uri (git-reference
529 (url "https://github.com/volrath/treepy.el.git")
530 (commit version)))
531 (file-name (git-file-name name version))
532 (sha256
533 (base32
534 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
535 (build-system emacs-build-system)
536 (home-page
537 "https://github.com/volrath/treepy.el")
538 (synopsis "Tree traversal tools")
539 (description
540 "Generic tools for recursive and iterative tree traversal based on
541 clojure.walk and clojure.zip respectively.")
542 (license license:gpl3+)))
543
544 (define-public emacs-graphql
545 (package
546 (name "emacs-graphql")
547 (version "0.1.1")
548 (source (origin
549 (modules '((guix build utils)))
550 ;; Remove examples file with references to external packages as
551 ;; they do not exist at compilation time.
552 (snippet
553 '(begin (delete-file "examples.el")
554 #t))
555 (method git-fetch)
556 (uri (git-reference
557 (url "https://github.com/vermiculus/graphql.el.git")
558 (commit version)))
559 (file-name (git-file-name name version))
560 (sha256
561 (base32
562 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
563 (build-system emacs-build-system)
564 (home-page
565 "https://github.com/vermiculus/graphql.el")
566 (synopsis "GraphQL utilities")
567 (description
568 "GraphQL.el provides a generally-applicable domain-specific language for
569 creating and executing GraphQL queries against your favorite web services.
570 GraphQL is a data query language and runtime designed and used to request and
571 deliver data to mobile and web apps.")
572 (license license:gpl3+)))
573
574 (define-public emacs-ghub
575 ;; We need a newer commit to avoid problems in emacs-forge.
576 (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696")
577 (revision "2"))
578 (package
579 (name "emacs-ghub")
580 (version (git-version "3.2.0" revision commit))
581 (source (origin
582 (method git-fetch)
583 (uri (git-reference
584 (url "https://github.com/magit/ghub")
585 (commit commit)))
586 (file-name (git-file-name name version))
587 (sha256
588 (base32
589 "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx"))))
590 (build-system emacs-build-system)
591 (arguments
592 `(#:phases
593 (modify-phases %standard-phases
594 (add-before 'install 'make-info
595 (lambda _
596 (invoke "make" "info"))))))
597 (native-inputs
598 `(("texinfo" ,texinfo)))
599 (propagated-inputs
600 `(("dash" ,emacs-dash)
601 ("emacs-let-alist" ,emacs-let-alist)
602 ("treepy" ,emacs-treepy)))
603 (home-page "https://github.com/magit/ghub")
604 (synopsis "Emacs client libraries for the APIs of various Git forges")
605 (description
606 "Ghub provides basic support for using the APIs of various Git forges from
607 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
608 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
609 handful of functions that are not resource-specific.")
610 (license license:gpl3+))))
611
612 (define-public emacs-scribble-mode
613 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
614 (revision "2"))
615 (package
616 (name "emacs-scribble-mode")
617 (version (git-version "0.1" revision commit))
618 (source (origin
619 (method git-fetch)
620 (uri (git-reference
621 (url "https://github.com/emacs-pe/scribble-mode.git")
622 (commit commit)))
623 (sha256
624 (base32
625 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
626 (build-system emacs-build-system)
627 (home-page "https://github.com/emacs-pe/scribble-mode")
628 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
629 (description
630 "This package provides basic syntax highlighting and editing support
631 for editing Racket's Scribble documentation syntax in Emacs.")
632 (license license:gpl3+))))
633
634 (define-public emacs-shroud
635 (package
636 (name "emacs-shroud")
637 (version "1.83.4")
638 (source
639 (origin
640 (method git-fetch)
641 (uri (git-reference
642 (url "https://github.com/o-nly/emacs-shroud.git")
643 (commit version)))
644 (file-name (git-file-name name version))
645 (sha256
646 (base32 "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"))))
647 (build-system emacs-build-system)
648 (propagated-inputs
649 `(("emacs-bui" ,emacs-bui)
650 ("emacs-dash" ,emacs-dash)
651 ("emacs-f" ,emacs-f)
652 ("emacs-s" ,emacs-s)
653 ("gnupg" ,gnupg)
654 ("shroud" ,shroud)))
655 (home-page "https://github.com/o-nly/emacs-shroud")
656 (synopsis "Emacs interface to the Shroud password manager")
657 (description
658 "This package provides an Emacs interface to the Shroud password manager,
659 using the Buffers User Interface library. You can view, copy, and edit secrets
660 from within Emacs.")
661 (license license:gpl3+)))
662
663 (define-public emacs-unpackaged-el
664 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
665 (revision "3"))
666 (package
667 (name "emacs-unpackaged-el")
668 (version (git-version "0" revision commit))
669 (source
670 (origin
671 (method git-fetch)
672 (uri (git-reference
673 (url "https://github.com/alphapapa/unpackaged.el")
674 (commit commit)))
675 (file-name (git-file-name name version))
676 (sha256
677 (base32
678 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
679 (build-system emacs-build-system)
680 (propagated-inputs
681 `(("emacs-dash" ,emacs-dash)
682 ("emacs-org" ,emacs-org)
683 ("emacs-s" ,emacs-s)
684 ("emacs-hydra" ,emacs-hydra)
685 ("emacs-use-package" ,emacs-use-package)))
686 (arguments
687 `(#:phases
688 (modify-phases %standard-phases
689 (add-after 'unpack 'require-hydra
690 (lambda _
691 (substitute* "unpackaged.el"
692 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
693 #t)))))
694 (home-page "https://github.com/alphapapa/unpackaged.el")
695 (synopsis "Useful snippets of Emacs Lisp code")
696 (description "This package provides Emacs Lisp utilities for a variety
697 of tasks, including version control, task management, and regex-based
698 replacement.")
699 (license license:gpl3+))))
700
701 (define-public emacs-haskell-mode
702 (package
703 (name "emacs-haskell-mode")
704 (version "16.1")
705 (source (origin
706 (method git-fetch)
707 (uri (git-reference
708 (url "https://github.com/haskell/haskell-mode")
709 (commit (string-append "v" version))))
710 (file-name (git-file-name name version))
711 (sha256
712 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
713 (patches
714 (search-patches ; backport test failure fixes
715 "haskell-mode-unused-variables.patch"
716 "haskell-mode-make-check.patch"))))
717 (inputs
718 `(("emacs-el-search" ,emacs-el-search) ; for tests
719 ("emacs-stream" ,emacs-stream))) ; for tests
720 (propagated-inputs
721 `(("emacs-dash" ,emacs-dash)))
722 (native-inputs
723 `(("emacs" ,emacs-minimal)
724 ("texinfo" ,texinfo)))
725 (build-system gnu-build-system)
726 (arguments
727 `(#:make-flags (list (string-append "EMACS="
728 (assoc-ref %build-inputs "emacs")
729 "/bin/emacs"))
730 #:modules ((ice-9 match)
731 (srfi srfi-26)
732 ,@%gnu-build-system-modules)
733 #:phases
734 (modify-phases %standard-phases
735 (delete 'configure)
736 (add-before
737 'build 'pre-build
738 (lambda* (#:key inputs #:allow-other-keys)
739 (define (el-dir store-dir)
740 (match (find-files store-dir "\\.el$")
741 ((f1 f2 ...) (dirname f1))
742 (_ "")))
743
744 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
745 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
746
747 (setenv "SHELL" "sh")
748 (setenv "EMACSLOADPATH"
749 (string-concatenate
750 (map (match-lambda
751 (((? emacs-prefix? name) . dir)
752 (string-append (el-dir dir) ":"))
753 (_ ""))
754 inputs)))
755 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
756 ;; embed filename to fix test failure
757 (let ((file "tests/haskell-cabal-tests.el"))
758 (substitute* file
759 (("\\(buffer-file-name\\)")
760 (format #f "(or (buffer-file-name) ~s)" file))))
761 #t)))
762 (replace
763 'install
764 (lambda* (#:key outputs #:allow-other-keys)
765 (let* ((out (assoc-ref outputs "out"))
766 (el-dir (string-append out "/share/emacs/site-lisp"))
767 (doc (string-append
768 out "/share/doc/haskell-mode-" ,version))
769 (info (string-append out "/share/info")))
770 (define (copy-to-dir dir files)
771 (for-each (lambda (f)
772 (install-file f dir))
773 files))
774
775 (with-directory-excursion "doc"
776 (invoke "makeinfo" "haskell-mode.texi")
777 (install-file "haskell-mode.info" info))
778 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
779 (copy-to-dir el-dir (find-files "." "\\.elc?"))
780 ;; These are part of other packages.
781 (with-directory-excursion el-dir
782 (for-each delete-file '("dash.el" "ert.el")))
783 #t))))))
784 (home-page "https://github.com/haskell/haskell-mode")
785 (synopsis "Haskell mode for Emacs")
786 (description
787 "This is an Emacs mode for editing, debugging and developing Haskell
788 programs.")
789 (license license:gpl3+)))
790
791 (define-public haskell-mode
792 (deprecated-package "haskell-mode" emacs-haskell-mode))
793
794 (define-public emacs-dante
795 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
796 (revision "3"))
797 (package
798 (name "emacs-dante")
799 (version (git-version "1.5" revision commit))
800 (source (origin
801 (method git-fetch)
802 (uri (git-reference
803 (url "https://github.com/jyp/dante")
804 (commit commit)))
805 (sha256
806 (base32
807 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
808 (file-name (git-file-name name version))))
809 (build-system emacs-build-system)
810 (propagated-inputs
811 `(("emacs-dash" ,emacs-dash)
812 ("emacs-f" ,emacs-f)
813 ("emacs-flycheck" ,emacs-flycheck)
814 ("emacs-haskell-mode" ,emacs-haskell-mode)
815 ("emacs-s" ,emacs-s)
816 ("emacs-company" ,emacs-company)
817 ("emacs-lcr" ,emacs-lcr)))
818 (home-page "https://github.com/jyp/dante")
819 (synopsis "Minor mode for interactive Haskell")
820 (description
821 "This package provides a minor mode for Haskell development that
822 supports type hints, definition-jumping, completion, and more.")
823 (license license:gpl3+))))
824
825 (define-public emacs-flycheck
826 ;; last release version was more than 300 commits ago
827 (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea")
828 (revision "1"))
829 (package
830 (name "emacs-flycheck")
831 (version (git-version "31" revision commit))
832 (source (origin
833 (method git-fetch)
834 (uri (git-reference
835 (url "https://github.com/flycheck/flycheck/")
836 (commit commit)))
837 (sha256
838 (base32
839 "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"))
840 (file-name (git-file-name name version))))
841 (build-system emacs-build-system)
842 (propagated-inputs
843 `(("emacs-dash" ,emacs-dash)))
844 (native-inputs
845 `(("emacs-shut-up" ,emacs-shut-up)))
846 (arguments
847 `(#:phases
848 (modify-phases %standard-phases
849 (add-after 'unpack 'change-flycheck-version
850 (lambda _
851 (substitute* "flycheck.el"
852 (("\\(pkg-info-version-info 'flycheck\\)")
853 (string-append "\"" ,version "\"")))
854 #t)))
855 ;; TODO: many failing tests
856 #:tests? #f
857 #:test-command '("emacs" "-Q" "--batch" "-L" "."
858 "--load" "test/flycheck-test"
859 "--load" "test/run.el"
860 "-f" "flycheck-run-tests-main")))
861 (home-page "https://www.flycheck.org")
862 (synopsis "On-the-fly syntax checking")
863 (description
864 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
865 replacement for the older Flymake extension which is part of GNU Emacs, with
866 many improvements and additional features.
867
868 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
869 checking for over 30 programming and markup languages with more than 70
870 different tools. It highlights errors and warnings inline in the buffer, and
871 provides an optional IDE-like error list.")
872 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
873
874 (define-public emacs-a
875 (package
876 (name "emacs-a")
877 (version "0.1.1")
878 (source (origin
879 (method git-fetch)
880 (uri (git-reference
881 (url "https://github.com/plexus/a.el.git")
882 (commit (string-append "v" version))))
883 (file-name (git-file-name name version))
884 (sha256
885 (base32
886 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
887 (build-system emacs-build-system)
888 (home-page "https://github.com/plexus/a.el/")
889 (synopsis
890 "Emacs library for dealing with association lists and hash tables")
891 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
892 with associative structures in a uniform and functional way. These functions
893 can take association lists, hash tables, and in some cases vectors (where the
894 index is considered the key).")
895 (license license:gpl3+)))
896
897 (define-public emacs-ace-jump-mode
898 (package
899 (name "emacs-ace-jump-mode")
900 (version "2.0")
901 (home-page "https://github.com/winterTTr/ace-jump-mode")
902 (source (origin
903 (method git-fetch)
904 (uri (git-reference
905 (url home-page)
906 (commit (string-append "v" version))))
907 (sha256
908 (base32
909 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
910 (file-name (git-file-name name version))))
911 (build-system emacs-build-system)
912 (synopsis "Cursor location minor mode for fast navigation")
913 (description "Ace-jump-mode is a fast/direct cursor location minor
914 mode. It creates an N-Branch search tree internally and marks all
915 the possible position with predefined keys in within the whole Emacs
916 view. This allows you to move to the character, word, or line almost
917 directly.")
918 (license license:gpl3+)))
919
920 (define-public emacs-anaphora
921 (package
922 (name "emacs-anaphora")
923 (version "1.0.4")
924 (source
925 (origin
926 (method git-fetch)
927 (uri (git-reference
928 (url "https://github.com/rolandwalker/anaphora.git")
929 (commit (string-append "v" version))))
930 (file-name (git-file-name name version))
931 (sha256
932 (base32
933 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
934 (build-system emacs-build-system)
935 (home-page "https://github.com/rolandwalker/anaphora/")
936 (synopsis "Anaphoric expressions for Emacs Lisp")
937 (description "@code{emacs-anaphora} implements anaphoric expressions for
938 Emacs Lisp.
939
940 Anaphoric expressions implicitly create one or more temporary variables which
941 can be referred to during the expression. This technique can improve clarity
942 in certain cases. It also enables recursion for anonymous functions.")
943 (license license:public-domain)))
944
945 (define-public emacs-xr
946 (package
947 (name "emacs-xr")
948 (version "1.13")
949 (source
950 (origin
951 (method url-fetch)
952 (uri (string-append
953 "https://elpa.gnu.org/packages/xr-" version ".tar"))
954 (sha256
955 (base32
956 "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
957 (build-system emacs-build-system)
958 (home-page "http://elpa.gnu.org/packages/xr.html")
959 (synopsis "Convert string regexp to rx notation")
960 (description
961 "This is an inverse companion to the @code{rx} package for translating
962 regexps in string form to the @code{rx} notation. Its chief uses are:
963
964 @itemize
965 @item Migrating existing code to @code{rx} form, for better readability and
966 maintainability
967 @item Understanding complex regexp strings and finding errors in them
968 @end itemize
969
970 In addition to Emacs regexps, this package can also parse and troubleshoot
971 skip set strings, which are arguments to @code{skip-chars-forward} and
972 @code{skip-chars-backward}.")
973 (license license:gpl3+)))
974
975 (define-public emacs-ample-regexps
976 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
977 (revision "1"))
978 (package
979 (name "emacs-ample-regexps")
980 (version (git-version "0.1" revision commit))
981 (source
982 (origin
983 (method git-fetch)
984 (uri (git-reference
985 (url "https://github.com/immerrr/ample-regexps.el")
986 (commit commit)))
987 (file-name (git-file-name name version))
988 (sha256
989 (base32
990 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
991 (build-system emacs-build-system)
992 (native-inputs
993 `(("ert-runner" ,emacs-ert-runner)))
994 (arguments
995 `(#:tests? #t
996 #:test-command '("ert-runner" "-l" "ample-regexps")))
997 (home-page "https://github.com/immerrr/ample-regexps.el")
998 (synopsis "Compose and reuse Emacs regexps")
999 (description
1000 "This package allows common parts of regexps to be easily picked out
1001 and reused.")
1002 (license license:gpl3+))))
1003
1004 (define-public emacs-reformatter
1005 (package
1006 (name "emacs-reformatter")
1007 (version "0.4")
1008 (source
1009 (origin
1010 (method git-fetch)
1011 (uri (git-reference
1012 (url "https://github.com/purcell/reformatter.el.git")
1013 (commit version)))
1014 (file-name (git-file-name name version))
1015 (sha256
1016 (base32
1017 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1018 (build-system emacs-build-system)
1019 (home-page "https://github.com/purcell/reformatter.el")
1020 (synopsis "Define commands which run reformatters on the current buffer")
1021 (description
1022 "This library lets elisp authors easily define an idiomatic command to
1023 reformat the current buffer using a command-line program, together with an
1024 optional minor mode which can apply this command automatically on save.")
1025 (license license:gpl3+)))
1026
1027 (define-public emacs-relint
1028 (package
1029 (name "emacs-relint")
1030 (version "1.11")
1031 (source
1032 (origin
1033 (method url-fetch)
1034 (uri (string-append
1035 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1036 (sha256
1037 (base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7"))))
1038 (build-system emacs-build-system)
1039 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1040 (home-page "https://github.com/mattiase/relint")
1041 (synopsis "Elisp regexp mistake finder")
1042 (description
1043 "Relint (regular expression lint) scans Elisp files for mistakes in
1044 regexps, including deprecated syntax and bad practice. It also checks the
1045 regexp-like arguments to @code{skip-chars-forward} and
1046 @code{skip-chars-backward}.")
1047 (license license:gpl3+)))
1048
1049 (define-public emacs-bug-hunter
1050 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1051 (revision "1"))
1052 (package
1053 (name "emacs-bug-hunter")
1054 (version (git-version "1.3.1" revision commit))
1055 (source
1056 (origin
1057 (method git-fetch)
1058 (uri (git-reference
1059 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1060 (commit commit)))
1061 (file-name (git-file-name name commit))
1062 (sha256
1063 (base32
1064 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1065 (build-system emacs-build-system)
1066 (propagated-inputs
1067 `(("emacs-seq" ,emacs-seq)))
1068 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1069 (synopsis "Hunt down errors by bisecting elisp files")
1070 (description
1071 "The Bug Hunter is an Emacs library that finds the source of an error
1072 or unexpected behavior inside an elisp configuration file (typically
1073 @file{init.el} or @file{.emacs}).")
1074 (license license:gpl3+))))
1075
1076 \f
1077 ;;;
1078 ;;; Web browsing.
1079 ;;;
1080
1081 (define-public emacs-w3m
1082 ;; Emacs-w3m follows a "rolling release" model.
1083 (package
1084 (name "emacs-w3m")
1085 (version "2018-11-11")
1086 (source (origin
1087 (method cvs-fetch)
1088 (uri (cvs-reference
1089 (root-directory
1090 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1091 (module "emacs-w3m")
1092 (revision version)))
1093 (file-name (string-append name "-" version "-checkout"))
1094 (sha256
1095 (base32
1096 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1097 (build-system gnu-build-system)
1098 (native-inputs `(("autoconf" ,autoconf)
1099 ("texinfo" ,texinfo)
1100 ("emacs" ,emacs-minimal)))
1101 (inputs `(("w3m" ,w3m)
1102 ("imagemagick" ,imagemagick)))
1103 (arguments
1104 `(#:modules ((guix build gnu-build-system)
1105 (guix build utils)
1106 (guix build emacs-utils))
1107 #:imported-modules (,@%gnu-build-system-modules
1108 (guix build emacs-utils))
1109 #:configure-flags
1110 (let ((out (assoc-ref %outputs "out")))
1111 (list (string-append "--with-lispdir="
1112 out "/share/emacs/site-lisp")
1113 (string-append "--with-icondir="
1114 out "/share/images/emacs-w3m")
1115 ;; Leave .el files uncompressed, otherwise GC can't
1116 ;; identify run-time dependencies. See
1117 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1118 "--without-compress-install"))
1119 #:tests? #f ; no check target
1120 #:phases
1121 (modify-phases %standard-phases
1122 (add-after 'unpack 'autoconf
1123 (lambda _
1124 (invoke "autoconf")))
1125 (add-before 'configure 'support-emacs!
1126 (lambda _
1127 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1128 ;; unsupported.
1129 (substitute* "configure"
1130 (("EMACS_FLAVOR=unsupported")
1131 "EMACS_FLAVOR=emacs"))
1132 #t))
1133 (add-before 'build 'patch-exec-paths
1134 (lambda* (#:key inputs outputs #:allow-other-keys)
1135 (let ((out (assoc-ref outputs "out"))
1136 (w3m (assoc-ref inputs "w3m"))
1137 (imagemagick (assoc-ref inputs "imagemagick"))
1138 (coreutils (assoc-ref inputs "coreutils")))
1139 (make-file-writable "w3m.el")
1140 (emacs-substitute-variables "w3m.el"
1141 ("w3m-command" (string-append w3m "/bin/w3m"))
1142 ("w3m-touch-command"
1143 (string-append coreutils "/bin/touch"))
1144 ("w3m-icon-directory"
1145 (string-append out "/share/images/emacs-w3m")))
1146 (make-file-writable "w3m-image.el")
1147 (emacs-substitute-variables "w3m-image.el"
1148 ("w3m-imagick-convert-program"
1149 (string-append imagemagick "/bin/convert"))
1150 ("w3m-imagick-identify-program"
1151 (string-append imagemagick "/bin/identify")))
1152 #t)))
1153 (replace 'install
1154 (lambda* (#:key outputs #:allow-other-keys)
1155 (invoke "make" "install" "install-icons")
1156 (with-directory-excursion
1157 (string-append (assoc-ref outputs "out")
1158 "/share/emacs/site-lisp")
1159 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1160 (symlink "w3m-load.el" "w3m-autoloads.el")
1161 #t))))))
1162 (home-page "http://emacs-w3m.namazu.org/")
1163 (synopsis "Simple Web browser for Emacs based on w3m")
1164 (description
1165 "Emacs-w3m is an emacs interface for the w3m web browser.")
1166 (license license:gpl2+)))
1167
1168 (define-public emacs-wget
1169 (package
1170 (name "emacs-wget")
1171 (version "0.5.0")
1172 (source (origin
1173 (method url-fetch)
1174 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1175 version ".orig.tar.gz"))
1176 (sha256
1177 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1178 (build-system gnu-build-system)
1179 (inputs `(("wget" ,wget)))
1180 (native-inputs `(("emacs" ,emacs-minimal)))
1181 (arguments
1182 `(#:modules ((guix build gnu-build-system)
1183 (guix build utils)
1184 (guix build emacs-utils))
1185 #:imported-modules (,@%gnu-build-system-modules
1186 (guix build emacs-utils))
1187 #:tests? #f ; no check target
1188 #:phases
1189 (modify-phases %standard-phases
1190 (replace 'configure
1191 (lambda* (#:key outputs #:allow-other-keys)
1192 (substitute* "Makefile"
1193 (("/usr/local") (assoc-ref outputs "out"))
1194 (("/site-lisp/emacs-wget") "/site-lisp"))
1195 #t))
1196 (add-before 'build 'patch-exec-paths
1197 (lambda* (#:key inputs outputs #:allow-other-keys)
1198 (let ((wget (assoc-ref inputs "wget")))
1199 (emacs-substitute-variables "wget.el"
1200 ("wget-command" (string-append wget "/bin/wget"))))
1201 #t))
1202 (add-after 'install 'post-install
1203 (lambda* (#:key outputs #:allow-other-keys)
1204 (emacs-generate-autoloads
1205 "wget" (string-append (assoc-ref outputs "out")
1206 "/share/emacs/site-lisp/"))
1207 #t)))))
1208 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1209 (synopsis "Simple file downloader for Emacs based on wget")
1210 (description
1211 "Emacs-wget is an emacs interface for the wget file downloader.")
1212 (license license:gpl2+)))
1213
1214 \f
1215 ;;;
1216 ;;; Multimedia.
1217 ;;;
1218
1219 (define-public emacs-emms
1220 (package
1221 (name "emacs-emms")
1222 (version "5.2")
1223 (source (origin
1224 (method url-fetch)
1225 (uri (string-append "mirror://gnu/emms/emms-"
1226 version ".tar.gz"))
1227 (sha256
1228 (base32
1229 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
1230 (modules '((guix build utils)))
1231 (snippet
1232 '(begin
1233 (substitute* "Makefile"
1234 (("/usr/bin/install-info")
1235 ;; No need to use 'install-info' since it would create a
1236 ;; useless 'dir' file.
1237 "true")
1238 (("^INFODIR=.*")
1239 ;; Install Info files to $out/share/info, not $out/info.
1240 "INFODIR := $(PREFIX)/share/info\n")
1241 (("/site-lisp/emms")
1242 ;; Install directly in share/emacs/site-lisp, not in a
1243 ;; sub-directory.
1244 "/site-lisp")
1245 (("^all: (.*)\n" _ rest)
1246 ;; Build 'emms-print-metadata'.
1247 (string-append "all: " rest " emms-print-metadata\n")))
1248 #t))))
1249 (build-system gnu-build-system)
1250 (arguments
1251 `(#:modules ((guix build gnu-build-system)
1252 (guix build utils)
1253 (guix build emacs-utils)
1254 (ice-9 ftw))
1255 #:imported-modules (,@%gnu-build-system-modules
1256 (guix build emacs-utils))
1257
1258 #:phases
1259 (modify-phases %standard-phases
1260 (replace 'configure
1261 (lambda* (#:key inputs outputs #:allow-other-keys)
1262 (let ((out (assoc-ref outputs "out"))
1263 (flac (assoc-ref inputs "flac"))
1264 (vorbis (assoc-ref inputs "vorbis-tools"))
1265 (alsa (assoc-ref inputs "alsa-utils"))
1266 (mpg321 (assoc-ref inputs "mpg321"))
1267 (mp3info (assoc-ref inputs "mp3info"))
1268 (mutagen (assoc-ref inputs "mutagen"))
1269 (opus (assoc-ref inputs "opus-tools")))
1270 ;; Specify the installation directory.
1271 (substitute* "Makefile"
1272 (("PREFIX=.*$")
1273 (string-append "PREFIX := " out "\n")))
1274
1275 (setenv "SHELL" (which "sh"))
1276 (setenv "CC" "gcc")
1277
1278 ;; Specify the absolute file names of the various
1279 ;; programs so that everything works out-of-the-box.
1280 (with-directory-excursion "lisp"
1281 (emacs-substitute-variables
1282 "emms-player-mpg321-remote.el"
1283 ("emms-player-mpg321-remote-command"
1284 (string-append mpg321 "/bin/mpg321")))
1285 (substitute* "emms-player-simple.el"
1286 (("\"ogg123\"")
1287 (string-append "\"" vorbis "/bin/ogg123\"")))
1288 (substitute* "emms-player-simple.el"
1289 (("\"mpg321\"")
1290 (string-append "\"" mpg321 "/bin/mpg321\"")))
1291 (emacs-substitute-variables "emms-info-ogginfo.el"
1292 ("emms-info-ogginfo-program-name"
1293 (string-append vorbis "/bin/ogginfo")))
1294 (emacs-substitute-variables "emms-info-opusinfo.el"
1295 ("emms-info-opusinfo-program-name"
1296 (string-append opus "/bin/opusinfo")))
1297 (emacs-substitute-variables "emms-info-libtag.el"
1298 ("emms-info-libtag-program-name"
1299 (string-append out "/bin/emms-print-metadata")))
1300 (emacs-substitute-variables "emms-info-mp3info.el"
1301 ("emms-info-mp3info-program-name"
1302 (string-append mp3info "/bin/mp3info")))
1303 (emacs-substitute-variables "emms-info-metaflac.el"
1304 ("emms-info-metaflac-program-name"
1305 (string-append flac "/bin/metaflac")))
1306 (emacs-substitute-variables "emms-source-file.el"
1307 ("emms-source-file-gnu-find" (which "find")))
1308 (substitute* "emms-volume-amixer.el"
1309 (("\"amixer\"")
1310 (string-append "\"" alsa "/bin/amixer\"")))
1311 (substitute* "emms-tag-editor.el"
1312 (("\"mid3v2\"")
1313 (string-append "\"" mutagen "/bin/mid3v2\"")))
1314 #t))))
1315 (add-before 'install 'pre-install
1316 (lambda* (#:key outputs #:allow-other-keys)
1317 ;; The 'install' rule expects the target directories to exist.
1318 (let* ((out (assoc-ref outputs "out"))
1319 (bin (string-append out "/bin"))
1320 (man1 (string-append out "/share/man/man1")))
1321 (mkdir-p bin)
1322 (mkdir-p man1)
1323
1324 ;; Ensure that files are not rejected by gzip
1325 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1326 (ftw "." (lambda (file stat flag)
1327 (unless (<= early-1980 (stat:mtime stat))
1328 (utime file early-1980 early-1980))
1329 #t)))
1330 #t)))
1331 (add-after 'install 'post-install
1332 (lambda* (#:key outputs #:allow-other-keys)
1333 (let ((out (assoc-ref outputs "out")))
1334 (symlink "emms-auto.el"
1335 (string-append out "/share/emacs/site-lisp/"
1336 "emms-autoloads.el")))
1337 #t)))
1338 #:tests? #f))
1339 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1340 ("texinfo" ,texinfo)))
1341 (inputs `(("alsa-utils" ,alsa-utils)
1342 ("flac" ,flac) ;for metaflac
1343 ("vorbis-tools" ,vorbis-tools)
1344 ("mpg321" ,mpg321)
1345 ("taglib" ,taglib)
1346 ("mp3info" ,mp3info)
1347 ("mutagen" ,python-mutagen)
1348 ("opus-tools" ,opus-tools)))
1349 (properties '((upstream-name . "emms")))
1350 (synopsis "Emacs Multimedia System")
1351 (description
1352 "EMMS is the Emacs Multimedia System. It is a small front-end which
1353 can control one of the supported external players. Thus, it supports
1354 whatever formats are supported by your music player. It also
1355 supports tagging and playlist management, all behind a clean and
1356 light user interface.")
1357 (home-page "https://www.gnu.org/software/emms/")
1358 (license license:gpl3+)))
1359
1360 (define-public emacs-emms-player-mpv
1361 ;; A new mpv backend is included in Emms from 5.0.
1362 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1363
1364 (define-public emacs-emms-mode-line-cycle
1365 (package
1366 (name "emacs-emms-mode-line-cycle")
1367 (version "0.2.5")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1373 (commit version)))
1374 (file-name (git-file-name name version))
1375 (sha256
1376 (base32
1377 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1378 (build-system emacs-build-system)
1379 (propagated-inputs
1380 `(("emms" ,emacs-emms)))
1381 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1382 (synopsis "Display the EMMS mode line as a ticker")
1383 (description
1384 "This is a minor mode for updating the EMMS mode-line string cyclically
1385 within a specified width. It is useful for displaying long track titles.")
1386 (license license:gpl3+)))
1387
1388 \f
1389 ;;;
1390 ;;; Miscellaneous.
1391 ;;;
1392
1393 (define-public emacs-ace-link
1394 (package
1395 (name "emacs-ace-link")
1396 (version "0.5.0")
1397 (source
1398 (origin
1399 (method git-fetch)
1400 (uri (git-reference
1401 (url "https://github.com/abo-abo/ace-link.git")
1402 (commit version)))
1403 (file-name (git-file-name name version))
1404 (sha256
1405 (base32
1406 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1407 (build-system emacs-build-system)
1408 (propagated-inputs
1409 `(("emacs-avy" ,emacs-avy)))
1410 (home-page "https://github.com/abo-abo/ace-link")
1411 (synopsis "Quickly follow links in Emacs")
1412 (description
1413 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1414 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1415 @code{goto-address-mode} buffer, you can tab through the links to select the
1416 one you want. This is an O(N) operation, where the N is the amount of links.
1417 This package turns this into an O(1) operation. It does so by assigning a
1418 letter to each link using avy.")
1419 (license license:gpl3+)))
1420
1421 (define-public emacs-bbdb
1422 (package
1423 (name "emacs-bbdb")
1424 (version "3.1.2")
1425 (source (origin
1426 (method url-fetch)
1427 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1428 version ".tar.gz"))
1429 (sha256
1430 (base32
1431 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1432 (modules '((guix build utils)))
1433 (snippet
1434 ;; We don't want to build and install the PDF.
1435 '(begin
1436 (substitute* "doc/Makefile.in"
1437 (("^doc_DATA = .*$")
1438 "doc_DATA =\n"))
1439 #t))))
1440 (build-system gnu-build-system)
1441 (arguments
1442 '(#:phases
1443 (modify-phases %standard-phases
1444 (add-after 'install 'post-install
1445 (lambda* (#:key outputs #:allow-other-keys)
1446 ;; Add an autoloads file with the right name for guix.el.
1447 (let* ((out (assoc-ref outputs "out"))
1448 (site (string-append out "/share/emacs/site-lisp")))
1449 (with-directory-excursion site
1450 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1451 #t)))))
1452 (native-inputs `(("emacs" ,emacs-minimal)))
1453 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1454 (synopsis "Contact management utility for Emacs")
1455 (description
1456 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1457 an address book for email and snail mail addresses, phone numbers and the
1458 like. It can be linked with various Emacs mail clients (Message and Mail
1459 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1460 (license license:gpl3+)))
1461
1462 (define-public bbdb
1463 (deprecated-package "bbdb" emacs-bbdb))
1464
1465 (define-public emacs-aggressive-indent
1466 (package
1467 (name "emacs-aggressive-indent")
1468 (version "1.8.3")
1469 (source (origin
1470 (method url-fetch)
1471 (uri (string-append "https://elpa.gnu.org/packages/"
1472 "aggressive-indent-" version ".el"))
1473 (sha256
1474 (base32
1475 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1476 (build-system emacs-build-system)
1477 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1478 (synopsis "Minor mode to aggressively keep your code always indented")
1479 (description
1480 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1481 always indented. It reindents after every change, making it more reliable
1482 than @code{electric-indent-mode}.")
1483 (license license:gpl2+)))
1484
1485 (define-public emacs-link-hint
1486 ;; Last release was in 2015.
1487 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1488 (revision "1"))
1489 (package
1490 (name "emacs-link-hint")
1491 (version (git-version "0.1" revision commit))
1492 (source
1493 (origin
1494 (method git-fetch)
1495 (uri (git-reference
1496 (url "https://github.com/noctuid/link-hint.el")
1497 (commit commit)))
1498 (file-name (git-file-name name version))
1499 (sha256
1500 (base32
1501 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1502 (build-system emacs-build-system)
1503 (propagated-inputs
1504 `(("emacs-avy" ,emacs-avy)))
1505 (home-page "https://github.com/noctuid/link-hint.el")
1506 (synopsis "Vimperator-style link-hinting in Emacs")
1507 (description "This package provides commands for visiting and acting on
1508 links.")
1509 (license license:gpl3+))))
1510
1511 (define-public emacs-ag
1512 (package
1513 (name "emacs-ag")
1514 (version "0.47")
1515 (source (origin
1516 (method git-fetch)
1517 (uri (git-reference
1518 (url "https://github.com/Wilfred/ag.el.git")
1519 (commit version)))
1520 (file-name (git-file-name name version))
1521 (sha256
1522 (base32
1523 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
1524 (build-system emacs-build-system)
1525 (arguments
1526 `(#:phases
1527 (modify-phases %standard-phases
1528 (add-before 'install 'make-info
1529 (lambda _
1530 (with-directory-excursion "docs"
1531 (invoke "make" "info"))))
1532 (add-after 'install 'install-info
1533 (lambda* (#:key outputs #:allow-other-keys)
1534 (let* ((out (assoc-ref outputs "out"))
1535 (info (string-append out "/share/info")))
1536 (install-file "docs/_build/texinfo/agel.info" info)
1537 #t))))))
1538 (native-inputs
1539 `(("python-sphinx" ,python-sphinx)
1540 ("texinfo" ,texinfo)))
1541 (propagated-inputs
1542 `(("dash" ,emacs-dash)
1543 ("s" ,emacs-s)
1544 ;; We need to use 'ag' as the executable on remote systems.
1545 ("the-silver-searcher" ,the-silver-searcher)))
1546 (home-page "https://github.com/Wilfred/ag.el")
1547 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1548 (description "This package provides the ability to use the silver
1549 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1550 include version control system awareness, use of Perl compatible regular
1551 expressions, editing the search results directly and searching file names
1552 rather than the contents of files.")
1553 (license license:gpl3+)))
1554
1555 (define-public emacs-async
1556 (package
1557 (name "emacs-async")
1558 (home-page "https://github.com/jwiegley/emacs-async")
1559 (version "1.9.3")
1560 (source (origin
1561 (method git-fetch)
1562 (uri (git-reference
1563 (url home-page)
1564 (commit (string-append "v" version))))
1565 (file-name (git-file-name name version))
1566 (sha256
1567 (base32
1568 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1569 (build-system emacs-build-system)
1570 (synopsis "Asynchronous processing in Emacs")
1571 (description
1572 "This package provides the ability to call asynchronous functions and
1573 processes. For example, it can be used to run dired commands (for copying,
1574 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1575 as a library for other Emacs packages.")
1576 (license license:gpl3+)))
1577
1578 (define-public emacs-auctex
1579 (package
1580 (name "emacs-auctex")
1581 (version "12.1.2")
1582 (source
1583 (origin
1584 (method url-fetch)
1585 (uri (string-append
1586 "https://elpa.gnu.org/packages/auctex-"
1587 version
1588 ".tar"))
1589 (sha256
1590 (base32
1591 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
1592 (build-system emacs-build-system)
1593 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1594 ;; ('emacs-minimal' does not provide dbus).
1595 (arguments
1596 `(#:emacs ,emacs
1597 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1598 #:exclude '("^tests/" "^latex/README")))
1599 (native-inputs
1600 `(("perl" ,perl)))
1601 (home-page "https://www.gnu.org/software/auctex/")
1602 (synopsis "Integrated environment for TeX")
1603 (description
1604 "AUCTeX is a comprehensive customizable integrated environment for
1605 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1606 or XEmacs.")
1607 (license license:gpl3+)))
1608
1609 (define-public emacs-autothemer
1610 (package
1611 (name "emacs-autothemer")
1612 (version "0.2.2")
1613 (source
1614 (origin
1615 (method git-fetch)
1616 (uri (git-reference
1617 (url "https://github.com/sebastiansturm/autothemer.git")
1618 (commit version)))
1619 (file-name (git-file-name name version))
1620 (sha256
1621 (base32
1622 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1623 (build-system emacs-build-system)
1624 (propagated-inputs
1625 `(("emacs-dash" ,emacs-dash)))
1626 (home-page "https://github.com/sebastiansturm/autothemer")
1627 (synopsis "Conveniently create Emacs themes")
1628 (description
1629 "Autothemer provides a thin layer on top of @code{deftheme} and
1630 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1631 a set of simplified face specifications and a user-supplied color palette")
1632 (license license:gpl3+)))
1633
1634 (define-public emacs-howm
1635 (package
1636 (name "emacs-howm")
1637 (version "1.4.4")
1638 (source
1639 (origin
1640 (method url-fetch)
1641 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1642 version ".tar.gz"))
1643 (sha256
1644 (base32
1645 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1646 (build-system gnu-build-system)
1647 (native-inputs
1648 `(("emacs" ,emacs-minimal)))
1649 (arguments
1650 `(#:configure-flags
1651 (list (string-append "--with-howmdir=" %output
1652 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1653 #:modules ((guix build gnu-build-system)
1654 ((guix build emacs-build-system) #:prefix emacs:)
1655 (guix build utils))
1656 #:imported-modules (,@%gnu-build-system-modules
1657 (guix build emacs-build-system)
1658 (guix build emacs-utils))
1659 #:phases
1660 (modify-phases %standard-phases
1661 (add-after 'install 'make-autoloads
1662 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1663 (home-page "http://howm.osdn.jp/")
1664 (synopsis "Note-taking tool for Emacs")
1665 (description "Howm is a note-taking tool for Emacs. Like
1666 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1667 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1668 (license license:gpl1+)))
1669
1670 (define-public emacs-calfw
1671 (package
1672 (name "emacs-calfw")
1673 (version "1.6")
1674 (source
1675 (origin
1676 (method git-fetch)
1677 (uri (git-reference
1678 (url "https://github.com/kiwanami/emacs-calfw.git")
1679 (commit (string-append "v" version))))
1680 (file-name (git-file-name name version))
1681 (sha256
1682 (base32
1683 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1684 (build-system emacs-build-system)
1685 (propagated-inputs
1686 `(("emacs-howm" ,emacs-howm)))
1687 (home-page "https://github.com/kiwanami/emacs-calfw/")
1688 (synopsis "Calendar framework for Emacs")
1689 (description
1690 "This package displays a calendar view with various schedule data in the
1691 Emacs buffer.")
1692 (license license:gpl3+)))
1693
1694 (define-public emacs-direnv
1695 (package
1696 (name "emacs-direnv")
1697 (version "1.5.0")
1698 (source
1699 (origin
1700 (method git-fetch)
1701 (uri (git-reference
1702 (url "https://github.com/wbolster/emacs-direnv.git")
1703 (commit version)))
1704 (file-name (git-file-name name version))
1705 (sha256
1706 (base32
1707 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
1708 (build-system emacs-build-system)
1709 (propagated-inputs
1710 `(("dash" ,emacs-dash)
1711 ("with-editor" ,emacs-with-editor)))
1712 (home-page "https://github.com/wbolster/emacs-direnv")
1713 (synopsis "Direnv integration for Emacs")
1714 (description
1715 "This package provides support for invoking direnv to get the environment
1716 for the current file and updating the environment within Emacs to match.
1717
1718 Direnv can be invoked manually, and a global minor mode is included that will
1719 update the environment when the active buffer changes.
1720
1721 Using emacs-direnv means that programs started from Emacs will use the
1722 environment set through Direnv.")
1723 (license license:gpl3+)))
1724
1725 (define-public emacs-ggtags
1726 (package
1727 (name "emacs-ggtags")
1728 (version "0.8.13")
1729 (source
1730 (origin
1731 (method url-fetch)
1732 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1733 version ".el"))
1734 (sha256
1735 (base32
1736 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1737 (build-system emacs-build-system)
1738 (inputs
1739 `(("global" ,global)))
1740 (arguments
1741 `(#:phases
1742 (modify-phases %standard-phases
1743 (add-after 'unpack 'configure
1744 (lambda* (#:key inputs #:allow-other-keys)
1745 (chmod "ggtags.el" #o644)
1746 (emacs-substitute-variables "ggtags.el"
1747 ("ggtags-executable-directory"
1748 (string-append (assoc-ref inputs "global") "/bin")))
1749 #t)))))
1750 (home-page "https://github.com/leoliu/ggtags")
1751 (synopsis "Frontend to the GNU Global source code tagging system")
1752 (description "@code{ggtags} provides a frontend to the GNU Global source
1753 code tagging system.
1754
1755 Features:
1756
1757 @itemize
1758 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1759 @item Automatically update Global's tag files when needed with tuning for
1760 large source trees.
1761 @item Intuitive navigation among multiple matches with mode-line display of
1762 current match, total matches and exit status.
1763 @item Read tag with completion.
1764 @item Show definition at point.
1765 @item Jump to #include files.
1766 @item Support search history and saving a search to register/bookmark.
1767 @item Query replace.
1768 @item Manage Global's environment variables on a per-project basis.
1769 @item Highlight (definition) tag at point.
1770 @item Abbreviated display of file names.
1771 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1772 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1773 @code{pygments} backend.
1774 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1775 @code{cscope} etc.
1776 @item Support projects on remote hosts (e.g. via @code{tramp}).
1777 @item Support eldoc.
1778 @item Search @code{GTAGSLIBPATH} for references and symbols.
1779 @end itemize\n")
1780 (license license:gpl3+)))
1781
1782 (define-public emacs-go-mode
1783 (package
1784 (name "emacs-go-mode")
1785 (version "1.5.0")
1786 (source (origin
1787 (method git-fetch)
1788 (uri (git-reference
1789 (url "https://github.com/dominikh/go-mode.el.git")
1790 (commit (string-append "v" version))))
1791 (file-name (git-file-name name version))
1792 (sha256
1793 (base32
1794 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1795 (build-system emacs-build-system)
1796 (arguments
1797 `(#:phases
1798 (modify-phases %standard-phases
1799 (add-after 'unpack 'make-writable
1800 (lambda _
1801 (for-each make-file-writable (find-files "." "\\.el$"))
1802 #t)))))
1803 (home-page "https://github.com/dominikh/go-mode.el")
1804 (synopsis "Go mode for Emacs")
1805 (description
1806 "This package provides go-mode, an Emacs mode for working with software
1807 written in the Go programming language.")
1808 (license license:bsd-3)))
1809
1810 (define-public emacs-google-maps
1811 (package
1812 (name "emacs-google-maps")
1813 (version "1.0.0")
1814 (source (origin
1815 (method git-fetch)
1816 (uri (git-reference
1817 (url "https://github.com/jd/google-maps.el.git")
1818 (commit version)))
1819 (file-name (git-file-name name version))
1820 (sha256
1821 (base32
1822 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1823 (build-system emacs-build-system)
1824 (home-page "https://github.com/jd/google-maps.el")
1825 (synopsis "Access Google Maps from Emacs")
1826 (description "The @code{google-maps} package allows to display Google
1827 Maps directly inside Emacs.")
1828 (license license:gpl3+)))
1829
1830 (define-public emacs-graphviz-dot-mode
1831 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1832 (revision "1"))
1833 (package
1834 (name "emacs-graphviz-dot-mode")
1835 (version (string-append "0.3.11-" revision "."
1836 (string-take commit 7)))
1837 (source (origin
1838 (method git-fetch)
1839 (uri (git-reference
1840 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1841 (commit commit)))
1842 (file-name (git-file-name name version))
1843 (sha256
1844 (base32
1845 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1846 (build-system emacs-build-system)
1847 (arguments
1848 `(#:phases
1849 (modify-phases %standard-phases
1850 (add-before 'install 'make-info
1851 (lambda* (#:key inputs #:allow-other-keys)
1852 (with-directory-excursion "texinfo"
1853 (substitute* "Makefile"
1854 (("\\/usr\\/bin\\/gzip")
1855 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1856 (invoke "make"
1857 "clean"
1858 "info"
1859 (string-append "TEXINFODIR="
1860 (assoc-ref inputs "texinfo")
1861 "/bin")))))
1862 (add-after 'install 'install-info
1863 (lambda* (#:key outputs #:allow-other-keys)
1864 (let* ((out (assoc-ref outputs "out"))
1865 (info (string-append out "/share/info")))
1866 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1867 #t))))))
1868 (native-inputs
1869 `(("texinfo" ,texinfo)
1870 ("gzip" ,gzip)))
1871 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1872 (synopsis "Major mode for editing Graphviz Dot files")
1873 (description
1874 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1875 files using the dot syntax, and use Graphviz to convert these files to
1876 diagrams.")
1877 (license license:gpl2+))))
1878
1879 (define-public emacs-mmm-mode
1880 (package
1881 (name "emacs-mmm-mode")
1882 (version "0.5.7")
1883 (source
1884 (origin
1885 (method git-fetch)
1886 (uri (git-reference
1887 (url "https://github.com/purcell/mmm-mode.git")
1888 (commit version)))
1889 (file-name (git-file-name name version))
1890 (sha256
1891 (base32
1892 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1893 (build-system gnu-build-system)
1894 (native-inputs
1895 `(("autoconf" ,autoconf)
1896 ("automake" ,automake)
1897 ("emacs" ,emacs-minimal)
1898 ("texinfo" ,texinfo)))
1899 (home-page "https://github.com/purcell/mmm-mode")
1900 (synopsis "Allow multiple major modes in an Emacs buffer")
1901 (description
1902 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1903 single buffer.")
1904 (license license:gpl3+)))
1905
1906 (define-public emacs-tablist
1907 (package
1908 (name "emacs-tablist")
1909 (version "1.0")
1910 (source (origin
1911 (method git-fetch)
1912 (uri (git-reference
1913 (url "https://github.com/politza/tablist.git")
1914 (commit (string-append "v" version))))
1915 (file-name (git-file-name name version))
1916 (sha256
1917 (base32
1918 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
1919 (build-system emacs-build-system)
1920 (home-page "https://github.com/politza/tablist")
1921 (synopsis "Extension for @code{tabulated-list-mode}")
1922 (description "Tablist is the Emacs package that provides several
1923 additional features to @code{tabulated-list-mode}: it adds marks,
1924 filters, new key bindings and faces. It can be enabled by
1925 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1926 (license license:gpl3+)))
1927
1928 (define-public emacs-pdf-tools
1929 (package
1930 (name "emacs-pdf-tools")
1931 (version "0.90")
1932 (home-page "https://github.com/politza/pdf-tools")
1933 (source (origin
1934 (method git-fetch)
1935 (uri (git-reference (url home-page)
1936 (commit (string-append "v" version))))
1937 (file-name (git-file-name name version))
1938 (sha256
1939 (base32
1940 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1941 (build-system gnu-build-system)
1942 (arguments
1943 `(#:tests? #f ; there are no tests
1944 #:modules ((guix build gnu-build-system)
1945 ((guix build emacs-build-system) #:prefix emacs:)
1946 (guix build utils)
1947 (guix build emacs-utils))
1948 #:imported-modules (,@%gnu-build-system-modules
1949 (guix build emacs-build-system)
1950 (guix build emacs-utils))
1951 #:phases
1952 (modify-phases %standard-phases
1953 ;; Build server side using 'gnu-build-system'.
1954 (add-after 'unpack 'enter-server-dir
1955 (lambda _ (chdir "server") #t))
1956 (add-after 'enter-server-dir 'autogen
1957 (lambda _
1958 (invoke "bash" "autogen.sh")))
1959
1960 ;; Build emacs side using 'emacs-build-system'.
1961 (add-after 'compress-documentation 'enter-lisp-dir
1962 (lambda _ (chdir "../lisp") #t))
1963 (add-after 'enter-lisp-dir 'emacs-patch-variables
1964 (lambda* (#:key outputs #:allow-other-keys)
1965 (for-each make-file-writable (find-files "."))
1966
1967 ;; Set path to epdfinfo program.
1968 (emacs-substitute-variables "pdf-info.el"
1969 ("pdf-info-epdfinfo-program"
1970 (string-append (assoc-ref outputs "out")
1971 "/bin/epdfinfo")))
1972 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1973 ;; upgrading" that pdf-tools tries to perform.
1974 (emacs-substitute-variables "pdf-tools.el"
1975 ("pdf-tools-handle-upgrades" '()))))
1976 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1977 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1978 (add-after 'emacs-set-emacs-load-path 'emacs-install
1979 (assoc-ref emacs:%standard-phases 'install))
1980 (add-after 'emacs-install 'emacs-build
1981 (assoc-ref emacs:%standard-phases 'build))
1982 (add-after 'emacs-install 'emacs-make-autoloads
1983 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1984 (native-inputs `(("autoconf" ,autoconf)
1985 ("automake" ,automake)
1986 ("pkg-config" ,pkg-config)
1987 ("emacs" ,emacs-minimal)))
1988 (inputs `(("poppler" ,poppler)
1989 ("cairo" ,cairo)
1990 ("glib" ,glib)
1991 ("libpng" ,libpng)
1992 ("zlib" ,zlib)))
1993 (propagated-inputs `(("tablist" ,emacs-tablist)))
1994 (synopsis "Emacs support library for PDF files")
1995 (description
1996 "PDF Tools is, among other things, a replacement of DocView for PDF
1997 files. The key difference is that pages are not pre-rendered by
1998 e.g. ghostscript and stored in the file-system, but rather created on-demand
1999 and stored in memory.")
2000 (license license:gpl3+)))
2001
2002 (define-public emacs-dash
2003 (package
2004 (name "emacs-dash")
2005 (version "2.16.0")
2006 (source (origin
2007 (method git-fetch)
2008 (uri (git-reference
2009 (url "https://github.com/magnars/dash.el.git")
2010 (commit version)))
2011 (file-name (git-file-name name version))
2012 (sha256
2013 (base32
2014 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
2015 (build-system emacs-build-system)
2016 (arguments
2017 `(#:tests? #t
2018 #:test-command '("./run-tests.sh")))
2019 (home-page "https://github.com/magnars/dash.el")
2020 (synopsis "Modern list library for Emacs")
2021 (description "This package provides a modern list API library for Emacs.")
2022 (license license:gpl3+)))
2023
2024 (define-public emacs-bui
2025 (package
2026 (name "emacs-bui")
2027 (version "1.2.1")
2028 (source (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "https://notabug.org/alezost/emacs-bui.git")
2032 (commit (string-append "v" version))))
2033 (file-name (git-file-name name version))
2034 (sha256
2035 (base32
2036 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2037 (build-system emacs-build-system)
2038 (propagated-inputs
2039 `(("dash" ,emacs-dash)))
2040 (home-page "https://notabug.org/alezost/emacs-bui")
2041 (synopsis "Buffer interface library for Emacs")
2042 (description
2043 "BUI (Buffer User Interface) is a library for making @code{list} and
2044 @code{info} interfaces to display an arbitrary data of the same
2045 type, for example: packages, buffers, files, etc.")
2046 (license license:gpl3+)))
2047
2048 (define-public emacs-guix
2049 (package
2050 (name "emacs-guix")
2051 (version "0.5.1.1")
2052 (source (origin
2053 (method url-fetch)
2054 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2055 "releases/emacs-guix-" version ".tar.gz"))
2056 (sha256
2057 (base32
2058 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
2059 (build-system gnu-build-system)
2060 (arguments
2061 `(#:configure-flags
2062 (let ((guix (assoc-ref %build-inputs "guix"))
2063 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
2064 (geiser (assoc-ref %build-inputs "geiser"))
2065 (dash (assoc-ref %build-inputs "dash"))
2066 (bui (assoc-ref %build-inputs "bui"))
2067 (magit-popup (assoc-ref %build-inputs "magit-popup"))
2068 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
2069 (site-lisp "/share/emacs/site-lisp")
2070 (site-scm "/share/guile/site")
2071 (site-go "/lib/guile")
2072 (guile-dir (lambda (dir)
2073 (car (find-files dir
2074 (lambda (file stat)
2075 (string-prefix?
2076 "2." (basename file)))
2077 #:directories? #t)))))
2078 (list (string-append "--with-guix-site-dir="
2079 (guile-dir (string-append guix site-scm)))
2080 (string-append "--with-guix-site-ccache-dir="
2081 (guile-dir (string-append guix site-go))
2082 "/site-ccache")
2083 (string-append "--with-guile-gcrypt-site-dir="
2084 (guile-dir (string-append gcrypt site-scm)))
2085 (string-append "--with-guile-gcrypt-site-ccache-dir="
2086 (guile-dir (string-append gcrypt site-go))
2087 "/site-ccache")
2088 (string-append "--with-geiser-lispdir=" geiser site-lisp)
2089 (string-append "--with-dash-lispdir="
2090 dash site-lisp "/guix.d/dash-"
2091 ,(package-version emacs-dash))
2092 (string-append "--with-bui-lispdir="
2093 bui site-lisp "/guix.d/bui-"
2094 ,(package-version emacs-bui))
2095 (string-append "--with-editindirect-lispdir="
2096 edit-indirect site-lisp "/guix.d/edit-indirect-"
2097 ,(package-version emacs-edit-indirect))
2098 (string-append "--with-popup-lispdir="
2099 magit-popup site-lisp "/guix.d/magit-popup-"
2100 ,(package-version emacs-magit-popup))))))
2101 (native-inputs
2102 `(("pkg-config" ,pkg-config)
2103 ("emacs" ,emacs-minimal)))
2104 (inputs
2105 `(("guile" ,guile-2.2)
2106 ("guix" ,guix)))
2107 (propagated-inputs
2108 `(("geiser" ,emacs-geiser)
2109 ("guile-gcrypt" ,guile-gcrypt)
2110 ("dash" ,emacs-dash)
2111 ("bui" ,emacs-bui)
2112 ("edit-indirect" ,emacs-edit-indirect)
2113 ("magit-popup" ,emacs-magit-popup)))
2114 (home-page "https://emacs-guix.gitlab.io/website/")
2115 (synopsis "Emacs interface for GNU Guix")
2116 (description
2117 "Emacs-Guix provides a visual interface, tools and features for the GNU
2118 Guix package manager. Particularly, it allows you to do various package
2119 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2120 @code{M-x guix-help} command.")
2121 (license license:gpl3+)))
2122
2123 (define-public emacs-build-farm
2124 (package
2125 (name "emacs-build-farm")
2126 (version "0.2.2")
2127 (source (origin
2128 (method git-fetch)
2129 (uri (git-reference
2130 (url "https://notabug.org/alezost/emacs-build-farm.git")
2131 (commit (string-append "v" version))))
2132 (file-name (git-file-name name version))
2133 (sha256
2134 (base32
2135 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2136 (build-system emacs-build-system)
2137 (propagated-inputs
2138 `(("bui" ,emacs-bui)
2139 ("magit-popup" ,emacs-magit-popup)))
2140 (home-page "https://notabug.org/alezost/emacs-build-farm")
2141 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2142 (description
2143 "This Emacs package provides an interface for Hydra and
2144 Cuirass (build farms used by Nix and Guix). It allows you to look at
2145 various data related to the build farm projects, jobsets, builds and
2146 evaluations. The entry point is @code{M-x build-farm} command.")
2147 (license license:gpl3+)))
2148
2149 (define-public emacs-d-mode
2150 (package
2151 (name "emacs-d-mode")
2152 (version "2.0.9")
2153 (source
2154 (origin
2155 (method git-fetch)
2156 (uri (git-reference
2157 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2158 (commit version)))
2159 (file-name (git-file-name name version))
2160 (sha256
2161 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2162 (build-system emacs-build-system)
2163 (propagated-inputs
2164 `(("emacs-undercover" ,emacs-undercover)))
2165 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2166 (synopsis "Emacs major mode for editing D code")
2167 (description "This package provides an Emacs major mode for highlighting
2168 code written in the D programming language. This mode is currently known to
2169 work with Emacs 24 and 25.")
2170 (license license:gpl2+)))
2171
2172 (define-public emacs-extempore-mode
2173 ;; Use the latest commit at time of packaging. There are no releases or tags.
2174 (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
2175 (revision "1"))
2176 (package
2177 (name "emacs-extempore-mode")
2178 (version (git-version "0.0.0" revision commit))
2179 (source
2180 (origin
2181 (method git-fetch)
2182 (uri (git-reference
2183 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2184 (commit commit)))
2185 (file-name (git-file-name name version))
2186 (sha256
2187 (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
2188 (build-system emacs-build-system)
2189 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2190 (synopsis "Emacs major mode for Extempore source files")
2191 (description
2192 "This package provides a major mode for editing Extempore code. It can
2193 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2194 running Extempore process, and more.")
2195 (license license:bsd-2))))
2196
2197 (define-public emacs-keyfreq
2198 (package
2199 (name "emacs-keyfreq")
2200 (version "20160516.716")
2201 (source
2202 (origin
2203 (method url-fetch)
2204 (uri (string-append "http://melpa.org/packages/keyfreq-"
2205 version ".el"))
2206 (sha256
2207 (base32
2208 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2209 (build-system emacs-build-system)
2210 (home-page "https://github.com/dacap/keyfreq")
2211 (synopsis "Track Emacs command frequencies")
2212 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2213 a command.")
2214 (license license:gpl3+)))
2215
2216 (define-public emacs-olivetti
2217 (package
2218 (name "emacs-olivetti")
2219 (version "1.8.0")
2220 (source (origin
2221 (method git-fetch)
2222 (uri (git-reference
2223 (url "https://github.com/rnkn/olivetti.git")
2224 (commit (string-append "v" version))))
2225 (file-name (git-file-name name version))
2226 (sha256
2227 (base32
2228 "0ba30swqxxbpa8866chymywnahby1hk670zzkz44q49328i2wksj"))))
2229 (build-system emacs-build-system)
2230 (home-page "https://github.com/rnkn/olivetti")
2231 (synopsis "Emacs minor mode for a nice writing environment")
2232 (description "This package provides an Emacs minor mode that puts writing
2233 in the center.")
2234 (license license:gpl3+)))
2235
2236 (define-public emacs-undo-tree
2237 (package
2238 (name "emacs-undo-tree")
2239 (version "0.6.6")
2240 (source (origin
2241 (method git-fetch)
2242 (uri (git-reference
2243 (url "http://dr-qubit.org/git/undo-tree.git")
2244 (commit (string-append "release/" version))))
2245 (file-name (git-file-name name version))
2246 (sha256
2247 (base32
2248 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2249 (build-system emacs-build-system)
2250 (home-page "http://www.dr-qubit.org/emacs.php")
2251 (synopsis "Treat undo history as a tree")
2252 (description "Tree-like interface to Emacs undo system, providing
2253 graphical tree presentation of all previous states of buffer that
2254 allows easily move between them.")
2255 (license license:gpl3+)))
2256
2257 (define-public emacs-s
2258 (package
2259 (name "emacs-s")
2260 (version "1.12.0")
2261 (source
2262 (origin
2263 (method git-fetch)
2264 (uri (git-reference
2265 (url "https://github.com/magnars/s.el.git")
2266 (commit version)))
2267 (file-name (git-file-name name version))
2268 (sha256
2269 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2270 (build-system emacs-build-system)
2271 (arguments
2272 `(#:tests? #t
2273 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2274 #:test-command '("./run-tests.sh")))
2275 (home-page "https://github.com/magnars/s.el")
2276 (synopsis "Emacs string manipulation library")
2277 (description "This package provides an Emacs library for manipulating
2278 strings.")
2279 (license license:gpl3+)))
2280
2281 (define-public emacs-symon
2282 (package
2283 (name "emacs-symon")
2284 (version "20160630")
2285 (source
2286 (origin
2287 (method git-fetch)
2288 (uri (git-reference
2289 (url "https://github.com/zk-phi/symon.git")
2290 (commit version)))
2291 (file-name (git-file-name name version))
2292 (sha256
2293 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2294 (build-system emacs-build-system)
2295 (home-page "https://github.com/zk-phi/symon")
2296 (synopsis "Tiny graphical system monitor")
2297 (description
2298 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2299 (license license:gpl2+)))
2300
2301 (define-public emacs-sx
2302 (let ((version "20180212")
2303 (revision "1")
2304 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2305 (package
2306 (name "emacs-sx")
2307 (version (git-version version revision commit))
2308 (source
2309 (origin
2310 (method git-fetch)
2311 (uri (git-reference
2312 (url "https://github.com/vermiculus/sx.el")
2313 (commit commit)))
2314 (file-name (git-file-name name version))
2315 (sha256
2316 (base32
2317 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2318 (build-system emacs-build-system)
2319 (propagated-inputs
2320 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2321 (home-page "https://github.com/vermiculus/sx.el")
2322 (synopsis "Emacs StackExchange client")
2323 (description
2324 "Emacs StackExchange client. Ask and answer questions on
2325 Stack Overflow, Super User, and other StackExchange sites.")
2326 (license license:gpl3+))))
2327
2328 (define-public emacs-f
2329 (package
2330 (name "emacs-f")
2331 (version "0.20.0")
2332 (source (origin
2333 (method git-fetch)
2334 (uri (git-reference
2335 (url "https://github.com/rejeep/f.el.git")
2336 (commit (string-append "v" version))))
2337 (file-name (git-file-name name version))
2338 (sha256
2339 (base32
2340 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2341 (build-system emacs-build-system)
2342 (propagated-inputs
2343 `(("emacs-s" ,emacs-s)
2344 ("emacs-dash" ,emacs-dash)))
2345 (home-page "https://github.com/rejeep/f.el")
2346 (synopsis "Emacs API for working with files and directories")
2347 (description "This package provides an Emacs library for working with
2348 files and directories.")
2349 (license license:gpl3+)))
2350
2351 (define-public emacs-fringe-helper
2352 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2353 (revision "1"))
2354 (package
2355 (name "emacs-fringe-helper")
2356 (version (git-version "1.0.1" revision commit))
2357 (source
2358 (origin
2359 (method git-fetch)
2360 (uri (git-reference
2361 (url "https://github.com/nschum/fringe-helper.el.git")
2362 (commit commit)))
2363 (file-name (git-file-name name version))
2364 (sha256
2365 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2366 (build-system emacs-build-system)
2367 (arguments
2368 `(#:tests? #t
2369 #:test-command '("emacs" "--batch"
2370 "-l" "tests.el"
2371 "-f" "ert-run-tests-batch-and-exit")))
2372 (home-page "https://github.com/nschum/fringe-helper.el")
2373 (synopsis "Helper functions for fringe bitmaps")
2374 (description
2375 "This package allows fringe bitmaps to be defined with a visual string
2376 representation.")
2377 (license license:gpl2+))))
2378
2379 (define-public emacs-git-gutter
2380 (package
2381 (name "emacs-git-gutter")
2382 (version "0.90")
2383 (source
2384 (origin
2385 (method git-fetch)
2386 (uri (git-reference
2387 (url "https://github.com/syohex/emacs-git-gutter.git")
2388 (commit version)))
2389 (file-name (git-file-name name version))
2390 (sha256
2391 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2392 (build-system emacs-build-system)
2393 (home-page "https://github.com/syohex/emacs-git-gutter")
2394 (synopsis "See and manage hunks of text in a version control system")
2395 (description
2396 "This package is an Emacs minor mode for displaying and interacting with
2397 hunks of text managed in a version control system. Added modified and deleted
2398 areas can be indicated with symbols on the edge of the buffer, and commands
2399 can be used to move between and perform actions on these hunks.
2400
2401 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2402 display and behaviour is easily customisable.")
2403 (license license:gpl3+)))
2404
2405 (define-public emacs-git-gutter-fringe
2406 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2407 (revision "1"))
2408 (package
2409 (name "emacs-git-gutter-fringe")
2410 (version (git-version "0.23" revision commit))
2411 (source
2412 (origin
2413 (method git-fetch)
2414 (uri (git-reference
2415 (url "https://github.com/syohex/git-gutter-fringe.git")
2416 (commit commit)))
2417 (file-name (git-file-name name version))
2418 (sha256
2419 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2420 (build-system emacs-build-system)
2421 (propagated-inputs
2422 `(("emacs-git-gutter" ,emacs-git-gutter)
2423 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2424 (home-page "https://github.com/syohex/git-gutter-fringe")
2425 (synopsis "See and manage hunks of text in a version control system")
2426 (description
2427 "This package extends @code{git-gutter} to use the fringe area of a
2428 window.")
2429 (license license:gpl3+))))
2430
2431 (define-public emacs-git-link
2432 (package
2433 (name "emacs-git-link")
2434 (version "0.7.5")
2435 (source
2436 (origin
2437 (method git-fetch)
2438 (uri (git-reference
2439 (url "https://github.com/sshaw/git-link.git")
2440 (commit (string-append "v" version))))
2441 (file-name (git-file-name name version))
2442 (sha256
2443 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2444 (build-system emacs-build-system)
2445 (arguments
2446 `(#:tests? #t
2447 #:test-command '("make" "test")))
2448 (home-page "https://github.com/sshaw/git-link")
2449 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2450 (description
2451 "@code{git-link} returns the URL for the current buffer's file location
2452 at the current line number or active region. @code{git-link-commit} returns
2453 the URL for a commit. URLs are added to the kill ring.")
2454 (license license:gpl3+)))
2455
2456 (define-public emacs-apheleia
2457 (package
2458 (name "emacs-apheleia")
2459 (version "1.0")
2460 (source
2461 (origin
2462 (method git-fetch)
2463 (uri (git-reference
2464 (url "https://github.com/raxod502/apheleia.git")
2465 (commit (string-append "v" version))))
2466 (file-name (git-file-name name version))
2467 (sha256
2468 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2469 (build-system emacs-build-system)
2470 (home-page "https://github.com/raxod502/apheleia")
2471 (synopsis "Reformat buffer stably")
2472 (description
2473 "This package allows for a buffer to be reformatted without moving point,
2474 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2475 saving won't move point back to the beginning of the buffer.")
2476 (license license:gpl3+)))
2477
2478 (define-public emacs-git-timemachine
2479 (package
2480 (name "emacs-git-timemachine")
2481 (version "4.11")
2482 (source
2483 (origin
2484 (method git-fetch)
2485 (uri (git-reference
2486 (url "https://gitlab.com/pidu/git-timemachine.git")
2487 (commit version)))
2488 (file-name (git-file-name name version))
2489 (sha256
2490 (base32
2491 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2492 (build-system emacs-build-system)
2493 (propagated-inputs
2494 `(("emacs-transient" ,emacs-transient)))
2495 (home-page "https://gitlab.com/pidu/git-timemachine")
2496 (synopsis "Step through historic versions of Git-controlled files")
2497 (description "This package enables you to step through historic versions
2498 of files under Git version control from within Emacs.")
2499 (license license:gpl3+)))
2500
2501 (define-public emacs-minitest
2502 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2503 (revision "1"))
2504 (package
2505 (name "emacs-minitest")
2506 (version (git-version "0.8.0" revision commit))
2507 (source (origin
2508 (method git-fetch)
2509 (uri (git-reference
2510 (url "https://github.com/arthurnn/minitest-emacs")
2511 (commit commit)))
2512 (file-name (git-file-name name commit))
2513 (sha256
2514 (base32
2515 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2516 (build-system emacs-build-system)
2517 (arguments
2518 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2519 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2520 (propagated-inputs
2521 `(("emacs-dash" ,emacs-dash)
2522 ("emacs-f" ,emacs-f)))
2523 (home-page "https://github.com/arthurnn/minitest-emacs")
2524 (synopsis "Emacs minitest mode")
2525 (description
2526 "The minitest mode provides commands to run the tests for the current
2527 file or line, as well as rerunning the previous tests, or all the tests for a
2528 project.
2529
2530 This package also includes relevant snippets for yasnippet.")
2531 (license license:expat))))
2532
2533 (define-public emacs-el-mock
2534 (package
2535 (name "emacs-el-mock")
2536 (version "1.25.1")
2537 (source
2538 (origin
2539 (method git-fetch)
2540 (uri (git-reference
2541 (url "https://github.com/rejeep/el-mock.el.git")
2542 (commit (string-append "v" version))))
2543 (file-name (git-file-name name version))
2544 (sha256
2545 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2546 (build-system emacs-build-system)
2547 (home-page "https://github.com/rejeep/el-mock.el")
2548 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2549 (description
2550 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2551 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2552 Expectations, but it can be used in other contexts.")
2553 (license license:gpl3+)))
2554
2555 (define-public emacs-espuds
2556 (package
2557 (name "emacs-espuds")
2558 (version "0.3.3")
2559 (source
2560 (origin
2561 (method git-fetch)
2562 (uri (git-reference
2563 (url "https://github.com/ecukes/espuds.git")
2564 (commit (string-append "v" version))))
2565 (file-name (git-file-name name version))
2566 (sha256
2567 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2568 (build-system emacs-build-system)
2569 (propagated-inputs
2570 `(("emacs-s" ,emacs-s)
2571 ("emacs-dash" ,emacs-dash)
2572 ("emacs-f" ,emacs-f)))
2573 (home-page "https://github.com/ecukes/espuds")
2574 (synopsis "Common step definitions for Ecukes")
2575 (description "Espuds is a collection of the most commonly used step
2576 definitions for testing with the Ecukes framework.")
2577 (license license:gpl3+)))
2578
2579 (define-public emacs-spark
2580 (let ((version "20160503") ; no proper tag, use date of commit
2581 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2582 (revision "1"))
2583 (package
2584 (name "emacs-spark")
2585 (version (git-version version revision commit))
2586 (source
2587 (origin
2588 (method git-fetch)
2589 (uri (git-reference
2590 (url "https://github.com/alvinfrancis/spark.git")
2591 (commit commit)))
2592 (file-name (git-file-name name version))
2593 (sha256
2594 (base32
2595 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2596 (build-system emacs-build-system)
2597 (home-page "https://github.com/alvinfrancis/spark")
2598 (synopsis "Sparkline generation library for Emacs Lisp")
2599 (description "@code{emacs-spark} is a sparkline generation library for
2600 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2601 port of @code{cl-spark} to Emacs Lisp.")
2602 (license license:expat))))
2603
2604 (define-public emacs-es-mode
2605 (package
2606 (name "emacs-es-mode")
2607 (version "4.3.0")
2608 (source
2609 (origin
2610 (method git-fetch)
2611 (uri (git-reference
2612 (url "https://github.com/dakrone/es-mode.git")
2613 (commit version)))
2614 (file-name (git-file-name name version))
2615 (sha256
2616 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2617 (build-system emacs-build-system)
2618 (propagated-inputs
2619 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2620 ;; to be rendered incorrectly
2621 `(("emacs-dash" ,emacs-dash)
2622 ("emacs-org" ,emacs-org)
2623 ("emacs-spark" ,emacs-spark)))
2624 (home-page "https://github.com/dakrone/es-mode")
2625 (synopsis "Major mode for editing Elasticsearch queries")
2626 (description "@code{es-mode} includes highlighting, completion and
2627 indentation support for Elasticsearch queries. Also supported are
2628 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2629 be processed through @code{jq}, or in the case of aggregations, can be
2630 rendered in to a table. In addition, there is an @code{es-command-center}
2631 mode, which displays information about Elasticsearch clusters.")
2632 (license license:gpl3+)))
2633
2634 (define-public emacs-expand-region
2635 (package
2636 (name "emacs-expand-region")
2637 (version "0.11.0")
2638 (source
2639 (origin
2640 (method git-fetch)
2641 (uri (git-reference
2642 (url "https://github.com/magnars/expand-region.el.git")
2643 (commit version)))
2644 (file-name (git-file-name name version))
2645 (sha256
2646 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2647 (build-system emacs-build-system)
2648 (home-page "https://github.com/magnars/expand-region.el")
2649 (synopsis "Increase selected region by semantic units")
2650 (description
2651 "Expand region increases the selected region by semantic units. Just
2652 keep pressing the key until it selects what you want. There's also
2653 @code{er/contract-region} if you expand too far.")
2654 (license license:gpl3+)))
2655
2656 (define-public emacs-fill-column-indicator
2657 (package
2658 (name "emacs-fill-column-indicator")
2659 (version "1.89")
2660 (source
2661 (origin
2662 (method git-fetch)
2663 (uri (git-reference
2664 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2665 (commit (string-append "v" version))))
2666 (file-name (git-file-name name version))
2667 (sha256
2668 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
2669 (build-system emacs-build-system)
2670 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2671 (synopsis "Graphically indicate the fill column")
2672 (description
2673 "Fill-column-indicator graphically indicates the location of the fill
2674 column by drawing a thin line down the length of the editing window.")
2675 (license license:gpl3+)))
2676
2677 (define-public emacs-grep-a-lot
2678 (package
2679 (name "emacs-grep-a-lot")
2680 (version "1.0.7")
2681 (source
2682 (origin
2683 (method git-fetch)
2684 (uri (git-reference
2685 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2686 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2687 (file-name (git-file-name name version))
2688 (sha256
2689 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2690 (build-system emacs-build-system)
2691 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2692 (synopsis "Enables multiple grep buffers in Emacs")
2693 (description
2694 "This Emacs package allows managing multiple grep buffers.")
2695 (license license:gpl3+)))
2696
2697 (define-public emacs-inf-ruby
2698 (package
2699 (name "emacs-inf-ruby")
2700 (version "2.5.2")
2701 (source
2702 (origin
2703 (method git-fetch)
2704 (uri (git-reference
2705 (url "https://github.com/nonsequitur/inf-ruby.git")
2706 (commit version)))
2707 (file-name (git-file-name name version))
2708 (sha256
2709 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2710 (build-system emacs-build-system)
2711 (home-page "https://github.com/nonsequitur/inf-ruby")
2712 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2713 (description
2714 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2715 for easy interaction with a ruby subprocess. Features include support for
2716 detecting specific uses of Ruby, e.g. when using rails, and using a
2717 appropriate console.")
2718 (license license:gpl3+)))
2719
2720 (define-public emacs-znc
2721 (package
2722 (name "emacs-znc")
2723 (version "0.0.2")
2724 (source
2725 (origin
2726 (method url-fetch)
2727 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2728 version ".el"))
2729 (sha256
2730 (base32
2731 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2732 (build-system emacs-build-system)
2733 (home-page "https://github.com/sshirokov/ZNC.el")
2734 (synopsis "Make ERC and ZNC get along better")
2735 (description
2736 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2737 IRC bouncer with ERC.")
2738 (license license:expat)))
2739
2740 (define-public emacs-shut-up
2741 (package
2742 (name "emacs-shut-up")
2743 (version "0.3.2")
2744 (source
2745 (origin
2746 (method git-fetch)
2747 (uri (git-reference
2748 (url "https://github.com/cask/shut-up.git")
2749 (commit (string-append "v" version))))
2750 (file-name (git-file-name name version))
2751 (sha256
2752 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2753 (build-system emacs-build-system)
2754 (home-page "https://github.com/cask/shut-up")
2755 (synopsis "Silence Emacs")
2756 (description "This package silences most output of Emacs when running an
2757 Emacs shell script.")
2758 (license license:expat)))
2759
2760 (define-public emacs-undercover
2761 (package
2762 (name "emacs-undercover")
2763 (version "0.6.0")
2764 (source
2765 (origin
2766 (method git-fetch)
2767 (uri (git-reference
2768 (url "https://github.com/sviridov/undercover.el.git")
2769 (commit (string-append "v" version))))
2770 (file-name (git-file-name name version))
2771 (sha256
2772 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
2773 (build-system emacs-build-system)
2774 (propagated-inputs
2775 `(("emacs-dash" ,emacs-dash)
2776 ("emacs-shut-up" ,emacs-shut-up)))
2777 (home-page "https://github.com/sviridov/undercover.el")
2778 (synopsis "Test coverage library for Emacs Lisp")
2779 (description
2780 "Undercover is a test coverage library for software written in Emacs
2781 Lisp.")
2782 (license license:expat)))
2783
2784 (define-public emacs-paren-face
2785 (package
2786 (name "emacs-paren-face")
2787 (version "1.0.0")
2788 (source
2789 (origin
2790 (method git-fetch)
2791 (uri (git-reference
2792 (url "https://github.com/tarsius/paren-face.git")
2793 (commit version)))
2794 (file-name (git-file-name name version))
2795 (sha256
2796 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
2797 (build-system emacs-build-system)
2798 (home-page "https://github.com/tarsius/paren-face")
2799 (synopsis "Face for parentheses in lisp modes")
2800 (description
2801 "This library defines a face named @code{parenthesis} used just for
2802 parentheses. The intended purpose of this face is to make parentheses less
2803 visible in Lisp code by dimming them. Lispers probably don't need to be
2804 constantly made aware of the existence of the parentheses. Dimming them might
2805 be even more useful for people new to lisp who have not yet learned to
2806 subconsciously blend out the parentheses.")
2807 (license license:gpl3+)))
2808
2809 (define-public emacs-page-break-lines
2810 (package
2811 (name "emacs-page-break-lines")
2812 (version "0.11")
2813 (source
2814 (origin
2815 (method git-fetch)
2816 (uri (git-reference
2817 (url "https://github.com/purcell/page-break-lines.git")
2818 (commit version)))
2819 (file-name (git-file-name name version))
2820 (sha256
2821 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2822 (build-system emacs-build-system)
2823 (home-page "https://github.com/purcell/page-break-lines")
2824 (synopsis "Display page breaks as tidy horizontal lines")
2825 (description
2826 "This library provides a global mode which displays form feed characters
2827 as horizontal rules.")
2828 (license license:gpl3+)))
2829
2830 (define-public emacs-simple-httpd
2831 (package
2832 (name "emacs-simple-httpd")
2833 (version "1.5.1")
2834 (source
2835 (origin
2836 (method git-fetch)
2837 (uri (git-reference
2838 (url "https://github.com/skeeto/emacs-web-server.git")
2839 (commit version)))
2840 (file-name (git-file-name name version))
2841 (sha256
2842 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2843 (build-system emacs-build-system)
2844 (home-page "https://github.com/skeeto/emacs-web-server")
2845 (synopsis "HTTP server in pure Emacs Lisp")
2846 (description
2847 "This package provides a simple HTTP server written in Emacs Lisp to
2848 serve files and directory listings.")
2849 (license license:unlicense)))
2850
2851 (define-public emacs-skewer-mode
2852 (package
2853 (name "emacs-skewer-mode")
2854 (version "1.8.0")
2855 (source
2856 (origin
2857 (method git-fetch)
2858 (uri (git-reference
2859 (url "https://github.com/skeeto/skewer-mode.git")
2860 (commit version)))
2861 (file-name (git-file-name name version))
2862 (sha256
2863 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2864 (build-system emacs-build-system)
2865 (propagated-inputs
2866 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2867 ("emacs-js2-mode" ,emacs-js2-mode)))
2868 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2869 (home-page "https://github.com/skeeto/skewer-mode")
2870 (synopsis "Live web development in Emacs")
2871 (description
2872 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2873 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2874 evaluated in the browser, just like Emacs does with an inferior Lisp process
2875 in Lisp modes.")
2876 (license license:unlicense)))
2877
2878 (define-public emacs-litable
2879 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2880 (package
2881 (name "emacs-litable")
2882 (version (git-version "0.1" "0" commit))
2883 (source (origin
2884 (method git-fetch)
2885 (uri (git-reference
2886 (url "https://github.com/Fuco1/litable.git")
2887 (commit commit)))
2888 (file-name (git-file-name name version))
2889 (sha256
2890 (base32
2891 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2892 (build-system emacs-build-system)
2893 (propagated-inputs
2894 `(("emacs-dash" ,emacs-dash)))
2895 (home-page "https://github.com/Fuco1/litable/")
2896 (synopsis "Dynamic evaluation replacement with Emacs")
2897 (description "This package provides dynamic evaluation in Emacs.")
2898 (license license:gpl3+))))
2899
2900 (define-public emacs-string-inflection
2901 (package
2902 (name "emacs-string-inflection")
2903 (version "1.0.6")
2904 (source (origin
2905 (method git-fetch)
2906 (uri (git-reference
2907 (url "https://github.com/akicho8/string-inflection")
2908 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2909 (file-name (git-file-name name version))
2910 (sha256
2911 (base32
2912 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2913 (build-system emacs-build-system)
2914 (native-inputs
2915 `(("ert-runner" ,emacs-ert-runner)))
2916 (arguments
2917 `(#:tests? #t
2918 #:test-command '("ert-runner")))
2919 (home-page "https://github.com/akicho8/string-inflection")
2920 (synopsis "Convert symbol names between different naming conventions")
2921 (description
2922 "This Emacs package provides convenient methods for manipulating the
2923 naming style of a symbol. It supports different naming conventions such as:
2924
2925 @enumerate
2926 @item camel case
2927 @item Pascal case
2928 @item all upper case
2929 @item lower case separated by underscore
2930 @item etc...
2931 @end enumerate\n")
2932 (license license:gpl2+)))
2933
2934 (define-public emacs-stripe-buffer
2935 (package
2936 (name "emacs-stripe-buffer")
2937 (version "0.2.5")
2938 (source
2939 (origin
2940 (method git-fetch)
2941 (uri (git-reference
2942 (url "https://github.com/sabof/stripe-buffer.git")
2943 (commit version)))
2944 (file-name (git-file-name name version))
2945 (sha256
2946 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2947 (build-system emacs-build-system)
2948 (home-page "https://github.com/sabof/stripe-buffer/")
2949 (synopsis "Add stripes to list buffers")
2950 (description
2951 "This Emacs package adds faces to add stripes to list buffers and org
2952 tables.")
2953 (license license:gpl2+)))
2954
2955 (define-public emacs-org-rich-yank
2956 (package
2957 (name "emacs-org-rich-yank")
2958 (version "0.2.1")
2959 (source
2960 (origin
2961 (method git-fetch)
2962 (uri (git-reference
2963 (url "https://github.com/unhammer/org-rich-yank.git")
2964 (commit (string-append "v" version))))
2965 (file-name (git-file-name name version))
2966 (sha256
2967 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
2968 (build-system emacs-build-system)
2969 (home-page "https://github.com/unhammer/org-rich-yank")
2970 (synopsis "Automatically surround source code pasted into Org with
2971 @code{#+BEGIN_SRC} blocks")
2972 (description
2973 "This package provides a utility function for Org buffers that makes a
2974 @code{_SRC} block with the appropriate language annotation for code that has
2975 been copied from an Emacs major mode.")
2976 (license license:gpl2+)))
2977
2978 (define-public emacs-ob-restclient
2979 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
2980 (package
2981 (name "emacs-ob-restclient")
2982 (version (git-version "0.02" "1" commit))
2983 (source
2984 (origin
2985 (method git-fetch)
2986 (uri (git-reference
2987 (url "https://github.com/alf/ob-restclient.el.git")
2988 (commit commit)))
2989 (file-name (git-file-name name version))
2990 (sha256
2991 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
2992 (propagated-inputs
2993 `(("emacs-restclient" ,emacs-restclient)))
2994 (build-system emacs-build-system)
2995 (home-page "https://github.com/alf/ob-restclient.el")
2996 (synopsis "Org-babel functionality for @code{restclient-mode}")
2997 (description
2998 "This package integrates @code{restclient-mode} with Org.")
2999 (license license:gpl3+))))
3000
3001 (define-public emacs-org-now
3002 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
3003 (package
3004 (name "emacs-org-now")
3005 (version (git-version "0.1-pre" "1" commit))
3006 (source
3007 (origin
3008 (method git-fetch)
3009 (uri (git-reference
3010 (url "https://github.com/alphapapa/org-now.git")
3011 (commit commit)))
3012 (file-name (git-file-name name version))
3013 (sha256
3014 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
3015 (propagated-inputs
3016 `(("emacs-dash" ,emacs-dash)))
3017 (build-system emacs-build-system)
3018 (home-page "https://github.com/alphapapa/org-now")
3019 (synopsis "Show current Org tasks in a sidebar")
3020 (description
3021 "This package provides commands to show Org headings in a sidebar
3022 window while working on them. After defining one heading as the \"now\"
3023 heading, other headings can be refiled to it with one command, and back to
3024 their original location with another.")
3025 (license license:gpl3+))))
3026
3027 (define-public emacs-rich-minority
3028 (package
3029 (name "emacs-rich-minority")
3030 (version "1.0.1")
3031 (source
3032 (origin
3033 (method git-fetch)
3034 (uri (git-reference
3035 (url "https://github.com/Malabarba/rich-minority.git")
3036 (commit version)))
3037 (file-name (git-file-name name version))
3038 (sha256
3039 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
3040 (build-system emacs-build-system)
3041 (home-page "https://github.com/Malabarba/rich-minority")
3042 (synopsis "Clean-up and beautify the list of minor modes")
3043 (description
3044 "This Emacs package hides and/or highlights minor modes in the
3045 mode-line.")
3046 (license license:gpl2+)))
3047
3048 (define-public emacs-robe
3049 (package
3050 (name "emacs-robe")
3051 (version "0.8.2")
3052 (source
3053 (origin
3054 (method git-fetch)
3055 (uri (git-reference
3056 (url "https://github.com/dgutov/robe.git")
3057 (commit version)))
3058 (file-name (git-file-name name version))
3059 (sha256
3060 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
3061 (build-system emacs-build-system)
3062 (arguments
3063 '(#:include (cons "^lib\\/" %default-include)))
3064 (propagated-inputs
3065 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
3066 (home-page "https://github.com/dgutov/robe")
3067 (synopsis "Ruby code assistance tool for Emacs")
3068 (description
3069 "Robe can provide information on loaded classes and modules in Ruby code,
3070 as well as where methods are defined. This allows the user to jump to method
3071 definitions, modules and classes, display method documentation and provide
3072 method and constant name completion.")
3073 (license license:gpl3+)))
3074
3075 (define-public emacs-robot-mode
3076 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
3077 (revision "1"))
3078 (package
3079 (name "emacs-robot-mode")
3080 (version (git-version "0.0.0" revision commit))
3081 (source (origin
3082 (method git-fetch)
3083 (uri (git-reference
3084 ;; A better maintained fork of robot-mode.
3085 (url "https://github.com/jvalkeejarvi/robot-mode.git")
3086 (commit commit)))
3087 (file-name (git-file-name name version))
3088 (sha256
3089 (base32
3090 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
3091 (build-system emacs-build-system)
3092 (propagated-inputs `(("emacs-s" ,emacs-s)))
3093 (home-page "https://github.com/jvalkeejarvi/robot-mode")
3094 (synopsis "Emacs mode for Robot Framework")
3095 (description "This major mode facilitates editing Robot Framework source
3096 files with features such as syntax highlighting, comments, finding keywords,
3097 completing keywords and smart indentation.")
3098 (license license:gpl3+))))
3099
3100 (define-public emacs-rspec
3101 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
3102 (revision "1"))
3103 (package
3104 (name "emacs-rspec")
3105 (version (git-version "1.11" revision commit))
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
3110 (url "https://github.com/pezra/rspec-mode.git")
3111 (commit commit)))
3112 (file-name (git-file-name name version))
3113 (sha256
3114 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
3115 (build-system emacs-build-system)
3116 (arguments
3117 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
3118 #:tests? #t
3119 #:test-command '("make" "test")))
3120 (home-page "https://github.com/pezra/rspec-mode")
3121 (synopsis "Provides a rspec mode for working with RSpec")
3122 (description
3123 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
3124 verify the spec associated with the current buffer, or entire project, as well
3125 as moving between the spec files, and corresponding code files.
3126
3127 Also included are keybindings for spec files and Dired buffers, as well as
3128 snippets for yasnippet.")
3129 (license license:gpl3+))))
3130
3131 (define-public emacs-smart-mode-line
3132 (package
3133 (name "emacs-smart-mode-line")
3134 (version "2.13")
3135 (source
3136 (origin
3137 (method git-fetch)
3138 (uri (git-reference
3139 (url "https://github.com/Malabarba/smart-mode-line.git")
3140 (commit version)))
3141 (file-name (git-file-name name version))
3142 (sha256
3143 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
3144 (build-system emacs-build-system)
3145 (propagated-inputs
3146 `(("emacs-rich-minority" ,emacs-rich-minority)))
3147 (home-page "https://github.com/Malabarba/smart-mode-line")
3148 (synopsis "Color-coded smart mode-line")
3149 (description
3150 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
3151 read from small to large monitors by using colors, a prefix feature, and smart
3152 truncation.")
3153 (license license:gpl2+)))
3154
3155 (define-public emacs-sr-speedbar
3156 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3157 (revision "0"))
3158 (package
3159 (name "emacs-sr-speedbar")
3160 (version (git-version "20161025" revision commit))
3161 (source
3162 (origin
3163 (method git-fetch)
3164 (uri (git-reference
3165 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3166 (commit commit)))
3167 (file-name (git-file-name name version))
3168 (sha256
3169 (base32
3170 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3171 (build-system emacs-build-system)
3172 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3173 (synopsis "Same frame Emacs @code{speedbar}")
3174 (description
3175 "This Emacs package allows you to show @code{M-x speedbar} in the
3176 same frame (in an extra window). You can customize the initial width of
3177 the speedbar window.")
3178 (license license:gpl3+))))
3179
3180 (define-public emacs-shell-switcher
3181 (package
3182 (name "emacs-shell-switcher")
3183 (version "1.0.1")
3184 (source
3185 (origin
3186 (method git-fetch)
3187 (uri (git-reference
3188 (url "https://github.com/DamienCassou/shell-switcher.git")
3189 (commit (string-append "v" version))))
3190 (file-name (git-file-name name version))
3191 (sha256
3192 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3193 (build-system emacs-build-system)
3194 (home-page "https://github.com/DamienCassou/shell-switcher")
3195 (synopsis "Provide fast switching between shell buffers")
3196 (description
3197 "This package provides commands to quickly switch between shell buffers.")
3198 (license license:gpl3+)))
3199
3200 (define-public emacs-names
3201 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3202 (version "20151201.0")
3203 (revision "8"))
3204 (package
3205 (name "emacs-names")
3206 (version (git-version version revision commit))
3207 (source
3208 (origin
3209 (method git-fetch)
3210 (uri (git-reference
3211 (url "https://github.com/Malabarba/names")
3212 (commit commit)))
3213 (file-name (git-file-name name version))
3214 (sha256
3215 (base32
3216 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3217 (build-system emacs-build-system)
3218 (home-page "https://github.com/Malabarba/names/")
3219 (synopsis "Namespace implementation for Emacs Lisp")
3220 (description
3221 "This package provides a macro that writes your namespaces for you.")
3222 (license license:gpl3+))))
3223
3224 (define-public emacs-evil-textobj-syntax
3225 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3226 (version "0")
3227 (revision "1"))
3228 (package
3229 (name "emacs-evil-textobj-syntax")
3230 (version (git-version version revision commit))
3231 (source
3232 (origin
3233 (method git-fetch)
3234 (uri (git-reference
3235 (url "https://github.com/laishulu/evil-textobj-syntax/")
3236 (commit commit)))
3237 (file-name (git-file-name name version))
3238 (sha256
3239 (base32
3240 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3241 (build-system emacs-build-system)
3242 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3243 ("emacs-names" ,emacs-names)))
3244 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3245 (synopsis "Text objects based on syntax highlighting")
3246 (description
3247 "This package provides text objects for @code{evil-mode} with
3248 boundaries defined by syntax highlighting.")
3249 (license license:gpl3+))))
3250
3251 (define-public emacs-flycheck-flow
3252 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3253 (version "1.1")
3254 (revision "1"))
3255 (package
3256 (name "emacs-flycheck-flow")
3257 (version (git-version version revision commit))
3258 (source
3259 (origin
3260 (method git-fetch)
3261 (uri (git-reference
3262 (url "https://github.com/lbolla/emacs-flycheck-flow")
3263 (commit commit)))
3264 (file-name (git-file-name name version))
3265 (sha256
3266 (base32
3267 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3268 (build-system emacs-build-system)
3269 (propagated-inputs
3270 `(("emacs-flycheck" ,emacs-flycheck)))
3271 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3272 (synopsis "Flow support for @code{flycheck-mode}")
3273 (description
3274 "This package allows @code{flycheck-mode} to provide syntax-checking
3275 for Flow files.")
3276 (license license:gpl3+))))
3277
3278 (define-public emacs-flycheck-grammalecte
3279 (package
3280 (name "emacs-flycheck-grammalecte")
3281 (version "0.9")
3282 (source (origin
3283 (method url-fetch)
3284 (uri (string-append "https://git.deparis.io/"
3285 "flycheck-grammalecte/snapshot/"
3286 "flycheck-grammalecte-" version ".tar.xz"))
3287 (sha256
3288 (base32
3289 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb"))))
3290 (build-system emacs-build-system)
3291 (arguments
3292 `(#:include '("\\.(el|py)$")
3293 #:phases
3294 (modify-phases %standard-phases
3295 (add-after 'unpack 'fix-python
3296 ;; Hardcode python3 executable in the Emacs library.
3297 (lambda* (#:key inputs #:allow-other-keys)
3298 (let ((python3 (string-append (assoc-ref inputs "python")
3299 "/bin/python3")))
3300 (substitute* "flycheck-grammalecte.el"
3301 (("python3") python3))
3302 #t)))
3303 (add-after 'install 'link-to-grammalecte
3304 ;; The package expects grammalecte to be in a sub-directory.
3305 ;; Symlink it there from the store.
3306 (lambda* (#:key inputs outputs #:allow-other-keys)
3307 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3308 (out (assoc-ref outputs "out"))
3309 (version ,(version-major+minor (package-version python))))
3310 (with-directory-excursion
3311 (string-append out
3312 "/share/emacs/site-lisp/guix.d/"
3313 "flycheck-grammalecte-" ,version)
3314 (symlink (string-append grammalecte "/lib/"
3315 "python" version "/site-packages/"
3316 "grammalecte")
3317 "grammalecte"))
3318 #t))))))
3319 (inputs
3320 `(("grammalecte" ,grammalecte)
3321 ("python" ,python)))
3322 (propagated-inputs
3323 `(("emacs-flycheck" ,emacs-flycheck)))
3324 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3325 (synopsis "Integrate Grammalecte with Flycheck")
3326 (description "Integrate the French grammar and typography checker
3327 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3328 It also provides an easy way to find synonyms and antonyms for a given
3329 word (to avoid repetitions for example).")
3330 (license license:gpl3+)))
3331
3332 (define-public emacs-elisp-demos
3333 (package
3334 (name "emacs-elisp-demos")
3335 (version "2019.08.16")
3336 (source
3337 (origin
3338 (method git-fetch)
3339 (uri (git-reference
3340 (url "https://github.com/xuchunyang/elisp-demos")
3341 (commit version)))
3342 (file-name (git-file-name name version))
3343 (sha256
3344 (base32
3345 "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"))))
3346 (build-system emacs-build-system)
3347 (arguments
3348 `(#:include '("\\.el$" "\\.org$")
3349 #:tests? #t
3350 #:test-command '("make" "test")))
3351 (home-page "https://github.com/xuchunyang/elisp-demos/")
3352 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3353 (description
3354 "This package injects example uses of Elisp functions into their
3355 respective @code{*Help*} buffers.")
3356 (license license:gpl3+)))
3357
3358 (define-public emacs-docker-compose-mode
3359 (package
3360 (name "emacs-docker-compose-mode")
3361 (version "1.1.0")
3362 (source
3363 (origin
3364 (method git-fetch)
3365 (uri (git-reference
3366 (url "https://github.com/meqif/docker-compose-mode")
3367 (commit version)))
3368 (file-name (git-file-name name version))
3369 (sha256
3370 (base32
3371 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3372 (build-system emacs-build-system)
3373 (propagated-inputs
3374 `(("emacs-dash" ,emacs-dash)
3375 ("emacs-f" ,emacs-f)))
3376 (home-page "https://github.com/meqif/docker-compose-mode/")
3377 (synopsis "Major mode for editing @file{docker-compose} files")
3378 (description
3379 "This is a major mode for @file{docker-compose} files that provides
3380 completion of relevant keywords.")
3381 (license license:expat)))
3382
3383 (define-public emacs-sudo-edit
3384 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3385 (revision "6"))
3386 (package
3387 (name "emacs-sudo-edit")
3388 (version (git-version "0.1.0" revision commit))
3389 (source
3390 (origin
3391 (method git-fetch)
3392 (uri (git-reference
3393 (url "https://github.com/nflath/sudo-edit")
3394 (commit commit)))
3395 (file-name (git-file-name name version))
3396 (sha256
3397 (base32
3398 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3399 (build-system emacs-build-system)
3400 (native-inputs
3401 `(("emacs-undercover" ,emacs-undercover)))
3402 (arguments
3403 `(#:phases
3404 (modify-phases %standard-phases
3405 (add-before 'check 'fix-makefile
3406 (lambda _
3407 (substitute* "Makefile"
3408 (("\\$\\(CASK\\) exec ") ""))
3409 #t)))
3410 #:tests? #t
3411 #:test-command '("make" "test")))
3412 (home-page "https://github.com/nflath/sudo-edit/")
3413 (synopsis "Open files as another user")
3414 (description
3415 "This package allows editing files as another user, including the root
3416 user.")
3417 (license license:gpl3+))))
3418
3419 (define-public emacs-miniedit
3420 (package
3421 (name "emacs-miniedit")
3422 (version "2.0")
3423 (source
3424 (origin
3425 (method git-fetch)
3426 (uri (git-reference
3427 (url "https://github.com/emacsmirror/miniedit")
3428 (commit version)))
3429 (file-name (git-file-name name version))
3430 (sha256
3431 (base32
3432 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3433 (build-system emacs-build-system)
3434 (home-page "https://github.com/emacsmirror/miniedit/")
3435 (synopsis "Enhanced editing for minibuffer fields")
3436 (description
3437 "This package provides a function that can be called from the
3438 minibuffer to enable editing the minibuffer input in another buffer with
3439 @code{text-mode} enabled.")
3440 (license license:gpl2+)))
3441
3442 (define-public emacs-ob-ipython
3443 (package
3444 (name "emacs-ob-ipython")
3445 (version "20150704.8807064693")
3446 (source (origin
3447 (method git-fetch)
3448 (uri (git-reference
3449 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3450 (url "https://github.com/gregsexton/ob-ipython.git")))
3451 (file-name (git-file-name name version))
3452 (sha256
3453 (base32
3454 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3455 (build-system emacs-build-system)
3456 (propagated-inputs
3457 `(("emacs-f" ,emacs-f)))
3458 (home-page "http://www.gregsexton.org")
3459 (synopsis "Org-Babel functions for IPython evaluation")
3460 (description "This package adds support to Org-Babel for evaluating Python
3461 source code using IPython.")
3462 (license license:gpl3+)))
3463
3464 (define-public emacs-debbugs
3465 (package
3466 (name "emacs-debbugs")
3467 (version "0.20")
3468 (source (origin
3469 (method url-fetch)
3470 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3471 version ".tar"))
3472 (sha256
3473 (base32
3474 "03mmb1zvbqlsznl5agq8k3xrlcz310vnsa2zn0y8myanm4ra51zm"))))
3475 (build-system emacs-build-system)
3476 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3477 (propagated-inputs
3478 `(("emacs-async" ,emacs-async)))
3479 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3480 (synopsis "Access the Debbugs bug tracker in Emacs")
3481 (description
3482 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3483 Tracker} from within Emacs.
3484
3485 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3486 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3487 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3488 @code{M-x debbugs-org} and related commands.
3489
3490 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3491 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3492 (license license:gpl3+)))
3493
3494 (define-public emacs-ert-expectations
3495 (package
3496 (name "emacs-ert-expectations")
3497 (version "0.2")
3498 (source
3499 (origin
3500 (method url-fetch)
3501 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3502 (sha256
3503 (base32
3504 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3505 (build-system emacs-build-system)
3506 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3507 (synopsis "Simple unit test framework for Emacs Lisp")
3508 (description "@code{emacs-ert-expectations} is a simple unit test
3509 framework for Emacs Lisp to be used with @code{ert}.")
3510 (license license:gpl3+)))
3511
3512 (define-public emacs-deferred
3513 (package
3514 (name "emacs-deferred")
3515 (version "0.5.1")
3516 (home-page "https://github.com/kiwanami/emacs-deferred")
3517 (source (origin
3518 (method git-fetch)
3519 (uri (git-reference
3520 (url home-page)
3521 (commit (string-append "v" version))))
3522 (file-name (git-file-name name version))
3523 (sha256
3524 (base32
3525 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3526 (build-system emacs-build-system)
3527 (arguments
3528 `(#:phases
3529 (modify-phases %standard-phases
3530 (add-after 'unpack 'set-shell
3531 ;; Setting the SHELL environment variable is required for the tests
3532 ;; to find sh.
3533 (lambda _
3534 (setenv "SHELL" (which "sh"))
3535 #t))
3536 (add-before 'check 'fix-makefile
3537 (lambda _
3538 (substitute* "Makefile"
3539 (("\\$\\(CASK\\) exec ") ""))
3540 #t)))
3541 #:tests? #t
3542 #:test-command '("make" "test")))
3543 (native-inputs
3544 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3545 ("emacs-undercover" ,emacs-undercover)
3546 ("ert-runner" ,emacs-ert-runner)))
3547 (synopsis "Simple asynchronous functions for Emacs Lisp")
3548 (description
3549 "The @code{deferred.el} library provides support for asynchronous tasks.
3550 The API is almost the same as that of
3551 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3552 for asynchronous tasks.")
3553 (license license:gpl3+)))
3554
3555 (define-public emacs-butler
3556 (package
3557 (name "emacs-butler")
3558 (version "0.2.4")
3559 (home-page "https://github.com/AshtonKem/Butler")
3560 (source (origin
3561 (method git-fetch)
3562 (uri (git-reference
3563 (url home-page)
3564 (commit version)))
3565 (file-name (git-file-name name version))
3566 (sha256
3567 (base32
3568 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3569 (build-system emacs-build-system)
3570 (propagated-inputs
3571 `(("emacs-deferred" ,emacs-deferred)))
3572 (synopsis "Emacs client for Jenkins")
3573 (description
3574 "Butler provides an interface to connect to Jenkins continuous
3575 integration servers. Users can specify a list of server in the
3576 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3577 view the build status of those servers' build jobs, and possibly to trigger
3578 build jobs.")
3579 (license license:gpl3+)))
3580
3581 (define-public emacs-company
3582 (package
3583 (name "emacs-company")
3584 (version "0.9.10")
3585 (source
3586 (origin
3587 (method git-fetch)
3588 (uri (git-reference
3589 (url "https://github.com/company-mode/company-mode.git")
3590 (commit version)))
3591 (file-name (git-file-name name version))
3592 (sha256
3593 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3594 (build-system emacs-build-system)
3595 (arguments
3596 `(#:phases
3597 (modify-phases %standard-phases
3598 (add-before 'check 'fix-bin-dir
3599 (lambda _
3600 ;; The company-files-candidates-normal-root test looks
3601 ;; for the /bin directory, but the build environment has
3602 ;; no /bin directory. Modify the test to look for the
3603 ;; /tmp directory.
3604 (substitute* "test/files-tests.el"
3605 (("/bin/") "/tmp/"))
3606 #t)))
3607 #:tests? #t
3608 #:test-command '("make" "test-batch")))
3609 (home-page "http://company-mode.github.io/")
3610 (synopsis "Modular text completion framework")
3611 (description
3612 "Company is a modular completion mechanism. Modules for retrieving
3613 completion candidates are called back-ends, modules for displaying them are
3614 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3615 These are distributed in separate files and can be used individually.")
3616 (license license:gpl3+)))
3617
3618 (define-public emacs-irony-mode
3619 (package
3620 (name "emacs-irony-mode")
3621 (version "1.2.0")
3622 (home-page "https://github.com/Sarcasm/irony-mode")
3623 (source (origin
3624 (method git-fetch)
3625 (uri (git-reference
3626 (url (string-append home-page ".git"))
3627 (commit (string-append "v" version))))
3628 (file-name (git-file-name name version))
3629 (sha256
3630 (base32
3631 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3632 (build-system emacs-build-system)
3633 (inputs `(("server" ,emacs-irony-mode-server)))
3634 (arguments `(#:phases
3635 (modify-phases %standard-phases
3636 (add-after 'unpack 'configure
3637 (lambda* (#:key inputs #:allow-other-keys)
3638 (chmod "irony.el" #o644)
3639 (emacs-substitute-variables "irony.el"
3640 ("irony-server-install-prefix"
3641 (assoc-ref inputs "server")))
3642 #t)))))
3643 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3644 (description "Irony-mode provides Clang-assisted syntax checking and
3645 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3646 provide syntax checking and autocompletion on compiler level which is very
3647 resistant against false positives. It also integrates well with other
3648 packages like @code{eldoc-mode} and especially @code{company-mode} as
3649 described on the homepage.")
3650 (license license:gpl3+)))
3651
3652 (define-public emacs-irony-mode-server
3653 (package (inherit emacs-irony-mode)
3654 (name "emacs-irony-mode-server")
3655 (inputs
3656 `(("clang" ,clang)))
3657 (arguments
3658 `(#:phases
3659 (modify-phases %standard-phases
3660 (replace 'configure
3661 (lambda* (#:key outputs #:allow-other-keys)
3662 (let ((out (assoc-ref outputs "out")))
3663 (invoke "cmake"
3664 "server"
3665 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3666 (build-system cmake-build-system)
3667 (synopsis "Server for the Emacs @dfn{irony mode}")))
3668
3669 (define-public emacs-company-irony
3670 (package
3671 (name "emacs-company-irony")
3672 (version "1.1.0")
3673 (source (origin
3674 (method git-fetch)
3675 (uri (git-reference
3676 (url "https://github.com/Sarcasm/company-irony.git")
3677 (commit (string-append "v" version))))
3678 (sha256 (base32
3679 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3680 (file-name (git-file-name name version))))
3681 (build-system emacs-build-system)
3682 (inputs
3683 `(("emacs-irony-mode" ,emacs-irony-mode)
3684 ("emacs-company" ,emacs-company)))
3685 (synopsis "C++ completion backend for Company using irony-mode")
3686 (description "This backend for company-mode allows for C++ code completion
3687 with irony-mode using clang-tooling.")
3688 (home-page "https://github.com/Sarcasm/company-irony")
3689 (license license:gpl3+)))
3690
3691 (define-public emacs-flycheck-irony
3692 (package
3693 (name "emacs-flycheck-irony")
3694 (version "0.1.0")
3695 (source (origin
3696 (method git-fetch)
3697 (uri (git-reference
3698 (url "https://github.com/Sarcasm/flycheck-irony.git")
3699 (commit (string-append "v" version))))
3700 (file-name (git-file-name name version))
3701 (sha256
3702 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3703 (build-system emacs-build-system)
3704 (inputs
3705 `(("irony-mode" ,emacs-irony-mode)
3706 ("flycheck-mode" ,emacs-flycheck)
3707 ("emacs-company" ,emacs-company)))
3708 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3709 (description "This package provides a frontend for Flycheck that lets
3710 irony-mode do the syntax checking.")
3711 (home-page "https://github.com/Sarcasm/flycheck-irony")
3712 (license license:gpl3+)))
3713
3714 (define-public emacs-irony-eldoc
3715 (package
3716 (name "emacs-irony-eldoc")
3717 (version (package-version emacs-irony-mode))
3718 (source
3719 (origin
3720 (method git-fetch)
3721 (uri (git-reference
3722 (url "https://github.com/ikirill/irony-eldoc.git")
3723 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3724 (file-name (git-file-name name version))
3725 (sha256
3726 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3727 (build-system emacs-build-system)
3728 (inputs
3729 `(("irony-mode" ,emacs-irony-mode)))
3730 (synopsis "Eldoc integration for irony-mode")
3731 (description "Irony-eldoc is an eldoc extension that shows documentation
3732 for the current function or variable in the minibuffer.")
3733 (home-page "https://github.com/ikirill/irony-eldoc")
3734 (license license:gpl3+)))
3735
3736 (define-public emacs-company-quickhelp
3737 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3738 ;; so we use the latest 2.2.0 commit instead
3739 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3740 (revision "1"))
3741 (package
3742 (name "emacs-company-quickhelp")
3743 (version (git-version "2.2.0" revision commit))
3744 (source
3745 (origin
3746 (method git-fetch)
3747 (uri (git-reference
3748 (url "https://github.com/expez/company-quickhelp.git")
3749 (commit commit)))
3750 (file-name (git-file-name name version))
3751 (sha256
3752 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3753 (build-system emacs-build-system)
3754 (propagated-inputs
3755 `(("emacs-pos-tip" ,emacs-pos-tip)
3756 ("emacs-company" ,emacs-company)))
3757 (home-page "https://github.com/expez/company-quickhelp")
3758 (synopsis "Popup documentation for completion candidates")
3759 (description "@code{company-quickhelp} shows documentation for the
3760 completion candidate when using the Company text completion framework.")
3761 (license license:gpl3+))))
3762
3763 (define-public emacs-math-symbol-lists
3764 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3765 (revision "1"))
3766 (package
3767 (name "emacs-math-symbol-lists")
3768 (version (git-version "1.2.1" revision commit))
3769 (source
3770 (origin
3771 (method git-fetch)
3772 (uri (git-reference
3773 (url "https://github.com/vspinu/math-symbol-lists.git")
3774 (commit commit)))
3775 (file-name (git-file-name name version))
3776 (sha256
3777 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3778 (build-system emacs-build-system)
3779 (home-page "https://github.com/vspinu/math-symbol-lists")
3780 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3781 (description "This is a storage package used by completion engines like
3782 @code{company-math}.")
3783 (license license:gpl3+))))
3784
3785 (define-public emacs-company-math
3786 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3787 (revision "1"))
3788 (package
3789 (name "emacs-company-math")
3790 (version (git-version "1.3" revision commit))
3791 (source
3792 (origin
3793 (method git-fetch)
3794 (uri (git-reference
3795 (url "https://github.com/vspinu/company-math.git")
3796 (commit commit)))
3797 (file-name (git-file-name name version))
3798 (sha256
3799 (base32
3800 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3801 (build-system emacs-build-system)
3802 (propagated-inputs
3803 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3804 ("emacs-company" ,emacs-company)))
3805 (home-page "https://github.com/vspinu/company-math")
3806 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3807 (description "This package provides a backend for use with
3808 @code{company-mode} allowing for completion of common math symbols.")
3809 (license license:gpl3+))))
3810
3811 (define-public emacs-compdef
3812 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3813 (revision "2"))
3814 (package
3815 (name "emacs-compdef")
3816 (version (git-version "0.2" revision commit))
3817 (source
3818 (origin
3819 (method git-fetch)
3820 (uri (git-reference
3821 (url "https://gitlab.com/jjzmajic/compdef.git")
3822 (commit commit)))
3823 (file-name (git-file-name name version))
3824 (sha256
3825 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3826 (build-system emacs-build-system)
3827 (home-page "https://gitlab.com/jjzmajic/compdef")
3828 (synopsis "Set local completion backends")
3829 (description "This package provides a function to cleanly set local
3830 completion backends according to mode, and integrates with
3831 @code{use-package}.")
3832 (license license:gpl3+))))
3833
3834 (define-public emacs-handle
3835 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3836 (revision "2"))
3837 (package
3838 (name "emacs-handle")
3839 (version (git-version "0.1" revision commit))
3840 (source
3841 (origin
3842 (method git-fetch)
3843 (uri (git-reference
3844 (url "https://gitlab.com/jjzmajic/handle.git")
3845 (commit commit)))
3846 (file-name (git-file-name name version))
3847 (sha256
3848 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
3849 (build-system emacs-build-system)
3850 (propagated-inputs
3851 `(("emacs-parent-mode" ,emacs-parent-mode)))
3852 (home-page "https://gitlab.com/jjzmajic/handle")
3853 (synopsis "Handle generic functions across related major modes")
3854 (description "This package provides generic functions that specialize on
3855 major modes and intended purpose rather than on arguments. Different
3856 callables for tasks like expression evaluation, definition-jumping, and more
3857 can now be grouped accordingly and tried in sequence until one of them
3858 succeeds.")
3859 (license license:gpl3+))))
3860
3861 (define-public emacs-nswbuff
3862 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3863 (revision "1"))
3864 (package
3865 (name "emacs-nswbuff")
3866 (version (git-version "1.0" revision commit))
3867 (source
3868 (origin
3869 (method git-fetch)
3870 (uri (git-reference
3871 (url "https://github.com/joostkremers/nswbuff.git")
3872 (commit commit)))
3873 (file-name (git-file-name name version))
3874 (sha256
3875 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3876 (build-system emacs-build-system)
3877 (home-page "https://github.com/joostkremers/nswbuff")
3878 (synopsis "Quickly switch between buffers")
3879 (description "This package allows for navigating between buffers within
3880 a customizable list.")
3881 (license license:gpl3+))))
3882
3883 (define-public emacs-phi-search
3884 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3885 (revision "1"))
3886 (package
3887 (name "emacs-phi-search")
3888 (version (git-version "20160630" revision commit))
3889 (source
3890 (origin
3891 (method git-fetch)
3892 (uri (git-reference
3893 (url "https://github.com/zk-phi/phi-search.git")
3894 (commit commit)))
3895 (file-name (git-file-name name version))
3896 (sha256
3897 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
3898 (build-system emacs-build-system)
3899 (home-page "https://github.com/zk-phi/phi-search")
3900 (synopsis "Interactive search compatible with @code{multiple-cursors}")
3901 (description "This package can be used with @code{multiple-cursors} to
3902 provide an incremental search that moves all fake cursors in sync.")
3903 (license license:gpl2+))))
3904
3905 (define-public emacs-phi-search-mc
3906 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
3907 (revision "1"))
3908 (package
3909 (name "emacs-phi-search-mc")
3910 (version (git-version "2.2.1" revision commit))
3911 (source
3912 (origin
3913 (method git-fetch)
3914 (uri (git-reference
3915 (url "https://github.com/knu/phi-search-mc.el.git")
3916 (commit commit)))
3917 (file-name (git-file-name name version))
3918 (sha256
3919 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
3920 (build-system emacs-build-system)
3921 (propagated-inputs
3922 `(("emacs-phi-search" ,emacs-phi-search)
3923 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3924 (home-page "https://github.com/knu/phi-search-mc.el")
3925 (synopsis "Extend @code{phi-search} with additional
3926 @code{multiple-cursors} functionality")
3927 (description "This package provides further integration between
3928 @code{multiple-cursors} and @code{phi-search}, a package that allows for
3929 interactive searches to move multiple fake cursors.")
3930 (license license:bsd-2))))
3931
3932 (define-public emacs-multiple-cursors
3933 (package
3934 (name "emacs-multiple-cursors")
3935 (version "1.4.0")
3936 (source
3937 (origin
3938 (method git-fetch)
3939 (uri (git-reference
3940 (url "https://github.com/magnars/multiple-cursors.el.git")
3941 (commit version)))
3942 (file-name (git-file-name name version))
3943 (sha256
3944 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3945 (build-system emacs-build-system)
3946 (home-page "https://github.com/magnars/multiple-cursors.el")
3947 (synopsis "Multiple cursors for Emacs")
3948 (description
3949 "This package adds support to Emacs for editing text with multiple
3950 simultaneous cursors.")
3951 (license license:gpl3+)))
3952
3953 (define-public emacs-mc-extras
3954 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
3955 (revision "1"))
3956 (package
3957 (name "emacs-mc-extras")
3958 (version (git-version "1.2.4" revision commit))
3959 (source
3960 (origin
3961 (method git-fetch)
3962 (uri (git-reference
3963 (url "https://github.com/knu/mc-extras.el.git")
3964 (commit commit)))
3965 (file-name (git-file-name name version))
3966 (sha256
3967 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
3968 (build-system emacs-build-system)
3969 (propagated-inputs
3970 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3971 (home-page "https://github.com/knu/mc-extras.el")
3972 (synopsis "Extra functions for manipulating multiple cursors")
3973 (description
3974 "This package provides additional functions for
3975 @code{multiple-cursors}, including functions for marking s-expressions,
3976 comparing characters, removing cursors, and more.")
3977 (license license:bsd-2))))
3978
3979 (define-public emacs-typo
3980 (package
3981 (name "emacs-typo")
3982 (version "1.1")
3983 (home-page "https://github.com/jorgenschaefer/typoel")
3984 (source (origin
3985 (method git-fetch)
3986 (uri (git-reference
3987 (url home-page)
3988 (commit (string-append "v" version))))
3989 (file-name (git-file-name name version))
3990 (sha256
3991 (base32
3992 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3993 (build-system emacs-build-system)
3994 (synopsis "Minor mode for typographic editing")
3995 (description
3996 "This package provides two Emacs modes, @code{typo-mode} and
3997 @code{typo-global-mode}. These modes automatically insert Unicode characters
3998 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3999 automatically inserts a Unicode opening or closing quotation mark, depending
4000 on context.")
4001 (license license:gpl3+)))
4002
4003 (define-public emacs-company-lsp
4004 (package
4005 (name "emacs-company-lsp")
4006 (version "2.1.0")
4007 (source (origin
4008 (method git-fetch)
4009 (uri (git-reference
4010 (url "https://github.com/tigersoldier/company-lsp.git")
4011 (commit version)))
4012 (file-name (git-file-name name version))
4013 (sha256
4014 (base32
4015 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4016 (build-system emacs-build-system)
4017 (propagated-inputs
4018 `(("emacs-dash" ,emacs-dash)
4019 ("emacs-lsp-mode" ,emacs-lsp-mode)
4020 ("emacs-company" ,emacs-company)
4021 ("emacs-s" ,emacs-s)
4022 ("emacs-dash" ,emacs-dash)))
4023 (native-inputs
4024 `(("emacs-buttercup" ,emacs-buttercup)))
4025 (arguments
4026 `(#:tests? #t
4027 #:test-command '("buttercup" "-L" ".")))
4028 (home-page "https://github.com/tigersoldier/company-lsp")
4029 (synopsis "Completion for @code{lsp-mode}")
4030 (description
4031 "This package provides completion features that are not possible with
4032 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4033 characters and asynchronous fetching of completion candidates.")
4034 (license license:gpl3+)))
4035
4036 (define-public emacs-scheme-complete
4037 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4038 (package
4039 (name "emacs-scheme-complete")
4040 (version (string-append "20151223." (string-take commit 8)))
4041 (source
4042 (origin
4043 (method git-fetch)
4044 (uri (git-reference
4045 (url "https://github.com/ashinn/scheme-complete.git")
4046 (commit commit)))
4047 (file-name (git-file-name name version))
4048 (sha256
4049 (base32
4050 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4051 (patches
4052 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4053 (build-system emacs-build-system)
4054 (home-page "https://github.com/ashinn/scheme-complete")
4055 (synopsis "Smart tab completion for Scheme in Emacs")
4056 (description
4057 "This file provides a single function, @code{scheme-smart-complete},
4058 which you can use for intelligent, context-sensitive completion for any Scheme
4059 implementation in Emacs. To use it just load this file and bind that function
4060 to a key in your preferred mode.")
4061 (license license:public-domain))))
4062
4063 (define-public emacs-scel
4064 (let ((version "20170629")
4065 (revision "1")
4066 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4067 (package
4068 (name "emacs-scel")
4069 (version (git-version version revision commit))
4070 (source
4071 (origin
4072 (method git-fetch)
4073 (uri (git-reference
4074 (url "https://github.com/supercollider/scel.git")
4075 (commit commit)))
4076 (file-name (git-file-name name version))
4077 (sha256
4078 (base32
4079 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4080 (build-system emacs-build-system)
4081 (arguments
4082 `(#:modules ((guix build emacs-build-system)
4083 ((guix build cmake-build-system) #:prefix cmake:)
4084 (guix build utils))
4085 #:imported-modules (,@%emacs-build-system-modules
4086 (guix build cmake-build-system))
4087 #:phases
4088 (modify-phases %standard-phases
4089 (add-after 'unpack 'configure
4090 (lambda* (#:key outputs #:allow-other-keys)
4091 (substitute* "el/CMakeLists.txt"
4092 (("share/emacs/site-lisp/SuperCollider")
4093 (string-append
4094 "share/emacs/site-lisp/guix.d/scel-" ,version)))
4095 ((assoc-ref cmake:%standard-phases 'configure)
4096 #:outputs outputs
4097 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4098 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
4099 (lambda _
4100 (setenv "EMACSLOADPATH"
4101 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4102 #t))
4103 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4104 (inputs
4105 `(("supercollider" ,supercollider)))
4106 (native-inputs
4107 `(("cmake" ,cmake-minimal)))
4108 (home-page "https://github.com/supercollider/scel")
4109 (synopsis "SuperCollider Emacs interface")
4110 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4111 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4112 (license license:gpl2+))))
4113
4114 (define-public emacs-company-auctex
4115 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4116 (revision "1"))
4117 (package
4118 (name "emacs-company-auctex")
4119 (version (git-version "0" revision commit))
4120 (source (origin
4121 (method git-fetch)
4122 (uri (git-reference
4123 (url "https://github.com/alexeyr/company-auctex")
4124 (commit commit)))
4125 (file-name (git-file-name name version))
4126 (sha256
4127 (base32
4128 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4129 (build-system emacs-build-system)
4130 (propagated-inputs
4131 `(("emacs-yasnippet" ,emacs-yasnippet)
4132 ("emacs-auctex" ,emacs-auctex)
4133 ("emacs-company" ,emacs-company)))
4134 (home-page "https://github.com/alexeyr/company-auctex/")
4135 (synopsis "Completion for @code{AUCTeX}")
4136 (description
4137 "This package provides a group of backends permitting auto-completion
4138 for @code{AUCTeX}.")
4139 (license license:gpl3+))))
4140
4141 (define-public emacs-mit-scheme-doc
4142 (package
4143 (name "emacs-mit-scheme-doc")
4144 (version "20140203")
4145 (source
4146 (origin
4147 (modules '((guix build utils)))
4148 (snippet
4149 ;; keep only file of interest
4150 '(begin
4151 (for-each delete-file '("dot-emacs.el" "Makefile"))
4152 (install-file "6.945-config/mit-scheme-doc.el" ".")
4153 (delete-file-recursively "6.945-config")
4154 #t))
4155 (file-name (string-append name "-" version ".tar.bz2"))
4156 (method url-fetch)
4157 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4158 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4159 (sha256
4160 (base32
4161 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4162 (build-system emacs-build-system)
4163 (inputs `(("mit-scheme" ,mit-scheme)))
4164 (arguments
4165 `(#:phases
4166 (modify-phases %standard-phases
4167 (add-after 'unpack 'configure-doc
4168 (lambda* (#:key inputs #:allow-other-keys)
4169 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4170 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4171 "mit-scheme-"
4172 ,(package-version mit-scheme))))
4173 (substitute* "mit-scheme-doc.el"
4174 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4175 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4176 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4177 (synopsis "MIT-Scheme documentation lookup for Emacs")
4178 (description
4179 "This package provides a set of Emacs functions to search definitions of
4180 identifiers in the MIT-Scheme documentation.")
4181 (license license:gpl2+)))
4182
4183 (define-public emacs-constants
4184 (package
4185 (name "emacs-constants")
4186 (version "2.6")
4187 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4188 (source
4189 (origin
4190 (method git-fetch)
4191 (uri (git-reference
4192 (url "https://github.com/fedeinthemix/emacs-constants.git")
4193 (commit (string-append "v" version))))
4194 (file-name (git-file-name name version))
4195 (sha256
4196 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4197 (build-system emacs-build-system)
4198 (synopsis "Enter definition of constants into an Emacs buffer")
4199 (description
4200 "This package provides functions for inserting the definition of natural
4201 constants and units into an Emacs buffer.")
4202 (license license:gpl2+)))
4203
4204 (define-public emacs-tagedit
4205 (package
4206 (name "emacs-tagedit")
4207 (version "1.4.0")
4208 (source
4209 (origin
4210 (method git-fetch)
4211 (uri (git-reference
4212 (url "https://github.com/magnars/tagedit.git")
4213 (commit version)))
4214 (file-name (git-file-name name version))
4215 (sha256
4216 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4217 (build-system emacs-build-system)
4218 (propagated-inputs
4219 `(("emacs-s" ,emacs-s)
4220 ("emacs-dash" ,emacs-dash)))
4221 (home-page "https://github.com/magnars/tagedit")
4222 (synopsis "Some paredit-like features for html-mode")
4223 (description
4224 "This package provides a collection of paredit-like functions for editing
4225 in @code{html-mode}.")
4226 (license license:gpl3+)))
4227
4228 (define-public emacs-slime
4229 (package
4230 (name "emacs-slime")
4231 (version "2.24")
4232 (source
4233 (origin
4234 (method git-fetch)
4235 (uri (git-reference
4236 (url "https://github.com/slime/slime.git")
4237 (commit (string-append "v" version))))
4238 (file-name (git-file-name name version))
4239 (sha256
4240 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4241 (build-system emacs-build-system)
4242 (native-inputs
4243 `(("texinfo" ,texinfo)))
4244 (arguments
4245 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4246 #:exclude '("^slime-tests.el" "^contrib/test/"
4247 "^contrib/Makefile$" "^contrib/README.md$")
4248 #:phases
4249 (modify-phases %standard-phases
4250 (add-after 'unpack 'make-git-checkout-writable
4251 (lambda _
4252 (for-each make-file-writable (find-files "."))
4253 #t))
4254 (add-before 'install 'configure
4255 (lambda* _
4256 (emacs-substitute-variables "slime.el"
4257 ("inferior-lisp-program" "sbcl"))
4258 #t))
4259 (add-before 'install 'install-doc
4260 (lambda* (#:key outputs #:allow-other-keys)
4261 (let* ((out (assoc-ref outputs "out"))
4262 (info-dir (string-append out "/share/info"))
4263 (doc-dir (string-append out "/share/doc/"
4264 ,name "-" ,version))
4265 (doc-files '("doc/slime-refcard.pdf"
4266 "README.md" "NEWS" "PROBLEMS"
4267 "CONTRIBUTING.md")))
4268 (with-directory-excursion "doc"
4269 (substitute* "Makefile"
4270 (("infodir=/usr/local/info")
4271 (string-append "infodir=" info-dir)))
4272 (invoke "make" "html/index.html")
4273 (invoke "make" "slime.info")
4274 (install-file "slime.info" info-dir)
4275 (copy-recursively "html" (string-append doc-dir "/html")))
4276 (for-each (lambda (f)
4277 (install-file f doc-dir)
4278 (delete-file f))
4279 doc-files)
4280 (delete-file-recursively "doc")
4281 #t))))))
4282 (home-page "https://github.com/slime/slime")
4283 (synopsis "Superior Lisp Interaction Mode for Emacs")
4284 (description
4285 "SLIME extends Emacs with support for interactive programming in
4286 Common Lisp. The features are centered around @command{slime-mode},
4287 an Emacs minor mode that complements the standard @command{lisp-mode}.
4288 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4289 adds support for interacting with a running Common Lisp process
4290 for compilation, debugging, documentation lookup, and so on.")
4291 (license (list license:gpl2+ license:public-domain))))
4292
4293 (define-public emacs-popup
4294 (package
4295 (name "emacs-popup")
4296 (version "0.5.3")
4297 (source
4298 (origin
4299 (method git-fetch)
4300 (uri (git-reference
4301 (url "https://github.com/auto-complete/popup-el.git")
4302 (commit (string-append "v" version))))
4303 (file-name (git-file-name name version))
4304 (sha256
4305 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4306 (build-system emacs-build-system)
4307 (home-page "https://github.com/auto-complete/popup-el")
4308 (synopsis "Visual Popup User Interface for Emacs")
4309 (description
4310 "Popup.el is a visual popup user interface library for Emacs.
4311 This provides a basic API and common UI widgets such as popup tooltips
4312 and popup menus.")
4313 (license license:gpl3+)))
4314
4315 (define-public emacs-python-environment
4316 (package
4317 (name "emacs-python-environment")
4318 (version "0.0.2")
4319 (source
4320 (origin
4321 (method git-fetch)
4322 (uri (git-reference
4323 (url "https://github.com/tkf/emacs-python-environment/")
4324 (commit version)))
4325 (file-name (git-file-name name version))
4326 (sha256
4327 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4328 (build-system emacs-build-system)
4329 (propagated-inputs
4330 `(("emacs-deferred" ,emacs-deferred)))
4331 (home-page "https://github.com/tkf/emacs-python-environment")
4332 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4333 (description
4334 "This package permits automated installation of tools written in Python.")
4335 (license license:gpl3+)))
4336
4337 (define-public emacs-jedi
4338 (package
4339 (name "emacs-jedi")
4340 (version "0.2.7")
4341 (source (origin
4342 (method git-fetch)
4343 (uri (git-reference
4344 (url "https://github.com/tkf/emacs-jedi/")
4345 (commit (string-append "v" version))))
4346 (file-name (git-file-name name version))
4347 (sha256
4348 (base32
4349 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
4350 (build-system emacs-build-system)
4351 (native-inputs
4352 `(("emacs-mocker" ,emacs-mocker)))
4353 (propagated-inputs
4354 `(("emacs-auto-complete" ,emacs-auto-complete)
4355 ("emacs-python-environment" ,emacs-python-environment)
4356 ("emacs-epc" ,emacs-epc)))
4357 (home-page "https://github.com/tkf/emacs-jedi")
4358 (synopsis "Provides Python completion in Emacs")
4359 (description
4360 "This package provides completion in Python buffers and also helps find
4361 the locations of docstrings, arguments, and functions.")
4362 (license license:gpl3+)))
4363
4364 (define-public emacs-company-jedi
4365 (package
4366 (name "emacs-company-jedi")
4367 (version "0.04")
4368 (source (origin
4369 (method git-fetch)
4370 (uri (git-reference
4371 (url "https://github.com/syohex/emacs-company-jedi")
4372 (commit version)))
4373 (file-name (git-file-name name version))
4374 (sha256
4375 (base32
4376 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4377 (build-system emacs-build-system)
4378 (propagated-inputs
4379 `(("emacs-jedi" ,emacs-jedi)
4380 ("emacs-company" ,emacs-company)))
4381 (home-page "https://github.com/syohex/emacs-company-jedi")
4382 (synopsis "Provides Python completion in @code{company-mode}")
4383 (description
4384 "This package provides a Company backend for Python.")
4385 (license license:gpl3+)))
4386
4387 (define-public emacs-puppet-mode
4388 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4389 (revision "1"))
4390 (package
4391 (name "emacs-puppet-mode")
4392 ;; The last release, 0.3 was several years ago, and there have been many
4393 ;; commits since
4394 (version (git-version "0.3" revision commit))
4395 (source
4396 (origin
4397 (method url-fetch)
4398 (uri (string-append
4399 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4400 commit "/puppet-mode.el"))
4401 (sha256
4402 (base32
4403 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4404 (build-system emacs-build-system)
4405 (home-page "https://github.com/voxpupuli/puppet-mode")
4406 (synopsis "Emacs major mode for the Puppet configuration language")
4407 (description
4408 "This package provides support for the Puppet configuration language,
4409 including syntax highlighting, indentation of expressions and statements,
4410 linting of manifests and integration with Puppet Debugger.")
4411 ;; Also incorporates work covered by the Apache License, Version 2.0
4412 (license license:gpl3+))))
4413
4414 (define-public emacs-god-mode
4415 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4416 (revision "1"))
4417 (package
4418 (name "emacs-god-mode")
4419 (version (string-append "20151005.925."
4420 revision "-" (string-take commit 9)))
4421 (source
4422 (origin
4423 (method git-fetch)
4424 (uri (git-reference
4425 (url "https://github.com/chrisdone/god-mode.git")
4426 (commit commit)))
4427 (file-name (git-file-name name version))
4428 (sha256
4429 (base32
4430 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4431 (build-system emacs-build-system)
4432 (home-page "https://github.com/chrisdone/god-mode")
4433 (synopsis "Minor mode for entering commands without modifier keys")
4434 (description
4435 "This package provides a global minor mode for entering Emacs commands
4436 without modifier keys. It's similar to Vim's separation of commands and
4437 insertion mode. When enabled all keys are implicitly prefixed with
4438 @samp{C-} (among other helpful shortcuts).")
4439 (license license:gpl3+))))
4440
4441 (define-public emacs-jinja2-mode
4442 (package
4443 (name "emacs-jinja2-mode")
4444 (version "0.2")
4445 (source
4446 (origin
4447 (method git-fetch)
4448 (uri (git-reference
4449 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4450 (commit (string-append "v" version))))
4451 (file-name (git-file-name name version))
4452 (sha256
4453 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4454 (build-system emacs-build-system)
4455 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4456 (synopsis "Major mode for jinja2")
4457 (description
4458 "Emacs major mode for jinja2 with: syntax highlighting,
4459 sgml/html integration, and indentation (working with sgml).")
4460 (license license:gpl3+)))
4461
4462 (define-public emacs-company-cabal
4463 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4464 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4465 (revision "1"))
4466 (package
4467 (name "emacs-company-cabal")
4468 (version (git-version "0.3.0" revision commit))
4469 (source (origin
4470 (method git-fetch)
4471 (uri (git-reference
4472 (url "https://github.com/iquiw/company-cabal/")
4473 (commit commit)))
4474 (file-name (git-file-name name version))
4475 (sha256
4476 (base32
4477 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4478 (build-system emacs-build-system)
4479 (propagated-inputs
4480 `(("emacs-company" ,emacs-company)))
4481 (arguments
4482 `(#:include (cons "^tools\\/" %default-include)))
4483 (home-page "https://github.com/iquiw/company-cabal/")
4484 (synopsis "Company completion for Haskell Cabal files")
4485 (description
4486 "This package allows for completion of field names, section names,
4487 field values, and more within @code{haskell-cabal-mode}.")
4488 (license license:gpl3+))))
4489
4490 (define-public emacs-rfcview
4491 (package
4492 (name "emacs-rfcview")
4493 (version "0.13")
4494 (home-page "http://www.loveshack.ukfsn.org/emacs")
4495 (source (origin
4496 (method url-fetch)
4497 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4498 (sha256
4499 (base32
4500 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4501 (build-system emacs-build-system)
4502 (synopsis "Prettify Request for Comments (RFC) documents")
4503 (description "The Internet Engineering Task Force (IETF) and the Internet
4504 Society (ISOC) publish various Internet-related protocols and specifications
4505 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4506 documents. RFCs and STDs are published in a simple text form. This package
4507 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4508 read these documents in Emacs. It prettifies the text and adds
4509 hyperlinks/menus for easier navigation. It also provides functions for
4510 browsing the index of RFC documents and fetching them from remote servers or
4511 local directories.")
4512 (license license:gpl3+)))
4513
4514 (define-public emacs-ffap-rfc-space
4515 (package
4516 (name "emacs-ffap-rfc-space")
4517 (version "12")
4518 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4519 (source (origin
4520 (method url-fetch)
4521 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4522 (sha256
4523 (base32
4524 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4525 (build-system emacs-build-system)
4526 (synopsis "Make ffap recognize an RFC with a space before its number")
4527 (description "The Internet Engineering Task Force (IETF) and the
4528 Internet Society (ISOC) publish various Internet-related protocols and
4529 specifications as \"Request for Comments\" (RFC) documents. The
4530 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4531 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4532 and load the appropriate RFC from a remote server. However, it fails
4533 to recognize a name like \"RFC 1234\". This package enhances ffap so
4534 that it correctly finds RFCs even when a space appears before the
4535 number.")
4536 (license license:gpl3+)))
4537
4538 (define-public emacs-org-bullets
4539 (package
4540 (name "emacs-org-bullets")
4541 (version "0.2.4")
4542 (source
4543 (origin
4544 (method git-fetch)
4545 (uri (git-reference
4546 (url "https://github.com/sabof/org-bullets.git")
4547 (commit version)))
4548 (file-name (git-file-name name version))
4549 (sha256
4550 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4551 (build-system emacs-build-system)
4552 (home-page "https://github.com/sabof/org-bullets")
4553 (synopsis "Show bullets in org-mode as UTF-8 characters")
4554 (description
4555 "This package provides an Emacs minor mode causing bullets in
4556 @code{org-mode} to be rendered as UTF-8 characters.")
4557 (license license:gpl3+)))
4558
4559 (define-public emacs-org-pomodoro
4560 ;; Last release version was from 2016.
4561 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4562 (revision "1"))
4563 (package
4564 (name "emacs-org-pomodoro")
4565 (version (git-version "2.1.0" revision commit))
4566 (source
4567 (origin
4568 (method git-fetch)
4569 (uri (git-reference
4570 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4571 (commit commit)))
4572 (file-name (git-file-name name version))
4573 (sha256
4574 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4575 (build-system emacs-build-system)
4576 (propagated-inputs
4577 `(("emacs-alert" ,emacs-alert)))
4578 (arguments
4579 `(#:include (cons "^resources\\/" %default-include)
4580 #:tests? #t
4581 #:test-command '("emacs" "--batch"
4582 "-l" "org-pomodoro-tests.el"
4583 "-f" "ert-run-tests-batch-and-exit")
4584 #:phases
4585 (modify-phases %standard-phases
4586 (add-before 'check 'make-tests-writable
4587 (lambda _
4588 (make-file-writable "org-pomodoro-tests.el")
4589 #t))
4590 (add-before 'check 'add-require
4591 (lambda _
4592 (emacs-batch-edit-file "org-pomodoro-tests.el"
4593 `(progn (progn (goto-char (point-min))
4594 (re-search-forward
4595 "ert-deftest")
4596 (beginning-of-line)
4597 (forward-line -1)
4598 (insert "(require 'org-pomodoro)"))
4599 (basic-save-buffer)))
4600 #t)))))
4601 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4602 (synopsis "Pomodoro technique for org-mode")
4603 (description "@code{emacs-org-pomodoro} adds very basic support for
4604 Pomodoro technique in Emacs org-mode.
4605
4606 Run @code{M-x org-pomodoro} for the task at point or select one of the
4607 last tasks that you clocked time for. Each clocked-in pomodoro starts
4608 a timer of 25 minutes and after each pomodoro a break timer of 5
4609 minutes is started automatically. Every 4 breaks a long break is
4610 started with 20 minutes. All values are customizable.")
4611 (license license:gpl3+))))
4612
4613 (define-public emacs-org-sidebar
4614 (package
4615 (name "emacs-org-sidebar")
4616 (version "0.2")
4617 (source
4618 (origin
4619 (method git-fetch)
4620 (uri (git-reference
4621 (url "https://github.com/alphapapa/org-sidebar.git")
4622 (commit version)))
4623 (file-name (git-file-name name version))
4624 (sha256
4625 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
4626 (build-system emacs-build-system)
4627 (propagated-inputs
4628 `(("emacs-dash" ,emacs-dash)
4629 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4630 ("emacs-org" ,emacs-org)
4631 ("emacs-org-ql" ,emacs-org-ql)
4632 ("emacs-s" ,emacs-s)))
4633 (home-page "https://github.com/alphapapa/org-sidebar")
4634 (synopsis "Helpful sidebar for Org buffers")
4635 (description "This package provides a sidebar for Org buffers. At the
4636 top is a chronological list of scheduled and deadlined tasks in the current
4637 buffer (similar to the Org agenda ,but without all its features), and below
4638 that is a list of all other non-done to-do items. If the buffer is narrowed,
4639 the sidebar only shows items in the narrowed portion; this allows seeing an
4640 overview of tasks in a subtree.")
4641 (license license:gpl3+)))
4642
4643 (define-public emacs-org-trello
4644 (package
4645 (name "emacs-org-trello")
4646 (version "0.8.0")
4647 (source
4648 (origin
4649 (method git-fetch)
4650 (uri (git-reference
4651 (url "https://github.com/org-trello/org-trello.git")
4652 (commit version)))
4653 (file-name (git-file-name name version))
4654 (sha256
4655 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
4656 (build-system emacs-build-system)
4657 (propagated-inputs
4658 `(("emacs-dash" ,emacs-dash)
4659 ("emacs-deferred" ,emacs-deferred)
4660 ("emacs-f" ,emacs-f)
4661 ("emacs-helm" ,emacs-helm)
4662 ("emacs-request" ,emacs-request)
4663 ("emacs-s" ,emacs-s)))
4664 (home-page "https://org-trello.github.io")
4665 (synopsis "Emacs minor mode for interacting with Trello")
4666 (description "This package provides an Emacs minor mode to extend
4667 @code{org-mode} with Trello abilities. Trello is an online project
4668 organizer.")
4669 (license license:gpl3+)))
4670
4671 (define-public emacs-org-tanglesync
4672 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4673 (revision "2"))
4674 (package
4675 (name "emacs-org-tanglesync")
4676 (version (git-version "0.6" revision commit))
4677 (source
4678 (origin
4679 (method git-fetch)
4680 (uri (git-reference
4681 (url "https://github.com/mtekman/org-tanglesync.el.git")
4682 (commit commit)))
4683 (file-name (git-file-name name version))
4684 (sha256
4685 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4686 (build-system emacs-build-system)
4687 (propagated-inputs
4688 `(("emacs-org" ,emacs-org)))
4689 (home-page "https://github.com/mtekman/org-tanglesync.el")
4690 (synopsis "Sync Org source blocks with tangled external files")
4691 (description "This package automatically pulls changes from source code
4692 to their corresponding tangled blocks.")
4693 (license license:gpl3+))))
4694
4695 (define-public emacs-company-flow
4696 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4697 (revision "1"))
4698 (package
4699 (name "emacs-company-flow")
4700 (version (git-version "0.1.0" revision commit))
4701 (source (origin
4702 (method git-fetch)
4703 (uri (git-reference
4704 (url "https://github.com/aaronjensen/company-flow/")
4705 (commit commit)))
4706 (file-name (git-file-name name version))
4707 (sha256
4708 (base32
4709 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4710 (build-system emacs-build-system)
4711 (propagated-inputs
4712 `(("emacs-company" ,emacs-company)
4713 ("emacs-dash" ,emacs-dash)))
4714 (home-page "https://github.com/aaronjensen/company-flow/")
4715 (synopsis "Flow backend for @code{company-mode}")
4716 (description
4717 "This package provides completion for JavaScript files utilizing Flow.")
4718 (license license:gpl3+))))
4719
4720 (define-public emacs-atom-one-dark-theme
4721 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4722 (revision "0"))
4723 (package
4724 (name "emacs-atom-one-dark-theme")
4725 (version (git-version "0.4.0" revision commit))
4726 (source (origin
4727 (method git-fetch)
4728 (uri (git-reference
4729 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4730 (commit commit)))
4731 (sha256
4732 (base32
4733 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4734 (file-name (git-file-name name version))))
4735 (build-system emacs-build-system)
4736 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4737 (synopsis "Atom One Dark color theme for Emacs")
4738 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4739 (license license:gpl3+))))
4740
4741 (define-public emacs-zenburn-theme
4742 (package
4743 (name "emacs-zenburn-theme")
4744 (version "2.6")
4745 (source
4746 (origin
4747 (method git-fetch)
4748 (uri (git-reference
4749 (url "https://github.com/bbatsov/zenburn-emacs.git")
4750 (commit (string-append "v" version))))
4751 (file-name (git-file-name name version))
4752 (sha256
4753 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4754 (build-system emacs-build-system)
4755 (home-page "https://github.com/bbatsov/zenburn-emacs")
4756 (synopsis "Low contrast color theme for Emacs")
4757 (description
4758 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4759 It is built on top of the custom theme support in Emacs 24 or later.")
4760 (license license:gpl3+)))
4761
4762 (define-public emacs-moe-theme-el
4763 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4764 (version "1.0")
4765 (revision "1"))
4766 (package
4767 (name "emacs-moe-theme-el")
4768 (version (git-version version revision commit))
4769 (source
4770 (origin
4771 (method git-fetch)
4772 (uri (git-reference
4773 (url "https://github.com/kuanyui/moe-theme.el")
4774 (commit commit)))
4775 (file-name (git-file-name name version))
4776 (sha256
4777 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4778 (build-system emacs-build-system)
4779 (home-page "https://github.com/kuanyui/moe-theme.el")
4780 (synopsis "Anime-inspired color themes")
4781 (description
4782 "This package provides vibrant color schemes with light and dark
4783 variants.")
4784 (license license:gpl3+))))
4785
4786 (define-public emacs-solarized-theme
4787 (package
4788 (name "emacs-solarized-theme")
4789 (version "1.2.2")
4790 (source (origin
4791 (method url-fetch)
4792 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4793 "archive/v" version ".tar.gz"))
4794 (file-name (string-append name "-" version ".tar.gz"))
4795 (sha256
4796 (base32
4797 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4798 (build-system emacs-build-system)
4799 (propagated-inputs
4800 `(("emacs-dash" ,emacs-dash)))
4801 (home-page "https://github.com/bbatsov/solarized-emacs")
4802 (synopsis "Port of the Solarized theme for Emacs")
4803 (description
4804 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4805 package provides a light and a dark variant.")
4806 (license license:gpl3+)))
4807
4808 (define-public emacs-poet-theme
4809 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
4810 (revision "0"))
4811 (package
4812 (name "emacs-poet-theme")
4813 (version (git-version "0" revision commit))
4814 (source
4815 (origin
4816 (method git-fetch)
4817 (uri (git-reference
4818 (url "https://github.com/kunalb/poet.git")
4819 (commit commit)))
4820 (sha256
4821 (base32
4822 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
4823 (build-system emacs-build-system)
4824 (home-page "https://github.com/kunalb/poet/")
4825 (synopsis "Emacs theme for prose")
4826 (description
4827 "Emacs has very good support for multiple fonts in a single file. Poet
4828 uses this support to make it much more convenient to write prose within Emacs,
4829 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
4830 Code blocks, tables, etc are formatted in monospace text with the appropriate
4831 backgrounds.")
4832 (license license:expat))))
4833
4834 (define-public emacs-ahungry-theme
4835 (package
4836 (name "emacs-ahungry-theme")
4837 (version "1.10.0")
4838 (source
4839 (origin (method url-fetch)
4840 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4841 version ".tar"))
4842 (sha256
4843 (base32
4844 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4845 (build-system emacs-build-system)
4846 (home-page "https://github.com/ahungry/color-theme-ahungry")
4847 (synopsis "Ahungry color theme for Emacs")
4848 (description "Ahungry theme for Emacs provides bright and bold colors.
4849 If you load it from a terminal, you will be able to make use of the
4850 transparent background. If you load it from a GUI, it will default to a
4851 dark background.")
4852 (license license:gpl3+)))
4853
4854 (define-public emacs-gruvbox-theme
4855 (package
4856 (name "emacs-gruvbox-theme")
4857 (version "1.28.0")
4858 (source (origin
4859 (method git-fetch)
4860 (uri (git-reference
4861 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4862 (commit version)))
4863 (file-name (git-file-name name version))
4864 (sha256
4865 (base32
4866 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4867 (build-system emacs-build-system)
4868 (propagated-inputs
4869 `(("emacs-autothemer" ,emacs-autothemer)))
4870 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4871 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4872 (description
4873 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4874
4875 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4876 mode switching in the way of solarized. The main focus when developing gruvbox
4877 is to keep colors easily distinguishable, contrast enough and still pleasant
4878 for the eyes.")
4879 (license license:expat))) ; MIT license
4880
4881 (define-public emacs-2048-game
4882 (package
4883 (name "emacs-2048-game")
4884 (version "20151026.1233")
4885 (source
4886 (origin
4887 (method url-fetch)
4888 (uri (string-append "https://melpa.org/packages/2048-game-"
4889 version ".el"))
4890 (sha256
4891 (base32
4892 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4893 (build-system emacs-build-system)
4894 (home-page "https://bitbucket.org/zck/2048.el")
4895 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4896 (description
4897 "This program is an implementation of 2048 for Emacs.
4898 The goal of this game is to create a tile with value 2048. The size of the
4899 board and goal value can be customized.")
4900 (license license:gpl3+)))
4901
4902 (define-public emacs-base16-theme
4903 (package
4904 (name "emacs-base16-theme")
4905 (version "2.2")
4906 (source
4907 (origin
4908 (method git-fetch)
4909 (uri (git-reference
4910 (url "https://github.com/belak/base16-emacs.git")
4911 (commit version)))
4912 (file-name (git-file-name name version))
4913 (sha256
4914 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
4915 (build-system emacs-build-system)
4916 (home-page "https://github.com/belak/base16-emacs")
4917 (synopsis "Base16 color themes for Emacs")
4918 (description
4919 "Base16 provides carefully chosen syntax highlighting and a default set
4920 of sixteen colors suitable for a wide range of applications. Base16 is not a
4921 single theme but a set of guidelines with numerous implementations.")
4922 (license license:expat)))
4923
4924 (define-public emacs-solaire-mode
4925 (package
4926 (name "emacs-solaire-mode")
4927 (version "1.0.9")
4928 (source
4929 (origin
4930 (method git-fetch)
4931 (uri (git-reference
4932 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4933 (commit (string-append "v" version))))
4934 (file-name (git-file-name name version))
4935 (sha256
4936 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4937 (build-system emacs-build-system)
4938 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4939 (synopsis "Change background of file-visiting buffers in Emacs")
4940 (description
4941 "@code{solaire-mode} is inspired by editors which visually distinguish
4942 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4943 background of file-visiting buffers (and certain aspects of the UI) to make
4944 them easier to distinguish from other, less important buffers.")
4945 (license license:expat)))
4946
4947 (define-public emacs-prescient
4948 ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
4949 ;; by default, so we use a non-release version ahead by one commit
4950 (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
4951 (revision "1"))
4952 (package
4953 (name "emacs-prescient")
4954 (version (git-version "3.3" revision commit))
4955 (source (origin
4956 (method git-fetch)
4957 (uri (git-reference
4958 (url "https://github.com/raxod502/prescient.el/")
4959 (commit commit)))
4960 (file-name (git-file-name name version))
4961 (sha256
4962 (base32
4963 "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
4964 (build-system emacs-build-system)
4965 (propagated-inputs
4966 `(("emacs-company" ,emacs-company)
4967 ("emacs-ivy" ,emacs-ivy)))
4968 (home-page "https://github.com/raxod502/prescient.el/")
4969 (synopsis "Library that sorts and filters lists of candidates")
4970 (description
4971 "This package provides a library for sorting and filtering, as well as
4972 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4973 library.")
4974 (license license:gpl3+))))
4975
4976 (define-public emacs-smartparens
4977 (package
4978 (name "emacs-smartparens")
4979 (version "1.11.0")
4980 (source
4981 (origin
4982 (method git-fetch)
4983 (uri (git-reference
4984 (url "https://github.com/Fuco1/smartparens.git")
4985 (commit version)))
4986 (file-name (git-file-name name version))
4987 (sha256
4988 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4989 (build-system emacs-build-system)
4990 (propagated-inputs
4991 `(("emacs-dash" ,emacs-dash)
4992 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4993 (home-page "https://github.com/Fuco1/smartparens")
4994 (synopsis "Paredit-like insertion, wrapping and navigation with user
4995 defined pairs")
4996 (description
4997 "Smartparens is a minor mode for Emacs that deals with parens pairs
4998 and tries to be smart about it. It started as a unification effort to
4999 combine functionality of several existing packages in a single,
5000 compatible and extensible way to deal with parentheses, delimiters, tags
5001 and the like. Some of these packages include autopair, textmate,
5002 wrap-region, electric-pair-mode, paredit and others. With the basic
5003 features found in other packages it also brings many improvements as
5004 well as completely new features.")
5005 (license license:gpl3+)))
5006
5007 (define-public emacs-highlight-symbol
5008 ;; We prefer a more recent commit that provides an option to squelch
5009 ;; echo-area alerts that can drown out useful information like eldoc
5010 ;; messages.
5011 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5012 (version "1.3")
5013 (revision "1"))
5014 (package
5015 (name "emacs-highlight-symbol")
5016 (version (git-version version revision commit))
5017 (source
5018 (origin
5019 (method git-fetch)
5020 (uri (git-reference
5021 (url "https://github.com/nschum/highlight-symbol.el.git")
5022 (commit commit)))
5023 (file-name (git-file-name name version))
5024 (sha256
5025 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5026 (build-system emacs-build-system)
5027 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5028 (synopsis "Automatic and manual symbol highlighting for Emacs")
5029 (description
5030 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5031 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5032 the symbol at point highlighted.
5033
5034 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5035 @code{highlight-symbol-next-in-defun} and
5036 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5037 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5038 bindings @code{M-p} and @code{M-p} for navigation. When
5039 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5040 regardless of @code{highlight-symbol-idle-delay}.
5041
5042 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5043 (license license:gpl2+))))
5044
5045 (define-public emacs-symbol-overlay
5046 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5047 (revision "1"))
5048 (package
5049 (name "emacs-symbol-overlay")
5050 (version (git-version "4.1" revision commit))
5051 (source
5052 (origin
5053 (method git-fetch)
5054 (uri (git-reference
5055 (url "https://github.com/wolray/symbol-overlay.git")
5056 (commit commit)))
5057 (file-name (git-file-name name version))
5058 (sha256
5059 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5060 (build-system emacs-build-system)
5061 (home-page "https://github.com/wolray/symbol-overlay")
5062 (synopsis "Highlight symbols and perform various search operations on them")
5063 (description
5064 "This package provides functions for highlighting and navigating
5065 between symbols.")
5066 (license license:gpl3+))))
5067
5068 (define-public emacs-hl-todo
5069 (package
5070 (name "emacs-hl-todo")
5071 (version "3.0.0")
5072 (source (origin
5073 (method git-fetch)
5074 (uri (git-reference
5075 (url "https://github.com/tarsius/hl-todo")
5076 (commit (string-append "v" version))))
5077 (file-name (git-file-name name version))
5078 (sha256
5079 (base32
5080 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5081 (build-system emacs-build-system)
5082 (home-page "https://github.com/tarsius/hl-todo")
5083 (synopsis "Emacs mode to highlight TODO and similar keywords")
5084 (description
5085 "This package provides an Emacs mode to highlight TODO and similar
5086 keywords in comments and strings. This package also provides commands for
5087 moving to the next or previous keyword and to invoke @code{occur} with a
5088 regexp that matches all known keywords.")
5089 (license license:gpl3+)))
5090
5091 (define-public emacs-perspective
5092 (package
5093 (name "emacs-perspective")
5094 (version "2.2")
5095 (source
5096 (origin
5097 (method git-fetch)
5098 (uri (git-reference
5099 (url "https://github.com/nex3/perspective-el.git")
5100 (commit version)))
5101 (file-name (git-file-name name version))
5102 (sha256
5103 (base32
5104 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
5105 (build-system emacs-build-system)
5106 (home-page "https://github.com/nex3/perspective-el")
5107 (synopsis "Switch between named \"perspectives\"")
5108 (description
5109 "This package provides tagged workspaces in Emacs, similar to workspaces in
5110 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5111 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5112 perspective is composed of a window configuration and a set of buffers.
5113 Switching to a perspective activates its window configuration, and when in a
5114 perspective only its buffers are available by default.")
5115 ;; This package is released under the same license as Emacs (GPLv3+) or
5116 ;; the Expat license.
5117 (license license:gpl3+)))
5118
5119 (define-public emacs-test-simple
5120 (package
5121 (name "emacs-test-simple")
5122 (version "1.3.0")
5123 (source
5124 (origin
5125 (method url-fetch)
5126 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5127 version ".el"))
5128 (sha256
5129 (base32
5130 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5131 (build-system emacs-build-system)
5132 (home-page "https://github.com/rocky/emacs-test-simple")
5133 (synopsis "Simple unit test framework for Emacs Lisp")
5134 (description
5135 "Test Simple is a simple unit test framework for Emacs Lisp. It
5136 alleviates the need for context macros, enclosing specifications or required
5137 test tags. It supports both interactive and non-interactive use.")
5138 (license license:gpl3+)))
5139
5140 (define-public emacs-load-relative
5141 (package
5142 (name "emacs-load-relative")
5143 (version "1.3.1")
5144 (source
5145 (origin
5146 (method url-fetch)
5147 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5148 version ".el"))
5149 (sha256
5150 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5151 (build-system emacs-build-system)
5152 (home-page "http://github.com/rocky/emacs-load-relative")
5153 (synopsis "Emacs Lisp relative file loading related functions")
5154 (description
5155 "Provides functions which facilitate writing multi-file Emacs packages
5156 and running from the source tree without having to \"install\" code or fiddle
5157 with @{load-path}.
5158
5159 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5160 another (presumably currently running) Emacs Lisp file.")
5161 (license license:gpl3+)))
5162
5163 (define-public emacs-loc-changes
5164 (package
5165 (name "emacs-loc-changes")
5166 (version "1.2")
5167 (source
5168 (origin
5169 (method url-fetch)
5170 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5171 version ".el"))
5172 (sha256
5173 (base32
5174 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5175 (build-system emacs-build-system)
5176 (home-page "https://github.com/rocky/emacs-loc-changes")
5177 (synopsis "Keeps track of positions even after buffer changes")
5178 (description
5179 "This Emacs package provides a mean to track important buffer positions
5180 after buffer changes.")
5181 (license license:gpl3+)))
5182
5183 (define-public emacs-realgud
5184 (package
5185 (name "emacs-realgud")
5186 (version "1.5.1")
5187 (source
5188 (origin
5189 (method git-fetch)
5190 (uri (git-reference
5191 (url "https://github.com/realgud/realgud/")
5192 (commit version)))
5193 (sha256
5194 (base32
5195 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5196 (file-name (git-file-name name version))))
5197 (build-system emacs-build-system)
5198 (arguments
5199 `(#:tests? #t
5200 #:phases
5201 (modify-phases %standard-phases
5202 (add-after 'set-emacs-load-path 'fix-autogen-script
5203 (lambda _
5204 (substitute* "autogen.sh"
5205 (("./configure") "sh configure"))))
5206 (add-after 'fix-autogen-script 'autogen
5207 (lambda _
5208 (setenv "CONFIG_SHELL" "sh")
5209 (invoke "sh" "autogen.sh")))
5210 (add-after 'fix-autogen-script 'set-home
5211 (lambda _
5212 (setenv "HOME" (getenv "TMPDIR"))))
5213 (add-before 'patch-el-files 'remove-realgud-pkg.el
5214 (lambda _
5215 ;; FIXME: `patch-el-files' crashes on this file with error:
5216 ;; unable to locate "bashdb".
5217 (delete-file "./test/test-regexp-bashdb.el"))))
5218 #:include (cons* ".*\\.el$" %default-include)))
5219 (native-inputs
5220 `(("autoconf" ,autoconf)
5221 ("automake" ,automake)
5222 ("emacs-test-simple" ,emacs-test-simple)))
5223 (propagated-inputs
5224 `(("emacs-load-relative" ,emacs-load-relative)
5225 ("emacs-loc-changes" ,emacs-loc-changes)))
5226 (home-page "https://github.com/realgud/realgud/")
5227 (synopsis
5228 "Modular front-end for interacting with external debuggers")
5229 (description
5230 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5231 with external debuggers. It integrates various debuggers such as gdb, pdb,
5232 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5233 sources. Unlike GUD, it also supports running multiple debug sessions in
5234 parallel.")
5235 (license license:gpl3+)))
5236
5237 (define-public emacs-request
5238 (package
5239 (name "emacs-request")
5240 (version "0.3.1")
5241 (source (origin
5242 (method git-fetch)
5243 (uri (git-reference
5244 (url "https://github.com/tkf/emacs-request.git")
5245 (commit (string-append "v" version))))
5246 (file-name (git-file-name name version))
5247 (sha256
5248 (base32
5249 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
5250 (build-system emacs-build-system)
5251 (propagated-inputs
5252 `(("emacs-deferred" ,emacs-deferred)))
5253 (home-page "https://github.com/tkf/emacs-request")
5254 (synopsis "Package for speaking HTTP in Emacs Lisp")
5255 (description "This package provides a HTTP request library with multiple
5256 backends. It supports url.el which is shipped with Emacs and the curl command
5257 line program.")
5258 (license license:gpl3+)))
5259
5260 (define-public emacs-rudel
5261 (package
5262 (name "emacs-rudel")
5263 (version "0.3.1")
5264 (source
5265 (origin
5266 (method url-fetch)
5267 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
5268 version ".tar"))
5269 (sha256
5270 (base32
5271 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5272 (build-system emacs-build-system)
5273 (home-page "http://rudel.sourceforge.net/")
5274 (synopsis "Collaborative editing framework")
5275 (description
5276 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5277 is to share buffers with other users in order to edit the contents of those
5278 buffers collaboratively. Rudel supports multiple backends to enable
5279 communication with other collaborative editors using different protocols,
5280 though currently Obby (for use with the Gobby editor) is the only
5281 fully-functional one.")
5282 (license license:gpl3+)))
5283
5284 (define-public emacs-hydra
5285 (package
5286 (name "emacs-hydra")
5287 (version "0.15.0")
5288 (source
5289 (origin
5290 (method git-fetch)
5291 (uri (git-reference
5292 (url "https://github.com/abo-abo/hydra")
5293 (commit version)))
5294 (file-name (git-file-name name version))
5295 (sha256
5296 (base32
5297 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5298 (build-system emacs-build-system)
5299 (arguments
5300 `(#:tests? #t
5301 #:test-command '("make" "test")))
5302 (home-page "https://github.com/abo-abo/hydra")
5303 (synopsis "Make Emacs bindings that stick around")
5304 (description
5305 "This package can be used to tie related commands into a family of short
5306 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5307 the prefixed binding), all the heads can be called in succession with only a
5308 short extension. Any binding that isn't the Hydra's head vanquishes the
5309 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5310 serve its original purpose, calling the command assigned to it. This makes
5311 the Hydra very seamless; it's like a minor mode that disables itself
5312 automatically.")
5313 (license license:gpl3+)))
5314
5315 (define-public emacs-ivy
5316 (package
5317 (name "emacs-ivy")
5318 (version "0.13.0")
5319 (source
5320 (origin
5321 (method git-fetch)
5322 (uri (git-reference
5323 (url "https://github.com/abo-abo/swiper.git")
5324 (commit version)))
5325 (file-name (git-file-name name version))
5326 (sha256
5327 (base32
5328 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
5329 (build-system emacs-build-system)
5330 (arguments
5331 `(#:phases
5332 (modify-phases %standard-phases
5333 (add-after 'install 'install-doc
5334 (lambda* (#:key outputs #:allow-other-keys)
5335 (let* ((out (assoc-ref outputs "out"))
5336 (info (string-append out "/share/info")))
5337 (with-directory-excursion "doc"
5338 (invoke "makeinfo" "ivy.texi")
5339 (install-file "ivy.info" info)
5340 #t))))
5341 (add-before 'check 'make-dummy-git-directory
5342 (lambda _
5343 (mkdir-p ".git")))
5344 (add-after 'check 'delete-dummy-git-directory
5345 (lambda _
5346 (delete-file-recursively ".git"))))
5347 #:tests? #t
5348 #:test-command '("make" "test")))
5349 (propagated-inputs
5350 `(("emacs-hydra" ,emacs-hydra)))
5351 (native-inputs
5352 `(("texinfo" ,texinfo)
5353 ("emacs-wgrep" ,emacs-wgrep)))
5354 (home-page "http://oremacs.com/swiper/")
5355 (synopsis "Incremental vertical completion for Emacs")
5356 (description
5357 "This package provides @code{ivy-read} as an alternative to
5358 @code{completing-read} and similar functions. No attempt is made to determine
5359 the best candidate. Instead, the user can navigate candidates with
5360 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5361 splitting the input text by spaces and re-building it into a regular
5362 expression.")
5363 (license license:gpl3+)))
5364
5365 (define-public emacs-ivy-xref
5366 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
5367 (revision "1"))
5368 (package
5369 (name "emacs-ivy-xref")
5370 (version (git-version "0.1" revision commit))
5371 (source
5372 (origin
5373 (method git-fetch)
5374 (uri (git-reference
5375 (url "https://github.com/alexmurray/ivy-xref.git")
5376 (commit commit)))
5377 (file-name (git-file-name name version))
5378 (sha256
5379 (base32
5380 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
5381 (build-system emacs-build-system)
5382 (propagated-inputs
5383 `(("emacs-ivy" ,emacs-ivy)))
5384 (home-page "https://github.com/alexmurray/ivy-xref")
5385 (synopsis "Ivy interface for @code{xref}")
5386 (description "This package provides an Ivy interface for selecting from
5387 @code{xref} results.")
5388 (license license:gpl3))))
5389
5390 (define-public emacs-ivy-pass
5391 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5392 (revision "1"))
5393 (package
5394 (name "emacs-ivy-pass")
5395 (version (git-version "0.1" revision commit))
5396 (source
5397 (origin
5398 (method git-fetch)
5399 (uri (git-reference
5400 (url "https://github.com/ecraven/ivy-pass.git")
5401 (commit commit)))
5402 (file-name (git-file-name name version))
5403 (sha256
5404 (base32
5405 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5406 (build-system emacs-build-system)
5407 (propagated-inputs
5408 `(("emacs-ivy" ,emacs-ivy)
5409 ("emacs-password-store" ,emacs-password-store)
5410 ("password-store" ,password-store)))
5411 (home-page "https://github.com/ecraven/ivy-pass")
5412 (synopsis "Ivy interface for password store (pass)")
5413 (description "This package provides an Ivy interface for working with
5414 the password store @code{pass}.")
5415 (license license:gpl3))))
5416
5417 (define-public emacs-ivy-yasnippet
5418 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5419 (revision "2"))
5420 (package
5421 (name "emacs-ivy-yasnippet")
5422 (version (git-version "0.1" revision commit))
5423 (source
5424 (origin
5425 (method git-fetch)
5426 (uri (git-reference
5427 (url "https://github.com/mkcms/ivy-yasnippet.git")
5428 (commit commit)))
5429 (file-name (git-file-name name version))
5430 (sha256
5431 (base32
5432 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5433 (build-system emacs-build-system)
5434 (propagated-inputs
5435 `(("emacs-ivy" ,emacs-ivy)
5436 ("emacs-yasnippet" ,emacs-yasnippet)
5437 ("emacs-dash" ,emacs-dash)))
5438 (home-page "https://github.com/mkcms/ivy-yasnippet")
5439 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5440 (description "This package allows you to select @code{yasnippet}
5441 snippets using @code{ivy} completion. When current selection changes in the
5442 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5443 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5444 @code{yas-minor-mode} first).")
5445 (license license:gpl3+))))
5446
5447 (define-public emacs-ivy-rich
5448 ;; The latest release version has a small mistake that has since been fixed,
5449 ;; so we use a more recent commit.
5450 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
5451 (revision "2"))
5452 (package
5453 (name "emacs-ivy-rich")
5454 (version (git-version "0.1.4" revision commit))
5455 (source
5456 (origin
5457 (method git-fetch)
5458 (uri (git-reference
5459 (url "https://github.com/Yevgnen/ivy-rich.git")
5460 (commit commit)))
5461 (file-name (git-file-name name version))
5462 (sha256
5463 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
5464 (build-system emacs-build-system)
5465 (propagated-inputs
5466 `(("emacs-ivy" ,emacs-ivy)))
5467 (home-page "https://github.com/Yevgnen/ivy-rich")
5468 (synopsis "More friendly interface for @code{ivy}")
5469 (description
5470 "This package extends @code{ivy} by showing more information in the
5471 minibuffer for each candidate. It adds columns showing buffer modes, file
5472 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5473 show icons as well.")
5474 (license license:gpl3+))))
5475
5476 (define-public emacs-avy
5477 (package
5478 (name "emacs-avy")
5479 (version "0.5.0")
5480 (source
5481 (origin
5482 (method git-fetch)
5483 (uri (git-reference
5484 (url "https://github.com/abo-abo/avy.git")
5485 (commit version)))
5486 (file-name (git-file-name name version))
5487 (sha256
5488 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5489 (build-system emacs-build-system)
5490 (arguments
5491 `(#:tests? #t
5492 #:test-command '("make" "test")))
5493 (home-page "https://github.com/abo-abo/avy")
5494 (synopsis "Tree-based completion for Emacs")
5495 (description
5496 "This package provides a generic completion method based on building a
5497 balanced decision tree with each candidate being a leaf. To traverse the tree
5498 from the root to a desired leaf, typically a sequence of @code{read-key} can
5499 be used.
5500
5501 In order for @code{read-key} to make sense, the tree needs to be visualized
5502 appropriately, with a character at each branch node. So this completion
5503 method works only for things that you can see on your screen, all at once,
5504 such as the positions of characters, words, line beginnings, links, or
5505 windows.")
5506 (license license:gpl3+)))
5507
5508 (define-public emacs-ace-window
5509 ;; last release version is from 2015
5510 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5511 (revision "1"))
5512 (package
5513 (name "emacs-ace-window")
5514 (version (git-version "0.9.0" revision commit))
5515 (source
5516 (origin
5517 (method git-fetch)
5518 (uri (git-reference
5519 (url "https://github.com/abo-abo/ace-window.git")
5520 (commit commit)))
5521 (file-name (git-file-name name version))
5522 (sha256
5523 (base32
5524 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5525 (build-system emacs-build-system)
5526 (propagated-inputs
5527 `(("emacs-avy" ,emacs-avy)))
5528 (home-page "https://github.com/abo-abo/ace-window")
5529 (synopsis "Quickly switch windows in Emacs")
5530 (description
5531 "@code{ace-window} is meant to replace @code{other-window}.
5532 In fact, when there are only two windows present, @code{other-window} is
5533 called. If there are more, each window will have its first character
5534 highlighted. Pressing that character will switch to that window.")
5535 (license license:gpl3+))))
5536
5537 (define-public emacs-iedit
5538 ;; Last release version was in 2016.
5539 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5540 (revision "1"))
5541 (package
5542 (name "emacs-iedit")
5543 (version (git-version "0.9.9.9" revision commit))
5544 (source
5545 (origin
5546 (method git-fetch)
5547 (uri (git-reference
5548 (url "https://github.com/victorhge/iedit.git")
5549 (commit commit)))
5550 (file-name (git-file-name name version))
5551 (sha256
5552 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5553 (build-system emacs-build-system)
5554 (home-page "http://www.emacswiki.org/emacs/Iedit")
5555 (synopsis "Edit multiple regions in the same way simultaneously")
5556 (description
5557 "This package is an Emacs minor mode and allows you to edit one
5558 occurrence of some text in a buffer (possibly narrowed) or region, and
5559 simultaneously have other occurrences edited in the same way.
5560
5561 You can also use Iedit mode as a quick way to temporarily show only the buffer
5562 lines that match the current text being edited. This gives you the effect of
5563 a temporary @code{keep-lines} or @code{occur}.")
5564 (license license:gpl3+))))
5565
5566 (define-public emacs-zoutline
5567 (package
5568 (name "emacs-zoutline")
5569 (version "0.2.0")
5570 (source
5571 (origin
5572 (method git-fetch)
5573 (uri (git-reference
5574 (url "https://github.com/abo-abo/zoutline")
5575 (commit version)))
5576 (sha256
5577 (base32
5578 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5579 (file-name (git-file-name name version))))
5580 (build-system emacs-build-system)
5581 (home-page "https://github.com/abo-abo/zoutline")
5582 (synopsis "Simple outline library")
5583 (description
5584 "This library provides helpers for outlines. Outlines allow users to
5585 navigate code in a tree-like fashion.")
5586 (license license:gpl3+)))
5587
5588 (define-public emacs-lispy
5589 (package
5590 (name "emacs-lispy")
5591 (version "0.27.0")
5592 (home-page "https://github.com/abo-abo/lispy")
5593 (source (origin
5594 (method git-fetch)
5595 (uri (git-reference
5596 (url "https://github.com/abo-abo/lispy")
5597 (commit version)))
5598 (sha256
5599 (base32
5600 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5601 (file-name (git-file-name name version))))
5602 (build-system emacs-build-system)
5603 (propagated-inputs
5604 `(("emacs-ace-window" ,emacs-ace-window)
5605 ("emacs-iedit" ,emacs-iedit)
5606 ("emacs-ivy" ,emacs-ivy)
5607 ("emacs-hydra" ,emacs-hydra)
5608 ("emacs-zoutline" ,emacs-zoutline)))
5609 (native-inputs
5610 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5611 ("emacs-undercover" ,emacs-undercover)))
5612 (arguments
5613 `(#:include (cons* "^lispy-clojure\\.clj$"
5614 "^lispy-python\\.py$"
5615 %default-include)
5616 #:phases
5617 ;; XXX: one failing test involving python evaluation
5618 (modify-phases %standard-phases
5619 (add-before 'check 'make-test-writable
5620 (lambda _
5621 (make-file-writable "lispy-test.el")
5622 #t))
5623 (add-before 'check 'remove-python-eval-test
5624 (lambda _
5625 (emacs-batch-edit-file "lispy-test.el"
5626 `(progn
5627 (progn
5628 (goto-char (point-min))
5629 (re-search-forward
5630 "ert-deftest lispy-eval-python-str")
5631 (beginning-of-line)
5632 (kill-sexp))
5633 (basic-save-buffer)))
5634 #t)))
5635 #:tests? #t
5636 #:test-command '("make" "test")))
5637 (synopsis "Modal S-expression editing")
5638 (description
5639 "Due to the structure of Lisp syntax it's very rare for the programmer
5640 to want to insert characters right before \"(\" or right after \")\". Thus
5641 unprefixed printable characters can be used to call commands when the point is
5642 at one of these special locations. Lispy provides unprefixed keybindings for
5643 S-expression editing when point is at the beginning or end of an
5644 S-expression.")
5645 (license license:gpl3+)))
5646
5647 (define-public emacs-lispyville
5648 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5649 (revision "1"))
5650 (package
5651 (name "emacs-lispyville")
5652 (version (git-version "0.1" revision commit))
5653 (home-page "https://github.com/noctuid/lispyville")
5654 (source (origin
5655 (method git-fetch)
5656 (uri (git-reference (url home-page) (commit commit)))
5657 (sha256
5658 (base32
5659 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5660 (file-name (git-file-name name version))))
5661 (propagated-inputs
5662 `(("emacs-evil" ,emacs-evil)
5663 ("emacs-lispy" ,emacs-lispy)))
5664 (build-system emacs-build-system)
5665 (arguments
5666 `(#:phases
5667 ;; XXX: mysterious whitespace issue with one test
5668 (modify-phases %standard-phases
5669 (add-before 'check 'make-test-writable
5670 (lambda _
5671 (make-file-writable "lispyville-test.el")
5672 #t))
5673 (add-after 'make-test-writable 'remove-test
5674 (lambda _
5675 (emacs-batch-edit-file "lispyville-test.el"
5676 `(progn (progn (goto-char (point-min))
5677 (re-search-forward
5678 "ert-deftest lispyville-comment-and-clone-dwim")
5679 (beginning-of-line)
5680 (kill-sexp))
5681 (basic-save-buffer))))))
5682 #:tests? #t
5683 #:test-command '("make" "test")))
5684 (synopsis "Minor mode for integrating Evil with lispy")
5685 (description
5686 "LispyVille's main purpose is to provide a Lisp editing environment
5687 suited towards Evil users. It can serve as a minimal layer on top of lispy
5688 for better integration with Evil, but it does not require the use of lispy’s
5689 keybinding style. The provided commands allow for editing Lisp in normal
5690 state and will work even without lispy being enabled.")
5691 (license license:gpl3+))))
5692
5693 (define-public emacs-lpy
5694 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
5695 (revision "3"))
5696 (package
5697 (name "emacs-lpy")
5698 (version (git-version "0.1.0" revision commit))
5699 (source
5700 (origin
5701 (method git-fetch)
5702 (uri (git-reference
5703 (url "https://github.com/abo-abo/lpy")
5704 (commit commit)))
5705 (sha256
5706 (base32
5707 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
5708 (file-name (git-file-name name version))))
5709 (propagated-inputs
5710 `(("emacs-zoutline" ,emacs-zoutline)
5711 ("emacs-lispy" ,emacs-lispy)))
5712 (build-system emacs-build-system)
5713 (home-page "https://github.com/abo-abo/lpy")
5714 (synopsis "Modal editing for Python")
5715 (description
5716 "This package provides a minor mode for Python that binds useful
5717 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5718 circumstances, and leaves the keys untouched outside of those situations,
5719 allowing unprefixed keys to insert their respective characters as expected.")
5720 (license license:gpl3+))))
5721
5722 (define-public emacs-clojure-mode
5723 (package
5724 (name "emacs-clojure-mode")
5725 (version "5.6.1")
5726 (source
5727 (origin
5728 (method git-fetch)
5729 (uri (git-reference
5730 (url "https://github.com/clojure-emacs/clojure-mode.git")
5731 (commit version)))
5732 (file-name (git-file-name name version))
5733 (sha256
5734 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5735 (build-system emacs-build-system)
5736 (native-inputs
5737 `(("emacs-dash" ,emacs-dash)
5738 ("emacs-s" ,emacs-s)
5739 ("ert-runner" ,emacs-ert-runner)))
5740 (arguments
5741 `(#:tests? #t
5742 #:test-command '("ert-runner")))
5743 (home-page "https://github.com/clojure-emacs/clojure-mode")
5744 (synopsis "Major mode for Clojure code")
5745 (description
5746 "This Emacs package provides font-lock, indentation, navigation and basic
5747 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5748 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5749 (license license:gpl3+)))
5750
5751 (define-public emacs-epl
5752 (package
5753 (name "emacs-epl")
5754 (version "0.8")
5755 (source
5756 (origin
5757 (method git-fetch)
5758 (uri (git-reference
5759 (url "https://github.com/cask/epl.git")
5760 (commit version)))
5761 (file-name (git-file-name name version))
5762 (sha256
5763 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5764 (build-system emacs-build-system)
5765 (home-page "https://github.com/cask/epl")
5766 (synopsis "Emacs Package Library")
5767 (description
5768 "A package management library for Emacs, based on @code{package.el}.
5769
5770 The purpose of this library is to wrap all the quirks and hassle of
5771 @code{package.el} into a sane API.")
5772 (license license:gpl3+)))
5773
5774 (define-public emacs-counsel-projectile
5775 (package
5776 (name "emacs-counsel-projectile")
5777 (version "0.3.0")
5778 (source (origin
5779 (method git-fetch)
5780 (uri (git-reference
5781 (url "https://github.com/ericdanan/counsel-projectile")
5782 (commit version)))
5783 (file-name (git-file-name name version))
5784 (sha256
5785 (base32
5786 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5787 (build-system emacs-build-system)
5788 (propagated-inputs
5789 `(("emacs-ivy" ,emacs-ivy)
5790 ("emacs-projectile" ,emacs-projectile)))
5791 (home-page "https://github.com/ericdanan/counsel-projectile")
5792 (synopsis "Enhance Projectile with Ivy")
5793 (description
5794 "This package uses Ivy to provide additional actions for Projectile
5795 commands and replacements for existing functions.")
5796 (license license:gpl3+)))
5797
5798 (define-public emacs-queue
5799 (package
5800 (name "emacs-queue")
5801 (version "0.2")
5802 (source (origin
5803 (method url-fetch)
5804 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5805 version ".el"))
5806 (sha256
5807 (base32
5808 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5809 (build-system emacs-build-system)
5810 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5811 (synopsis "Queue data structure for Emacs")
5812 (description
5813 "This Emacs library provides queue data structure. These queues can be
5814 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5815 stack, i.e. elements can be added to the front or back of the queue, and can
5816 be removed from the front. This type of data structure is sometimes called an
5817 \"output-restricted deque\".")
5818 (license license:gpl3+)))
5819
5820 (define-public emacs-pkg-info
5821 (package
5822 (name "emacs-pkg-info")
5823 (version "0.6")
5824 (source
5825 (origin
5826 (method git-fetch)
5827 (uri (git-reference
5828 (url "https://github.com/lunaryorn/pkg-info.el.git")
5829 (commit version)))
5830 (file-name (git-file-name name version))
5831 (sha256
5832 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5833 (build-system emacs-build-system)
5834 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5835 (home-page "https://github.com/lunaryorn/pkg-info.el")
5836 (synopsis "Information about Emacs packages")
5837 (description
5838 "This library extracts information from the installed Emacs packages.")
5839 (license license:gpl3+)))
5840
5841 (define-public emacs-spinner
5842 (package
5843 (name "emacs-spinner")
5844 (version "1.7.3")
5845 (source (origin
5846 (method url-fetch)
5847 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5848 version ".el"))
5849 (sha256
5850 (base32
5851 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5852 (build-system emacs-build-system)
5853 (home-page "https://github.com/Malabarba/spinner.el")
5854 (synopsis "Emacs mode-line spinner for operations in progress")
5855 (description
5856 "This Emacs package adds spinners and progress-bars to the mode-line for
5857 ongoing operations.")
5858 (license license:gpl3+)))
5859
5860 (define-public emacs-sparql-mode
5861 (package
5862 (name "emacs-sparql-mode")
5863 (version "2.0.1")
5864 (source
5865 (origin
5866 (method git-fetch)
5867 (uri (git-reference
5868 (url "https://github.com/ljos/sparql-mode.git")
5869 (commit (string-append "v" version))))
5870 (file-name (git-file-name name version))
5871 (sha256
5872 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5873 (build-system emacs-build-system)
5874 (home-page "https://github.com/ljos/sparql-mode")
5875 (synopsis "SPARQL mode for Emacs")
5876 (description "This package provides a major mode for Emacs that provides
5877 syntax highlighting for SPARQL. It also provides a way to execute queries
5878 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5879 possible to query other endpoints like DBPedia.")
5880 (license license:gpl3+)))
5881
5882 (define-public emacs-better-defaults
5883 (package
5884 (name "emacs-better-defaults")
5885 (version "0.1.3")
5886 (source
5887 (origin
5888 (method url-fetch)
5889 (uri (string-append "https://github.com/technomancy/better-defaults"
5890 "/archive/" version ".tar.gz"))
5891 (file-name (string-append name "-" version ".tar.gz"))
5892 (sha256
5893 (base32
5894 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
5895 (build-system emacs-build-system)
5896 (home-page "https://github.com/technomancy/better-defaults")
5897 (synopsis "Better defaults for Emacs")
5898 (description
5899 "Better defaults attempts to address the most obvious deficiencies of the
5900 Emacs default configuration in uncontroversial ways that nearly everyone can
5901 agree upon.")
5902 (license license:gpl3+)))
5903
5904 (define-public emacs-undohist-el
5905 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5906 (revision "1"))
5907 (package
5908 (name "emacs-undohist-el")
5909 (version (git-version "0" revision commit))
5910 (source
5911 (origin
5912 (method git-fetch)
5913 (uri (git-reference
5914 (url "https://github.com/m2ym/undohist-el")
5915 (commit commit)))
5916 (file-name (git-file-name name version))
5917 (sha256
5918 (base32
5919 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5920 (patches
5921 (search-patches "emacs-undohist-ignored.patch"))))
5922 (build-system emacs-build-system)
5923 (home-page "https://github.com/m2ym/undohist-el")
5924 (synopsis "Save undo history between sessions")
5925 (description "This package allows persistent use of undo history for
5926 individual file buffers.")
5927 (license license:gpl3+))))
5928
5929 (define-public emacs-eprime
5930 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5931 (package
5932 (name "emacs-eprime")
5933 (version (string-append "20140513-" (string-take commit 7)))
5934 (source (origin
5935 (method url-fetch)
5936 (uri (string-append "https://raw.githubusercontent.com"
5937 "/AndrewHynes/eprime-mode/"
5938 commit "/eprime-mode.el"))
5939 (file-name (string-append "eprime-" version ".el"))
5940 (sha256
5941 (base32
5942 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5943 (build-system emacs-build-system)
5944 (home-page "https://github.com/AndrewHynes/eprime-mode")
5945 (synopsis "E-prime checking mode for Emacs")
5946 (description "This package provides an E-prime checking mode for Emacs
5947 that highlights non-conforming text. The subset of the English language called
5948 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5949 (license license:gpl3+))))
5950
5951 (define-public emacs-julia-mode
5952 ;; XXX: Upstream version remained stuck at 0.3. See
5953 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5954 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5955 (revision "1"))
5956 (package
5957 (name "emacs-julia-mode")
5958 (version (string-append "0.3-" revision "." (string-take commit 8)))
5959 (source
5960 (origin
5961 (method git-fetch)
5962 (uri (git-reference
5963 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5964 (commit commit)))
5965 (file-name (git-file-name name version))
5966 (sha256
5967 (base32
5968 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5969 (build-system emacs-build-system)
5970 (arguments
5971 `(#:tests? #t
5972 #:test-command '("emacs" "--batch"
5973 "-l" "julia-mode-tests.el"
5974 "-f" "ert-run-tests-batch-and-exit")))
5975 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5976 (synopsis "Major mode for Julia")
5977 (description "This Emacs package provides a mode for the Julia
5978 programming language.")
5979 (license license:expat))))
5980
5981 (define-public emacs-smex
5982 (package
5983 (name "emacs-smex")
5984 (version "3.0")
5985 (source (origin
5986 (method url-fetch)
5987 (uri (string-append "https://raw.githubusercontent.com"
5988 "/nonsequitur/smex/" version "/smex.el"))
5989 (file-name (string-append "smex-" version ".el"))
5990 (sha256
5991 (base32
5992 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5993 (build-system emacs-build-system)
5994 (home-page "https://github.com/nonsequitur/smex/")
5995 (synopsis "M-x interface with Ido-style fuzzy matching")
5996 (description
5997 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5998 convenient interface to your recently and most frequently used commands. And
5999 to all the other commands, too.")
6000 (license license:gpl3+)))
6001
6002 (define-public emacs-js2-mode
6003 (package
6004 (name "emacs-js2-mode")
6005 (version "20190219")
6006 (source
6007 (origin
6008 (method git-fetch)
6009 (uri (git-reference
6010 (url "https://github.com/mooz/js2-mode.git")
6011 (commit version)))
6012 (file-name (git-file-name name version))
6013 (sha256
6014 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6015 (build-system emacs-build-system)
6016 (arguments
6017 `(#:tests? #t
6018 #:test-command '("make" "test")))
6019 (home-page "https://github.com/mooz/js2-mode/")
6020 (synopsis "Improved JavaScript editing mode for Emacs")
6021 (description
6022 "Js2-mode provides a JavaScript major mode for Emacs that is more
6023 advanced than the built-in javascript-mode. Features include accurate syntax
6024 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6025 errors and strict-mode warnings, smart line-wrapping within comments and
6026 strings, and code folding.")
6027 (license license:gpl3+)))
6028
6029 (define-public emacs-nodejs-repl
6030 (package
6031 (name "emacs-nodejs-repl")
6032 (version "0.2.2")
6033 (source (origin
6034 (method git-fetch)
6035 (uri (git-reference
6036 (url "https://github.com/abicky/nodejs-repl.el")
6037 (commit version)))
6038 (file-name (git-file-name name version))
6039 (sha256
6040 (base32
6041 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6042 (build-system emacs-build-system)
6043 (inputs
6044 `(("node" ,node)))
6045 (native-inputs
6046 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6047 (arguments
6048 `(#:phases
6049 (modify-phases %standard-phases
6050 (add-after 'unpack 'set-shell
6051 ;; Setting the SHELL environment variable is required for the tests
6052 ;; to find sh.
6053 (lambda _
6054 (setenv "SHELL" (which "sh"))
6055 #t))
6056 (add-after 'unpack 'configure
6057 (lambda* (#:key inputs outputs #:allow-other-keys)
6058 (let ((node (assoc-ref inputs "node")))
6059 ;; Specify the absolute file names of the various
6060 ;; programs so that everything works out-of-the-box.
6061 (make-file-writable "nodejs-repl.el")
6062 (emacs-substitute-variables
6063 "nodejs-repl.el"
6064 ("nodejs-repl-command"
6065 (string-append node "/bin/node")))))))
6066 #:tests? #t
6067 #:test-command '("emacs" "-Q" "--batch"
6068 "-L" "."
6069 "-l" "test/test.el"
6070 "-f" "ert-run-tests-batch-and-exit")))
6071 (home-page "https://github.com/abicky/nodejs-repl.el")
6072 (synopsis "Node.js REPL inside Emacs")
6073 (description
6074 "This program is derived from comint-mode and provides the following
6075 features:
6076
6077 @itemize
6078 @item TAB completion same as Node.js REPL
6079 @item file name completion in string
6080 @item incremental history search
6081 @end itemize")
6082 (license license:gpl3+)))
6083
6084 (define-public emacs-typescript-mode
6085 (package
6086 (name "emacs-typescript-mode")
6087 (version "0.3")
6088 (source (origin
6089 (method git-fetch)
6090 (uri (git-reference
6091 (url "https://github.com/ananthakumaran/typescript.el")
6092 (commit (string-append "v" version))))
6093 (file-name (git-file-name name version))
6094 (sha256
6095 (base32
6096 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6097 (build-system emacs-build-system)
6098 (home-page "https://github.com/ananthakumaran/typescript.el")
6099 (synopsis "Emacs major mode for editing Typescript code")
6100 (description
6101 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6102 This is much more robust and works with @code{cc-mode}'s comment
6103 filling (mostly). The modifications to the original @code{javascript.el} mode
6104 mainly consisted in replacing \"javascript\" with \"typescript\"
6105
6106 The main features of this Typescript mode are syntactic highlighting (enabled
6107 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6108 indentation and filling of comments and C preprocessor fontification.")
6109 (license license:gpl3+)))
6110
6111 (define-public emacs-tide
6112 (package
6113 (name "emacs-tide")
6114 (version "3.2.3")
6115 (source (origin
6116 (method git-fetch)
6117 (uri (git-reference
6118 (url "https://github.com/ananthakumaran/tide")
6119 (commit (string-append "v" version))))
6120 (file-name (git-file-name name version))
6121 (sha256
6122 (base32
6123 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6124 (build-system emacs-build-system)
6125 (propagated-inputs
6126 `(("emacs-dash" ,emacs-dash)
6127 ("emacs-s" ,emacs-s)
6128 ("emacs-flycheck" ,emacs-flycheck)
6129 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6130 (home-page "https://github.com/ananthakumaran/tide")
6131 (synopsis "Typescript IDE for Emacs")
6132 (description
6133 "Tide is an Interactive Development Environment (IDE) for Emacs which
6134 provides the following features:
6135
6136 @itemize
6137 @item ElDoc
6138 @item Auto complete
6139 @item Flycheck
6140 @item Jump to definition, Jump to type definition
6141 @item Find occurrences
6142 @item Rename symbol
6143 @item Imenu
6144 @item Compile On Save
6145 @item Highlight Identifiers
6146 @item Code Fixes
6147 @item Code Refactor
6148 @item Organize Imports
6149 @end itemize")
6150 (license license:gpl3+)))
6151
6152 (define-public emacs-markdown-mode
6153 (package
6154 (name "emacs-markdown-mode")
6155 (version "2.3")
6156 (source (origin
6157 (method git-fetch)
6158 (uri (git-reference
6159 (url "https://github.com/jrblevin/markdown-mode.git")
6160 (commit (string-append "v" version))))
6161 (file-name (git-file-name name version))
6162 (sha256
6163 (base32
6164 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
6165 (build-system emacs-build-system)
6166 (home-page "http://jblevins.org/projects/markdown-mode/")
6167 (synopsis "Emacs Major mode for Markdown files")
6168 (description
6169 "Markdown-mode is a major mode for editing Markdown-formatted text files
6170 in Emacs.")
6171 (license license:gpl3+)))
6172
6173 (define-public emacs-evil-markdown
6174 (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d")
6175 (revision "1"))
6176 (package
6177 (name "emacs-evil-markdown")
6178 (version (git-version "0.0.2" revision commit))
6179 (source (origin
6180 (method git-fetch)
6181 (uri (git-reference
6182 (url "https://github.com/Somelauw/evil-markdown.git")
6183 (commit commit)))
6184 (file-name (git-file-name name version))
6185 (sha256
6186 (base32
6187 "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"))))
6188 (build-system emacs-build-system)
6189 (propagated-inputs
6190 `(("emacs-markdown-mode" ,emacs-markdown-mode)
6191 ("emacs-evil" ,emacs-evil)))
6192 (home-page "http://jblevins.org/projects/evil-markdown/")
6193 (synopsis "Evil keybindings for @code{markdown-mode}")
6194 (description
6195 "This package provides custom text objects and bindings for
6196 @code{markdown-mode}.")
6197 (license license:gpl3+))))
6198
6199 (define-public emacs-edit-indirect
6200 (package
6201 (name "emacs-edit-indirect")
6202 (version "0.1.5")
6203 (source
6204 (origin
6205 (method git-fetch)
6206 (uri (git-reference
6207 (url "https://github.com/Fanael/edit-indirect")
6208 (commit version)))
6209 (file-name (git-file-name name version))
6210 (sha256
6211 (base32
6212 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
6213 (build-system emacs-build-system)
6214 (home-page "https://github.com/Fanael/edit-indirect")
6215 (synopsis "Edit regions in separate buffers")
6216 (description "This package allows you to edit regions in separate buffers,
6217 like @code{org-edit-src-code} but for arbitrary regions.")
6218 (license license:gpl3+)))
6219
6220 (define-public emacs-projectile
6221 (package
6222 (name "emacs-projectile")
6223 (version "2.0.0")
6224 (source (origin
6225 (method url-fetch)
6226 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
6227 "/projectile/v" version "/projectile.el"))
6228 (file-name (string-append "projectile-" version ".el"))
6229 (sha256
6230 (base32
6231 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
6232 (build-system emacs-build-system)
6233 (propagated-inputs
6234 `(("emacs-dash" ,emacs-dash)
6235 ("emacs-pkg-info" ,emacs-pkg-info)))
6236 (home-page "https://github.com/bbatsov/projectile")
6237 (synopsis "Manage and navigate projects in Emacs easily")
6238 (description
6239 "This library provides easy project management and navigation. The
6240 concept of a project is pretty basic - just a folder containing special file.
6241 Currently git, mercurial and bazaar repos are considered projects by default.
6242 If you want to mark a folder manually as a project just create an empty
6243 .projectile file in it.")
6244 (license license:gpl3+)))
6245
6246 (define-public emacs-skeletor
6247 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6248 (revision "1"))
6249 (package
6250 (name "emacs-skeletor")
6251 (version (git-version "1.6.1" revision commit))
6252 (source (origin
6253 (method git-fetch)
6254 (uri (git-reference
6255 (url "https://github.com/chrisbarrett/skeletor.el.git")
6256 (commit commit)))
6257 (file-name (git-file-name name version))
6258 (sha256
6259 (base32
6260 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6261 (build-system emacs-build-system)
6262 (propagated-inputs
6263 `(("emacs-s" ,emacs-s)
6264 ("emacs-f" ,emacs-f)
6265 ("emacs-dash" ,emacs-dash)
6266 ("emacs-let-alist" ,emacs-let-alist)))
6267 (native-inputs
6268 `(("emacs-ert-runner" ,emacs-ert-runner)))
6269 (arguments
6270 `(#:include (cons "^project-skeletons\\/" %default-include)
6271 ;; XXX: one failing test involving initializing a git repo
6272 #:phases
6273 (modify-phases %standard-phases
6274 (add-before 'check 'make-test-writable
6275 (lambda _
6276 (make-file-writable "test/skeletor-test.el")
6277 #t))
6278 (add-before 'check 'remove-git-test
6279 (lambda _
6280 (emacs-batch-edit-file "test/skeletor-test.el"
6281 `(progn
6282 (progn
6283 (goto-char (point-min))
6284 (re-search-forward
6285 "ert-deftest initialises-git-repo")
6286 (beginning-of-line)
6287 (kill-sexp))
6288 (basic-save-buffer)))
6289 #t)))
6290 #:tests? #t
6291 #:test-command '("ert-runner")))
6292 (home-page "https://github.com/chrisbarrett/skeletor.el")
6293 (synopsis "Project skeletons for Emacs")
6294 (description "This package provides project templates and automates the
6295 mundane parts of setting up a new project, such as version control, licenses,
6296 and tooling.")
6297 (license license:gpl3+))))
6298
6299 (define-public emacs-elfeed
6300 (package
6301 (name "emacs-elfeed")
6302 (version "3.2.0")
6303 (source
6304 (origin
6305 (method git-fetch)
6306 (uri (git-reference
6307 (url "https://github.com/skeeto/elfeed.git")
6308 (commit version)))
6309 (file-name (git-file-name name version))
6310 (sha256
6311 (base32 "0m0a35210pb4yf6m8mzaq6nkl9x6fphjjqyl3dzygnmmzxkc8aw2"))))
6312 (build-system emacs-build-system)
6313 (arguments
6314 `(#:tests? #t
6315 #:test-command '("make" "test")))
6316 (home-page "https://github.com/skeeto/elfeed")
6317 (synopsis "Atom/RSS feed reader for Emacs")
6318 (description
6319 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6320 and RSS, with a user interface inspired by notmuch.")
6321 (license license:gpl3+)))
6322
6323 (define-public emacs-elfeed-org
6324 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6325 (package
6326 (name "emacs-elfeed-org")
6327 (version (git-version "0.1" "1" commit))
6328 (source
6329 (origin
6330 (method git-fetch)
6331 (uri (git-reference
6332 (url "https://github.com/remyhonig/elfeed-org.git")
6333 (commit commit)))
6334 (file-name (git-file-name name version))
6335 (sha256
6336 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6337 (build-system emacs-build-system)
6338 (propagated-inputs
6339 `(("emacs-elfeed" ,emacs-elfeed)
6340 ("emacs-org" ,emacs-org)
6341 ("emacs-dash" ,emacs-dash)
6342 ("emacs-s" ,emacs-s)))
6343 (native-inputs
6344 `(("ert-runner" ,emacs-ert-runner)
6345 ("emacs-xtest" ,emacs-xtest)))
6346 (arguments
6347 `(#:tests? #t
6348 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6349 #:phases
6350 (modify-phases %standard-phases
6351 (add-before 'check 'chmod
6352 (lambda _
6353 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6354 #t)))))
6355 (home-page "https://github.com/remyhonig/elfeed-org")
6356 (synopsis "Configure Elfeed with an Org-mode file")
6357 (description
6358 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6359 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6360 the regular flat list, where there is no hierarchy and tag names are
6361 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6362 much easier.")
6363 (license license:gpl3+))))
6364
6365 (define-public emacs-el-x
6366 (package
6367 (name "emacs-el-x")
6368 (version "0.3.1")
6369 (source (origin
6370 (method git-fetch)
6371 (uri (git-reference
6372 (url "https://github.com/sigma/el-x.git")
6373 (commit (string-append "v" version))))
6374 (file-name (git-file-name name version))
6375 (sha256
6376 (base32
6377 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6378 (build-system emacs-build-system)
6379 (arguments
6380 `(#:phases
6381 (modify-phases %standard-phases
6382 ;; Move the source files to the top level, which is included in
6383 ;; the EMACSLOADPATH.
6384 (add-after 'unpack 'move-source-files
6385 (lambda _
6386 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6387 (for-each (lambda (f)
6388 (rename-file f (basename f)))
6389 el-files))
6390 #t)))))
6391 (home-page "https://github.com/sigma/el-x")
6392 (synopsis "Emacs Lisp extensions")
6393 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6394 provide the historic behavior of @code{flet}, as well as
6395 @code{declare-function} stub for older Emacs.")
6396 (license license:gpl2+)))
6397
6398 (define-public emacs-mocker
6399 (package
6400 (name "emacs-mocker")
6401 (version "0.3.1")
6402 (source (origin
6403 (method git-fetch)
6404 (uri (git-reference
6405 (url "https://github.com/sigma/mocker.el.git")
6406 (commit (string-append "v" version))))
6407 (file-name (git-file-name name version))
6408 (sha256
6409 (base32
6410 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6411 (build-system emacs-build-system)
6412 (arguments
6413 `(#:tests? #t
6414 #:test-command '("ert-runner")))
6415 (native-inputs
6416 `(("ert-runner" ,emacs-ert-runner)))
6417 (propagated-inputs
6418 `(("emacs-el-x" ,emacs-el-x)))
6419 (home-page "https://github.com/sigma/mocker.el")
6420 (synopsis "Mocking framework for Emacs Lisp")
6421 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6422 It uses regular Lisp rather than a domain specific language (DSL), which
6423 maximizes flexibility (at the expense of conciseness).")
6424 (license license:gpl2+)))
6425
6426 (define-public emacs-find-file-in-project
6427 (package
6428 (name "emacs-find-file-in-project")
6429 (version "5.4.7")
6430 (source (origin
6431 (method git-fetch)
6432 (uri (git-reference
6433 (url "https://github.com/technomancy/find-file-in-project.git")
6434 (commit version)))
6435 (file-name (git-file-name name version))
6436 (sha256
6437 (base32
6438 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
6439 (build-system emacs-build-system)
6440 (arguments
6441 `(#:phases
6442 (modify-phases %standard-phases
6443 (add-before 'check 'set-shell
6444 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
6445 ;; work.
6446 (lambda _
6447 (setenv "SHELL" (which "sh"))
6448 #t)))
6449 #:tests? #t
6450 #:test-command '("./tests/test.sh")))
6451 (home-page "https://github.com/technomancy/find-file-in-project")
6452 (synopsis "File/directory finder for Emacs")
6453 (description "@code{find-file-in-project} allows to find files or
6454 directories quickly in the current project. The project root is detected
6455 automatically when Git, Subversion or Mercurial are used. It also provides
6456 functions to assist in reviewing changes on files.")
6457 (license license:gpl3+)))
6458
6459 (define-public emacs-pyvenv
6460 (package
6461 (name "emacs-pyvenv")
6462 (version "1.20")
6463 (source (origin
6464 (method git-fetch)
6465 (uri (git-reference
6466 (url "https://github.com/jorgenschaefer/pyvenv.git")
6467 (commit (string-append "v" version))))
6468 (file-name (git-file-name name version))
6469 (sha256
6470 (base32
6471 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
6472 (build-system emacs-build-system)
6473 (arguments
6474 `(#:phases
6475 (modify-phases %standard-phases
6476 ;; This phase incorrectly attempts to substitute "activate" and fails
6477 ;; doing so.
6478 (delete 'patch-el-files))
6479 #:tests? #t
6480 #:test-command '("ert-runner")))
6481 (native-inputs
6482 `(("ert-runner" ,emacs-ert-runner)
6483 ("emacs-mocker" ,emacs-mocker)))
6484 (home-page "https://github.com/jorgenschaefer/pyvenv")
6485 (synopsis "Python virtual environment interface for Emacs")
6486 (description "pyvenv.el is a minor mode to support using Python virtual
6487 environments (virtualenv) inside Emacs.")
6488 (license license:gpl3+)))
6489
6490 (define-public emacs-highlight-indentation
6491 ;; Last release version is from 2015.
6492 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6493 (revision "1"))
6494 (package
6495 (name "emacs-highlight-indentation")
6496 (version (git-version "0.7.0" revision commit))
6497 (source
6498 (origin
6499 (method git-fetch)
6500 (uri (git-reference
6501 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6502 (commit commit)))
6503 (file-name (git-file-name name version))
6504 (sha256
6505 (base32
6506 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6507 (build-system emacs-build-system)
6508 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6509 (synopsis "Highlighting indentation for Emacs")
6510 (description "This package provides two minor modes to highlight
6511 indentation guides in Emacs:
6512
6513 @enumerate
6514 @item @code{highlight-indentation-mode}, which displays guidelines
6515 indentation (space indentation only).
6516 @item @code{highlight-indentation-current-column-mode}, which displays
6517 guidelines for the current-point indentation (space indentation only).
6518 @end enumerate")
6519 (license license:gpl2+))))
6520
6521 (define-public emacs-elpy
6522 (package
6523 (name "emacs-elpy")
6524 (version "1.31.0")
6525 (source (origin
6526 (method git-fetch)
6527 (uri (git-reference
6528 (url "https://github.com/jorgenschaefer/elpy.git")
6529 (commit version)))
6530 (file-name (git-file-name name version))
6531 (sha256
6532 (base32
6533 "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
6534 (build-system emacs-build-system)
6535 (arguments
6536 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6537 #:phases
6538 ;; TODO: Make `elpy-config' display Guix commands :)
6539 (modify-phases %standard-phases
6540 ;; One elpy test depends on being run inside a Python virtual
6541 ;; environment to pass. We have nothing to gain from doing so here,
6542 ;; so we just trick Elpy into thinking we are (see:
6543 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
6544 (add-before 'check 'fake-virtualenv
6545 (lambda _
6546 (setenv "VIRTUAL_ENV" "/tmp")
6547 #t))
6548 (add-before 'check 'build-doc
6549 (lambda _
6550 (with-directory-excursion "docs"
6551 (invoke "make" "info" "man"))
6552 ;; Move .info file at the root so that it can installed by the
6553 ;; 'move-doc phase.
6554 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6555 #t))
6556 (add-after 'build-doc 'install-manpage
6557 (lambda* (#:key outputs #:allow-other-keys)
6558 (let* ((out (assoc-ref outputs "out"))
6559 (man1 (string-append out "/share/man/man1")))
6560 (mkdir-p man1)
6561 (copy-file "docs/_build/man/elpy.1"
6562 (string-append man1 "/elpy.1")))
6563 #t)))
6564 #:tests? #t
6565 #:test-command '("ert-runner")))
6566 (propagated-inputs
6567 `(("emacs-company" ,emacs-company)
6568 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6569 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6570 ("emacs-yasnippet" ,emacs-yasnippet)
6571 ("pyvenv" ,emacs-pyvenv)
6572 ("s" ,emacs-s)))
6573 (native-inputs
6574 `(("ert-runner" ,emacs-ert-runner)
6575 ("emacs-f" ,emacs-f)
6576 ("python" ,python-wrapper)
6577 ("python-autopep8" ,python-autopep8)
6578 ("python-black" ,python-black)
6579 ("python-flake8" ,python-flake8)
6580 ("python-jedi" ,python-jedi)
6581 ("python-yapf" ,python-yapf)
6582 ;; For documentation.
6583 ("python-sphinx" ,python-sphinx)
6584 ("texinfo" ,texinfo)))
6585 (home-page "https://github.com/jorgenschaefer/elpy")
6586 (synopsis "Python development environment for Emacs")
6587 (description "Elpy brings powerful Python editing to Emacs. It combines
6588 and configures a number of other packages written in Emacs Lisp as well as
6589 Python, together offering features such as navigation, documentation,
6590 completion, interactive development and more.")
6591 (license license:gpl3+)))
6592
6593 (define-public emacs-rainbow-delimiters
6594 (package
6595 (name "emacs-rainbow-delimiters")
6596 (version "2.1.3")
6597 (source (origin
6598 (method git-fetch)
6599 (uri (git-reference
6600 (url "https://github.com/Fanael/rainbow-delimiters.git")
6601 (commit version)))
6602 (file-name (git-file-name name version))
6603 (sha256
6604 (base32
6605 "0vs9pf8lqq5p5qz1770pxgw47ym4xj8axxmwamn66br59mykdhv0"))))
6606 (build-system emacs-build-system)
6607 (home-page "https://github.com/Fanael/rainbow-delimiters")
6608 (arguments
6609 `(#:tests? #t
6610 #:test-command '("emacs" "-Q" "-batch"
6611 "-l" "rainbow-delimiters-test.el"
6612 "-f" "ert-run-tests-batch-and-exit")))
6613 (synopsis "Highlight brackets according to their depth")
6614 (description
6615 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6616 highlights parentheses, brackets, and braces according to their depth. Each
6617 successive level is highlighted in a different color, making it easy to spot
6618 matching delimiters, orient yourself in the code, and tell which statements
6619 are at a given level.")
6620 (license license:gpl3+)))
6621
6622 (define-public emacs-rainbow-identifiers
6623 (package
6624 (name "emacs-rainbow-identifiers")
6625 (version "0.2.2")
6626 (source (origin
6627 (method url-fetch)
6628 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6629 "/rainbow-identifiers/" version
6630 "/rainbow-identifiers.el"))
6631 (file-name (string-append "rainbow-identifiers-" version ".el"))
6632 (sha256
6633 (base32
6634 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6635 (build-system emacs-build-system)
6636 (home-page "https://github.com/Fanael/rainbow-identifiers")
6637 (synopsis "Highlight identifiers in source code")
6638 (description
6639 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6640 identifiers based on their names. Each identifier gets a color based on a hash
6641 of its name.")
6642 (license license:bsd-2)))
6643
6644 (define-public emacs-rainbow-mode
6645 (package
6646 (name "emacs-rainbow-mode")
6647 (version "1.0.1")
6648 (source (origin
6649 (method url-fetch)
6650 (uri (string-append
6651 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6652 (sha256
6653 (base32
6654 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
6655 (build-system emacs-build-system)
6656 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
6657 (synopsis "Colorize color names in buffers")
6658 (description
6659 "This minor mode sets background color to strings that match color
6660 names, e.g. #0000ff is displayed in white with a blue background.")
6661 (license license:gpl3+)))
6662
6663 (define-public emacs-visual-fill-column
6664 (package
6665 (name "emacs-visual-fill-column")
6666 (version "1.11")
6667 (source (origin
6668 (method url-fetch)
6669 (uri (string-append "https://codeload.github.com/joostkremers/"
6670 "visual-fill-column/tar.gz/" version))
6671 (file-name (string-append name "-" version ".tar.gz"))
6672 (sha256
6673 (base32
6674 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6675 (build-system emacs-build-system)
6676 (home-page "https://github.com/joostkremers/visual-fill-column")
6677 (synopsis "Fill-column for visual-line-mode")
6678 (description
6679 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6680 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6681 wrapping lines at the window edge, which is the standard behaviour of
6682 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6683 @code{fill-column} is too large for the window, the text is wrapped at the
6684 window edge.")
6685 (license license:gpl3+)))
6686
6687 (define-public emacs-writeroom
6688 (package
6689 (name "emacs-writeroom")
6690 (version "3.7")
6691 (source
6692 (origin
6693 (method git-fetch)
6694 (uri (git-reference
6695 (url "https://github.com/joostkremers/writeroom-mode.git")
6696 (commit version)))
6697 (file-name (git-file-name name version))
6698 (sha256
6699 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
6700 (build-system emacs-build-system)
6701 (propagated-inputs
6702 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6703 (home-page "https://github.com/joostkremers/writeroom-mode")
6704 (synopsis "Distraction-free writing for Emacs")
6705 (description
6706 "This package defines a minor mode for distraction-free writing. Some of
6707 the default effects include entering fullscreen, deleting other windows of the
6708 current frame, disabling the mode line, and adding margins to the buffer that
6709 restrict the text width to 80 characters.")
6710 (license license:bsd-3)))
6711
6712 (define-public emacs-ido-completing-read+
6713 (package
6714 (name "emacs-ido-completing-read+")
6715 (version "3.12")
6716 (source (origin
6717 (method url-fetch)
6718 (uri (string-append "https://raw.githubusercontent.com"
6719 "/DarwinAwardWinner/ido-ubiquitous/v"
6720 version "/ido-completing-read+.el"))
6721 (file-name (string-append "ido-completing-read+-" version ".el"))
6722 (sha256
6723 (base32
6724 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6725 (build-system emacs-build-system)
6726 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6727 (synopsis "Replacement for completing-read using ido")
6728 (description
6729 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6730 Importantly, it detects edge cases that ordinary ido cannot handle and either
6731 adjusts them so ido can handle them, or else simply falls back to the standard
6732 Emacs completion function instead.")
6733 (license license:gpl3+)))
6734
6735 (define-public emacs-ido-ubiquitous
6736 (package
6737 (name "emacs-ido-ubiquitous")
6738 (version "3.12")
6739 (source (origin
6740 (method url-fetch)
6741 (uri (string-append "https://raw.githubusercontent.com"
6742 "/DarwinAwardWinner/ido-ubiquitous/v"
6743 version "/ido-ubiquitous.el"))
6744 (file-name (string-append "ido-ubiquitous-" version ".el"))
6745 (sha256
6746 (base32
6747 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6748 (build-system emacs-build-system)
6749 (propagated-inputs
6750 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6751 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6752 (synopsis "Use ido (nearly) everywhere")
6753 (description
6754 "Ido-ubiquitous enables ido-style completion for almost every function
6755 that uses the standard completion function completing-read.")
6756 (license license:gpl3+)))
6757
6758 (define-public emacs-yaml-mode
6759 (package
6760 (name "emacs-yaml-mode")
6761 (version "0.0.14")
6762 (source (origin
6763 (method git-fetch)
6764 (uri (git-reference
6765 (url "https://github.com/yoshiki/yaml-mode.git")
6766 (commit version)))
6767 (file-name (git-file-name name version))
6768 (sha256
6769 (base32
6770 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
6771 (build-system emacs-build-system)
6772 (home-page "https://github.com/yoshiki/yaml-mode")
6773 (synopsis "Major mode for editing YAML files")
6774 (description
6775 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6776 serialization format. It was initially developed by Yoshiki Kurihara and many
6777 features were added by Marshall Vandegrift. As YAML and Python share the fact
6778 that indentation determines structure, this mode provides indentation and
6779 indentation command behavior very similar to that of python-mode.")
6780 (license license:gpl3+)))
6781
6782 (define-public emacs-gitlab-ci-mode
6783 (package
6784 (name "emacs-gitlab-ci-mode")
6785 (version "20190425.11.10")
6786 (source (origin
6787 (method git-fetch)
6788 (uri (git-reference
6789 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6790 (commit (string-append "v" version))))
6791 (file-name (git-file-name name version))
6792 (sha256
6793 (base32
6794 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6795 (build-system emacs-build-system)
6796 (propagated-inputs
6797 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6798 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6799 (synopsis "Emacs mode for editing GitLab CI files")
6800 (description
6801 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6802 files. It provides syntax highlighting and completion for keywords and
6803 special variables. An interface to GitLab’s CI file linter is also provided
6804 via @code{gitlab-ci-lint}.")
6805 (license license:gpl3+)))
6806
6807 (define-public emacs-web-mode
6808 (package
6809 (name "emacs-web-mode")
6810 (version "16")
6811 (source (origin
6812 (method git-fetch)
6813 (uri (git-reference
6814 (url "https://github.com/fxbois/web-mode.git")
6815 (commit (string-append "v" version))))
6816 (file-name (git-file-name name version))
6817 (sha256
6818 (base32
6819 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
6820 (build-system emacs-build-system)
6821 (synopsis "Major mode for editing web templates")
6822 (description "Web-mode is an Emacs major mode for editing web templates
6823 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6824 client/server side engines). Web-mode is compatible with many template
6825 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6826 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6827 Dust.js, React/JSX, Angularjs, ejs, etc.")
6828 (home-page "http://web-mode.org/")
6829 (license license:gpl3+)))
6830
6831 (define-public emacs-wgrep
6832 ;; Tag is missing, so we use the commit directly.
6833 ;; https://github.com/mhayashi1120/Emacs-wgrep/issues/64
6834 (let ((commit "379afd89ebd76f63842c8589127d66096a8bb595"))
6835 (package
6836 (name "emacs-wgrep")
6837 (version "2.3.1")
6838 (source (origin
6839 (method git-fetch)
6840 (uri (git-reference
6841 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6842 (commit commit)))
6843 (file-name (git-file-name name version))
6844 (sha256
6845 (base32
6846 "0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47"))))
6847 (build-system emacs-build-system)
6848 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6849 (synopsis "Edit a grep buffer and apply those changes to the files")
6850 (description
6851 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6852 to the file buffer. Several backends are supported beside the classic grep:
6853 ack, ag, helm and pt.")
6854 (license license:gpl3+))))
6855
6856 (define-public emacs-helm
6857 (package
6858 (name "emacs-helm")
6859 (version "3.5.0")
6860 (source
6861 (origin
6862 (method git-fetch)
6863 (uri (git-reference
6864 (url "https://github.com/emacs-helm/helm.git")
6865 (commit (string-append "v" version))))
6866 (file-name (git-file-name name version))
6867 (sha256
6868 (base32 "07bijcnfkv60l3swasxv53x32l6glds05mxnbb3xbnmkgm1pm9if"))))
6869 (build-system emacs-build-system)
6870 (propagated-inputs
6871 `(("emacs-async" ,emacs-async)
6872 ("emacs-popup" ,emacs-popup)))
6873 (home-page "https://emacs-helm.github.io/helm/")
6874 (synopsis "Incremental completion and selection narrowing
6875 framework for Emacs")
6876 (description "Helm is incremental completion and selection narrowing
6877 framework for Emacs. It will help steer you in the right direction when
6878 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6879 of @code{anything.el} originally written by Tamas Patrovic and can be
6880 considered to be its successor. Helm sets out to clean up the legacy code in
6881 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6882 not tied in the trap of backward compatibility.")
6883 (license license:gpl3+)))
6884
6885 (define-public emacs-helm-org
6886 (let ((commit "542dda7bc9a3b9dfb439e4f8a1e5f60cfb6cc256")
6887 (revision "1"))
6888 (package
6889 (name "emacs-helm-org")
6890 (version (git-version "1.0" revision commit))
6891 (source
6892 (origin
6893 (method git-fetch)
6894 (uri (git-reference
6895 (url "https://github.com/emacs-helm/helm-org.git")
6896 (commit commit)))
6897 (file-name (git-file-name name version))
6898 (sha256
6899 (base32 "1xa32w80icrykpyfb89fhb0s4l7ysi0sc7f7lfwqz5najwbgqipl"))))
6900 (build-system emacs-build-system)
6901 (propagated-inputs
6902 `(("emacs-helm" ,emacs-helm)))
6903 (home-page "https://github.com/emacs-helm/helm-org")
6904 (synopsis "Helm interface to the Silver Searcher")
6905 (description
6906 "This package provides a frontend for grepping tools like ag and ack,
6907 as well as features for editing search results.")
6908 (license license:gpl3+))))
6909
6910 (define-public emacs-helm-swoop
6911 (package
6912 (name "emacs-helm-swoop")
6913 (version "2.0.0")
6914 (source
6915 (origin
6916 (method git-fetch)
6917 (uri (git-reference
6918 (url "https://github.com/emacsorphanage/helm-swoop.git")
6919 (commit version)))
6920 (file-name (git-file-name name version))
6921 (sha256
6922 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
6923 (build-system emacs-build-system)
6924 (propagated-inputs
6925 `(("emacs-helm" ,emacs-helm)))
6926 (home-page "https://github.com/emacsorphanage/helm-swoop")
6927 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
6928 (description
6929 "This package builds on the Helm interface to provide several commands
6930 for search-based navigation of buffers.")
6931 (license license:gpl2+)))
6932
6933 (define-public emacs-helm-ag
6934 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
6935 (revision "1"))
6936 (package
6937 (name "emacs-helm-ag")
6938 (version (git-version "0.58" revision commit))
6939 (source
6940 (origin
6941 (method git-fetch)
6942 (uri (git-reference
6943 (url "https://github.com/syohex/emacs-helm-ag.git")
6944 (commit commit)))
6945 (file-name (git-file-name name version))
6946 (sha256
6947 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
6948 (build-system emacs-build-system)
6949 (propagated-inputs
6950 `(("emacs-helm" ,emacs-helm)))
6951 (home-page "https://github.com/syohex/emacs-helm-ag")
6952 (synopsis "Helm interface to the Silver Searcher")
6953 (description
6954 "This package provides a frontend for grepping tools like ag and ack,
6955 as well as features for editing search results.")
6956 (license license:gpl3+))))
6957
6958 (define-public emacs-helm-projectile
6959 (package
6960 (name "emacs-helm-projectile")
6961 (version "0.14.0")
6962 (source
6963 (origin
6964 (method git-fetch)
6965 (uri (git-reference
6966 (url "https://github.com/bbatsov/helm-projectile.git")
6967 (commit (string-append "v" version))))
6968 (file-name (git-file-name name version))
6969 (sha256
6970 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
6971 (build-system emacs-build-system)
6972 (propagated-inputs
6973 `(("emacs-dash" ,emacs-dash)
6974 ("emacs-helm" ,emacs-helm)
6975 ("emacs-projectile" ,emacs-projectile)))
6976 (home-page "https://github.com/bbatsov/helm-projectile")
6977 (synopsis "Helm integration for Projectile")
6978 (description
6979 "This Emacs library provides a Helm interface for Projectile.")
6980 (license license:gpl3+)))
6981
6982 (define-public emacs-taskrunner
6983 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
6984 (revision "1"))
6985 (package
6986 (name "emacs-taskrunner")
6987 (version (git-version "0.6" revision commit))
6988 (source
6989 (origin
6990 (method git-fetch)
6991 (uri (git-reference
6992 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
6993 (commit commit)))
6994 (file-name (git-file-name name version))
6995 (sha256
6996 (base32
6997 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
6998 (build-system emacs-build-system)
6999 (propagated-inputs
7000 `(("emacs-async" ,emacs-async)
7001 ("emacs-projectile" ,emacs-projectile)))
7002 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7003 (synopsis "Retrieve tasks from various build systems and task-runners")
7004 (description "This package parses Makefiles and build-system files for
7005 multiple project types.")
7006 (license license:gpl3+))))
7007
7008 (define-public emacs-ivy-taskrunner
7009 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7010 (revision "1"))
7011 (package
7012 (name "emacs-ivy-taskrunner")
7013 (version (git-version "0.9" revision commit))
7014 (source
7015 (origin
7016 (method git-fetch)
7017 (uri (git-reference
7018 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7019 (commit commit)))
7020 (file-name (git-file-name name version))
7021 (sha256
7022 (base32
7023 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7024 (build-system emacs-build-system)
7025 (propagated-inputs
7026 `(("emacs-ivy" ,emacs-ivy)
7027 ("emacs-taskrunner" ,emacs-taskrunner)
7028 ("emacs-projectile" ,emacs-projectile)))
7029 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7030 (synopsis "Retrieve build-system tasks using Ivy")
7031 (description "This package provides an Ivy interface for selecting
7032 Makefile targets.")
7033 (license license:gpl3+))))
7034
7035 (define-public emacs-helm-taskrunner
7036 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7037 (revision "1"))
7038 (package
7039 (name "emacs-helm-taskrunner")
7040 (version (git-version "0.9" revision commit))
7041 (source
7042 (origin
7043 (method git-fetch)
7044 (uri (git-reference
7045 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7046 (commit commit)))
7047 (file-name (git-file-name name version))
7048 (sha256
7049 (base32
7050 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7051 (build-system emacs-build-system)
7052 (propagated-inputs
7053 `(("emacs-helm" ,emacs-helm)
7054 ("emacs-taskrunner" ,emacs-taskrunner)
7055 ("emacs-projectile" ,emacs-projectile)))
7056 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7057 (synopsis "Retrieve build-system tasks using Helm")
7058 (description "This package provides a Helm interface for selecting
7059 Makefile targets.")
7060 (license license:gpl3+))))
7061
7062 (define-public emacs-helm-make
7063 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7064 (revision "1"))
7065 (package
7066 (name "emacs-helm-make")
7067 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7068 (source
7069 (origin
7070 (method git-fetch)
7071 (uri (git-reference
7072 (url "https://github.com/abo-abo/helm-make.git")
7073 (commit commit)))
7074 (file-name (git-file-name name version))
7075 (sha256
7076 (base32
7077 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7078 (build-system emacs-build-system)
7079 (propagated-inputs
7080 `(("emacs-helm" ,emacs-helm)
7081 ("emacs-projectile" ,emacs-projectile)))
7082 (home-page "https://github.com/abo-abo/helm-make")
7083 (synopsis "Select a Makefile target with helm")
7084 (description "@code{helm-make} or @code{helm-make-projectile} will give
7085 you a @code{helm} selection of directory Makefile's targets. Selecting a
7086 target will call @code{compile} on it.")
7087 (license license:gpl3+))))
7088
7089 (define-public emacs-cider
7090 (package
7091 (name "emacs-cider")
7092 (version "0.21.0")
7093 (source
7094 (origin
7095 (method git-fetch)
7096 (uri (git-reference
7097 (url "https://github.com/clojure-emacs/cider.git")
7098 (commit (string-append "v" version))))
7099 (file-name (git-file-name name version))
7100 (sha256
7101 (base32
7102 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
7103 (build-system emacs-build-system)
7104 (arguments
7105 '(#:exclude ; Don't exclude 'cider-test.el'.
7106 '("^\\.dir-locals\\.el$" "^test/")))
7107 (propagated-inputs
7108 `(("emacs-clojure-mode" ,emacs-clojure-mode)
7109 ("emacs-sesman" ,emacs-sesman)
7110 ("emacs-spinner" ,emacs-spinner)
7111 ("emacs-pkg-info" ,emacs-pkg-info)
7112 ("emacs-queue" ,emacs-queue)))
7113 (home-page "https://cider.readthedocs.io/")
7114 (synopsis "Clojure development environment for Emacs")
7115 (description
7116 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
7117 provide an interactive development experience similar to the one you'd get
7118 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
7119 Geiser) and Smalltalk.
7120
7121 CIDER is the successor to the now deprecated combination of using SLIME +
7122 swank-clojure for Clojure development.
7123
7124 There are plenty of differences between CIDER and SLIME, but the core ideas
7125 are pretty much the same (and SLIME served as the principle inspiration for
7126 CIDER).")
7127 (license license:gpl3+)))
7128
7129 ;; There hasn't been a tag or release since 2016, so we take the latest
7130 ;; commit.
7131 (define-public emacs-sly
7132 (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d")
7133 (revision "3"))
7134 (package
7135 (name "emacs-sly")
7136 (version (git-version "1.0.0" revision commit))
7137 (source
7138 (origin
7139 (method git-fetch)
7140 (uri (git-reference
7141 (url "https://github.com/joaotavora/sly.git")
7142 (commit commit)))
7143 (file-name (git-file-name name version))
7144 (sha256
7145 (base32
7146 "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj"))))
7147 (build-system emacs-build-system)
7148 (native-inputs
7149 `(("texinfo" ,texinfo)))
7150 (arguments
7151 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
7152 #:phases
7153 ;; The package provides autoloads.
7154 (modify-phases %standard-phases
7155 (delete 'make-autoloads)
7156 (add-before 'install 'install-doc
7157 (lambda* (#:key outputs #:allow-other-keys)
7158 (let* ((out (assoc-ref outputs "out"))
7159 (info-dir (string-append out "/share/info"))
7160 (doc-dir (string-append out "/share/doc/"
7161 ,name "-" ,version))
7162 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
7163 "README.md" "NEWS.md" "PROBLEMS.md"
7164 "CONTRIBUTING.md")))
7165 (with-directory-excursion "doc"
7166 (substitute* "Makefile"
7167 (("infodir=/usr/local/info")
7168 (string-append "infodir=" info-dir))
7169 ;; Don't rebuild contributors.texi since we are not in
7170 ;; the git repo.
7171 (("contributors.texi: Makefile texinfo-tabulate.awk")
7172 "contributors.texi:"))
7173 (invoke "make" "html/index.html")
7174 (invoke "make" "sly.info")
7175 ;; TODO: We need minimal texlive with "preprint" package
7176 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
7177 (install-file "sly.info" info-dir)
7178 (copy-recursively "html" (string-append doc-dir "/html")))
7179 (for-each (lambda (f)
7180 (install-file f doc-dir)
7181 (delete-file f))
7182 doc-files)
7183 (delete-file-recursively "doc")
7184 #t))))))
7185 (home-page "https://github.com/joaotavora/sly")
7186 (synopsis "Sylvester the Cat's Common Lisp IDE")
7187 (description
7188 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
7189 contains the following improvements over it:
7190
7191 @enumerate
7192 @item Completely redesigned REPL based on Emacs's own full-featured
7193 @code{comint.el}.
7194 @item Live code annotations via a new @code{sly-stickers} contrib.
7195 @item Consistent interactive button interface. Everything can be copied to
7196 the REPL.
7197 @item Multiple inspectors with independent history.
7198 @item Regexp-capable @code{M-x sly-apropos}.
7199 @item Contribs are first class SLY citizens and enabled by default.
7200 @item Use ASDF to loads contribs on demand.
7201 @end enumerate
7202
7203 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
7204 xref, etc...) are still available, but with better integration.")
7205 (license license:gpl3+))))
7206
7207 (define-public emacs-sly-quicklisp
7208 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
7209 (revision "1"))
7210 (package
7211 (name "emacs-sly-quicklisp")
7212 (version (git-version "0.0.0" revision commit))
7213 (home-page "https://github.com/joaotavora/sly-quicklisp")
7214 (source
7215 (origin
7216 (method git-fetch)
7217 (uri (git-reference
7218 (url home-page)
7219 (commit commit)))
7220 (file-name (git-file-name name version))
7221 (sha256
7222 (base32
7223 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
7224 (build-system emacs-build-system)
7225 (propagated-inputs
7226 `(("emacs-sly" ,emacs-sly)))
7227 (arguments
7228 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7229 #:phases
7230 ;; The package provides autoloads.
7231 (modify-phases %standard-phases
7232 (delete 'make-autoloads))))
7233 (synopsis "Quicklisp support for SLY")
7234 (description
7235 "@command{sly-quicklisp} is an external contrib for SLY that provides a
7236 sly-quickload command that prompts the user for a package to install. ")
7237 (license license:gpl3+))))
7238
7239 (define-public emacs-sly-asdf
7240 (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c")
7241 (revision "2"))
7242 (package
7243 (name "emacs-sly-asdf")
7244 (version (git-version "0.1.0" revision commit))
7245 (home-page "https://github.com/mmgeorge/sly-asdf")
7246 (source
7247 (origin
7248 (method git-fetch)
7249 (uri (git-reference
7250 (url home-page)
7251 (commit commit)))
7252 (file-name (git-file-name name version))
7253 (sha256
7254 (base32
7255 "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad"))))
7256 (build-system emacs-build-system)
7257 (propagated-inputs
7258 `(("emacs-sly" ,emacs-sly)))
7259 (arguments
7260 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7261 (synopsis "ASDF contrib for SLY")
7262 (description
7263 "@command{sly-asdf} is an external contrib for SLY that provides
7264 additional support for working with ASDF projects.")
7265 (license license:gpl3+))))
7266
7267 (define-public emacs-sly-named-readtables
7268 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
7269 (revision "1"))
7270 (package
7271 (name "emacs-sly-named-readtables")
7272 (version (git-version "0.1" revision commit))
7273 (home-page "https://github.com/joaotavora/sly-named-readtables")
7274 (source
7275 (origin
7276 (method git-fetch)
7277 (uri (git-reference
7278 (url home-page)
7279 (commit commit)))
7280 (file-name (git-file-name name version))
7281 (sha256
7282 (base32
7283 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
7284 (build-system emacs-build-system)
7285 (propagated-inputs
7286 `(("emacs-sly" ,emacs-sly)))
7287 (arguments
7288 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7289 (synopsis "Named-readtables support for SLY")
7290 (description
7291 "@command{sly-named-readtables} is an external contrib for SLY that
7292 enables different readtables to be active in different parts of the same
7293 file.")
7294 (license license:gpl3+))))
7295
7296 (define-public emacs-sly-macrostep
7297 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
7298 (revision "1"))
7299 (package
7300 (name "emacs-sly-macrostep")
7301 (version (git-version "0.1" revision commit))
7302 (home-page "https://github.com/joaotavora/sly-macrostep")
7303 (source
7304 (origin
7305 (method git-fetch)
7306 (uri (git-reference
7307 (url home-page)
7308 (commit commit)))
7309 (file-name (git-file-name name version))
7310 (sha256
7311 (base32
7312 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
7313 (build-system emacs-build-system)
7314 (propagated-inputs
7315 `(("emacs-sly" ,emacs-sly)
7316 ("emacs-macrostep" ,emacs-macrostep)))
7317 (arguments
7318 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7319 #:phases
7320 ;; The package provides autoloads.
7321 (modify-phases %standard-phases
7322 (delete 'make-autoloads))))
7323 (synopsis "Expand Common Lisp macros inside source files with SLY")
7324 (description
7325 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
7326 inside the source file.")
7327 (license license:gpl3+))))
7328
7329 (define-public emacs-sly-package-inferred
7330 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
7331 (revision "1"))
7332 (package
7333 (name "emacs-sly-package-inferred")
7334 (version (git-version "0.1" revision commit))
7335 (home-page "https://github.com/40ants/sly-package-inferred")
7336 (source
7337 (origin
7338 (method git-fetch)
7339 (uri (git-reference
7340 (url home-page)
7341 (commit commit)))
7342 (file-name (git-file-name name version))
7343 (sha256
7344 (base32
7345 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
7346 (build-system emacs-build-system)
7347 (propagated-inputs
7348 `(("emacs-sly" ,emacs-sly)))
7349 (arguments
7350 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7351 #:phases
7352 ;; The package provides autoloads.
7353 (modify-phases %standard-phases
7354 (delete 'make-autoloads))))
7355 (synopsis "Improved package inferred systems support for SLY")
7356 (description
7357 "@command{sly-package-inferred} is an external contrib for SLY that
7358 replaces its completion with a function which is better suited for systems
7359 using package inferred style.")
7360 (license license:gpl3+))))
7361
7362 (define-public emacs-lua-mode
7363 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
7364 (revision "2"))
7365 (package
7366 (name "emacs-lua-mode")
7367 (version (git-version "20151025" revision commit))
7368 (home-page "https://github.com/immerrr/lua-mode/")
7369 (source (origin
7370 (method git-fetch)
7371 (uri (git-reference
7372 (url home-page)
7373 (commit commit)))
7374 (file-name (git-file-name name version))
7375 (sha256
7376 (base32
7377 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
7378 (build-system emacs-build-system)
7379 (synopsis "Major mode for lua")
7380 (description
7381 "This Emacs package provides a mode for @uref{https://www.lua.org/,
7382 Lua programming language}.")
7383 (license license:gpl2+))))
7384
7385 (define-public emacs-ebuild-mode
7386 (package
7387 (name "emacs-ebuild-mode")
7388 (version "1.37")
7389 (source (origin
7390 (method url-fetch)
7391 (uri (string-append
7392 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
7393 "-" version ".tar.xz"))
7394 (file-name (string-append name "-" version ".tar.xz"))
7395 (sha256
7396 (base32
7397 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
7398 (build-system emacs-build-system)
7399 (home-page "https://devmanual.gentoo.org")
7400 (synopsis "Major modes for Gentoo package files")
7401 (description
7402 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
7403 news items, openrc and runscripts.")
7404 (license license:gpl2+)))
7405
7406 (define-public emacs-evil
7407 (package
7408 (name "emacs-evil")
7409 (version "1.2.14")
7410 (source
7411 (origin
7412 (method git-fetch)
7413 (uri (git-reference
7414 (url "https://github.com/emacs-evil/evil")
7415 (commit version)))
7416 (file-name (git-file-name name version))
7417 (sha256
7418 (base32
7419 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
7420 (build-system emacs-build-system)
7421 (propagated-inputs
7422 `(("emacs-undo-tree" ,emacs-undo-tree)
7423 ("emacs-goto-chg" ,emacs-goto-chg)))
7424 (home-page "https://github.com/emacs-evil/evil")
7425 (synopsis "Extensible Vi layer for Emacs")
7426 (description
7427 "Evil is an extensible vi layer for Emacs. It emulates the
7428 main features of Vim, and provides facilities for writing custom
7429 extensions.")
7430 (license license:gpl3+)))
7431
7432 (define-public emacs-evil-collection
7433 (let ((commit "38e916d5d56b391f1ad4c72ad3909491e86cda3c")
7434 (revision "12"))
7435 (package
7436 (name "emacs-evil-collection")
7437 (version (git-version "0.0.3" revision commit))
7438 (source (origin
7439 (method git-fetch)
7440 (uri (git-reference
7441 (url "https://github.com/emacs-evil/evil-collection")
7442 (commit commit)))
7443 (file-name (git-file-name name version))
7444 (sha256
7445 (base32
7446 "00a1ya3c92ymhfj4ai1ygljnxa147d4cgi6jmvccngicphn99782"))))
7447 (build-system emacs-build-system)
7448 (propagated-inputs
7449 `(("emacs-evil" ,emacs-evil)
7450 ("emacs-annalist" ,emacs-annalist)))
7451 (arguments
7452 `(#:include (cons* "^modes\\/" %default-include)))
7453 (home-page "https://github.com/emacs-evil/evil-collection")
7454 (synopsis "Collection of Evil bindings for many major and minor modes")
7455 (description "This is a collection of Evil bindings for the parts of
7456 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7457 @code{M-x calendar}, Eshell and more.")
7458 (license license:gpl3+))))
7459
7460 (define-public emacs-goto-chg
7461 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7462 (version "1.7.3")
7463 (revision "1"))
7464 (package
7465 (name "emacs-goto-chg")
7466 (version (git-version version revision commit))
7467 (source
7468 (origin
7469 (method git-fetch)
7470 (uri (git-reference
7471 (url "https://github.com/emacs-evil/goto-chg")
7472 (commit commit)))
7473 (file-name (git-file-name name version))
7474 (sha256
7475 (base32
7476 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7477 (build-system emacs-build-system)
7478 (propagated-inputs
7479 `(("emacs-undo-tree" ,emacs-undo-tree)))
7480 (home-page "https://github.com/emacs-evil/goto-chg")
7481 (synopsis "Go to the last change in the Emacs buffer")
7482 (description
7483 "This package provides @code{M-x goto-last-change} command that goes to
7484 the point of the most recent edit in the current Emacs buffer. When repeated,
7485 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7486 used for reverse direction.")
7487 (license license:gpl2+))))
7488
7489 (define-public emacs-janpath-evil-numbers
7490 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7491 (version "0.5")
7492 (revision "1"))
7493 (package
7494 (name "emacs-janpath-evil-numbers")
7495 (version (git-version version revision commit))
7496 (source
7497 (origin
7498 (method git-fetch)
7499 (uri (git-reference
7500 (url "https://github.com/janpath/evil-numbers")
7501 (commit commit)))
7502 (file-name (git-file-name name version))
7503 (sha256
7504 (base32
7505 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7506 (build-system emacs-build-system)
7507 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7508 (home-page "https://github.com/janpath/evil-numbers")
7509 (synopsis "Increment and decrement numeric literals")
7510 (description
7511 "This package provides functionality to search for a number up to the
7512 end of a line and increment or decrement it.")
7513 (license license:gpl3+))))
7514
7515 (define-public emacs-evil-owl
7516 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7517 (revision "3"))
7518 (package
7519 (name "emacs-evil-owl")
7520 (version (git-version "0.0.1" revision commit))
7521 (source
7522 (origin
7523 (method git-fetch)
7524 (uri (git-reference
7525 (url "https://github.com/mamapanda/evil-owl")
7526 (commit commit)))
7527 (file-name (git-file-name name version))
7528 (sha256
7529 (base32
7530 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7531 (build-system emacs-build-system)
7532 (propagated-inputs
7533 `(("emacs-evil" ,emacs-evil)))
7534 (arguments
7535 `(#:tests? #t
7536 #:test-command '("make" "test")))
7537 (home-page "https://github.com/mamapanda/evil-owl")
7538 (synopsis "Preview candidates when using Evil registers and marks")
7539 (description
7540 "This package supplements Evil's register- and mark-based commands with
7541 a popup window for previewing candidates.")
7542 (license license:gpl3+))))
7543
7544 (define-public emacs-evil-args
7545 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
7546 (revision "1"))
7547 (package
7548 (name "emacs-evil-args")
7549 (version (git-version "1.0" revision commit))
7550 (source
7551 (origin
7552 (method git-fetch)
7553 (uri (git-reference
7554 (url "https://github.com/wcsmith/evil-args.git")
7555 (commit commit)))
7556 (file-name (git-file-name name version))
7557 (sha256
7558 (base32
7559 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
7560 (build-system emacs-build-system)
7561 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7562 (home-page "https://github.com/wcsmith/evil-args")
7563 (synopsis "Motions and text objects for delimited arguments in Evil")
7564 (description
7565 "This package provides motions and text objects for delimited
7566 arguments, such as arguments separated by commas and semicolons.")
7567 (license license:expat))))
7568
7569 (define-public emacs-evil-exchange
7570 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7571 (version "0.41")
7572 (revision "1"))
7573 (package
7574 (name "emacs-evil-exchange")
7575 (version (git-version version revision commit))
7576 (source
7577 (origin
7578 (method git-fetch)
7579 (uri (git-reference
7580 (url "https://github.com/Dewdrops/evil-exchange")
7581 (commit commit)))
7582 (file-name (git-file-name name version))
7583 (sha256
7584 (base32
7585 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7586 (build-system emacs-build-system)
7587 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7588 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7589 (arguments
7590 `(#:phases
7591 (modify-phases %standard-phases
7592 (add-before 'check 'fix-makefile
7593 (lambda _
7594 (substitute* "Makefile"
7595 (("cask exec ") ""))
7596 #t)))
7597 #:tests? #t
7598 #:test-command '("make" "test")))
7599 (home-page "https://github.com/Dewdrops/evil-exchange")
7600 (synopsis "Exchange text easily within Evil")
7601 (description
7602 "This package, a port of @code{vim-exchange}, provides an Evil operator
7603 for exchanging text.")
7604 (license license:gpl3+))))
7605
7606 (define-public emacs-evil-replace-with-register
7607 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7608 (version "0.1")
7609 (revision "1"))
7610 (package
7611 (name "emacs-evil-replace-with-register")
7612 (version (git-version version revision commit))
7613 (source
7614 (origin
7615 (method git-fetch)
7616 (uri (git-reference
7617 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7618 (commit commit)))
7619 (file-name (git-file-name name version))
7620 (sha256
7621 (base32
7622 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7623 (build-system emacs-build-system)
7624 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7625 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7626 (synopsis "Quickly replace text with the contents of a register")
7627 (description
7628 "This package provides an Evil operator for replacing text with the
7629 contents of a register.")
7630 (license license:gpl3+))))
7631
7632 (define-public emacs-evil-indent-plus
7633 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7634 (version "1.0.0")
7635 (revision "1"))
7636 (package
7637 (name "emacs-evil-indent-plus")
7638 (version (git-version version revision commit))
7639 (source
7640 (origin
7641 (method git-fetch)
7642 (uri (git-reference
7643 (url "https://github.com/TheBB/evil-indent-plus")
7644 (commit commit)))
7645 (file-name (git-file-name name version))
7646 (sha256
7647 (base32
7648 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7649 (build-system emacs-build-system)
7650 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7651 (home-page "https://github.com/TheBB/evil-indent-plus")
7652 (synopsis "Text objects based on indentation")
7653 (description
7654 "This package adds new text objects for @code{evil-mode} based on
7655 blocks having the same or higher indentation, including or excluding
7656 surrounding lines.")
7657 (license license:gpl2+))))
7658
7659 (define-public emacs-evil-text-object-python
7660 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7661 (version "1.0.1")
7662 (revision "1"))
7663 (package
7664 (name "emacs-evil-text-object-python")
7665 (version (git-version version revision commit))
7666 (source
7667 (origin
7668 (method git-fetch)
7669 (uri (git-reference
7670 (url "https://github.com/wbolster/evil-text-object-python")
7671 (commit commit)))
7672 (file-name (git-file-name name version))
7673 (sha256
7674 (base32
7675 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7676 (build-system emacs-build-system)
7677 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7678 (home-page "https://github.com/wbolster/evil-text-object-python")
7679 (synopsis "Text objects for Python")
7680 (description
7681 "This package provides @code{evil-mode} text objects for Python.")
7682 (license license:gpl3+))))
7683
7684 (define-public emacs-evil-lion
7685 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7686 (revision "1"))
7687 (package
7688 (name "emacs-evil-lion")
7689 (version (git-version "0.0.2" revision commit))
7690 (source
7691 (origin
7692 (method git-fetch)
7693 (uri (git-reference
7694 (url "https://github.com/edkolev/evil-lion")
7695 (commit commit)))
7696 (file-name (git-file-name name version))
7697 (sha256
7698 (base32
7699 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7700 (build-system emacs-build-system)
7701 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7702 (arguments
7703 `(#:tests? #t
7704 #:test-command '("make" "test")))
7705 (home-page "https://github.com/edkolev/evil-lion")
7706 (synopsis "Align operator for @code{evil-mode}")
7707 (description
7708 "This package, a port of @code{vim-lion}, provides an operator for
7709 aligning text objects based on separators.")
7710 (license license:gpl3+))))
7711
7712 (define-public emacs-evil-expat
7713 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7714 (revision "1"))
7715 (package
7716 (name "emacs-evil-expat")
7717 (version (git-version "0.0.1" revision commit))
7718 (source
7719 (origin
7720 (method git-fetch)
7721 (uri (git-reference
7722 (url "https://github.com/edkolev/evil-expat")
7723 (commit commit)))
7724 (file-name (git-file-name name version))
7725 (sha256
7726 (base32
7727 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7728 (build-system emacs-build-system)
7729 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7730 (arguments
7731 `(#:tests? #t
7732 #:test-command '("make" "test")))
7733 (home-page "https://github.com/edkolev/evil-expat")
7734 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
7735 (description
7736 "This package provides additional commands for the @code{ex} command
7737 line, including functions for version control with Git and for copying and
7738 pasting into and from @code{tmux} paste buffers.")
7739 (license license:gpl3+))))
7740
7741 (define-public emacs-evil-nerd-commenter
7742 (package
7743 (name "emacs-evil-nerd-commenter")
7744 (version "3.3.8")
7745 (source
7746 (origin
7747 (method git-fetch)
7748 (uri (git-reference
7749 (url "https://github.com/redguardtoo/evil-nerd-commenter")
7750 (commit version)))
7751 (file-name (git-file-name name version))
7752 (sha256
7753 (base32
7754 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
7755 (build-system emacs-build-system)
7756 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7757 (arguments
7758 `(#:tests? #t
7759 #:test-command '("make" "test")))
7760 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
7761 (synopsis "Comment and uncomment lines efficiently")
7762 (description
7763 "This package provides text objects and operators for comments within
7764 @code{evil-mode}.")
7765 (license license:gpl3+)))
7766
7767 (define-public emacs-evil-visual-replace
7768 (package
7769 (name "emacs-evil-visual-replace")
7770 (version "0.0.5")
7771 (source
7772 (origin
7773 (method git-fetch)
7774 (uri (git-reference
7775 (url "https://github.com/troyp/evil-visual-replace")
7776 (commit version)))
7777 (file-name (git-file-name name version))
7778 (sha256
7779 (base32
7780 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
7781 (build-system emacs-build-system)
7782 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7783 (home-page "https://github.com/troyp/evil-visual-replace")
7784 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
7785 (description
7786 "This package provides versions of @code{query-replace} and
7787 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
7788 (license license:gpl2+)))
7789
7790 (define-public emacs-evil-visualstar
7791 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
7792 (version "0.0.2")
7793 (revision "1"))
7794 (package
7795 (name "emacs-evil-visualstar")
7796 (version (git-version version revision commit))
7797 (source
7798 (origin
7799 (method git-fetch)
7800 (uri (git-reference
7801 (url "https://github.com/bling/evil-visualstar")
7802 (commit commit)))
7803 (file-name (git-file-name name version))
7804 (sha256
7805 (base32
7806 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
7807 (build-system emacs-build-system)
7808 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7809 (home-page "https://github.com/bling/evil-visualstar")
7810 (synopsis "Instantly search using the visual selection")
7811 (description
7812 "This package provides @code{evil-mode} functions for using selected text
7813 to search.")
7814 (license license:gpl3+))))
7815
7816 (define-public emacs-monroe
7817 (package
7818 (name "emacs-monroe")
7819 (version "0.3.1")
7820 (source
7821 (origin
7822 (method git-fetch)
7823 (uri (git-reference
7824 (url "https://github.com/sanel/monroe.git")
7825 (commit version)))
7826 (file-name (git-file-name name version))
7827 (sha256
7828 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
7829 (build-system emacs-build-system)
7830 (home-page "https://github.com/sanel/monroe")
7831 (synopsis "Clojure nREPL client for Emacs")
7832 (description
7833 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
7834 distribution, primarily targeting Clojure users")
7835 (license license:gpl3+)))
7836
7837 (define-public emacs-orgalist
7838 (package
7839 (name "emacs-orgalist")
7840 (version "1.9")
7841 (source
7842 (origin
7843 (method url-fetch)
7844 (uri (string-append "https://elpa.gnu.org/packages/"
7845 "orgalist-" version ".el"))
7846 (sha256
7847 (base32
7848 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
7849 (build-system emacs-build-system)
7850 (home-page "http://elpa.gnu.org/packages/orgalist.html")
7851 (synopsis "Manage Org-like lists in non-Org buffers")
7852 (description "Write Org mode's plain lists in non-Org buffers. More
7853 specifically, Orgalist supports the syntax of Org mode for numbered,
7854 unnumbered, description items, checkboxes, and counter cookies.
7855
7856 The library also implements radio lists, i.e., lists written in Org
7857 syntax later translated into the host format, e.g., LaTeX or HTML.")
7858 (license license:gpl3+)))
7859
7860 (define-public emacs-writegood-mode
7861 (package
7862 (name "emacs-writegood-mode")
7863 (version "2.0.2")
7864 (home-page "https://github.com/bnbeckwith/writegood-mode")
7865 (source (origin
7866 (method git-fetch)
7867 (uri (git-reference
7868 (url home-page)
7869 (commit (string-append "v" version))))
7870 (sha256
7871 (base32
7872 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
7873 (file-name (string-append name "-checkout"))))
7874 (build-system emacs-build-system)
7875 (synopsis "Polish up poor writing on the fly")
7876 (description
7877 "This minor mode tries to find and highlight problems with your writing
7878 in English as you type. It primarily detects \"weasel words\" and abuse of
7879 passive voice.")
7880 (license license:gpl3+)))
7881
7882 (define-public emacs-neotree
7883 (package
7884 (name "emacs-neotree")
7885 (version "0.5.2")
7886 (home-page "https://github.com/jaypei/emacs-neotree")
7887 (source (origin
7888 (method url-fetch)
7889 (uri (string-append
7890 "https://github.com/jaypei/" name
7891 "/archive/" version ".tar.gz"))
7892 (sha256
7893 (base32
7894 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
7895 (file-name (string-append name "-" version ".tar.gz"))))
7896 (build-system emacs-build-system)
7897 (synopsis "Folder tree view for Emacs")
7898 (description "This Emacs package provides a folder tree view.")
7899 (license license:gpl3+)))
7900
7901 (define-public emacs-org
7902 (package
7903 (name "emacs-org")
7904 ;; emacs-org-contrib inherits from this package. Please update its sha256
7905 ;; checksum as well.
7906 (version "9.2.6")
7907 (source (origin
7908 (method url-fetch)
7909 (uri (string-append "https://elpa.gnu.org/packages/org-"
7910 version ".tar"))
7911 (sha256
7912 (base32
7913 "0ikd78k4yw4sm5x7l3dsbvfcmvnv5qna2mxirr560gvcnzhr0zg4"))))
7914 (build-system emacs-build-system)
7915 (home-page "https://orgmode.org/")
7916 (synopsis "Outline-based notes management and organizer")
7917 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7918 lists, and project planning with a fast and effective lightweight markup
7919 language. It also is an authoring system with unique support for literate
7920 programming and reproducible research.")
7921 (license license:gpl3+)))
7922
7923 (define-public emacs-org-contrib
7924 (package
7925 (inherit emacs-org)
7926 (name "emacs-org-contrib")
7927 (version "20190904")
7928 (source (origin
7929 (method url-fetch)
7930 (uri (string-append "https://orgmode.org/elpa/"
7931 "org-plus-contrib-" version ".tar"))
7932 (sha256
7933 (base32
7934 "08s3fk3jim0y2v00l6ah8y08ba8wbcf29z6fxqzyaxj58a5sq81a"))))
7935 (arguments
7936 `(#:modules ((guix build emacs-build-system)
7937 (guix build utils)
7938 (guix build emacs-utils)
7939 (ice-9 ftw)
7940 (srfi srfi-1))
7941 #:phases
7942 (modify-phases %standard-phases
7943 (add-after 'install 'delete-org-files
7944 (lambda* (#:key inputs outputs #:allow-other-keys)
7945 (let* ((out (assoc-ref outputs "out"))
7946 (org (assoc-ref inputs "org"))
7947 (contrib-files
7948 (map basename (find-files out)))
7949 (org+contrib-files
7950 (map basename (find-files org)))
7951 (duplicates (lset-intersection
7952 string=? contrib-files org+contrib-files)))
7953 (with-directory-excursion
7954 (string-append
7955 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
7956 (for-each delete-file duplicates))
7957 #t))))))
7958 (propagated-inputs
7959 `(("arduino-mode" ,emacs-arduino-mode)
7960 ("cider" ,emacs-cider)
7961 ("org" ,emacs-org)
7962 ("scel" ,emacs-scel)))
7963 (synopsis "Contributed packages to Org mode")
7964 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7965 lists, and project planning with a fast and effective plain-text system.
7966
7967 This package is equivalent to org-plus-contrib, but only includes additional
7968 files that you would find in @file{contrib/} from the git repository.")))
7969
7970 (define-public emacs-flx
7971 (package
7972 (name "emacs-flx")
7973 (version "0.6.1")
7974 (source
7975 (origin
7976 (method url-fetch)
7977 (uri (string-append "https://github.com/lewang/"
7978 "flx/archive/v" version ".tar.gz"))
7979 (sha256
7980 (base32
7981 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
7982 (file-name (string-append name "-" version ".tar.gz"))))
7983 (build-system emacs-build-system)
7984 (home-page "https://github.com/lewang/flx")
7985 (synopsis "Fuzzy matching for Emacs")
7986 (description
7987 "Flx provides fuzzy matching for emacs a la sublime text.
7988 The sorting algorithm is a balance between word beginnings (abbreviation)
7989 and contiguous matches (substring). The longer the substring match,
7990 the higher it scores. This maps well to how we think about matching.
7991 Flx has support for ido (interactively do things) through flx-ido.")
7992 (license license:gpl3+)))
7993
7994 (define-public emacs-cyberpunk-theme
7995 (package
7996 (name "emacs-cyberpunk-theme")
7997 (version "1.19")
7998 (source
7999 (origin
8000 (method url-fetch)
8001 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
8002 "archive/" version ".tar.gz"))
8003 (sha256
8004 (base32
8005 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
8006 (file-name (string-append name "-" version ".tar.gz"))))
8007 (build-system emacs-build-system)
8008 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
8009 (synopsis "Cyberpunk theme for emacs built-in color theme support")
8010 (description
8011 "Cyberpunk color theme for the emacs 24+ built-in color theme support
8012 known loosely as deftheme. Many mode-specific customizations are included.")
8013 (license license:gpl3+)))
8014
8015 (define-public emacs-danneskjold-theme
8016 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
8017 (revision "1"))
8018 (package
8019 (name "emacs-danneskjold-theme")
8020 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8021 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
8022 (source
8023 (origin
8024 (method git-fetch)
8025 (uri (git-reference
8026 (url home-page)
8027 (commit commit)))
8028 (file-name (git-file-name name version))
8029 (sha256
8030 (base32
8031 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
8032 (build-system emacs-build-system)
8033 (arguments
8034 `(#:phases
8035 (modify-phases %standard-phases
8036 (add-after 'unpack 'delete-screenshots
8037 (lambda _
8038 (delete-file-recursively "screenshots") #t)))))
8039 (synopsis "High-contrast Emacs theme")
8040 (description
8041 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
8042 (license license:gpl3+))))
8043
8044 (define-public emacs-dream-theme
8045 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
8046 (revision "1"))
8047 (package
8048 (name "emacs-dream-theme")
8049 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8050 (source
8051 (origin
8052 (method git-fetch)
8053 (uri (git-reference
8054 (url "https://github.com/djcb/dream-theme")
8055 (commit commit)))
8056 (file-name (git-file-name name version))
8057 (sha256
8058 (base32
8059 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
8060 (build-system emacs-build-system)
8061 (home-page "https://github.com/djcb/dream-theme")
8062 (synopsis "High-contrast Emacs theme")
8063 (description
8064 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
8065 by zenburn, sinburn and similar themes, but slowly diverging from them.")
8066 (license license:gpl3+))))
8067
8068 (define-public emacs-auto-complete
8069 (package
8070 (name "emacs-auto-complete")
8071 (version "1.5.1")
8072 (source
8073 (origin
8074 (method url-fetch)
8075 (uri (string-append "https://github.com/auto-complete/"
8076 "auto-complete/archive/v" version ".tar.gz"))
8077 (sha256
8078 (base32
8079 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
8080 (file-name (string-append name "-" version ".tar.gz"))))
8081 (build-system emacs-build-system)
8082 (propagated-inputs
8083 `(("emacs-popup" ,emacs-popup)))
8084 (home-page "https://github.com/auto-complete/auto-complete")
8085 (synopsis "Intelligent auto-completion extension for Emacs")
8086 (description
8087 "Auto-Complete is an intelligent auto-completion extension for Emacs.
8088 It extends the standard Emacs completion interface and provides an environment
8089 that allows users to concentrate more on their own work. Its features are:
8090 a visual interface, reduce overhead of completion by using statistic method,
8091 extensibility.")
8092 (license license:gpl3+)))
8093
8094 (define-public emacs-nginx-mode
8095 (package
8096 (name "emacs-nginx-mode")
8097 (version "1.1.9")
8098 (source
8099 (origin
8100 (method git-fetch)
8101 (uri (git-reference
8102 (url "https://github.com/ajc/nginx-mode.git")
8103 (commit (string-append "v" version))))
8104 (file-name (git-file-name name version))
8105 (sha256
8106 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
8107 (build-system emacs-build-system)
8108 (home-page "https://github.com/ajc/nginx-mode")
8109 (synopsis "Emacs major mode for editing nginx config files")
8110 (description "This package provides an Emacs major mode for
8111 editing nginx config files.")
8112 (license license:gpl2+)))
8113
8114 (define-public emacs-stream
8115 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
8116 (revision "1"))
8117 (package
8118 (name "emacs-stream")
8119 (version (git-version "2.2.4" revision commit))
8120 (source
8121 (origin
8122 (method git-fetch)
8123 (uri (git-reference
8124 (url "https://github.com/Emacsmirror/stream.git")
8125 (commit commit)))
8126 (file-name (git-file-name name version))
8127 (sha256
8128 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
8129 (build-system emacs-build-system)
8130 (arguments
8131 `(#:tests? #t
8132 #:test-command '("emacs" "--batch"
8133 "-l" "tests/stream-tests.el"
8134 "-f" "ert-run-tests-batch-and-exit")))
8135 (home-page "https://github.com/Emacsmirror/stream")
8136 (synopsis "Implementation of streams for Emacs")
8137 (description "This library provides an implementation of streams for Emacs.
8138 Streams are implemented as delayed evaluation of cons cells.")
8139 (license license:gpl3+))))
8140
8141 (define-public emacs-cl-print
8142 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
8143 (revision "1"))
8144 (package
8145 (name "emacs-cl-print")
8146 (version (git-version "1.0" revision commit))
8147 (source
8148 (origin
8149 (method git-fetch)
8150 (uri (git-reference
8151 (url "https://github.com/emacsmirror/cl-print.git")
8152 (commit commit)))
8153 (file-name (git-file-name name version))
8154 (sha256
8155 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
8156 (build-system emacs-build-system)
8157 (home-page "https://github.com/emacsmirror/cl-print")
8158 (synopsis "CL-style generic printing")
8159 (description "This package provides a generic function,
8160 @code{cl-print-object}, to which the programmer can add any method they
8161 please.")
8162 (license license:gpl3+))))
8163
8164 (define-public emacs-el-search
8165 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
8166 (revision "2"))
8167 (package
8168 (name "emacs-el-search")
8169 (version (git-version "1.12.6.1" revision commit))
8170 (source
8171 (origin
8172 (method git-fetch)
8173 (uri (git-reference
8174 (url "https://github.com/emacsmirror/el-search.git")
8175 (commit commit)))
8176 (file-name (git-file-name name version))
8177 (sha256
8178 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
8179 (build-system emacs-build-system)
8180 (inputs
8181 `(("emacs-stream" ,emacs-stream)
8182 ("emacs-cl-print" ,emacs-cl-print)))
8183 (home-page "https://github.com/emacsmirror/el-search")
8184 (synopsis "Expression based interactive search for emacs-lisp-mode")
8185 (description "This package provides expression based interactive search
8186 procedures for emacs-lisp-mode.")
8187 (license license:gpl3+))))
8188
8189 (define-public emacs-ht
8190 (package
8191 (name "emacs-ht")
8192 (version "2.2")
8193 (source
8194 (origin
8195 (method git-fetch)
8196 (uri (git-reference
8197 (url "https://github.com/Wilfred/ht.el.git")
8198 (commit version)))
8199 (file-name (git-file-name name version))
8200 (sha256
8201 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
8202 (build-system emacs-build-system)
8203 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
8204 (native-inputs
8205 `(("emacs-ert-runner" ,emacs-ert-runner)))
8206 (arguments
8207 `(#:tests? #t
8208 #:test-command '("ert-runner")))
8209 (home-page "https://github.com/Wilfred/ht.el")
8210 (synopsis "Hash table library for Emacs")
8211 (description
8212 "This package simplifies the use of hash tables in elisp. It also
8213 provides functions to convert hash tables from and to alists and plists.")
8214 (license license:gpl3+)))
8215
8216 (define-public emacs-log4e
8217 (package
8218 (name "emacs-log4e")
8219 (version "0.3.0")
8220 (source
8221 (origin
8222 (method git-fetch)
8223 (uri (git-reference
8224 (url "https://github.com/aki2o/log4e.git")
8225 (commit (string-append "v" version))))
8226 (file-name (git-file-name name version))
8227 (sha256
8228 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
8229 (build-system emacs-build-system)
8230 (arguments
8231 `(#:phases
8232 (modify-phases %standard-phases
8233 (add-after 'unpack 'remove-tests
8234 ;; Guile builder complains about null characters in some
8235 ;; strings of test files. Remove "test" directory (it is not
8236 ;; needed anyway).
8237 (lambda _
8238 (delete-file-recursively "test"))))))
8239 (home-page "https://github.com/aki2o/log4e")
8240 (synopsis "Logging framework for elisp")
8241 (description
8242 "This package provides a logging framework for elisp. It allows
8243 you to deal with multiple log levels.")
8244 (license license:gpl3+)))
8245
8246 (define-public emacs-gntp
8247 (package
8248 (name "emacs-gntp")
8249 (version "0.1")
8250 (source
8251 (origin
8252 (method git-fetch)
8253 (uri (git-reference
8254 (url "https://github.com/tekai/gntp.el.git")
8255 (commit (string-append "v" version))))
8256 (file-name (git-file-name name version))
8257 (sha256
8258 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
8259 (build-system emacs-build-system)
8260 (home-page "https://github.com/tekai/gntp.el")
8261 (synopsis "Growl Notification Protocol for Emacs")
8262 (description
8263 "This package implements the Growl Notification Protocol GNTP
8264 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
8265 It is incomplete as it only lets you send but not receive
8266 notifications.")
8267 (license license:bsd-3)))
8268
8269 (define-public emacs-alert
8270 (package
8271 (name "emacs-alert")
8272 (version "1.3")
8273 (source
8274 (origin
8275 (method git-fetch)
8276 (uri (git-reference
8277 (url "https://github.com/jwiegley/alert.git")
8278 (commit (string-append "v" version))))
8279 (file-name (git-file-name name version))
8280 (sha256
8281 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
8282 (build-system emacs-build-system)
8283 (propagated-inputs
8284 `(("emacs-gntp" ,emacs-gntp)
8285 ("emacs-log4e" ,emacs-log4e)))
8286 (home-page "https://github.com/jwiegley/alert")
8287 (synopsis "Growl-style notification system for Emacs")
8288 (description
8289 "Alert is a Growl-workalike for Emacs which uses a common notification
8290 interface and multiple, selectable \"styles\", whose use is fully
8291 customizable by the user.")
8292 (license license:gpl2+)))
8293
8294 (define-public emacs-zones
8295 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
8296 (revision "2"))
8297 (package
8298 (name "emacs-zones")
8299 (version (git-version "0" revision commit))
8300 (source
8301 (origin
8302 (method git-fetch)
8303 (uri (git-reference
8304 (url "https://github.com/emacsmirror/zones.git")
8305 (commit commit)))
8306 (file-name (git-file-name name version))
8307 (sha256
8308 (base32
8309 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
8310 (patches
8311 (search-patches
8312 "emacs-zones-called-interactively.patch"))))
8313 (build-system emacs-build-system)
8314 (home-page "https://www.emacswiki.org/emacs/Zones")
8315 (synopsis "Define and act on multiple zones of buffer text")
8316 (description "Library @file{zones.el} lets you easily define and
8317 subsequently act on multiple zones of buffer text. You can think of this as
8318 enlarging the notion of region. In effect, it can remove the requirement of
8319 target text being a contiguous sequence of characters. A set of buffer zones
8320 is, in effect, a (typically) noncontiguous set of text.")
8321 (license license:gpl3+))))
8322
8323 (define-public emacs-mu4e-alert
8324 (package
8325 (name "emacs-mu4e-alert")
8326 (version "1.0")
8327 (source
8328 (origin
8329 (method git-fetch)
8330 (uri (git-reference
8331 (url "https://github.com/iqbalansari/mu4e-alert.git")
8332 (commit (string-append "v" version))))
8333 (file-name (git-file-name name version))
8334 (sha256
8335 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
8336 (build-system emacs-build-system)
8337 (propagated-inputs
8338 `(("emacs-alert" ,emacs-alert)
8339 ("emacs-s" ,emacs-s)
8340 ("emacs-ht" ,emacs-ht)
8341 ("mu" ,mu)))
8342 (home-page "https://github.com/iqbalansari/mu4e-alert")
8343 (synopsis "Desktop notification for mu4e")
8344 (description
8345 "This package provides desktop notifications for mu4e.
8346 Additionally it can display the number of unread emails in the
8347 mode-line.")
8348 (license license:gpl3+)))
8349
8350 (define-public emacs-mu4e-jump-to-list
8351 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
8352 (revision "1"))
8353 (package
8354 (name "emacs-mu4e-jump-to-list")
8355 (version (git-version "1.0" revision commit))
8356 (source
8357 (origin
8358 (method git-fetch)
8359 (uri (git-reference
8360 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
8361 (commit commit)))
8362 (file-name (git-file-name name version))
8363 (sha256
8364 (base32
8365 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
8366 (build-system emacs-build-system)
8367 (propagated-inputs
8368 `(("mu" ,mu)))
8369 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
8370 (synopsis "Select and view mailing lists in mu4e")
8371 (description
8372 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
8373 automatically using existing List-ID headers in your mu database. Just press
8374 \"l\" in the headers view and any mailing list you've subscribed to will be
8375 automatically discovered and presented in recency order.")
8376 (license license:gpl3+))))
8377
8378 (define-public emacs-mu4e-patch
8379 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
8380 (revision "1"))
8381 (package
8382 (name "emacs-mu4e-patch")
8383 (version (git-version "0.1.0" revision commit))
8384 (source (origin
8385 (method git-fetch)
8386 (uri (git-reference
8387 (url "https://github.com/seanfarley/mu4e-patch")
8388 (commit commit)))
8389 (file-name (git-file-name name version))
8390 (sha256
8391 (base32
8392 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
8393 (build-system emacs-build-system)
8394 (propagated-inputs
8395 `(("mu" ,mu)))
8396 (home-page "https://github.com/seanfarley/mu4e-patch")
8397 (synopsis "Colorize patch-like emails in mu4e")
8398 (description
8399 "Extension for mu4e to colorize patch-like emails with diff-mode.
8400 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
8401 been adapted to work with mu4e.")
8402 (license license:gpl3+))))
8403
8404 (define-public emacs-pretty-mode
8405 (package
8406 (name "emacs-pretty-mode")
8407 (version "2.0.3")
8408 (source
8409 (origin
8410 (method url-fetch)
8411 (uri (string-append "https://github.com/akatov/pretty-mode/"
8412 "archive/" version ".tar.gz"))
8413 (file-name (string-append name "-" version ".tar.gz"))
8414 (sha256
8415 (base32
8416 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
8417 (build-system emacs-build-system)
8418 (home-page "https://github.com/akatov/pretty-mode")
8419 (synopsis "Redisplay parts of the buffer as Unicode symbols")
8420 (description
8421 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
8422 (license license:gpl3+)))
8423
8424 (define-public emacs-yasnippet
8425 (package
8426 (name "emacs-yasnippet")
8427 (version "0.13.0")
8428 (source (origin
8429 (method git-fetch)
8430 (uri (git-reference
8431 (url "https://github.com/joaotavora/yasnippet.git")
8432 (commit version)))
8433 (file-name (string-append name "-" version ".tar.gz"))
8434 (sha256
8435 (base32
8436 "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
8437 (modules '((guix build utils)))
8438 (snippet
8439 '(begin
8440 ;; YASnippet expects a "snippets" subdirectory in the same
8441 ;; directory as yasnippet.el, but we don't install it
8442 ;; because it's a git submodule pointing to an external
8443 ;; repository. Adjust `yas-snippet-dirs' to prevent
8444 ;; warnings about a missing directory.
8445 (substitute* "yasnippet.el"
8446 (("^ +'yas-installed-snippets-dir\\)\\)\n")
8447 "))\n"))
8448 #t))))
8449 (build-system emacs-build-system)
8450 (arguments
8451 `(#:tests? #t
8452 #:test-command '("emacs" "--batch"
8453 "-l" "yasnippet-tests.el"
8454 "-f" "ert-run-tests-batch-and-exit")
8455 ;; FIXME: one failing test
8456 #:phases
8457 (modify-phases %standard-phases
8458 (add-before 'check 'make-tests-writable
8459 (lambda _
8460 (make-file-writable "yasnippet-tests.el")
8461 #t))
8462 (add-before 'check 'delete-rebinding-test
8463 (lambda _
8464 (emacs-batch-edit-file "yasnippet-tests.el"
8465 `(progn (progn (goto-char (point-min))
8466 (re-search-forward
8467 "ert-deftest test-rebindings")
8468 (beginning-of-line)
8469 (kill-sexp))
8470 (basic-save-buffer)))
8471 #t)))))
8472 (home-page "https://github.com/joaotavora/yasnippet")
8473 (synopsis "Yet another snippet extension for Emacs")
8474 (description
8475 "YASnippet is a template system for Emacs. It allows you to type an
8476 abbreviation and automatically expand it into function templates.")
8477 (license license:gpl3+)))
8478
8479 (define-public emacs-yasnippet-snippets
8480 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
8481 (revision "1"))
8482 (package
8483 (name "emacs-yasnippet-snippets")
8484 (version (string-append "1-" revision "." (string-take commit 8)))
8485 (source
8486 (origin
8487 (method git-fetch)
8488 (uri (git-reference
8489 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8490 (commit commit)))
8491 (file-name (git-file-name name version))
8492 (sha256
8493 (base32
8494 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
8495 (build-system trivial-build-system)
8496 (arguments
8497 `(#:modules ((ice-9 ftw)
8498 (ice-9 regex)
8499 (guix build utils))
8500 #:builder
8501 (begin
8502 (use-modules (ice-9 ftw)
8503 (ice-9 regex)
8504 (guix build utils))
8505 (with-directory-excursion (assoc-ref %build-inputs "source")
8506 (for-each (lambda (dir)
8507 (copy-recursively
8508 dir
8509 (string-append %output
8510 "/share/emacs/yasnippet-snippets/"
8511 dir)))
8512 (scandir "." (lambda (fname)
8513 (and (string-match "-mode$" fname)
8514 (directory-exists? fname))))))
8515 #t)))
8516 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8517 (synopsis "Collection of YASnippet snippets for many languages")
8518 (description
8519 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8520 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8521 To make YASnippet aware of these snippets, add the above directory to
8522 @code{yas-snippet-dirs}.")
8523 (license license:expat))))
8524
8525 (define-public emacs-helm-c-yasnippet
8526 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8527 (revision "1"))
8528 (package
8529 (name "emacs-helm-c-yasnippet")
8530 (version (string-append "0.6.7" "-" revision "."
8531 (string-take commit 7)))
8532 (source (origin
8533 (method git-fetch)
8534 (uri (git-reference
8535 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8536 (commit commit)))
8537 (file-name (git-file-name name version))
8538 (sha256
8539 (base32
8540 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8541 (build-system emacs-build-system)
8542 (propagated-inputs
8543 `(("emacs-helm" ,emacs-helm)
8544 ("emacs-yasnippet" ,emacs-yasnippet)))
8545 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8546 (synopsis "Helm integration for Yasnippet")
8547 (description "This Emacs library provides Helm interface for
8548 Yasnippet.")
8549 (license license:gpl2+))))
8550
8551 (define-public emacs-helm-system-packages
8552 ;; There won't be a new release after 1.10.1 until
8553 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8554 ;; and latest commits fix import issues with Guix.
8555 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8556 (package
8557 (name "emacs-helm-system-packages")
8558 (version (git-version "1.10.1" "1" commit))
8559 (source (origin
8560 (method git-fetch)
8561 (uri (git-reference
8562 (url "https://github.com/emacs-helm/helm-system-packages")
8563 (commit commit)))
8564 (file-name (git-file-name name version))
8565 (sha256
8566 (base32
8567 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8568 (build-system emacs-build-system)
8569 (inputs
8570 `(("recutils" ,recutils)))
8571 (propagated-inputs
8572 `(("emacs-helm" ,emacs-helm)))
8573 (arguments
8574 `(#:phases
8575 (modify-phases %standard-phases
8576 (add-after 'unpack 'configure
8577 (lambda* (#:key inputs outputs #:allow-other-keys)
8578 (let ((recutils (assoc-ref inputs "recutils")))
8579 ;; Specify the absolute file names of the various
8580 ;; programs so that everything works out-of-the-box.
8581 (substitute* "helm-system-packages-guix.el"
8582 (("recsel") (string-append recutils "/bin/recsel")))))))))
8583 (home-page "https://github.com/emacs-helm/helm-system-packages")
8584 (synopsis "Helm System Packages is an interface to your package manager")
8585 (description "List all available packages in Helm (with installed
8586 packages displayed in their own respective face). Fuzzy-search, mark and
8587 execute the desired action over any selections of packages: Install,
8588 uninstall, display packages details (in Org Mode) or insert details at point,
8589 find files owned by packages... And much more, including performing all the
8590 above over the network.")
8591 (license license:gpl3+))))
8592
8593 (define-public emacs-helm-org-rifle
8594 (package
8595 (name "emacs-helm-org-rifle")
8596 (version "1.7.0")
8597 (source
8598 (origin
8599 (method git-fetch)
8600 (uri (git-reference
8601 (url "https://github.com/alphapapa/helm-org-rifle")
8602 (commit version)))
8603 (file-name (git-file-name name version))
8604 (sha256
8605 (base32
8606 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8607 (build-system emacs-build-system)
8608 (propagated-inputs
8609 `(("emacs-dash" ,emacs-dash)
8610 ("emacs-f" ,emacs-f)
8611 ("emacs-helm" ,emacs-helm)
8612 ("emacs-org" ,emacs-org)
8613 ("emacs-s" ,emacs-s)))
8614 (home-page "https://github.com/alphapapa/helm-org-rifle")
8615 (synopsis "Rifle through Org files")
8616 (description "This package searches both headings and contents of entries
8617 in Org buffers and displays matching entries.")
8618 (license license:gpl3+)))
8619
8620 (define-public emacs-dired-toggle-sudo
8621 (package
8622 (name "emacs-dired-toggle-sudo")
8623 (version "1.0")
8624 (source
8625 (origin
8626 (method git-fetch)
8627 (uri (git-reference
8628 (url "https://github.com/renard/dired-toggle-sudo")
8629 (commit (string-append "v" version))))
8630 (file-name (git-file-name name version))
8631 (sha256
8632 (base32
8633 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8634 (patches
8635 (search-patches
8636 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8637 (build-system emacs-build-system)
8638 (home-page "https://github.com/renard/dired-toggle-sudo")
8639 (synopsis "Browse directory with @code{sudo} privileges")
8640 (description "This package allows for the use of @code{dired} with
8641 @code{sudo} privileges.")
8642 (license license:wtfpl2)))
8643
8644 (define-public emacs-memoize
8645 (package
8646 (name "emacs-memoize")
8647 (version "1.1")
8648 (source
8649 (origin
8650 (method git-fetch)
8651 (uri (git-reference
8652 (url "https://github.com/skeeto/emacs-memoize.git")
8653 (commit version)))
8654 (file-name (git-file-name name version))
8655 (sha256
8656 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8657 (build-system emacs-build-system)
8658 (arguments
8659 `(#:tests? #t
8660 #:test-command '("emacs" "--batch"
8661 "-l" "memoize-test.el"
8662 "-f" "ert-run-tests-batch-and-exit")))
8663 (home-page "https://github.com/skeeto/emacs-memoize")
8664 (synopsis "Emacs lisp memoization library")
8665 (description "@code{emacs-memoize} is an Emacs library for
8666 memoizing functions.")
8667 (license license:unlicense)))
8668
8669 (define-public emacs-linum-relative
8670 (package
8671 (name "emacs-linum-relative")
8672 (version "0.6")
8673 (source
8674 (origin
8675 (method git-fetch)
8676 (uri (git-reference
8677 (url "https://github.com/coldnew/linum-relative.git")
8678 (commit version)))
8679 (file-name (git-file-name name version))
8680 (sha256
8681 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8682 (build-system emacs-build-system)
8683 (home-page "https://github.com/coldnew/linum-relative")
8684 (synopsis "Relative line numbering for Emacs")
8685 (description "@code{emacs-linum-relative} displays the relative line
8686 number on the left margin in Emacs.")
8687 (license license:gpl2+)))
8688
8689 (define-public emacs-idle-highlight
8690 (package
8691 (name "emacs-idle-highlight")
8692 (version "1.1.3")
8693 (source
8694 (origin
8695 (method git-fetch)
8696 (uri (git-reference
8697 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8698 (commit version)))
8699 (file-name (git-file-name name version))
8700 (sha256
8701 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8702 (build-system emacs-build-system)
8703 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8704 (synopsis "Highlights all occurrences of the word the point is on")
8705 (description
8706 "This Emacs package provides @code{idle-highlight-mode} that sets
8707 an idle timer to highlight all occurrences in the buffer of the word under
8708 the point.")
8709 (license license:gpl3+)))
8710
8711 (define-public emacs-ox-twbs
8712 (package
8713 (name "emacs-ox-twbs")
8714 (version "1.1.1")
8715 (source
8716 (origin
8717 (method git-fetch)
8718 (uri (git-reference
8719 (url "https://github.com/marsmining/ox-twbs.git")
8720 (commit (string-append "v" version))))
8721 (file-name (git-file-name name version))
8722 (sha256
8723 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
8724 (build-system emacs-build-system)
8725 (home-page "https://github.com/marsmining/ox-twbs")
8726 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
8727 (description
8728 "This Emacs package outputs your org-mode docs with a simple, clean and
8729 modern look. It implements a new HTML back-end for exporting org-mode docs as
8730 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
8731 jQuery and Bootstrap resources included via osscdn.")
8732 (license license:gpl3+)))
8733
8734 (define-public emacs-highlight-sexp
8735 (package
8736 (name "emacs-highlight-sexp")
8737 (version "1.0")
8738 (source
8739 (origin
8740 (method git-fetch)
8741 (uri (git-reference
8742 (url "https://github.com/daimrod/highlight-sexp.git")
8743 (commit (string-append "v" version))))
8744 (file-name (git-file-name name version))
8745 (sha256
8746 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
8747 (build-system emacs-build-system)
8748 (home-page "https://github.com/daimrod/highlight-sexp")
8749 (synopsis "Minor mode that highlights the s-exp at the current position")
8750 (description
8751 "This Emacs package highlights the s-exp at the current position.")
8752 (license license:gpl3+)))
8753
8754 (define-public emacs-highlight-stages
8755 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
8756 (revision "1"))
8757 (package
8758 (name "emacs-highlight-stages")
8759 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
8760 (source
8761 (origin
8762 (method git-fetch)
8763 (uri (git-reference
8764 (url "https://github.com/zk-phi/highlight-stages.git")
8765 (commit commit)))
8766 (file-name (git-file-name name version))
8767 (sha256
8768 (base32
8769 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
8770 (patches
8771 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
8772 (build-system emacs-build-system)
8773 (home-page "https://github.com/wigust/highlight-stages")
8774 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
8775 (description "@code{highlight-stages} provides an Emacs minor mode that
8776 highlights quasi-quoted expressions.")
8777 (license license:gpl3+))))
8778
8779 (define-public emacspeak
8780 (package
8781 (name "emacspeak")
8782 (version "50.0")
8783 (source
8784 (origin
8785 (method url-fetch)
8786 (uri (string-append
8787 "https://github.com/tvraman/emacspeak/releases/download/"
8788 version "/emacspeak-" version ".tar.bz2"))
8789 (sha256
8790 (base32
8791 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
8792 (build-system gnu-build-system)
8793 (arguments
8794 '(#:make-flags (list (string-append "prefix="
8795 (assoc-ref %outputs "out")))
8796 #:phases
8797 (modify-phases %standard-phases
8798 (replace 'configure
8799 (lambda _
8800 (setenv "SHELL" (which "sh"))
8801 ;; Configure Emacspeak according to etc/install.org.
8802 (invoke "make" "config")))
8803 (add-after 'build 'build-espeak
8804 (lambda _
8805 (invoke "make" "espeak")))
8806 (replace 'install
8807 (lambda* (#:key inputs outputs #:allow-other-keys)
8808 (let* ((out (assoc-ref outputs "out"))
8809 (bin (string-append out "/bin"))
8810 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
8811 (info (string-append out "/share/info"))
8812 (emacs (string-append (assoc-ref inputs "emacs")
8813 "/bin/emacs")))
8814 ;; According to etc/install.org, the Emacspeak directory should
8815 ;; be copied to its installation destination.
8816 (for-each
8817 (lambda (file)
8818 (copy-recursively file (string-append lisp "/" file)))
8819 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
8820 "stumpwm" "xsl"))
8821 ;; Make sure emacspeak is loaded from the correct directory.
8822 (substitute* "etc/emacspeak.sh"
8823 (("/lisp/emacspeak-setup.el")
8824 (string-append lisp "/lisp/emacspeak-setup.el")))
8825 ;; Install the convenient startup script.
8826 (mkdir-p bin)
8827 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
8828 #t))
8829 (add-after 'install 'wrap-program
8830 (lambda* (#:key inputs outputs #:allow-other-keys)
8831 (let* ((out (assoc-ref outputs "out"))
8832 (emacspeak (string-append out "/bin/emacspeak"))
8833 (espeak (string-append (assoc-ref inputs "espeak")
8834 "/bin/espeak")))
8835 ;; The environment variable DTK_PROGRAM tells emacspeak what
8836 ;; program to use for speech.
8837 (wrap-program emacspeak
8838 `("DTK_PROGRAM" ":" prefix (,espeak)))
8839 #t))))
8840 #:tests? #f)) ; no check target
8841 (inputs
8842 `(("emacs" ,emacs)
8843 ("espeak" ,espeak)
8844 ("perl" ,perl)
8845 ("tcl" ,tcl)
8846 ("tclx" ,tclx)))
8847 (home-page "http://emacspeak.sourceforge.net")
8848 (synopsis "Audio desktop interface for Emacs")
8849 (description
8850 "Emacspeak is a speech interface that allows visually impaired users to
8851 interact independently and efficiently with the computer. Audio formatting
8852 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
8853 allows Emacspeak to produce rich aural presentations of electronic information.
8854 By seamlessly blending all aspects of the Internet such as Web-surfing and
8855 messaging, Emacspeak speech-enables local and remote information via a
8856 consistent and well-integrated user interface.")
8857 (license license:gpl2+)))
8858
8859 (define-public emacs-adaptive-wrap
8860 (package
8861 (name "emacs-adaptive-wrap")
8862 (version "0.5.1")
8863 (source (origin
8864 (method url-fetch)
8865 (uri (string-append
8866 "http://elpa.gnu.org/packages/adaptive-wrap-"
8867 version ".el"))
8868 (sha256
8869 (base32
8870 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
8871 (build-system emacs-build-system)
8872 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
8873 (synopsis "Smart line-wrapping with wrap-prefix")
8874 (description
8875 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
8876 minor mode which sets the wrap-prefix property on the fly so that
8877 single-long-line paragraphs get word-wrapped in a way similar to what
8878 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
8879 actually changing the buffer's text.")
8880 (license license:gpl3+)))
8881
8882 (define-public emacs-diff-hl
8883 (package
8884 (name "emacs-diff-hl")
8885 (version "1.8.6")
8886 (source
8887 (origin
8888 (method git-fetch)
8889 (uri (git-reference
8890 (url "https://github.com/dgutov/diff-hl")
8891 (commit version)))
8892 (sha256
8893 (base32
8894 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
8895 (build-system emacs-build-system)
8896 (home-page "https://github.com/dgutov/diff-hl")
8897 (synopsis
8898 "Highlight uncommitted changes using VC")
8899 (description
8900 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
8901 window (using the fringe, by default), allows you to jump between
8902 the hunks and revert them selectively.")
8903 (license license:gpl3+)))
8904
8905 (define-public emacs-diminish
8906 (package
8907 (name "emacs-diminish")
8908 (version "0.45")
8909 (source
8910 (origin
8911 (method git-fetch)
8912 (uri (git-reference
8913 (url "https://github.com/myrjola/diminish.el.git")
8914 (commit (string-append "v" version))))
8915 (file-name (git-file-name name version))
8916 (sha256
8917 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
8918 (build-system emacs-build-system)
8919 (home-page "https://github.com/myrjola/diminish.el")
8920 (synopsis "Diminish minor modes with no modeline display")
8921 (description "@code{emacs-diminish} implements hiding or
8922 abbreviation of the mode line displays (lighters) of minor modes.")
8923 (license license:gpl2+)))
8924
8925 (define-public emacs-use-package
8926 (package
8927 (name "emacs-use-package")
8928 (version "2.4")
8929 (source (origin
8930 (method git-fetch)
8931 (uri (git-reference
8932 (url "https://github.com/jwiegley/use-package")
8933 (commit version)))
8934 (file-name (git-file-name name version))
8935 (sha256
8936 (base32
8937 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
8938 (build-system emacs-build-system)
8939 (propagated-inputs
8940 `(("emacs-diminish" ,emacs-diminish)))
8941 (arguments
8942 `(#:tests? #t
8943 #:test-command '("emacs" "--batch"
8944 "-l" "use-package-tests.el"
8945 "-f" "ert-run-tests-batch-and-exit")))
8946 (home-page "https://github.com/jwiegley/use-package")
8947 (synopsis "Declaration for simplifying your .emacs")
8948 (description "The use-package macro allows you to isolate package
8949 configuration in your @file{.emacs} file in a way that is both
8950 performance-oriented and tidy.")
8951 (license license:gpl2+)))
8952
8953 (define-public emacs-strace-mode
8954 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
8955 (revision "1"))
8956 (package
8957 (name "emacs-strace-mode")
8958 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
8959 (source (origin
8960 (method git-fetch)
8961 (uri (git-reference
8962 (url "https://github.com/pkmoore/strace-mode")
8963 (commit commit)))
8964 (file-name (git-file-name name version))
8965 (sha256
8966 (base32
8967 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
8968 (build-system emacs-build-system)
8969 (home-page "https://github.com/pkmoore/strace-mode")
8970 (synopsis "Emacs major mode to highlight strace outputs")
8971 (description "@code{emacs-strace-mode} provides an Emacs major mode
8972 highlighting strace outputs.")
8973 (license license:gpl3+))))
8974
8975 (define-public emacs-default-encrypt
8976 (package
8977 (name "emacs-default-encrypt")
8978 (version "4.4")
8979 (source
8980 (origin
8981 (method url-fetch)
8982 (uri (string-append
8983 "https://informationelle-selbstbestimmung-im-internet.de"
8984 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
8985 (file-name (string-append "jl-encrypt-" version ".el"))
8986 (sha256
8987 (base32
8988 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
8989 (build-system emacs-build-system)
8990 (home-page
8991 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8992 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
8993 (description
8994 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
8995 automatically encrypts messages that you send (e.g., email) when public keys
8996 for all recipients are available, and it protects you from accidentally
8997 sending un-encrypted messages. It can also be configured to automatically
8998 sign messages that you send. For details and instructions on how to use
8999 DefaultEncrypt, please refer to the home page or read the comments in the
9000 source file, @file{jl-encrypt.el}.")
9001 (license license:gpl3+)))
9002
9003 (define-public emacs-extend-smime
9004 (package
9005 (name "emacs-extend-smime")
9006 (version "3.3")
9007 (source
9008 (origin
9009 (method url-fetch)
9010 (uri (string-append
9011 "https://informationelle-selbstbestimmung-im-internet.de"
9012 "/emacs/jl-smime" version "/jl-smime.el"))
9013 (file-name (string-append "jl-smime-" version ".el"))
9014 (sha256
9015 (base32
9016 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
9017 (build-system emacs-build-system)
9018 (home-page
9019 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9020 (synopsis "Improved S/MIME support for Gnus in Emacs")
9021 (propagated-inputs
9022 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
9023 (description
9024 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
9025 ;; should not be translated. The name "emacs-default-encrypt" refers to
9026 ;; the Guix package that provides DefaultEncrypt.
9027 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
9028 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
9029 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
9030 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
9031 certificates via LDAP and imports them into @code{gpgsm}. When certificates
9032 for all recipients are available, DefaultEncrypt automatically encrypts the
9033 message. For details and instructions on how to use ExtendSMIME, please refer
9034 to the home page or read the comments in the source file,
9035 @file{jl-smime.el}.")
9036 (license license:gpl3+)))
9037
9038 (define-public emacs-htmlize
9039 (package
9040 (name "emacs-htmlize")
9041 (version "1.53")
9042 (source
9043 (origin
9044 (method git-fetch)
9045 (uri (git-reference
9046 (url "https://github.com/hniksic/emacs-htmlize.git")
9047 (commit (string-append "release/" version))))
9048 (file-name (git-file-name name version))
9049 (sha256
9050 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
9051 (build-system emacs-build-system)
9052 (home-page "https://github.com/hniksic/emacs-htmlize")
9053 (synopsis "Convert buffer text and decorations to HTML")
9054 (description "@code{emacs-htmlize} converts the buffer text and
9055 the associated decorations to HTML. Output to CSS, inline CSS and
9056 fonts is supported.")
9057 (license license:gpl2+)))
9058
9059 (define-public emacs-xmlgen
9060 (package
9061 (name "emacs-xmlgen")
9062 (version "0.5")
9063 (source
9064 (origin
9065 (method git-fetch)
9066 (uri (git-reference
9067 (url "https://github.com/philjackson/xmlgen.git")
9068 (commit version)))
9069 (file-name (git-file-name name version))
9070 (sha256
9071 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
9072 (build-system emacs-build-system)
9073 (arguments
9074 `(#:tests? #t
9075 #:test-command '("emacs" "--batch"
9076 "-l" "xmlgen-test.el"
9077 "-f" "ert-run-tests-batch-and-exit")))
9078 (home-page "https://github.com/philjackson/xmlgen")
9079 (synopsis "S-expression to XML domain specific language (DSL) in
9080 Emacs Lisp")
9081 (description "@code{emacs-xmlgen} provides S-expression to XML
9082 conversion for Emacs Lisp.")
9083 (license license:gpl2+)))
9084
9085 (define-public emacs-cdlatex
9086 (package
9087 (name "emacs-cdlatex")
9088 (version "4.7")
9089 (source
9090 (origin
9091 (method git-fetch)
9092 (uri (git-reference
9093 (url "https://github.com/cdominik/cdlatex.git")
9094 (commit version)))
9095 (file-name (git-file-name name version))
9096 (sha256
9097 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
9098 (build-system emacs-build-system)
9099 (propagated-inputs
9100 `(("emacs-auctex" ,emacs-auctex)))
9101 (home-page "https://github.com/cdominik/cdlatex")
9102 (synopsis "Fast Emacs input methods for LaTeX environments and
9103 math")
9104 (description "CDLaTeX is an Emacs minor mode supporting fast
9105 insertion of environment templates and math in LaTeX. Similar
9106 commands are also offered as part of the AUCTeX package, but it is not
9107 the same - CDLaTeX focuses on speediness for inserting LaTeX
9108 constructs.")
9109 (license license:gpl3+)))
9110
9111 (define-public emacs-cnfonts
9112 (package
9113 (name "emacs-cnfonts")
9114 (version "0.9.1")
9115 (source
9116 (origin
9117 (method git-fetch)
9118 (uri (git-reference
9119 (url "https://github.com/tumashu/cnfonts.git")
9120 (commit (string-append "v" version))))
9121 (file-name (git-file-name name version))
9122 (sha256
9123 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
9124 (build-system emacs-build-system)
9125 (home-page "https://github.com/tumashu/cnfonts")
9126 (synopsis "Emacs Chinese fonts setup tool")
9127 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
9128 configuration of Chinese fonts.")
9129 (license license:gpl2+)))
9130
9131 (define-public emacs-php-mode
9132 (package
9133 (name "emacs-php-mode")
9134 (version "20171225.342")
9135 (source (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "https://melpa.org/packages/php-mode-"
9139 version ".tar"))
9140 (sha256
9141 (base32
9142 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
9143 (build-system emacs-build-system)
9144 (home-page "https://github.com/ejmr/php-mode")
9145 (synopsis "Major mode for editing PHP code")
9146 (description "@code{php-mode} is a major mode for editing PHP source
9147 code. It's an extension of C mode; thus it inherits all C mode's navigation
9148 functionality. But it colors according to the PHP grammar and indents
9149 according to the PEAR coding guidelines. It also includes a couple handy
9150 IDE-type features such as documentation search and a source and class
9151 browser.")
9152 (license license:gpl3+)))
9153
9154 (define-public emacs-pos-tip
9155 (package
9156 (name "emacs-pos-tip")
9157 (version "0.4.6")
9158 (source
9159 (origin
9160 (method git-fetch)
9161 (uri (git-reference
9162 (url "https://github.com/pitkali/pos-tip.git")
9163 (commit version)))
9164 (file-name (git-file-name name version))
9165 (sha256
9166 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
9167 (build-system emacs-build-system)
9168 ;; The following functions and variables needed by emacs-pos-tip are
9169 ;; not included in emacs-minimal:
9170 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
9171 (arguments `(#:emacs ,emacs))
9172 (home-page "https://github.com/pitkali/pos-tip")
9173 (synopsis "Show tooltip at point")
9174 (description "The standard library tooltip.el provides a function for
9175 displaying a tooltip at the mouse position. However, locating a tooltip at an
9176 arbitrary buffer position in a window is not easy. Pos-tip provides such a
9177 function to be used by other frontend programs.")
9178 (license license:gpl2+)))
9179
9180 (define-public emacs-pyim-basedict
9181 (package
9182 (name "emacs-pyim-basedict")
9183 (version "0.3.1")
9184 (source
9185 (origin
9186 (method git-fetch)
9187 (uri (git-reference
9188 (url "https://github.com/tumashu/pyim-basedict.git")
9189 (commit (string-append "v" version))))
9190 (file-name (git-file-name name version))
9191 (sha256
9192 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
9193 (build-system emacs-build-system)
9194 (home-page "https://github.com/tumashu/pyim-basedict")
9195 (synopsis "Input method dictionary of pyim")
9196 (description "Pyim-basedict is the default pinyin input method dictionary,
9197 containing words from the rime project.")
9198 (license license:gpl2+)))
9199
9200 (define-public emacs-pyim
9201 (package
9202 (name "emacs-pyim")
9203 (version "1.8")
9204 (source
9205 (origin
9206 (method git-fetch)
9207 (uri (git-reference
9208 (url "https://github.com/tumashu/pyim")
9209 (commit (string-append "v" version))))
9210 (file-name (git-file-name name version))
9211 (sha256
9212 (base32
9213 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
9214 (build-system emacs-build-system)
9215 (propagated-inputs
9216 `(("emacs-async" ,emacs-async)
9217 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
9218 ("emacs-popup" ,emacs-popup)
9219 ("emacs-posframe" ,emacs-posframe)))
9220 (home-page "https://github.com/tumashu/pyim")
9221 (synopsis "Chinese input method")
9222 (description "Chinese input method which supports quanpin, shuangpin, wubi
9223 and cangjie.")
9224 (license license:gpl2+)))
9225
9226 (define-public emacs-posframe
9227 (package
9228 (name "emacs-posframe")
9229 (version "0.5.0")
9230 (source
9231 (origin
9232 (method git-fetch)
9233 (uri (git-reference
9234 (url "https://github.com/tumashu/posframe")
9235 (commit (string-append "v" version))))
9236 (file-name (git-file-name name version))
9237 (sha256
9238 (base32
9239 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
9240 (build-system emacs-build-system)
9241 ;; emacs-minimal does not include the function font-info
9242 (arguments `(#:emacs ,emacs))
9243 (home-page "https://github.com/tumashu/posframe")
9244 (synopsis "Pop a posframe (a child frame) at point")
9245 (description "@code{emacs-posframe} can pop a posframe at point. A
9246 posframe is a child frame displayed within its root window's buffer.
9247 @code{emacs-posframe} is fast and works well with CJK languages.")
9248 (license license:gpl3+)))
9249
9250 (define-public emacs-el2org
9251 (package
9252 (name "emacs-el2org")
9253 (version "0.6.0")
9254 (source
9255 (origin
9256 (method git-fetch)
9257 (uri (git-reference
9258 (url "https://github.com/tumashu/el2org.git")
9259 (commit (string-append "v" version))))
9260 (file-name (git-file-name name version))
9261 (sha256
9262 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
9263 (build-system emacs-build-system)
9264 (home-page "https://github.com/tumashu/el2org")
9265 (synopsis "Convert Emacs-lisp file to org file")
9266 (description "El2org is a simple tool, which can convert Emacs-lisp file
9267 to org file, you can use this tool to write orgify commentary.")
9268 (license license:gpl2+)))
9269
9270 (define-public emacs-mustache
9271 (package
9272 (name "emacs-mustache")
9273 (version "0.23")
9274 (source
9275 (origin
9276 (method git-fetch)
9277 (uri (git-reference
9278 (url "https://github.com/Wilfred/mustache.el.git")
9279 (commit version)))
9280 (file-name (git-file-name name version))
9281 (sha256
9282 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
9283 (build-system emacs-build-system)
9284 (propagated-inputs
9285 `(("emacs-dash" ,emacs-dash)
9286 ("emacs-ht" ,emacs-ht)
9287 ("emacs-s" ,emacs-s)))
9288 (home-page "https://github.com/Wilfred/mustache.el")
9289 (synopsis "Mustache templating library for Emacs")
9290 (description "Mustache templating library for Emacs, mustache is
9291 a simple web template system, which is described as a logic-less system
9292 because it lacks any explicit control flow statements, both looping and
9293 conditional evaluation can be achieved using section tags processing lists
9294 and lambdas.")
9295 (license license:gpl3+)))
9296
9297 (define-public emacs-org2web
9298 (package
9299 (name "emacs-org2web")
9300 (version "0.9.1")
9301 (source
9302 (origin
9303 (method git-fetch)
9304 (uri (git-reference
9305 (url "https://github.com/tumashu/org2web.git")
9306 (commit (string-append "v" version))))
9307 (file-name (git-file-name name version))
9308 (sha256
9309 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
9310 (build-system emacs-build-system)
9311 (propagated-inputs
9312 `(("emacs-dash" ,emacs-dash)
9313 ("emacs-el2org" ,emacs-el2org)
9314 ("emacs-ht" ,emacs-ht)
9315 ("emacs-mustache" ,emacs-mustache)
9316 ("emacs-simple-httpd" ,emacs-simple-httpd)))
9317 (home-page "https://github.com/tumashu/org2web")
9318 (synopsis "Static site generator based on org-mode ")
9319 (description "Org2web is a static site generator based on org-mode,
9320 which code derived from Kelvin H's org-page.")
9321 (license license:gpl2+)))
9322
9323 (define-public emacs-xelb
9324 (package
9325 (name "emacs-xelb")
9326 (version "0.18")
9327 (source (origin
9328 (method url-fetch)
9329 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
9330 version ".tar"))
9331 (sha256
9332 (base32
9333 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
9334 (build-system emacs-build-system)
9335 ;; The following functions and variables needed by emacs-xelb are
9336 ;; not included in emacs-minimal:
9337 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
9338 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
9339 ;; x-display-pixel-width, x-display-pixel-height
9340 (arguments
9341 `(#:emacs ,emacs
9342 #:phases
9343 (modify-phases %standard-phases
9344 (add-after 'unpack 'regenerate-el-files
9345 (lambda* (#:key inputs #:allow-other-keys)
9346 (invoke "make"
9347 (string-append "PROTO_PATH="
9348 (assoc-ref inputs "xcb-proto")
9349 "/share/xcb")
9350 (string-append "EMACS_BIN="
9351 (assoc-ref inputs "emacs")
9352 "/bin/emacs -Q")))))))
9353 (native-inputs `(("xcb-proto" ,xcb-proto)))
9354 (home-page "https://github.com/ch11ng/xelb")
9355 (synopsis "X protocol Emacs Lisp binding")
9356 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
9357 X11 protocol based on the XML description files from the XCB project. It
9358 features an object-oriented API and permits a certain degree of concurrency.
9359 It should enable you to implement low-level X11 applications.")
9360 (license license:gpl3+)))
9361
9362 (define-public emacs-exwm
9363 (package
9364 (name "emacs-exwm")
9365 (version "0.23")
9366 (synopsis "Emacs X window manager")
9367 (source (origin
9368 (method url-fetch)
9369 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
9370 version ".tar"))
9371 (sha256
9372 (base32
9373 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
9374 (build-system emacs-build-system)
9375 (propagated-inputs
9376 `(("emacs-xelb" ,emacs-xelb)))
9377 (inputs
9378 `(("xhost" ,xhost)
9379 ("dbus" ,dbus)))
9380 ;; The following functions and variables needed by emacs-exwm are
9381 ;; not included in emacs-minimal:
9382 ;; scroll-bar-mode, fringe-mode
9383 ;; x-display-pixel-width, x-display-pixel-height
9384 (arguments
9385 `(#:emacs ,emacs
9386 #:phases
9387 (modify-phases %standard-phases
9388 (add-after 'build 'install-xsession
9389 (lambda* (#:key inputs outputs #:allow-other-keys)
9390 (let* ((out (assoc-ref outputs "out"))
9391 (xsessions (string-append out "/share/xsessions"))
9392 (bin (string-append out "/bin"))
9393 (exwm-executable (string-append bin "/exwm")))
9394 ;; Add a .desktop file to xsessions
9395 (mkdir-p xsessions)
9396 (mkdir-p bin)
9397 (with-output-to-file
9398 (string-append xsessions "/exwm.desktop")
9399 (lambda _
9400 (format #t "[Desktop Entry]~@
9401 Name=~a~@
9402 Comment=~a~@
9403 Exec=~a~@
9404 TryExec=~:*~a~@
9405 Type=Application~%" ,name ,synopsis exwm-executable)))
9406 ;; Add a shell wrapper to bin
9407 (with-output-to-file exwm-executable
9408 (lambda _
9409 (format #t "#!~a ~@
9410 ~a +SI:localuser:$USER ~@
9411 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9412 (string-append (assoc-ref inputs "bash") "/bin/sh")
9413 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9414 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9415 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9416 '(cond
9417 ((file-exists-p "~/.exwm")
9418 (load-file "~/.exwm"))
9419 ((not (featurep 'exwm))
9420 (require 'exwm)
9421 (require 'exwm-config)
9422 (exwm-config-default)
9423 (message (concat "exwm configuration not found. "
9424 "Falling back to default configuration...")))))))
9425 (chmod exwm-executable #o555)
9426 #t))))))
9427 (home-page "https://github.com/ch11ng/exwm")
9428 (description "EXWM is a full-featured tiling X window manager for Emacs
9429 built on top of XELB.")
9430 (license license:gpl3+)))
9431
9432 (define-public emacs-switch-window
9433 (package
9434 (name "emacs-switch-window")
9435 (version "1.6.2")
9436 (source
9437 (origin
9438 (method git-fetch)
9439 (uri (git-reference
9440 (url "https://github.com/dimitri/switch-window")
9441 (commit (string-append "v" version))))
9442 (file-name (git-file-name name version))
9443 (sha256
9444 (base32
9445 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
9446 (build-system emacs-build-system)
9447 (home-page "https://github.com/dimitri/switch-window")
9448 (synopsis "Emacs window switch tool")
9449 (description "Switch-window is an emacs window switch tool, which
9450 offer a visual way to choose a window to switch to, delete, split or
9451 other operations.")
9452 (license license:wtfpl2)))
9453
9454 (define-public emacs-exwm-x
9455 (package
9456 (name "emacs-exwm-x")
9457 (version "1.9.0")
9458 (synopsis "Derivative window manager based on EXWM")
9459 (source
9460 (origin
9461 (method git-fetch)
9462 (uri (git-reference
9463 (url "https://github.com/tumashu/exwm-x")
9464 (commit (string-append "v" version))))
9465 (file-name (git-file-name name version))
9466 (sha256
9467 (base32
9468 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
9469 (build-system emacs-build-system)
9470 (propagated-inputs
9471 `(("emacs-exwm" ,emacs-exwm)
9472 ("emacs-switch-window" ,emacs-switch-window)
9473 ("emacs-ivy" ,emacs-ivy)
9474 ("emacs-use-package" ,emacs-use-package)))
9475 (inputs
9476 `(("xhost" ,xhost)
9477 ("dbus" ,dbus)))
9478 ;; Need emacs instead of emacs-minimal,
9479 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9480 (arguments
9481 `(#:emacs ,emacs
9482 #:phases
9483 (modify-phases %standard-phases
9484 (add-after 'build 'install-xsession
9485 (lambda* (#:key inputs outputs #:allow-other-keys)
9486 (let* ((out (assoc-ref outputs "out"))
9487 (xsessions (string-append out "/share/xsessions"))
9488 (bin (string-append out "/bin"))
9489 (exwm-executable (string-append bin "/exwm-x")))
9490 ;; Add a .desktop file to xsessions
9491 (mkdir-p xsessions)
9492 (mkdir-p bin)
9493 (with-output-to-file
9494 (string-append xsessions "/exwm-x.desktop")
9495 (lambda _
9496 (format #t "[Desktop Entry]~@
9497 Name=~a~@
9498 Comment=~a~@
9499 Exec=~a~@
9500 TryExec=~@*~a~@
9501 Type=Application~%" ,name ,synopsis exwm-executable)))
9502 ;; Add a shell wrapper to bin
9503 (with-output-to-file exwm-executable
9504 (lambda _
9505 (format #t "#!~a ~@
9506 ~a +SI:localuser:$USER ~@
9507 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9508 (string-append (assoc-ref inputs "bash") "/bin/sh")
9509 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9510 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9511 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9512 '(require 'exwmx-loader))))
9513 (chmod exwm-executable #o555)
9514 #t))))))
9515 (home-page "https://github.com/tumashu/exwm-x")
9516 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9517 on mouse-control.")
9518 (license license:gpl3+)))
9519
9520 (define-public emacs-gnugo
9521 (package
9522 (name "emacs-gnugo")
9523 (version "3.1.0")
9524 (source
9525 (origin
9526 (method url-fetch)
9527 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9528 version ".tar"))
9529 (sha256
9530 (base32
9531 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9532 (build-system emacs-build-system)
9533 (arguments
9534 `(#:phases (modify-phases %standard-phases
9535 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9536 (lambda _
9537 (substitute* "gnugo.el"
9538 (("defvar gnugo-xpms nil")
9539 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9540 #t)))))
9541 (propagated-inputs
9542 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9543 ("emacs-xpm" ,emacs-xpm)))
9544 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9545 (synopsis "Emacs major mode for playing GNU Go")
9546 (description "This package provides an Emacs based interface for GNU Go.
9547 It has a graphical mode where the board and stones are drawn using XPM images
9548 and supports the use of a mouse.")
9549 (license license:gpl3+)))
9550
9551 (define-public emacs-gnuplot
9552 (package
9553 (name "emacs-gnuplot")
9554 (version "0.7.0")
9555 (source
9556 (origin
9557 (method git-fetch)
9558 (uri (git-reference
9559 (url "https://github.com/bruceravel/gnuplot-mode.git")
9560 (commit version)))
9561 (file-name (git-file-name name version))
9562 (sha256
9563 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9564 (build-system gnu-build-system)
9565 (native-inputs `(("emacs" ,emacs-minimal)))
9566 (arguments
9567 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
9568 "/gnuplot-" version)))
9569 `(#:modules ((guix build gnu-build-system)
9570 (guix build utils)
9571 (guix build emacs-utils))
9572 #:imported-modules (,@%gnu-build-system-modules
9573 (guix build emacs-utils))
9574 #:configure-flags
9575 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9576 "/bin/emacs")
9577 (string-append "--with-lispdir=" %output ,elisp-dir))
9578 #:phases
9579 (modify-phases %standard-phases
9580 (add-after 'install 'generate-autoloads
9581 (lambda* (#:key outputs #:allow-other-keys)
9582 (emacs-generate-autoloads
9583 "gnuplot"
9584 (string-append (assoc-ref outputs "out") ,elisp-dir))
9585 #t))))))
9586 (home-page "https://github.com/bruceravel/gnuplot-mode")
9587 (synopsis "Emacs major mode for interacting with gnuplot")
9588 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9589 with gnuplot.")
9590 (license license:gpl2+)))
9591
9592 (define-public emacs-transpose-frame
9593 (package
9594 (name "emacs-transpose-frame")
9595 (version "0.1.0")
9596 (source
9597 (origin
9598 (method url-fetch)
9599 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
9600 (file-name (string-append "transpose-frame-" version ".el"))
9601 (sha256
9602 (base32
9603 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9604 (build-system emacs-build-system)
9605 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9606 (synopsis "Transpose window arrangement in current frame")
9607 (description "@code{emacs-transpose-frame} provides some interactive
9608 functions which allows users to transpose windows arrangement in currently
9609 selected frame.")
9610 (license license:bsd-2)))
9611
9612 (define-public emacs-key-chord
9613 (package
9614 (name "emacs-key-chord")
9615 (version "0.6")
9616 (source
9617 (origin
9618 (method url-fetch)
9619 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9620 (file-name (string-append "key-chord-" version ".el"))
9621 (sha256
9622 (base32
9623 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9624 (build-system emacs-build-system)
9625 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9626 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9627 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9628 mode for binding key chords to commands. A key chord is defined as two keys
9629 pressed simultaneously or a single key quickly pressed twice.")
9630 (license license:gpl2+)))
9631
9632 (define-public emacs-evil-surround
9633 (package
9634 (name "emacs-evil-surround")
9635 (version "1.0.4")
9636 (source
9637 (origin
9638 (method git-fetch)
9639 (uri (git-reference
9640 (url "https://github.com/emacs-evil/evil-surround")
9641 (commit version)))
9642 (file-name (git-file-name name version))
9643 (sha256
9644 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9645 (build-system emacs-build-system)
9646 (propagated-inputs
9647 `(("emacs-evil" ,emacs-evil)))
9648 (arguments
9649 `(#:tests? #t
9650 #:test-command '("make" "test")))
9651 (home-page "https://github.com/emacs-evil/evil-surround")
9652 (synopsis "Easily modify surrounding parentheses and quotes")
9653 (description "@code{emacs-evil-surround} allows easy deletion, change and
9654 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9655 (license license:gpl3+)))
9656
9657 (define-public emacs-evil-commentary
9658 (package
9659 (name "emacs-evil-commentary")
9660 (version "2.1.1")
9661 (source
9662 (origin
9663 (method git-fetch)
9664 (uri (git-reference
9665 (url "https://github.com/linktohack/evil-commentary.git")
9666 (commit (string-append "v" version))))
9667 (file-name (git-file-name name version))
9668 (sha256
9669 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9670 (build-system emacs-build-system)
9671 (propagated-inputs
9672 `(("emacs-evil" ,emacs-evil)))
9673 (home-page "https://github.com/linktohack/evil-commentary")
9674 (synopsis "Comment out code in evil mode")
9675 (description "@code{emacs-evil-commentary} adds keybindings to easily
9676 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9677 lines, and @code{gc} to comment out the target of a motion.")
9678 (license license:gpl3+)))
9679
9680 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9681 ;; therefore cannot be run
9682 (define-public emacs-ansi
9683 (package
9684 (name "emacs-ansi")
9685 (version "0.4.1")
9686 (source
9687 (origin
9688 (method git-fetch)
9689 (uri (git-reference
9690 (url "https://github.com/rejeep/ansi.el.git")
9691 (commit (string-append "v" version))))
9692 (file-name (git-file-name name version))
9693 (sha256
9694 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
9695 (build-system emacs-build-system)
9696 (propagated-inputs
9697 `(("emacs-dash" ,emacs-dash)
9698 ("emacs-s" ,emacs-s)))
9699 (home-page "https://github.com/rejeep/ansi.el")
9700 (synopsis "Convert strings to ANSI")
9701 (description "@code{emacs-ansi} defines functions that turns simple
9702 strings to ANSI strings. Turning a string into an ANSI string can be to add
9703 color to a text, add color in the background of a text or adding a style, such
9704 as bold, underscore or italic.")
9705 (license license:gpl3+)))
9706
9707 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
9708 ;; therefore cannot be run
9709 (define-public emacs-commander
9710 (package
9711 (name "emacs-commander")
9712 (version "0.7.0")
9713 (source
9714 (origin
9715 (method git-fetch)
9716 (uri (git-reference
9717 (url "https://github.com/rejeep/commander.el.git")
9718 (commit (string-append "v" version))))
9719 (file-name (git-file-name name version))
9720 (sha256
9721 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
9722 (build-system emacs-build-system)
9723 (propagated-inputs
9724 `(("emacs-dash" ,emacs-dash)
9725 ("emacs-f" ,emacs-f)
9726 ("emacs-s" ,emacs-s)))
9727 (home-page "https://github.com/rejeep/commander.el")
9728 (synopsis "Emacs command line parser")
9729 (description "@code{emacs-commander} provides command line parsing for
9730 Emacs.")
9731 (license license:gpl3+)))
9732
9733 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
9734 ;; cannot be run
9735 (define-public emacs-ert-runner
9736 (let ((version "0.7.0")
9737 (revision "1")
9738 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
9739 (package
9740 (name "emacs-ert-runner")
9741 (version (git-version "0.7.0" revision commit))
9742 (source
9743 (origin
9744 (method git-fetch)
9745 (uri (git-reference
9746 (url "https://github.com/rejeep/ert-runner.el.git")
9747 (commit commit)))
9748 (file-name (git-file-name name version))
9749 (sha256
9750 (base32
9751 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
9752 (build-system emacs-build-system)
9753 (inputs
9754 `(("emacs-ansi" ,emacs-ansi)
9755 ("emacs-commander" ,emacs-commander)
9756 ("emacs-dash" ,emacs-dash)
9757 ("emacs-f" ,emacs-f)
9758 ("emacs-s" ,emacs-s)
9759 ("emacs-shut-up" ,emacs-shut-up)))
9760 (arguments
9761 `(#:phases
9762 (modify-phases %standard-phases
9763 (add-after 'install 'install-executable
9764 (lambda* (#:key inputs outputs #:allow-other-keys)
9765 (let ((out (assoc-ref outputs "out"))
9766 (source-directory (string-append
9767 (getenv "TMPDIR") "/source")))
9768 (substitute* "bin/ert-runner"
9769 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
9770 (string-append "ERT_RUNNER=\"" out
9771 "/share/emacs/site-lisp/guix.d/ert-runner-"
9772 ,version)))
9773 (install-file "bin/ert-runner" (string-append out "/bin"))
9774 (wrap-program (string-append out "/bin/ert-runner")
9775 (list "EMACSLOADPATH" ":" 'prefix
9776 ;; Do not capture the transient source directory in
9777 ;; the wrapper.
9778 (delete source-directory
9779 (string-split (getenv "EMACSLOADPATH") #\:))))
9780 #t))))
9781 #:include (cons* "^reporters/.*\\.el$" %default-include)))
9782 (home-page "https://github.com/rejeep/ert-runner.el")
9783 (synopsis "Opinionated Ert testing workflow")
9784 (description "@code{ert-runner} is a tool for Emacs projects tested
9785 using ERT. It assumes a certain test structure setup and can therefore make
9786 running tests easier.")
9787 (license license:gpl3+))))
9788
9789 (define-public ert-runner
9790 (deprecated-package "ert-runner" emacs-ert-runner))
9791
9792 (define-public emacs-xtest
9793 (package
9794 (name "emacs-xtest")
9795 (version "1.1.0")
9796 (source (origin
9797 (method git-fetch)
9798 (uri (git-reference
9799 (url "https://github.com/promethial/xtest.git")
9800 (commit (string-append "v" version))))
9801 (file-name (git-file-name name version))
9802 (sha256
9803 (base32
9804 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
9805 (arguments
9806 `(#:exclude '()))
9807 (build-system emacs-build-system)
9808 (home-page "https://github.com/promethial/xtest/")
9809 (synopsis "Simple testing with Emacs")
9810 (description "This package provides a simple testing library for Emacs.")
9811 (license license:gpl3+)))
9812
9813 (define-public emacs-disable-mouse
9814 (package
9815 (name "emacs-disable-mouse")
9816 (version "0.2")
9817 (source
9818 (origin
9819 (method git-fetch)
9820 (uri (git-reference
9821 (url "https://github.com/purcell/disable-mouse.git")
9822 (commit version)))
9823 (file-name (git-file-name name version))
9824 (sha256
9825 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
9826 (build-system emacs-build-system)
9827 (home-page "https://github.com/purcell/disable-mouse")
9828 (synopsis "Disable mouse commands globally")
9829 (description
9830 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
9831 pair of minor modes which suppress all mouse events by intercepting them and
9832 running a customisable handler command (@code{ignore} by default). ")
9833 (license license:gpl3+)))
9834
9835 (define-public emacs-json-reformat
9836 (package
9837 (name "emacs-json-reformat")
9838 (version "0.0.6")
9839 (source
9840 (origin
9841 (method git-fetch)
9842 (uri (git-reference
9843 (url "https://github.com/gongo/json-reformat.git")
9844 (commit version)))
9845 (file-name (git-file-name name version))
9846 (sha256
9847 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
9848 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
9849 (build-system emacs-build-system)
9850 (propagated-inputs
9851 `(("emacs-undercover" ,emacs-undercover)))
9852 (native-inputs
9853 `(("emacs-dash" ,emacs-dash)
9854 ("emacs-shut-up" ,emacs-shut-up)
9855 ("ert-runner" ,emacs-ert-runner)))
9856 (arguments
9857 `(#:tests? #t
9858 #:test-command '("ert-runner")
9859 #:phases
9860 (modify-phases %standard-phases
9861 (add-before 'check 'make-tests-writable
9862 (lambda _
9863 (for-each make-file-writable (find-files "test"))
9864 #t))
9865 (add-before 'check 'delete-json-objects-order-test
9866 (lambda _
9867 (emacs-batch-edit-file "test/json-reformat-test.el"
9868 `(progn (progn (goto-char (point-min))
9869 (re-search-forward
9870 "ert-deftest json-reformat-test:json-reformat-region")
9871 (beginning-of-line)
9872 (kill-sexp))
9873 (basic-save-buffer)))
9874 #t)))))
9875 (home-page "https://github.com/gongo/json-reformat")
9876 (synopsis "Reformatting tool for JSON")
9877 (description "@code{json-reformat} provides a reformatting tool for
9878 @url{http://json.org/, JSON}.")
9879 (license license:gpl3+)))
9880
9881 (define-public emacs-json-snatcher
9882 (package
9883 (name "emacs-json-snatcher")
9884 (version "1.0.0")
9885 (source
9886 (origin
9887 (method git-fetch)
9888 (uri (git-reference
9889 (url "https://github.com/Sterlingg/json-snatcher.git")
9890 (commit version)))
9891 (file-name (git-file-name name version))
9892 (sha256
9893 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
9894 (build-system emacs-build-system)
9895 (home-page "https://github.com/sterlingg/json-snatcher")
9896 (synopsis "Grabs the path to JSON values in a JSON file")
9897 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
9898 a @url{http://json.org/, JSON} file.")
9899 (license license:gpl3+)))
9900
9901 (define-public emacs-json-mode
9902 (package
9903 (name "emacs-json-mode")
9904 (version "1.7.0")
9905 (source
9906 (origin
9907 (method git-fetch)
9908 (uri (git-reference
9909 (url "https://github.com/joshwnj/json-mode.git")
9910 (commit (string-append "v" version))))
9911 (file-name (git-file-name name version))
9912 (sha256
9913 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
9914 (build-system emacs-build-system)
9915 (propagated-inputs
9916 `(("emacs-json-reformat" ,emacs-json-reformat)
9917 ("emacs-json-snatcher" ,emacs-json-snatcher)))
9918 (home-page "https://github.com/joshwnj/json-mode")
9919 (synopsis "Major mode for editing JSON files")
9920 (description "@code{json-mode} extends the builtin js-mode syntax
9921 highlighting.")
9922 (license license:gpl3+)))
9923
9924 (define-public emacs-restclient
9925 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
9926 (version "0")
9927 (revision "2")) ;Guix package revision,
9928 ;upstream doesn't have official releases
9929 (package
9930 (name "emacs-restclient")
9931 (version (git-version version revision commit))
9932 (source (origin
9933 (method git-fetch)
9934 (uri (git-reference
9935 (url "https://github.com/pashky/restclient.el.git")
9936 (commit commit)))
9937 (sha256
9938 (base32
9939 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
9940 (file-name (git-file-name name version))))
9941 (build-system emacs-build-system)
9942 (propagated-inputs
9943 `(("emacs-helm" ,emacs-helm)))
9944 (home-page "https://github.com/pashky/restclient.el")
9945 (synopsis "Explore and test HTTP REST webservices")
9946 (description
9947 "This tool allows for testing and exploration of HTTP REST Web services
9948 from within Emacs. Restclient runs queries from a plan-text query sheet,
9949 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
9950 (license license:public-domain))))
9951
9952 (define-public emacs-whitespace-cleanup-mode
9953 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
9954 (revision "1"))
9955 (package
9956 (name "emacs-whitespace-cleanup-mode")
9957 (version (git-version "0.10" revision commit))
9958 (source (origin
9959 (method git-fetch)
9960 (uri (git-reference
9961 (url "https://github.com/purcell/whitespace-cleanup-mode")
9962 (commit commit)))
9963 (sha256
9964 (base32
9965 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
9966 (file-name (git-file-name name version))))
9967 (build-system emacs-build-system)
9968 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
9969 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
9970 (description
9971 "This package provides a minor mode that calls
9972 @code{whitespace-cleanup} before saving the current buffer only if the
9973 whitespace in the buffer was initially clean.")
9974 (license license:gpl3+))))
9975
9976 (define-public emacs-eimp
9977 (let ((version "1.4.0")
9978 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
9979 (revision "1"))
9980 (package
9981 (name "emacs-eimp")
9982 (version (git-version version revision commit))
9983 (source
9984 (origin
9985 (method git-fetch)
9986 (uri (git-reference
9987 (url "https://github.com/nicferrier/eimp.git")
9988 (commit commit)))
9989 (file-name (git-file-name name version))
9990 (sha256
9991 (base32
9992 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
9993 (build-system emacs-build-system)
9994 (arguments
9995 `(#:phases
9996 (modify-phases %standard-phases
9997 (add-after 'unpack 'configure
9998 (lambda* (#:key inputs #:allow-other-keys)
9999 (let ((imagemagick (assoc-ref inputs "imagemagick")))
10000 ;; eimp.el is read-only in git.
10001 (chmod "eimp.el" #o644)
10002 (emacs-substitute-variables "eimp.el"
10003 ("eimp-mogrify-program"
10004 (string-append imagemagick "/bin/mogrify"))))
10005 #t)))))
10006 (inputs
10007 `(("imagemagick" ,imagemagick)))
10008 (home-page "https://github.com/nicferrier/eimp")
10009 (synopsis "Interactive image manipulation utility for Emacs")
10010 (description "@code{emacs-eimp} allows interactive image manipulation
10011 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
10012 the actual transformations.")
10013 (license license:gpl2+))))
10014
10015 (define-public emacs-dired-hacks
10016 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
10017 (revision "2"))
10018 (package
10019 (name "emacs-dired-hacks")
10020 (version (git-version "0.0.1" revision commit))
10021 (source (origin
10022 (method git-fetch)
10023 (uri (git-reference
10024 (url "https://github.com/Fuco1/dired-hacks.git")
10025 (commit commit)))
10026 (file-name (git-file-name name version))
10027 (sha256
10028 (base32
10029 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
10030 (build-system emacs-build-system)
10031 (propagated-inputs
10032 `(("emacs-dash" ,emacs-dash)
10033 ("emacs-eimp" ,emacs-eimp)
10034 ("emacs-f" ,emacs-f)
10035 ("emacs-s" ,emacs-s)))
10036 (home-page "https://github.com/Fuco1/dired-hacks")
10037 (synopsis
10038 "Collection of useful dired additions")
10039 (description
10040 "This package provides the following collection of Emacs dired mode
10041 additions:
10042
10043 @itemize
10044 @item dired-avfs
10045 @item dired-columns
10046 @item dired-filter
10047 @item dired-hacks-utils
10048 @item dired-images
10049 @item dired-list
10050 @item dired-narrow
10051 @item dired-open
10052 @item dired-rainbow
10053 @item dired-ranger
10054 @item dired-subtree
10055 @item dired-tagsistant
10056 @end itemize\n")
10057 (license license:gpl3+))))
10058
10059 (define-public emacs-dired-sidebar
10060 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
10061 (revision "0"))
10062 (package
10063 (name "emacs-dired-sidebar")
10064 (home-page "https://github.com/jojojames/dired-sidebar")
10065 (version (git-version "0.0.1" revision commit))
10066 (source (origin
10067 (method git-fetch)
10068 (uri (git-reference (url home-page) (commit commit)))
10069 (file-name (git-file-name name version))
10070 (sha256
10071 (base32
10072 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
10073 (build-system emacs-build-system)
10074 (propagated-inputs
10075 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
10076 (synopsis "Sidebar for Emacs using Dired")
10077 (description
10078 "This package provides a sidebar for Emacs similar to @code{NeoTree}
10079 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
10080 (license license:gpl3+))))
10081
10082 (define-public emacs-which-key
10083 (package
10084 (name "emacs-which-key")
10085 (version "3.3.1")
10086 (source
10087 (origin
10088 (method git-fetch)
10089 (uri (git-reference
10090 (url "https://github.com/justbur/emacs-which-key.git")
10091 (commit (string-append "v" version))))
10092 (file-name (git-file-name name version))
10093 (sha256
10094 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
10095 (build-system emacs-build-system)
10096 (arguments
10097 `(#:tests? #t
10098 #:test-command '("emacs" "--batch"
10099 "-l" "which-key-tests.el"
10100 "-f" "ert-run-tests-batch-and-exit")))
10101 (home-page "https://github.com/justbur/emacs-which-key")
10102 (synopsis "Display available key bindings in popup")
10103 (description
10104 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
10105 bindings following your currently entered incomplete command (a prefix) in a
10106 popup. For example, after enabling the minor mode if you enter C-x and wait
10107 for the default of 1 second, the minibuffer will expand with all of the
10108 available key bindings that follow C-x (or as many as space allows given your
10109 settings).")
10110 (license license:gpl3+)))
10111
10112 (define-public emacs-hercules
10113 (package
10114 (name "emacs-hercules")
10115 (version "0.2.1")
10116 (source
10117 (origin
10118 (method git-fetch)
10119 (uri (git-reference
10120 (url "https://gitlab.com/jjzmajic/hercules.el.git")
10121 (commit (string-append "v" version))))
10122 (file-name (git-file-name name version))
10123 (sha256
10124 (base32
10125 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
10126 (build-system emacs-build-system)
10127 (propagated-inputs
10128 `(("emacs-which-key" ,emacs-which-key)))
10129 (home-page "https://gitlab.com/jjzmajic/hercules.el")
10130 (synopsis "Call a chain of related commands without repeated prefix keys")
10131 (description
10132 "This package provides sticky-key-like functionality to obviate the
10133 need for repeated prefix-key sequences, and can reuse existing keymaps. The
10134 list of commands is displayed in a handy popup.")
10135 (license license:gpl3+)))
10136
10137 (define-public emacs-ws-butler
10138 (package
10139 (name "emacs-ws-butler")
10140 (version "0.6")
10141 (source (origin
10142 (method git-fetch)
10143 (uri (git-reference
10144 (url "https://github.com/lewang/ws-butler.git")
10145 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
10146 (file-name (git-file-name name version))
10147 (sha256
10148 (base32
10149 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
10150 (build-system emacs-build-system)
10151 (native-inputs
10152 `(("ert-runner" ,emacs-ert-runner)))
10153 (arguments
10154 `(#:tests? #t
10155 #:test-command '("ert-runner" "tests")))
10156 (home-page "https://github.com/lewang/ws-butler")
10157 (synopsis "Trim spaces from end of lines")
10158 (description
10159 "This Emacs package automatically and unobtrusively trims whitespace
10160 characters from end of lines.")
10161 (license license:gpl3+)))
10162
10163 (define-public emacs-org-edit-latex
10164 (package
10165 (name "emacs-org-edit-latex")
10166 (version "0.8.0")
10167 (source
10168 (origin
10169 (method git-fetch)
10170 (uri (git-reference
10171 (url "https://github.com/et2010/org-edit-latex.git")
10172 (commit (string-append "v" version))))
10173 (file-name (git-file-name name version))
10174 (sha256
10175 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
10176 (build-system emacs-build-system)
10177 (propagated-inputs
10178 `(("emacs-auctex" ,emacs-auctex)
10179 ;; The version of org in Emacs 25.2 is not sufficient, because the
10180 ;; `org-latex-make-preamble' function is required.
10181 ("emacs-org" ,emacs-org)))
10182 (home-page "https://github.com/et2010/org-edit-latex")
10183 (synopsis "Edit a latex fragment just like editing a src block")
10184 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
10185 It lets you edit a latex fragment in a dedicated buffer just like editing a
10186 src block.")
10187 (license license:gpl3+)))
10188
10189 (define-public emacs-emamux
10190 (package
10191 (name "emacs-emamux")
10192 (version "0.14")
10193 (source
10194 (origin
10195 (method git-fetch)
10196 (uri (git-reference
10197 (url "https://github.com/syohex/emacs-emamux.git")
10198 (commit version)))
10199 (file-name (git-file-name name version))
10200 (sha256
10201 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
10202 (build-system emacs-build-system)
10203 (home-page "https://github.com/syohex/emacs-emamux")
10204 (synopsis "Manipulate Tmux from Emacs")
10205 (description
10206 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
10207 multiplexer.")
10208 (license license:gpl3+)))
10209
10210 (define-public emacs-rpm-spec-mode
10211 (package
10212 (name "emacs-rpm-spec-mode")
10213 (version "0.16")
10214 (source
10215 (origin
10216 (method url-fetch)
10217 ;; URI has the Fedora release number instead of the version
10218 ;; number. This will have to updated manually every new release.
10219 (uri (string-append
10220 "https://src.fedoraproject.org/cgit/rpms"
10221 "/emacs-rpm-spec-mode.git/snapshot"
10222 "/emacs-rpm-spec-mode-f26.tar.gz"))
10223 (sha256
10224 (base32
10225 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
10226 (build-system emacs-build-system)
10227 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
10228 (synopsis "Emacs major mode for editing RPM spec files")
10229 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
10230 editing RPM spec files.")
10231 (license license:gpl2+)))
10232
10233 (define-public emacs-lcr
10234 (package
10235 (name "emacs-lcr")
10236 (version "1.1")
10237 (source
10238 (origin
10239 (method git-fetch)
10240 (uri (git-reference
10241 (url "https://github.com/jyp/lcr")
10242 (commit version)))
10243 (file-name (git-file-name name version))
10244 (sha256
10245 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
10246 (build-system emacs-build-system)
10247 (propagated-inputs
10248 `(("emacs-dash" ,emacs-dash)))
10249 (home-page "https://github.com/jyp/lcr")
10250 (synopsis "Lightweight coroutines in Emacs Lisp")
10251 (description "This package provides macros that can translate code into
10252 equivalent continuation-passing code, as well as miscellaneous utility
10253 functions written in continuation-passing style.")
10254 (license license:gpl3+)))
10255
10256 (define-public emacs-attrap
10257 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
10258 (revision "2"))
10259 (package
10260 (name "emacs-attrap")
10261 (version (git-version "1.0" revision commit))
10262 (source (origin
10263 (method git-fetch)
10264 (uri (git-reference
10265 (url "https://github.com/jyp/attrap")
10266 (commit commit)))
10267 (sha256
10268 (base32
10269 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
10270 (file-name (git-file-name name version))))
10271 (build-system emacs-build-system)
10272 (propagated-inputs
10273 `(("emacs-dash" ,emacs-dash)
10274 ("emacs-f" ,emacs-f)
10275 ("emacs-flycheck" ,emacs-flycheck)
10276 ("emacs-s" ,emacs-s)))
10277 (home-page "https://github.com/jyp/attrap")
10278 (synopsis "Fix coding error at point")
10279 (description "This package provides a command to fix the Flycheck error
10280 at point.")
10281 (license license:gpl3+))))
10282
10283 (define-public emacs-git-messenger
10284 (package
10285 (name "emacs-git-messenger")
10286 (version "0.18")
10287 (source
10288 (origin
10289 (method git-fetch)
10290 (uri (git-reference
10291 (url "https://github.com/syohex/emacs-git-messenger.git")
10292 (commit version)))
10293 (file-name (git-file-name name version))
10294 (sha256
10295 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
10296 (build-system emacs-build-system)
10297 (propagated-inputs
10298 `(("emacs-popup" ,emacs-popup)))
10299 (arguments
10300 `(#:tests? #t
10301 #:test-command '("emacs" "--batch" "-l" "test/test.el"
10302 "-f" "ert-run-tests-batch-and-exit")))
10303 (home-page "https://github.com/syohex/emacs-git-messenger")
10304 (synopsis "Popup commit message at current line")
10305 (description "@code{emacs-git-messenger} provides
10306 @code{git-messenger:popup-message}, a function that when called, will popup
10307 the last git commit message for the current line. This uses git-blame
10308 internally.")
10309 (license license:gpl3+)))
10310
10311 (define-public emacs-gitpatch
10312 (package
10313 (name "emacs-gitpatch")
10314 (version "0.5.1")
10315 (source
10316 (origin
10317 (method git-fetch)
10318 (uri (git-reference
10319 (url "https://github.com/tumashu/gitpatch.git")
10320 (commit (string-append "v" version))))
10321 (file-name (git-file-name name version))
10322 (sha256
10323 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
10324 (build-system emacs-build-system)
10325 (home-page "https://github.com/tumashu/gitpatch")
10326 (synopsis "Mail git patch from Emacs")
10327 (description "@code{emacs-gitpatch} lets users easily send git patches,
10328 created by @code{git format-patch}, from @code{magit}, @code{dired} and
10329 @code{ibuffer} buffers.")
10330 (license license:gpl3+)))
10331
10332 (define-public emacs-erc-hl-nicks
10333 (package
10334 (name "emacs-erc-hl-nicks")
10335 (version "1.3.3")
10336 (source
10337 (origin
10338 (method git-fetch)
10339 (uri (git-reference
10340 (url "https://github.com/leathekd/erc-hl-nicks")
10341 (commit version)))
10342 (file-name (git-file-name name version))
10343 (sha256
10344 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
10345 (build-system emacs-build-system)
10346 (synopsis "Nickname highlighting for Emacs ERC")
10347 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
10348 client for Emacs. The main features are:
10349 @itemize
10350 @item Auto-colorizes nicknames without having to specify colors
10351 @item Ignores certain characters that IRC clients add to nicknames to avoid
10352 duplicates (nickname, nickname’, nickname\", etc.)
10353 @item Attempts to produce colors with a sufficient amount of contrast between
10354 the nick color and the background color
10355 @end itemize\n")
10356 (home-page "https://github.com/leathekd/erc-hl-nicks")
10357 (license license:gpl3+)))
10358
10359 (define-public emacs-engine-mode
10360 (package
10361 (name "emacs-engine-mode")
10362 (version "2.0.0")
10363 (source
10364 (origin
10365 (method git-fetch)
10366 (uri (git-reference
10367 (url "https://github.com/hrs/engine-mode.git")
10368 (commit (string-append "v" version))))
10369 (file-name (git-file-name name version))
10370 (sha256
10371 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
10372 (build-system emacs-build-system)
10373 (synopsis "Minor mode for defining and querying search engines")
10374 (description "@code{engine-mode} is a global minor mode for Emacs. It
10375 enables you to easily define search engines, bind them to keybindings, and
10376 query them from the comfort of your editor.")
10377 (home-page "https://github.com/hrs/engine-mode")
10378 (license license:gpl3+)))
10379
10380 (define-public emacs-prop-menu
10381 (package
10382 (name "emacs-prop-menu")
10383 (version "0.1.2")
10384 (source
10385 (origin
10386 (method url-fetch)
10387 (uri (string-append
10388 "http://stable.melpa.org/packages/prop-menu-"
10389 version ".el"))
10390 (sha256
10391 (base32
10392 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
10393 (build-system emacs-build-system)
10394 (home-page
10395 "https://github.com/david-christiansen/prop-menu-el")
10396 (synopsis
10397 "Create and display a context menu based on text and overlay properties")
10398 (description
10399 "This is a library for computing context menus based on text
10400 properties and overlays. The intended use is to have tools that
10401 annotate source code and others that use these annotations, without
10402 requiring a direct coupling between them, but maintaining
10403 discoverability.
10404
10405 Major modes that wish to use this library should first define an
10406 appropriate value for @code{prop-menu-item-functions}. Then, they should
10407 bind @code{prop-menu-by-completing-read} to an appropriate
10408 key. Optionally, a mouse pop-up can be added by binding
10409 @code{prop-menu-show-menu} to a mouse event.")
10410 (license license:gpl3+)))
10411
10412 (define-public emacs-idris-mode
10413 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
10414 (revision "0"))
10415 (package
10416 (name "emacs-idris-mode")
10417 (version (git-version "0.9.19" revision commit))
10418 (source
10419 (origin
10420 (method git-fetch)
10421 (uri (git-reference
10422 (url "https://github.com/idris-hackers/idris-mode.git")
10423 (commit commit)))
10424 (file-name (git-file-name name commit))
10425 (sha256
10426 (base32
10427 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
10428 (build-system emacs-build-system)
10429 (propagated-inputs
10430 `(("emacs-prop-menu" ,emacs-prop-menu)))
10431 (home-page
10432 "https://github.com/idris-hackers/idris-mode")
10433 (synopsis "Major mode for editing Idris code")
10434 (description
10435 "This is an Emacs mode for editing Idris code. It requires the latest
10436 version of Idris, and some features may rely on the latest Git version of
10437 Idris.")
10438 (license license:gpl3+))))
10439
10440 (define-public emacs-browse-at-remote
10441 (package
10442 (name "emacs-browse-at-remote")
10443 (version "0.10.0")
10444 (source
10445 (origin
10446 (method git-fetch)
10447 (uri (git-reference
10448 (url "https://github.com/rmuslimov/browse-at-remote.git")
10449 (commit version)))
10450 (file-name (git-file-name name version))
10451 (sha256
10452 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
10453 (build-system emacs-build-system)
10454 (propagated-inputs
10455 `(("emacs-f" ,emacs-f)
10456 ("emacs-s" ,emacs-s)))
10457 (native-inputs
10458 `(("ert-runner" ,emacs-ert-runner)))
10459 (arguments
10460 `(#:tests? #t
10461 #:test-command '("ert-runner")))
10462 (home-page "https://github.com/rmuslimov/browse-at-remote")
10463 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
10464 (description
10465 "This Emacs package allows you to open a target page on
10466 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
10467 It supports dired buffers and opens them in tree mode at destination.")
10468 (license license:gpl3+)))
10469
10470 (define-public emacs-tiny
10471 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10472 (revision "1"))
10473 (package
10474 (name "emacs-tiny")
10475 (version (git-version "0.2.1" revision commit))
10476 (source
10477 (origin
10478 (method git-fetch)
10479 (uri (git-reference
10480 (url "https://github.com/abo-abo/tiny.git")
10481 (commit commit)))
10482 (sha256
10483 (base32
10484 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10485 (build-system emacs-build-system)
10486 (arguments
10487 `(#:tests? #t
10488 #:test-command '("make" "test")))
10489 (home-page "https://github.com/abo-abo/tiny")
10490 (synopsis "Quickly generate linear ranges in Emacs")
10491 (description
10492 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10493 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10494 proficiency is an advantage, since you can transform your numeric range with
10495 an elisp expression.")
10496 (license license:gpl3+))))
10497
10498 (define-public emacs-emojify
10499 (package
10500 (name "emacs-emojify")
10501 (version "1.2")
10502 (source
10503 (origin
10504 (method git-fetch)
10505 (uri (git-reference
10506 (url "https://github.com/iqbalansari/emacs-emojify")
10507 (commit (string-append "v" version))))
10508 (file-name (git-file-name name version))
10509 (sha256
10510 (base32
10511 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10512 (build-system emacs-build-system)
10513 (arguments
10514 `(#:include (cons "^data/" %default-include)))
10515 (propagated-inputs
10516 `(("emacs-ht" ,emacs-ht)))
10517 (home-page "https://github.com/iqbalansari/emacs-emojify")
10518 (synopsis "Display emojis in Emacs")
10519 (description "This package displays emojis in Emacs similar to how Github,
10520 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10521 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10522 @code{emojify-mode} to enable the display of emojis in a buffer.")
10523 (license license:gpl3+)))
10524
10525 (define-public emacs-make-it-so
10526 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10527 (revision "2"))
10528 (package
10529 (name "emacs-make-it-so")
10530 (version (git-version "0.1.0" revision commit))
10531 (source
10532 (origin
10533 (method git-fetch)
10534 (uri (git-reference
10535 (url "https://github.com/abo-abo/make-it-so")
10536 (commit commit)))
10537 (sha256
10538 (base32
10539 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10540 (build-system emacs-build-system)
10541 (arguments
10542 `(#:include (cons "^recipes/" %default-include)))
10543 (propagated-inputs
10544 `(("emacs-ivy" ,emacs-ivy)))
10545 (home-page "https://github.com/abo-abo/make-it-so")
10546 (synopsis "Transform files with Makefile recipes")
10547 (description "This package provides an interface for selecting from
10548 different conversion recipes, often including tools like @code{ffmpeg} or
10549 @code{convert}. The conversion command need only be written once, and
10550 subsequent invocations can be readily customized. Several recipes are
10551 included by default, and more can be readily added.")
10552 (license license:gpl3+))))
10553
10554 (define-public emacs-unidecode
10555 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10556 (revision "1"))
10557 (package
10558 (name "emacs-unidecode")
10559 (version (git-version "0.2" revision commit))
10560 (source
10561 (origin
10562 (method git-fetch)
10563 (uri (git-reference
10564 (url "https://github.com/sindikat/unidecode")
10565 (commit commit)))
10566 (sha256
10567 (base32
10568 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10569 (build-system emacs-build-system)
10570 (arguments
10571 `(#:include (cons* "^tools/" "^data/" %default-include)
10572 #:tests? #t
10573 #:test-command '("emacs" "--batch"
10574 "-l" "unidecode-test.el"
10575 "-f" "ert-run-tests-batch-and-exit")
10576 #:phases
10577 (modify-phases %standard-phases
10578 (add-before 'check 'make-tests-writable
10579 (lambda _
10580 (make-file-writable "unidecode-test.el")
10581 #t))
10582 (add-before 'check 'add-require
10583 (lambda _
10584 (emacs-batch-edit-file "unidecode-test.el"
10585 `(progn (progn (goto-char (point-min))
10586 (re-search-forward
10587 "ert-deftest")
10588 (forward-line -1)
10589 (insert "(require 'unidecode)"))
10590 (basic-save-buffer)))
10591 #t)))))
10592 (home-page "https://github.com/sindikat/unidecode")
10593 (synopsis "Transliterate Unicode text to ASCII")
10594 (description "This package provides functions for converting Unicode to ASCII.")
10595 (license license:gpl2+))))
10596
10597 (define-public emacs-pubmed
10598 (package
10599 (name "emacs-pubmed")
10600 (version "0.2.1")
10601 (source
10602 (origin
10603 (method git-fetch)
10604 (uri (git-reference
10605 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10606 (commit (string-append "v" version))))
10607 (file-name (git-file-name name version))
10608 (sha256
10609 (base32
10610 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10611 (build-system emacs-build-system)
10612 (propagated-inputs
10613 `(("emacs-deferred" ,emacs-deferred)
10614 ("emacs-esxml" ,emacs-esxml)
10615 ("emacs-s" ,emacs-s)
10616 ("emacs-unidecode" ,emacs-unidecode)))
10617 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10618 (synopsis "Interface to PubMed")
10619 (description "This package provides an Emacs interface to the PubMed
10620 database of references on life sciences.")
10621 (license license:gpl3+)))
10622
10623 (define-public emacs-websocket
10624 (package
10625 (name "emacs-websocket")
10626 (version "1.10")
10627 (source
10628 (origin
10629 (method git-fetch)
10630 (uri (git-reference
10631 (url "https://github.com/ahyatt/emacs-websocket.git")
10632 (commit version)))
10633 (file-name (git-file-name name version))
10634 (sha256
10635 (base32
10636 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10637 (build-system emacs-build-system)
10638 (arguments
10639 `(#:tests? #t
10640 ;; TODO: also enable websocket-functional-test.el
10641 #:test-command '("emacs" "--batch"
10642 "-l" "websocket-test.el"
10643 "-f" "ert-run-tests-batch-and-exit")))
10644 (home-page "http://elpa.gnu.org/packages/websocket.html")
10645 (synopsis "Emacs WebSocket client and server")
10646 (description "This is an Elisp library for WebSocket clients to talk to
10647 WebSocket servers, and for WebSocket servers to accept connections from
10648 WebSocket clients. This library is designed to be used by other library
10649 writers, to write applications that use WebSockets, and is not useful by
10650 itself.")
10651 (license license:gpl3+)))
10652
10653 (define-public emacs-oauth2
10654 (package
10655 (name "emacs-oauth2")
10656 (version "0.11")
10657 (source
10658 (origin
10659 (method url-fetch)
10660 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10661 version ".el"))
10662 (sha256
10663 (base32
10664 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10665 (build-system emacs-build-system)
10666 (home-page "http://elpa.gnu.org/packages/oauth2.html")
10667 (synopsis "OAuth 2.0 authorization protocol implementation")
10668 (description
10669 "This package provides an Elisp implementation of the OAuth 2.0 draft.
10670 The main entry point is @code{oauth2-auth-and-store} which will return a token
10671 structure. This token structure can be then used with
10672 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
10673 retrieve any data that need OAuth authentication to be accessed. If the token
10674 needs to be refreshed, the code handles it automatically and stores the new
10675 value of the access token.")
10676 (license license:gpl3+)))
10677
10678 (define-public emacs-circe
10679 (package
10680 (name "emacs-circe")
10681 (version "2.11")
10682 (source
10683 (origin
10684 (method git-fetch)
10685 (uri (git-reference
10686 (url "https://github.com/jorgenschaefer/circe.git")
10687 (commit (string-append "v" version))))
10688 (file-name (git-file-name name version))
10689 (sha256
10690 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
10691 (build-system emacs-build-system)
10692 (arguments
10693 `(#:tests? #t
10694 #:test-command '("buttercup" "-L" ".")
10695 #:phases
10696 (modify-phases %standard-phases
10697 ;; The HOME environment variable should be set to an existing
10698 ;; directory for the tests to succeed.
10699 (add-before 'check 'set-home
10700 (lambda _
10701 (setenv "HOME" "/tmp")
10702 #t)))))
10703 (native-inputs
10704 `(("emacs-buttercup" ,emacs-buttercup)))
10705 ;; In order to securely connect to an IRC server using TLS, Circe requires
10706 ;; the GnuTLS binary.
10707 (propagated-inputs
10708 `(("gnutls" ,gnutls)))
10709 (home-page "https://github.com/jorgenschaefer/circe")
10710 (synopsis "Client for IRC in Emacs")
10711 (description "Circe is a Client for IRC in Emacs. It integrates well with
10712 the rest of the editor, using standard Emacs key bindings and indicating
10713 activity in channels in the status bar so it stays out of your way unless you
10714 want to use it.")
10715 (license license:gpl3+)))
10716
10717 (define-public emacs-tracking
10718 (package
10719 (inherit emacs-circe)
10720 (name "emacs-tracking")
10721 (arguments
10722 ;; "tracking.el" is a library extracted from Circe package. It requires
10723 ;; "shorten.el".
10724 `(#:include '("^shorten.el$" "^tracking.el$")
10725 ,@(package-arguments emacs-circe)))
10726 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
10727 (synopsis "Buffer tracking library")
10728 (description "@code{tracking.el} provides a way for different modes to
10729 notify the user that a buffer needs attention. The user then can cycle
10730 through them using @key{C-c C-SPC}.")
10731 (license license:gpl3+)))
10732
10733 (define-public emacs-slack
10734 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
10735 (revision "6"))
10736 (package
10737 (name "emacs-slack")
10738 (version (git-version "0.0.2" revision commit))
10739 (source (origin
10740 (method git-fetch)
10741 (uri (git-reference
10742 (url "https://github.com/yuya373/emacs-slack.git")
10743 (commit commit)))
10744 (file-name (git-file-name name commit))
10745 (sha256
10746 (base32
10747 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
10748 (build-system emacs-build-system)
10749 (arguments
10750 `(#:phases
10751 (modify-phases %standard-phases
10752 ;; HOME needs to exist for source compilation.
10753 (add-before 'build 'set-HOME
10754 (lambda _ (setenv "HOME" "/tmp") #t)))))
10755 (propagated-inputs
10756 `(("emacs-alert" ,emacs-alert)
10757 ("emacs-emojify" ,emacs-emojify)
10758 ("emacs-helm" ,emacs-helm)
10759 ("emacs-request" ,emacs-request)
10760 ("emacs-websocket" ,emacs-websocket)
10761 ("emacs-oauth2" ,emacs-oauth2)
10762 ("emacs-circe" ,emacs-circe)))
10763 (home-page "https://github.com/yuya373/emacs-slack")
10764 (synopsis "Slack client for Emacs")
10765 (description "This package provides an Emacs client for the Slack
10766 messaging service.")
10767 (license license:gpl3+))))
10768
10769 (define-public emacs-bash-completion
10770 (package
10771 (name "emacs-bash-completion")
10772 (version "2.1.0")
10773 (source
10774 (origin
10775 (method git-fetch)
10776 (uri (git-reference
10777 (url "https://github.com/szermatt/emacs-bash-completion.git")
10778 (commit version)))
10779 (file-name (git-file-name name version))
10780 (sha256
10781 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
10782 (inputs `(("bash" ,bash)))
10783 (build-system emacs-build-system)
10784 (arguments
10785 `(#:phases
10786 (modify-phases %standard-phases
10787 (add-after 'unpack 'make-git-checkout-writable
10788 (λ _
10789 (for-each make-file-writable (find-files "."))
10790 #t))
10791 (add-before 'install 'configure
10792 (lambda* (#:key inputs #:allow-other-keys)
10793 (let ((bash (assoc-ref inputs "bash")))
10794 (emacs-substitute-variables "bash-completion.el"
10795 ("bash-completion-prog" (string-append bash "/bin/bash"))))
10796 #t)))))
10797 (home-page "https://github.com/szermatt/emacs-bash-completion")
10798 (synopsis "Bash completion for the shell buffer")
10799 (description
10800 "@code{bash-completion} defines dynamic completion hooks for shell-mode
10801 and shell-command prompts that are based on Bash completion.")
10802 (license license:gpl2+)))
10803
10804 (define-public emacs-easy-kill
10805 (package
10806 (name "emacs-easy-kill")
10807 (version "0.9.3")
10808 (source (origin
10809 (method url-fetch)
10810 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
10811 version ".tar"))
10812 (sha256
10813 (base32
10814 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
10815 (build-system emacs-build-system)
10816 (home-page "https://github.com/leoliu/easy-kill")
10817 (synopsis "Kill and mark things easily in Emacs")
10818 (description
10819 "This package provides commands @code{easy-kill} and @code{easy-mark} to
10820 let users kill or mark things easily.")
10821 (license license:gpl3+)))
10822
10823 (define-public emacs-csv-mode
10824 (package
10825 (name "emacs-csv-mode")
10826 (version "1.9")
10827 (source
10828 (origin
10829 (method url-fetch)
10830 (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
10831 version ".el"))
10832 (sha256
10833 (base32 "0sdnyi9in904k49yy5imapypnmk75lv14k9c1yyjhjpalvvh6br1"))))
10834 (build-system emacs-build-system)
10835 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
10836 (synopsis "Major mode for editing comma/char separated values")
10837 (description
10838 "This Emacs package implements CSV mode, a major mode for editing records
10839 in a generalized CSV (character-separated values) format.")
10840 (license license:gpl3+)))
10841
10842 (define-public emacs-transmission
10843 (package
10844 (name "emacs-transmission")
10845 (version "0.12.1")
10846 (source
10847 (origin
10848 (method git-fetch)
10849 (uri (git-reference
10850 (url "https://github.com/holomorph/transmission.git")
10851 (commit version)))
10852 (file-name (git-file-name name version))
10853 (sha256
10854 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
10855 (build-system emacs-build-system)
10856 (home-page "https://github.com/holomorph/transmission")
10857 (synopsis "Emacs interface to a Transmission session")
10858 (description "This package provides an Emacs interface to interact with a
10859 running session of the Transmission Bittorrent client.
10860
10861 Features:
10862
10863 @itemize
10864 @item List, add, start/stop, verify, remove torrents.
10865 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
10866 @item Navigate to the corresponding file list, torrent info, peer info
10867 contexts.
10868 @item Toggle downloading and set priorities for individual files.
10869 @end itemize\n")
10870 (license license:gpl3+)))
10871
10872 (define-public emacs-polymode
10873 (package
10874 (name "emacs-polymode")
10875 (version "0.2")
10876 (source (origin
10877 (method git-fetch)
10878 (uri (git-reference
10879 (url "https://github.com/polymode/polymode.git")
10880 (commit (string-append "v" version))))
10881 (file-name (git-file-name name version))
10882 (sha256
10883 (base32
10884 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
10885 (build-system emacs-build-system)
10886 (home-page "https://github.com/polymode/polymode")
10887 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
10888 (description
10889 "Polymode is an Emacs package that offers generic support for multiple
10890 major modes inside a single Emacs buffer. It is lightweight, object oriented
10891 and highly extensible. Creating a new polymode typically takes only a few
10892 lines of code. Polymode also provides extensible facilities for external
10893 literate programming tools for exporting, weaving and tangling.")
10894 (license license:gpl3+)))
10895
10896 (define-public emacs-polymode-ansible
10897 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
10898 (package
10899 (name "emacs-polymode-ansible")
10900 ;; No upstream version release yet.
10901 (version (git-version "0.1" "1" commit))
10902 (source
10903 (origin
10904 (method git-fetch)
10905 (uri (git-reference
10906 (url "https://gitlab.com/mavit/poly-ansible")
10907 (commit commit)))
10908 (file-name (git-file-name name version))
10909 (sha256
10910 (base32
10911 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
10912 (build-system emacs-build-system)
10913 (propagated-inputs
10914 `(("emacs-ansible-doc" ,emacs-ansible-doc)
10915 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
10916 ("emacs-polymode" ,emacs-polymode)
10917 ("emacs-yaml-mode" ,emacs-yaml-mode)))
10918 (properties '((upstream-name . "poly-ansible")))
10919 (home-page "https://gitlab.com/mavit/poly-ansible/")
10920 (synopsis "Polymode for Ansible - Jinja2 in YAML")
10921 (description
10922 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
10923 (license license:gpl3+))))
10924
10925 (define-public emacs-polymode-org
10926 (package
10927 (name "emacs-polymode-org")
10928 (version "0.2")
10929 (source
10930 (origin
10931 (method git-fetch)
10932 (uri (git-reference
10933 (url "https://github.com/polymode/poly-org.git")
10934 (commit (string-append "v" version))))
10935 (file-name (git-file-name name version))
10936 (sha256
10937 (base32
10938 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
10939 (build-system emacs-build-system)
10940 (propagated-inputs
10941 `(("emacs-polymode" ,emacs-polymode)))
10942 (properties '((upstream-name . "poly-org")))
10943 (home-page "https://github.com/polymode/poly-org")
10944 (synopsis "Polymode definitions for Org mode buffers")
10945 (description
10946 "Provides definitions for @code{emacs-polymode} to support
10947 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
10948 native modes of the blocks' languages while remaining inside the primary Org
10949 buffer.")
10950 (license license:gpl3+)))
10951
10952 (define-public eless
10953 (package
10954 (name "eless")
10955 (version "0.3")
10956 (source
10957 (origin
10958 (method git-fetch)
10959 (uri (git-reference
10960 (url "https://github.com/kaushalmodi/eless.git")
10961 (commit (string-append "v" version))))
10962 (file-name (git-file-name name version))
10963 (sha256
10964 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
10965 (build-system trivial-build-system)
10966 (inputs
10967 `(("bash" ,bash)))
10968 (arguments
10969 `(#:modules ((guix build utils))
10970 #:builder
10971 (begin
10972 (use-modules (guix build utils))
10973 (copy-recursively (assoc-ref %build-inputs "source") "source")
10974 (chdir "source")
10975 (substitute* "eless" (("/usr/bin/env bash")
10976 (string-append (assoc-ref %build-inputs "bash")
10977 "/bin/bash")))
10978 (install-file "eless" (string-append %output "/bin"))
10979 (install-file "doc/eless.info" (string-append %output "/share/info"))
10980 #t)))
10981 (home-page "https://github.com/kaushalmodi/eless")
10982 (synopsis "Use Emacs as a paginator")
10983 (description "@code{eless} provides a combination of Bash script
10984 and a minimal Emacs view-mode.
10985
10986 Feautures:
10987
10988 @itemize
10989 @item Independent of a user’s Emacs config.
10990 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
10991 @item Not require an Emacs server to be already running.
10992 @item Syntax highlighting.
10993 @item Org-mode file rendering.
10994 @item @code{man} page viewer.
10995 @item Info viewer.
10996 @item Dired, wdired, (batch edit symbolic links).
10997 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
10998 @item Filter log files lines matching a regexp.
10999 @item Auto-revert log files similar to @code{tail -f}.
11000 @item Quickly change frame and font sizes.
11001 @end itemize\n")
11002 (license license:expat)))
11003
11004 (define-public emacs-evil-matchit
11005 (package
11006 (name "emacs-evil-matchit")
11007 (version "2.3.4")
11008 (source
11009 (origin
11010 (method git-fetch)
11011 (uri (git-reference
11012 (url "https://github.com/redguardtoo/evil-matchit.git")
11013 (commit version)))
11014 (file-name (git-file-name name version))
11015 (sha256
11016 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
11017 (build-system emacs-build-system)
11018 (propagated-inputs
11019 `(("emacs-evil" ,emacs-evil)))
11020 (home-page "https://github.com/redguardtoo/evil-matchit")
11021 (synopsis "Vim matchit ported into Emacs")
11022 (description
11023 "@code{evil-matchit} is a minor mode for jumping between matching tags in
11024 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
11025 (license license:gpl3+)))
11026
11027 (define-public emacs-evil-smartparens
11028 (package
11029 (name "emacs-evil-smartparens")
11030 (version "0.4.0")
11031 (source
11032 (origin
11033 (method git-fetch)
11034 (uri (git-reference
11035 (url "https://github.com/expez/evil-smartparens.git")
11036 (commit version)))
11037 (file-name (git-file-name name version))
11038 (sha256
11039 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
11040 (build-system emacs-build-system)
11041 (propagated-inputs
11042 `(("emacs-evil" ,emacs-evil)
11043 ("emacs-smartparens" ,emacs-smartparens)))
11044 (home-page "https://github.com/expez/evil-smartparens")
11045 (synopsis "Emacs Evil integration for Smartparens")
11046 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
11047 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
11048 emulates Vim features and provides Vim-like key bindings.")
11049 (license license:gpl3+)))
11050
11051 (define-public emacs-evil-quickscope
11052 (package
11053 (name "emacs-evil-quickscope")
11054 (version "0.1.4")
11055 (source
11056 (origin
11057 (method git-fetch)
11058 (uri (git-reference
11059 (url "https://github.com/blorbx/evil-quickscope.git")
11060 (commit (string-append "v" version))))
11061 (file-name (git-file-name name version))
11062 (sha256
11063 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
11064 (build-system emacs-build-system)
11065 (propagated-inputs
11066 `(("emacs-evil" ,emacs-evil)))
11067 (arguments
11068 `(#:tests? #t
11069 #:test-command '("emacs" "--batch"
11070 "-l" "evil-quickscope-tests.el"
11071 "-f" "ert-run-tests-batch-and-exit")))
11072 (home-page "https://github.com/blorbx/evil-quickscope")
11073 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
11074 (description "@code{emacs-evil-quickscope} highlights targets for Evil
11075 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
11076 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
11077 features and provides Vim-like key bindings.")
11078 (license license:gpl3+)))
11079
11080 (define-public emacs-bongo
11081 (package
11082 (name "emacs-bongo")
11083 (version "1.0")
11084 (source
11085 (origin
11086 (method git-fetch)
11087 (uri (git-reference
11088 (url "https://github.com/dbrock/bongo.git")
11089 (commit version)))
11090 (file-name (git-file-name name version))
11091 (sha256
11092 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
11093 (build-system emacs-build-system)
11094 (home-page "https://github.com/dbrock/bongo")
11095 (synopsis "Media player for Emacs")
11096 (description
11097 "This package provides a flexible media player for Emacs. @code{Bongo}
11098 supports multiple backends such as @code{vlc}, @code{mpg123},
11099 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
11100 @code{afplay}.")
11101 (license license:gpl2+)))
11102
11103 (define-public emacs-groovy-modes
11104 (package
11105 (name "emacs-groovy-modes")
11106 (version "2.0")
11107 (source (origin
11108 (method url-fetch)
11109 (uri (string-append
11110 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
11111 "/archive/" version ".tar.gz"))
11112 (file-name (string-append name "-" version ".tar.gz"))
11113 (sha256
11114 (base32
11115 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
11116 (build-system emacs-build-system)
11117 (propagated-inputs
11118 `(("emacs-s" ,emacs-s)))
11119 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11120 (synopsis "Groovy related modes for Emacs")
11121 (description
11122 "This package provides @code{groovy-mode} for syntax highlighting in
11123 Groovy source files, REPL integration with run-groovy and Grails project
11124 navigation with the grails mode.")
11125 (license license:gpl3+)))
11126
11127 (define-public groovy-emacs-modes
11128 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
11129
11130 (define-public emacs-org-tree-slide
11131 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
11132 (revision "2"))
11133 (package
11134 (name "emacs-org-tree-slide")
11135 (version (git-version "2.8.4" revision commit))
11136 (source (origin
11137 (method git-fetch)
11138 (uri (git-reference
11139 (url "https://github.com/takaxp/org-tree-slide.git")
11140 (commit commit)))
11141 (sha256
11142 (base32
11143 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
11144 (file-name (git-file-name name version))))
11145 (build-system emacs-build-system)
11146 (home-page "https://github.com/takaxp/org-tree-slide")
11147 (synopsis "Presentation tool for org-mode")
11148 (description
11149 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
11150 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
11151 @kbd{C-<} to jump to the next and previous slide.")
11152 (license license:gpl3+))))
11153
11154 (define-public emacs-scratch-el
11155 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
11156 (revision "1"))
11157 (package
11158 (name "emacs-scratch-el")
11159 (version (git-version "1.2" revision commit))
11160 (source (origin
11161 (method git-fetch)
11162 (uri (git-reference
11163 (url "https://github.com/ieure/scratch-el.git")
11164 (commit commit)))
11165 (file-name (git-file-name name version))
11166 (sha256
11167 (base32
11168 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
11169 (build-system emacs-build-system)
11170 (native-inputs
11171 `(("texinfo" ,texinfo)))
11172 (arguments
11173 '(#:phases
11174 (modify-phases %standard-phases
11175 (add-after 'install 'install-doc
11176 (lambda* (#:key outputs #:allow-other-keys)
11177 (unless (invoke "makeinfo" "scratch.texi")
11178 (error "makeinfo failed"))
11179 (install-file "scratch.info"
11180 (string-append (assoc-ref outputs "out")
11181 "/share/info"))
11182 #t)))))
11183 (home-page "https://github.com/ieure/scratch-el/")
11184 (synopsis "Create scratch buffers with the same mode as current buffer")
11185 (description "Scratch is an extension to Emacs that enables one to create
11186 scratch buffers that are in the same mode as the current buffer. This is
11187 notably useful when working on code in some language; you may grab code into a
11188 scratch buffer, and, by virtue of this extension, do so using the Emacs
11189 formatting rules for that language.")
11190 (license license:bsd-2))))
11191
11192 (define-public emacs-kv
11193 (package
11194 (name "emacs-kv")
11195 (version "0.0.19")
11196 (source
11197 (origin
11198 (method git-fetch)
11199 (uri (git-reference
11200 (url "https://github.com/nicferrier/emacs-kv.git")
11201 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
11202 (file-name (git-file-name name version))
11203 (sha256
11204 (base32
11205 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
11206 (build-system emacs-build-system)
11207 (arguments
11208 `(#:tests? #t
11209 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
11210 "-f" "ert-run-tests-batch-and-exit")))
11211 (home-page "https://github.com/nicferrier/emacs-kv")
11212 (synopsis "Key/Value data structures library for Emacs Lisp")
11213 (description "@code{emacs-kv} is a collection of tools for dealing with
11214 key/value data structures such as plists, alists and hash-tables in Emacs
11215 Lisp.")
11216 (license license:gpl3+)))
11217
11218 (define-public emacs-esxml
11219 (package
11220 (name "emacs-esxml")
11221 (version "0.3.4")
11222 (source (origin
11223 (method git-fetch)
11224 (uri (git-reference
11225 (url "https://github.com/tali713/esxml.git")
11226 (commit version)))
11227 (file-name (git-file-name name version))
11228 (sha256
11229 (base32
11230 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
11231 (build-system emacs-build-system)
11232 (arguments
11233 `(#:phases
11234 (modify-phases %standard-phases
11235 (add-after 'unpack 'fix-sources
11236 (lambda _
11237 ;; See: https://github.com/tali713/esxml/pull/28.
11238 (substitute* "css-lite.el"
11239 ((";;; main interface")
11240 (string-append ";;; main interface\n"
11241 "(require 'cl-lib)"))
11242 (("mapcan")
11243 "cl-mapcan")
11244 (("',\\(cl-mapcan #'process-css-rule rules\\)")
11245 "(cl-mapcan #'process-css-rule ',rules)"))
11246 (substitute* "esxml-form.el"
11247 ((",esxml-form-field-defn")
11248 "#'esxml-form-field-defn"))
11249 ;; See: https://github.com/tali713/esxml/issues/25
11250 (delete-file "esxpath.el")
11251 #t)))))
11252 (propagated-inputs
11253 `(("emacs-kv" ,emacs-kv)))
11254 (home-page "https://github.com/tali713/esxml/")
11255 (synopsis "SXML for EmacsLisp")
11256 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
11257 Simply, this is the easiest way to write HTML or XML in Lisp. This library
11258 uses the native form of XML representation as used by many libraries already
11259 included within Emacs. See @code{esxml-to-xml} for a concise description of
11260 the format.")
11261 (license license:gpl3+)))
11262
11263 (define-public emacs-nov-el
11264 (package
11265 (name "emacs-nov-el")
11266 (version "0.2.9")
11267 (source (origin
11268 (method git-fetch)
11269 (uri (git-reference
11270 (url "https://github.com/wasamasa/nov.el.git")
11271 (commit version)))
11272 (file-name (git-file-name name version))
11273 (sha256
11274 (base32
11275 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
11276 (build-system emacs-build-system)
11277 (arguments
11278 `(#:phases
11279 (modify-phases %standard-phases
11280 (add-after 'unpack 'embed-path-to-unzip
11281 (lambda _
11282 (substitute* "nov.el"
11283 (("\\(executable-find \"unzip\"\\)")
11284 (string-append "\"" (which "unzip") "\"")))
11285 #t)))))
11286 (propagated-inputs
11287 `(("emacs-dash" ,emacs-dash)
11288 ("emacs-esxml" ,emacs-esxml)))
11289 (inputs
11290 `(("unzip" ,unzip)))
11291 (home-page "https://github.com/wasamasa/nov.el/")
11292 (synopsis "Major mode for reading EPUBs in Emacs")
11293 (description "@code{nov.el} provides a major mode for reading EPUB
11294 documents.
11295
11296 Features:
11297
11298 @itemize
11299 @item Basic navigation (jump to TOC, previous/next chapter)
11300 @item Remembering and restoring the last read position
11301 @item Jump to next chapter when scrolling beyond end
11302 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
11303 @item Hyperlinks to internal and external targets
11304 @item Supports textual and image documents
11305 @item View source of document files
11306 @item Metadata display
11307 @item Image rescaling
11308 @end itemize
11309 ")
11310 (license license:gpl3+)))
11311
11312 (define-public epipe
11313 (package
11314 (name "epipe")
11315 (version "0.1.0")
11316 (source
11317 (origin
11318 (method git-fetch)
11319 (uri (git-reference
11320 (url "https://github.com/cute-jumper/epipe.git")
11321 (commit version)))
11322 (file-name (git-file-name name version))
11323 (sha256
11324 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
11325 (build-system trivial-build-system)
11326 (inputs
11327 `(("bash" ,bash)
11328 ("perl" ,perl)))
11329 (arguments
11330 `(#:modules
11331 ((guix build utils))
11332 #:builder
11333 (begin
11334 (use-modules (guix build utils))
11335 ;; Extract source.
11336 (copy-recursively (assoc-ref %build-inputs "source") "source")
11337 (chdir "source")
11338 ;; Patch shebangs.
11339 (substitute* "epipe"
11340 (("/usr/bin/env bash")
11341 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
11342 (patch-shebang "epipe.pl"
11343 (list (string-append (assoc-ref %build-inputs "perl")
11344 "/bin")))
11345 ;; Install.
11346 (for-each (lambda (file)
11347 (install-file file (string-append %output "/bin")))
11348 '("epipe" "epipe.pl"))
11349 #t)))
11350 (home-page "https://github.com/cute-jumper/epipe")
11351 (synopsis "Pipe to the @code{emacsclient}")
11352 (description "@code{epipe} provides an utility to use your editor in
11353 the pipeline, featuring the support for running @code{emacsclient}.")
11354 (license license:gpl3+)))
11355
11356 (define-public emacs-hcl-mode
11357 (package
11358 (name "emacs-hcl-mode")
11359 (version "0.03")
11360 (source
11361 (origin
11362 (method git-fetch)
11363 (uri (git-reference
11364 (url "https://github.com/syohex/emacs-hcl-mode.git")
11365 (commit version)))
11366 (file-name (git-file-name name version))
11367 (sha256
11368 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
11369 (build-system emacs-build-system)
11370 (home-page "https://github.com/syohex/emacs-hcl-mode")
11371 (synopsis "Major mode for the Hashicorp Configuration Language")
11372 (description
11373 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
11374 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
11375 highlighting and indentation support.")
11376 (license license:gpl3+)))
11377
11378 (define-public emacs-terraform-mode
11379 (package
11380 (name "emacs-terraform-mode")
11381 (version "0.06")
11382 (source
11383 (origin
11384 (method git-fetch)
11385 (uri (git-reference
11386 (url "https://github.com/syohex/emacs-terraform-mode.git")
11387 (commit version)))
11388 (file-name (git-file-name name version))
11389 (sha256
11390 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
11391 (build-system emacs-build-system)
11392 (propagated-inputs
11393 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
11394 (home-page "https://github.com/syohex/emacs-terraform-mode")
11395 (synopsis "Major mode for Terraform")
11396 (description
11397 "@code{emacs-terraform-mode} provides a major mode for working with
11398 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
11399 functionality is inherited from @code{hcl-mode}.")
11400 (license license:gpl3+)))
11401
11402 (define-public emacs-exec-path-from-shell
11403 (package
11404 (name "emacs-exec-path-from-shell")
11405 (version "1.12")
11406 (source
11407 (origin
11408 (method git-fetch)
11409 (uri (git-reference
11410 (url "https://github.com/purcell/exec-path-from-shell")
11411 (commit version)))
11412 (sha256
11413 (base32
11414 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
11415 (build-system emacs-build-system)
11416 (home-page "https://github.com/purcell/exec-path-from-shell")
11417 (synopsis "Get environment variables such as @var{PATH} from the shell")
11418 (description
11419 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
11420 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
11421 the like work as expected on systems on which Emacs is not guaranteed to
11422 inherit a login shell's environment variables. It also allows other
11423 environment variables to be retrieved from the shell, so that Emacs will see
11424 the same values you get in a terminal.")
11425 (license license:gpl3+)))
11426
11427 (define-public emacs-frog-menu
11428 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
11429 (revision "1"))
11430 (package
11431 (name "emacs-frog-menu")
11432 (version (git-version "0.2.9" revision commit))
11433 (source
11434 (origin
11435 (method git-fetch)
11436 (uri (git-reference
11437 (url "https://github.com/clemera/frog-menu")
11438 (commit commit)))
11439 (file-name (git-file-name name version))
11440 (sha256
11441 (base32
11442 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
11443 (build-system emacs-build-system)
11444 (propagated-inputs
11445 `(("emacs-posframe" ,emacs-posframe)
11446 ("emacs-avy" ,emacs-avy)))
11447 (home-page "https://github.com/clemera/frog-menu")
11448 (synopsis "Quickly pick items from ad hoc menus")
11449 (description
11450 "This package provides a popup offering a preview of a list of
11451 candidates on which user-defined dispatch actions can act.")
11452 (license license:gpl3+))))
11453
11454 (define-public emacs-frog-jump-buffer
11455 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
11456 (revision "1"))
11457 (package
11458 (name "emacs-frog-jump-buffer")
11459 (version (git-version "0.1.4" revision commit))
11460 (source
11461 (origin
11462 (method git-fetch)
11463 (uri (git-reference
11464 (url "https://github.com/waymondo/frog-jump-buffer")
11465 (commit commit)))
11466 (file-name (git-file-name name version))
11467 (sha256
11468 (base32
11469 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
11470 (build-system emacs-build-system)
11471 (propagated-inputs
11472 `(("emacs-dash" ,emacs-dash)
11473 ("emacs-frog-menu" ,emacs-frog-menu)
11474 ("emacs-avy" ,emacs-avy)))
11475 (home-page "https://github.com/waymondo/frog-jump-buffer")
11476 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11477 (description
11478 "This package provides a preview window of buffers that can be switched
11479 to with quicklink-style selections.")
11480 (license license:gpl3+))))
11481
11482 (define-public emacs-deft
11483 (package
11484 (name "emacs-deft")
11485 (version "0.8")
11486 (source
11487 (origin
11488 (method git-fetch)
11489 (uri (git-reference
11490 (url "https://github.com/jrblevin/deft.git")
11491 (commit (string-append "v" version))))
11492 (sha256
11493 (base32
11494 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
11495 (build-system emacs-build-system)
11496 (home-page "https://jblevins.org/projects/deft/")
11497 (synopsis "Quickly browse, filter, and edit plain text notes")
11498 (description
11499 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11500 directories of plain text notes, inspired by Notational Velocity.")
11501 (license license:bsd-3)))
11502
11503 (define-public emacs-anzu
11504 (package
11505 (name "emacs-anzu")
11506 (version "0.62")
11507 (source
11508 (origin
11509 (method git-fetch)
11510 (uri (git-reference
11511 (url "https://github.com/syohex/emacs-anzu.git")
11512 (commit version)))
11513 (file-name (git-file-name name version))
11514 (sha256
11515 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11516 (build-system emacs-build-system)
11517 (home-page "https://github.com/syohex/emacs-anzu")
11518 (synopsis "Show number of matches in mode-line while searching")
11519 (description
11520 "Anzu provides a minor mode which displays \"current match/total
11521 matches\" in the mode line in various search modes. This is an Emacs port of
11522 Anzu.zim.")
11523 (license license:gpl3+)))
11524
11525 (define-public emacs-ascii-art-to-unicode
11526 (package
11527 (name "emacs-ascii-art-to-unicode")
11528 (version "1.12")
11529 (source
11530 (origin
11531 (method url-fetch)
11532 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11533 version ".el"))
11534 (sha256
11535 (base32
11536 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11537 (build-system emacs-build-system)
11538 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11539 (synopsis "ASCII to Unicode art converter for Emacs")
11540 (description "This Emacs package provides the commands @command{aa2u} and
11541 @command{aa2u-rectangle}. Both of these commands can be used to convert
11542 simple ASCII art line drawings to Unicode; the former works on the active
11543 region of the buffer, while the latter works on rectangular selections.")
11544 (license license:gpl3+)))
11545
11546 (define-public emacs-emmet-mode
11547 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
11548 (revision "1"))
11549 (package
11550 (name "emacs-emmet-mode")
11551 (version (git-version "1.0.8" revision commit))
11552 (source (origin
11553 (method git-fetch)
11554 (uri (git-reference
11555 (url "https://github.com/smihica/emmet-mode.git")
11556 (commit commit)))
11557 (file-name (git-file-name name version))
11558 (sha256
11559 (base32
11560 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
11561 (build-system emacs-build-system)
11562 (home-page "https://github.com/smihica/emmet-mode")
11563 (synopsis "Unofficial Emmet's support for Emacs")
11564 (description
11565 "Unfold CSS-selector-like expressions to markup. It is intended to be
11566 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11567 (license license:gpl3+))))
11568
11569 (define-public emacs-ergoemacs-mode
11570 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11571 (revision "1"))
11572 (package
11573 (name "emacs-ergoemacs-mode")
11574 (version (git-version "5.16.10.12" revision commit))
11575 (source
11576 (origin
11577 (method git-fetch)
11578 (uri (git-reference
11579 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11580 (commit commit)))
11581 (sha256
11582 (base32
11583 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11584 (build-system emacs-build-system)
11585 (propagated-inputs
11586 `(("emacs-undo-tree" ,emacs-undo-tree)))
11587 (home-page "https://ergoemacs.github.io/")
11588 (synopsis "Emacs mode based on common modern interface and ergonomics")
11589 (description
11590 "This package provides an efficient Emacs keybinding set based on
11591 statistics of command frequency, and supports common shortcuts for open,
11592 close, copy, cut, paste, undo, redo.")
11593 (license license:gpl3+))))
11594
11595 (define-public emacs-password-store
11596 (package
11597 (name "emacs-password-store")
11598 (version "1.7.3")
11599 (source (origin
11600 (method url-fetch)
11601 (uri
11602 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11603 "password-store-" version ".tar.xz"))
11604 (sha256
11605 (base32
11606 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11607 (build-system emacs-build-system)
11608 (arguments
11609 `(#:phases
11610 (modify-phases %standard-phases
11611 (add-after 'unpack 'extract-el-file
11612 (lambda _
11613 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11614 (delete-file-recursively "contrib")
11615 (delete-file-recursively "man")
11616 (delete-file-recursively "src")
11617 (delete-file-recursively "tests"))))))
11618 (propagated-inputs
11619 `(("emacs-f" ,emacs-f)
11620 ("emacs-s" ,emacs-s)
11621 ("emacs-with-editor" ,emacs-with-editor)
11622 ("password-store" ,password-store)))
11623 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11624 (synopsis "Password store (pass) support for Emacs")
11625 (description
11626 "This package provides functions for working with pass (\"the
11627 standard Unix password manager\").")
11628 (license license:gpl2+)))
11629
11630 (define-public emacs-auth-source-pass
11631 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
11632 (revision "1"))
11633 (package
11634 (name "emacs-auth-source-pass")
11635 (version (git-version "5.0.0" revision commit))
11636 (source
11637 (origin
11638 (method git-fetch)
11639 (uri (git-reference
11640 (url "https://github.com/NicolasPetton/auth-password-store.git")
11641 (commit commit)))
11642 (file-name (git-file-name name version))
11643 (sha256
11644 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
11645 (build-system emacs-build-system)
11646 (arguments
11647 `(#:tests? #t
11648 #:test-command '("emacs" "--batch"
11649 "-L" "."
11650 "-l" "test/auth-source-pass-tests.el"
11651 "-f" "ert-run-tests-batch-and-exit")))
11652 (home-page "https://github.com/NicolasPetton/auth-password-store")
11653 (synopsis "Integrate @code{auth-source} with @code{password-store}")
11654 (description "This package helps Emacs integrate with the Unix
11655 @code{password-store} application.")
11656 (license license:gpl3+))))
11657
11658 (define-public emacs-pass
11659 (package
11660 (name "emacs-pass")
11661 (version "1.8")
11662 (source
11663 (origin
11664 (method git-fetch)
11665 (uri (git-reference
11666 (url "https://github.com/NicolasPetton/pass.git")
11667 (commit version)))
11668 (file-name (git-file-name name version))
11669 (sha256
11670 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
11671 (build-system emacs-build-system)
11672 (propagated-inputs
11673 `(("emacs-password-store" ,emacs-password-store)
11674 ("emacs-f" ,emacs-f)))
11675 (home-page "https://github.com/NicolasPetton/pass")
11676 (synopsis "Major mode for @file{password-store.el}")
11677 (description "This is a major mode for managing password-store (pass)
11678 keychains. The keychain entries are displayed in a directory-like structure
11679 and can be consulted and modified.")
11680 (license license:gpl3+)))
11681
11682 (define-public emacs-evil-anzu
11683 (package
11684 (name "emacs-evil-anzu")
11685 (version "0.03")
11686 (source
11687 (origin
11688 (method git-fetch)
11689 (uri (git-reference
11690 (url "https://github.com/syohex/emacs-evil-anzu")
11691 (commit version)))
11692 (file-name (git-file-name name version))
11693 (sha256
11694 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
11695 (build-system emacs-build-system)
11696 (propagated-inputs
11697 `(("emacs-evil" ,emacs-evil)
11698 ("emacs-anzu" ,emacs-anzu)))
11699 (home-page "https://github.com/syohex/emacs-evil-anzu")
11700 (synopsis "Anzu for evil-mode")
11701 (description "@code{anzu} provides a minor mode that displays the current
11702 match and total match information in the mode-line in various search modes.")
11703 (license license:gpl3+)))
11704
11705 (define-public emacs-pg
11706 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
11707 (package
11708 (name "emacs-pg")
11709 (version (git-version "0.1" "1" commit))
11710 (source (origin
11711 (method git-fetch)
11712 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
11713 (commit commit)))
11714 (file-name (git-file-name name version))
11715 (sha256
11716 (base32
11717 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
11718 (build-system emacs-build-system)
11719 (home-page "https://github.com/cbbrowne/pg.el")
11720 (synopsis "Emacs Lisp interface for PostgreSQL")
11721 (description
11722 "This package provides an Emacs Lisp interface for PostgreSQL.")
11723 (license license:gpl3+))))
11724
11725 (define-public emacs-cl-generic
11726 (package
11727 (name "emacs-cl-generic")
11728 (version "0.3")
11729 (source
11730 (origin
11731 (method url-fetch)
11732 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
11733 version ".el"))
11734 (sha256
11735 (base32
11736 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
11737 (build-system emacs-build-system)
11738 (home-page "https://elpa.gnu.org/packages/seq.html")
11739 (synopsis
11740 "Forward @code{cl-generic} compatibility for Emacs before version 25")
11741 (description "This package provides a subset of the features of the
11742 @code{cl-generic} package introduced in Emacs-25, for use on previous
11743 @code{emacsen}.")
11744 (license license:gpl3+)))
11745
11746 (define-public emacs-finalize
11747 (package
11748 (name "emacs-finalize")
11749 (version "2.0.0")
11750 (source
11751 (origin
11752 (method git-fetch)
11753 (uri (git-reference
11754 (url "https://github.com/skeeto/elisp-finalize.git")
11755 (commit version)))
11756 (file-name (git-file-name name version))
11757 (sha256
11758 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
11759 (build-system emacs-build-system)
11760 (propagated-inputs
11761 `(("emacs-cl-generic" ,emacs-cl-generic)))
11762 (home-page "https://github.com/skeeto/elisp-finalize")
11763 (synopsis "Finalizers for Emacs Lisp")
11764 (description
11765 "This package will allows to immediately run a callback (a finalizer)
11766 after its registered lisp object has been garbage collected. This allows for
11767 extra resources, such as buffers and processes, to be cleaned up after the
11768 object has been freed.")
11769 (license license:unlicense)))
11770
11771 (define-public emacs-emacsql
11772 (package
11773 (name "emacs-emacsql")
11774 (version "3.0.0")
11775 (source (origin
11776 (method git-fetch)
11777 (uri (git-reference
11778 (url "https://github.com/skeeto/emacsql.git")
11779 (commit (string-append version))))
11780 (file-name (git-file-name name version))
11781 (sha256
11782 (base32
11783 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
11784 (build-system emacs-build-system)
11785 (arguments
11786 `(#:modules ((guix build emacs-build-system)
11787 (guix build utils)
11788 (guix build emacs-utils)
11789 (srfi srfi-26))
11790 #:phases
11791 (modify-phases %standard-phases
11792 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
11793 (add-before 'install 'patch-elisp-shell-shebangs
11794 (lambda _
11795 (substitute* (find-files "." "\\.el")
11796 (("/bin/sh") (which "sh")))
11797 #t))
11798 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
11799 (lambda _
11800 (setenv "SHELL" "sh")))
11801 (add-after 'setenv-shell 'build-emacsql-sqlite
11802 (lambda _
11803 (invoke "make" "binary" "CC=gcc")))
11804 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
11805 ;; This build phase installs emacs-emacsql binary.
11806 (lambda* (#:key outputs #:allow-other-keys)
11807 (install-file "sqlite/emacsql-sqlite"
11808 (string-append (assoc-ref outputs "out")
11809 "/bin"))
11810 #t))
11811 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
11812 ;; This build phase removes interactive prompts
11813 ;; and makes sure Emacs look for binaries in the right places.
11814 (lambda* (#:key outputs #:allow-other-keys)
11815 (let ((file "emacsql-sqlite.el"))
11816 (chmod file #o644)
11817 (emacs-substitute-sexps file
11818 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
11819 ("(executable-find" (which "gcc"))
11820 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
11821 ;; in the right place.
11822 ("(defvar emacsql-sqlite-executable"
11823 (string-append (assoc-ref outputs "out")
11824 "/bin/emacsql-sqlite"))))))
11825 (replace 'install
11826 (lambda* (#:key outputs #:allow-other-keys)
11827 (let* ((out (assoc-ref outputs "out")))
11828 (install-file "sqlite/emacsql-sqlite"
11829 (string-append out "/bin"))
11830 (for-each (cut install-file <>
11831 (string-append out "/share/emacs/site-lisp/guix.d/"
11832 "emacsql" "-" ,version))
11833 (find-files "." "\\.elc*$")))
11834 #t)))))
11835 (inputs
11836 `(("emacs-minimal" ,emacs-minimal)
11837 ("mariadb" ,mariadb "lib")
11838 ("mariadb-dev" ,mariadb "dev")
11839 ("postgresql" ,postgresql)))
11840 (propagated-inputs
11841 `(("emacs-finalize" ,emacs-finalize)
11842 ("emacs-pg" ,emacs-pg)))
11843 (home-page "https://github.com/skeeto/emacsql")
11844 (synopsis "Emacs high-level SQL database front-end")
11845 (description "Any readable Lisp value can be stored as a value in EmacSQL,
11846 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
11847 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
11848 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
11849 (license license:gpl3+)))
11850
11851 (define-public emacs-closql
11852 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
11853 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
11854 (package
11855 (name "emacs-closql")
11856 (version (git-version "1.0.0" "1" commit))
11857 (source
11858 (origin
11859 (method git-fetch)
11860 (uri (git-reference
11861 (url "https://github.com/emacscollective/closql.git")
11862 (commit commit)))
11863 (file-name (git-file-name name version))
11864 (sha256
11865 (base32
11866 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
11867 (build-system emacs-build-system)
11868 (propagated-inputs
11869 `(("emacs-emacsql" ,emacs-emacsql)))
11870 (home-page "https://github.com/emacscollective/closql")
11871 (synopsis "Store EIEIO objects using EmacSQL")
11872 (description
11873 "This package allows to store uniform EIEIO objects in an EmacSQL
11874 database. SQLite is used as backend. This library imposes some restrictions
11875 on what kind of objects can be stored; it isn't intended to store arbitrary
11876 objects. All objects have to share a common superclass and subclasses cannot
11877 add any additional instance slots.")
11878 (license license:gpl3))))
11879
11880 (define-public emacs-epkg
11881 ;; The release version is to old for the current database scheme.
11882 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
11883 (package
11884 (name "emacs-epkg")
11885 (version (git-version "3.0.0" "1" commit))
11886 (source
11887 (origin
11888 (method git-fetch)
11889 (uri (git-reference
11890 (url "https://github.com/emacscollective/epkg.git")
11891 (commit commit)))
11892 (file-name (git-file-name name version))
11893 (sha256
11894 (base32
11895 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
11896 (build-system emacs-build-system)
11897 (propagated-inputs
11898 `(("emacs-closql" ,emacs-closql)
11899 ("emacs-dash" ,emacs-dash)))
11900 (home-page "https://emacsmirror.net")
11901 (synopsis "Browse the Emacsmirror package database")
11902 (description "This package provides access to a local copy of the
11903 Emacsmirror package database. It provides low-level functions for querying
11904 the database and a @file{package.el} user interface for browsing the database.
11905 Epkg itself is not a package manager.
11906
11907 Getting a local copy:
11908
11909 @example
11910 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
11911 cd ~/.emacs.d/epkgs
11912 git submodule init
11913 git config --global url.https://github.com/.insteadOf git@@github.com:
11914 git submodule update
11915 @end example
11916
11917 Some submodule may be missing. In this case Git will prompt for a GitHub user
11918 name and password. To skip it press a @key{Return} key.
11919
11920 You could get a Epkg package list by invoking @code{epkg-list-packages} in
11921 Emacs.")
11922 (license license:gpl3+))))
11923
11924 (define-public emacs-elisp-slime-nav
11925 (package
11926 (name "emacs-elisp-slime-nav")
11927 (version "0.9")
11928 (source
11929 (origin
11930 (method git-fetch)
11931 (uri (git-reference
11932 (url "https://github.com/purcell/elisp-slime-nav.git")
11933 (commit version)))
11934 (file-name (git-file-name name version))
11935 (sha256
11936 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
11937 (build-system emacs-build-system)
11938 (home-page "https://github.com/purcell/elisp-slime-nav")
11939 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
11940 (description
11941 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
11942 in @code{emacs-lisp-mode}, together with an elisp equivalent of
11943 @code{slime-describe-symbol}.")
11944 (license license:gpl3+)))
11945
11946 (define-public emacs-dedicated
11947 (package
11948 (name "emacs-dedicated")
11949 (version "1.0.0")
11950 (source
11951 (origin
11952 (method git-fetch)
11953 (uri (git-reference
11954 (url "https://github.com/emacsorphanage/dedicated.git")
11955 (commit version)))
11956 (file-name (git-file-name name version))
11957 (sha256
11958 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
11959 (build-system emacs-build-system)
11960 (home-page "https://github.com/emacsorphanage/dedicated")
11961 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
11962 (description
11963 "This simple Emacs minor mode allows you to toggle a window's
11964 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
11965 files into that window. This can be quite handy since many commands will use
11966 another window to show results (compilation mode, starting info, and so on).
11967 A dedicated window won't be used for such a purpose. For details, please read
11968 the source file.")
11969 (license license:gpl2+)))
11970
11971 (define-public emacs-nnreddit
11972 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
11973 (revision "1"))
11974 (package
11975 (name "emacs-nnreddit")
11976 (version (string-append "0.0.1-" revision "."
11977 (string-take commit 7)))
11978 (source (origin
11979 (method git-fetch)
11980 (uri (git-reference
11981 (url "https://github.com/paul-issartel/nnreddit.git")
11982 (commit commit)))
11983 (file-name (git-file-name name version))
11984 (sha256
11985 (base32
11986 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
11987 (build-system emacs-build-system)
11988 (home-page "https://github.com/paul-issartel/nnreddit")
11989 (synopsis "Reddit backend for the Gnus newsreader")
11990 (description "@url{https://www.reddit.com} backend for the Gnus
11991 newsreader.")
11992 (license license:gpl3+))))
11993
11994 (define-public emacs-makey
11995 (package
11996 (name "emacs-makey")
11997 (version "0.3")
11998 (source
11999 (origin
12000 (method git-fetch)
12001 (uri (git-reference
12002 (url "https://github.com/mickeynp/makey.git")
12003 (commit version)))
12004 (file-name (git-file-name name version))
12005 (sha256
12006 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
12007 (build-system emacs-build-system)
12008 (home-page "https://github.com/mickeynp/makey")
12009 (synopsis "Emacs interactive command-line mode")
12010 (description
12011 "This package provides an Emacs interactive command-line mode.")
12012 (license license:gpl3+)))
12013
12014 (define-public emacs-outorg
12015 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
12016 (package
12017 (name "emacs-outorg")
12018 (version (git-version "2.0" "1" commit))
12019 (source
12020 (origin
12021 (method git-fetch)
12022 (uri (git-reference
12023 (url "https://github.com/alphapapa/outorg")
12024 (commit commit)))
12025 (file-name (git-file-name name version))
12026 (sha256
12027 (base32
12028 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
12029 (build-system emacs-build-system)
12030 (home-page "https://github.com/alphapapa/outorg")
12031 (synopsis "Org-style comment editing")
12032 (description "Outorg is for editing comment-sections of source-code
12033 files in temporary Org-mode buffers. It turns conventional
12034 literate-programming upside-down in that the default mode is the
12035 programming-mode, and special action has to be taken to switch to the
12036 text-mode (i.e. Org-mode).")
12037 (license license:gpl3+))))
12038
12039 (define-public emacs-outshine
12040 (package
12041 (name "emacs-outshine")
12042 (version "3.0.1")
12043 (source (origin
12044 (method git-fetch)
12045 (uri (git-reference
12046 (url "https://github.com/alphapapa/outshine.git")
12047 (commit (string-append "v" version))))
12048 (file-name (git-file-name name version))
12049 (sha256
12050 (base32
12051 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
12052 (build-system emacs-build-system)
12053 (propagated-inputs
12054 `(("emacs-outorg" ,emacs-outorg)))
12055 (home-page "https://github.com/alphapapa/outshine")
12056 (synopsis "Emacs outline with outshine")
12057 (description "Outshine attempts to bring the look and feel of
12058 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
12059 of @code{outline-minor-mode} (@code{org-mode} itself derives from
12060 outline-mode), so there is no such thing like an outshine mode, only
12061 @code{outline-minor-mode} with outshine extensions loaded.")
12062 (license license:gpl3+)))
12063
12064 (define-public emacs-frecency
12065 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
12066 (version "0.1-pre")
12067 (revision "1"))
12068 (package
12069 (name "emacs-frecency")
12070 (version (git-version version revision commit))
12071 (source (origin
12072 (method git-fetch)
12073 (uri (git-reference
12074 (url "https://github.com/alphapapa/frecency.el")
12075 (commit commit)))
12076 (sha256
12077 (base32
12078 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
12079 (file-name (git-file-name name version))))
12080 (build-system emacs-build-system)
12081 (propagated-inputs
12082 `(("emacs-a" ,emacs-a)
12083 ("emacs-dash" ,emacs-dash)))
12084 (home-page "https://github.com/alphapapa/frecency.el")
12085 (synopsis "Sort items by frequency and recency of access")
12086 (description "This package provides a way of sorting items via
12087 a heuristic based on frequency and recency.")
12088 (license license:gpl3+))))
12089
12090 (define-public emacs-org-recent-headings
12091 (package
12092 (name "emacs-org-recent-headings")
12093 (version "0.1")
12094 (source (origin
12095 (method git-fetch)
12096 (uri (git-reference
12097 (url "https://github.com/alphapapa/org-recent-headings.git")
12098 (commit version)))
12099 (file-name (git-file-name name version))
12100 (sha256
12101 (base32
12102 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
12103 (build-system emacs-build-system)
12104 (propagated-inputs
12105 `(("emacs-org" ,emacs-org)
12106 ("emacs-dash" ,emacs-dash)
12107 ("emacs-frecency" ,emacs-frecency)))
12108 (home-page "https://github.com/alphapapa/org-recent-headings")
12109 (synopsis "Navigate to recently used Org headings and lists")
12110 (description "This package maintains a list of recently used Org headings,
12111 as well as functions for navigating between these headings.")
12112 (license license:gpl3+)))
12113
12114 (define-public emacs-org-super-agenda
12115 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
12116 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
12117 (revision "3"))
12118 (package
12119 (name "emacs-org-super-agenda")
12120 (version (git-version "1.1.1" revision commit))
12121 (source (origin
12122 (method git-fetch)
12123 (uri (git-reference
12124 (url "https://github.com/alphapapa/org-super-agenda")
12125 (commit commit)))
12126 (file-name (git-file-name name version))
12127 (sha256
12128 (base32
12129 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
12130 (build-system emacs-build-system)
12131 (propagated-inputs
12132 `(("emacs-org" ,emacs-org)
12133 ("emacs-dash" ,emacs-dash)
12134 ("emacs-ts" ,emacs-ts)
12135 ("emacs-ht" ,emacs-ht)
12136 ("emacs-s" ,emacs-s)))
12137 (home-page "https://github.com/alphapapa/org-super-agenda")
12138 (synopsis "Supercharged Org agenda")
12139 (description "This package allows items in the Org agenda to be grouped
12140 into sections while preserving the structure imposed by any timestamps.")
12141 (license license:gpl3+))))
12142
12143 (define-public emacs-org-make-toc
12144 (package
12145 (name "emacs-org-make-toc")
12146 (version "0.3")
12147 (source (origin
12148 (method git-fetch)
12149 (uri (git-reference
12150 (url "https://github.com/alphapapa/org-make-toc")
12151 (commit version)))
12152 (file-name (git-file-name name version))
12153 (sha256
12154 (base32
12155 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
12156 (build-system emacs-build-system)
12157 (propagated-inputs
12158 `(("emacs-org" ,emacs-org)
12159 ("emacs-dash" ,emacs-dash)
12160 ("emacs-s" ,emacs-s)))
12161 (home-page "https://github.com/alphapapa/org-make-toc")
12162 (synopsis "Maintain a table of contents for an Org file")
12163 (description "This package facilitates the creation and maintenance of
12164 tables of contents.")
12165 (license license:gpl3+)))
12166
12167 (define-public emacs-ts
12168 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
12169 (revision "2"))
12170 (package
12171 (name "emacs-ts")
12172 (version (git-version "0.1" revision commit))
12173 (source (origin
12174 (method git-fetch)
12175 (uri (git-reference
12176 (url "https://github.com/alphapapa/ts.el")
12177 (commit commit)))
12178 (sha256
12179 (base32
12180 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
12181 (file-name (git-file-name name version))))
12182 (build-system emacs-build-system)
12183 (propagated-inputs
12184 `(("emacs-s" ,emacs-s)
12185 ("emacs-dash" ,emacs-dash)))
12186 (arguments
12187 ;; XXX: Three tests are failing because of a timezone-related issue
12188 ;; with how they're written. On my machine, all the failing test
12189 ;; results are 18000 seconds (5 hours) off.
12190
12191 ;; The ts-parse-org function accepts a string without any timezone
12192 ;; info, not assumed to be in Unix time, and converts it to a so-called
12193 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
12194 ;; then seems to assume the struct's corresponding time is in terms of
12195 ;; the user's current time zone, before returning a Unix time in
12196 ;; seconds.
12197
12198 ;; The failing tests all have similar problems, but nothing else about
12199 ;; the library seems particularly off.
12200
12201 `(#:tests? #t
12202 #:test-command '("emacs" "--batch"
12203 "-l" "test/test.el"
12204 "-f" "ert-run-tests-batch-and-exit")
12205 #:phases
12206 (modify-phases %standard-phases
12207 (add-before 'check 'make-tests-writable
12208 (lambda _
12209 (make-file-writable "test/test.el")
12210 #t))
12211 (add-before 'check 'delete-failing-tests
12212 (lambda _
12213 (emacs-batch-edit-file "test/test.el"
12214 `(progn (progn
12215 (goto-char (point-min))
12216 (dolist (test-regexp '("ert-deftest ts-format"
12217 "ert-deftest ts-parse-org\\_>"
12218 "ert-deftest ts-parse-org-element"))
12219 (re-search-forward test-regexp)
12220 (beginning-of-line)
12221 (kill-sexp)))
12222 (basic-save-buffer)))
12223 #t)))))
12224 (home-page "https://github.com/alphapapa/ts.el")
12225 (synopsis "Timestamp and date/time library")
12226 (description "This package facilitates manipulating dates, times, and
12227 timestamps by providing a @code{ts} struct.")
12228 (license license:gpl3+))))
12229
12230 (define-public emacs-peg
12231 (package
12232 (name "emacs-peg")
12233 (version "0.6")
12234 (source (origin
12235 (method git-fetch)
12236 (uri (git-reference
12237 (url "https://github.com/emacsmirror/peg")
12238 (commit version)))
12239 (sha256
12240 (base32
12241 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
12242 (file-name (git-file-name name version))))
12243 (build-system emacs-build-system)
12244 (home-page "https://github.com/emacsmirror/peg/")
12245 (synopsis "Parsing Expression Grammars in Elisp")
12246 (description "This package provides a macro that parses the current buffer
12247 according to a parsing expression grammar.")
12248 (license license:gpl3+)))
12249
12250 (define-public emacs-org-ql
12251 (package
12252 (name "emacs-org-ql")
12253 (version "0.3.2")
12254 (source (origin
12255 (method git-fetch)
12256 (uri (git-reference
12257 (url "https://github.com/alphapapa/org-ql")
12258 (commit version)))
12259 (sha256
12260 (base32
12261 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
12262 (file-name (git-file-name name version))))
12263 (build-system emacs-build-system)
12264 (propagated-inputs
12265 `(("emacs-s" ,emacs-s)
12266 ("emacs-f" ,emacs-f)
12267 ("emacs-ov" ,emacs-ov)
12268 ("emacs-peg" ,emacs-peg)
12269 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
12270 ("emacs-ts" ,emacs-ts)
12271 ("emacs-org" ,emacs-org)
12272 ("emacs-helm" ,emacs-helm)
12273 ("emacs-helm-org" ,emacs-helm-org)
12274 ("emacs-dash" ,emacs-dash)))
12275 (native-inputs
12276 `(("emacs-buttercup" ,emacs-buttercup)))
12277 (arguments
12278 `(#:phases
12279 (modify-phases %standard-phases
12280 (add-after 'unpack 'require-helm
12281 (lambda _
12282 (substitute* "helm-org-ql.el"
12283 (("^;;;; Requirements")
12284 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
12285 #t)))
12286 #:tests? #t
12287 #:test-command '("buttercup" "-L" ".")))
12288 (home-page "https://github.com/alphapapa/org-ql/")
12289 (synopsis "Query language for Org buffers")
12290 (description "This package provides a Lispy query language for Org
12291 files, allowing for actions to be performed based on search criteria.")
12292 (license license:gpl3+)))
12293
12294 (define-public emacs-org-auto-expand
12295 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
12296 (revision "1"))
12297 (package
12298 (name "emacs-org-auto-expand")
12299 (version (git-version "0.1" revision commit))
12300 (source (origin
12301 (method git-fetch)
12302 (uri (git-reference
12303 (url "https://github.com/alphapapa/org-auto-expand")
12304 (commit commit)))
12305 (file-name (git-file-name name version))
12306 (sha256
12307 (base32
12308 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
12309 (build-system emacs-build-system)
12310 (propagated-inputs
12311 `(("emacs-org" ,emacs-org)
12312 ("emacs-dash" ,emacs-dash)))
12313 (home-page "https://github.com/alphapapa/org-auto-expand")
12314 (synopsis "Automatically expand certain Org headings")
12315 (description "This package allows a customizable set of headings in Org
12316 files to be expanded upon opening them.")
12317 (license license:gpl3+))))
12318
12319 (define-public emacs-parsebib
12320 (package
12321 (name "emacs-parsebib")
12322 (version "2.3.1")
12323 (source
12324 (origin
12325 (method git-fetch)
12326 (uri (git-reference
12327 (url "https://github.com/joostkremers/parsebib.git")
12328 (commit version)))
12329 (file-name (git-file-name name version))
12330 (sha256
12331 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
12332 (build-system emacs-build-system)
12333 (home-page "https://github.com/joostkremers/parsebib")
12334 (synopsis "Library for parsing bib files")
12335 (description
12336 "This package provides an Emacs library for parsing bib files.")
12337 (license license:gpl3+)))
12338
12339 (define-public emacs-biblio
12340 (package
12341 (name "emacs-biblio")
12342 (version "0.2")
12343 (source
12344 (origin
12345 (method git-fetch)
12346 (uri (git-reference
12347 (url "https://github.com/cpitclaudel/biblio.el.git")
12348 (commit version)))
12349 (file-name (git-file-name name version))
12350 (sha256
12351 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
12352 (build-system emacs-build-system)
12353 (propagated-inputs
12354 `(("emacs-seq" ,emacs-seq)
12355 ("emacs-dash" ,emacs-dash)
12356 ("emacs-let-alist" ,emacs-let-alist)))
12357 (home-page "https://github.com/cpitclaudel/biblio.el")
12358 (synopsis "Browse and import bibliographic references")
12359 (description "This package provides an extensible Emacs package for
12360 browsing and fetching references.
12361
12362 @file{biblio.el} makes it easy to browse and gather bibliographic references
12363 and publications from various sources, by keywords or by DOI. References are
12364 automatically fetched from well-curated sources, and formatted as BibTeX.")
12365 (license license:gpl3+)))
12366
12367 (define-public emacs-helm-bibtex
12368 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
12369 (revision "1"))
12370 (package
12371 (name "emacs-helm-bibtex")
12372 (version (string-append "2.0.0" "-" revision "."
12373 (string-take commit 7)))
12374 (source
12375 (origin
12376 (method git-fetch)
12377 (uri (git-reference
12378 (url "https://github.com/tmalsburg/helm-bibtex.git")
12379 (commit commit)))
12380 (file-name (git-file-name name version))
12381 (sha256
12382 (base32
12383 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
12384 (build-system emacs-build-system)
12385 (propagated-inputs
12386 `(("emacs-helm" ,emacs-helm)
12387 ("emacs-parsebib" ,emacs-parsebib)
12388 ("emacs-s" ,emacs-s)
12389 ("emacs-dash" ,emacs-dash)
12390 ("emacs-f" ,emacs-f)
12391 ("emacs-biblio" ,emacs-biblio)
12392 ("emacs-ivy" ,emacs-ivy)))
12393 (home-page "https://github.com/tmalsburg/helm-bibtex")
12394 (synopsis "Bibliography manager based on Helm")
12395 (description "This package provides bibliography manager for Emacs,
12396 based on Helm and the bibtex-completion backend.
12397
12398 Key features:
12399
12400 @itemize
12401 @item Quick access to your bibliography from within Emacs
12402 @item Powerful search capabilities
12403 @item Provides instant search results as you type
12404 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
12405 @item Open the PDFs, URLs, or DOIs associated with an entry
12406 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
12407 BibTeX entries, or plain text references at point, attach PDFs to emails
12408 @item Support for note taking
12409 @item Quick access to online bibliographic databases such as Pubmed,
12410 arXiv, Google Scholar, Library of Congress, etc.
12411 @item Imports BibTeX entries from CrossRef and other sources.
12412 @end itemize\n")
12413 (license license:gpl3+))))
12414
12415 (define-public emacs-ewmctrl
12416 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
12417 (package
12418 (name "emacs-ewmctrl")
12419 (version (git-version "0.0.1" "1" commit))
12420 (source
12421 (origin
12422 (method git-fetch)
12423 (uri (git-reference
12424 (url "https://github.com/flexibeast/ewmctrl.git")
12425 (commit commit)))
12426 (file-name (git-file-name name version))
12427 (sha256
12428 (base32
12429 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
12430 (build-system emacs-build-system)
12431 (arguments
12432 '(#:phases
12433 (modify-phases %standard-phases
12434 (add-after 'unpack 'patch-ewmctrl
12435 ;; This build phase makes sure ‘ewmctrl’ looks
12436 ;; for ‘wmctrl’ in the right place.
12437 (lambda _
12438 (let ((file "ewmctrl.el"))
12439 (chmod file #o644)
12440 (emacs-substitute-sexps file
12441 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
12442 (inputs
12443 `(("wmctrl" ,wmctrl)))
12444 (home-page "https://github.com/flexibeast/ewmctrl")
12445 (synopsis "Emacs interface to @code{wmctrl}")
12446 (description "@code{ewmctrl} provides an Emacs interface to
12447 @code{wmctrl} command-line window-management program.")
12448 (license license:gpl3+))))
12449
12450 (define-public emacs-erc-image
12451 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
12452 (revision "1"))
12453 (package
12454 (name "emacs-erc-image")
12455 (version (git-version "0" revision commit))
12456 (source
12457 (origin
12458 (method git-fetch)
12459 (uri (git-reference
12460 (url "https://github.com/kidd/erc-image.el")
12461 (commit commit)))
12462 (file-name (git-file-name name version))
12463 (sha256
12464 (base32
12465 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
12466 (build-system emacs-build-system)
12467 (home-page "https://github.com/kidd/erc-image.el")
12468 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
12469 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
12470 and @code{erc-send-modify-hook} to download and show images.")
12471 (license license:gpl3+))))
12472
12473 (define-public emacs-helm-gtags
12474 (package
12475 (name "emacs-helm-gtags")
12476 (version "1.5.6")
12477 (source
12478 (origin
12479 (method git-fetch)
12480 (uri (git-reference
12481 (url "https://github.com/syohex/emacs-helm-gtags.git")
12482 (commit version)))
12483 (file-name (git-file-name name version))
12484 (sha256
12485 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
12486 (build-system emacs-build-system)
12487 (propagated-inputs
12488 `(("emacs-helm" ,emacs-helm)))
12489 (home-page "https://github.com/syohex/emacs-helm-gtags")
12490 (synopsis "Emacs Helm interface to GNU Global")
12491 (description
12492 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
12493 (license license:gpl3+)))
12494
12495 (define-public emacs-list-utils
12496 (package
12497 (name "emacs-list-utils")
12498 (version "0.4.4")
12499 (source
12500 (origin
12501 (method git-fetch)
12502 (uri (git-reference
12503 (url "https://github.com/rolandwalker/list-utils.git")
12504 (commit (string-append "v" version))))
12505 (file-name (git-file-name name version))
12506 (sha256
12507 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
12508 (build-system emacs-build-system)
12509 (home-page "https://github.com/rolandwalker/list-utils")
12510 (synopsis "List-manipulation utility functions")
12511 (description "This package provides a list manipulation library for Emacs.")
12512 (license license:gpl3+)))
12513
12514 (define-public emacs-move-text
12515 (package
12516 (name "emacs-move-text")
12517 (version "2.0.8")
12518 (source
12519 (origin
12520 (method git-fetch)
12521 (uri (git-reference
12522 (url "https://github.com/emacsfodder/move-text.git")
12523 (commit version)))
12524 (file-name (git-file-name name version))
12525 (sha256
12526 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12527 (build-system emacs-build-system)
12528 (home-page "https://github.com/emacsfodder/move-text")
12529 (synopsis "Move current line or region with M-up or M-down")
12530 (description "This package provide functions to move the current line
12531 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12532 region instead.")
12533 (license license:gpl3+)))
12534
12535 (define-public emacs-validate
12536 (package
12537 (name "emacs-validate")
12538 (version "1.0.5")
12539 (source (origin
12540 (method url-fetch)
12541 (uri (string-append "https://github.com/Malabarba/validate.el"
12542 "/archive/" version ".tar.gz"))
12543 (file-name (string-append name "-" version ".tar.gz"))
12544 (sha256
12545 (base32
12546 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
12547 (build-system emacs-build-system)
12548 (home-page "https://github.com/Malabarba/validate.el")
12549 (synopsis "Emacs library for scheme validation")
12550 (description "This Emacs library provides two functions that perform
12551 schema validation.")
12552 (license license:gpl3+)))
12553
12554 (define-public emacs-rainbow-blocks
12555 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12556 (package
12557 (name "emacs-rainbow-blocks")
12558 (version (git-version "1.0.0" "1" commit))
12559 (source (origin
12560 (method git-fetch)
12561 (uri (git-reference
12562 (url "https://github.com/istib/rainbow-blocks.git")
12563 (commit commit)))
12564 (file-name (git-file-name name version))
12565 (sha256
12566 (base32
12567 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12568 (build-system emacs-build-system)
12569 (home-page "https://github.com/istib/rainbow-blocks")
12570 (synopsis "Highlight sexp blocks")
12571 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12572 made of parentheses, brackets, and braces according to their depth. Each
12573 successive level is highlighted in a different color. This makes it easy to
12574 orient yourself in the code, and tell which statements are at a given level.")
12575 (license license:gpl3+))))
12576
12577 (define-public emacs-hierarchy
12578 (package
12579 (name "emacs-hierarchy")
12580 (version "0.7.0")
12581 (source
12582 (origin
12583 (method git-fetch)
12584 (uri (git-reference
12585 (url "https://github.com/DamienCassou/hierarchy.git")
12586 (commit (string-append "v" version))))
12587 (file-name (git-file-name name version))
12588 (sha256
12589 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12590 (build-system emacs-build-system)
12591 (native-inputs
12592 `(("emacs-buttercup" ,emacs-buttercup)))
12593 (arguments
12594 `(#:tests? #t
12595 #:test-command '("buttercup" "-L" ".")))
12596 (home-page "https://github.com/DamienCassou/hierarchy")
12597 (synopsis "Library to create and display hierarchy structures")
12598 (description "This package provides an Emacs library to create, query,
12599 navigate and display hierarchy structures.")
12600 (license license:gpl3+)))
12601
12602 (define-public emacs-tree-mode
12603 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12604 (revision "1"))
12605 (package
12606 (name "emacs-tree-mode")
12607 (version (string-append "0.0.1" "-" revision "."
12608 (string-take commit 7)))
12609 (source
12610 (origin
12611 (method git-fetch)
12612 (uri (git-reference
12613 (url "https://github.com/emacsorphanage/tree-mode.git")
12614 (commit commit)))
12615 (file-name (git-file-name name version))
12616 (sha256
12617 (base32
12618 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12619 (build-system emacs-build-system)
12620 (home-page "https://github.com/emacsorphanage/tree-mode")
12621 (synopsis "Emacs mode to manage tree widgets")
12622 (description
12623 "This package provides an Emacs library to manage tree widgets.")
12624 (license license:gpl3+))))
12625
12626 (define-public emacs-md4rd
12627 (package
12628 (name "emacs-md4rd")
12629 (version "0.3.1")
12630 (source (origin
12631 (method git-fetch)
12632 (uri (git-reference
12633 (url "https://github.com/ahungry/md4rd.git")
12634 (commit version)))
12635 (file-name (git-file-name name version))
12636 (sha256
12637 (base32
12638 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
12639 (propagated-inputs
12640 `(("emacs-hierarchy" ,emacs-hierarchy)
12641 ("emacs-request" ,emacs-request)
12642 ("emacs-dash" ,emacs-dash)
12643 ("emacs-s" ,emacs-s)
12644 ("emacs-tree-mode" ,emacs-tree-mode)))
12645 (build-system emacs-build-system)
12646 (home-page "https://github.com/ahungry/md4rd")
12647 (synopsis "Emacs Mode for Reddit")
12648 (description
12649 "This package allows to read Reddit from within Emacs interactively.")
12650 (license license:gpl3+)))
12651
12652 (define-public emacs-pulseaudio-control
12653 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
12654 (revision "3"))
12655 (package
12656 (name "emacs-pulseaudio-control")
12657 (version (git-version "0.0.1" revision commit))
12658 (source
12659 (origin
12660 (method git-fetch)
12661 (uri (git-reference
12662 (url "https://github.com/flexibeast/pulseaudio-control.git")
12663 (commit commit)))
12664 (file-name (git-file-name name version))
12665 (sha256
12666 (base32
12667 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
12668 (build-system emacs-build-system)
12669 (arguments
12670 '(#:phases (modify-phases %standard-phases
12671 (add-after 'unpack 'patch-file-name
12672 (lambda* (#:key inputs #:allow-other-keys)
12673 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
12674 (chmod "pulseaudio-control.el" #o600)
12675 (emacs-substitute-variables "pulseaudio-control.el"
12676 ("pulseaudio-control-pactl-path"
12677 (string-append pulseaudio "/bin/pactl")))
12678 #t))))))
12679 (inputs `(("pulseaudio" ,pulseaudio)))
12680 (home-page "https://github.com/flexibeast/pulseaudio-control")
12681 (synopsis "Control @code{pulseaudio} from Emacs")
12682 (description
12683 "This package allows to control @code{pulseaudio} from Emacs.")
12684 (license license:gpl3+))))
12685
12686 (define-public emacs-datetime
12687 (package
12688 (name "emacs-datetime")
12689 (version "0.3")
12690 (source
12691 (origin
12692 (method git-fetch)
12693 (uri (git-reference
12694 (url "https://github.com/doublep/datetime.git")
12695 (commit version)))
12696 (file-name (git-file-name name version))
12697 (sha256
12698 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
12699 (build-system emacs-build-system)
12700 (home-page "https://github.com/doublep/datetime/")
12701 (synopsis "Library to work with dates in Emacs")
12702 (description "Parsing, formatting, matching and recoding
12703 timestamps and date-time format strings library for Emacs.")
12704 (license license:gpl3+)))
12705
12706 (define-public emacs-org-mind-map
12707 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
12708 (revision "1"))
12709 (package
12710 (name "emacs-org-mind-map")
12711 (version (string-append "0.0.1" "-" revision "."
12712 (string-take commit 7)))
12713 (source
12714 (origin
12715 (method git-fetch)
12716 (uri (git-reference
12717 (url "https://github.com/theodorewiles/org-mind-map.git")
12718 (commit commit)))
12719 (file-name (git-file-name name version))
12720 (sha256
12721 (base32
12722 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
12723 (propagated-inputs
12724 `(("emacs-dash" ,emacs-dash)))
12725 (build-system emacs-build-system)
12726 (home-page "https://github.com/theodorewiles/org-mind-map")
12727 (synopsis "Create Graphviz directed graphs from Org files")
12728 (description
12729 "This package creates Graphviz directed graphs from Org files.")
12730 (license license:gpl3+))))
12731
12732 (define-public emacs-npm-mode
12733 (package
12734 (name "emacs-npm-mode")
12735 (version "0.6.0")
12736 (source
12737 (origin
12738 (method git-fetch)
12739 (uri (git-reference
12740 (url "https://github.com/mojochao/npm-mode.git")
12741 (commit version)))
12742 (file-name (git-file-name name version))
12743 (sha256
12744 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
12745 (build-system emacs-build-system)
12746 (home-page "https://github.com/mojochao/npm-mode")
12747 (synopsis "Minor mode for working with @code{npm} projects")
12748 (description
12749 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
12750 (license license:gpl3+)))
12751
12752 (define-public emacs-seq
12753 (package
12754 (name "emacs-seq")
12755 (version "2.20")
12756 (source
12757 (origin
12758 (method url-fetch)
12759 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
12760 (sha256
12761 (base32
12762 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
12763 (build-system emacs-build-system)
12764 (home-page "http://elpa.gnu.org/packages/seq.html")
12765 (synopsis "Sequence manipulation functions")
12766 (description "Sequence-manipulation functions that complement basic
12767 functions provided by @file{subr.el}.")
12768 (license license:gpl3+)))
12769
12770 (define-public emacs-itail
12771 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
12772 (revision "1"))
12773 (package
12774 (name "emacs-itail")
12775 (version (string-append "0.0.1" "-" revision "."
12776 (string-take commit 7)))
12777 (source
12778 (origin
12779 (method git-fetch)
12780 (uri (git-reference
12781 (url "https://github.com/re5et/itail.git")
12782 (commit commit)))
12783 (file-name (git-file-name name version))
12784 (sha256
12785 (base32
12786 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
12787 (build-system emacs-build-system)
12788 (home-page "https://github.com/re5et/itail")
12789 (synopsis "Interactive @code{tail} Emacs mode")
12790 (description "@code{itail} provides interactive @code{tail} mode
12791 that allows you to filter the tail with unix pipes and highlight the
12792 contents of the tailed file. Works locally or on remote files using
12793 tramp.")
12794 (license license:gpl3+))))
12795
12796 (define-public emacs-loop
12797 (package
12798 (name "emacs-loop")
12799 (version "1.3")
12800 (source
12801 (origin
12802 (method git-fetch)
12803 (uri (git-reference
12804 (url "https://github.com/Wilfred/loop.el.git")
12805 (commit version)))
12806 (file-name (git-file-name name version))
12807 (sha256
12808 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
12809 (build-system emacs-build-system)
12810 (native-inputs
12811 `(("emacs-ert-runner" ,emacs-ert-runner)
12812 ("emacs-undercover" ,emacs-undercover)))
12813 (arguments
12814 `(#:tests? #t
12815 #:test-command '("ert-runner")))
12816 (home-page "https://github.com/Wilfred/loop.el")
12817 (synopsis "Imperative loop structures for Emacs")
12818 (description "Loop structures familiar to users of other languages. This
12819 library adds a selection of popular loop structures as well as break and
12820 continue.")
12821 (license license:gpl3+)))
12822
12823 (define-public emacs-elisp-refs
12824 (package
12825 (name "emacs-elisp-refs")
12826 (version "1.3")
12827 (source
12828 (origin
12829 (method git-fetch)
12830 (uri (git-reference
12831 (url "https://github.com/Wilfred/elisp-refs.git")
12832 (commit version)))
12833 (file-name (git-file-name name version))
12834 (sha256
12835 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
12836 (build-system emacs-build-system)
12837 (propagated-inputs
12838 `(("emacs-dash" ,emacs-dash)
12839 ("emacs-f" ,emacs-f)
12840 ("emacs-list-utils" ,emacs-list-utils)
12841 ("emacs-loop" ,emacs-loop)
12842 ("emacs-s" ,emacs-s)
12843 ("emacs-shut-up" ,emacs-shut-up)))
12844 (native-inputs
12845 `(("emacs-ert-runner" ,emacs-ert-runner)
12846 ("emacs-undercover" ,emacs-undercover)))
12847 (arguments
12848 `(#:tests? #t
12849 #:test-command '("ert-runner")))
12850 (home-page "https://github.com/Wilfred/elisp-refs")
12851 (synopsis "Find callers of elisp functions or macros")
12852 (description "Find references to functions, macros or variables. Unlike a
12853 dumb text search, @code{elisp-refs} actually parses the code, so it's never
12854 confused by comments or @code{foo-bar} matching @code{foo}.")
12855 (license license:gpl3+)))
12856
12857 (define-public emacs-crux
12858 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
12859 (revision "2"))
12860 (package
12861 (name "emacs-crux")
12862 (version (git-version "0.3.0" revision commit))
12863 (source
12864 (origin
12865 (method git-fetch)
12866 (uri (git-reference
12867 (url "https://github.com/bbatsov/crux.git")
12868 (commit commit)))
12869 (file-name (git-file-name name version))
12870 (sha256
12871 (base32
12872 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
12873 (build-system emacs-build-system)
12874 (home-page "https://github.com/bbatsov/crux")
12875 (synopsis "Collection of useful functions for Emacs")
12876 (description
12877 "@code{crux} provides a collection of useful functions for Emacs.")
12878 (license license:gpl3+))))
12879
12880 (define-public emacs-edit-server
12881 (package
12882 (name "emacs-edit-server")
12883 (version "1.13")
12884 (source
12885 (origin
12886 (method git-fetch)
12887 (uri (git-reference
12888 (url "https://github.com/stsquad/emacs_chrome.git")
12889 (commit (string-append "v" version))))
12890 (file-name (git-file-name name version))
12891 (sha256
12892 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
12893 (build-system emacs-build-system)
12894 (arguments
12895 `(#:phases
12896 (modify-phases %standard-phases
12897 (add-after 'unpack 'chdir-elisp
12898 ;; Elisp directory is not in root of the source.
12899 (lambda _
12900 (chdir "servers"))))))
12901 (home-page "https://github.com/stsquad/emacs_chrome")
12902 (synopsis "Server that responds to edit requests from Chromium")
12903 (description
12904 "This package provides an edit server to respond to requests from Emacs.")
12905 (license license:gpl3+)))
12906
12907 (define-public emacs-m-buffer-el
12908 (package
12909 (name "emacs-m-buffer-el")
12910 (version "0.15")
12911 (source
12912 (origin
12913 (method url-fetch)
12914 (uri (string-append "https://github.com/phillord/m-buffer-el"
12915 "/archive/" "v" version ".tar.gz"))
12916 (file-name (string-append name "-" version ".tar.gz"))
12917 (sha256
12918 (base32
12919 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
12920 (arguments
12921 `(#:phases
12922 (modify-phases %standard-phases
12923 (add-before 'install 'check
12924 (lambda* (#:key inputs #:allow-other-keys)
12925 (invoke "emacs" "--batch" "-L" "."
12926 "-l" "test/m-buffer-test.el"
12927 "-l" "test/m-buffer-at-test.el"
12928 "-f" "ert-run-tests-batch-and-exit"))))))
12929 (build-system emacs-build-system)
12930 (home-page "https://github.com/phillord/m-buffer-el")
12931 (synopsis "List oriented buffer operations for Emacs")
12932 (description "@code{m-buffer} provides a set of list-orientated functions
12933 for operating over the contents of Emacs buffers.")
12934 (license license:gpl3+)))
12935
12936 (define-public emacs-let-alist
12937 (package
12938 (name "emacs-let-alist")
12939 (version "1.0.6")
12940 (source
12941 (origin
12942 (method url-fetch)
12943 (uri (string-append
12944 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
12945 (sha256
12946 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
12947 (build-system emacs-build-system)
12948 (home-page "https://elpa.gnu.org/packages/let-alist.html")
12949 (synopsis "Easily let-bind values of an assoc-list by their names")
12950 (description "This package offers a single macro, @code{let-alist}. This
12951 macro takes a first argument (whose value must be an alist) and a body.")
12952 (license license:gpl3+)))
12953
12954 (define-public emacs-esup
12955 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
12956 (revision "1"))
12957 (package
12958 (name "emacs-esup")
12959 (version (string-append "0.6" "-" revision "."
12960 (string-take commit 7)))
12961 (source
12962 (origin
12963 (method git-fetch)
12964 (uri (git-reference
12965 (url "https://github.com/jschaf/esup.git")
12966 (commit commit)))
12967 (file-name (git-file-name name version))
12968 (sha256
12969 (base32
12970 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
12971 ;; TODO: Add tests
12972 (build-system emacs-build-system)
12973 (home-page "https://github.com/jschaf/esup")
12974 (synopsis "Emacs start up profiler")
12975 (description "Benchmark Emacs Startup time without ever leaving
12976 your Emacs.")
12977 (license license:gpl2+))))
12978
12979 (define-public emacs-restart-emacs
12980 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
12981 (revision "1"))
12982 (package
12983 (name "emacs-restart-emacs")
12984 (version (git-version "0.1.1" revision commit))
12985 (source
12986 (origin
12987 (method git-fetch)
12988 (uri (git-reference
12989 (url "https://github.com/iqbalansari/restart-emacs.git")
12990 (commit commit)))
12991 (file-name (git-file-name name version))
12992 (sha256
12993 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
12994 (build-system emacs-build-system)
12995 (home-page "https://github.com/iqbalansari/restart-emacs")
12996 (synopsis "Restart Emacs from within Emacs")
12997 (description "This package provides a simple command to restart Emacs from
12998 within Emacs.")
12999 (license license:gpl3+))))
13000
13001 (define-public emacs-sourcemap
13002 (package
13003 (name "emacs-sourcemap")
13004 (version "0.03")
13005 (source
13006 (origin
13007 (method git-fetch)
13008 (uri (git-reference
13009 (url "https://github.com/syohex/emacs-sourcemap.git")
13010 (commit version)))
13011 (file-name (git-file-name name version))
13012 (sha256
13013 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
13014 (build-system emacs-build-system)
13015 (home-page "https://github.com/syohex/emacs-sourcemap")
13016 (synopsis "Sourcemap parser")
13017 (description "Sourcemap parser")
13018 (license license:gpl3+)))
13019
13020 (define-public emacs-macrostep
13021 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
13022 (package
13023 (name "emacs-macrostep")
13024 (version (git-version "0.9" "1" commit))
13025 (source (origin
13026 (method git-fetch)
13027 (uri (git-reference
13028 (url "https://github.com/joddie/macrostep.git")
13029 (commit commit)))
13030 (file-name (git-file-name name version))
13031 (sha256
13032 (base32
13033 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
13034 (build-system emacs-build-system)
13035 (arguments
13036 '(#:phases
13037 (modify-phases %standard-phases
13038 (add-before 'check 'remove-test
13039 ;; Fails because of requirement ‘/bin/sh’.
13040 (lambda _
13041 (let ((file "macrostep-test.el"))
13042 (chmod file #o644)
13043 (emacs-batch-edit-file file
13044 `(progn (progn (goto-char (point-min))
13045 (re-search-forward
13046 "(ert-deftest macrostep-expand-c-macros")
13047 (beginning-of-line)
13048 (kill-sexp))
13049 (basic-save-buffer))))))
13050 (add-before 'install 'check
13051 (lambda _
13052 (invoke "emacs" "--batch" "-L" "."
13053 "-l" "macrostep-test.el"
13054 "-f" "ert-run-tests-batch-and-exit"))))))
13055 (home-page "https://github.com/joddie/macrostep")
13056 (synopsis "Interactive macro-expander for Emacs")
13057 (description "@code{macrostep} is an Emacs minor mode for interactively
13058 stepping through the expansion of macros in Emacs Lisp source code. It lets
13059 you see exactly what happens at each step of the expansion process by
13060 pretty-printing the expanded forms inline in the source buffer, which is
13061 temporarily read-only while macro expansions are visible. You can expand and
13062 collapse macro forms one step at a time, and evaluate or instrument the
13063 expansions for debugging with Edebug as normal (but see “Bugs and known
13064 limitations”, below). Single-stepping through the expansion is particularly
13065 useful for debugging macros that expand into another macro form. These can be
13066 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
13067 until the top-level form is no longer a macro call.")
13068 (license license:gpl3+))))
13069
13070 (define-public emacs-parent-mode
13071 (package
13072 (name "emacs-parent-mode")
13073 (version "2.3")
13074 (source
13075 (origin
13076 (method git-fetch)
13077 (uri (git-reference
13078 (url "https://github.com/Fanael/parent-mode.git")
13079 (commit version)))
13080 (file-name (git-file-name name version))
13081 (sha256
13082 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
13083 (build-system emacs-build-system)
13084 (home-page "https://github.com/Fanael/parent-mode")
13085 (synopsis "Get major mode's parent modes")
13086 (description "Get major mode's parent modes")
13087 (license license:gpl3+)))
13088
13089 (define-public emacs-lacarte
13090 (package
13091 (name "emacs-lacarte")
13092 (version "0.1")
13093 (source (origin
13094 (method url-fetch)
13095 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
13096 (sha256
13097 (base32
13098 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
13099 (build-system emacs-build-system)
13100 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
13101 (synopsis "Execute menu items as commands, with completion")
13102 (description "Execute menu items as commands, with completion.")
13103 (license license:gpl3)))
13104
13105 (define-public emacs-isearch-prop
13106 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
13107 (revision "2"))
13108 (package
13109 (name "emacs-isearch-prop")
13110 (version (git-version "0" revision commit))
13111 (source
13112 (origin
13113 (method git-fetch)
13114 (uri (git-reference
13115 (url "https://github.com/emacsmirror/isearch-prop.git")
13116 (commit commit)))
13117 (file-name (git-file-name name version))
13118 (sha256
13119 (base32
13120 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
13121 (build-system emacs-build-system)
13122 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
13123 (synopsis "Extensions to @code{isearch.el}")
13124 (description "The Emacs library @code{isearch-prop.el} lets you search within
13125 contexts. You can limit incremental search to a set of zones of
13126 buffer text, search contexts that in effect constitute a multi-region.
13127 These zones can be defined in various ways, including some ways
13128 provided specially by this library.")
13129 (license license:gpl3+))))
13130
13131 (define-public emacs-company-lua
13132 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
13133 (revision "2"))
13134 (package
13135 (name "emacs-company-lua")
13136 (version (git-version "0.1" "2" commit))
13137 (source
13138 (origin
13139 (method git-fetch)
13140 (uri (git-reference
13141 (url "https://github.com/ptrv/company-lua.git")
13142 (commit commit)))
13143 (file-name (git-file-name name version))
13144 (sha256
13145 (base32
13146 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
13147 (build-system emacs-build-system)
13148 (propagated-inputs
13149 `(("emacs-company" ,emacs-company)
13150 ("emacs-s" ,emacs-s)
13151 ("emacs-f" ,emacs-f)
13152 ("emacs-lua-mode" ,emacs-lua-mode)))
13153 (arguments
13154 `(#:include (cons* "^lua\\/" %default-include)))
13155 (home-page "https://github.com/ptrv/company-lua")
13156 (synopsis "Company backend for Lua")
13157 (description
13158 "This package provides Company backend for Lua programming language.")
13159 (license license:gpl3+))))
13160
13161 (define-public emacs-beginend
13162 (package
13163 (name "emacs-beginend")
13164 (version "2.0.0")
13165 (source
13166 (origin
13167 (method git-fetch)
13168 (uri (git-reference
13169 (url "https://github.com/DamienCassou/beginend.git")
13170 (commit (string-append "v" version))))
13171 (file-name (git-file-name name version))
13172 (sha256
13173 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
13174 ;; TODO: Run tests.
13175 (build-system emacs-build-system)
13176 (inputs
13177 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
13178 (home-page "https://github.com/DamienCassou/beginend")
13179 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
13180 (description "@code{beginend} redefines @code{M-<} and @code{M->}
13181 keybindings for Emacs modes so that point moves to meaningful
13182 locations. Redefined keys are still accessible by pressing the same
13183 key again.")
13184 (license license:gpl3+)))
13185
13186 (define-public emacs-mbsync
13187 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
13188 (revision "4"))
13189 (package
13190 (name "emacs-mbsync")
13191 (version (git-version "0.1.2" revision commit))
13192 (source
13193 (origin
13194 (method git-fetch)
13195 (uri (git-reference
13196 (url "https://github.com/dimitri/mbsync-el.git")
13197 (commit commit)))
13198 (file-name (git-file-name name version))
13199 (sha256
13200 (base32
13201 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
13202 (build-system emacs-build-system)
13203 (home-page "https://github.com/dimitri/mbsync-el")
13204 (synopsis "Interface to mbsync for Emacs")
13205 (description "This package allows to call the @code{mbsync} from
13206 within Emacs.")
13207 (license license:gpl3+))))
13208
13209 (define-public emacs-ibuffer-projectile
13210 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
13211 (revision "2"))
13212 (package
13213 (name "emacs-ibuffer-projectile")
13214 (version (git-version "0.2" revision commit))
13215 (source
13216 (origin
13217 (method git-fetch)
13218 (uri (git-reference
13219 (url "https://github.com/purcell/ibuffer-projectile.git")
13220 (commit commit)))
13221 (file-name (git-file-name name version))
13222 (sha256
13223 (base32
13224 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
13225 (build-system emacs-build-system)
13226 (propagated-inputs
13227 `(("emacs-projectile" ,emacs-projectile)))
13228 (home-page "https://github.com/purcell/ibuffer-projectile")
13229 (synopsis "Group ibuffer's list by projectile root")
13230 (description "Adds functionality to Emacs @code{ibuffer} for
13231 grouping buffers by their projectile root directory.")
13232 (license license:gpl3+))))
13233
13234 (define-public emacs-helm-mode-manager
13235 (package
13236 (name "emacs-helm-mode-manager")
13237 (version "1.0.0")
13238 (source
13239 (origin
13240 (method url-fetch)
13241 (uri (string-append "https://github.com/istib/helm-mode-manager/"
13242 "archive/" version ".tar.gz"))
13243 (file-name (string-append name "-" version ".tar.gz"))
13244 (sha256
13245 (base32
13246 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
13247 (build-system emacs-build-system)
13248 (propagated-inputs
13249 `(("emacs-helm" ,emacs-helm)))
13250 (home-page "https://github.com/istib/helm-mode-manager/")
13251 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
13252 (description "This package provides a Helm interface for toggling Emacs
13253 major or minor mode.
13254
13255 @itemize
13256 @item @code{helm-switch-major-mode} list of all major modes
13257 @item @code{helm-enable-minor-mode} list of all inactive minor modes
13258 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
13259 @end itemize\n
13260
13261 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
13262 documentation.")
13263 (license license:gpl3+)))
13264
13265 (define-public emacs-hy-mode
13266 (package
13267 (name "emacs-hy-mode")
13268 (version "1.0.3")
13269 (source
13270 (origin
13271 (method git-fetch)
13272 (uri (git-reference
13273 (url "https://github.com/hylang/hy-mode.git")
13274 (commit (string-append "v" version))))
13275 (file-name (git-file-name name version))
13276 (sha256
13277 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
13278 (build-system emacs-build-system)
13279 (propagated-inputs
13280 `(("emacs-dash" ,emacs-dash)
13281 ("emacs-s" ,emacs-s)))
13282 (home-page "https://github.com/hylang/hy-mode")
13283 (synopsis "Major mode for Hylang")
13284 (description "This package provides a major mode for Hylang.")
13285 (license license:gpl3+)))
13286
13287 (define-public emacs-web-beautify
13288 (package
13289 (name "emacs-web-beautify")
13290 (version "0.3.2")
13291 (source
13292 (origin
13293 (method git-fetch)
13294 (uri (git-reference
13295 (url "https://github.com/yasuyk/web-beautify.git")
13296 (commit version)))
13297 (file-name (git-file-name name version))
13298 (sha256
13299 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
13300 (build-system emacs-build-system)
13301 (home-page "https://github.com/yasuyk/web-beautify")
13302 (synopsis "Format HTML, CSS and JavaScript, JSON")
13303 (description "This package provides an Emacs functions to format HTML,
13304 CSS, JavaScript, JSON.")
13305 (license license:gpl3+)))
13306
13307 (define-public emacs-helm-shell-history
13308 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
13309 (package
13310 (name "emacs-helm-shell-history")
13311 (version (git-version "0.1" "1" commit))
13312 (source
13313 (origin
13314 (method git-fetch)
13315 (uri (git-reference
13316 (url "https://github.com/yuutayamada/helm-shell-history.git")
13317 (commit commit)))
13318 (file-name (git-file-name name version))
13319 (sha256
13320 (base32
13321 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
13322 (build-system emacs-build-system)
13323 (arguments
13324 '(#:phases
13325 (modify-phases %standard-phases
13326 (add-before 'check 'patch-helm-shell-history-file
13327 (lambda _
13328 (let ((file "helm-shell-history.el"))
13329 (chmod file #o644)
13330 (emacs-substitute-sexps file
13331 ("(defvar helm-shell-history-file"
13332 `(expand-file-name "~/.bash_history"))))
13333 #t)))))
13334 (propagated-inputs
13335 `(("emacs-helm" ,emacs-helm)))
13336 (home-page "https://github.com/yuutayamada/helm-shell-history")
13337 (synopsis "Find shell history with Emacs Helm")
13338 (description "This package provides an Emacs Helm interface to search
13339 throw a shell history.")
13340 (license license:gpl3+))))
13341
13342 (define-public emacs-discover-my-major
13343 (package
13344 (name "emacs-discover-my-major")
13345 (version "1.0")
13346 (source
13347 (origin
13348 (method url-fetch)
13349 (uri
13350 (string-append "https://github.com/steckerhalter/discover-my-major"
13351 "/archive/" version ".tar.gz"))
13352 (file-name (string-append name "-" version ".tar.gz"))
13353 (sha256
13354 (base32
13355 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
13356 (build-system emacs-build-system)
13357 (propagated-inputs
13358 `(("emacs-makey" ,emacs-makey)))
13359 (home-page "https://github.com/steckerhalter/discover-my-major")
13360 (synopsis "Discover key bindings for the current Emacs major mode")
13361 (description "This package provides allows to discover key bindings and
13362 their meaning for the current Emacs major-mode.")
13363 (license license:gpl3+)))
13364
13365 (define-public emacs-org-ref
13366 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
13367 (revision "1"))
13368 (package
13369 (name "emacs-org-ref")
13370 (version (string-append "1.1.1" "-" revision "."
13371 (string-take commit 7)))
13372 (source
13373 (origin
13374 (method git-fetch)
13375 (uri (git-reference
13376 (url "https://github.com/jkitchin/org-ref.git")
13377 (commit commit)))
13378 (file-name (git-file-name name version))
13379 (sha256
13380 (base32
13381 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
13382 (build-system emacs-build-system)
13383 (propagated-inputs
13384 `(("emacs-dash" ,emacs-dash)
13385 ("emacs-helm" ,emacs-helm)
13386 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
13387 ("emacs-ivy" ,emacs-ivy)
13388 ("emacs-hydra" ,emacs-hydra)
13389 ("emacs-key-chord" ,emacs-key-chord)
13390 ("emacs-s" ,emacs-s)
13391 ("emacs-f" ,emacs-f)
13392 ("emacs-pdf-tools" ,emacs-pdf-tools)))
13393 (home-page "https://github.com/jkitchin/org-ref")
13394 (synopsis "Citations, cross-references and bibliographies in org-mode")
13395 (description
13396 "Lisp code to setup bibliography, cite, ref and label org-mode links.
13397 Also sets up reftex and helm for org-mode citations. The links are
13398 clickable and do things that are useful.
13399
13400 The default setup uses helm-bibtex.
13401
13402 You should really read org-ref.org in this package for details.")
13403 (license license:gpl3+))))
13404
13405 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
13406 (define-public emacs-org-reveal
13407 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
13408 (package
13409 (name "emacs-org-reveal")
13410 (version (git-version "0.1" "3" commit))
13411 (source (origin
13412 (method git-fetch)
13413 (uri (git-reference
13414 (url "https://github.com/yjwen/org-reveal.git")
13415 (commit commit)))
13416 (file-name (git-file-name name version))
13417 (sha256
13418 (base32
13419 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
13420 (build-system emacs-build-system)
13421 (home-page "https://github.com/yjwen/org-reveal")
13422 (synopsis "Org and Reveal.js powered HTML presentation tool")
13423 (description "Org-Reveal is a command@{org-mode} extension that allows
13424 to create beautiful presentations (slides) with 3D effects from simple but
13425 powerful Org contents.")
13426 (license license:gpl3+))))
13427
13428 (define-public emacs-org-re-reveal
13429 (package
13430 (name "emacs-org-re-reveal")
13431 (version "2.5.1")
13432 (source (origin
13433 (method git-fetch)
13434 (uri (git-reference
13435 (url "https://gitlab.com/oer/org-re-reveal.git")
13436 (commit version)))
13437 (file-name (git-file-name name version))
13438 (sha256
13439 (base32
13440 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
13441 (build-system emacs-build-system)
13442 (propagated-inputs
13443 `(("emacs-htmlize" ,emacs-htmlize)
13444 ("emacs-org" ,emacs-org)))
13445 (home-page "https://gitlab.com/oer/org-re-reveal")
13446 (synopsis "Build HTML presentations with reveal.js from Org source files")
13447 (description "This project started as fork of org-reveal. It provides an
13448 export back-end for HTML presentations with reveal.js from Org mode source
13449 files.")
13450 (license license:gpl3+)))
13451
13452 (define-public emacs-add-hooks
13453 (package
13454 (name "emacs-add-hooks")
13455 (version "3.1.1")
13456 (source
13457 (origin
13458 (method git-fetch)
13459 (uri (git-reference
13460 (url "https://github.com/nickmccurdy/add-hooks.git")
13461 (commit version)))
13462 (file-name (git-file-name name version))
13463 (sha256
13464 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
13465 (build-system emacs-build-system)
13466 (home-page "https://github.com/nickmccurdy/add-hooks/")
13467 (synopsis "Emacs function for setting multiple hooks")
13468 (description "This package provides a @code{add-hooks} function tidies up
13469 duplicate hook and function names further into a single declarative call.")
13470 (license license:gpl3+)))
13471
13472 (define-public emacs-fancy-narrow
13473 (package
13474 (name "emacs-fancy-narrow")
13475 (version "0.9.5")
13476 (source
13477 (origin
13478 (method git-fetch)
13479 (uri (git-reference
13480 (url "https://github.com/Malabarba/fancy-narrow.git")
13481 (commit version)))
13482 (file-name (git-file-name name version))
13483 (sha256
13484 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
13485 (build-system emacs-build-system)
13486 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
13487 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
13488 (description
13489 "Unlike @code{narrow-to-region}, which completely hides text outside
13490 the narrowed region, this package simply de-emphasizes the text, makes it
13491 read-only, and makes it unreachable. This leads to a much more natural
13492 feeling where the region stays static (instead of being brutally moved to a
13493 blank slate) and is clearly highlighted with respect to the rest of the
13494 buffer.")
13495 (license license:gpl2+)))
13496
13497 (define-public emacs-know-your-http-well
13498 (package
13499 (name "emacs-know-your-http-well")
13500 (version "0.5.0")
13501 (source
13502 (origin
13503 (method git-fetch)
13504 (uri (git-reference
13505 (url "https://github.com/for-GET/know-your-http-well.git")
13506 (commit (string-append "v" version))))
13507 (file-name (git-file-name name version))
13508 (sha256
13509 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
13510 (arguments
13511 `(#:phases
13512 (modify-phases %standard-phases
13513 (add-after 'unpack 'install-json-files
13514 (lambda* (#:key outputs #:allow-other-keys)
13515 (for-each (lambda (directory)
13516 (copy-recursively directory
13517 (string-append
13518 (assoc-ref outputs "out")
13519 directory)))
13520 '("js" "json"))))
13521 (add-after 'unpack 'chdir-elisp
13522 ;; Elisp directory is not in root of the source.
13523 (lambda _
13524 (chdir "emacs"))))))
13525 (build-system emacs-build-system)
13526 (home-page "https://github.com/for-GET/know-your-http-well")
13527 (synopsis "Meaning of HTTP headers codes")
13528 (description "Meaning of HTTP headers codes.")
13529 (license license:gpl3+)))
13530
13531 (define-public emacs-navi-mode
13532 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13533 (package
13534 (name "emacs-navi-mode")
13535 (version (git-version "2.0" "1" commit))
13536 (source
13537 (origin
13538 (method git-fetch)
13539 (uri (git-reference
13540 (url "https://github.com/alphapapa/navi.git")
13541 (commit commit)))
13542 (file-name (git-file-name name version))
13543 (sha256
13544 (base32
13545 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13546 (build-system emacs-build-system)
13547 (propagated-inputs
13548 `(("emacs-outshine" ,emacs-outshine)
13549 ("emacs-outorg" ,emacs-outorg)))
13550 (home-page "https://github.com/alphapapa/navi")
13551 (synopsis "Emacs major-mode for easy buffer-navigation")
13552 (description
13553 "This package provides an Emacs major-mode for easy buffer-navigation")
13554 (license license:gpl3+))))
13555
13556 (define-public emacs-download-region
13557 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13558 (revision "1"))
13559 (package
13560 (name "emacs-download-region")
13561 (version (string-append "0.0.1" "-" revision "."
13562 (string-take commit 7)))
13563 (source
13564 (origin
13565 (method git-fetch)
13566 (uri (git-reference
13567 (url "https://github.com/zk-phi/download-region.git")
13568 (commit commit)))
13569 (file-name (git-file-name name version))
13570 (sha256
13571 (base32
13572 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13573 (build-system emacs-build-system)
13574 (home-page "https://github.com/zk-phi/download-region")
13575 (synopsis "In buffer download manager for Emacs")
13576 (description "@code{download-region} provides in buffer
13577 downloading manager for Emacs.")
13578 (license license:gpl3+))))
13579
13580 (define-public emacs-helpful
13581 (package
13582 (name "emacs-helpful")
13583 (version "0.17")
13584 (source
13585 (origin
13586 (method git-fetch)
13587 (uri (git-reference
13588 (url "https://github.com/Wilfred/helpful.git")
13589 (commit version)))
13590 (file-name (git-file-name name version))
13591 (sha256
13592 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
13593 (build-system emacs-build-system)
13594 (propagated-inputs
13595 `(("emacs-elisp-refs" ,emacs-elisp-refs)
13596 ("emacs-dash" ,emacs-dash)
13597 ("emacs-s" ,emacs-s)
13598 ("emacs-f" ,emacs-f)
13599 ("emacs-shut-up" ,emacs-shut-up)))
13600 (native-inputs
13601 `(("emacs-ert-runner" ,emacs-ert-runner)
13602 ("emacs-undercover" ,emacs-undercover)))
13603 (arguments
13604 `(#:tests? #t
13605 #:test-command '("ert-runner")))
13606 (home-page "https://github.com/Wilfred/helpful")
13607 (synopsis "More contextual information in Emacs help")
13608 (description "@code{helpful} is an alternative to the built-in Emacs help
13609 that provides much more contextual information.
13610
13611 @itemize
13612 @item Show the source code for interactively defined functions (unlike the
13613 built-in Help).
13614 @item Fall back to the raw sexp if no source is available.
13615 @item Show where a function is being called.
13616 @item Docstrings will Highlight the summary (the first sentence), include
13617 cross-references, hide superfluous puncuation.
13618 @item Show you the properties that have been applied to the current
13619 symbol. This provides visibility of features like edebug or byte-code
13620 optimisation.
13621 @item Provide a separate @code{helpful-command} function to view interactive
13622 functions.
13623 @item Display any keybindings that apply to interactive functions.
13624 @item Trace, disassemble functions from inside Helpful. This is discoverable
13625 and doesn't require memorisation of commands.
13626 @end itemize\n")
13627 (license license:gpl3+)))
13628
13629 (define-public emacs-logview
13630 (package
13631 (name "emacs-logview")
13632 (version "0.9")
13633 (source
13634 (origin
13635 (method git-fetch)
13636 (uri (git-reference
13637 (url "https://github.com/doublep/logview.git")
13638 (commit version)))
13639 (file-name (git-file-name name version))
13640 (sha256
13641 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
13642 (propagated-inputs
13643 `(("emacs-datetime" ,emacs-datetime)))
13644 (build-system emacs-build-system)
13645 (home-page "https://github.com/doublep/logview/")
13646 (synopsis "Emacs mode for viewing log files")
13647 (description "@code{logview} provides an Emacs mode to view log files.")
13648 (license license:gpl3+)))
13649
13650 (define-public emacs-suggest
13651 (package
13652 (name "emacs-suggest")
13653 (version "0.7")
13654 (home-page "https://github.com/Wilfred/suggest.el")
13655 (source
13656 (origin
13657 (method git-fetch)
13658 (uri (git-reference
13659 (url home-page)
13660 (commit version)))
13661 (file-name (git-file-name name version))
13662 (sha256
13663 (base32
13664 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
13665 (build-system emacs-build-system)
13666 (propagated-inputs
13667 `(("emacs-loop" ,emacs-loop)
13668 ("emacs-dash" ,emacs-dash)
13669 ("emacs-s" ,emacs-s)
13670 ("emacs-f" ,emacs-f)
13671 ("emacs-spinner" ,emacs-spinner)
13672 ("emacs-shut-up" ,emacs-shut-up)))
13673 (native-inputs
13674 `(("emacs-ert-runner" ,emacs-ert-runner)
13675 ("emacs-undercover" ,emacs-undercover)))
13676 (arguments
13677 `(#:tests? #t
13678 #:test-command '("ert-runner")))
13679 (synopsis "Suggest Elisp functions that give the output requested")
13680 (description "Suggest.el will find functions that give the output
13681 requested. It's a great way of exploring list, string and arithmetic
13682 functions.")
13683 (license license:gpl3+)))
13684
13685 (define-public emacs-benchmark-init
13686 (package
13687 (name "emacs-benchmark-init")
13688 (version "1.0")
13689 (source
13690 (origin
13691 (method git-fetch)
13692 (uri (git-reference
13693 (url "https://github.com/dholm/benchmark-init-el.git")
13694 (commit version)))
13695 (file-name (git-file-name name version))
13696 (sha256
13697 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
13698 (build-system emacs-build-system)
13699 (home-page "https://github.com/dholm/benchmark-init-el")
13700 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
13701 (description "@code{benchmark-init} provides a way to keep track of where
13702 time is being spent during Emacs startup in order to optimize startup time.")
13703 (license license:gpl3+)))
13704
13705 (define-public emacs-emms-player-simple-mpv
13706 ;; A new mpv backend is included in Emms from 5.0.
13707 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
13708
13709 (define-public emacs-magit-gerrit
13710 (let ((version "0.3")
13711 (revision "1")
13712 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
13713 (package
13714 (name "emacs-magit-gerrit")
13715 (version (git-version version revision commit))
13716 (source (origin
13717 (method git-fetch)
13718 (uri (git-reference
13719 (url "https://github.com/terranpro/magit-gerrit.git")
13720 (commit commit)))
13721 (file-name (git-file-name name version))
13722 (sha256
13723 (base32
13724 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
13725 (build-system emacs-build-system)
13726 (propagated-inputs
13727 `(("emacs-magit" ,emacs-magit)))
13728 (home-page "https://github.com/terranpro/magit-gerrit")
13729 (synopsis "Magit extension for Gerrit")
13730 (description "This Magit extension provides integration with Gerrit,
13731 which makes it possible to conduct Gerrit code reviews directly from within
13732 Emacs.")
13733 (license license:gpl3+))))
13734
13735 (define-public emacs-magit-org-todos-el
13736 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
13737 (package
13738 (name "emacs-magit-org-todos-el")
13739 (version (git-version "0.1.1" "1" commit))
13740 (source
13741 (origin
13742 (method git-fetch)
13743 (uri (git-reference
13744 (url "https://github.com/danielma/magit-org-todos.el.git")
13745 (commit commit)))
13746 (file-name (git-file-name name version))
13747 (sha256
13748 (base32
13749 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
13750 (propagated-inputs
13751 `(("magit" ,emacs-magit)))
13752 (build-system emacs-build-system)
13753 (home-page "https://github.com/danielma/magit-org-todos.el")
13754 (synopsis "Get todo.org into Emacs Magit status")
13755 (description "This package allows you to get @file{todo.org} into your
13756 magit status.
13757
13758 If you have a @file{todo.org} file with @code{TODO} items in the root of your
13759 repository, @code{magit-org-todos} will create a section in your Magit status
13760 buffer with each of your todos.")
13761 (license license:gpl3+))))
13762
13763 (define-public emacs-f3
13764 (package
13765 (name "emacs-f3")
13766 (version "0.1")
13767 (source
13768 (origin
13769 (method git-fetch)
13770 (uri (git-reference
13771 (url "https://github.com/cosmicexplorer/f3.git")
13772 (commit version)))
13773 (file-name (git-file-name name version))
13774 (sha256
13775 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
13776 (build-system emacs-build-system)
13777 (propagated-inputs
13778 `(("emacs-helm" ,emacs-helm)))
13779 (home-page "https://github.com/cosmicexplorer/f3")
13780 (synopsis "Fantastic File Finder for Emacs")
13781 (description
13782 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
13783 (license license:gpl3+)))
13784
13785 (define-public emacs-lice-el
13786 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
13787 (package
13788 (name "emacs-lice-el")
13789 (version (git-version "0.2" "1" commit))
13790 (source (origin
13791 (method git-fetch)
13792 (uri (git-reference
13793 (url "https://github.com/buzztaiki/lice-el.git")
13794 (commit commit)))
13795 (file-name (git-file-name name version))
13796 (sha256
13797 (base32
13798 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
13799 (build-system emacs-build-system)
13800 (home-page "https://github.com/buzztaiki/lice-el")
13801 (synopsis "License and header template for Emacs")
13802 (description "@code{lice.el} provides following features:
13803
13804 @itemize
13805 @item License template management.
13806 @item File header insertion.
13807 @end itemize\n")
13808 (license license:gpl3+))))
13809
13810 (define-public emacs-academic-phrases
13811 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
13812 (package
13813 (name "emacs-academic-phrases")
13814 (version (git-version "0.1" "1" commit))
13815 (source
13816 (origin
13817 (method git-fetch)
13818 (uri (git-reference
13819 (url "https://github.com/nashamri/academic-phrases.git")
13820 (commit commit)))
13821 (file-name (git-file-name name version))
13822 (sha256
13823 (base32
13824 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
13825 (build-system emacs-build-system)
13826 (propagated-inputs
13827 `(("emacs-dash" ,emacs-dash)
13828 ("emacs-s" ,emacs-s)
13829 ("emacs-ht" ,emacs-ht)))
13830 (home-page "https://github.com/nashamri/academic-phrases")
13831 (synopsis "Bypass that mental block when writing your papers")
13832 (description
13833 "When writing your academic paper, you might get stuck trying to find
13834 the right phrase that captures your intention. This package tries to
13835 alleviate that problem by presenting you with a list of phrases organized by
13836 the topic or by the paper section that you are writing. This package has
13837 around 600 phrases so far.
13838
13839 Using this package is easy, just call @code{academic-phrases} to get a list of
13840 phrases organized by topic, or call @code{academic-phrases-by-section} to
13841 browse the phrases by the paper section and fill-in the blanks if required.")
13842 (license license:gpl3+))))
13843
13844 (define-public emacs-auto-yasnippet
13845 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
13846 (revision "2"))
13847 (package
13848 (name "emacs-auto-yasnippet")
13849 (version (git-version "0.3.0" revision commit))
13850 (source (origin
13851 (method git-fetch)
13852 (uri (git-reference
13853 (url "https://github.com/abo-abo/auto-yasnippet.git")
13854 (commit commit)))
13855 (file-name (git-file-name name version))
13856 (sha256
13857 (base32
13858 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
13859 (build-system emacs-build-system)
13860 (arguments
13861 '(#:tests? #t
13862 #:test-command '("make" "test")))
13863 (propagated-inputs
13864 `(("emacs-yasnippet" ,emacs-yasnippet)))
13865 (home-page "https://github.com/abo-abo/auto-yasnippet/")
13866 (synopsis "Quickly create disposable yasnippets")
13867 (description "This package provides a hybrid of keyboard macros and
13868 yasnippet. You create the snippet on the go, usually to be used just in the
13869 one place. It's fast, because you're not leaving the current buffer, and all
13870 you do is enter the code you'd enter anyway, just placing ~ where you'd like
13871 yasnippet fields and mirrors to be.")
13872 (license license:gpl3+))))
13873
13874 (define-public emacs-highlight-numbers
13875 (package
13876 (name "emacs-highlight-numbers")
13877 (version "0.2.3")
13878 (source
13879 (origin
13880 (method git-fetch)
13881 (uri (git-reference
13882 (url "https://github.com/Fanael/highlight-numbers.git")
13883 (commit version)))
13884 (file-name (git-file-name name version))
13885 (sha256
13886 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
13887 (build-system emacs-build-system)
13888 (propagated-inputs
13889 `(("emacs-parent-mode" ,emacs-parent-mode)))
13890 (home-page "https://github.com/Fanael/highlight-numbers")
13891 (synopsis "Highlight numbers in source code")
13892 (description "@code{highlight-numbers-mode} provides a minor mode for
13893 syntax highlighting of numeric literals in source code.
13894
13895 It s customizable: it's easy to add or redefine what exactly consitutes a
13896 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
13897 (license license:gpl3+)))
13898
13899 (define-public emacs-darkroom
13900 (package
13901 (name "emacs-darkroom")
13902 (version "0.2")
13903 (source (origin
13904 (method url-fetch)
13905 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
13906 version ".el"))
13907 (sha256
13908 (base32
13909 "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"))))
13910 (build-system emacs-build-system)
13911 (home-page "https://elpa.gnu.org/packages/darkroom.html")
13912 (synopsis "Remove visual distractions and focus on writing")
13913 (description "@code{darkroom-mode} makes visual distractions disappear.
13914 The mode-line is temporarily elided, text is enlarged and margins are adjusted
13915 so that it's centered on the window.
13916
13917 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
13918 @code{darkroom-mode}, unless the current buffer lives in the sole window of
13919 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
13920 split to display more windows and more buffers, the buffer exits
13921 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
13922 @code{darkroom-mode}.")
13923 (license license:gpl3+)))
13924
13925 (define-public emacs-rsw-elisp
13926 (package
13927 (name "emacs-rsw-elisp")
13928 (version "1.0.5")
13929 (source (origin
13930 (method url-fetch)
13931 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
13932 "/archive/" version ".tar.gz"))
13933 (file-name (string-append name "-" version ".tar.gz"))
13934 (sha256
13935 (base32
13936 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
13937 (build-system emacs-build-system)
13938 (home-page "https://github.com/rswgnu/rsw-elisp")
13939 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
13940 (description "This package improves and replaces the GNU Emacs commands
13941 that interactively evaluate Emacs Lisp expressions. The new commands replace
13942 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
13943 the same way as the old commands when called non-interactively; only the
13944 interactive behavior should be different.")
13945 (license license:gpl3+)))
13946
13947 (define-public emacs-default-text-scale
13948 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
13949 (revision "1"))
13950 (package
13951 (name "emacs-default-text-scale")
13952 (version (string-append "0.1" "-" revision "."
13953 (string-take commit 7)))
13954 (source (origin
13955 (method git-fetch)
13956 (uri (git-reference
13957 (url "https://github.com/purcell/default-text-scale")
13958 (commit commit)))
13959 (file-name (git-file-name name version))
13960 (sha256
13961 (base32
13962 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
13963 (build-system emacs-build-system)
13964 (home-page "https://github.com/purcell/default-text-scale")
13965 (synopsis "Adjust the font size in all Emacs frames")
13966 (description "This package provides commands for increasing or
13967 decreasing the default font size in all GUI Emacs frames.")
13968 (license license:gpl3+))))
13969
13970 (define-public emacs-mixed-pitch
13971 (package
13972 (name "emacs-mixed-pitch")
13973 (version "1.0.1")
13974 (source
13975 (origin
13976 (method git-fetch)
13977 (uri (git-reference
13978 (url "https://gitlab.com/jabranham/mixed-pitch.git")
13979 (commit version)))
13980 (file-name (git-file-name name version))
13981 (sha256
13982 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
13983 (build-system emacs-build-system)
13984 (home-page "https://gitlab.com/jabranham/mixed-pitch")
13985 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
13986 (description
13987 "@code{mixed-pitch-mode} is a minor mode that enables mixing
13988 variable-pitch and fixed-pitch fonts in the same buffer. The list
13989 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
13990 fixed-pitch,everything else becomes variable-pitch.")
13991 (license license:gpl3+)))
13992
13993 (define-public emacs-visual-regexp
13994 (package
13995 (name "emacs-visual-regexp")
13996 (version "1.1.1")
13997 (source
13998 (origin
13999 (method git-fetch)
14000 (uri (git-reference
14001 (url "https://github.com/benma/visual-regexp.el.git")
14002 (commit (string-append "v" version))))
14003 (file-name (git-file-name name version))
14004 (sha256
14005 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
14006 (build-system emacs-build-system)
14007 (home-page "https://github.com/benma/visual-regexp.el/")
14008 (synopsis "Regexp command with interactive visual feedback")
14009 (description "This package provides an Emacs regexp command with
14010 interactive visual feedback.")
14011 (license license:gpl3+)))
14012
14013 (define-public emacs-faceup
14014 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
14015 (revision "1"))
14016 (package
14017 (name "emacs-faceup")
14018 (version (string-append "0.0.1" "-" revision "."
14019 (string-take commit 7)))
14020 (source
14021 (origin
14022 (method git-fetch)
14023 (uri (git-reference
14024 (url "https://github.com/Lindydancer/faceup.git")
14025 (commit commit)))
14026 (file-name (git-file-name name version))
14027 (sha256
14028 (base32
14029 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
14030 (build-system emacs-build-system)
14031 (home-page "https://github.com/Lindydancer/faceup")
14032 (synopsis "Markup language for faces and font-lock regression testing")
14033 (description "Emacs is capable of highlighting buffers based on
14034 language-specific @code{font-lock} rules. This package makes it possible to
14035 perform regression test for packages that provide font-lock rules.")
14036 (license license:gpl3+))))
14037
14038 (define-public emacs-racket-mode
14039 (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277")
14040 (revision "4"))
14041 (package
14042 (name "emacs-racket-mode")
14043 (version (git-version "0.0.2" revision commit))
14044 (source
14045 (origin
14046 (method git-fetch)
14047 (uri (git-reference
14048 (url "https://github.com/greghendershott/racket-mode")
14049 (commit commit)))
14050 (file-name (git-file-name name version))
14051 (sha256
14052 (base32
14053 "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl"))))
14054 (build-system emacs-build-system)
14055 (arguments
14056 `(#:include '("\\.el$" "\\.rkt$")))
14057 (propagated-inputs
14058 `(("emacs-faceup" ,emacs-faceup)
14059 ("emacs-s" ,emacs-s)))
14060 (home-page "https://github.com/greghendershott/racket-mode")
14061 (synopsis "Major mode for Racket language")
14062 (description "@code{racket-mode} provides:
14063
14064 @itemize
14065 @item Focus on Racket (not various Schemes).
14066 @item Follow DrRacket concepts where applicable.
14067 @item Thorough font-lock and indent.
14068 @end itemize\n")
14069 (license license:gpl3+))))
14070
14071 (define-public emacs-grep-context
14072 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
14073 (revision "1"))
14074 (package
14075 (name "emacs-grep-context")
14076 (version (git-version "0.1.0" revision commit))
14077 (source
14078 (origin
14079 (method git-fetch)
14080 (uri (git-reference
14081 (url "https://github.com/mkcms/grep-context.git")
14082 (commit commit)))
14083 (file-name (git-file-name name version))
14084 (sha256
14085 (base32
14086 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
14087 (build-system emacs-build-system)
14088 (propagated-inputs
14089 `(("emacs-dash" ,emacs-dash)))
14090 (home-page "https://github.com/mkcms/grep-context")
14091 (synopsis "Increase context in compilation and grep buffers")
14092 (description
14093 "This package provides an Emacs package for more context in
14094 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
14095 @code{ivy}.")
14096 (license license:gpl3+))))
14097
14098 (define-public emacs-helm-firefox
14099 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
14100 (revision "1"))
14101 (package
14102 (name "emacs-helm-firefox")
14103 (version (string-append "0.0.1" "-" revision "."
14104 (string-take commit 7)))
14105 (source
14106 (origin
14107 (method git-fetch)
14108 (uri (git-reference
14109 (url "https://github.com/emacs-helm/helm-firefox.git")
14110 (commit commit)))
14111 (file-name (git-file-name name version))
14112 (sha256
14113 (base32
14114 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
14115 (propagated-inputs
14116 `(("emacs-helm" ,emacs-helm)))
14117 (build-system emacs-build-system)
14118 (home-page "https://github.com/emacs-helm/helm-firefox")
14119 (synopsis "Display firefox bookmarks with Emacs Helm interface")
14120 (description "Display firefox bookmarks with Emacs Helm interface")
14121 (license license:gpl3+))))
14122
14123 (define-public emacs-interactive-align
14124 (package
14125 (name "emacs-interactive-align")
14126 (version "0.4.2")
14127 (source
14128 (origin
14129 (method git-fetch)
14130 (uri (git-reference
14131 (url "https://github.com/mkcms/interactive-align.git")
14132 (commit (string-append "v" version))))
14133 (file-name (git-file-name name version))
14134 (sha256
14135 (base32
14136 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
14137 (build-system emacs-build-system)
14138 (home-page "https://github.com/mkcms/interactive-align/")
14139 (synopsis "Interactive align-regexp command in Emacs")
14140 (description "Interactive align-regexp command in Emacs")
14141 (license license:gpl3+)))
14142
14143 (define-public emacs-shift-number
14144 (package
14145 (name "emacs-shift-number")
14146 (version "0.1")
14147 (source
14148 (origin
14149 (method url-fetch)
14150 (uri (string-append "https://github.com/alezost/shift-number.el"
14151 "/archive/" "v" version ".tar.gz"))
14152 (file-name (string-append name "-" version ".tar.gz"))
14153 (sha256
14154 (base32
14155 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
14156 (build-system emacs-build-system)
14157 (home-page "https://github.com/alezost/shift-number.el")
14158 (synopsis "Increase or decrease the number at point")
14159 (description "@code{emacs-shift-number} provides commands
14160 @code{shift-number-up} to increase and @code{shift-number-down} to
14161 decrease the number at point.")
14162 (license license:gpl3+)))
14163
14164 (define-public emacs-highlight-defined
14165 (package
14166 (name "emacs-highlight-defined")
14167 (version "0.1.5")
14168 (source
14169 (origin
14170 (method git-fetch)
14171 (uri (git-reference
14172 (url "https://github.com/Fanael/highlight-defined.git")
14173 (commit version)))
14174 (file-name (git-file-name name version))
14175 (sha256
14176 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
14177 (build-system emacs-build-system)
14178 (home-page "https://github.com/Fanael/highlight-defined")
14179 (synopsis "Syntax highlighting of known Elisp symbols")
14180 (description "Minor mode providing syntax highlighting of known Emacs Lisp
14181 symbols. Currently the code distinguishes Lisp functions, built-in functions,
14182 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
14183 (license license:gpl3+)))
14184
14185 (define-public emacs-parinfer-mode
14186 (package
14187 (name "emacs-parinfer-mode")
14188 (version "0.4.10")
14189 (source
14190 (origin
14191 (method git-fetch)
14192 (uri (git-reference
14193 (url "https://github.com/DogLooksGood/parinfer-mode.git")
14194 (commit (string-append "v" version))))
14195 (file-name (git-file-name name version))
14196 (sha256
14197 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
14198 (propagated-inputs
14199 `(("emacs-dash" ,emacs-dash)
14200 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
14201 ("emacs-company" ,emacs-company)))
14202 (build-system emacs-build-system)
14203 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
14204 (synopsis "Lisp structure editing mode")
14205 (description "@code{parinfer-mode} is a proof-of-concept editor
14206 mode for Lisp programming languages. It will infer some changes to
14207 keep Parens and Indentation inline with one another.")
14208 (license license:gpl3+)))
14209
14210 (define-public emacs-helm-eww
14211 (package
14212 (name "emacs-helm-eww")
14213 (version "1.2")
14214 (source (origin
14215 (method git-fetch)
14216 (uri (git-reference
14217 (url "https://github.com/emacs-helm/helm-eww.git")
14218 (commit version)))
14219 (file-name (git-file-name name version))
14220 (sha256
14221 (base32
14222 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
14223 (propagated-inputs
14224 `(("emacs-helm" ,emacs-helm)))
14225 (build-system emacs-build-system)
14226 (home-page "https://github.com/emacs-helm/helm-eww/")
14227 (synopsis "Helm interface to EWW")
14228 (description "This package provides a Helm interface for EWW buffers,
14229 bookmarks and history.")
14230 (license license:gpl3+)))
14231
14232 (define-public emacs-stumpwm-mode
14233 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
14234 (package
14235 (name "emacs-stumpwm-mode")
14236 (version (git-version "0.0.1" "1" commit))
14237 (source (origin
14238 (method git-fetch)
14239 (uri (git-reference
14240 (url "https://github.com/stumpwm/stumpwm-contrib.git")
14241 (commit commit)))
14242 (file-name (git-file-name name version))
14243 (sha256
14244 (base32
14245 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
14246 (build-system emacs-build-system)
14247 (arguments
14248 `(#:phases
14249 (modify-phases %standard-phases
14250 (add-after 'unpack 'chdir-elisp
14251 ;; Elisp directory is not in root of the source.
14252 (lambda _
14253 (chdir "util/swm-emacs"))))))
14254 (home-page "https://github.com/stumpwm/stumpwm-contrib")
14255 (synopsis "Emacs minor-mode for Stumpwm")
14256 (description "Emacs minor-mode for Stumpwm")
14257 (license license:gpl3+))))
14258
14259 (define-public emacs-irfc
14260 (package
14261 (name "emacs-irfc")
14262 (version "20130824.507-1")
14263 (source
14264 (origin
14265 (method url-fetch)
14266 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
14267 (file-name (string-append "irfc-" version ".el"))
14268 (sha256
14269 (base32
14270 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
14271 (build-system emacs-build-system)
14272 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
14273 (synopsis "Interface for IETF RFC document")
14274 (description
14275 "This package provides an Emacs interface for IETF RFC document.")
14276 (license license:gpl3+)))
14277
14278 (define-public emacs-ido-vertical-mode
14279 (package
14280 (name "emacs-ido-vertical-mode")
14281 (version "0.1.6")
14282 (source
14283 (origin
14284 (method git-fetch)
14285 (uri (git-reference
14286 (url "https://github.com/creichert/ido-vertical-mode.el.git")
14287 (commit (string-append "v" version))))
14288 (file-name (git-file-name name version))
14289 (sha256
14290 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
14291 (build-system emacs-build-system)
14292 (home-page "https://github.com/creichert/ido-vertical-mode.el")
14293 (synopsis "Makes ido-mode display vertically")
14294 (description "Makes ido-mode display prospects vertically.")
14295 (license license:gpl3+)))
14296
14297 (define-public emacs-wordgen
14298 (package
14299 (name "emacs-wordgen")
14300 (version "0.1.4")
14301 (source
14302 (origin
14303 (method git-fetch)
14304 (uri (git-reference
14305 (url "https://github.com/Fanael/wordgen.el.git")
14306 (commit version)))
14307 (file-name (git-file-name name version))
14308 (sha256
14309 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
14310 (build-system emacs-build-system)
14311 (home-page "https://github.com/Fanael/wordgen.el")
14312 (synopsis "Random word generator")
14313 (description "This package provides functions to generate random words
14314 using user-provided rules.")
14315 (license license:gpl3+)))
14316
14317 (define-public emacs-on-screen
14318 (package
14319 (name "emacs-on-screen")
14320 (version "1.3.3")
14321 (source
14322 (origin
14323 (method url-fetch)
14324 (uri (string-append
14325 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
14326 (file-name (string-append name "-" version ".el"))
14327 (sha256
14328 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
14329 (build-system emacs-build-system)
14330 (home-page "https://github.com/michael-heerdegen/on-screen.el")
14331 (synopsis "Guide your eyes while scrolling")
14332 (description
14333 "Scrolling can be distracting because your eyes may lose
14334 orientation. This library implements a minor mode that highlights
14335 the previously visible buffer part after each scroll.")
14336 (license license:gpl3+)))
14337
14338 (define-public emacs-highlight-escape-sequences
14339 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
14340 (revision "1"))
14341 (package
14342 (name "emacs-highlight-escape-sequences")
14343 (version (string-append "0.0.1" "-" revision "."
14344 (string-take commit 7)))
14345 (source
14346 (origin
14347 (method git-fetch)
14348 (uri (git-reference
14349 (url "https://github.com/dgutov/highlight-escape-sequences.git")
14350 (commit commit)))
14351 (file-name (git-file-name name version))
14352 (sha256
14353 (base32
14354 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
14355 (build-system emacs-build-system)
14356 (home-page "https://github.com/dgutov/highlight-escape-sequences")
14357 (synopsis "Highlight escape sequences in Emacs")
14358 (description "@code{highlight-escape-sequences} provides an
14359 Emacs minor mode to escape sequences in code.")
14360 (license license:gpl3+))))
14361
14362 (define-public emacs-dashboard
14363 (package
14364 (name "emacs-dashboard")
14365 (version "1.5.0")
14366 (source
14367 (origin
14368 (method git-fetch)
14369 (uri (git-reference
14370 (url "https://github.com/rakanalh/emacs-dashboard.git")
14371 (commit version)))
14372 (file-name (git-file-name name version))
14373 (sha256
14374 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
14375 (build-system emacs-build-system)
14376 (propagated-inputs
14377 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
14378 (arguments
14379 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
14380 #:phases
14381 (modify-phases %standard-phases
14382 (add-after 'unpack 'patch-dashboard-widgets
14383 ;; This phase fixes compilation error.
14384 (lambda _
14385 (chmod "dashboard-widgets.el" #o666)
14386 (emacs-substitute-variables "dashboard-widgets.el"
14387 ("dashboard-init-info"
14388 '(format "Loaded in %s" (emacs-init-time))))
14389 #t)))))
14390 (home-page "https://github.com/rakanalh/emacs-dashboard")
14391 (synopsis "Startup screen extracted from Spacemacs")
14392 (description "This package provides an extensible Emacs dashboard, with
14393 sections for bookmarks, projectil projects, org-agenda and more. ")
14394 (license license:gpl3+)))
14395
14396 (define-public emacs-slime-company
14397 (package
14398 (name "emacs-slime-company")
14399 (version "1.1")
14400 (source
14401 (origin
14402 (method git-fetch)
14403 (uri (git-reference
14404 (url "https://github.com/anwyn/slime-company.git")
14405 (commit (string-append "v" version))))
14406 (file-name (git-file-name name version))
14407 (sha256
14408 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
14409 (build-system emacs-build-system)
14410 (propagated-inputs
14411 `(("emacs-slime" ,emacs-slime)
14412 ("emacs-company" ,emacs-company)))
14413 (home-page "https://company-mode.github.io")
14414 (synopsis "SLIME completion backend for @code{company-mode}")
14415 (description
14416 "This is a backend implementation for the completion package
14417 @code{company-mode} which supports the normal and the fuzzy completion
14418 modes of SLIME.")
14419 (license license:gpl3+)))
14420
14421 (define-public emacs-sml-mode
14422 (package
14423 (name "emacs-sml-mode")
14424 (version "6.9")
14425 (source
14426 (origin
14427 (method url-fetch)
14428 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
14429 version ".el"))
14430 (sha256
14431 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
14432 (build-system emacs-build-system)
14433 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
14434 (synopsis "Major mode for editing (Standard) ML")
14435 (description "SML-MODE is a major Emacs mode for editing Standard ML.
14436 It provides syntax highlighting and automatic indentation and
14437 comes with sml-proc which allows interaction with an inferior SML
14438 interactive loop.")
14439 (license license:gpl3+)))
14440
14441 (define-public emacs-eros
14442 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
14443 (revision "2"))
14444 (package
14445 (name "emacs-eros")
14446 (version (git-version "0.0.1" revision commit))
14447 (source
14448 (origin
14449 (method git-fetch)
14450 (uri (git-reference
14451 (url "https://github.com/xiongtx/eros.git")
14452 (commit commit)))
14453 (file-name (git-file-name name version))
14454 (sha256
14455 (base32
14456 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
14457 (build-system emacs-build-system)
14458 (home-page "https://github.com/xiongtx/eros")
14459 (synopsis "Evaluation result overlays")
14460 (description "@code{eros} provides evaluation result overlays.")
14461 (license license:gpl3+))))
14462
14463 (define-public emacs-stickyfunc-enhance
14464 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
14465 (revision "1"))
14466 (package
14467 (name "emacs-stickyfunc-enhance")
14468 (version "0.1")
14469 (source
14470 (origin
14471 (method git-fetch)
14472 (uri (git-reference
14473 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
14474 (commit commit)))
14475 (file-name (git-file-name name version))
14476 (sha256
14477 (base32
14478 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
14479 (build-system emacs-build-system)
14480 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
14481 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
14482 (description
14483 "@code{semantic-stickyfunc-mode} shows the function point is currently
14484 in at the first line of the current buffer. This is useful when you have a
14485 very long function that spreads more than a screen, and you don't have to
14486 scroll up to read the function name and then scroll down to original position.")
14487 (license license:gpl3+))))
14488
14489 (define-public emacs-git-auto-commit-mode
14490 (package
14491 (name "emacs-git-auto-commit-mode")
14492 (version "4.4.0")
14493 (source
14494 (origin
14495 (method git-fetch)
14496 (uri (git-reference
14497 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
14498 (commit version)))
14499 (file-name (git-file-name name version))
14500 (sha256
14501 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
14502 (build-system emacs-build-system)
14503 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
14504 (synopsis "Emacs Minor mode to automatically commit and push")
14505 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
14506 tries to commit changes to a file after every save.
14507
14508 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
14509 the current upstream.")
14510 (license license:gpl3+)))
14511
14512 (define-public emacs-scroll-on-drag
14513 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
14514 (revision "1"))
14515 (package
14516 (name "emacs-scroll-on-drag")
14517 (version (git-version "0.1" revision commit))
14518 (source
14519 (origin
14520 (method git-fetch)
14521 (uri (git-reference
14522 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14523 (commit commit)))
14524 (file-name (git-file-name name version))
14525 (sha256
14526 (base32
14527 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14528 (build-system emacs-build-system)
14529 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14530 (synopsis "Interactive scrolling")
14531 (description "This package permits scrolling at increasing speeds based
14532 on drag distance.")
14533 (license license:gpl3+))))
14534
14535 (define-public emacs-company-restclient
14536 (package
14537 (name "emacs-company-restclient")
14538 (version "0.3.0")
14539 (source
14540 (origin
14541 (method git-fetch)
14542 (uri (git-reference
14543 (url "https://github.com/iquiw/company-restclient.git")
14544 (commit (string-append "v" version))))
14545 (file-name (git-file-name name version))
14546 (sha256
14547 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14548 (build-system emacs-build-system)
14549 (propagated-inputs
14550 `(("emacs-company" ,emacs-company)
14551 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14552 ("emacs-restclient" ,emacs-restclient)))
14553 (home-page "https://github.com/iquiw/company-restclient")
14554 (synopsis "Company-mode completion back-end for restclient-mode")
14555 (description "@code{company-mode} back-end for
14556 @code{restclient-mode}.
14557
14558 It provides auto-completion for HTTP methods and headers in
14559 @code{restclient-mode}. Completion source is given by
14560 @code{know-your-http-well}.")
14561 (license license:gpl3+)))
14562
14563 (define-public emacs-noflet
14564 (let ((version "20170629")
14565 (revision "1")
14566 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14567 (package
14568 (name "emacs-noflet")
14569 (version (git-version version revision commit))
14570 (source
14571 (origin
14572 (method git-fetch)
14573 (uri (git-reference
14574 (url "https://github.com/nicferrier/emacs-noflet")
14575 (commit commit)))
14576 (file-name (git-file-name name version))
14577 (sha256
14578 (base32
14579 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14580 (build-system emacs-build-system)
14581 (arguments
14582 `(#:phases
14583 (modify-phases %standard-phases
14584 (add-after 'unpack 'require-dash
14585 ;; noflet.el uses -map from dash, but (require 'dash) is
14586 ;; missing. So, add it.
14587 (lambda _
14588 (substitute* "noflet.el"
14589 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14590 #t)))))
14591 (propagated-inputs
14592 `(("emacs-dash" ,emacs-dash)))
14593 (home-page "https://github.com/nicferrier/emacs-noflet")
14594 (synopsis "Locally override functions")
14595 (description "@code{emacs-noflet} lets you locally override functions,
14596 in the manner of @command{flet}, but with access to the original function
14597 through the symbol: @command{this-fn}.")
14598 (license license:gpl3+))))
14599
14600 (define-public emacs-dumb-jump
14601 (package
14602 (name "emacs-dumb-jump")
14603 (version "0.5.3")
14604 (source
14605 (origin
14606 (method git-fetch)
14607 (uri (git-reference
14608 (url "https://github.com/jacktasia/dumb-jump.git")
14609 (commit (string-append "v" version))))
14610 (file-name (git-file-name name version))
14611 (sha256
14612 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
14613 (build-system emacs-build-system)
14614 (arguments
14615 `(#:tests? #f ; FIXME: Tests freeze when run.
14616 #:test-command '("ert-runner")
14617 #:phases
14618 (modify-phases %standard-phases
14619 (add-after 'unpack 'set-shell
14620 (lambda _
14621 ;; Setting the SHELL environment variable is required for the
14622 ;; tests to find sh.
14623 (setenv "SHELL" (which "sh"))
14624 #t)))))
14625 (native-inputs
14626 `(("emacs-el-mock" ,emacs-el-mock)
14627 ("emacs-noflet" ,emacs-noflet)
14628 ("emacs-undercover" ,emacs-undercover)
14629 ("ert-runner" ,emacs-ert-runner)))
14630 (propagated-inputs
14631 `(("emacs-f" ,emacs-f)
14632 ("emacs-popup" ,emacs-popup)))
14633 (home-page "https://github.com/jacktasia/dumb-jump")
14634 (synopsis "Jump to definition for multiple languages without configuration")
14635 (description "Dumb Jump is an Emacs \"jump to definition\" package with
14636 support for multiple programming languages that favors \"just working\" over
14637 speed or accuracy. This means minimal --- and ideally zero --- configuration
14638 with absolutely no stored indexes (tags) or persistent background processes.
14639 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
14640 @command{rg} installed.")
14641 (license license:gpl3+)))
14642
14643 (define-public emacs-dts-mode
14644 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
14645 (revision "1"))
14646 (package
14647 (name "emacs-dts-mode")
14648 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
14649 (source
14650 (origin
14651 (method git-fetch)
14652 (uri (git-reference
14653 (url "https://github.com/bgamari/dts-mode.git")
14654 (commit commit)))
14655 (file-name (git-file-name name version))
14656 (sha256
14657 (base32
14658 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
14659 (build-system emacs-build-system)
14660 (home-page "https://github.com/bgamari/dts-mode.git")
14661 (synopsis "Emacs minor mode for editing device tree files")
14662 (description
14663 "This package provides an Emacs minor mode for highlighting
14664 device tree files.")
14665 (license license:gpl3+))))
14666
14667 (define-public emacs-daemons
14668 (package
14669 (name "emacs-daemons")
14670 (version "2.0.0")
14671 (source
14672 (origin
14673 (method git-fetch)
14674 (uri (git-reference
14675 (url "https://github.com/cbowdon/daemons.el")
14676 (commit version)))
14677 (file-name (git-file-name name version))
14678 (sha256
14679 (base32
14680 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
14681 (build-system emacs-build-system)
14682 (home-page "https://github.com/cbowdon/daemons.el")
14683 (synopsis "Emacs UI for managing init system services")
14684 (description
14685 "This is an Emacs mode to give you a UI for managing init system
14686 daemons (services) for those getting tired of typing out @code{sudo service
14687 my_thing reload} all the time. It offers a consistent UI over different init
14688 systems.")
14689 (license license:gpl3+)))
14690
14691 (define-public emacs-isearch+
14692 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
14693 (revision "2"))
14694 (package
14695 (name "emacs-isearch+")
14696 (version (git-version "0" revision commit))
14697 (source
14698 (origin
14699 (method git-fetch)
14700 (uri (git-reference
14701 (url "https://github.com/emacsmirror/isearch-plus.git")
14702 (commit commit)))
14703 (file-name (git-file-name name version))
14704 (sha256
14705 (base32
14706 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
14707 (build-system emacs-build-system)
14708 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
14709 (synopsis "Extensions to @code{isearch.el}")
14710 (description "This package extends @code{isearch} with advice, dynamic
14711 filters, highlighting of regexp group levels, and more.")
14712 (license license:gpl2+))))
14713
14714 (define-public emacs-eshell-bookmark
14715 (package
14716 (name "emacs-eshell-bookmark")
14717 (version "2.0.0")
14718 (source
14719 (origin
14720 (method git-fetch)
14721 (uri (git-reference
14722 (url "https://github.com/Fuco1/eshell-bookmark")
14723 (commit version)))
14724 (file-name (git-file-name name version))
14725 (sha256
14726 (base32
14727 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
14728 (build-system emacs-build-system)
14729 (home-page "https://github.com/Fuco1/eshell-bookmark")
14730 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
14731 (description
14732 "This package allows for bookmarking @code{eshell} buffers. Upon
14733 visiting the bookmark, a new @code{eshell} session will be opened in the
14734 appropriate directory if no @code{eshell} session is active.")
14735 (license license:gpl3+)))
14736
14737 (define-public emacs-eshell-z
14738 (package
14739 (name "emacs-eshell-z")
14740 (version "0.3.2")
14741 (source
14742 (origin
14743 (method git-fetch)
14744 (uri (git-reference
14745 (url "https://github.com/xuchunyang/eshell-z")
14746 (commit (string-append "v" version))))
14747 (file-name (git-file-name name version))
14748 (sha256
14749 (base32
14750 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
14751 (build-system emacs-build-system)
14752 (home-page "https://github.com/xuchunyang/eshell-z")
14753 (synopsis "Quick navigation to frequently visited directories")
14754 (description
14755 "This package is a port of @code{z}, and keeps track of visited directories
14756 and commands invoked within them in order to enable navigation via input of
14757 matching regexps.")
14758 (license license:gpl3+)))
14759
14760 (define-public emacs-esh-autosuggest
14761 (package
14762 (name "emacs-esh-autosuggest")
14763 (version "2.0.0")
14764 (source
14765 (origin
14766 (method git-fetch)
14767 (uri (git-reference
14768 (url "https://github.com/dieggsy/esh-autosuggest")
14769 (commit version)))
14770 (file-name (git-file-name name version))
14771 (sha256
14772 (base32
14773 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
14774 (build-system emacs-build-system)
14775 (propagated-inputs `(("emacs-company" ,emacs-company)))
14776 (home-page "https://github.com/dieggsy/esh-autosuggest")
14777 (synopsis "Fish-like autosuggestions in Eshell")
14778 (description
14779 "This package assumes you use something other than company for eshell
14780 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
14781 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
14782 for history autosuggestions.
14783
14784 Unless you're using @code{use-package}'s hook keyword, you can enable the
14785 autosuggestions with:
14786 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
14787 (license license:gpl3+)))
14788
14789 (define-public emacs-desktop-environment
14790 (package
14791 (name "emacs-desktop-environment")
14792 (version "0.2.2")
14793 (source
14794 (origin
14795 (method git-fetch)
14796 (uri (git-reference
14797 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14798 (commit (string-append "v" version))))
14799 (file-name (git-file-name name version))
14800 (sha256
14801 (base32
14802 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
14803 (build-system emacs-build-system)
14804 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14805 (synopsis "Control your GNU/Linux desktop environment from Emacs")
14806 (description
14807 "This package helps you control your GNU/Linux desktop from Emacs.
14808 With @code{desktop-environment}, you can control the brightness and volume as
14809 well as take screenshots and lock your screen. The package depends on the
14810 availability of shell commands to do the hard work for us. These commands can
14811 be changed by customizing the appropriate variables.")
14812 (license license:gpl3+)))
14813
14814 (define-public emacs-org-caldav
14815 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
14816 (package
14817 (name "emacs-org-caldav")
14818 (version (git-version "0.0.0" "1" commit))
14819 (source
14820 (origin
14821 (method git-fetch)
14822 (uri (git-reference
14823 (url "https://github.com/dengste/org-caldav.git")
14824 (commit commit)))
14825 (file-name (git-file-name name version))
14826 (sha256
14827 (base32
14828 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
14829 (build-system emacs-build-system)
14830 (arguments
14831 ;; Tests require to have two specific calendars on a test server.
14832 `(#:exclude '("^org-caldav-testsuite\\.el")))
14833 (propagated-inputs
14834 `(("emacs-org" ,emacs-org)))
14835 (home-page "https://github.com/dengste/org-caldav")
14836 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
14837 (description "Synchronize between events in Org files and a CalDAV
14838 calendar.")
14839 (license license:gpl3+))))
14840
14841 (define-public emacs-zotxt
14842 (package
14843 (name "emacs-zotxt")
14844 (version "20180518")
14845 (source
14846 (origin
14847 (method git-fetch)
14848 (uri (git-reference
14849 (url "https://github.com/egh/zotxt-emacs.git")
14850 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
14851 (file-name (git-file-name name version))
14852 (sha256
14853 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
14854 (build-system emacs-build-system)
14855 (propagated-inputs
14856 `(("emacs-deferred" ,emacs-deferred)
14857 ("emacs-request" ,emacs-request)))
14858 (home-page "https://github.com/egh/zotxt-emacs")
14859 (synopsis "Integrate Emacs with Zotero")
14860 (description "This package provides two integration features between Emacs
14861 and the Zotero research assistant: Insertion of links to Zotero items into an
14862 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
14863 (license license:gpl3+)))
14864
14865 (define-public emacs-evil-ediff
14866 ;; Evil-Ediff is included in Evil Collection from 20180617.
14867 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
14868
14869 (define-public emacs-evil-magit
14870 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
14871 (revision "3"))
14872 (package
14873 (name "emacs-evil-magit")
14874 (version (git-version "0.4.2" revision commit))
14875 (source
14876 (origin
14877 (method git-fetch)
14878 (uri (git-reference
14879 (url "https://github.com/emacs-evil/evil-magit")
14880 (commit commit)))
14881 (file-name (git-file-name name version))
14882 (sha256
14883 (base32
14884 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
14885 (build-system emacs-build-system)
14886 (propagated-inputs
14887 `(("emacs-evil" ,emacs-evil)
14888 ("magit" ,emacs-magit)))
14889 (arguments
14890 `(#:tests? #t
14891 #:test-command '("emacs" "-Q" "-batch"
14892 "-L" "."
14893 "-l" "evil-magit-tests"
14894 "-f" "ert-run-tests-batch-and-exit")))
14895 (home-page
14896 "https://github.com/emacs-evil/evil-magit")
14897 (synopsis "Evil-based key bindings for Magit")
14898 (description
14899 "This Emacs library configures Magit and Evil to play well with each other.
14900 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
14901 See the README at @url{https://github.com/justbur/evil-magit} for a table
14902 describing the key binding changes.")
14903 (license license:gpl3+))))
14904
14905 (define-public emacs-evil-mu4e
14906 ;; Evil-mu4e is included in Evil Collection from 20180617.
14907 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
14908
14909 (define-public emacs-evil-multiedit
14910 (package
14911 (name "emacs-evil-multiedit")
14912 (version "1.3.9")
14913 (source
14914 (origin
14915 (method git-fetch)
14916 (uri (git-reference
14917 (url "https://github.com/hlissner/evil-multiedit")
14918 (commit (string-append "v" version))))
14919 (file-name (git-file-name name version))
14920 (sha256
14921 (base32
14922 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
14923 (build-system emacs-build-system)
14924 (propagated-inputs
14925 `(("emacs-evil" ,emacs-evil)
14926 ("emacs-iedit" ,emacs-iedit)))
14927 (native-inputs
14928 `(("emacs-ert-runner" ,emacs-ert-runner)))
14929 (arguments
14930 `(#:phases
14931 (modify-phases %standard-phases
14932 (add-before 'check 'fix-makefile
14933 (lambda _
14934 (substitute* "Makefile"
14935 (("@cask exec ") ""))
14936 #t)))
14937 #:tests? #t
14938 #:test-command '("make" "test")))
14939 (home-page
14940 "https://github.com/hlissner/evil-multiedit")
14941 (synopsis "Multiple cursors for Evil mode")
14942 (description
14943 "This plugin was an answer to the lack of proper multiple cursor support
14944 in Emacs+Evil. It allows you to select and edit matches interactively,
14945 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
14946 defaults.")
14947 (license license:gpl3+)))
14948
14949 (define-public emacs-evil-mc
14950 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
14951 (revision "2"))
14952 (package
14953 (name "emacs-evil-mc")
14954 (version (git-version "0.0.3" revision commit))
14955 (source
14956 (origin
14957 (method git-fetch)
14958 (uri (git-reference
14959 (url "https://github.com/gabesoft/evil-mc.git")
14960 (commit commit)))
14961 (file-name (git-file-name name version))
14962 (sha256
14963 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
14964 (build-system emacs-build-system)
14965 (propagated-inputs
14966 `(("emacs-evil" ,emacs-evil)))
14967 (native-inputs
14968 `(("emacs-espuds" ,emacs-espuds)))
14969 (home-page "https://github.com/gabesoft/evil-mc")
14970 (synopsis "Interactive search compatible with @code{multiple-cursors}")
14971 (description "This package can be used with @code{multiple-cursors} to
14972 provide an incremental search that moves all fake cursors in sync.")
14973 (license license:expat))))
14974
14975 (define-public emacs-evil-org
14976 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
14977 (package
14978 (name "emacs-evil-org")
14979 (version (git-version "0.1.1" "1" commit))
14980 (source
14981 (origin
14982 (method git-fetch)
14983 (uri (git-reference
14984 (url "https://github.com/Somelauw/evil-org-mode")
14985 (commit commit)))
14986 (file-name (git-file-name name version))
14987 (sha256
14988 (base32
14989 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
14990 (build-system emacs-build-system)
14991 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
14992 (home-page
14993 "https://github.com/Somelauw/evil-org-mode")
14994 (synopsis "Evil keybindings for Org mode")
14995 (description
14996 "This package adds supplemental Evil mode key-bindings to Emacs
14997 Org-mode. It features:
14998 @itemize
14999 @item normal, visual and insert mode bindings;
15000 @item key bindings organised in key themes;
15001 @item operators like > and < to work on headings;
15002 @item text objects;
15003 @item table support;
15004 @item calendar (date selection) support;
15005 @item agenda support.
15006 @end itemize\n")
15007 (license license:gpl3+))))
15008
15009 (define-public emacs-debpaste
15010 (package
15011 (name "emacs-debpaste")
15012 (version "0.1.5")
15013 (home-page "https://github.com/alezost/debpaste.el")
15014 (source
15015 (origin
15016 (method git-fetch)
15017 (uri (git-reference (url home-page)
15018 (commit (string-append "v" version))))
15019 (file-name (git-file-name name version))
15020 (sha256
15021 (base32
15022 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
15023 (build-system emacs-build-system)
15024 (propagated-inputs
15025 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
15026 (synopsis "Manipulate pastes from the Debian Pastezone")
15027 (description "Debpaste is an Emacs interface for the Debian Pastezone,
15028 allowing you to receive, post, and delete pastes. It communicates with the
15029 server using XML-RPC.")
15030 (license license:gpl3+)))
15031
15032 (define-public emacs-xml-rpc
15033 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
15034 (revision "1"))
15035 (package
15036 (name "emacs-xml-rpc")
15037 (version (git-version "1.6.12" revision commit))
15038 (source
15039 (origin
15040 (method git-fetch)
15041 (uri (git-reference
15042 (url "https://github.com/hexmode/xml-rpc-el")
15043 (commit commit)))
15044 (file-name (git-file-name name version))
15045 (sha256
15046 (base32
15047 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
15048 (build-system emacs-build-system)
15049 (home-page "https://github.com/hexmode/xml-rpc-el")
15050 (synopsis "XML-RPC client for Emacs")
15051 (description "This package provides an XML-RPC client for Emacs capable
15052 of both synchronous and asynchronous method calls using the @code{url}
15053 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
15054 datatypes as Lisp values, automatically converting to and from the XML
15055 datastructures as needed, both for method parameters and return values, making
15056 using XML-RPC methods fairly transparent to the Lisp code.")
15057 (license license:gpl3+))))
15058
15059 (define-public emacs-xpm
15060 (package
15061 (name "emacs-xpm")
15062 (version "1.0.4")
15063 (source
15064 (origin
15065 (method url-fetch)
15066 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
15067 version ".tar"))
15068 (sha256
15069 (base32
15070 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
15071 (build-system emacs-build-system)
15072 (home-page "https://elpa.gnu.org/packages/xpm.html")
15073 (synopsis "XPM image editing mode for Emacs")
15074 (description "This Emacs package makes editing XPM images easy (and maybe
15075 fun). Editing is done directly on the (textual) image format, for maximal
15076 cohesion with the Emacs Way.")
15077 (license license:gpl3+)))
15078
15079 (define-public emacs-fish-completion
15080 (package
15081 (name "emacs-fish-completion")
15082 (version "1.1")
15083 (source
15084 (origin
15085 (method git-fetch)
15086 (uri (git-reference
15087 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
15088 (commit version)))
15089 (file-name (git-file-name name version))
15090 (sha256
15091 (base32
15092 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
15093 (build-system emacs-build-system)
15094 (inputs `(("fish" ,fish)))
15095 (arguments
15096 `(#:phases
15097 (modify-phases %standard-phases
15098 (add-after 'unpack 'configure
15099 (lambda* (#:key inputs outputs #:allow-other-keys)
15100 (let ((fish (assoc-ref inputs "fish")))
15101 ;; Specify the absolute file names of the various
15102 ;; programs so that everything works out-of-the-box.
15103 (make-file-writable "fish-completion.el")
15104 (emacs-substitute-variables
15105 "fish-completion.el"
15106 ("fish-completion-command"
15107 (string-append fish "/bin/fish")))))))))
15108 (home-page
15109 "https://gitlab.com/Ambrevar/emacs-fish-completion")
15110 (synopsis "Fish completion for Emacs pcomplete")
15111 (description
15112 "This package provides completion for the Fish shell to pcomplete (used
15113 by shell and Eshell). You can set it up globally with:
15114
15115 @example
15116 (when (and (executable-find \"fish\")
15117 (require 'fish-completion nil t))
15118 (global-fish-completion-mode))
15119 @end example
15120
15121 Alternatively, you can call the @code{fish-completion-mode} manually or in
15122 shell/Eshell mode hook.
15123
15124 The package @code{emacs-bash-completion} is an optional dependency: if available,
15125 @code{fish-completion-complete} can be configured to fall back on bash to further
15126 try completing. See @code{fish-completion-fallback-on-bash-p}.")
15127 (license license:gpl3+)))
15128
15129 (define-public emacs-gif-screencast
15130 (let ((commit "248d1e158405e6cba2c65ecaed40e2c59b089cd8")
15131 (revision "2"))
15132 (package
15133 (name "emacs-gif-screencast")
15134 (version (git-version "1.0" revision commit))
15135 (source
15136 (origin
15137 (method git-fetch)
15138 (uri (git-reference
15139 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
15140 (commit commit)))
15141 (sha256
15142 (base32
15143 "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8"))))
15144 (build-system emacs-build-system)
15145 (inputs
15146 `(("scrot" ,scrot)
15147 ("imagemagick" ,imagemagick)
15148 ("gifsicle" ,gifsicle)))
15149 (arguments
15150 `(#:phases
15151 (modify-phases %standard-phases
15152 (add-after 'unpack 'configure
15153 (lambda* (#:key inputs outputs #:allow-other-keys)
15154 (let ((scrot (assoc-ref inputs "scrot"))
15155 (imagemagick (assoc-ref inputs "imagemagick"))
15156 (gifsicle (assoc-ref inputs "gifsicle")))
15157 (make-file-writable "gif-screencast.el")
15158 ;; Specify the absolute file names of the various
15159 ;; programs so that everything works out-of-the-box.
15160 (emacs-substitute-variables
15161 "gif-screencast.el"
15162 ("gif-screencast-program"
15163 (string-append scrot "/bin/scrot"))
15164 ("gif-screencast-convert-program"
15165 (string-append imagemagick "/bin/convert"))
15166 ("gif-screencast-cropping-program"
15167 (string-append imagemagick "/bin/mogrify"))
15168 ("gif-screencast-optimize-program"
15169 (string-append gifsicle "/bin/gifsicle")))))))))
15170 (home-page
15171 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
15172 (synopsis "One-frame-per-action GIF recording")
15173 (description
15174 "Call @code{gif-screencast} to start a recording.
15175 A screenshot is taken for every user action. Call
15176 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
15177 the GIF result.")
15178 (license license:gpl3+))))
15179
15180 (define-public emacs-google-translate
15181 (package
15182 (name "emacs-google-translate")
15183 (version "0.11.18")
15184 (source
15185 (origin
15186 (method git-fetch)
15187 (uri (git-reference
15188 (url "https://github.com/atykhonov/google-translate/")
15189 (commit (string-append "v" version))))
15190 (file-name (git-file-name name version))
15191 (sha256
15192 (base32
15193 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
15194 (build-system emacs-build-system)
15195 (home-page "https://github.com/atykhonov/google-translate")
15196 (synopsis "Emacs interface to Google Translate")
15197 (description
15198 "This package provides an Emacs interface to the Google Translate
15199 on-line service.")
15200 (license license:gpl3+)))
15201
15202 (define-public emacs-helm-company
15203 (package
15204 (name "emacs-helm-company")
15205 (version "0.2.5")
15206 (source
15207 (origin
15208 (method git-fetch)
15209 (uri (git-reference
15210 (url "https://github.com/Sodel-the-Vociferous/helm-company")
15211 (commit (string-append "v" version))))
15212 (file-name (git-file-name name version))
15213 (sha256
15214 (base32
15215 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
15216 (build-system emacs-build-system)
15217 (propagated-inputs
15218 `(("emacs-helm" ,emacs-helm)
15219 ("emacs-company" ,emacs-company)))
15220 (native-inputs
15221 `(("emacs-ert-runner" ,emacs-ert-runner)))
15222 (arguments
15223 `(#:tests? #t
15224 #:test-command '("ert-runner")))
15225 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
15226 (synopsis "Helm interface for company-mode")
15227 (description
15228 "This is a Helm interface to company-mode, a text completion
15229 framework.")
15230 (license license:gpl3+)))
15231
15232 (define-public emacs-helm-descbinds
15233 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
15234 (package
15235 (name "emacs-helm-descbinds")
15236 (version (git-version "1.13" "1" commit))
15237 (source
15238 (origin
15239 (method git-fetch)
15240 (uri (git-reference
15241 (url "https://github.com/emacs-helm/helm-descbinds")
15242 (commit commit)))
15243 (file-name (git-file-name name version))
15244 (sha256
15245 (base32
15246 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
15247 (build-system emacs-build-system)
15248 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15249 (home-page "https://github.com/emacs-helm/helm-descbinds")
15250 (synopsis "Convenient @code{describe-bindings} with Helm")
15251 (description
15252 "This package is a replacement of @code{describe-bindings} for Helm.
15253 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
15254 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
15255 @code{helm-descbinds}. The bindings are presented in a similar way as
15256 @code{describe-bindings} does, but you can use completion to find the command
15257 you searched for and execute it, or view its documentation.")
15258 (license license:gpl3+))))
15259
15260 (define-public emacs-helm-emms
15261 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
15262 (package
15263 (name "emacs-helm-emms")
15264 (version (git-version "1.3" "2" commit))
15265 (source
15266 (origin
15267 (method git-fetch)
15268 (uri (git-reference
15269 (url "https://github.com/emacs-helm/helm-emms")
15270 (commit commit)))
15271 (file-name (git-file-name name version))
15272 (sha256
15273 (base32
15274 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
15275 (build-system emacs-build-system)
15276 (propagated-inputs
15277 `(("emacs-helm" ,emacs-helm)
15278 ("emacs-emms" ,emacs-emms)))
15279 (home-page
15280 "https://github.com/emacs-helm/helm-emms")
15281 (synopsis "Emms for Helm")
15282 (description "Helm interface for Emms to browse all tracks and all folders
15283 from @code{emms-source-file-default-directory}.")
15284 (license license:gpl3+))))
15285
15286 (define-public emacs-helm-exwm
15287 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
15288 (package
15289 (name "emacs-helm-exwm")
15290 (version (git-version "20180703" "2" commit))
15291 (source
15292 (origin
15293 (method git-fetch)
15294 (uri (git-reference
15295 (url "https://github.com/emacs-helm/helm-exwm.git")
15296 (commit commit)))
15297 (sha256
15298 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
15299 (build-system emacs-build-system)
15300 (propagated-inputs
15301 `(("emacs-helm" ,emacs-helm)
15302 ("emacs-exwm" ,emacs-exwm)))
15303 (home-page
15304 "https://github.com/emacs-helm/helm-exwm")
15305 (synopsis "Helm for EXWM buffers")
15306 (description
15307 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
15308 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
15309 switch between the various windows of one or several specific applications.
15310 See @code{helm-exwm-switch-browser} for an example.")
15311 (license license:gpl3+))))
15312
15313 (define-public emacs-helm-flycheck
15314 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
15315 (package
15316 (name "emacs-helm-flycheck")
15317 (version (git-version "0.4" "1" commit))
15318 (source
15319 (origin
15320 (method git-fetch)
15321 (uri (git-reference
15322 (url "https://github.com/yasuyk/helm-flycheck")
15323 (commit commit)))
15324 (file-name (git-file-name name version))
15325 (sha256
15326 (base32
15327 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
15328 (build-system emacs-build-system)
15329 (propagated-inputs
15330 `(("emacs-dash" ,emacs-dash)
15331 ("emacs-flycheck" ,emacs-flycheck)
15332 ("emacs-helm" ,emacs-helm)))
15333 (home-page "https://github.com/yasuyk/helm-flycheck")
15334 (synopsis "Show Flycheck errors with Helm")
15335 (description
15336 "This integrates Flycheck with Helm.")
15337 (license license:gpl3+))))
15338
15339 (define-public emacs-helm-ls-git
15340 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
15341 (package
15342 (name "emacs-helm-ls-git")
15343 (version (git-version "1.9.1" "1" commit))
15344 (source
15345 (origin
15346 (method git-fetch)
15347 (uri (git-reference
15348 (url "https://github.com/emacs-helm/helm-ls-git")
15349 (commit commit)))
15350 (file-name (git-file-name name version))
15351 (sha256
15352 (base32
15353 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
15354 (build-system emacs-build-system)
15355 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15356 (home-page "https://github.com/emacs-helm/helm-ls-git")
15357 (synopsis "Helm interface for listing the files in a Git repository")
15358 (description
15359 "This package provides a Helm interface for Git files.
15360 @itemize
15361 @item Display the open buffers in project.
15362 @item Display a status source showing state of project (modified files etc.).
15363 @item Display a list of all files in project under git control.
15364 @item Quickly look at diffs of modified files.
15365 @item Allow switching to @code{git status} with your preferred frontend
15366 (vc-dir, Magit,etc.).
15367 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
15368 can use ack-grep instead of grep).
15369 @item Integrate usage of gid from id-utils.
15370 @item Full integration with @code{helm-find-files}, allow you to browse
15371 projects unrelated to current-buffer.
15372 @item In addition, all actions of type files and buffers are provided.
15373 @end itemize\n")
15374 (license license:gpl3+))))
15375
15376 (define-public emacs-helm-mu
15377 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
15378 (package
15379 (name "emacs-helm-mu")
15380 (version (git-version "20180513" "1" commit))
15381 (source
15382 (origin
15383 (method git-fetch)
15384 (uri (git-reference
15385 (url "https://github.com/emacs-helm/helm-mu.git")
15386 (commit commit)))
15387 (sha256
15388 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
15389 (build-system emacs-build-system)
15390 (propagated-inputs
15391 `(("emacs-helm" ,emacs-helm)
15392 ("mu" ,mu)))
15393 (home-page
15394 "https://github.com/emacs-helm/helm-mu")
15395 (synopsis
15396 "Helm sources for searching emails and contacts")
15397 (description
15398 "Helm sources for searching emails and contacts using @code{mu} and
15399 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
15400 Emacs build on top of mu. Mu is highly efficient making it possible to get
15401 instant results even for huge maildirs. It also provides search operators,
15402 e.g: @code{from:Peter to:Anne flag:attach search term}.")
15403 (license license:gpl3+))))
15404
15405 (define-public emacs-helm-pass
15406 (package
15407 (name "emacs-helm-pass")
15408 (version "0.3")
15409 (source
15410 (origin
15411 (method git-fetch)
15412 (uri (git-reference
15413 (url "https://github.com/emacs-helm/helm-pass")
15414 (commit version)))
15415 (file-name (git-file-name name version))
15416 (sha256
15417 (base32
15418 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
15419 (build-system emacs-build-system)
15420 (propagated-inputs
15421 `(("emacs-helm" ,emacs-helm)
15422 ("emacs-password-store" ,emacs-password-store)))
15423 (home-page "https://github.com/emacs-helm/helm-pass")
15424 (synopsis "Helm interface to pass, the standard Unix password manager")
15425 (description
15426 "Users of @code{helm-pass} may also be interested in functionality
15427 provided by other Emacs packages dealing with pass:
15428 @itemize
15429 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
15430 @item @code{emacs-pass}, a major mode for @code{pass}.
15431 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
15432 @code{pass}, included in Emacs 26+).
15433 @end itemize\n")
15434 (license license:gpl3+)))
15435
15436 (define-public emacs-image+
15437 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
15438 (package
15439 (name "emacs-image+")
15440 (version (git-version "0.6.2" "1" commit))
15441 (source
15442 (origin
15443 (method git-fetch)
15444 (uri (git-reference
15445 (url "https://github.com/mhayashi1120/Emacs-imagex")
15446 (commit commit)))
15447 (file-name (git-file-name name version))
15448 (sha256
15449 (base32
15450 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
15451 (build-system emacs-build-system)
15452 (inputs `(("imagemagick" ,imagemagick)))
15453 (arguments
15454 `(#:phases
15455 (modify-phases %standard-phases
15456 (add-after 'unpack 'configure
15457 (lambda* (#:key inputs outputs #:allow-other-keys)
15458 (let ((imagemagick (assoc-ref inputs "imagemagick")))
15459 ;; Specify the absolute file names of the various
15460 ;; programs so that everything works out-of-the-box.
15461 (chmod "image+.el" #o666)
15462 (emacs-substitute-variables
15463 "image+.el"
15464 ("imagex-convert-command"
15465 (string-append imagemagick "/bin/convert"))
15466 ("imagex-identify-command"
15467 (string-append imagemagick "/bin/identify")))))))))
15468 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
15469 (synopsis "Image manipulation extensions for Emacs")
15470 (description
15471 "Image+ provides keybindings allowing you to zoom in or zoom out of an
15472 image, rotate it, save modified images, and more.")
15473 (license license:gpl3+))))
15474
15475 (define-public emacs-package-lint
15476 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
15477 (package
15478 (name "emacs-package-lint")
15479 (version (git-version "0.5" "1" commit))
15480 (source
15481 (origin
15482 (method git-fetch)
15483 (uri (git-reference
15484 (url "https://github.com/purcell/package-lint")
15485 (commit commit)))
15486 (file-name (git-file-name name version))
15487 (sha256
15488 (base32
15489 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
15490 (build-system emacs-build-system)
15491 (home-page "https://github.com/purcell/package-lint")
15492 (synopsis "Linting library for elisp package authors")
15493 (description
15494 "This provides a list of issues with the Emacs package metadata of a file,
15495 e.g. the package dependencies it requires. See function
15496 @code{package-lint-buffer}. Checks will currently be enabled only if a
15497 \"Package-Requires:\" or \"Package-Version:\" header is present in the
15498 file.")
15499 (license license:gpl3+))))
15500
15501 (define-public emacs-picpocket
15502 (let ((version "40")
15503 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
15504 (package
15505 (name "emacs-picpocket")
15506 (version version)
15507 (source
15508 (origin
15509 (method git-fetch)
15510 (uri (git-reference
15511 (url "https://github.com/johanclaesson/picpocket")
15512 (commit commit)))
15513 (file-name (git-file-name name version))
15514 (sha256
15515 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
15516 (build-system emacs-build-system)
15517 (arguments ; needed for running tests
15518 `(#:tests? #t
15519 #:emacs ,emacs
15520 #:test-command '("emacs" "--batch"
15521 "-l" "picpocket-test.el"
15522 "-f" "ert-run-tests-batch-and-exit")))
15523 (home-page "https://github.com/johanclaesson/picpocket")
15524 (synopsis "Image viewer for Emacs")
15525 (description
15526 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15527
15528 @itemize
15529 @item File operations on the picture files (delete, move, copy, hardlink).
15530 @item Scale and rotate the picture.
15531 @item Associate pictures with tags which are saved to disk.
15532 @item Filter pictures according to tags.
15533 @item Customizing keystrokes for quick tagging and file operations.
15534 @item Undo and browse history of undoable commands.
15535 @end itemize")
15536 (license license:gpl3+))))
15537
15538 (define-public emacs-wgrep-helm
15539 ;; `emacs-wgrep-helm' was mistakenly added.
15540 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15541
15542 (define-public emacs-mu4e-conversation
15543 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15544 (revision "5"))
15545 (package
15546 (name "emacs-mu4e-conversation")
15547 (version (git-version "0.0.1" revision commit))
15548 (source
15549 (origin
15550 (method git-fetch)
15551 (uri (git-reference
15552 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15553 (commit commit)))
15554 (file-name (git-file-name name version))
15555 (sha256
15556 (base32
15557 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15558 (build-system emacs-build-system)
15559 (propagated-inputs
15560 `(("mu" ,mu)))
15561 (home-page
15562 "https://gitlab.com/Ambrevar/mu4e-conversation")
15563 (synopsis
15564 "Show a complete thread in a single buffer")
15565 (description
15566 "This package offers an alternate view to mu4e's e-mail display. It
15567 shows all e-mails of a thread in a single view, where each correspondent has
15568 their own face. Threads can be displayed linearly (in which case e-mails are
15569 displayed in chronological order) or as an Org document where the node tree
15570 maps the thread tree.")
15571 (license license:gpl3+))))
15572
15573 (define-public emacs-pinentry
15574 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15575 (revision "1"))
15576 (package
15577 (name "emacs-pinentry")
15578 (version (git-version "0.1" revision commit))
15579 (source
15580 (origin
15581 (method url-fetch)
15582 (uri (string-append
15583 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15584 "/packages/pinentry/pinentry.el?id=" commit))
15585 (file-name (string-append "pinentry.el"))
15586 (sha256
15587 (base32
15588 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15589 (build-system emacs-build-system)
15590 (propagated-inputs
15591 `(("gnupg" ,gnupg)))
15592 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15593 (synopsis "GnuPG Pinentry server implementation")
15594 (description
15595 "This package allows GnuPG passphrase to be prompted through the
15596 minibuffer instead of graphical dialog.
15597
15598 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15599 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15600 server with @code{M-x pinentry-start}.")
15601 (license license:gpl3+))))
15602
15603 (define-public emacs-so-long
15604 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
15605 (revision "2"))
15606 (package
15607 (name "emacs-so-long")
15608 (version (git-version "1.0" revision commit))
15609 (source
15610 (origin
15611 (method git-fetch)
15612 (uri (git-reference
15613 (url "https://git.savannah.gnu.org/git/so-long.git")
15614 (commit commit)))
15615 (file-name (git-file-name name version))
15616 (sha256
15617 (base32
15618 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
15619 (build-system emacs-build-system)
15620 (home-page "https://www.emacswiki.org/emacs/SoLong")
15621 (synopsis "Improve performance in files with long lines")
15622 (description "This package improves the performance of Emacs when
15623 viewing files with long lines.")
15624 (license license:gpl3+))))
15625
15626 (define-public emacs-github-review
15627 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
15628 (revision "2"))
15629 (package
15630 (name "emacs-github-review")
15631 (version (git-version "0.1" revision commit))
15632 (source
15633 (origin
15634 (method git-fetch)
15635 (uri (git-reference
15636 (url "https://github.com/charignon/github-review")
15637 (commit commit)))
15638 (file-name (git-file-name name version))
15639 (sha256
15640 (base32
15641 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
15642 (build-system emacs-build-system)
15643 (inputs
15644 `(("emacs-dash" ,emacs-dash)
15645 ("emacs-s" ,emacs-s)
15646 ("emacs-ghub" ,emacs-ghub)))
15647 (native-inputs
15648 `(("emacs-buttercup" ,emacs-buttercup)
15649 ("emacs-undercover" ,emacs-undercover)))
15650 (arguments
15651 `(#:tests? #t
15652 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
15653 (home-page "https://github.com/charignon/github-review")
15654 (synopsis "Review GitHub pull requests within Emacs")
15655 (description "This package provides commands to pull in, comment on, and
15656 accept and reject GitHub pull requests.")
15657 (license license:gpl3+))))
15658
15659 (define-public emacs-deadgrep
15660 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
15661 (revision "2"))
15662 (package
15663 (name "emacs-deadgrep")
15664 (version (git-version "0.8" revision commit))
15665 (source
15666 (origin
15667 (method git-fetch)
15668 (uri (git-reference
15669 (url "https://github.com/Wilfred/deadgrep")
15670 (commit commit)))
15671 (file-name (git-file-name name version))
15672 (sha256
15673 (base32
15674 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
15675 (build-system emacs-build-system)
15676 (inputs
15677 `(("emacs-dash" ,emacs-dash)
15678 ("emacs-s" ,emacs-s)
15679 ("emacs-spinner" ,emacs-spinner)))
15680 (home-page "https://github.com/Wilfred/deadgrep")
15681 (synopsis "Frontend for @code{ripgrep}")
15682 (description "This package provides an Emacs interface for performing
15683 searches with @code{ripgrep}.")
15684 (license license:gpl3+))))
15685
15686 (define-public emacs-focus
15687 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
15688 (version "0.1.1")
15689 (revision "1"))
15690 (package
15691 (name "emacs-focus")
15692 (version (git-version version revision commit))
15693 (source
15694 (origin
15695 (method git-fetch)
15696 (uri (git-reference
15697 (url "https://github.com/larstvei/Focus")
15698 (commit commit)))
15699 (file-name (git-file-name name version))
15700 (sha256
15701 (base32
15702 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
15703 (build-system emacs-build-system)
15704 (home-page "https://github.com/larstvei/Focus")
15705 (synopsis "Minor mode for focusing in on relevant text")
15706 (description "This package provides a minor mode that dims the color of
15707 text in neighboring sections.")
15708 (license license:gpl3+))))
15709
15710 (define-public emacs-pandoc-mode
15711 (package
15712 (name "emacs-pandoc-mode")
15713 (version "2.27.2")
15714 (source
15715 (origin
15716 (method git-fetch)
15717 (uri (git-reference
15718 (url "https://github.com/joostkremers/pandoc-mode")
15719 (commit version)))
15720 (file-name (git-file-name name version))
15721 (sha256
15722 (base32
15723 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
15724 (build-system emacs-build-system)
15725 (propagated-inputs
15726 `(("emacs-dash" ,emacs-dash)
15727 ("emacs-hydra" ,emacs-hydra)))
15728 (home-page "https://github.com/joostkremers/pandoc-mode")
15729 (synopsis "Minor mode for interacting with Pandoc")
15730 (description "This package provides a Hydra menu for interacting with the
15731 Pandoc, the document-conversion tool.")
15732 (license license:bsd-3)))
15733
15734 (define-public emacs-ccls
15735 (let ((commit "b1acc336f27d8a3bbc750c2dc3be915a4ac1afea")
15736 (revision "3"))
15737 (package
15738 (name "emacs-ccls")
15739 (version (git-version "0.1" revision commit))
15740 (source
15741 (origin
15742 (method git-fetch)
15743 (uri (git-reference
15744 (url "https://github.com/MaskRay/emacs-ccls")
15745 (commit commit)))
15746 (file-name (git-file-name name version))
15747 (sha256
15748 (base32
15749 "1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142"))))
15750 (build-system emacs-build-system)
15751 (propagated-inputs
15752 `(("emacs-dash" ,emacs-dash)
15753 ("emacs-projectile" ,emacs-projectile)
15754 ("emacs-lsp-mode" ,emacs-lsp-mode)))
15755 (home-page "https://github.com/MaskRay/emacs-ccls")
15756 (synopsis "Emacs support for the @code{ccls} language server")
15757 (description "This package extends @code{lsp-mode} to work with @code{C}
15758 and @code{C++} files through the @code{ccls} language server.")
15759 (license license:bsd-3))))
15760
15761 (define-public emacs-org-brain
15762 (package
15763 (name "emacs-org-brain")
15764 (version "0.5")
15765 (source
15766 (origin
15767 (method git-fetch)
15768 (uri (git-reference
15769 (url "https://github.com/Kungsgeten/org-brain.git")
15770 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
15771 (file-name (git-file-name name version))
15772 (sha256
15773 (base32
15774 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
15775 (build-system emacs-build-system)
15776 (home-page "https://github.com/Kungsgeten/org-brain")
15777 (synopsis "Org-mode wiki and concept-mapping for Emacs")
15778 (description "@code{emacs-org-brain} implements a variant of concept
15779 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
15780 org-mode entries, where each entry is a file or a headline, and you can get a
15781 visual overview of the relationships between the entries: parents, children,
15782 siblings and friends. This visual overview can also be used to browse your
15783 entries. You can think of entries as nodes in a mind map, or pages in a
15784 wiki.")
15785 (license license:expat)))
15786
15787 (define-public emacs-recent-addresses
15788 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
15789 (revision "1"))
15790 (package
15791 (name "emacs-recent-addresses")
15792 (home-page "http://nschum.de/src/emacs/recent-addresses/")
15793 (version (git-version "0.1" revision commit))
15794 (source (origin
15795 (method git-fetch)
15796 (uri (git-reference
15797 ;; Note: Use a branch that works with Helm. Submitted
15798 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
15799 (url "https://github.com/civodul/recent-addresses.el")
15800 (commit commit)))
15801 (sha256
15802 (base32
15803 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
15804 (file-name (git-file-name name version))))
15805 (build-system emacs-build-system)
15806 (synopsis "Record recently-used email addressed and auto-complete them")
15807 (description
15808 "@code{recent-addresses} is an Emacs package that allows you to quickly
15809 look up previously used email addresses. It can be used alongside the Gnus
15810 email client.")
15811 (license license:gpl2+))))
15812
15813 (define-public emacs-fold-dwim
15814 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
15815 (revision "0"))
15816 (package
15817 (name "emacs-fold-dwim")
15818 (version (git-version "1.2" revision commit))
15819 (home-page "https://github.com/emacsattic/fold-dwim")
15820 (source (origin
15821 (method git-fetch)
15822 (uri (git-reference (url home-page) (commit commit)))
15823 (sha256
15824 (base32
15825 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
15826 (file-name (git-file-name name version))))
15827 (build-system emacs-build-system)
15828 (synopsis "Unified user interface for Emacs folding modes")
15829 (description
15830 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
15831 can do different things depending on the context. In this package, it means
15832 that, if the cursor is in a currently hidden folded construction, we want to
15833 show it; if it's not, we want to hide whatever fold the cursor is in.")
15834 (license license:gpl2+))))
15835
15836 (define-public emacs-markup-faces
15837 (package
15838 (name "emacs-markup-faces")
15839 (version "1.0.0")
15840 (source
15841 (origin
15842 (method url-fetch)
15843 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
15844 version ".el"))
15845 (sha256
15846 (base32
15847 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
15848 (build-system emacs-build-system)
15849 (home-page "https://github.com/sensorflo/markup-faces")
15850 (synopsis "Collection of Emacs faces for markup language modes")
15851 (description "emacs-markup-faces is like font-lock-faces, but tailored for
15852 markup languages instead programming languages. The sub group markup-faces-text
15853 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
15854 common look and feel, or let's say theme, across different markup language modes
15855 and 'text viewing modes' respectively.")
15856 (license license:gpl3+)))
15857
15858 (define-public emacs-adoc-mode
15859 (package
15860 (name "emacs-adoc-mode")
15861 (version "0.6.6")
15862 (source
15863 (origin
15864 (method url-fetch)
15865 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
15866 version ".el"))
15867 (sha256
15868 (base32
15869 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
15870 (build-system emacs-build-system)
15871 (propagated-inputs
15872 `(("emacs-markup-faces" ,emacs-markup-faces)))
15873 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
15874 (synopsis "AsciiDoc mode for Emacs")
15875 (description "This package provides an Emacs major mode for editing AsciiDoc
15876 files. It focuses on highlighting the document to improve readability.")
15877 (license license:gpl2+)))
15878
15879 (define-public emacs-rust-mode
15880 (package
15881 (name "emacs-rust-mode")
15882 (version "0.4.0")
15883 (source (origin
15884 (method git-fetch)
15885 (uri (git-reference
15886 (url "https://github.com/rust-lang/rust-mode")
15887 (commit version)))
15888 (file-name (git-file-name name version))
15889 (sha256
15890 (base32
15891 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
15892 (build-system emacs-build-system)
15893 (arguments
15894 `(#:phases
15895 (modify-phases %standard-phases
15896 (replace 'check
15897 (lambda _
15898 (invoke "sh" "run_rust_emacs_tests.sh"))))))
15899 (home-page "https://github.com/rust-lang/rust-mode")
15900 (synopsis "Major Emacs mode for editing Rust source code")
15901 (description "This package provides a major Emacs mode for editing Rust
15902 source code.")
15903 (license (list license:expat
15904 license:asl2.0))))
15905
15906 (define-public emacs-ztree
15907 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
15908 (package
15909 (name "emacs-ztree")
15910 (version (git-version "1.0.5" "1" commit))
15911 (source
15912 (origin
15913 (method git-fetch)
15914 (uri (git-reference
15915 (url "https://github.com/fourier/ztree")
15916 (commit commit)))
15917 (file-name (git-file-name name version))
15918 (sha256
15919 (base32
15920 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
15921 (build-system emacs-build-system)
15922 (home-page "https://github.com/fourier/ztree")
15923 (synopsis "Directory tree comparison mode for Emacs")
15924 (description "Ztree is a project dedicated to implementation of several
15925 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
15926 @command{ztree-diff} and @command{ztree-dir} (the basis of
15927 @command{ztree-diff}).")
15928 (license license:gpl3))))
15929
15930 (define-public emacs-helm-org-contacts
15931 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
15932 (package
15933 (name "emacs-helm-org-contacts")
15934 (version (git-version "20180707" "1" commit))
15935 (source
15936 (origin
15937 (method git-fetch)
15938 (uri (git-reference
15939 (url "https://github.com/tmalsburg/helm-org-contacts")
15940 (commit commit)))
15941 (file-name (git-file-name name version))
15942 (sha256
15943 (base32
15944 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
15945 (build-system emacs-build-system)
15946 (propagated-inputs
15947 `(("emacs-dash" ,emacs-dash)
15948 ("emacs-helm" ,emacs-helm)
15949 ("emacs-s" ,emacs-s)))
15950 (home-page "https://github.com/tmalsburg/helm-org-contacts")
15951 (synopsis "Helm source for org-contacts")
15952 (description "This Helm source can be used to search contacts stored in
15953 org-contacts format. There are actions for inserting postal addresses, email
15954 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
15955 was called.")
15956 (license license:gpl3))))
15957
15958 (define-public emacs-dired-du
15959 (package
15960 (name "emacs-dired-du")
15961 (version "0.5.2")
15962 (source
15963 (origin
15964 (method url-fetch)
15965 (uri (string-append
15966 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
15967 (sha256
15968 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
15969 (build-system emacs-build-system)
15970 (home-page "https://elpa.gnu.org/packages/dired-du.html")
15971 (synopsis "Dired with recursive directory sizes")
15972 (description
15973 "Display the recursive size of directories in Dired.
15974 This file defines a minor mode @command{dired-du-mode} to show the recursive
15975 size of directories in Dired buffers. If @command{du} program is available,
15976 then the directory sizes are obtained with it. Otherwise, the directory sizes
15977 are obtained with Lisp. The former is faster and provide a more precise
15978 value. For directories where the user doesn't have read permission, the
15979 recursive size is not obtained. Once this mode is enabled, every new Dired
15980 buffer displays recursive dir sizes.")
15981 (license license:gpl3+)))
15982
15983 (define-public emacs-dired-rsync
15984 (package
15985 (name "emacs-dired-rsync")
15986 (version "0.4")
15987 (source (origin
15988 (method git-fetch)
15989 (uri (git-reference
15990 (url "https://github.com/stsquad/dired-rsync.git")
15991 (commit version)))
15992 (file-name (git-file-name name version))
15993 (sha256
15994 (base32
15995 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
15996 (build-system emacs-build-system)
15997 (propagated-inputs
15998 `(("emacs-s" ,emacs-s)
15999 ("emacs-dash" ,emacs-dash)))
16000 (home-page "https://github.com/stsquad/dired-rsync/")
16001 (synopsis "Support for rsync from Emacs dired buffers")
16002 (description "This package adds a single command @code{dired-rsync} which
16003 allows the user to copy marked files in a dired buffer via @code{rsync}. This
16004 is useful, especially for large files, because the copy happens in the
16005 background and doesn’t lock up Emacs. It is also more efficient than using
16006 tramps own encoding methods for moving data between systems.")
16007 (license license:gpl3+)))
16008
16009 (define-public emacs-pcre2el
16010 ;; Last release is very old so we get the latest commit.
16011 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
16012 (package
16013 (name "emacs-pcre2el")
16014 (version (git-version "1.8" "1" commit))
16015 (source
16016 (origin
16017 (method git-fetch)
16018 (uri (git-reference
16019 (url "https://github.com/joddie/pcre2el")
16020 (commit commit)))
16021 (file-name (git-file-name name version))
16022 (sha256
16023 (base32
16024 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
16025 (build-system emacs-build-system)
16026 (home-page "https://github.com/joddie/pcre2el")
16027 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
16028 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
16029 Tools) is a utility for working with regular expressions in Emacs, based on a
16030 recursive-descent parser for regexp syntax. In addition to converting (a
16031 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
16032
16033 @itemize
16034 @item convert Emacs syntax to PCRE
16035 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
16036 @item untangle complex regexps by showing the parse tree in @code{rx} form and
16037 highlighting the corresponding chunks of code
16038 @item show the complete list of strings (productions) matching a regexp,
16039 provided the list is finite
16040 @item provide live font-locking of regexp syntax (so far only for Elisp
16041 buffers – other modes on the TODO list).
16042 @end itemize\n")
16043 (license license:gpl3))))
16044
16045 (define-public emacs-magit-todos
16046 (package
16047 (name "emacs-magit-todos")
16048 (version "1.4")
16049 (source
16050 (origin
16051 (method git-fetch)
16052 (uri (git-reference
16053 (url "https://github.com/alphapapa/magit-todos")
16054 (commit version)))
16055 (file-name (git-file-name name version))
16056 (sha256
16057 (base32
16058 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
16059 (build-system emacs-build-system)
16060 (propagated-inputs
16061 `(("emacs-async" ,emacs-async)
16062 ("emacs-dash" ,emacs-dash)
16063 ("emacs-f" ,emacs-f)
16064 ("emacs-hl-todo" ,emacs-hl-todo)
16065 ("magit" ,emacs-magit)
16066 ("emacs-pcre2el" ,emacs-pcre2el)
16067 ("emacs-s" ,emacs-s)))
16068 (home-page "https://github.com/alphapapa/magit-todos")
16069 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
16070 (description "This package displays keyword entries from source code
16071 comments and Org files in the Magit status buffer. Activating an item jumps
16072 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
16073 few (like NOTE).")
16074 (license license:gpl3)))
16075
16076 (define-public emacs-git-annex
16077 ;; Unreleased version has a fontification fix.
16078 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
16079 (revision "2"))
16080 (package
16081 (name "emacs-git-annex")
16082 (version (git-version "1.1" revision commit))
16083 (source
16084 (origin
16085 (method git-fetch)
16086 (uri (git-reference
16087 (url "https://github.com/jwiegley/git-annex-el")
16088 (commit commit)))
16089 (file-name (git-file-name name version))
16090 (sha256
16091 (base32
16092 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
16093 (build-system emacs-build-system)
16094 (home-page "https://github.com/jwiegley/git-annex-el")
16095 (synopsis "Emacs integration for git-annex")
16096 (description "Enhances Dired and buffers visiting annex files with
16097 git-annex functionality. In Dired, the names of annex files are shortened by
16098 hiding the symbolic links and fontified based on whether content is present.
16099 Commands for performing some common operations (e.g., unlocking and adding
16100 files) are provided.")
16101 (license license:gpl2+))))
16102
16103 (define-public emacs-hackernews
16104 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
16105 (revision "2"))
16106 (package
16107 (name "emacs-hackernews")
16108 (version (git-version "0.5.0" revision commit))
16109 (source
16110 (origin
16111 (method git-fetch)
16112 (uri (git-reference
16113 (url "https://github.com/clarete/hackernews.el")
16114 (commit commit)))
16115 (file-name (git-file-name name version))
16116 (sha256
16117 (base32
16118 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
16119 (build-system emacs-build-system)
16120 (home-page "https://github.com/clarete/hackernews.el")
16121 (synopsis "Hacker News client for Emacs")
16122 (description "The @command{hackernews} package is able to fetch stories
16123 from six different Hacker News feeds, namely top, new, best, ask, show and job
16124 stories. The default feed is top stories, which corresponds to the Hacker
16125 News homepage.")
16126 (license license:gpl3))))
16127
16128 (define-public emacs-youtube-dl
16129 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
16130 (revision "2"))
16131 (package
16132 (name "emacs-youtube-dl")
16133 (version (git-version "1.0" "2" commit))
16134 (source
16135 (origin
16136 (method git-fetch)
16137 (uri (git-reference
16138 (url "https://github.com/skeeto/youtube-dl-emacs/")
16139 (commit commit)))
16140 (file-name (git-file-name name version))
16141 (sha256
16142 (base32
16143 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
16144 (build-system emacs-build-system)
16145 (inputs
16146 `(("youtube-dl" ,youtube-dl)))
16147 (arguments
16148 `(#:phases
16149 (modify-phases %standard-phases
16150 (add-after 'unpack 'configure
16151 (lambda* (#:key inputs #:allow-other-keys)
16152 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
16153 ;; .el is read-only in git.
16154 (chmod "youtube-dl.el" #o644)
16155 ;; Specify the absolute file names of the various
16156 ;; programs so that everything works out-of-the-box.
16157 (emacs-substitute-variables
16158 "youtube-dl.el"
16159 ("youtube-dl-program"
16160 (string-append youtube-dl "/bin/youtube-dl")))))))))
16161 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
16162 (synopsis "Emacs youtube-dl download manager")
16163 (description "This package manages a video download queue for
16164 @command{youtube-dl}, which serves as the back end. It manages a single
16165 @command{youtube-dl} subprocess, downloading one video at a time. New videos
16166 can be queued at any time.")
16167 (license license:unlicense))))
16168
16169 (define-public emacs-org-web-tools
16170 (package
16171 (name "emacs-org-web-tools")
16172 (version "1.0")
16173 (source
16174 (origin
16175 (method git-fetch)
16176 (uri (git-reference
16177 (url "https://github.com/alphapapa/org-web-tools")
16178 (commit version)))
16179 (file-name (git-file-name name version))
16180 (sha256
16181 (base32
16182 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
16183 (build-system emacs-build-system)
16184 (propagated-inputs
16185 `(("emacs-dash" ,emacs-dash)
16186 ("emacs-esxml" ,emacs-esxml)
16187 ("emacs-s" ,emacs-s)))
16188 (inputs
16189 `(("pandoc" ,ghc-pandoc)))
16190 (arguments
16191 `(#:phases
16192 (modify-phases %standard-phases
16193 (add-after 'unpack 'patch-exec-paths
16194 (lambda* (#:key inputs #:allow-other-keys)
16195 (let ((pandoc (assoc-ref inputs "pandoc")))
16196 (substitute* "org-web-tools.el"
16197 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
16198 #t))))))
16199 (home-page "https://github.com/alphapapa/org-web-tools")
16200 (synopsis "Display/Process web page as Org-mode content")
16201 (description "This package contains library functions and commands useful
16202 for retrieving web page content and processing it into Org-mode content.
16203
16204 For example, you can copy a URL to the clipboard or kill-ring, then run a
16205 command that downloads the page, isolates the “readable” content with
16206 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
16207 displays it in an Org-mode buffer. Another command does all of that but
16208 inserts it as an Org entry instead of displaying it in a new buffer.")
16209 (license license:gpl3+)))
16210
16211 (define-public emacs-blimp
16212 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
16213 (package
16214 (name "emacs-blimp")
16215 (version (git-version "0.0.0" "1" commit))
16216 (source
16217 (origin
16218 (method git-fetch)
16219 (uri (git-reference
16220 (url "https://github.com/walseb/blimp")
16221 (commit commit)))
16222 (file-name (git-file-name name version))
16223 (sha256
16224 (base32
16225 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
16226 (build-system emacs-build-system)
16227 (propagated-inputs
16228 `(("emacs-eimp" ,emacs-eimp)))
16229 (home-page "https://github.com/walseb/blimp")
16230 (synopsis "Emacs wrapper around all Imagemagick commands")
16231 (description "Blimp (Bustling Image Manipulation Package) is a complete
16232 wrapper around all Imagemagick commands with descriptions, autocompletion (for
16233 some commands) and hints displayed in prompt using @command{eimp.el} to
16234 execute its commands and resize images.")
16235 (license license:gpl3+))))
16236
16237 (define-public emacs-synosaurus
16238 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
16239 (package
16240 (name "emacs-synosaurus")
16241 (version (git-version "0.1.0" "1" commit))
16242 (source
16243 (origin
16244 (method git-fetch)
16245 (uri (git-reference
16246 (url "https://github.com/hpdeifel/synosaurus")
16247 (commit commit)))
16248 (file-name (git-file-name name version))
16249 (sha256
16250 (base32
16251 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
16252 (build-system emacs-build-system)
16253 (propagated-inputs
16254 `(("wordnet" ,wordnet)))
16255 (arguments
16256 `(#:phases
16257 (modify-phases %standard-phases
16258 (add-after 'unpack 'configure
16259 (lambda* (#:key inputs outputs #:allow-other-keys)
16260 (let ((wn (assoc-ref inputs "wordnet")))
16261 ;; .el is read-only in git.
16262 (chmod "synosaurus-wordnet.el" #o644)
16263 ;; Specify the absolute file names of the various
16264 ;; programs so that everything works out-of-the-box.
16265 (emacs-substitute-variables
16266 "synosaurus-wordnet.el"
16267 ("wordnet-command"
16268 (string-append wn "/bin/wn")))))))))
16269 (home-page "https://github.com/hpdeifel/synosaurus")
16270 (synopsis "Extensible thesaurus mode for Emacs")
16271 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
16272 backends, including the @command{wordnet} offline backend.")
16273 (license license:gpl3+))))
16274
16275 (define-public emacs-editorconfig
16276 (package
16277 (name "emacs-editorconfig")
16278 (version "0.8.1")
16279 (source
16280 (origin
16281 (method git-fetch)
16282 (uri (git-reference
16283 (url "https://github.com/editorconfig/editorconfig-emacs")
16284 (commit (string-append "v" version))))
16285 (file-name (git-file-name name version))
16286 (sha256
16287 (base32
16288 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
16289 (build-system emacs-build-system)
16290 (home-page "https://github.com/editorconfig/editorconfig-emacs")
16291 (synopsis "Define and maintain consistent coding styles between different
16292 editors and IDEs")
16293 (description "The EditorConfig project consists of a file format for
16294 defining coding styles and a collection of text editor plugins that enable
16295 editors to read the file format and adhere to defined styles. EditorConfig
16296 files are easily readable and they work nicely with version control systems.")
16297 (license license:gpl3+)))
16298
16299 (define-public emacs-all-the-icons
16300 (package
16301 (name "emacs-all-the-icons")
16302 (version "3.2.0")
16303 (source
16304 (origin
16305 (method git-fetch)
16306 (uri (git-reference
16307 (url "https://github.com/domtronn/all-the-icons.el.git")
16308 (commit version)))
16309 (file-name (git-file-name name version))
16310 (sha256
16311 (base32
16312 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
16313 (build-system emacs-build-system)
16314 (arguments
16315 `(#:include '("\\.el$" "^data/" "^fonts/")
16316 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
16317 ;; all-the-icons--root-code". Ignoring tests.
16318 #:exclude '("^test/")
16319 #:tests? #f))
16320 (propagated-inputs
16321 `(("f" ,emacs-f)
16322 ("memoize" ,emacs-memoize)))
16323 (home-page "https://github.com/domtronn/all-the-icons.el")
16324 (synopsis "Collect icon fonts and propertize them within Emacs")
16325 (description "All-the-icons is a utility package to collect various icon
16326 fonts and propertize them within Emacs. Icon fonts allow you to propertize
16327 and format icons the same way you would normal text. This enables things such
16328 as better scaling of and anti aliasing of the icons.")
16329 ;; Package is released under Expat license. Elisp files are licensed
16330 ;; under GPL3+. Fonts come with various licenses: Expat for
16331 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
16332 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
16333 ;; "ocitcons.ttf" and "weathericons.ttf".
16334 (license
16335 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
16336
16337 (define-public emacs-wttrin
16338 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
16339 (revision "1"))
16340 (package
16341 (name "emacs-wttrin")
16342 (version (git-version "0.2.0" revision commit))
16343 (source (origin
16344 (method git-fetch)
16345 (uri (git-reference
16346 (url "https://github.com/bcbcarl/emacs-wttrin.git")
16347 (commit commit)))
16348 (file-name (git-file-name name version))
16349 (sha256
16350 (base32
16351 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
16352 (build-system emacs-build-system)
16353 (propagated-inputs
16354 `(("emacs-xterm-color" ,emacs-xterm-color)))
16355 (home-page "https://github.com/bcbcarl/emacs-wttrin")
16356 (synopsis "Frontend for weather web service @url{wttr.in}")
16357 (description "This package provides local weather information from
16358 @url{wttr.in}.")
16359 (license license:expat))))
16360
16361 (define-public emacs-powerline
16362 (package
16363 (name "emacs-powerline")
16364 (version "2.4")
16365 (source
16366 (origin
16367 (method git-fetch)
16368 (uri (git-reference
16369 (url "https://github.com/milkypostman/powerline.git")
16370 (commit version)))
16371 (file-name (git-file-name name version))
16372 (sha256
16373 (base32
16374 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
16375 (build-system emacs-build-system)
16376 (home-page "https://github.com/milkypostman/powerline/")
16377 (synopsis "Mode-line plugin for Emacs")
16378 (description "Powerline is a utility plugin which allows you to create
16379 a better-looking, more functional Emacs mode-line. A collection of predefined
16380 themes comes with the package.")
16381 (license license:gpl3+)))
16382
16383 (define-public emacs-spaceline
16384 (package
16385 (name "emacs-spaceline")
16386 (version "2.0.1")
16387 (source
16388 (origin
16389 (method git-fetch)
16390 (uri (git-reference
16391 (url "https://github.com/TheBB/spaceline.git")
16392 (commit (string-append "v" version))))
16393 (file-name (git-file-name name version))
16394 (sha256
16395 (base32
16396 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
16397 (build-system emacs-build-system)
16398 (propagated-inputs
16399 `(("dash" ,emacs-dash)
16400 ("powerline" ,emacs-powerline)
16401 ("s" ,emacs-s)))
16402 (home-page "https://github.com/TheBB/spaceline")
16403 (synopsis "Powerline theme from Spacemacs")
16404 (description "Spaceline provides Spacemacs' mode-line theme.
16405 This package provides features for three kinds of users.
16406
16407 @itemize
16408 @item You just want to use the Spacemacs mode-line theme and forget about it.
16409 @item You want to use something similar to the Spacemacs mode-line theme, but
16410 with a handful of easy tweaks.
16411 @item You want an easy-to-use library for building your own mode-line from
16412 scratch, and you think the Spacemacs theme looks good.
16413 @end itemize")
16414 (license license:gpl3+)))
16415
16416 (define-public emacs-column-marker
16417 (package
16418 (name "emacs-column-marker")
16419 (version "9")
16420 (source
16421 (origin
16422 (method url-fetch)
16423 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
16424 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
16425 (build-system emacs-build-system)
16426 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
16427 (synopsis "Emacs mode for highlighting columns")
16428 (description
16429 "With @code{column-marker.el} you can highlight any number of text columns.
16430 Three such highlight column markers are provided by default. This is
16431 especially useful for languages like COBOL or Fortran where certain columns
16432 have special meaning. It is also handy for aligning text across long vertical
16433 distances. Multi-column characters, such as @kbd{TAB} are treated
16434 correctly.")
16435 (license license:gpl2+)))
16436
16437 (define-public emacs-slime-repl-ansi-color
16438 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
16439 (package
16440 (name "emacs-slime-repl-ansi-color")
16441 (version (git-version "0.0.0" "1" commit))
16442 (source (origin
16443 (method git-fetch)
16444 (uri (git-reference
16445 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
16446 (commit commit)))
16447 (file-name (git-file-name name version))
16448 (sha256
16449 (base32
16450 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
16451 (build-system emacs-build-system)
16452 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
16453 (synopsis "Color ANSI codes in the REPL of SLIME")
16454 (description "Color ANSI codes in the REPL of SLIME")
16455 (license license:gpl2+))))
16456
16457 (define-public emacs-helm-slime
16458 (package
16459 (name "emacs-helm-slime")
16460 (version "0.4.0")
16461 (source (origin
16462 (method git-fetch)
16463 (uri (git-reference
16464 (url "https://github.com/emacs-helm/helm-slime")
16465 (commit version)))
16466 (file-name (git-file-name name version))
16467 (sha256
16468 (base32
16469 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
16470 (build-system emacs-build-system)
16471 (propagated-inputs
16472 `(("emacs-helm" ,emacs-helm)
16473 ("emacs-slime" ,emacs-slime)))
16474 (home-page "https://github.com/emacs-helm/helm-slime")
16475 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
16476 (description "Helm-SLIME defines a few new commands:
16477
16478 @itemize
16479 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
16480 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
16481 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
16482 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
16483 @end itemize\n")
16484 (license license:gpl3+)))
16485
16486 (define-public emacs-helm-sly
16487 (package
16488 (name "emacs-helm-sly")
16489 (version "0.4.1")
16490 (source (origin
16491 (method git-fetch)
16492 (uri (git-reference
16493 (url "https://github.com/emacs-helm/helm-sly")
16494 (commit version)))
16495 (file-name (git-file-name name version))
16496 (sha256
16497 (base32
16498 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
16499 (build-system emacs-build-system)
16500 (propagated-inputs
16501 `(("emacs-helm" ,emacs-helm)
16502 ("emacs-sly" ,emacs-sly)))
16503 (home-page "https://github.com/emacs-helm/helm-sly")
16504 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
16505 (description "Helm-SLY defines a few new commands:
16506
16507 @itemize
16508 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
16509 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
16510 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
16511 extra source of Lisp-related buffers, like the events buffer or the scratch
16512 buffer.
16513 @end itemize\n")
16514 (license license:gpl3+)))
16515
16516 (define-public emacs-gtk-look
16517 (package
16518 (name "emacs-gtk-look")
16519 (version "29")
16520 (source (origin
16521 (method url-fetch)
16522 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
16523 (sha256
16524 (base32
16525 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
16526 (build-system emacs-build-system)
16527 (arguments
16528 `(#:phases
16529 (modify-phases %standard-phases
16530 (add-after 'unpack 'configure
16531 (lambda _
16532 ;; File is read-only.
16533 (chmod "gtk-look.el" #o644)
16534 (emacs-substitute-variables "gtk-look.el"
16535 ("gtk-lookup-devhelp-indices"
16536 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
16537 #t)))))
16538 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
16539 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
16540 (description "@command{gtk-look} finds and displays HTML documentation for
16541 GTK, GNOME and Glib functions and variables in Emacs, similar to what
16542 info-lookup-symbol does for info files (C-h S). The documentation is expected
16543 to be devhelp indexes with HTML files. The location of the indexes can be
16544 customized. In addition to C code development @command{gtk-look} is good for
16545
16546 @itemize
16547 @item @command{perl-gtk2}, recognising class funcs like
16548 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
16549 @item @command{guile-gnome}, recognising methods like @command{set-text} and
16550 classes like @command{<gtk-window>}.
16551 @end itemize\n")
16552 (license license:gpl3+)))
16553
16554 (define-public emacs-ov
16555 (package
16556 (name "emacs-ov")
16557 (version "1.0.6")
16558 (source (origin
16559 (method git-fetch)
16560 (uri (git-reference
16561 (url "https://github.com/ShingoFukuyama/ov.el.git")
16562 (commit version)))
16563 (file-name (git-file-name name version))
16564 (sha256
16565 (base32
16566 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
16567 (build-system emacs-build-system)
16568 (home-page "https://github.com/ShingoFukuyama/ov.el")
16569 (synopsis "Overlay library for Emacs Lisp")
16570 (description "@code{ov.el} provides a simple way to manipulate overlays in
16571 Emacs.")
16572 (license license:gpl3+)))
16573
16574 (define-public emacs-matrix-client
16575 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
16576 (package
16577 (name "emacs-matrix-client")
16578 (version (git-version "0.0.0" "4" commit))
16579 (source (origin
16580 (method git-fetch)
16581 (uri (git-reference
16582 (url "https://github.com/jgkamat/matrix-client-el.git")
16583 (commit commit)))
16584 (file-name (git-file-name name version))
16585 (sha256
16586 (base32
16587 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
16588 (build-system emacs-build-system)
16589 (arguments
16590 `(#:phases
16591 (modify-phases %standard-phases
16592 (add-after 'unpack 'add-missing-require
16593 ;; Fix a filter error at runtime due to a missing require.
16594 ;; Reported upstream:
16595 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
16596 (lambda _
16597 (substitute* "matrix-client-room.el"
16598 (("\\(require 'dash-functional\\)" all)
16599 (string-append all "\n" "(require 'anaphora)")))
16600 #t)))))
16601 (propagated-inputs
16602 `(("a" ,emacs-a)
16603 ("anaphora" ,emacs-anaphora)
16604 ("dash" ,emacs-dash)
16605 ("esxml" ,emacs-esxml)
16606 ("f" ,emacs-f)
16607 ("frame-purpose" ,emacs-frame-purpose)
16608 ("ht" ,emacs-ht)
16609 ("ov" ,emacs-ov)
16610 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
16611 ("request" ,emacs-request)
16612 ("s" ,emacs-s)
16613 ("tracking" ,emacs-tracking)))
16614 (home-page "https://github.com/jgkamat/matrix-client-el")
16615 (synopsis "Matrix client for Emacs")
16616 (description "@code{matrix-client} is a simple chat UI to Matrix.org
16617 rooms. It also provides an API which allows Emacs to seamlessly create
16618 RPC channels with users and other software.")
16619 (license license:gpl3+))))
16620
16621 (define-public emacs-sesman
16622 (package
16623 (name "emacs-sesman")
16624 (version "0.3.4")
16625 (source
16626 (origin
16627 (method git-fetch)
16628 (uri (git-reference
16629 (url "https://github.com/vspinu/sesman.git")
16630 (commit (string-append "v" version))))
16631 (file-name (git-file-name name version))
16632 (sha256
16633 (base32
16634 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
16635 (build-system emacs-build-system)
16636 (arguments
16637 `(#:phases
16638 (modify-phases %standard-phases
16639 (add-after 'unpack 'set-shell
16640 ;; Setting the SHELL environment variable is required for the tests
16641 ;; to find sh.
16642 (lambda _
16643 (setenv "SHELL" (which "sh"))
16644 #t)))
16645 #:tests? #t
16646 #:test-command '("make" "test")))
16647 (home-page "https://github.com/vspinu/sesman")
16648 (synopsis "Session manager for Emacs based IDEs")
16649 (description "Sesman provides facilities for session management and
16650 interactive session association with the current contexts (project, directory,
16651 buffers). While sesman can be used to manage arbitrary sessions, it primary
16652 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
16653 (license license:gpl3+)))
16654
16655 (define-public emacs-buttercup
16656 (package
16657 (name "emacs-buttercup")
16658 (version "1.16")
16659 (source
16660 (origin
16661 (method git-fetch)
16662 (uri (git-reference
16663 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
16664 (commit (string-append "v" version))))
16665 (file-name (git-file-name name version))
16666 (sha256
16667 (base32
16668 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
16669 (build-system emacs-build-system)
16670 (arguments
16671 `(#:tests? #t
16672 #:test-command '("make" "test")
16673 #:phases
16674 (modify-phases %standard-phases
16675 (add-after 'install 'install-bin
16676 (lambda* (#:key outputs #:allow-other-keys)
16677 (install-file "bin/buttercup"
16678 (string-append (assoc-ref outputs "out") "/bin"))
16679 #t)))))
16680 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
16681 (synopsis "Behavior driven emacs lisp testing framework")
16682 (description "Buttercup is a behavior-driven development framework for
16683 testing Emacs Lisp code. It allows to group related tests so they can share
16684 common set-up and tear-down code, and allows the programmer to \"spy\" on
16685 functions to ensure they are called with the right arguments during testing.")
16686 (license license:gpl3+)))
16687
16688 (define-public emacs-wordnut
16689 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
16690 (revision "0"))
16691 (package
16692 (name "emacs-wordnut")
16693 (version (git-version "0.1" revision commit))
16694 (home-page "https://github.com/gromnitsky/wordnut")
16695 (source (origin
16696 (method git-fetch)
16697 (uri (git-reference (url home-page) (commit commit)))
16698 (sha256
16699 (base32
16700 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
16701 (patches
16702 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
16703 (file-name (git-file-name name version))))
16704 (build-system emacs-build-system)
16705 (propagated-inputs
16706 `(("wordnet" ,wordnet)
16707 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
16708 (synopsis "Major mode for WordNet")
16709 (description "This Emacs package provides an interface for
16710 @code{wordnet}. Features include completion, if the query is not found
16711 too ambiguous and navigation in the result buffer.")
16712 (license license:gpl3+))))
16713
16714 (define-public emacs-frame-purpose
16715 (package
16716 (name "emacs-frame-purpose")
16717 (version "1.0")
16718 (source (origin
16719 (method git-fetch)
16720 (uri (git-reference
16721 (url "https://github.com/alphapapa/frame-purpose.el.git")
16722 (commit version)))
16723 (sha256
16724 (base32
16725 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
16726 (file-name (git-file-name name version))))
16727 (build-system emacs-build-system)
16728 (inputs
16729 `(("dash" ,emacs-dash)))
16730 (synopsis "Purpose-specific frames for Emacs")
16731 (description "@code{frame-purpose} makes it easy to open purpose-specific
16732 frames that only show certain buffers, e.g. by buffers’ major mode, their
16733 filename or directory, etc, with custom frame/X-window titles, icons, and
16734 other frame parameters.")
16735 (home-page "https://github.com/alphapapa/frame-purpose.el")
16736 (license license:gpl3+)))
16737
16738 (define-public emacs-arduino-mode
16739 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
16740 (package
16741 (name "emacs-arduino-mode")
16742 (version (git-version "0" "0" commit))
16743 (source (origin
16744 (method git-fetch)
16745 (uri (git-reference
16746 (url "https://github.com/bookest/arduino-mode.git")
16747 (commit commit)))
16748 (sha256
16749 (base32
16750 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
16751 (file-name (git-file-name name version))))
16752 (build-system emacs-build-system)
16753 (synopsis "Emacs major mode for editing Arduino sketches")
16754 (description "Emacs major mode for editing Arduino sketches.")
16755 (home-page "https://github.com/bookest/arduino-mode")
16756 (license license:gpl3+))))
16757
16758 (define-public emacs-annalist
16759 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
16760 (revision "1"))
16761 (package
16762 (name "emacs-annalist")
16763 (version (git-version "1.0.0" revision commit))
16764 (source (origin
16765 (method git-fetch)
16766 (uri (git-reference
16767 (url "https://github.com/noctuid/annalist.el.git")
16768 (commit commit)))
16769 (sha256
16770 (base32
16771 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
16772 (file-name (git-file-name name version))))
16773 (build-system emacs-build-system)
16774 (native-inputs
16775 `(("emacs-buttercup" ,emacs-buttercup)
16776 ("emacs-lispy" ,emacs-lispy)
16777 ("emacs-evil" ,emacs-evil)))
16778 (arguments
16779 `(#:phases
16780 (modify-phases %standard-phases
16781 (add-before 'check 'fix-makefile
16782 (lambda _
16783 (substitute* "Makefile"
16784 (("cask exec ") ""))
16785 #t)))
16786 #:tests? #t
16787 #:test-command '("make" "test")))
16788 (home-page "https://github.com/noctuid/annalist.el")
16789 (synopsis "Record and display information with Org headings and tables")
16790 (description "This package allows for keybindings, settings, hooks, and
16791 advice to be recorded and displayed.")
16792 (license license:gpl3+))))
16793
16794 (define-public emacs-general
16795 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
16796 (revision "3"))
16797 (package
16798 (name "emacs-general")
16799 (version (git-version "0" revision commit))
16800 (source (origin
16801 (method git-fetch)
16802 (uri (git-reference
16803 (url "https://github.com/noctuid/general.el.git")
16804 (commit commit)))
16805 (sha256
16806 (base32
16807 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
16808 (file-name (git-file-name name version))))
16809 (build-system emacs-build-system)
16810 (native-inputs
16811 `(("emacs-buttercup" ,emacs-buttercup)
16812 ("emacs-evil" ,emacs-evil)
16813 ("emacs-which-key" ,emacs-which-key)
16814 ("emacs-use-package" ,emacs-use-package)))
16815 (arguments
16816 `(#:phases
16817 (modify-phases %standard-phases
16818 (add-before 'check 'fix-makefile
16819 (lambda _
16820 (substitute* "Makefile"
16821 (("cask exec ") ""))
16822 #t)))
16823 #:tests? #t
16824 #:test-command '("make" "test")))
16825 (home-page "https://github.com/noctuid/general.el")
16826 (synopsis "More convenient key definitions in emacs")
16827 (description "@code{general.el} provides a more convenient method for
16828 binding keys in emacs (for both evil and non-evil users). Like
16829 @code{use-package}, which provides a convenient, unified interface for
16830 managing packages, @code{general.el} is intended to provide a convenient,
16831 unified interface for key definitions. While this package does implement some
16832 completely new functionality (such as the ability to make vim-style
16833 keybindings under non-prefix keys with an optional timeout), its primary
16834 purpose is to build on existing functionality to make key definition more
16835 clear and concise. @code{general-define-key} is user-extensible and supports
16836 defining multiple keys in multiple keymaps at once, implicitly wrapping key
16837 strings with (@code{kbd ...}), using named prefix key sequences (like the
16838 leader key in vim), and much more.")
16839 (license license:gpl3+))))
16840
16841 (define-public emacs-tldr
16842 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
16843 (package
16844 (name "emacs-tldr")
16845 (version (git-version "0" "0" commit))
16846 (home-page "https://github.com/kuanyui/tldr.el")
16847 (source (origin
16848 (method git-fetch)
16849 (uri (git-reference
16850 (url (string-append home-page ".git"))
16851 (commit commit)))
16852 (sha256
16853 (base32
16854 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
16855 (file-name (git-file-name name version))))
16856 (build-system emacs-build-system)
16857 (synopsis "Simplified and community-driven man pages for Emacs")
16858 (description "@code{emacs-tldr} allows the user to access tldr pages
16859 from within emacs. The @code{tldr} pages are a community effort to simplify
16860 the man pages with practical examples.")
16861 (license license:wtfpl2))))
16862
16863 (define-public emacs-window-layout
16864 (package
16865 (name "emacs-window-layout")
16866 (version "1.4")
16867 (home-page "https://github.com/kiwanami/emacs-window-layout")
16868 (source (origin
16869 (method git-fetch)
16870 (uri (git-reference
16871 (url home-page)
16872 (commit (string-append "v" version))))
16873 (sha256
16874 (base32
16875 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
16876 (file-name (git-file-name name version))))
16877 (build-system emacs-build-system)
16878 (synopsis "Simple window layout management framework for emacs")
16879 (description "A window-layout management library that can split a frame
16880 or a window into some windows according to a layout recipe.")
16881 (license license:gpl3+)))
16882
16883 (define-public emacs-e2wm
16884 (package
16885 (name "emacs-e2wm")
16886 (version "1.4")
16887 (home-page "https://github.com/kiwanami/emacs-window-manager")
16888 (source (origin
16889 (method git-fetch)
16890 (uri (git-reference
16891 (url home-page)
16892 (commit (string-append "v" version))))
16893 (sha256
16894 (base32
16895 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
16896 (file-name (git-file-name name version))))
16897 (build-system emacs-build-system)
16898 (propagated-inputs
16899 `(("emacs-window-layout" ,emacs-window-layout)))
16900 (synopsis "Equilibrium Emacs Window Manager")
16901 (description "E2WM is a window manager for Emacs. It enables to
16902 customize the place of pop-up window, how the windows are split, how the
16903 buffers are located in the windows, keybinds to manipulate windows and
16904 buffers, etc. It also has plug-ins to help your Emacs life.")
16905 (license license:gpl3+)))
16906
16907 (define-public emacs-ctable
16908 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
16909 (package
16910 (name "emacs-ctable")
16911 (version (git-version "0.1.2" "1" commit))
16912 (home-page "https://github.com/kiwanami/emacs-ctable")
16913 (source (origin
16914 (method git-fetch)
16915 (uri (git-reference
16916 (url home-page)
16917 (commit commit)))
16918 (sha256
16919 (base32
16920 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
16921 (file-name (git-file-name name version))))
16922 (build-system emacs-build-system)
16923 (synopsis "Table component for Emacs Lisp")
16924 (description "This program is a table component for Emacs Lisp. Other
16925 programs can use this table component for the application UI.")
16926 (license license:gpl3+))))
16927
16928 (define-public emacs-leetcode
16929 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
16930 (revision "1"))
16931 (package
16932 (name "emacs-leetcode")
16933 (version (git-version "0" "1" commit))
16934 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
16935 (source (origin
16936 (method git-fetch)
16937 (uri (git-reference
16938 (url "https://github.com/ginqi7/leetcode-emacs")
16939 (commit commit)))
16940 (sha256
16941 (base32
16942 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
16943 (file-name (git-file-name name version))))
16944 (build-system emacs-build-system)
16945 (propagated-inputs
16946 `(("emacs-names" ,emacs-names)
16947 ("emacs-ctable" ,emacs-ctable)))
16948 (synopsis "Solve and submit LeetCode problems from within Emacs")
16949 (description "This package provides an Emacs interface to LeetCode
16950 allowing users to log in and solve problems of their choice using Emacs.")
16951 (license license:unlicense))))
16952
16953 (define-public emacs-epc
16954 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
16955 (package
16956 (name "emacs-epc")
16957 (version (git-version "0.1.1" "1" commit))
16958 (home-page "https://github.com/kiwanami/emacs-epc")
16959 (source (origin
16960 (method git-fetch)
16961 (uri (git-reference
16962 (url home-page)
16963 (commit commit)))
16964 (sha256
16965 (base32
16966 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
16967 (file-name (git-file-name name version))))
16968 (build-system emacs-build-system)
16969 (propagated-inputs
16970 `(("emacs-deferred" ,emacs-deferred)
16971 ("emacs-ctable" ,emacs-ctable)))
16972 (synopsis "RPC stack for Emacs Lisp")
16973 (description "This program is an asynchronous RPC stack for Emacs.
16974 Using this RPC stack, Emacs can communicate with the peer process
16975 smoothly. Because the protocol employs S-expression encoding and consists of
16976 asynchronous communications, the RPC response is fairly good.")
16977 (license license:gpl3+))))
16978
16979 (define-public emacs-edbi
16980 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
16981 (package
16982 (name "emacs-edbi")
16983 (version (git-version "0.1.3" "1" commit))
16984 (home-page "https://github.com/kiwanami/emacs-edbi")
16985 (source (origin
16986 (method git-fetch)
16987 (uri (git-reference
16988 (url home-page)
16989 (commit commit)))
16990 (sha256
16991 (base32
16992 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
16993 (file-name (git-file-name name version))))
16994 (build-system emacs-build-system)
16995 (inputs
16996 `(("perl" ,perl)
16997 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
16998 ("perl-dbi" ,perl-dbi)
16999 ;; TODO: Adding support for perl-dbd-mysql and others would
17000 ;; dramatically increase the closure size. Make several packages?
17001 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
17002 (propagated-inputs
17003 `(("emacs-e2wm" ,emacs-e2wm)
17004 ("emacs-epc" ,emacs-epc)))
17005 (arguments
17006 `(#:include '("\\.el$" "\\.pl$")
17007 #:phases
17008 (modify-phases %standard-phases
17009 (add-after 'install 'patch-path
17010 (lambda* (#:key inputs outputs #:allow-other-keys)
17011 (let ((perl (assoc-ref inputs "perl"))
17012 (dir (string-append (assoc-ref outputs "out")
17013 "/share/emacs/site-lisp/guix.d/edbi-"
17014 ,version)))
17015 (substitute* (string-append dir "/edbi.el")
17016 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
17017 (chmod (string-append dir "/edbi-bridge.pl") #o555)
17018 (wrap-program (string-append dir "/edbi-bridge.pl")
17019 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
17020 #t))))))
17021 (synopsis "Database Interface for Emacs Lisp")
17022 (description "This program connects the database server through Perl's
17023 DBI, and provides DB-accessing API and the simple management UI.")
17024 (license license:gpl3+))))
17025
17026 (define-public emacs-edbi-sqlite
17027 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
17028 (package
17029 (name "emacs-edbi-sqlite")
17030 (version (git-version "0.1.1" "1" commit))
17031 (home-page "https://github.com/proofit404/edbi-sqlite")
17032 (source (origin
17033 (method git-fetch)
17034 (uri (git-reference
17035 (url home-page)
17036 (commit commit)))
17037 (sha256
17038 (base32
17039 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
17040 (file-name (git-file-name name version))))
17041 (build-system emacs-build-system)
17042 (propagated-inputs
17043 `(("emacs-edbi" ,emacs-edbi)))
17044 (synopsis "Open SQLite files in Emacs")
17045 (description "This package is a convenience wrapper for @command{edbi}
17046 to open SQLite databases.")
17047 (license license:gpl3+))))
17048
17049 (define-public emacs-nix-mode
17050 (package
17051 (name "emacs-nix-mode")
17052 (version "1.4.1")
17053 (source
17054 (origin
17055 (method git-fetch)
17056 (uri (git-reference
17057 (url "https://github.com/NixOS/nix-mode.git")
17058 (commit (string-append "v" version))))
17059 (file-name (git-file-name name version))
17060 (sha256
17061 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
17062 (build-system emacs-build-system)
17063 (inputs
17064 `(("emacs-company" ,emacs-company)
17065 ("emacs-json-mode" ,emacs-json-mode)
17066 ("emacs-mmm-mode" ,emacs-mmm-mode)))
17067 (home-page "https://github.com/NixOS/nix-mode")
17068 (synopsis "Emacs major mode for editing Nix expressions")
17069 (description "@code{nixos-mode} provides an Emacs major mode for editing
17070 Nix expressions. It supports syntax highlighting, indenting and refilling of
17071 comments.")
17072 (license license:lgpl2.1+)))
17073
17074 (define-public emacs-simple-mpc
17075 ;; There have been no releases.
17076 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
17077 (revision "1"))
17078 (package
17079 (name "emacs-simple-mpc")
17080 (version (git-version "0" revision commit))
17081 (source
17082 (origin
17083 (method git-fetch)
17084 (uri (git-reference
17085 (url "https://github.com/jorenvo/simple-mpc.git")
17086 (commit commit)))
17087 (file-name (git-file-name name version))
17088 (sha256
17089 (base32
17090 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
17091 (build-system emacs-build-system)
17092 (propagated-inputs `(("emacs-s" ,emacs-s)))
17093 (home-page "https://github.com/jorenvo/simple-mpc")
17094 (synopsis "Simple Emacs frontend to mpc")
17095 (description "This package provides an Emacs major mode which acts as a
17096 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
17097 (license license:gpl3+))))
17098
17099 (define-public emacs-mkmcc-gnuplot-mode
17100 (package
17101 (name "emacs-mkmcc-gnuplot-mode")
17102 (version "1.2.0")
17103 (source
17104 (origin
17105 (method git-fetch)
17106 (uri (git-reference
17107 (url "https://github.com/mkmcc/gnuplot-mode")
17108 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
17109 (file-name (git-file-name name version))
17110 (sha256
17111 (base32
17112 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
17113 (build-system emacs-build-system)
17114 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
17115 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
17116 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
17117 mode for editing gnuplot scripts. It provides syntax highlighting,
17118 indentation and a command to plot the file.")
17119 (license license:gpl3+)))
17120
17121 (define-public emacs-cmake-font-lock
17122 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
17123 (revision "1"))
17124 (package
17125 (name "emacs-cmake-font-lock")
17126 (version (git-version "0.1.5" revision commit))
17127 (source (origin
17128 (method git-fetch)
17129 (uri (git-reference
17130 (url "https://github.com/Lindydancer/cmake-font-lock.git")
17131 (commit commit)))
17132 (file-name (git-file-name name version))
17133 (sha256
17134 (base32
17135 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
17136 (build-system emacs-build-system)
17137 (native-inputs
17138 `(("emacs-faceup" ,emacs-faceup)))
17139 (arguments
17140 `(#:include (cons "^admin\\/" %default-include)))
17141 (home-page "https://github.com/Lindydancer/cmake-font-lock")
17142 (synopsis "Advanced type-aware syntax-highlighting for CMake")
17143 (description "This package highlights function arguments in CMake
17144 according to their use.")
17145 (license license:gpl3+))))
17146
17147 (define-public emacs-dtrt-indent
17148 (package
17149 (name "emacs-dtrt-indent")
17150 (version "0.8")
17151 (source (origin
17152 (method git-fetch)
17153 (uri (git-reference
17154 (url "https://github.com/jscheid/dtrt-indent")
17155 (commit version)))
17156 (file-name (git-file-name name version))
17157 (sha256
17158 (base32
17159 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
17160 (build-system emacs-build-system)
17161 (home-page "https://github.com/jscheid/dtrt-indent")
17162 (synopsis "Minor mode that guesses the indentation offset")
17163 (description "This package provides a minor mode that guesses the
17164 indentation offset originally used for creating source code files and
17165 transparently adjusts the corresponding settings in Emacs, making it more
17166 convenient to edit foreign files.")
17167 (license license:gpl2+)))
17168
17169 (define-public emacs-repo
17170 (package
17171 (name "emacs-repo")
17172 (version "0.1.3")
17173 (source (origin
17174 (method git-fetch)
17175 (uri (git-reference
17176 (url "https://github.com/canatella/repo-el")
17177 (commit version)))
17178 (file-name (git-file-name name version))
17179 (sha256
17180 (base32
17181 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
17182 (build-system emacs-build-system)
17183 (native-inputs
17184 `(("emacs-el-mock" ,emacs-el-mock)
17185 ("ert-runner" ,emacs-ert-runner)))
17186 (propagated-inputs
17187 `(("emacs-f" ,emacs-f)
17188 ("magit" ,emacs-magit)))
17189 (home-page "https://github.com/canatella/repo-el")
17190 (synopsis "Emacs interface for the Google Repo tool")
17191 (description "This package provides integration of the Google Repo tool
17192 with emacs. It displays the output of the @code{repo status} command in a
17193 buffer and launches Magit from the status buffer for the project at point.")
17194 (license license:gpl3+)))
17195
17196 (define-public emacs-alect-themes
17197 (package
17198 (name "emacs-alect-themes")
17199 (version "0.9")
17200 (source (origin
17201 (method git-fetch)
17202 (uri (git-reference
17203 (url "https://github.com/alezost/alect-themes")
17204 (commit (string-append "v" version))))
17205 (file-name (git-file-name name version))
17206 (sha256
17207 (base32
17208 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
17209 (build-system emacs-build-system)
17210 (home-page "https://github.com/alezost/alect-themes")
17211 (synopsis "Low contrast, light, dark and black color theme for Emacs")
17212 (description "@code{emacs-alect-themes} provides configurable light, dark
17213 and black color themes for Emacs. The themes are intended to be used with
17214 GUI.")
17215 (license license:gpl3+)))
17216
17217 (define-public emacs-google-c-style
17218 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
17219 (revision "0"))
17220 (package
17221 (name "emacs-google-c-style")
17222 (version (git-version "0.1" revision commit))
17223 (source (origin
17224 (method git-fetch)
17225 (uri (git-reference
17226 (url "https://github.com/google/styleguide")
17227 (commit commit)))
17228 (file-name (git-file-name name version))
17229 (sha256
17230 (base32
17231 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
17232 (build-system emacs-build-system)
17233 (home-page "https://github.com/google/styleguide")
17234 (synopsis "Emacs settings file for Google C/C++ style")
17235 (description "@code{emacs-google-c-style} provides an Emacs settings
17236 file for Google C and C++ style.")
17237 (license license:gpl1+))))
17238
17239 (define-public emacs-redshank
17240 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
17241 (revision "1"))
17242 (package
17243 (name "emacs-redshank")
17244 (version (git-version "0.1" revision commit))
17245 (source (origin
17246 (method git-fetch)
17247 (uri (git-reference
17248 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
17249 (commit commit)))
17250 (file-name (git-file-name name version))
17251 (sha256
17252 (base32
17253 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
17254 (build-system emacs-build-system)
17255 (propagated-inputs
17256 `(("emacs-paredit" ,emacs-paredit)))
17257 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
17258 (synopsis "Common Lisp Editing Extensions (for Emacs)")
17259 (description "Redshank is a collection of code-wrangling Emacs macros
17260 mostly geared towards Common Lisp, but some are useful for other Lisp
17261 dialects, too. Redshank's code transformations aim to be expression-based (as
17262 opposed to character-based).")
17263 (license license:gpl1+))))
17264
17265 (define-public emacs-disk-usage
17266 (package
17267 (name "emacs-disk-usage")
17268 (version "1.3.3")
17269 (source
17270 (origin
17271 (method git-fetch)
17272 (uri (git-reference
17273 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
17274 (commit version)))
17275 (file-name (git-file-name name version))
17276 (sha256
17277 (base32
17278 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
17279 (build-system emacs-build-system)
17280 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
17281 (synopsis "Sort and browse disk usage listings with Emacs")
17282 (description "Disk Usage is a file system analyzer: it offers a tabulated
17283 view of file listings sorted by size. Directory sizes are computed
17284 recursively. The results are cached for speed.")
17285 (license license:gpl3+)))
17286
17287 (define-public emacs-orgit
17288 (package
17289 (name "emacs-orgit")
17290 (version "1.5.3")
17291 (home-page "https://github.com/magit/orgit")
17292 (source (origin
17293 (method git-fetch)
17294 (uri (git-reference
17295 (url home-page)
17296 (commit (string-append "v" version))))
17297 (file-name (git-file-name name version))
17298 (sha256
17299 (base32
17300 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
17301 (build-system emacs-build-system)
17302 (propagated-inputs
17303 `(("emacs-dash" ,emacs-dash)
17304 ("emacs-magit" ,emacs-magit)))
17305 (synopsis "Support for Org links to Magit buffers")
17306 (description "This package defines several Org link types, which can be
17307 used to link to certain Magit buffers. Use the command
17308 @command{org-store-link} while such a buffer is current to store a link.
17309 Later you can insert it into an Org buffer using the command
17310 @code{org-insert-link}.")
17311 (license license:gpl3+)))
17312
17313 (define-public emacs-amx
17314 (package
17315 (name "emacs-amx")
17316 (version "3.2")
17317 (source (origin
17318 (method git-fetch)
17319 (uri (git-reference
17320 (url "https://github.com/DarwinAwardWinner/amx")
17321 (commit (string-append "v" version))))
17322 (file-name (git-file-name name version))
17323 (sha256
17324 (base32
17325 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
17326 (build-system emacs-build-system)
17327 (propagated-inputs `(("emacs-s" ,emacs-s)))
17328 (home-page "https://github.com/DarwinAwardWinner/amx")
17329 (synopsis "Alternative interface for M-x")
17330 (description "Amx is an alternative interface for M-x in Emacs. It
17331 provides several enhancements over the ordinary
17332 @code{execute-extended-command}, such as prioritizing your most-used commands
17333 in the completion list and showing keyboard shortcuts, and it supports several
17334 completion systems for selecting commands, such as ido and ivy.")
17335 (license license:gpl3+)))
17336
17337 (define-public emacs-lorem-ipsum
17338 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
17339 (package
17340 (name "emacs-lorem-ipsum")
17341 (version (git-version "0.2" "1" commit))
17342 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
17343 (source (origin
17344 (method git-fetch)
17345 (uri (git-reference
17346 (url home-page)
17347 (commit commit)))
17348 (file-name (git-file-name name version))
17349 (sha256
17350 (base32
17351 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
17352 (build-system emacs-build-system)
17353 (synopsis "Insert dummy pseudo Latin text in Emacs")
17354 (description "This package provides convenience functions to insert
17355 dummy Latin text into a buffer. This can be useful if you need to produce
17356 paragraphs or pages of text for testing purposes.")
17357 (license license:gpl3+))))
17358
17359 (define-public emacs-lisp-extra-font-lock
17360 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
17361 (package
17362 (name "emacs-lisp-extra-font-lock")
17363 (version (git-version "0.0.6" "1" commit))
17364 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
17365 (source (origin
17366 (method git-fetch)
17367 (uri (git-reference
17368 (url home-page)
17369 (commit commit)))
17370 (file-name (git-file-name name version))
17371 (sha256
17372 (base32
17373 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
17374 (build-system emacs-build-system)
17375 (synopsis "Highlight bound variables and quoted expressions in Emacs")
17376 (description "This package highlight the location where local variables
17377 is created (bound, for example, by let) as well as quoted and backquoted
17378 constant expressions.")
17379 (license license:gpl3+))))
17380
17381 (define-public emacs-docker-tramp
17382 (package
17383 (name "emacs-docker-tramp")
17384 (version "0.1")
17385 (source
17386 (origin
17387 (method git-fetch)
17388 (uri (git-reference
17389 (url "https://github.com/emacs-pe/docker-tramp.el")
17390 (commit (string-append "v" version))))
17391 (file-name (git-file-name name version))
17392 (sha256
17393 (base32
17394 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
17395 (build-system emacs-build-system)
17396 (home-page "https://github.com/emacs-pe/docker-tramp.el")
17397 (synopsis "TRAMP integration for docker containers")
17398 (description
17399 "This package provides a TRAMP method for Docker containers.")
17400 (license license:gpl3+)))
17401
17402 (define-public emacs-docker
17403 (package
17404 (name "emacs-docker")
17405 (version "1.3.0")
17406 (source (origin
17407 (method git-fetch)
17408 (uri (git-reference
17409 (url "https://github.com/Silex/docker.el")
17410 (commit version)))
17411 (file-name (git-file-name name version))
17412 (sha256
17413 (base32
17414 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
17415 (inputs
17416 `(("emacs-undercover" ,emacs-undercover)))
17417 (propagated-inputs
17418 `(("emacs-dash" ,emacs-dash)
17419 ("emacs-docker-tramp" ,emacs-docker-tramp)
17420 ("emacs-magit-popup" ,emacs-magit-popup)
17421 ("emacs-s" ,emacs-s)
17422 ("emacs-tablist" ,emacs-tablist)
17423 ("emacs-json-mode" ,emacs-json-mode)))
17424 (arguments
17425 `(#:phases
17426 (modify-phases %standard-phases
17427 (delete 'check)))) ;no tests
17428 (build-system emacs-build-system)
17429 (home-page "https://github.com/Silex/docker.el")
17430 (synopsis "Manage docker from Emacs")
17431 (description "This package provides an Emacs interface for Docker.")
17432 (license license:gpl3+)))
17433
17434 (define-public emacs-dockerfile-mode
17435 ;; Latest upstream release is too old.
17436 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
17437 (package
17438 (name "emacs-dockerfile-mode")
17439 (version (git-version "1.2" "2" commit))
17440 (source
17441 (origin
17442 (method git-fetch)
17443 (uri (git-reference
17444 (url "https://github.com/spotify/dockerfile-mode.git")
17445 (commit commit)))
17446 (file-name (git-file-name name version))
17447 (sha256
17448 (base32
17449 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
17450 (build-system emacs-build-system)
17451 (propagated-inputs
17452 `(("emacs-s" ,emacs-s)))
17453 (home-page "https://github.com/spotify/dockerfile-mode")
17454 (synopsis "Major mode for editing Dockerfile")
17455 (description
17456 "This package provides a major mode @code{dockerfile-mode} for use with
17457 the standard @code{Dockerfile} file format.")
17458 (license license:asl2.0))))
17459
17460 (define-public emacs-lsp-mode
17461 (package
17462 (name "emacs-lsp-mode")
17463 (version "6.1")
17464 (source (origin
17465 (method git-fetch)
17466 (uri (git-reference
17467 (url "https://github.com/emacs-lsp/lsp-mode.git")
17468 (commit version)))
17469 (file-name (git-file-name name version))
17470 (sha256
17471 (base32
17472 "0jn5slhv9zfs446a5966bfg9dq144g22v79wnkx9hxq7if78p652"))))
17473 (build-system emacs-build-system)
17474 (propagated-inputs
17475 `(("emacs-dash" ,emacs-dash)
17476 ("emacs-f" ,emacs-f)
17477 ("emacs-ht" ,emacs-ht)
17478 ("emacs-markdown-mode" ,emacs-markdown-mode)
17479 ("emacs-spinner" ,emacs-spinner)))
17480 (home-page "https://github.com/emacs-lsp/lsp-mode")
17481 (synopsis "Emacs client and library for the Language Server Protocol")
17482 (description "@code{LSP-mode} is a client and library implementation for
17483 the Language Server Protocol. This mode aims to provide an IDE-like
17484 experience by providing optional integration with other popular Emacs packages
17485 like @code{company}, @code{flycheck}, and @code{projectile}.")
17486 (license license:gpl3+)))
17487
17488 (define-public emacs-lsp-ui
17489 (package
17490 (name "emacs-lsp-ui")
17491 (version "6.0")
17492 (source (origin
17493 (method git-fetch)
17494 (uri (git-reference
17495 (url "https://github.com/emacs-lsp/lsp-ui.git")
17496 (commit version)))
17497 (file-name (git-file-name name version))
17498 (sha256
17499 (base32
17500 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
17501 (build-system emacs-build-system)
17502 (propagated-inputs
17503 `(("emacs-dash" ,emacs-dash)
17504 ("emacs-lsp-mode" ,emacs-lsp-mode)
17505 ("emacs-markdown-mode" ,emacs-markdown-mode)
17506 ("emacs-flycheck" ,emacs-flycheck)))
17507 (home-page "https://github.com/emacs-lsp/lsp-ui")
17508 (synopsis "User interface extensions for @code{lsp-mode}")
17509 (description
17510 "@code{LSP-ui} contains several enhancements and integrations for
17511 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
17512 and code peeking.")
17513 (license license:gpl3+)))
17514
17515 (define-public emacs-lsp-ivy
17516 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
17517 (revision "2"))
17518 (package
17519 (name "emacs-lsp-ivy")
17520 (version (git-version "0.1" revision commit))
17521 (source (origin
17522 (method git-fetch)
17523 (uri (git-reference
17524 (url "https://github.com/emacs-lsp/lsp-ivy.git")
17525 (commit commit)))
17526 (file-name (git-file-name name version))
17527 (sha256
17528 (base32
17529 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
17530 (build-system emacs-build-system)
17531 (propagated-inputs
17532 `(("emacs-ivy" ,emacs-ivy)
17533 ("emacs-lsp-mode" ,emacs-lsp-mode)
17534 ("emacs-dash" ,emacs-dash)))
17535 (home-page "https://github.com/emacs-lsp/lsp-ivy")
17536 (synopsis "Provide LSP-enhanced completion for symbols")
17537 (description
17538 "This package enhances @code{ivy} with completion for symbols from
17539 workspaces with a LSP-compliant server running.")
17540 (license license:gpl3+))))
17541
17542 (define-public emacs-helm-lsp
17543 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
17544 (revision "1"))
17545 (package
17546 (name "emacs-helm-lsp")
17547 (version (git-version "0.1" revision commit))
17548 (source (origin
17549 (method git-fetch)
17550 (uri (git-reference
17551 (url "https://github.com/emacs-lsp/helm-lsp.git")
17552 (commit commit)))
17553 (file-name (git-file-name name version))
17554 (sha256
17555 (base32
17556 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
17557 (build-system emacs-build-system)
17558 (propagated-inputs
17559 `(("emacs-helm" ,emacs-helm)
17560 ("emacs-lsp-mode" ,emacs-lsp-mode)
17561 ("emacs-dash" ,emacs-dash)))
17562 (home-page "https://github.com/emacs-lsp/helm-lsp")
17563 (synopsis "Provide LSP-enhanced completion for symbols")
17564 (description
17565 "This package enhances @code{helm} with completion for symbols from
17566 workspaces with a LSP-compliant server running.")
17567 (license license:gpl3+))))
17568
17569 (define-public emacs-helm-notmuch
17570 (package
17571 (name "emacs-helm-notmuch")
17572 (version "1.2")
17573 (home-page "https://github.com/emacs-helm/helm-notmuch/")
17574 (source (origin
17575 (method git-fetch)
17576 (uri (git-reference
17577 (url home-page)
17578 (commit version)))
17579 (file-name (git-file-name name version))
17580 (sha256
17581 (base32
17582 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
17583 (build-system emacs-build-system)
17584 (propagated-inputs
17585 `(("emacs-helm" ,emacs-helm)
17586 ("notmuch" ,notmuch)))
17587 (synopsis "Search emails with Emacs Notmuch and Helm")
17588 (description
17589 "This package can be used to search emails in Emacs, searching result
17590 displays as you type thanks to Helm, though @command{notmuch-search} does the
17591 real search.")
17592 (license license:gpl3+)))
17593
17594 (define-public emacs-elmacro
17595 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
17596 (package
17597 (name "emacs-elmacro")
17598 (version (git-version "1.1.0" "1" commit))
17599 (home-page "https://github.com/Silex/elmacro")
17600 (source (origin
17601 (method git-fetch)
17602 (uri (git-reference
17603 (url home-page)
17604 (commit commit)))
17605 (file-name (git-file-name name version))
17606 (sha256
17607 (base32
17608 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
17609 (build-system emacs-build-system)
17610 (propagated-inputs
17611 `(("emacs-s" ,emacs-s)
17612 ("emacs-dash" ,emacs-dash)))
17613 (synopsis "Convert keyboard macros to Emacs Lisp")
17614 (description
17615 "This package displays keyboard macros or latest interactive commands
17616 as Emacs Lisp.")
17617 (license license:gpl3+))))
17618
17619 (define-public emacs-transient
17620 ;; 0.1.0 depends on lv.el but not later versions.
17621 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
17622 (package
17623 (name "emacs-transient")
17624 (version (git-version "0.1.0" "1" commit))
17625 (source (origin
17626 (method git-fetch)
17627 (uri (git-reference
17628 (url "https://github.com/magit/transient")
17629 (commit commit)))
17630 (file-name (git-file-name name version))
17631 (sha256
17632 (base32
17633 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
17634 (build-system gnu-build-system)
17635 (native-inputs `(("texinfo" ,texinfo)
17636 ("emacs" ,emacs-minimal)))
17637 (propagated-inputs
17638 `(("dash" ,emacs-dash)))
17639 (arguments
17640 `(#:modules ((guix build gnu-build-system)
17641 (guix build utils)
17642 (srfi srfi-26)
17643 (guix build emacs-utils))
17644 #:imported-modules (,@%gnu-build-system-modules
17645 (guix build emacs-utils))
17646 #:tests? #f ; tests are not included in the release
17647 #:make-flags (list "lisp" "info"
17648 (string-append "LOAD_PATH=-L . -L "
17649 (assoc-ref %build-inputs "dash")
17650 "/share/emacs/site-lisp/guix.d/dash-"
17651 ,(package-version emacs-dash)))
17652 #:phases
17653 (modify-phases %standard-phases
17654 (delete 'configure)
17655 (replace 'install
17656 (lambda* (#:key inputs outputs #:allow-other-keys)
17657 (let* ((out (assoc-ref outputs "out"))
17658 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
17659 "transient" "-" ,version))
17660 (info (string-append out "/share/info")))
17661 (for-each (cut install-file <> lisp)
17662 (find-files "." "\\.elc*$"))
17663 (install-file "docs/transient.info" (string-append info)))
17664 #t)))))
17665 (home-page "https://magit.vc/manual/transient")
17666 (synopsis "Transient commands in Emacs")
17667 (description
17668 "Taking inspiration from prefix keys and prefix arguments in Emacs,
17669 Transient implements a similar abstraction involving a prefix command, infix
17670 arguments and suffix commands. We could call this abstraction a \"transient
17671 command\", but because it always involves at least two commands (a prefix and
17672 a suffix) we prefer to call it just a \"transient\".")
17673 (license license:gpl3+))))
17674
17675 (define-public emacs-forge
17676 (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb"))
17677 (package
17678 (name "emacs-forge")
17679 (version (git-version "0.1.0" "2" commit))
17680 (source
17681 (origin
17682 (method git-fetch)
17683 (uri (git-reference
17684 (url "https://github.com/magit/forge.git")
17685 (commit commit)))
17686 (file-name (git-file-name name version))
17687 (sha256
17688 (base32
17689 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
17690 (build-system gnu-build-system)
17691 (native-inputs
17692 `(("texinfo" ,texinfo)
17693 ("emacs" ,emacs-minimal)))
17694 (propagated-inputs
17695 `(("emacs-closql" ,emacs-closql)
17696 ("emacs-dash" ,emacs-dash)
17697 ("emacs-emacsql-sqlite" ,emacs-emacsql)
17698 ("emacs-ghub" ,emacs-ghub)
17699 ("emacs-let-alist" ,emacs-let-alist)
17700 ("emacs-magit" ,emacs-magit)
17701 ("emacs-markdown-mode" ,emacs-markdown-mode)
17702 ("emacs-transient" ,emacs-transient)))
17703 (arguments
17704 `(#:tests? #f ;no tests
17705 #:modules ((srfi srfi-26)
17706 (guix build gnu-build-system)
17707 ((guix build emacs-build-system) #:prefix emacs:)
17708 (guix build utils)
17709 (guix build emacs-utils))
17710 #:imported-modules (,@%gnu-build-system-modules
17711 (guix build emacs-build-system)
17712 (guix build emacs-utils))
17713 #:phases
17714 (modify-phases %standard-phases
17715 (delete 'configure)
17716 (delete 'install)
17717 (add-after 'unpack 'delete-doc-targets
17718 (lambda _
17719 (substitute* "./Makefile"
17720 (("lisp docs") "lisp"))))
17721 (add-after 'delete-doc-targets 'emacs-set-emacs-load-path
17722 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
17723 (add-after 'emacs-set-emacs-load-path 'chdir-lisp
17724 (lambda _
17725 (chdir "lisp")))
17726 (add-after 'chdir-lisp 'emacs-install
17727 (assoc-ref emacs:%standard-phases 'install))
17728 (add-after 'emacs-install 'emacs-make-autoloads
17729 (assoc-ref emacs:%standard-phases 'make-autoloads))
17730 (add-after 'build 'install-elc
17731 (lambda* (#:key outputs #:allow-other-keys)
17732 (let* ((out (assoc-ref outputs "out"))
17733 (el-dir (string-append
17734 out "/share/emacs/site-lisp/guix.d/forge-"
17735 ,version)))
17736 (for-each (cut install-file <> el-dir)
17737 (find-files "." "\\.elc"))
17738 #t)))
17739 (add-after 'install-elc 'install-doc
17740 (lambda* (#:key outputs #:allow-other-keys)
17741 (let* ((out (assoc-ref outputs "out"))
17742 (info (string-append out "/share/info")))
17743 (with-directory-excursion "../docs"
17744 (invoke "makeinfo" "forge.texi")
17745 (install-file "forge.info" info)
17746 #t)))))))
17747 (home-page "https://github.com/magit/ghub/")
17748 (synopsis "Access Git forges from Magit")
17749 (description
17750 "Work with Git forges, such as Github and Gitlab, from the comfort of
17751 Magit and the rest of Emacs.")
17752 (license license:gpl3+))))
17753
17754 (define-public emacs-matcha
17755 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
17756 (package
17757 (name "emacs-matcha")
17758 (version (git-version "0.0.1" "1" commit)) ;no upstream release
17759 (source (origin
17760 (method git-fetch)
17761 (uri (git-reference
17762 (url "https://github.com/jojojames/matcha.git")
17763 (commit commit)))
17764 (file-name (git-file-name name version))
17765 (sha256
17766 (base32
17767 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
17768 (propagated-inputs
17769 `(("emacs-hydra" ,emacs-hydra)
17770 ("emacs-transient" ,emacs-transient)))
17771 (build-system emacs-build-system)
17772 (home-page "https://github.com/jojojames/matcha/")
17773 (synopsis "Collection of hydras with a generic interface to launch them")
17774 (description "Matcha provides a collection of transients for various
17775 packages with a consistent way to use them.")
17776 (license license:gpl3+))))
17777
17778 (define-public emacs-undo-propose-el
17779 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
17780 (revision "3"))
17781 (package
17782 (name "emacs-undo-propose-el")
17783 (version (git-version "3.0.0" revision commit))
17784 (source
17785 (origin
17786 (method git-fetch)
17787 (uri (git-reference
17788 (url "https://github.com/jackkamm/undo-propose-el")
17789 (commit commit)))
17790 (file-name (git-file-name name version))
17791 (sha256
17792 (base32
17793 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
17794 (build-system emacs-build-system)
17795 (arguments
17796 `(#:tests? #t
17797 #:test-command '("make" "test")))
17798 (home-page "https://github.com/jackkamm/undo-propose-el")
17799 (synopsis "Simple and safe navigation of @code{undo} history")
17800 (description "This package permits navigation of @code{undo} history in a
17801 temporary buffer, which is read-only save for @code{undo} commands, and
17802 subsequent committal of a chain of @code{undo} commands as a single edit in
17803 the @code{undo} history.")
17804 (license license:gpl3+))))
17805
17806 (define-public emacs-elisp-docstring-mode
17807 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
17808 (version "0.0.1")
17809 (revision "1"))
17810 (package
17811 (name "emacs-elisp-docstring-mode")
17812 (version (git-version version revision commit))
17813 (source
17814 (origin
17815 (method git-fetch)
17816 (uri (git-reference
17817 (url "https://github.com/Fuco1/elisp-docstring-mode")
17818 (commit commit)))
17819 (file-name (git-file-name name version))
17820 (sha256
17821 (base32
17822 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
17823 (build-system emacs-build-system)
17824 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
17825 (synopsis "Major mode for editing Emacs Lisp docstrings")
17826 (description "This package provides font lock and automatic escaping and
17827 unescaping of quotes.")
17828 (license license:gpl3+))))
17829
17830 (define-public emacs-vimrc-mode
17831 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
17832 (version "0.3.1")
17833 (revision "1"))
17834 (package
17835 (name "emacs-vimrc-mode")
17836 (version (git-version version revision commit))
17837 (source
17838 (origin
17839 (method git-fetch)
17840 (uri (git-reference
17841 (url "https://github.com/mcandre/vimrc-mode")
17842 (commit commit)))
17843 (file-name (git-file-name name version))
17844 (sha256
17845 (base32
17846 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
17847 (build-system emacs-build-system)
17848 (home-page "https://github.com/mcandre/vimrc-mode")
17849 (synopsis "Major mode for Vimscript")
17850 (description "This package provides font lock and @code{beginning-} and
17851 @code{end-of-defun} functions for Vimscript files.")
17852 (license license:gpl3+))))
17853
17854 (define-public emacs-flycheck-haskell
17855 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
17856 (revision "2"))
17857 (package
17858 (name "emacs-flycheck-haskell")
17859 (version (git-version "0.8" revision commit))
17860 (source
17861 (origin
17862 (method git-fetch)
17863 (uri (git-reference
17864 (url "https://github.com/flycheck/flycheck-haskell")
17865 (commit commit)))
17866 (file-name (git-file-name name version))
17867 (sha256
17868 (base32
17869 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
17870 (build-system emacs-build-system)
17871 (propagated-inputs
17872 `(("emacs-dash" ,emacs-dash)
17873 ("emacs-seq" ,emacs-seq)
17874 ("emacs-flycheck" ,emacs-flycheck)
17875 ("emacs-haskell-mode" ,emacs-haskell-mode)
17876 ("emacs-let-alist" ,emacs-let-alist)))
17877 (arguments
17878 `(#:include '("\\.el$" "\\.hs$")))
17879 (home-page "https://github.com/flycheck/flycheck-haskell")
17880 (synopsis "Flycheck for Haskell")
17881 (description "This package configures syntax-checking for Haskell
17882 buffers.")
17883 (license license:gpl3+))))
17884
17885 (define-public emacs-js2-refactor-el
17886 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
17887 (revision "2"))
17888 (package
17889 (name "emacs-js2-refactor-el")
17890 (version (git-version "0.9.0" revision commit))
17891 (source
17892 (origin
17893 (method git-fetch)
17894 (uri (git-reference
17895 (url "https://github.com/magnars/js2-refactor.el")
17896 (commit commit)))
17897 (file-name (git-file-name name version))
17898 (sha256
17899 (base32
17900 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
17901 (build-system emacs-build-system)
17902 (propagated-inputs
17903 `(("emacs-dash" ,emacs-dash)
17904 ("emacs-s" ,emacs-s)
17905 ("emacs-js2-mode" ,emacs-js2-mode)
17906 ("emacs-yasnippet" ,emacs-yasnippet)
17907 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
17908 (native-inputs
17909 `(("emacs-buttercup" ,emacs-buttercup)
17910 ("emacs-espuds" ,emacs-espuds)))
17911 (home-page "https://github.com/magnars/js2-refactor.el")
17912 (synopsis "JavaScript refactoring in Emacs")
17913 (description "This package provides various refactoring functions for
17914 JavaScript.")
17915 (license license:gpl3+))))
17916
17917 (define-public emacs-prettier
17918 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
17919 (version "0.1.0")
17920 (revision "1"))
17921 (package
17922 (name "emacs-prettier")
17923 (version (git-version version revision commit))
17924 (source
17925 (origin
17926 (method git-fetch)
17927 (uri (git-reference
17928 (url "https://github.com/prettier/prettier-emacs")
17929 (commit commit)))
17930 (file-name (git-file-name name version))
17931 (sha256
17932 (base32
17933 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
17934 (build-system emacs-build-system)
17935 (home-page "https://github.com/prettier/prettier-emacs")
17936 (synopsis "Automatic formatting of JavaScript code")
17937 (description "This package integrates Prettier with Emacs, and
17938 provides a minor mode that autoformats the buffer upon saving.")
17939 (license license:expat))))
17940
17941 (define-public emacs-fish-mode
17942 (package
17943 (name "emacs-fish-mode")
17944 (version "0.1.4")
17945 (source
17946 (origin
17947 (method git-fetch)
17948 (uri (git-reference
17949 (url "https://github.com/wwwjfy/emacs-fish")
17950 (commit version)))
17951 (file-name (git-file-name name version))
17952 (sha256
17953 (base32
17954 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
17955 (build-system emacs-build-system)
17956 (home-page "https://github.com/wwwjfy/emacs-fish")
17957 (synopsis "Major mode for Fish shell scripts")
17958 (description "This package provides syntax highlighting and indentation
17959 functions for Fish shell scripts.")
17960 (license license:gpl3+)))
17961
17962 (define-public emacs-eshell-up
17963 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
17964 (version "0.0.3")
17965 (revision "12"))
17966 (package
17967 (name "emacs-eshell-up")
17968 (version (git-version version revision commit))
17969 (source
17970 (origin
17971 (method git-fetch)
17972 (uri (git-reference
17973 (url "https://github.com/peterwvj/eshell-up")
17974 (commit commit)))
17975 (file-name (git-file-name name version))
17976 (sha256
17977 (base32
17978 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
17979 (build-system emacs-build-system)
17980 (home-page "https://github.com/peterwvj/eshell-up")
17981 (synopsis "Quickly go to a parent directory in @code{Eshell}")
17982 (description "This package provides quick navigation to a specific
17983 parent directory using @code{Eshell}.")
17984 (license license:gpl3+))))
17985
17986 (define-public emacs-tco-el
17987 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
17988 (revision "1"))
17989 (package
17990 (name "emacs-tco-el")
17991 (version (git-version "0.3" revision commit))
17992 (source
17993 (origin
17994 (method git-fetch)
17995 (uri (git-reference
17996 (url "https://github.com/Wilfred/tco.el")
17997 (commit commit)))
17998 (file-name (git-file-name name version))
17999 (sha256
18000 (base32
18001 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
18002 (build-system emacs-build-system)
18003 (propagated-inputs
18004 `(("emacs-dash" ,emacs-dash)))
18005 (native-inputs
18006 `(("emacs-ert-runner" ,emacs-ert-runner)
18007 ("emacs-undercover" ,emacs-undercover)))
18008 (arguments
18009 `(#:tests? #t
18010 #:test-command '("ert-runner")))
18011 (home-page "https://github.com/Wilfred/tco.el")
18012 (synopsis "Tail-call optimization for Emacs Lisp")
18013 (description "This package provides tail-call optimization for Emacs
18014 Lisp functions that call themselves in tail position.")
18015 (license license:gpl3+))))
18016
18017 (define-public emacs-equake
18018 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
18019 (revision "2"))
18020 (package
18021 (name "emacs-equake")
18022 (version (git-version "0.85" revision commit))
18023 (source
18024 (origin
18025 (method git-fetch)
18026 (uri (git-reference
18027 (url "https://gitlab.com/emacsomancer/equake/")
18028 (commit commit)))
18029 (file-name (git-file-name name version))
18030 (sha256
18031 (base32
18032 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
18033 (build-system emacs-build-system)
18034 (propagated-inputs
18035 `(("emacs-dash" ,emacs-dash)
18036 ("emacs-tco-el" ,emacs-tco-el)))
18037 (home-page "https://gitlab.com/emacsomancer/equake/")
18038 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
18039 (description "This package provides a Quake-style drop-down console
18040 compatible with Emacs' shell modes.")
18041 (license license:gpl3+))))
18042
18043 (define-public emacs-vdiff
18044 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
18045 (revision "1"))
18046 (package
18047 (name "emacs-vdiff")
18048 (version (git-version "0.2.3" revision commit))
18049 (source
18050 (origin
18051 (method git-fetch)
18052 (uri (git-reference
18053 (url "https://github.com/justbur/emacs-vdiff.git")
18054 (commit commit)))
18055 (file-name (git-file-name name version))
18056 (sha256
18057 (base32
18058 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
18059 (build-system emacs-build-system)
18060 (propagated-inputs
18061 `(("emacs-hydra" ,emacs-hydra)))
18062 (arguments
18063 `(#:tests? #t
18064 #:test-command '("emacs" "-Q" "-batch" "-L" "."
18065 "-l" "vdiff-test.el"
18066 "-f" "ert-run-tests-batch-and-exit")))
18067 (home-page "https://github.com/justbur/emacs-vdiff/")
18068 (synopsis "Frontend for diffing based on vimdiff")
18069 (description "This package permits comparisons of two or three buffers
18070 based on diff output.")
18071 (license license:gpl3+))))
18072
18073 (define-public emacs-vdiff-magit
18074 ;; Need to use a more recent commit than the latest release version because
18075 ;; of Magit and Transient
18076 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
18077 (version "0.3.2")
18078 (revision "8"))
18079 (package
18080 (name "emacs-vdiff-magit")
18081 (version (git-version version revision commit))
18082 (source
18083 (origin
18084 (method git-fetch)
18085 (uri (git-reference
18086 (url "https://github.com/justbur/emacs-vdiff-magit/")
18087 (commit commit)))
18088 (file-name (git-file-name name version))
18089 (sha256
18090 (base32
18091 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
18092 (build-system emacs-build-system)
18093 (propagated-inputs
18094 `(("emacs-vdiff" ,emacs-vdiff)
18095 ("emacs-magit" ,emacs-magit)
18096 ("emacs-transient" ,emacs-transient)))
18097 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
18098 (synopsis "Frontend for diffing based on vimdiff")
18099 (description "This package permits comparisons of two or three buffers
18100 based on diff output.")
18101 (license license:gpl3+))))
18102
18103 (define-public emacs-all-the-icons-dired
18104 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
18105 (version "1.0")
18106 (revision "1"))
18107 (package
18108 (name "emacs-all-the-icons-dired")
18109 (version (git-version version revision commit))
18110 (source
18111 (origin
18112 (method git-fetch)
18113 (uri (git-reference
18114 (url "https://github.com/jtbm37/all-the-icons-dired/")
18115 (commit commit)))
18116 (file-name (git-file-name name version))
18117 (sha256
18118 (base32
18119 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
18120 (build-system emacs-build-system)
18121 (propagated-inputs
18122 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
18123 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
18124 (synopsis "Show icons for each file in @code{dired-mode}")
18125 (description "This package allows icons from @file{all-the-icons.el} to
18126 be used in @code{dired-mode}.")
18127 (license license:gpl3+))))
18128
18129 (define-public emacs-exwm-edit
18130 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
18131 (version "0.0.1")
18132 (revision "1"))
18133 (package
18134 (name "emacs-exwm-edit")
18135 (version (git-version version revision commit))
18136 (source
18137 (origin
18138 (method git-fetch)
18139 (uri (git-reference
18140 (url "https://github.com/agzam/exwm-edit/")
18141 (commit commit)))
18142 (file-name (git-file-name name version))
18143 (sha256
18144 (base32
18145 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
18146 (build-system emacs-build-system)
18147 (propagated-inputs
18148 `(("emacs-exwm" ,emacs-exwm)))
18149 (home-page "https://github.com/agzam/exwm-edit/")
18150 (synopsis "Open temp buffers for editing text from EXWM buffers")
18151 (description "This package facilitates editing text from EXWM buffers by
18152 generating a temp buffer in which any useful Emacs utilities and modes can be
18153 invoked.")
18154 (license license:gpl3+))))
18155
18156 (define-public emacs-ert-async
18157 (package
18158 (name "emacs-ert-async")
18159 (version "0.1.2")
18160 (source
18161 (origin
18162 (method git-fetch)
18163 (uri (git-reference
18164 (url "https://github.com/rejeep/ert-async.el")
18165 (commit (string-append "v" version))))
18166 (file-name (git-file-name name version))
18167 (sha256
18168 (base32
18169 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
18170 (build-system emacs-build-system)
18171 (home-page "https://github.com/rejeep/ert-async.el")
18172 (synopsis "Async support for ERT")
18173 (description "This package allows ERT to work with asynchronous tests.")
18174 (license license:gpl3+)))
18175
18176 (define-public emacs-prodigy-el
18177 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
18178 (revision "2"))
18179 (package
18180 (name "emacs-prodigy-el")
18181 (version (git-version "0.7.0" revision commit))
18182 (source
18183 (origin
18184 (method git-fetch)
18185 (uri (git-reference
18186 (url "https://github.com/rejeep/prodigy.el")
18187 (commit commit)))
18188 (file-name (git-file-name name version))
18189 (sha256
18190 (base32
18191 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
18192 (build-system emacs-build-system)
18193 (propagated-inputs
18194 `(("emacs-dash" ,emacs-dash)
18195 ("emacs-s" ,emacs-s)
18196 ("emacs-f" ,emacs-f)))
18197 (native-inputs
18198 `(("emacs-el-mock" ,emacs-el-mock)
18199 ("emacs-ert-async" ,emacs-ert-async)))
18200 (home-page "https://github.com/rejeep/prodigy.el")
18201 (synopsis "Manage external services from within Emacs")
18202 (description "This package provides a GUI for defining and monitoring services.")
18203 (license license:gpl3+))))
18204
18205 (define-public emacs-web-server
18206 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
18207 (revision "1"))
18208 (package
18209 (name "emacs-web-server")
18210 (version (git-version "0.1.0" revision commit))
18211 (source
18212 (origin
18213 (method git-fetch)
18214 (uri (git-reference
18215 (url "https://github.com/eschulte/emacs-web-server/")
18216 (commit commit)))
18217 (file-name (git-file-name name version))
18218 (sha256
18219 (base32
18220 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
18221 (build-system emacs-build-system)
18222 (native-inputs
18223 `(("curl" ,curl)))
18224 (arguments
18225 `(#:phases
18226 (modify-phases %standard-phases
18227 (add-after 'unpack 'set-shell
18228 ;; Setting the SHELL environment variable is required for the tests
18229 ;; to find sh.
18230 (lambda _
18231 (setenv "SHELL" (which "sh"))
18232 #t)))
18233 #:tests? #t
18234 #:test-command '("make" "check")))
18235 (home-page "https://github.com/eschulte/emacs-web-server/")
18236 (synopsis "Web server with handlers in Emacs Lisp")
18237 (description "This package supports HTTP GET and POST requests with
18238 url-encoded parameters, as well as web sockets.")
18239 (license license:gpl3+))))
18240
18241 (define-public emacs-markdown-preview-mode
18242 (package
18243 (name "emacs-markdown-preview-mode")
18244 (version "0.9.2")
18245 (source
18246 (origin
18247 (method git-fetch)
18248 (uri (git-reference
18249 (url "https://github.com/ancane/markdown-preview-mode")
18250 (commit (string-append "v" version))))
18251 (file-name (git-file-name name version))
18252 (sha256
18253 (base32
18254 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
18255 (build-system emacs-build-system)
18256 (propagated-inputs
18257 `(("emacs-markdown-mode" ,emacs-markdown-mode)
18258 ("emacs-websocket" ,emacs-websocket)
18259 ("emacs-web-server" ,emacs-web-server)))
18260 (arguments '(#:include '("\\.el$" "\\.html$")))
18261 (home-page "https://github.com/ancane/markdown-preview-mode")
18262 (synopsis "Preview Markdown files")
18263 (description "This package provides a minor mode for preview of Markdown
18264 files, and sends rendered Markdown to a web browser.")
18265 (license license:gpl3+)))
18266
18267 (define-public emacs-dotenv-mode
18268 (package
18269 (name "emacs-dotenv-mode")
18270 (version "0.2.4")
18271 (source
18272 (origin
18273 (method git-fetch)
18274 (uri (git-reference
18275 (url "https://github.com/preetpalS/emacs-dotenv-mode")
18276 (commit (string-append "v" version))))
18277 (file-name (git-file-name name version))
18278 (sha256
18279 (base32
18280 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
18281 (build-system emacs-build-system)
18282 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
18283 (synopsis "Major mode for @file{.env} files")
18284 (description "This package provides syntax highlighting for @file{.env}
18285 files.")
18286 (license license:gpl3+)))
18287
18288 (define-public emacs-add-node-modules-path
18289 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
18290 (version "1.2.0")
18291 (revision "10"))
18292 (package
18293 (name "emacs-add-node-modules-path")
18294 (version (git-version version revision commit))
18295 (source
18296 (origin
18297 (method git-fetch)
18298 (uri (git-reference
18299 (url "https://github.com/codesuki/add-node-modules-path")
18300 (commit commit)))
18301 (file-name (git-file-name name version))
18302 (sha256
18303 (base32
18304 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
18305 (build-system emacs-build-system)
18306 (home-page "https://github.com/codesuki/add-node-modules-path")
18307 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
18308 (description "This package searches the parent directories of the
18309 current file for the project's @file{node_modules/.bin/} directory, allowing
18310 Emacs to find project-specific installations of packages.")
18311 (license license:expat))))
18312
18313 (define-public emacs-flow-minor-mode
18314 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
18315 (version "0.3")
18316 (revision "4"))
18317 (package
18318 (name "emacs-flow-minor-mode")
18319 (version (git-version version revision commit))
18320 (source
18321 (origin
18322 (method git-fetch)
18323 (uri (git-reference
18324 (url "https://github.com/an-sh/flow-minor-mode")
18325 (commit commit)))
18326 (file-name (git-file-name name version))
18327 (sha256
18328 (base32
18329 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
18330 (build-system emacs-build-system)
18331 (home-page "https://github.com/an-sh/flow-minor-mode")
18332 (synopsis "Minor mode for JavaScript Flow files")
18333 (description "This package integrates Flow with Emacs, allowing for
18334 definition-jumping and type-checking on demand.")
18335 (license license:bsd-3))))
18336
18337 (define-public emacs-rjsx-mode
18338 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
18339 (revision "2"))
18340 (package
18341 (name "emacs-rjsx-mode")
18342 (version (git-version "0.4" revision commit))
18343 (source
18344 (origin
18345 (method git-fetch)
18346 (uri (git-reference
18347 (url "https://github.com/felipeochoa/rjsx-mode")
18348 (commit commit)))
18349 (file-name (git-file-name name version))
18350 (sha256
18351 (base32
18352 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
18353 (build-system emacs-build-system)
18354 (propagated-inputs
18355 `(("emacs-js2-mode" ,emacs-js2-mode)))
18356 (arguments
18357 `(#:tests? #t
18358 #:test-command '("make" "test")))
18359 (home-page "https://github.com/felipeochoa/rjsx-mode")
18360 (synopsis "Major mode for JSX files")
18361 (description "This package extends the parser of @code{js2-mode} to
18362 support JSX syntax.")
18363 (license license:expat))))
18364
18365 (define-public emacs-origami-el
18366 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
18367 (version "1.0")
18368 (revision "1"))
18369 (package
18370 (name "emacs-origami-el")
18371 (version (git-version version revision commit))
18372 (source
18373 (origin
18374 (method git-fetch)
18375 (uri (git-reference
18376 (url "https://github.com/gregsexton/origami.el")
18377 (commit commit)))
18378 (file-name (git-file-name name version))
18379 (sha256
18380 (base32
18381 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
18382 (build-system emacs-build-system)
18383 (propagated-inputs
18384 `(("emacs-dash" ,emacs-dash)
18385 ("emacs-s" ,emacs-s)))
18386 (home-page "https://github.com/gregsexton/origami.el")
18387 (synopsis "Flexible text-folding")
18388 (description "This package provides a minor mode for collapsing and
18389 expanding regions of text without modifying the actual contents.")
18390 (license license:expat))))
18391
18392 (define-public emacs-peep-dired
18393 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
18394 (version "0")
18395 (revision "1"))
18396 (package
18397 (name "emacs-peep-dired")
18398 (version (git-version version revision commit))
18399 (source
18400 (origin
18401 (method git-fetch)
18402 (uri (git-reference
18403 (url "https://github.com/asok/peep-dired")
18404 (commit commit)))
18405 (file-name (git-file-name name version))
18406 (sha256
18407 (base32
18408 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
18409 (build-system emacs-build-system)
18410 (home-page "https://github.com/asok/peep-dired")
18411 (synopsis "Preview files in another window")
18412 (description "This package provides a minor mode that allows files to be
18413 previewed by scrolling up and down within a @code{dired} buffer.")
18414 (license license:gpl3+))))
18415
18416 (define-public emacs-counsel-etags
18417 (package
18418 (name "emacs-counsel-etags")
18419 (version "1.8.9")
18420 (source
18421 (origin
18422 (method git-fetch)
18423 (uri (git-reference
18424 (url "https://github.com/redguardtoo/counsel-etags")
18425 (commit version)))
18426 (file-name (git-file-name name version))
18427 (sha256
18428 (base32
18429 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
18430 (build-system emacs-build-system)
18431 (propagated-inputs
18432 `(("emacs-ivy" ,emacs-ivy)))
18433 (arguments
18434 `(#:tests? #t
18435 #:test-command '("make" "test")))
18436 (home-page "https://github.com/redguardtoo/counsel-etags")
18437 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
18438 (description "This package uses @code{ivy-mode} to facilitate navigating
18439 and searching through @code{Ctags} files.")
18440 (license license:gpl3+)))
18441
18442 (define-public emacs-org-download
18443 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
18444 (revision "2"))
18445 (package
18446 (name "emacs-org-download")
18447 (version (git-version "0.1.0" revision commit))
18448 (source (origin
18449 (method git-fetch)
18450 (uri (git-reference
18451 (url "https://github.com/abo-abo/org-download")
18452 (commit commit)))
18453 (sha256
18454 (base32
18455 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
18456 (file-name (git-file-name name version))))
18457 (build-system emacs-build-system)
18458 (propagated-inputs
18459 `(("emacs-org" ,emacs-org)
18460 ("emacs-async" ,emacs-async)))
18461 (home-page "https://github.com/abo-abo/org-download")
18462 (synopsis "Facilitate moving images")
18463 (description "This package provides utilities for managing image files
18464 copied into @code{org-mode} buffers.")
18465 (license license:gpl3+))))
18466
18467 (define-public emacs-dash-docs
18468 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
18469 (revision "1"))
18470 (package
18471 (name "emacs-dash-docs")
18472 (version (git-version "1.4.0" revision commit))
18473 (source
18474 (origin
18475 (method git-fetch)
18476 (uri (git-reference
18477 (url "https://github.com/dash-docs-el/dash-docs.git")
18478 (commit commit)))
18479 (file-name (git-file-name name version))
18480 (sha256
18481 (base32
18482 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
18483 (build-system emacs-build-system)
18484 (propagated-inputs
18485 `(("emacs-async" ,emacs-async)))
18486 (native-inputs
18487 `(("emacs-undercover" ,emacs-undercover)
18488 ("emacs-ert-runner" ,emacs-ert-runner)))
18489 (arguments
18490 `(#:tests? #t
18491 #:test-command '("ert-runner")
18492 #:phases
18493 ;; this test requires network access, so remove it
18494 (modify-phases %standard-phases
18495 (add-before 'check 'make-tests-writable
18496 (lambda _
18497 (make-file-writable "test/dash-docs-test.el")
18498 #t))
18499 (add-before 'check 'delete-test
18500 (lambda _
18501 (emacs-batch-edit-file "test/dash-docs-test.el"
18502 `(progn (progn
18503 (goto-char (point-min))
18504 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
18505 (beginning-of-line)
18506 (kill-sexp))
18507 (basic-save-buffer)))
18508 #t)))))
18509 (home-page "https://github.com/dash-docs-el/dash-docs")
18510 (synopsis "Offline documentation browser for APIs using Dash docsets")
18511 (description "This package exposes functionality to work with Dash docsets.")
18512 (license license:gpl3+))))
18513
18514 (define-public emacs-helm-dash
18515 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
18516 (revision "2"))
18517 (package
18518 (name "emacs-helm-dash")
18519 (version (git-version "1.3.0" revision commit))
18520 (source
18521 (origin
18522 (method git-fetch)
18523 (uri (git-reference
18524 (url "https://github.com/areina/helm-dash.git")
18525 (commit commit)))
18526 (file-name (git-file-name name version))
18527 (sha256
18528 (base32
18529 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
18530 (build-system emacs-build-system)
18531 (propagated-inputs
18532 `(("emacs-helm" ,emacs-helm)
18533 ("emacs-dash-docs" ,emacs-dash-docs)))
18534 (home-page "https://github.com/areina/helm-dash")
18535 (synopsis "Offline documentation browser for APIs using Dash docsets")
18536 (description "This package uses Helm to install and navigate through
18537 Dash docsets.")
18538 (license license:gpl3+))))
18539
18540 (define-public emacs-counsel-dash
18541 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
18542 (revision "3"))
18543 (package
18544 (name "emacs-counsel-dash")
18545 (version (git-version "0.1.3" revision commit))
18546 (source
18547 (origin
18548 (method git-fetch)
18549 (uri (git-reference
18550 (url "https://github.com/dash-docs-el/counsel-dash.git")
18551 (commit commit)))
18552 (file-name (git-file-name name version))
18553 (sha256
18554 (base32
18555 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
18556 (build-system emacs-build-system)
18557 (propagated-inputs
18558 `(("emacs-dash-docs" ,emacs-dash-docs)
18559 ("emacs-ivy" ,emacs-ivy)))
18560 (arguments
18561 `(#:phases
18562 (modify-phases %standard-phases
18563 (add-after 'unpack 'require-ivy
18564 (lambda _
18565 (substitute* "counsel-dash.el"
18566 (("^\\(require 'cl-lib\\)")
18567 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
18568 #t)))))
18569 (home-page "https://github.com/dash-docs-el/counsel-dash")
18570 (synopsis "Offline documentation browser for APIs using Dash docsets")
18571 (description "This package uses @code{ivy-mode} to install and navigate
18572 through Dash docsets.")
18573 (license license:expat))))
18574
18575 (define-public emacs-el-patch
18576 (package
18577 (name "emacs-el-patch")
18578 (version "2.2.3")
18579 (source
18580 (origin
18581 (method git-fetch)
18582 (uri (git-reference
18583 (url "https://github.com/raxod502/el-patch")
18584 (commit version)))
18585 (file-name (git-file-name name version))
18586 (sha256
18587 (base32
18588 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
18589 (build-system emacs-build-system)
18590 (home-page "https://github.com/raxod502/el-patch")
18591 (synopsis "Future-proof your Emacs customizations")
18592 (description "This package allows for an alternate definition of an Elisp
18593 function to be specified and for any differences from the original definition
18594 to be examined using Ediff.")
18595 (license license:expat)))
18596
18597 (define-public emacs-info-plus
18598 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
18599 (revision "2"))
18600 (package
18601 (name "emacs-info-plus")
18602 (version (git-version "0" revision commit))
18603 (source
18604 (origin
18605 (method git-fetch)
18606 (uri (git-reference
18607 (url "https://github.com/emacsmirror/info-plus")
18608 (commit commit)))
18609 (file-name (git-file-name name version))
18610 (sha256
18611 (base32
18612 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
18613 (build-system emacs-build-system)
18614 (home-page "https://github.com/emacsmirror/info-plus")
18615 (synopsis "Extensions to @file{info.el}")
18616 (description "This package extends Emacs' @file{info.el} by allowing
18617 outline-enabled table of contents, additional metadata association for Info
18618 nodes, and more.")
18619 (license license:gpl2+))))
18620
18621 (define-public emacs-eval-sexp-fu-el
18622 (package
18623 (name "emacs-eval-sexp-fu-el")
18624 (version "0.5.0")
18625 (source
18626 (origin
18627 (method git-fetch)
18628 (uri (git-reference
18629 (url "https://github.com/hchbaw/eval-sexp-fu.el")
18630 (commit (string-append "v" version))))
18631 (file-name (git-file-name name version))
18632 (sha256
18633 (base32
18634 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
18635 (build-system emacs-build-system)
18636 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
18637 (synopsis "Enhancements for evaluating s-expressions")
18638 (description "This package provides provides variants of
18639 @code{eval-last-sexp} that work on the containing list or s-expression, as
18640 well as an option for visually flashing evaluated s-expressions.")
18641 (license license:gpl3+)))
18642
18643 (define-public emacs-counsel-tramp
18644 (package
18645 (name "emacs-counsel-tramp")
18646 (version "0.6.3")
18647 (source
18648 (origin
18649 (method git-fetch)
18650 (uri (git-reference
18651 (url "https://github.com/masasam/emacs-counsel-tramp")
18652 (commit version)))
18653 (file-name (git-file-name name version))
18654 (sha256
18655 (base32
18656 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
18657 (build-system emacs-build-system)
18658 (propagated-inputs
18659 `(("emacs-ivy" ,emacs-ivy)))
18660 (home-page "https://github.com/masasam/emacs-counsel-tramp")
18661 (synopsis "Ivy interface for TRAMP")
18662 (description "This package allows @code{ivy-mode} to display and filter
18663 SSH servers.")
18664 (license license:gpl3+)))
18665
18666 (define-public emacs-eacl
18667 (package
18668 (name "emacs-eacl")
18669 (version "2.0.1")
18670 (source
18671 (origin
18672 (method git-fetch)
18673 (uri (git-reference
18674 (url "https://github.com/redguardtoo/eacl")
18675 (commit version)))
18676 (file-name (git-file-name name version))
18677 (sha256
18678 (base32
18679 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
18680 (build-system emacs-build-system)
18681 (propagated-inputs
18682 `(("emacs-ivy" ,emacs-ivy)))
18683 (home-page "https://github.com/redguardtoo/eacl")
18684 (synopsis "Auto-complete lines by using @code{grep} on a project")
18685 (description "This package provides auto-completion cammands for single
18686 and multiple lines of code in a project.")
18687 (license license:gpl3+)))
18688
18689 (define-public emacs-semantic-refactor
18690 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
18691 ;; commits since then.
18692 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
18693 (package
18694 (name "emacs-semantic-refactor")
18695 (version (git-version "0.5" "1" commit))
18696 (source
18697 (origin
18698 (method git-fetch)
18699 (uri (git-reference
18700 (url "https://github.com/tuhdo/semantic-refactor")
18701 (commit commit)))
18702 (file-name (git-file-name name version))
18703 (sha256
18704 (base32
18705 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
18706 (build-system emacs-build-system)
18707 (home-page "https://github.com/tuhdo/semantic-refactor")
18708 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
18709 (description "This package provides a refactoring tool based on the
18710 Emacs Semantic parser framework. For C and C++ it supports operations such as:
18711
18712 @enumerate
18713 @item Generating class implementations
18714 @item Generating function prototypes
18715 @item Converting functions to function pointers
18716 @item Moving semantic units
18717 @item etc...
18718 @end enumerate
18719
18720 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
18721 as:
18722
18723 @enumerate
18724 @item Formatting the whole buffer
18725 @item Converting sexpressions to one or multiple lines
18726 @item etc...
18727 @end enumerate\n")
18728 (license license:gpl3+))))
18729
18730 (define-public emacs-nhexl-mode
18731 (package
18732 (name "emacs-nhexl-mode")
18733 (version "1.4")
18734 (source
18735 (origin
18736 (method url-fetch)
18737 (uri (string-append
18738 "https://elpa.gnu.org/packages/nhexl-mode-"
18739 version ".el"))
18740 (sha256
18741 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
18742 (build-system emacs-build-system)
18743 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
18744 (synopsis "Minor mode to edit files via hex-dump format")
18745 (description
18746 "This package implements NHexl mode, a minor mode for editing files
18747 in hex dump format. The mode command is called @command{nhexl-mode}.
18748
18749 This minor mode implements similar functionality to @command{hexl-mode},
18750 but using a different implementation technique, which makes it
18751 usable as a \"plain\" minor mode. It works on any buffer, and does
18752 not mess with the undo log or with the major mode.
18753
18754 It also comes with:
18755
18756 @itemize
18757 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
18758 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
18759 (which only work for hex-digits) will only modify the nibble under point.
18760 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
18761 moving text. In this minor mode, not only self-inserting keys overwrite
18762 existing text, but commands like `yank' and @command{kill-region} as well.
18763 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
18764 C-f} to advance by #xa4 characters.
18765 @end itemize\n")
18766 (license license:gpl3+)))
18767
18768 (define-public emacs-helm-wikipedia
18769 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
18770 (package
18771 (name "emacs-helm-wikipedia")
18772 (version (git-version "0.0.0" "1" commit))
18773 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
18774 (source
18775 (origin
18776 (method git-fetch)
18777 (uri (git-reference
18778 (url home-page)
18779 (commit commit)))
18780 (file-name (git-file-name name version))
18781 (sha256
18782 (base32
18783 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
18784 (build-system emacs-build-system)
18785 (inputs
18786 `(("helm" ,emacs-helm)))
18787 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
18788 (description
18789 "This package provides an Emacs Helm interface for search suggestions
18790 and article extracts for Wikipedia.")
18791 (license license:gpl3+))))
18792
18793 (define-public emacs-webfeeder
18794 (package
18795 (name "emacs-webfeeder")
18796 (version "1.0.0")
18797 (source
18798 (origin
18799 (method url-fetch)
18800 (uri (string-append
18801 "https://elpa.gnu.org/packages/webfeeder-"
18802 version
18803 ".tar"))
18804 (sha256
18805 (base32
18806 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
18807 (build-system emacs-build-system)
18808 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
18809 (synopsis "Build RSS and Atom webfeeds from HTML files")
18810 (description
18811 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
18812 files. The various elements of the HTML input are parsed with customizable
18813 functions (e.g. @code{webfeeder-title-function}).")
18814 (license license:gpl3+)))
18815
18816 (define-public emacs-evil-numbers
18817 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
18818 (package
18819 (name "emacs-evil-numbers")
18820 (version (git-version "0.4" "1" commit))
18821 (source (origin
18822 (method git-fetch)
18823 (uri (git-reference
18824 (url "https://github.com/dieggsy/evil-numbers")
18825 (commit commit)))
18826 (file-name (git-file-name name version))
18827 (sha256
18828 (base32
18829 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
18830 (build-system emacs-build-system)
18831 (home-page "https://github.com/dieggsy/evil-numbers")
18832 (synopsis "Increment and decrement numbers in Emacs")
18833 (description "This package increments and decrements binary, octal,
18834 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
18835 number up to EOL and then increments or decrements and keeps zero padding up
18836 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
18837 numbers within that region will be incremented/decremented (unlike in Vim).
18838
18839 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
18840 (license license:gpl3+))))
18841
18842 (define-public emacs-rotate-text
18843 (package
18844 (name "emacs-rotate-text")
18845 (version "0.1")
18846 (source (origin
18847 (method git-fetch)
18848 (uri (git-reference
18849 (url "https://github.com/nschum/rotate-text.el.git")
18850 (commit version)))
18851 (file-name (git-file-name name version))
18852 (sha256
18853 (base32
18854 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
18855 (build-system emacs-build-system)
18856 (home-page "http://nschum.de/src/emacs/rotate-text/")
18857 (synopsis "Cycle through words, symbols and patterns in Emacs")
18858 (description "@code{rotate-text} allows you rotate to commonly
18859 interchanged text with a single keystroke. For example, you can toggle
18860 between \"frame-width\" and \"frame-height\", between \"public\",
18861 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
18862 \"variableN\".")
18863 (license license:gpl2+)))
18864
18865 (define-public emacs-ediprolog
18866 (package
18867 (name "emacs-ediprolog")
18868 (version "1.2")
18869 (source
18870 (origin
18871 (method url-fetch)
18872 (uri (string-append
18873 "https://elpa.gnu.org/packages/ediprolog-"
18874 version
18875 ".el"))
18876 (sha256
18877 (base32
18878 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
18879 (build-system emacs-build-system)
18880 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
18881 (synopsis "Emacs Does Interactive Prolog")
18882 (description "This package provides a major mode that let the user
18883 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
18884 programs and evaluate embedded queries. This mode is focused on the command
18885 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
18886 context, carry out the appropriate action.")
18887 (license license:gpl3+)))
18888
18889 (define-public emacs-evil-cleverparens
18890 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
18891 (revision "1"))
18892 (package
18893 (name "emacs-evil-cleverparens")
18894 (version (git-version "2017-07-17" revision commit))
18895 (source (origin
18896 (method git-fetch)
18897 (uri (git-reference
18898 (url "https://github.com/luxbock/evil-cleverparens.git")
18899 (commit commit)))
18900 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
18901 (file-name (git-file-name name version))))
18902 (build-system emacs-build-system)
18903 (propagated-inputs
18904 `(("emacs-evil" ,emacs-evil)
18905 ("emacs-paredit" ,emacs-paredit)
18906 ("emacs-smartparens" ,emacs-smartparens)))
18907 (home-page "https://github.com/luxbock/evil-cleverparens")
18908 (synopsis "Emacs modal editing optimized for editing Lisp")
18909 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
18910 modal editing with screwing up the structure of Lisp code. Alternatives for
18911 verb commands which would are normally destructive (such as deletion) are
18912 provided. Those alternative commands are and bound by default to their
18913 corresponding Evil keys.")
18914 (license license:expat))))
18915
18916 (define-public emacs-evil-traces
18917 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
18918 (revision "2"))
18919 (package
18920 (name "emacs-evil-traces")
18921 (version (git-version "0.0.1" revision commit))
18922 (source (origin
18923 (method git-fetch)
18924 (uri (git-reference
18925 (url "https://github.com/mamapanda/evil-traces.git")
18926 (commit commit)))
18927 (file-name (git-file-name name version))
18928 (sha256
18929 (base32
18930 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
18931 (build-system emacs-build-system)
18932 (propagated-inputs
18933 `(("emacs-evil" ,emacs-evil)))
18934 (arguments
18935 `(#:phases
18936 (modify-phases %standard-phases
18937 (add-after 'unpack 'set-shell
18938 ;; Setting the SHELL environment variable is required for the tests
18939 ;; to find sh.
18940 (lambda _
18941 (setenv "SHELL" (which "sh"))
18942 #t)))
18943 #:tests? #t
18944 #:test-command '("make" "test")))
18945 (home-page "https://github.com/mamapanda/evil-traces")
18946 (synopsis "Visual hints for @code{evil-ex}")
18947 (description "This package adds visual hints to certain @code{ex}
18948 commands in @code{evil-mode}.")
18949 (license license:gpl3+))))
18950
18951 (define-public emacs-xterm-color
18952 (package
18953 (name "emacs-xterm-color")
18954 (version "1.9")
18955 (source (origin
18956 (method git-fetch)
18957 (uri (git-reference
18958 (url "https://github.com/atomontage/xterm-color.git")
18959 (commit version)))
18960 (file-name (git-file-name name version))
18961 (sha256
18962 (base32
18963 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
18964 (build-system emacs-build-system)
18965 (home-page "https://github.com/atomontage/xterm-color")
18966 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
18967 (description "@code{xterm-color.el} is an ANSI control sequence to
18968 text-property translator.")
18969 (license license:bsd-2)))
18970
18971 (define-public emacs-org-noter
18972 (package
18973 (name "emacs-org-noter")
18974 (version "1.3.0")
18975 (source
18976 (origin
18977 (method url-fetch)
18978 (uri (string-append
18979 "https://stable.melpa.org/packages/org-noter-"
18980 version
18981 ".el"))
18982 (sha256
18983 (base32
18984 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
18985 (build-system emacs-build-system)
18986 (propagated-inputs `(("emacs-org" ,emacs-org)))
18987 (home-page "https://github.com/weirdNox/org-noter")
18988 (synopsis "Synchronized, Org-mode, document annotator")
18989 (description
18990 "This package lets you create notes that are kept in sync when you
18991 scroll through the document, but that are external to it---the notes
18992 themselves live in an Org-mode file. As such, this leverages the power of
18993 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
18994 acting like notes that are made @emph{in} the document.")
18995 (license license:gpl3+)))
18996
18997 (define-public emacs-org-redmine
18998 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
18999 (package
19000 (name "emacs-org-redmine")
19001 (version (git-version "0.1" "1" commit))
19002 (source (origin
19003 (method git-fetch)
19004 (uri (git-reference
19005 (url "https://github.com/gongo/org-redmine.git")
19006 (commit commit)))
19007 (file-name (git-file-name name version))
19008 (sha256
19009 (base32
19010 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
19011 (build-system emacs-build-system)
19012 (home-page "https://github.com/gongo/org-redmine/")
19013 (synopsis "Redmine tools using Emacs")
19014 (description "This program provides an Emacs client for Redmine.")
19015 (license license:gpl3+))))
19016
19017 (define-public emacs-multi-term
19018 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
19019 (package
19020 (name "emacs-multi-term")
19021 (version "1.2")
19022 (source (origin
19023 (method git-fetch)
19024 (uri (git-reference
19025 (url "https://github.com/manateelazycat/multi-term.git")
19026 (commit commit)))
19027 (file-name (git-file-name name version))
19028 (sha256
19029 (base32
19030 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
19031 (build-system emacs-build-system)
19032 (inputs `(("zsh" ,zsh)))
19033 (home-page "https://github.com/manateelazycat/multi-term")
19034 (synopsis "Manage multiple terminal buffers in Emacs")
19035 (description
19036 "This package enhances @code{term.el} with the following features:
19037
19038 @enumerate
19039 @item Functions to switch between multiple terminal buffers
19040 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
19041 the underlying terminal
19042 @item Kills the unused buffer left after exiting the terminal
19043 @item Kills the running sub-processes along with the terminal when killing the
19044 it forcibly
19045 @item Dedicated window for debugging program.
19046 @end enumerate")
19047 (license license:gpl3+))))
19048
19049 (define-public emacs-elpher
19050 (package
19051 (name "emacs-elpher")
19052 (version "1.4.6")
19053 (source
19054 (origin
19055 (method git-fetch)
19056 (uri (git-reference
19057 (url "https://github.com/tgvaughan/elpher")
19058 (commit (string-append "v" version))))
19059 (file-name (git-file-name name version))
19060 (sha256
19061 (base32
19062 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
19063 (build-system emacs-build-system)
19064 (native-inputs
19065 `(("texinfo" ,texinfo)))
19066 (arguments
19067 `(#:phases
19068 (modify-phases %standard-phases
19069 (add-before 'install 'build-doc
19070 (lambda _
19071 (invoke "makeinfo" "elpher.texi"))))))
19072 (home-page "https://github.com/tgvaughan/elpher")
19073 (synopsis "Gopher client for Emacs")
19074 (description "Elpher is a full-featured gopher client for Emacs. Its
19075 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
19076 compatibility with evil-mode, clickable web and gopher links in plain text,
19077 caching of visited sites, pleasant and configurable visualization of Gopher
19078 directories, direct visualisation of image files, jumping directly to links by
19079 name (with autocompletion), a simple bookmark management system and
19080 connections using TLS encryption.")
19081 (license license:gpl3+)))
19082
19083 (define-public emacs-zerodark-theme
19084 (package
19085 (name "emacs-zerodark-theme")
19086 (version "4.6")
19087 (source
19088 (origin
19089 (method git-fetch)
19090 (uri (git-reference
19091 (url "https://github.com/NicolasPetton/zerodark-theme")
19092 (commit version)))
19093 (file-name (git-file-name name version))
19094 (sha256
19095 (base32
19096 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
19097 (build-system emacs-build-system)
19098 (propagated-inputs
19099 `(("emacs-flycheck" ,emacs-flycheck)
19100 ("emacs-all-the-icons" ,emacs-all-the-icons)))
19101 (home-page
19102 "https://gitlab.petton.fr/nico/zerodark-theme")
19103 (synopsis
19104 "Dark, medium contrast theme for Emacs")
19105 (description
19106 "Zerodark is a dark theme inspired from One Dark and Niflheim.
19107 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
19108 (license license:gpl3+)))
19109
19110 (define-public emacs-gnus-alias
19111 (package
19112 (name "emacs-gnus-alias")
19113 (version "20150316")
19114 (source (origin
19115 (method git-fetch)
19116 (uri (git-reference
19117 (url "https://github.com/hexmode/gnus-alias.git")
19118 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
19119 (file-name (git-file-name name version))
19120 (sha256
19121 (base32
19122 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
19123 (build-system emacs-build-system)
19124 (home-page "https://melpa.org/#/gnus-alias")
19125 (synopsis "Alternative to @code{gnus-posting-styles}")
19126 (description "This Emacs add-on provides a simple mechanism to switch
19127 Identities when using a @code{message-mode} or a @code{message-mode} derived
19128 mode. Identities can include @code{From} and @code{Organisation} headers,
19129 extra headers, body and signature. Other features include:
19130
19131 @itemize
19132 @item Switch Identities in a message buffer.
19133 @item Access original message to help determine Identity of the followup/reply
19134 message.
19135 @item Act on a forwarded message as if it were a message being replied to.
19136 @item Start a new message with a given Identity pre-selected.
19137 @end itemize")
19138 (license license:gpl2+)))
19139
19140 (define-public emacs-ox-epub
19141 (package
19142 (name "emacs-ox-epub")
19143 (version "0.3")
19144 (source (origin
19145 (method git-fetch)
19146 (uri (git-reference
19147 (url "https://github.com/ofosos/ox-epub.git")
19148 (commit (string-append "v" version))))
19149 (file-name (git-file-name name version))
19150 (sha256
19151 (base32
19152 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
19153 (build-system emacs-build-system)
19154 (home-page "https://github.com/ofosos/ox-epub")
19155 (synopsis "Export org mode projects to EPUB")
19156 (description "@code{ox-epub} extends the (X)HTML exporter to generate
19157 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
19158 which should give broad compatibility. It should also be relatiely easy to
19159 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
19160 zip utility (default is @code{zip}).")
19161 (license license:gpl3+)))
19162
19163 (define-public emacs-ox-hugo
19164 (package
19165 (name "emacs-ox-hugo")
19166 (version "0.8")
19167 (source
19168 (origin
19169 (method git-fetch)
19170 (uri (git-reference
19171 (url "https://github.com/kaushalmodi/ox-hugo.git")
19172 (commit (string-append "v" version))))
19173 (file-name (git-file-name name version))
19174 (sha256
19175 (base32
19176 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
19177 (build-system emacs-build-system)
19178 (home-page "https://ox-hugo.scripter.co")
19179 (synopsis "Hugo markdown back-end for Org export engine")
19180 (description
19181 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
19182 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
19183 format.")
19184 (license license:gpl3+)))
19185
19186 (define-public emacs-ox-pandoc
19187 (package
19188 (name "emacs-ox-pandoc")
19189 (version "20180510")
19190 (source (origin
19191 (method git-fetch)
19192 (uri (git-reference
19193 (url "https://github.com/kawabata/ox-pandoc.git")
19194 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
19195 (file-name (git-file-name name version))
19196 (sha256
19197 (base32
19198 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
19199 (build-system emacs-build-system)
19200 (inputs
19201 `(("pandoc" ,ghc-pandoc)))
19202 (propagated-inputs
19203 `(("emacs-dash" ,emacs-dash)
19204 ("emacs-ht" ,emacs-ht)))
19205 (home-page "https://github.com/kawabata/ox-pandoc")
19206 (synopsis "Org exporter for Pandoc")
19207 (description "@code{ox-pandoc} is an exporter for converting Org-mode
19208 files to numerous other formats via Pandoc.")
19209 (license license:gpl3+)))
19210
19211 (define-public emacs-wc-mode
19212 (package
19213 (name "emacs-wc-mode")
19214 (version "1.3")
19215 (source (origin
19216 (method git-fetch)
19217 (uri (git-reference
19218 (url "https://github.com/bnbeckwith/wc-mode.git")
19219 (commit (string-append "v" version))))
19220 (file-name (git-file-name name version))
19221 (sha256
19222 (base32
19223 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
19224 (build-system emacs-build-system)
19225 (home-page "https://github.com/bnbeckwith/wc-mode")
19226 (synopsis "Running word count with goals (minor mode)")
19227 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
19228 for Emacs buffers as well as a modeline addition with live word, line and
19229 character counts. Additionally, a user can set specific goals for adding or
19230 deleting words. These goals were partly inspired by 750words.com where the
19231 goal of the site is to encourage writing by setting a goal of 750 words at a
19232 time.")
19233 (license license:gpl3+)))
19234
19235 (define-public emacs-mastodon
19236 (package
19237 (name "emacs-mastodon")
19238 (version "0.9.0")
19239 (source (origin
19240 (method git-fetch)
19241 (uri (git-reference
19242 (url "https://github.com/jdenen/mastodon.el.git")
19243 (commit version)))
19244 (file-name (git-file-name name version))
19245 (sha256
19246 (base32
19247 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
19248 (build-system emacs-build-system)
19249 (arguments
19250 `(#:phases
19251 (modify-phases %standard-phases
19252 ;; Move the source files to the top level, which is included in
19253 ;; the EMACSLOADPATH.
19254 (add-after 'unpack 'move-source-files
19255 (lambda _
19256 (let ((el-files (find-files "./lisp" ".*\\.el$")))
19257 (for-each (lambda (f)
19258 (rename-file f (basename f)))
19259 el-files))
19260 #t)))))
19261 (home-page "https://github.com/jdenen/mastodon.el")
19262 (synopsis "Emacs client for Mastodon")
19263 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
19264 federated microblogging social network.")
19265 (license license:gpl3+)))
19266
19267 ;; The last release tarball is for version 0.6. We pick a commit close to
19268 ;; version 0.6.10, which doesn't have a release tarball.
19269 (define-public emacs-ebdb
19270 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
19271 (revision "0"))
19272 (package
19273 (name "emacs-ebdb")
19274 (version (git-version "0.6.10" revision commit))
19275 (source (origin
19276 (method git-fetch)
19277 (uri (git-reference
19278 (url "https://github.com/girzel/ebdb.git")
19279 (commit commit)))
19280 (file-name (git-file-name name version))
19281 (sha256
19282 (base32
19283 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
19284 (build-system emacs-build-system)
19285 (home-page "https://github.com/girzel/ebdb")
19286 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
19287 (description "EBDB is a contact management/addressbook package for
19288 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
19289 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
19290 (license license:gpl3+))))
19291
19292 (define-public emacs-refactor
19293 (package
19294 (name "emacs-refactor")
19295 (version "0.4")
19296 (source (origin
19297 (method git-fetch)
19298 (uri (git-reference
19299 (url "https://github.com/Wilfred/emacs-refactor.git")
19300 (commit version)))
19301 (file-name (git-file-name name version))
19302 (sha256
19303 (base32
19304 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
19305 (build-system emacs-build-system)
19306 (propagated-inputs
19307 `(("emacs-dash" ,emacs-dash)
19308 ("emacs-s" ,emacs-s)
19309 ("emacs-popup" ,emacs-popup)
19310 ("emacs-list-utils" ,emacs-list-utils)
19311 ("emacs-iedit" ,emacs-iedit)))
19312 (home-page "https://github.com/Wilfred/emacs-refactor/")
19313 (synopsis "Language-specific refactoring in Emacs")
19314 (description "Emacs Refactor (EMR) is a framework for providing
19315 language-specific refactoring in Emacs. It includes refactoring commands for
19316 a variety of languages, including elisp itself.")
19317 (license license:gpl3+)))
19318
19319 (define-public emacs-flyspell-correct
19320 (package
19321 (name "emacs-flyspell-correct")
19322 (version "0.5")
19323 (source
19324 (origin
19325 (method git-fetch)
19326 (uri (git-reference
19327 (url "https://github.com/d12frosted/flyspell-correct.git")
19328 (commit (string-append "v" version))))
19329 (file-name (git-file-name name version))
19330 (sha256
19331 (base32
19332 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
19333 (build-system emacs-build-system)
19334 (propagated-inputs
19335 `(("emacs-helm" ,emacs-helm)
19336 ("emacs-ivy" ,emacs-ivy)
19337 ("emacs-popup" ,emacs-popup)))
19338 (home-page
19339 "https://github.com/d12frosted/flyspell-correct")
19340 (synopsis
19341 "Correcting words with flyspell via custom interfaces")
19342 (description
19343 "This package provides functionality for correcting words via custom
19344 interfaces. Several interfaces are supported beside the classic ido: popup,
19345 helm and ivy.")
19346 (license license:gpl3+)))
19347
19348 (define-public emacs-org-emms
19349 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
19350 (revision "1"))
19351 (package
19352 (name "emacs-org-emms")
19353 (version
19354 (git-version "0.1" revision commit))
19355 (source
19356 (origin
19357 (method git-fetch)
19358 (uri (git-reference
19359 (url "https://gitlab.com/jagrg/org-emms.git")
19360 (commit commit)))
19361 (file-name (git-file-name name commit))
19362 (sha256
19363 (base32
19364 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
19365 (build-system emacs-build-system)
19366 (propagated-inputs
19367 `(("emms" ,emacs-emms)
19368 ("emacs-org" ,emacs-org)))
19369 (home-page "https://gitlab.com/jagrg/org-emms")
19370 (synopsis "Play multimedia files from org-mode")
19371 (description
19372 "This package provides a new org link type for playing back multimedia
19373 files from org-mode using EMMS, The Emacs Multimedia System. If the link
19374 contains a track position, playback will start at the specified position.")
19375 (license license:gpl3+))))
19376
19377 (define-public emacs-org-jira
19378 (package
19379 (name "emacs-org-jira")
19380 (version "4.3.1")
19381 (source
19382 (origin
19383 (method git-fetch)
19384 (uri (git-reference
19385 (url "https://github.com/ahungry/org-jira.git")
19386 (commit version)))
19387 (file-name (git-file-name name version))
19388 (sha256
19389 (base32
19390 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
19391 (build-system emacs-build-system)
19392 (propagated-inputs
19393 `(("emacs-request" ,emacs-request)
19394 ("emacs-s" ,emacs-s)
19395 ("emacs-dash" ,emacs-dash)
19396 ("emacs-org" ,emacs-org)))
19397 (home-page "https://github.com/ahungry/org-jira")
19398 (synopsis "Syncing between Jira and Org-mode")
19399 (description
19400 "This package provides an extension to org-mode for syncing issues with
19401 JIRA issue servers.")
19402 (license license:gpl3+)))
19403
19404 (define-public emacs-systemd-mode
19405 (package
19406 (name "emacs-systemd-mode")
19407 (version "1.6")
19408 (source (origin
19409 (method git-fetch)
19410 (uri (git-reference
19411 (url "https://github.com/holomorph/systemd-mode.git")
19412 (commit (string-append "v" version))))
19413 (file-name (git-file-name name version))
19414 (sha256
19415 (base32
19416 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
19417 (build-system emacs-build-system)
19418 (arguments '(#:include '("\\.el$" "\\.txt$")))
19419 (home-page "https://github.com/holomorph/systemd-mode")
19420 (synopsis
19421 "Major mode for editing systemd units")
19422 (description
19423 "Major mode for editing systemd units in GNU Emacs.")
19424 (license license:gpl3+)))
19425
19426 (define-public emacs-ssh-config-mode
19427 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
19428 (revision "1"))
19429 (package
19430 (name "emacs-ssh-config-mode")
19431 (version (git-version "8.0" revision commit))
19432 (source
19433 (origin
19434 (method git-fetch)
19435 (uri
19436 (git-reference
19437 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
19438 (commit commit)))
19439 (file-name (git-file-name name commit))
19440 (sha256
19441 (base32
19442 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
19443 (build-system emacs-build-system)
19444 (arguments '(#:include '("\\.el$" "\\.txt$")))
19445 (home-page
19446 "https://github.com/jhgorrell/ssh-config-mode-el")
19447 (synopsis
19448 "Mode for fontification of ~/.ssh/config")
19449 (description
19450 "This package fontifies the ssh config keywords and creates
19451 keybindings for skipping from host section to host section.")
19452 (license license:gpl3+))))
19453
19454 (define-public emacs-ssh-agency
19455 (package
19456 (name "emacs-ssh-agency")
19457 (version "0.4")
19458 (source (origin
19459 (method git-fetch)
19460 (uri (git-reference
19461 (url "https://github.com/magit/ssh-agency.git")
19462 (commit version)))
19463 (file-name (git-file-name name version))
19464 (sha256
19465 (base32
19466 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
19467 (build-system emacs-build-system)
19468 (propagated-inputs
19469 `(("dash" ,emacs-dash)))
19470 (home-page "https://github.com/magit/ssh-agency")
19471 (synopsis "Manage @code{ssh-agent} from Emacs")
19472 (description
19473 "This package provides functions to startup @code{ssh-agent}, set the
19474 needed environment variables in Emacs, and prompt for passphrases from within
19475 Emacs so that pushes and pulls from @code{magit} will not require entering any
19476 passphrase.
19477
19478 It can also be useful on Unix-like platforms to delay having to enter your
19479 passphrase until the first time you push to a remote.")
19480 (license license:gpl3+)))
19481
19482 (define-public emacs-tao-theme
19483 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
19484 (revision "0"))
19485 (package
19486 (name "emacs-tao-theme")
19487 (version (git-version "0" revision commit))
19488 (source
19489 (origin
19490 (method git-fetch)
19491 (uri (git-reference
19492 (url "https://github.com/11111000000/tao-theme-emacs.git")
19493 (commit commit)))
19494 (file-name (git-file-name name version))
19495 (sha256
19496 (base32
19497 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
19498 (build-system emacs-build-system)
19499 (home-page "https://github.com/11111000000/tao-theme-emacs")
19500 (synopsis "Parameterized uncolored color themes for Emacs")
19501 (description
19502 "This package provides two parameterized uncolored color themes for
19503 Emacs: @code{tao-yin} and @code{tao-yang}. The default
19504 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
19505
19506 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
19507 @code{tao-theme-scale-filter-fn}, for edge filter; and
19508 @code{tao-theme-use-height}.")
19509 (license license:gpl3+))))
19510
19511 (define-public emacs-doom-themes
19512 (package
19513 (name "emacs-doom-themes")
19514 (version "2.1.6")
19515 (source (origin
19516 (method git-fetch)
19517 (uri (git-reference
19518 (url "https://github.com/hlissner/emacs-doom-themes.git")
19519 (commit (string-append "v" version))))
19520 (file-name (git-file-name name version))
19521 (sha256
19522 (base32 "042pzcdhxi2z07jcscgjbaki9nrrm0cbgbbrnymd1r4q8ckkn8l9"))))
19523 (build-system emacs-build-system)
19524 (native-inputs
19525 `(("emacs-ert-runner" ,emacs-ert-runner)))
19526 (arguments
19527 `(#:tests? #t
19528 #:test-command '("ert-runner")
19529 #:phases
19530 (modify-phases %standard-phases
19531 (add-after 'unpack 'move-themes
19532 (lambda _
19533 ;; Move the source files to the top level, which is in the
19534 ;; EMACSLOADPATH.
19535 (for-each (lambda (f)
19536 (rename-file f (basename f)))
19537 (find-files "./themes" ".*\\.el$"))
19538 #t)))))
19539 (synopsis "Wide collection of color themes for Emacs")
19540 (description "Emacs-doom-themes contains numerous popular color themes for
19541 Emacs that integrate with major modes like Org-mode.")
19542 (home-page "https://github.com/hlissner/emacs-doom-themes")
19543 (license license:expat)))
19544
19545 (define-public emacs-elixir-mode
19546 (package
19547 (name "emacs-elixir-mode")
19548 (version "2.3.1")
19549 (source
19550 (origin
19551 (method git-fetch)
19552 (uri (git-reference
19553 (url "https://github.com/elixir-editors/emacs-elixir.git")
19554 (commit (string-append "v" version))))
19555 (file-name (git-file-name name version))
19556 (sha256
19557 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
19558 (build-system emacs-build-system)
19559 (propagated-inputs
19560 `(("emacs-pkg-info" ,emacs-pkg-info)))
19561 (home-page
19562 "https://github.com/elixir-editors/emacs-elixir")
19563 (synopsis "Major mode for editing Elixir files")
19564 (description
19565 "Elixir-Mode Provides font-locking, indentation and navigation support
19566 for the Elixir programming language.")
19567 (license license:gpl3+)))
19568
19569 (define-public emacs-dimmer
19570 (package
19571 (name "emacs-dimmer")
19572 (version "0.3.0")
19573 (source
19574 (origin
19575 (method git-fetch)
19576 (uri (git-reference
19577 (url "https://github.com/gonewest818/dimmer.el.git")
19578 (commit version)))
19579 (file-name (git-file-name name version))
19580 (sha256
19581 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
19582 (build-system emacs-build-system)
19583 (home-page "https://github.com/gonewest818/dimmer.el")
19584 (synopsis "Visually highlights the selected buffer in Emacs")
19585 (description "Dimmer provides a minor mode that indicates which buffer is
19586 currently active by dimming the faces in the other buffers. It does this
19587 nondestructively, and computes the dimmed faces dynamically such that your
19588 overall color scheme is shown in a muted form without requiring you to define
19589 what is a \"dim\" version of every face.")
19590 (license license:gpl3+)))
19591
19592 (define-public emacs-minibuffer-line
19593 (package
19594 (name "emacs-minibuffer-line")
19595 (version "0.1")
19596 (source
19597 (origin
19598 (method url-fetch)
19599 (uri (string-append
19600 "https://elpa.gnu.org/packages/minibuffer-line-"
19601 version
19602 ".el"))
19603 (sha256
19604 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
19605 (build-system emacs-build-system)
19606 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
19607 (synopsis "Display status info in the minibuffer window")
19608 (description
19609 "This package lets you display various status information in the
19610 minibuffer window instead of the mode-line. Of course, this is only displayed
19611 when the minibuffer window is not already used for other things (e.g. a
19612 minibuffer or an each area message).
19613
19614 The contents and aspect is controlled by the @code{minibuffer-line-format}
19615 variable and the @code{minibuffer-line} face.")
19616 (license license:gpl3+)))